From 0aabb578f4ee8d52d21ed0b367487d67a449d780 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 17 Aug 2026 18:01:42 +0800 Subject: [PATCH 1/6] chore(ci): add test workflow --- .github/workflows/main.yml | 37 ------------------------------------- .github/workflows/test.yml | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 37 deletions(-) delete mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 1183492..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: CI -on: - # To be fixed - # push: - # branches: - # - main - # pull_request: - # branches: - # - main -jobs: - build: - name: test Node ${{ matrix.node }} ${{ matrix.os }} - timeout-minutes: 15 - - runs-on: ${{ matrix.os }} - strategy: - matrix: - node: ['18.x'] - os: [ubuntu-latest, windows-latest] - - steps: - - name: Checkout repo - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 - - - name: Use Node ${{ matrix.node }} - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 - with: - node-version: ${{ matrix.node }} - package-manager-cache: false - - - name: Install Pnpm - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 - with: - run_install: true - - - name: Test - run: npm test -- --forceExit || npm test -- --forceExit || npm test -- --forceExit diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..4563fbe --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,36 @@ +name: Test + +on: + pull_request: + branches: [main] + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + steps: + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Setup Node.js + uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 + with: + node-version: 24.19.0 + package-manager-cache: false + + - name: Install Pnpm + uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + with: + run_install: true + + - name: Run Test + run: node --run test From 5f2d776cc24ee5f9af7ad1316d02b9b4b3b391bf Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 17 Aug 2026 19:09:31 +0800 Subject: [PATCH 2/6] fix(test): restore test suite compatibility --- lib/htmlLoader.js | 12 ++++---- package.json | 1 + pnpm-lock.yaml | 15 ++++++++++ spec/basic.spec.js | 68 +++++++++++++++++++++----------------------- spec/caching.spec.js | 22 +++++++------- spec/example.spec.js | 18 ++++-------- spec/hot.spec.js | 12 ++++---- 7 files changed, 76 insertions(+), 72 deletions(-) diff --git a/lib/htmlLoader.js b/lib/htmlLoader.js index 321ff65..70b596f 100644 --- a/lib/htmlLoader.js +++ b/lib/htmlLoader.js @@ -33,7 +33,7 @@ const stringEscapes = { const WITH_PLACEHOLDER = 'function __with_placeholder__'; const escapeStringChar = (chr) => '\\' + stringEscapes[chr]; -function template(string) { +function template(string, interpolate = reInterpolate) { let isEscaping; let isEvaluating; let index = 0; @@ -43,7 +43,7 @@ function template(string) { const reDelimiters = RegExp( reEscape.source + '|' + - reInterpolate.source + + interpolate.source + '|' + reEvaluate.source + '|$', @@ -110,12 +110,14 @@ function template(string) { } module.exports = function (source) { + const options = this.getOptions(); + const force = options.force || false; const allLoadersButThisOne = this.loaders.filter( (loader) => loader.normal !== module.exports, ); // This loader shouldn't kick in if there is any other loader - if (allLoadersButThisOne.length > 0) { + if (allLoadersButThisOne.length > 0 && !force) { return source; } @@ -129,7 +131,7 @@ module.exports = function (source) { return source; } - if (/\.(c|m)?js$/.test(this.resourcePath)) { + if (/\.(c|m)?js$/.test(this.resourcePath) && !force) { return source; } @@ -156,7 +158,7 @@ function lodashEscape(input) { // The following part renders the template with lodash as a minimalistic loader // The WITH_PLACEHOLDER will be replaced with `with` in the next step // to make the code compatible with SWC strict mode - const { compiled, isEscaping } = template(source); + const { compiled, isEscaping } = template(source, options.interpolate); return ` module.exports = function (templateParams) { ${WITH_PLACEHOLDER}(templateParams) { ${isEscaping ? escapeCode : ''} diff --git a/package.json b/package.json index 1a07af7..254ac8a 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "html-loader": "5.1.0", "jest": "^27.5.1", "lodash": "^4.18.1", + "mini-css-extract-plugin": "^2.10.2", "prettier": "^3.9.6", "pug": "3.0.4", "pug-loader": "2.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5dcab1d..681a97b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,6 +36,9 @@ importers: lodash: specifier: ^4.18.1 version: 4.18.1 + mini-css-extract-plugin: + specifier: ^2.10.2 + version: 2.10.2(webpack@5.109.2) prettier: specifier: ^3.9.6 version: 3.9.6 @@ -1647,6 +1650,12 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mini-css-extract-plugin@2.10.2: + resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -4230,6 +4239,12 @@ snapshots: mimic-fn@2.1.0: {} + mini-css-extract-plugin@2.10.2(webpack@5.109.2): + dependencies: + schema-utils: 4.3.3 + tapable: 2.3.3 + webpack: 5.109.2(clean-css@5.3.3)(html-minifier-terser@7.2.0)(postcss@8.5.8)(webpack-cli@7.2.2) + minimatch@10.2.4: dependencies: brace-expansion: 5.0.5 diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 62d089e..738bba6 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -8,7 +8,7 @@ const path = require('path'); const fs = require('fs'); const webpack = require('webpack'); -const rimraf = require('rimraf'); +const { rimraf } = require('rimraf'); const _ = require('lodash'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); @@ -18,7 +18,7 @@ if (isNaN(webpackMajorVersion)) { throw new Error('Cannot parse webpack major version'); } -const HtmlWebpackPlugin = require('../index.js'); +const HtmlWebpackPlugin = require('../lib/index.js'); const OUTPUT_DIR = path.resolve(__dirname, '../dist/basic-spec'); @@ -53,7 +53,7 @@ function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expec if (!outputFileExists) { return done(); } - const htmlContent = fs.readFileSync(path.join(OUTPUT_DIR, outputFile)).toString(); + const htmlContent = fs.readFileSync(path.join(OUTPUT_DIR, outputFile)).toString().replace(/ defer(?=[ >])/g, ' defer="defer"'); let chunksInfo; for (let i = 0; i < expectedResults.length; i++) { const expectedResult = expectedResults[i]; @@ -89,9 +89,7 @@ function getChunksInfoFromStats (stats) { } describe('HtmlWebpackPlugin', () => { - beforeEach(done => { - rimraf(OUTPUT_DIR, done); - }); + beforeEach(() => rimraf(OUTPUT_DIR)); it('generates a default index.html file for a single entry point', done => { testHtmlPlugin({ @@ -420,7 +418,7 @@ describe('HtmlWebpackPlugin', () => { inject: false, template: path.join(__dirname, 'fixtures/plain.html') })] - }, [''], null, done); + }, [/\s*<\/body>/], null, done); }); it('allows you to specify your own HTML template function', done => { @@ -450,7 +448,7 @@ describe('HtmlWebpackPlugin', () => { filename: 'index_bundle.js' }, plugins: [new HtmlWebpackPlugin()] - }, [' \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/entryA.js b/examples/chunk-optimization/dist/webpack-5/entryA.js deleted file mode 100644 index 4134a3d..0000000 --- a/examples/chunk-optimization/dist/webpack-5/entryA.js +++ /dev/null @@ -1,186 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 727: -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -__webpack_require__(965); -var multiply = __webpack_require__(179); -var concat = __webpack_require__(631); -var h1 = document.createElement('h1'); -h1.innerHTML = concat('Hello world from Entry ', multiply(1, 1)); -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ (() => { -/******/ var deferred = []; -/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var [chunkIds, fn, priority] = deferred[i]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 938: 0 -/******/ }; -/******/ -/******/ // no chunk on demand loading -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/******/ /* webpack/runtime/nonce */ -/******/ (() => { -/******/ __webpack_require__.nc = undefined; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module depends on other loaded chunks and execution need to be delayed -/******/ var __webpack_exports__ = __webpack_require__.O(undefined, [494,491,219,965], () => (__webpack_require__(727))) -/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); -/******/ -/******/ })() -; \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/entryB.html b/examples/chunk-optimization/dist/webpack-5/entryB.html deleted file mode 100644 index cc032f9..0000000 --- a/examples/chunk-optimization/dist/webpack-5/entryB.html +++ /dev/null @@ -1 +0,0 @@ -Webpack App \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/entryB.js b/examples/chunk-optimization/dist/webpack-5/entryB.js deleted file mode 100644 index cd0c1bf..0000000 --- a/examples/chunk-optimization/dist/webpack-5/entryB.js +++ /dev/null @@ -1,185 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 282: -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -__webpack_require__(965); -var multiply = __webpack_require__(179); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world from Entry ' + multiply(1, 2); -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ (() => { -/******/ var deferred = []; -/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var [chunkIds, fn, priority] = deferred[i]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 513: 0 -/******/ }; -/******/ -/******/ // no chunk on demand loading -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/******/ /* webpack/runtime/nonce */ -/******/ (() => { -/******/ __webpack_require__.nc = undefined; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module depends on other loaded chunks and execution need to be delayed -/******/ var __webpack_exports__ = __webpack_require__.O(undefined, [494,219,965], () => (__webpack_require__(282))) -/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); -/******/ -/******/ })() -; \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/entryC.html b/examples/chunk-optimization/dist/webpack-5/entryC.html deleted file mode 100644 index 4e0a499..0000000 --- a/examples/chunk-optimization/dist/webpack-5/entryC.html +++ /dev/null @@ -1 +0,0 @@ -Webpack App \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/libMath.js b/examples/chunk-optimization/dist/webpack-5/libMath.js deleted file mode 100644 index 209e946..0000000 --- a/examples/chunk-optimization/dist/webpack-5/libMath.js +++ /dev/null @@ -1,28 +0,0 @@ -(self["webpackChunk"] = self["webpackChunk"] || []).push([[494],{ - -/***/ 179: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var sum = __webpack_require__(971); -module.exports = function multiply (a, b) { - var m = 0; - for (var i = 0; i < a; i = sum(i, 1)) { - m = sum(m, b); - } - return m; -}; - - -/***/ }), - -/***/ 971: -/***/ ((module) => { - -module.exports = function sum (a, b) { - return a + b; -}; - - -/***/ }) - -}]); \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/libText.js b/examples/chunk-optimization/dist/webpack-5/libText.js deleted file mode 100644 index ed9620b..0000000 --- a/examples/chunk-optimization/dist/webpack-5/libText.js +++ /dev/null @@ -1,13 +0,0 @@ -(self["webpackChunk"] = self["webpackChunk"] || []).push([[491],{ - -/***/ 631: -/***/ ((module) => { - -module.exports = function concat (a, b) { - return String(a) + String(b); -}; - - -/***/ }) - -}]); \ No newline at end of file diff --git a/examples/chunk-optimization/webpack.config.js b/examples/chunk-optimization/webpack.config.js index d7d3867..732f7b9 100755 --- a/examples/chunk-optimization/webpack.config.js +++ b/examples/chunk-optimization/webpack.config.js @@ -1,23 +1,26 @@ var path = require('path'); var HtmlWebpackPlugin = require('../..'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; +var rspackMajorVersion = require('@rspack/core').rspackVersion.split('.')[0]; module.exports = { context: __dirname, entry: { entryA: './entryA.js', - entryB: './entryB.js' + entryB: './entryB.js', }, output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), + path: path.join(__dirname, 'dist/rspack-' + rspackMajorVersion), publicPath: '', - filename: '[name].js' + filename: '[name].js', }, module: { rules: [ - { test: /\.css$/, use: ['style-loader', 'css-loader'] }, - { test: /\.png$/, type: 'asset/resource' } - ] + { test: /\.css$/, type: 'css' }, + { test: /\.png$/, type: 'asset/resource' }, + ], + }, + experiments: { + css: true, }, optimization: { splitChunks: { @@ -30,27 +33,27 @@ module.exports = { libMath: { test: /lib-(multiply|sum)/, name: 'libMath', - chunks: 'all' + chunks: 'all', }, libText: { test: /lib-concat/, name: 'libText', - chunks: 'all' - } - } - } + chunks: 'all', + }, + }, + }, }, plugins: [ new HtmlWebpackPlugin({ filename: 'entryA.html', - chunks: ['entryA'] + chunks: ['entryA'], }), new HtmlWebpackPlugin({ filename: 'entryB.html', - chunks: ['entryB'] + chunks: ['entryB'], }), new HtmlWebpackPlugin({ - filename: 'entryC.html' - }) - ] + filename: 'entryC.html', + }), + ], }; diff --git a/examples/custom-insertion-position/dist/webpack-5/bundle.js b/examples/custom-insertion-position/dist/webpack-5/bundle.js deleted file mode 100644 index 68fc1b1..0000000 --- a/examples/custom-insertion-position/dist/webpack-5/bundle.js +++ /dev/null @@ -1,8 +0,0 @@ -/******/ (() => { // webpackBootstrap -var __webpack_exports__ = {}; -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - -/******/ })() -; \ No newline at end of file diff --git a/examples/custom-insertion-position/dist/webpack-5/index.html b/examples/custom-insertion-position/dist/webpack-5/index.html deleted file mode 100644 index 24962f5..0000000 --- a/examples/custom-insertion-position/dist/webpack-5/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Custom insertion example - - - All scripts are placed here: - - - - diff --git a/examples/custom-insertion-position/webpack.config.js b/examples/custom-insertion-position/webpack.config.js index dedbb85..92785cd 100755 --- a/examples/custom-insertion-position/webpack.config.js +++ b/examples/custom-insertion-position/webpack.config.js @@ -1,13 +1,13 @@ var path = require('path'); var HtmlWebpackPlugin = require('../..'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; +var rspackMajorVersion = require('@rspack/core').rspackVersion.split('.')[0]; module.exports = { context: __dirname, entry: './example.js', output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), + path: path.join(__dirname, 'dist/rspack-' + rspackMajorVersion), publicPath: '', - filename: 'bundle.js' + filename: 'bundle.js', }, plugins: [ new HtmlWebpackPlugin({ @@ -17,9 +17,9 @@ module.exports = { // demo purposes: meta: { charset: { charset: 'utf-8' }, - viewport: 'width=device-width, initial-scale=1' + viewport: 'width=device-width, initial-scale=1', }, - minify: false - }) - ] + minify: false, + }), + ], }; diff --git a/examples/custom-template/dist/webpack-5/55b19870aff2e53d1fb1.png b/examples/custom-template/dist/webpack-5/55b19870aff2e53d1fb1.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/custom-template/dist/webpack-5/bundle.js b/examples/custom-template/dist/webpack-5/bundle.js deleted file mode 100644 index 11f6fc7..0000000 --- a/examples/custom-template/dist/webpack-5/bundle.js +++ /dev/null @@ -1,64 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 636: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// extracted by mini-css-extract-plugin - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. -(() => { -__webpack_require__(636); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - -})(); - -/******/ })() -; \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-5/index.html b/examples/custom-template/dist/webpack-5/index.html deleted file mode 100644 index 62a7def..0000000 --- a/examples/custom-template/dist/webpack-5/index.html +++ /dev/null @@ -1 +0,0 @@ -Webpack App

Partial

\ No newline at end of file diff --git a/examples/custom-template/dist/webpack-5/styles.css b/examples/custom-template/dist/webpack-5/styles.css deleted file mode 100644 index e86486b..0000000 --- a/examples/custom-template/dist/webpack-5/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/custom-template/readme.md b/examples/custom-template/readme.md index 0582919..326f4af 100644 --- a/examples/custom-template/readme.md +++ b/examples/custom-template/readme.md @@ -1,4 +1,3 @@ # custom template -This example uses a custom underscore template which inlines an partial using the html-loader: -`<%= require('html-loader!./partial.html').default %>` +This example uses a custom template and passes a partial through `templateParameters`: `<%= partial %>` diff --git a/examples/custom-template/template.html b/examples/custom-template/template.html index 1ffee6c..82979b5 100644 --- a/examples/custom-template/template.html +++ b/examples/custom-template/template.html @@ -6,6 +6,6 @@ - <%= require('html-loader!./partial.html').default %> + <%= partial %> diff --git a/examples/custom-template/webpack.config.js b/examples/custom-template/webpack.config.js index b20de1c..61c2bea 100755 --- a/examples/custom-template/webpack.config.js +++ b/examples/custom-template/webpack.config.js @@ -1,26 +1,31 @@ var path = require('path'); +var fs = require('fs'); var HtmlWebpackPlugin = require('../..'); -var MiniCssExtractPlugin = require('mini-css-extract-plugin'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; +var rspackMajorVersion = require('@rspack/core').rspackVersion.split('.')[0]; module.exports = { context: __dirname, entry: './example.js', output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), + path: path.join(__dirname, 'dist/rspack-' + rspackMajorVersion), publicPath: '', - filename: 'bundle.js' + filename: 'bundle.js', }, module: { rules: [ - { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, - { test: /\.png$/, type: 'asset/resource' } - ] + { test: /\.css$/, type: 'css' }, + { test: /\.png$/, type: 'asset/resource' }, + ], + }, + experiments: { + css: true, }, plugins: [ new HtmlWebpackPlugin({ - template: 'template.html' + template: 'template.html', + templateParameters: { + partial: fs.readFileSync(path.join(__dirname, 'partial.html'), 'utf8'), + }, }), - new MiniCssExtractPlugin({ filename: 'styles.css' }) - ] + ], }; diff --git a/examples/default/dist/webpack-5/bundle.js b/examples/default/dist/webpack-5/bundle.js deleted file mode 100644 index 9c240c9..0000000 --- a/examples/default/dist/webpack-5/bundle.js +++ /dev/null @@ -1,484 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 173: -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(609); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); -// Imports - -var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); -// Module -___CSS_LOADER_EXPORT___.push([module.id, "body {\n background: snow;\n}", ""]); -// Exports -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); - - -/***/ }), - -/***/ 609: -/***/ ((module) => { - -"use strict"; - - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function (cssWithMappingToString) { - var list = []; // return the list of modules as css string - - list.toString = function toString() { - return this.map(function (item) { - var content = cssWithMappingToString(item); - - if (item[2]) { - return "@media ".concat(item[2], " {").concat(content, "}"); - } - - return content; - }).join(''); - }; // import a list of modules into the list - // eslint-disable-next-line func-names - - - list.i = function (modules, mediaQuery, dedupe) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - var alreadyImportedModules = {}; - - if (dedupe) { - for (var i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - var id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - } - - for (var _i = 0; _i < modules.length; _i++) { - var item = [].concat(modules[_i]); - - if (dedupe && alreadyImportedModules[item[0]]) { - // eslint-disable-next-line no-continue - continue; - } - - if (mediaQuery) { - if (!item[2]) { - item[2] = mediaQuery; - } else { - item[2] = "".concat(mediaQuery, " and ").concat(item[2]); - } - } - - list.push(item); - } - }; - - return list; -}; - -/***/ }), - -/***/ 965: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _node_modules_css_loader_dist_cjs_js_main_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(173); - - - -var options = {}; - -options.insert = "head"; -options.singleton = false; - -var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_main_css__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, options); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_main_css__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.locals || {}); - -/***/ }), - -/***/ 62: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var isOldIE = function isOldIE() { - var memo; - return function memorize() { - if (typeof memo === 'undefined') { - // Test for IE <= 9 as proposed by Browserhacks - // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 - // Tests for existence of standard globals is to allow style-loader - // to operate correctly into non-standard environments - // @see https://github.com/webpack-contrib/style-loader/issues/177 - memo = Boolean(window && document && document.all && !window.atob); - } - - return memo; - }; -}(); - -var getTarget = function getTarget() { - var memo = {}; - return function memorize(target) { - if (typeof memo[target] === 'undefined') { - var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself - - if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { - try { - // This will throw an exception if access to iframe is blocked - // due to cross-origin restrictions - styleTarget = styleTarget.contentDocument.head; - } catch (e) { - // istanbul ignore next - styleTarget = null; - } - } - - memo[target] = styleTarget; - } - - return memo[target]; - }; -}(); - -var stylesInDom = []; - -function getIndexByIdentifier(identifier) { - var result = -1; - - for (var i = 0; i < stylesInDom.length; i++) { - if (stylesInDom[i].identifier === identifier) { - result = i; - break; - } - } - - return result; -} - -function modulesToDom(list, options) { - var idCountMap = {}; - var identifiers = []; - - for (var i = 0; i < list.length; i++) { - var item = list[i]; - var id = options.base ? item[0] + options.base : item[0]; - var count = idCountMap[id] || 0; - var identifier = "".concat(id, " ").concat(count); - idCountMap[id] = count + 1; - var index = getIndexByIdentifier(identifier); - var obj = { - css: item[1], - media: item[2], - sourceMap: item[3] - }; - - if (index !== -1) { - stylesInDom[index].references++; - stylesInDom[index].updater(obj); - } else { - stylesInDom.push({ - identifier: identifier, - updater: addStyle(obj, options), - references: 1 - }); - } - - identifiers.push(identifier); - } - - return identifiers; -} - -function insertStyleElement(options) { - var style = document.createElement('style'); - var attributes = options.attributes || {}; - - if (typeof attributes.nonce === 'undefined') { - var nonce = true ? __webpack_require__.nc : 0; - - if (nonce) { - attributes.nonce = nonce; - } - } - - Object.keys(attributes).forEach(function (key) { - style.setAttribute(key, attributes[key]); - }); - - if (typeof options.insert === 'function') { - options.insert(style); - } else { - var target = getTarget(options.insert || 'head'); - - if (!target) { - throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); - } - - target.appendChild(style); - } - - return style; -} - -function removeStyleElement(style) { - // istanbul ignore if - if (style.parentNode === null) { - return false; - } - - style.parentNode.removeChild(style); -} -/* istanbul ignore next */ - - -var replaceText = function replaceText() { - var textStore = []; - return function replace(index, replacement) { - textStore[index] = replacement; - return textStore.filter(Boolean).join('\n'); - }; -}(); - -function applyToSingletonTag(style, index, remove, obj) { - var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE - - /* istanbul ignore if */ - - if (style.styleSheet) { - style.styleSheet.cssText = replaceText(index, css); - } else { - var cssNode = document.createTextNode(css); - var childNodes = style.childNodes; - - if (childNodes[index]) { - style.removeChild(childNodes[index]); - } - - if (childNodes.length) { - style.insertBefore(cssNode, childNodes[index]); - } else { - style.appendChild(cssNode); - } - } -} - -function applyToTag(style, options, obj) { - var css = obj.css; - var media = obj.media; - var sourceMap = obj.sourceMap; - - if (media) { - style.setAttribute('media', media); - } else { - style.removeAttribute('media'); - } - - if (sourceMap && typeof btoa !== 'undefined') { - css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); - } // For old IE - - /* istanbul ignore if */ - - - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - while (style.firstChild) { - style.removeChild(style.firstChild); - } - - style.appendChild(document.createTextNode(css)); - } -} - -var singleton = null; -var singletonCounter = 0; - -function addStyle(obj, options) { - var style; - var update; - var remove; - - if (options.singleton) { - var styleIndex = singletonCounter++; - style = singleton || (singleton = insertStyleElement(options)); - update = applyToSingletonTag.bind(null, style, styleIndex, false); - remove = applyToSingletonTag.bind(null, style, styleIndex, true); - } else { - style = insertStyleElement(options); - update = applyToTag.bind(null, style, options); - - remove = function remove() { - removeStyleElement(style); - }; - } - - update(obj); - return function updateStyle(newObj) { - if (newObj) { - if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { - return; - } - - update(obj = newObj); - } else { - remove(); - } - }; -} - -module.exports = function (list, options) { - options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of \ No newline at end of file diff --git a/examples/inline/dist/webpack-5/styles.css b/examples/inline/dist/webpack-5/styles.css deleted file mode 100644 index e86486b..0000000 --- a/examples/inline/dist/webpack-5/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/inline/webpack.config.js b/examples/inline/webpack.config.js index 752644a..c63fc2d 100755 --- a/examples/inline/webpack.config.js +++ b/examples/inline/webpack.config.js @@ -1,21 +1,23 @@ var path = require('path'); var HtmlWebpackPlugin = require('../..'); -var MiniCssExtractPlugin = require('mini-css-extract-plugin'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; +var rspackMajorVersion = require('@rspack/core').rspackVersion.split('.')[0]; module.exports = { context: __dirname, entry: './example.js', output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), + path: path.join(__dirname, 'dist/rspack-' + rspackMajorVersion), publicPath: '', - filename: 'bundle.js' + filename: 'bundle.js', }, module: { rules: [ - { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, - { test: /\.pug$/, loader: 'pug-loader' } - ] + { test: /\.css$/, type: 'css' }, + { test: /\.pug$/, loader: 'pug-loader' }, + ], + }, + experiments: { + css: true, }, plugins: [ new HtmlWebpackPlugin({ @@ -24,8 +26,7 @@ module.exports = { template: 'template.pug', filename: 'index.html', favicon: 'favicon.ico', - title: 'pug demo' + title: 'pug demo', }), - new MiniCssExtractPlugin({ filename: 'styles.css' }) - ] + ], }; diff --git a/examples/javascript-advanced/dist/webpack-5/55b19870aff2e53d1fb1.png b/examples/javascript-advanced/dist/webpack-5/55b19870aff2e53d1fb1.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 zcmX_n1yCGa)AiyI+}#4f-CaV01Pvs(ySuwXa0{-%LU4CjTo;$c-C5lA=Skl0udS)A zncAJH+tc0Wbf3OIloX^;-x0k7005{m(w~$80I2h~0}T=W?Mm7WOZD3ql#{a5M?l3G z$-&zRyrHbrC&24}pWOE1#J4L*_R<E^0n}7BnbqYlN*dr?J&Xol-xcqnkFbob$Ut zvzs#}i(`JX(`U%3SEt?TTJ79}PWboI4vg#aH6Q36MyThk+$ThR(V*Mcmk}2O)pE`H z!}*FPmaaeJt*d7%m7(h{Y;B0aP#FH?L7M|-U8fHvE&>1j$}-^Yj~R)3=N5l%2Pse% z>g3*{=FT|{c#LoGz~X&&E84*V{`0+5l^H|t+IgP1bC2Esl|;YNWl;5%D_SHIX$wHX zhS3{laHn+#Jbk=t@h|=Fu43M^)6naFFB#%(M1iRADE_A22`Gp9XyCi_G#Ej^Qr;82 z_j;?ZzRuv=t;;njIu0Yh+PM$V_v*s+9El4d^q#ag1i+3Wh8PH5t=m+c_;L8t0>}`~ zdH^DU=-vZ;Ex`YKOr^};vyUFy;e6K_#eNQf6-JhqJu&G$$||2&OY|x2v)0?csN7%O zp4wgV)c&_#)=xgqui`>`T~c{ZG#H(jKocL`nWETes9dPImzZ*>*h-1TaRMZ z2^;wGZtNcEX?D%(2vxn_a`q40W~oSu=cOQ7$nX)=qq3A{mI$k9OgH4z(@pnPpVo-PCS0wWt0tl zRl*(PUbj!#$YL+#ZLbh=4ZHvE80Du=Sb$ELH}}!jwy8mb2Kd;?PUc*1-i_BbXj$UwN0^;~bIJn_BY$`0RJ!0jOtL_qEgepVy)P z-RM7e_G{nK84tK96@O#^?D5siB0A-gS#t?;ZIhaT{$Lj`@FByxKk_{fhU7bV=Rhav z*L^m#r6`T$t=*muDO#@ZHXYZ$*#d9dZLZj9Wgq{~K{eFZp4y9>TrOPLo@fB*{zY)T zbmZJkPsr`q=@WHJH<)}fbf{dfNEwrN z;P!!dpw{`5>QU}W$AVb63tgj!yyEG;16v9^bQA2kT9ut>^lhh0T3^{eGZ1UqdCc1d zY%oH#!HPK-!_75E#VGJf?*Al@$j@zk>33PL-cnWgEj9leO@G0%=HIDqz0w zD{=nr*cnGwAiI-9)J5u{7jsG@C~{~Hp&v=&P$exFDqM3VpCU$ouI85XI4TNr7{wiH zkxE3P==kWLL3+il#FFn*+Xw)vpveR-Ij|sizxkXU6D|$u}~M17_q?I z5Zz4-%h}|95kcakekK(?7CR2?wjR!`EL<`RW9ohn%BShcC}ur7O+OZO2UwQHH2`Qfh7T z2jiXv*MOyl`l7>U7*nZN<36(#5MUK6dyyN7Js3$5N4+}#zO`-6`p}oOuyDWE`M{xXK;MIGMc=-|Qcalad z!RQh&o$~CN!sxzQ#Rq-=(;T1vy%H4XNIIzh!#fkn_)}H4l$ou{`yV@GLNr%%PvD*m zoyB5CT}9u+eX$kM(8=mY{tX(*WO+4N-Xv@m=l-YR~$>y*4Zaj{qW)!Q3xQ@y`{^nJmj z6V_A@`K)gT*%qD>s+vRzK|)Yy#39!MRjeVw^A^+fXmf8J!wK%Li+2UgwFh}D)=!WO zoKAB!<%hQGIW#R67~Gtf-7Jgl!G+(jel=xFYAEMEBgzc$4E+w8$tU>OfaWI`9o?xtqe<(B(`4%hS_3Fdk)u>h^7NRH^02_6ST4fT=; z&QK6?=sPR-ajj&H(Z7-M+VY3D?GjHxq2nFU4$cD^i00CZ6MGwsB1S4;6GpFEEI2)& zBH+*Y*DAiwo@Rgv|gKP!lY}t95X&L5OU*LWO2yyry~2hf(Fc6Ev$EhI77G zj)&?Lzi3!TR?`%4gnI@(Ul~-^?yCSxa#k)+L&T1LK(;sP*;q`f?EUeX0(;BL5ayT+ z#}D05H0HMLdi6oS@-Oz)wy!=^R0d~1p-rH89Vs0oFeoFi*(OUeWT<;4Vn?4tsH^Yp z1L7B%M%$clNr5vqat9O(*fP%)xhIRJW2(d!#svPmh85t9*qAh%iIr^=a|!#&w@_+c zPewo-K}gz$zDxN;U2&Ou7?wfOK285@iUtHpiF9l4PyX3W zjNgB;Ax9vH{vLL^F{?mv?~AY`DgpZa3XbYQMKMTYORo=$j8 zw+;+-$uT&{Vc-=f59!Ye<2#L5r&h+|A;IzMrX-&vYRM=Rb{}&EMUC$=mez# zWF6(zw_BlZh;!0<-p@r97Cf2(ObGnEXKUTRH%F}v*O!+;mVZGoq}F%>erLiN@gwMC zCZVC;i4Jpl%LR3B-t$R~wN-NgZXHM8&lchgG)EDfa-_zF`B<_1UhS39 z#UpXZ2o>Lllzs#*5HKcp?@Lh&NcevtQ&eUM^%zvR2|z#{tkiFCVgdPDSQVci(dzg!m+)s z29U4fhL);}8Py^vLh7TQ-PqcxKA0%nIBLv^bv=<}-mQh09N@)LqJoVmec2q46mOjk zB3at|3gFY^Ka^>?pb1-$4}jceS|7l=@3X9(2l(@=6p|&#u$)iloaMJYICTwb&bj@wvolRG7vPtutbDvzuEHFwUfEtY8!LV8|JqvA=#cr;n;BRM zxbyb+^6=wC`Q}XX%Vok9Llm)g1R|GyEL+y`xh&ej$LvJFekw>tdCdln#<1MTR+ark zT*SY$$<%bGTvu>+bvF4C8I@Cuq;Fb?c#vCBs?dyle57-Y2lzsW;)ihh z+<;#BYX6t-JROwrwqL?wbP$FjXxEs)A)>7l=``Az$Uy%>`cqJd60zEa9UPIYEEgAJ zX$T)(-2z?1zah^D7m0G8IOnb@*=nQU*`umscN`1j{;B+<5?e<1ahVV2Ps;qUX94M` zJecXK5Q>@5D`wqDLdsvwIVsL=RIZmtX6!|c?|2XraHL7SE&*rKibjK+ zTlP-*!9#6P7UG#qo9tXox9}=5NV@*7;FMU*E^y<(sebe$x6pZ+%+iVep4WLm zy2W2Q(fND*`I$9vU#;toVIs3`cb6{cy{#I6&#ANUL4Qd27T{||c7QU+v!u}S7#_y{ z#oD@$W-9q=0ODX!?Kh^|><68$ja+z$g%by{ks^8A-WN0K&HP#*qgkrc$h(i8`K?MIm$Yf%0tYEI}MW^HWp^oJ874D`)RlKuyjWS_IHvTij`1gk_9IT%|6 zAE)&~(m|Ir2ip=_@+tOC5e6e+gRA*bS33QZSI*Tsmj|LSqRY<4gd)nUW5n-4N|pw> zkT~%WFe@}Zd9PQ8Q(yMK8W_K>Bn&m@hYX`xI_h0EUT@n%k3K(HthUQq`4Ytt+y>kBeJCaUNMv-iS}eBAr<^(B;C`Otr+~b~ z>E|%Y3(U6DCA`#saE=cEb`q^yiHSf9SjcDoHjR$M%fC3TYdFNAhicg>&G^*HC)sDj zMF!8h0e1q=v=K80WQvle<6#n)NnNV%F0{nkdOViH4n$sf1a}hmst?uEP}uo5JR)l1 z$mC{3ss0lDxj3>HunXASATP~3qW$? zG8$~p{1Cn2HU{FzHCi$qXv}1hvPT;6(uro#kx0z_?msYjUbp9z&tJGhK6$gwWW!~? zF4D4LFhZ2lC+Ki_q6zOGnK2uDCAWB#_Wt{&$0JTY-jzr0;6wt6-{VV*+ztm|EGhA7 zR0wVir=Ec=r6%5FzuVC`^0}eUt6($^Z}$ChNQ^G0qOkUA+^1$TBhG{=YQ3P3Pi`wP z*TQVRDCBqTvdIm9xlB&;lADHyp87KPFqp2}e95S>TM?sgg$E$kNX|B$wzU4wC_wT71m9Cp z-PeGB(c^LrTJu6CUV{aXz!O;SlGeMm;5A-}f2x7!Sqg2VCq@wTaiXcYGxv&W=9b!; zbm8n@+YEzJTwUZ#Xw>J?sE$b573f-7PpIQ@9bdUi^`Pzb7|1zoe&0H^$p1KLoU+`m z7*p*#Oi*exU%{AX(Dz5;LeiutK179dJr`{qc7vlhk@a!#tq}P%HT;~$UFk8>=eLw& zRXt`wfa1Dq=?!wCzAE#p}pvJ4zt#gx%L-wNC0O=ZbB$KR)97%=#SN2W@Rj|3{&&_ zgY}~yp%)DsQAiamqDAB<4FzR+h3KKvf0!WrsUS=d%QJQ)=ApMu3XW}QDb!3Y3FkfT z#!H9Q2)fL<@ZE2sAlGV zfcrT0Bo%FoRl5M_zIt#KbB?~dyGHJ5)A&xT`faruK^S?Z6|Y)^l| zYbqsLkdATE3V@{g;obponsJ-)P78fn5 zZ*+fH(aPu#e~YR$^_NMXQ~z{onl2m4nj`&a(9)7#S{p0`{BeQw6??>EjU z?oCP&yP2 z6~WMR&&P1~HZ59%%Wxp-LNhi7w0Mb3(;Dmg!Ngj)xxjf-c-y#v*hUBt;nv#0*f13t z7OJI0(Q$vNMDME`ewiM>e3zA>OL&i-rdvGCI|2p^(*6(@0-+X&NkH$bz=@NGX<0Ux z%DPe!L`}97jh1mP9Qk7p*=;^v0$eV&@elc$>6WqP7bw)yMG9<{9hK$Otkw!Vo+6WjC`BQoY zdVV{YYwi5_MS<%cx_1y%0T0&B<`y%qbdvc}@vZ+fUq%lzYg1-&3=FFU?dVH zP>Y~jTQhBd&N^yKhl;EepHqgD#NAT!Q%eo>=Cjg_#wq0*LK{`6(MxB72MhOh~32N#uK>2an1z%6v-HBXF-iOd}q&8Rn*8PUtxt*tpUS9_yqsEv^=!)i5S*fA4| z+OodT?V&|=dX{WGw3OJCI|&bw1~{gH1qbB@?MBvNuQMk}sA%Sbt(eh1-~V=R^N zC*}3UNZKR9^fLNHF^|dyHtoSSxK}uR(bO}V*^4)vkGmLVC7VKHKW}r}_B1BxUzP#s z(TjsWTnJ|w%Jxiar(ubrj?D4IATnwIsNk5<2t*ptds445V^7uy&myFatTZo-bzxOH z`!A>rY^67P(@qjjqY)(7EJo=@ik>2Gx)!Mwy3bFM<*PqsWV4>8xfzN+d7V%D#NN$4N9APMqr)Ba(K+S`*0 zFJ1b*Htlym^)35a2H@NR-!{4zZ@bIc_YzGf%P%B(Hcz1cp^VfXwvbKmBY>EQSfqc&rfm6Y>_BwYp9>5*M01!%wg*P0 zP8pXF)0}0;IA)T+&u`1nZIjAd*ie?I4ZX1={NX80b>tVqvlHv{aK$Bfv4Q}+%v)$V zkrODL=R!l2{w%IWsqU4N5%grO;^qFdoTfO(eeLn(JvkaBH{^0a0&Gckr`g6>PM%-J zF^@i3vt^Mfp`ZtCTdCF9^q;o57MIe6D&)b^WaIy7#tbGJ5YvFK;Nw^;SYL(c0{A0Y z*HX*A(vTedop*X82NK&?0}aP*_u!B_h|oiV&ald(V&xb|w+v*ZGcm}-oyx_5F-z$-V>~szC=XnufB=~){?`r z?ApKvoFCPz({`HN?RcCey1x6UexImoT*BMxpD)Uoqio61fPn+Vko6tz)V z+%ZGZq?PfB1O{XkMxZ9zAA$Tg1YsEbL75^P1P=}U2c@dQBS+f{=NupH_uC3||8Ew+ z8gNIk{SB%WVd)ea>`0RJvYe1vYk3g`X;`x>s-`^=I~*~kKfU_0&d}~&5Nx4d`Yyvtr@E2ZLEaRm`pf$fbCo)PHwwoZc({1a-EJ8GFivzyh9taD4n&X8l#A8wZxHVNljp z@RV}i&~`||&PD|T;Vab4sFP%r402nf?5PWL-ay|Pe(=RrgCEH`W61FX71I(E12HH>BzPwfZa z)E+OqMQ0SXZQ3e-e``YVu1@Gf8aZ7dYGw;JlJ=Sr0a;{*tuAPpG~B94pmz`LYe2Rx z-w$bYu2##&Z7SF8dth|sTOpwFd=7lO&u3B_B3nqx@WL{!m+jKgxx4+6fX@Cp67e zBFIHo(3PJ*;2dQ;&CZGoWc)r}eva==Mts8@=x)-w8d=a}!2{|QPMnJM65P!*5&~9d z`MZo$zD1?BK1WTqv^^I2GJi$to;qdCOtCFb$GXXO4gQv&Ls2^gz=8ssfY^iVP}9CN z9>^8(?M5LV27?svi~FC_)y_u|h1-QO(pDrE7To|@A(Cc&1)$Xv^o+Q%Y`25O0 zfGwbV?$}G$X_#yZK{>`*CWE)fU;pfBqE)YzeGVEL{wCz(=v+4%!}d+~y;B%onfVWR zmQB{aejPt64xW;r0Pdx;ZP(AK{U;Bnc(4gZ-ma)k50rT{4Mc(t@!GgoOyy*Jjv>}3 z_64q?BhO#8!I7b#Km*OkE4F4fg5}R4DHkggFA`1RS*GG*$F0}E+<&}lQk4>MLYMm@e zv=RP6rzyqVff0ZmbfN?M6#zOT6Nm4=RjSccJz0y}7JS&^4y3 z|BtGJ>@2yRF`EcPMf%gr;Q^KlEpqvBqw7+jhG=P%+qt3kW(b>APKr#JEoV&corqZf z=3^N0a!5N)$|JHvckIU80Y#_F>&+7`<C}t{ZlNCGS-w)oK$Na)g#-OgmJ- z67_r6eXzz#<@I*mFy(11d&ZCpy?P??qJbZfKQsw-a3e>?x)Eyi&rtWOZ$%nl2W_Q$ z-fv~&zbPVLm@iU%bwT0Dc5aq^R0f#>VGPzDk6EpdrX zMUS}uARrCdhhXn4r8s&xuai^kgXL`)70KJ zsncs*4r!2>b0hoN4YP_azvxE~WjHXVrR4L0~TN}VPZM1UUnk3D zoW{qn7Bq~45|gX*?u9E>IK2RFw`v)W%g!+4clZMc+l3S3EeN=g3fe0EV@i3z>*3gBUdL-R<<3P=-wbmUu=LkwXUPT^G z(v^Ae4}^T5R4^=*Y`Qj+fZ1gHv(0KnEQwQJ$6ELOi{bHuHvx}5!LPl0}BA zH^Z%$6;9@jYG%RczdZ8H`I1K)6Jkf$BDDR@ZoG&fW|eXVjyfpKL4U_Jotr-Z9S*!f zNBBW{6h+`ww_9{{0Cha4JkY6p6*Ri?{26>c6~Lth!)w7>Z-d^F7u6ZZUQLlv z=}p*j_4zKI%WUN%cjcpdbp-zA*bcJ&uwRtQ{U`XJy}`@D3KA4ISAiB5hRqM=x}K^~ ztP?!kY$YXip*PFusFe8A>lq$=GAdXFSU|!Z_WtqnW*6Y~4{>jr22KLo!qE1MJ{=W> z>4{6B9fv zT0a|wWDX+N^8E=<6C*i4#hh4KANDA8e{dGEQu6Qf<>2gC(sAaQJL}fv-4B-A%dk8d zGot{z3Uk*pLq#iXza+04$2V#NMDj%{UZQ10``&X_k9k}Nt3#z(hiG)@=z^=pLQiWc zUl7O6Ie-cV91{%2?sAcH4&UKG^FBn^T08pWFoqL}EkwY#Rugw955zKK%<>*;$-o_e zf2aJm@-CYfk_L!Fs>;uciOpA{B)uuGB!h~u-PqyKm!2o0S*ZRPXb$)sx(P(4&fP&na+!d z72!z|uUQNV{|tU(#^z}q1N0c+VXHtF7JR4k$^1e;+^h~~pu1?Jy)T>Vts9_Md;bYp zc1ZLhH~N;49bKgMCul{CUkbc+rf)H@xbU!&$8@dX!8XjB;$YqsLVNt3ubJTSBHAtN zQRBy<)Gdi1;4`Uvod{Kb$E{?{^oBl};Y&4w;&@~FtCsTvd-l9@(lk#wVsh(*{`+-T z;wnzqp4H`QW|src@bw=sKSwS7tJXo2&0SO$Jq@<%$c*^)|5%(srma(f`SMd=t5Z!_ zg8s#kv9w<|_2=QDe76ySxWyouF@48(!~EuM{lAHYA4;`64Brh)Gp6ouX0$F>__|{- z!Z&e6d&t3iBV_3`bKiIYa#7B9eIr^QIOxb^I8@(XLNS(W-mj|UFAEVfiij1Z9n9?e z7S;R=U3SD3cl;tZa)5yDT9&!uXdX&BKCm((MR8NwLmR9h)&7#?zuXTt_dW zFp9D=syb^jKB?h$Otmkc72gJt0`8(MdRL%8f;`nTLSey-9QCu_-p44e4oV3$#F6VL=dhTl zVxtblf&%8@gx+wB zpRUmY&C#>CVX{hRDEke6R$Rt$nlV|YH0h9(#+)haJ>kz>Iqt-1Q4T3{;g}s~KUfjP z7x^;xhU-|nLPy1D51aC$lb!efQ)W2H`+BmS07d|dB7GS*e8yT7i>~ZJ3}m_UoJpjC z@!k_*fyr}L^p6Ux2Ch)Yw-_JabM~MK^fbB2(|L`9oup_}OxX+oM)mW!jj8qT#F+!L zV|9M=&Ep$3NcNQXzPlEV*5fDFR{i}*SUZ^qsOOXMO?N(0^EE^)%Wwz z%JB2umU6Zhurqb5-_Evq{HLEtg5AW_uM$93IuB$WlKA}SY$HL1bhOB7NBP&T>Y0~- zzZ%U`ny!ItgzW_ff2x@oy^U`M)!{zQXUaST+9@FQ^YDUH&q8E#5(IV~$=(xrLNP$F zUw(PU#1`t8#We1@ngt|XKjB8N;_H}gH6+erf(wRJud~e^@%GFyPOIj;uuj2-WVNNC z&NCV*5I1*6y@@}fI^c8U)3LaH|0;W<^dy03Ya6qS7uv8xG(r#AfoifOow!2e>80@X zeyH8XvM z6#DMz@h(T^94^z+3?JVYlixkU8}!LMRl+J{4E&yrH~hRDl_~r1E6}FbCsgpp()vaw^DM<7P!XM`RVw~V zpvOpNK;7V1nzLP}nZ>=*`Yf)@d{72?SrG=R|op`fzO%}3Z@5UwAe$>as&~vuLPexJAO@nIF z&a*eR76rB8Jl-&(N+Rvv4nK8vBT!2 z@9byZ@Tb|Se1C?@5bM%i=)Kl=oA=cpaA+CRIi-zx*U(|)^fRf=vx-f9P^?R$$=<|L z$nn0K9pT~_P5nEM+)b?Uz6$g$Xg7OgQO-MrlYTtXQ^ZK|(6H?~7!Y6oa1pKB_2C5% zyBHZsVk`ktAMc+XD5&T`UU$r`J>1j}uEN8!*DqTb{z=5?nxZ~4g>rSLMW2q)8vj#r zGW^$+iA>Yy1{b<(M`}9>d7Gv_Dn6LKro&Z_x)oq8tkm^GYD|X%4H+99EMgXRzJ?2- zt*};|=1=3DTDlQ53A!Vxz~NgvIYqkwvEBN{RJ1R?YA?!a{*K^T|3HJDtj$}slT=F> zq>ed@lH2OkQ*$lhHm<4~Qg!bTPGN<&c=^sLm-p)Q|*OXll3Q9N%z7?q3qIsK)!F zOFamEqwF^zPQlqJY*9|0+`YHvtxVYkH<9d&cM?pKOa9JB6!5^OXOj1izV{0G_~Vo_ zDK1DwmS1k;?#L(J1*;I0dKCzkg`_TTV)&bKFSf{I$^XJJx*_dH2(Ssu%#>g~F$fa_ z7pPWEnz*#LJSJ(4+_#0LpiL1eTyQ6^SbNFG>zd9MnylH(aV@?aqg#~E9)qavl8!^d zykoMFAF>#_gP(NVW|-s+%PO>%Gwuj7|*a{chyAV z2up4J_kHiEq)jk!5TL=fP|j279@3*5>pbY;ME-l?SPH))OM-NU;KxBqDV=>Ct1epy zFze&rUGDyr%7U7fb^me|DglQiV|uAB61i(_s>ED3-UOpv=oEX$qXIrx;}P3G8qor| zBT25H^SxE1+WH^v03l%*h{L`}pe)1C7Y0`jX=eq%(zSTz(TIT~w8LJ)jCj6mZ{XMR zp$RmKYFLA0?y{RUX9W(&ON*`oofvOO!#K}qb%q0o`kPw6g>|-7q`FaVTH0vMS@NV# zvh!B`m)L99Zmmbc^00SoT!MWcbOUwBdzfFC%x~c{gnZ|2cg0mBzqa^SMf(f!Rn#y< zX&Qe{KFkYA&kHxFWR4tH<8LY)V=^@Nd8!~dunycrGzMhswYZ9yfmcqHcu6&+m`BnNoEYP;e4~EDKqlmNS@4Ro%9b)eCDeMo*{l3 zGvEtbfE#VVEa6{BIcb{M+X!R@oGA%_aDO8Ac`GtI9#yczTx^fwDbu)OWc@Inu6vIr zkrxu<;~+D|uGQ1Q!FW`E@41uNlx82peF$uXH8inXxpPG`ROeRhqX+m+6H@dez5URfY#E zWLB|*HTa^&Nkz-3Y75r(tr@Ey&;PD8c({%Q1@&gow<0%YK^|45!Z;ywK~9l76S5n$6YUiKAc?Er#PUF+>-;;$ieDR=nYXPFp1q4`~L|jA$xH#5cPt z%?BZh+Gb%F)n@f~xeEl^b{ysyN&BQ2e7k2bV03_yvUNuA^-%>`P=Tg?u|*|%se;Uq zzIBI5$xB1^+riZn3?`AOJUlJ`@EwyR}7s`z9=rflm1w4AfeeK*asSZTdn=Awz=Rl1s=X^y>dz_3-cfcD@o zMod~Rb?j^CytPT~E>#DvdF-n5c-izmZP6OCwl>j~m-_-A^$gAQxO71)Km0_cxYq}=cpYk_QjL>F-h8Sf_CJg9Ly{K6ON4QAv~RNPbmc&}5Cieu$~5peUGi$#N>` zS;~r@TowGR{FJT%)fWAGZf2Gom>EVX9^KQLo*R6}Er;0oXn5IUMtfjlhWaU^`~cu4 zdOTzkR}2$}%h&mcl__-P;GcqVu6-@>PIyfOGY z0T1GgUVx2nc}8HKVDlA$x=qU~$DxMXKdH`t*tYdr4GAqUnKK3@gf5I%&*7GZZ2*j0 z)}1|Ovb#c8{NrVLRx{?je68kj>|0o+Yiba{f0Y;kx!DA~jYC7rwq)=CTO_BV|BjT< zLhCm>Gg!cv(PN6;a0bm{-SbRSiWH#S5}JG!q9N%5yBk-Vw-k4Aw)**PR^jsjB}xU1 zyEHt)eVJeicRXpUYx_u(tUx~m3Q<_cns=W+0-D9<1C>iiS-Cj$x625v){~VB-WFRP zs=iJxBP9Yh%)+k(!xEtJef7fiSj%u`d}N z7zvxg{JbAAxa*n^*WZi#P9Wl3&#~DO zO&@RbEWXT?yF^AtpM4YCzqOqyqNKuR5rgsr{nJvL;C#&uE`h74{vQQQPWvO^IU|qT z^9Vwt<>V=fv!a1E2a#Qj4w8cs4qCs#^~wZ8Y^4*$cMCr2TQ>S;+CmCYeHC zgtBA4k@0&;F|L%sEIjYfCHX_3TdmgN&*ZuwJfmZhn(3=nn0eELh7n`bW`wHph2=X% zPRX+J@mrky))zYs9AB#QmE_#3WK5`RaoZfzqiXfWcuZL((kTkRJ~;7_{Hp0;KAPEx ze;drF4@YfaJWiO9o!hFPX^>%M`AMo!x<^-5EdiemHb}s*g7@<_jnX`>8fg^f#a9hO zNU)t6ifn) z$H$^(Uy}0Xtc?RHKvpZc9_DO5irKm=dGs+97;d=Jv;cmUvm^>TC|Wb{HBz{4410@U zE1?avF~nBy<&@~&Ou$&-=S8Ta>vY{_1*xNR%$PTsp!)&dexH|J$3bF^j*(iW64oz} zlh4*n*Pni>FX`tKZa8T`Q&s=fmTNg*PGD2O1%LpP3;&&P%GHDve1$Vx-9>fdVNh69 zHT%dTSb&Bk!c*ZnsYbT2N#nTgS(@NaNUFZN;1l*;S6E z+M<|v^en=zZ1Q41ypFxOoY0xVkHwnL3_DhPJ;ra%vv@)MusspwRf%yZL(93KL7;`_ z#~wJ!OfJ%;Vh>uIXnPchEw;_irVH(gHXWIVJ127TSpn|hB#F+9W40lYE%s?9%{hz* zpqM+uSC#~;@W{2yS6vP|e8>^yhjFIJUc8!Jwc_!49q0hxv|H7;!S{BHc7ula2D#9jQ%x-Tu+VX6r{Gyu& zugXnd#VDg2zitA5wk`hFe;0G>^Btp3iRU@CAht7%Nc%45`?OUrO~zu}Q#ahS$v6LM zc#*~1DLLhRtf3NDrEBvTVY|a1#UUB4Hbor4sKH9@qIN9Ppq4w+V9<({9QJ7^o zINSF@P4#P(+c>~9@oiW>FBZAekJr$K3Ptabc@lq6#+n|aC09qsn^-&&ax^$vkA#$Z zK&!`9f*}$|YDv{YeBWeZm{WxUZ8MNvEN=41$N3atC=wnwU_G(6>6=z==GUVxWgUd- zoeL8iKGKB=mm9Osv52(oADyWhi-SjbI#0aQD%+jd{jG-?q`OCa2OKUtb@7`}gc2TeWI|_)VFphof1@Z^-mMA3JlKZrov`I$TAq1xxs!-IE*` zWV0YkMMqb%rYT_S`i?9P7LixpyK^|XY;S5a-+|kXVUn_yIk|0?;UmQ^2jr5t+=1=X zz!SoF3p_c4T|P00Y-UMPv!;GSkj+}q3&>1^OFwYyPHW}z+Ra&lr5;>@=qiKdWn@nX z^==#aJ9vomjPKpq&2y}}aT34=o<0Ck&oRF+T%OY%+)C>m&xI0M=$zLm@Ck?3ibFQH z*zbod(Xbk5z|SiOwqq;K42yB+H@{$JwIWE{*@%&K8`o5g<%(f2=fpXj=$-}5l2w-N z>Z(->#BWY3-e%dHN9pCP)mlFAiX(?X8nicpT(w}R3AbTCC*%^qsX;aX+e3g|xGe1glO)bNO|&s}cbE%@v9gwB zW8jbPlZswxndD^#)Aedplu3#p6)?*?29#(kx^AW4W* zws!k0q;a0LgM@>95(E2t?a#GY>cDt^4w<#X4SLr-yTaG=iub|IfXv4oLxb*zD~Znt zYZRZpv(q?Z)v8qs#BV?sF3qy@5HJxt(CC~f>YZ+l8;w@PwB})*5~Ku?lBaPJC|@%> z2PRE+dT6tCaluUPq&unA_>d~qUO3q6+VZ>U%TKc+%P9z+6FUuZs=&5EaEg7q1TXJk zp14|Cr)G!Go`W9D@&br%29qi~JFwTm)>+nTFl~F=wuc^HEAyDqz%z5fJ8=-(gAkrT zO>=af?|chB*^Xf_4!{#Jk4%qv3X{Cn0XJ73&iprO8KZ$$R0;h6l3SeE@cWb_6$CzM zp|;aN8n`g|9PygcQkX&Fd58LuR2o4^dm0 zx=uTUl?W{4Vi-25c0uTl>`XJ}L@d+fj(ck{ro(*yCP>R;^kf{><;hr*R~kJ6rR= z?(vxxHX7a#NsZ2}v6G`k9^IYGi~6Gpt_Z{J+8cPyRioP+H|F`60X8{X0OX`4zY3^q ziDK39miUc;li$2gyA6P6Fx&#SyWoCa>1AkKC{H3whIwPLO(XAV8c}~AHmXv&C3QHM zcHfqJeGmn(EpAlh48~iCc74BxtIPS$_|BYd%c+87oGZ{x)l;vJIR!2UI^lt@Eks7H zAHeW_?|*U!teorO{nz^ZRnBO=HkKU>!mh}iyazcR5d3iHE^x9s@f%Wq0KnS;{6+vj z3*i3-@a}b4z9@AH;Hv?AmE+-G0r24k;!j6q=P1*?eCkF-f^9v;lw?zG(ZOf;YjyK& z4E4Ov9<#I~n)J|=8CtfpJF8I(*o5wr?cXa>K^v9z?PwU?qV?VtdBe}&7b9CXFK;FE z@nIGtCkEg)RL(%Vi{Xya#>bk5Xy}^cBGi>ue$s=dq^+6CB(kaN$m76Z>7|z@DMZsu zZ&107&75(5Vc0L2d+YLK54O0!e$kYqVX|XqP{ZdbP4|t@@w83pZ$?&_PXD|e0Grd? z2eq#b(%>EqIY(ZZ2*hnzwMYdCOTbVxQ|-C62R*K z{1kwHxGv4FdHt&Z{uqEu|MMRM@HPM+y-9=UXF(_4JFy--aa|{3Q$l!kZb3F{I`VE{ z%I3drnIrC973-!?&VQb5Ra?aA=7)xU=rHddCt$JMEmN+x_eGp`z@{DB|8gdCfY5Vd zzf0(4Sb9DP$b(Q0k{Fy!r#`li;FGRTW-Q9{``BNpc@ z$o$@e?eFqEZLzTazW22HbOH3ZR>SOTkRK8@LSlC82Wc55$^WWnbUo%LyATvAfC~Vx zS(oOEQeW=Z`_lhW0N=7Y@h?7z7a=Sh*x)3#=!j%uD_auFa+xVb?n*ZLVN}kEQLL>i z3zL(&gC-DfV}}_;Ii?3V(*Pz9BJrQGs_#wxMlUromo11IZ9wr?nHmA$PC){QYy+rFmMezXEu{ z0`V{UC_Sd6D5iR1bTcA}aqAB6rlh*~X_AZP&)vJ5$Qh5_w3hM4L|m&CWgE4J{K+3s z8ZF5R^N4mBn0EQrblTPq4px%~D}Q$rXPawbM_84z?Vt$`cDEShL?Lnlm4{&5f&Fe; zw;5XUr!^y*$TaU#r#2l)=d&Q(X}Qq(PG+TT=O0Eq_10I4ooTHv64u#1KNCly?Ha&loM#!jlYRrRX7kGY>}qqhgA8Kh z#(vf)ccXZ3a%!_0@f!{-kF3k^wAJYX@h?7#7g%?;@3^UH%6!Zh(bBrdxM_z3D2!gl zs8kbVvlC}Yz>+`(EAm!!$A?giplqe_Nz3YHx^}eTK#Yh3^_m!&vj9DTiV}yJ(vF8l z*@6|F3Or8wcvV2}4Q4k_L+A7m6zAZ6uRPstUQP7FKwkrlZdhF=#k3NQeRy`qyamXu z@%IYog^%W8jT_(xFt$B&cTh_+pPEeYII0e9w^W-P(*wHidrd{gA&<>lK6mUeDC;`p z>tff0`*Zf`OaP#H`Rlm# zj4B22iUs0N%fWSGp=$ym$xMlwWI$U@Q`4(DyCKZ^p>v^4*GS0MuzzbAiM>WQ<$9t zc99v^R_oseG)&MO&r>Fb{p2}sr+}P6M4{m^QQIc&uy)KcRt|YgBGmf(X;5#`>Bawi--tQqHjYCM?#^GaYajji{UY)wN9PnlogCcP)IqF*Mx4p!RNAq-0?|1{A4D+F;9YI=;=pi?e?h3DfmRq@^IEobAs!@ z#y7~dhfi*pB+NN{XZXLbTk*~B24A)=!>V6LARg{ky;I_>1D|}iv#YU5wiVwiJ$cHe zVR$8hrBjzxkciDA?@nUQ$ju~9jYv+TU3LFzd*(EM(UyXSvPNaZj7oLiHHzizPcEa= z?jS_89eZzArAEt8!Y+JBvF+I81ST6)6^1)QlP;|rW~k2`$axzg+xQi_kFmKmz_#uM z-`+7{y&hWQpjkSrmA8Az#p*CoGwwO(-KOi^Wr@5p8n^ULP4D&oLfx6hPz%i7izbQ2o(smx&#V0LB3wCdOV9(t>Ny6#~}mOkHluD2ix;9>vgG1UI; z697I1;E6BrYl+$4<>&eNdBm^FnLqEaAN&;ncl>$Z`2s%ovo;1d0Owzz_hEtf7i|JE znYOe&b>E$$0YF-M#!XLL3*~YxW08)q5%l&ZnadKiIo5r?k6*jdNWXbI+t^w{6~tLf zC=<=evpdOmV;vxFwj$o`nH$K6jPRBK>mJrZY9@DO1Zt1A)Vda7@!47Os(?_S7bD$m zJ8{cYJ_PU_&E_v{2qwYi0XzYwbV#k&BC5{P(VLtN@0K5yp z&wLio`;7qJ1mMg3x;%RL`VQdZ0Dcj`PXPFH0Dk^+yhgtn!0!g|6@JKhE-DG=lK_4i z!1n<7$Y+>(d@gm%U)x>(T?@oN|LN1ThwdVv14+!T>CA#5EH{?adr< z4Qu<*?M94 zliA!riT$2;-=_e13&yi?^3}V8an4hSTjZ&GSx`7x$5w|~F{7L&8f*#RWmbch3YNyL z4tOId#a~~nPhvox9fd2@76AVafIk7?FMW<6@h_wPgH#8Me((M= z0RIt&!`q*DlE?Z^|9WG7;@<=C_W}H80Dh~3>+!XG1Aspa;GF>e6Q45NuTBB{H-3FC z+uz^4PnZ6%A1ZzifPc#mJx{eB^4I;l{k2?240#2Ho$9{?;JyBO&#!r`$39CSe>s3Z z1>m=#40=A`@AcEN$9k4Hwqa)E+C%^{G~AlB#Aao{VRn%B`na3DtMe{Qt%0{xryRM} zN-dyZxNnVTqSRqzQm!f3Q2Y4M1c!ku-A6r^^%GM*N5DRAmb%MlH|M+h011&c@jc98 zZ5nP^GdW??(-*5ooSR4&<8sTdU>8^L}hmuCl^bMf+`!7g6p}%`BQyls1lu$v88_9TY zE5s(iHdZzo8TG>SBM@*3K#_Ck3Pv`eQ7&z#69o70`MNczWaTCkNHUYI{^Gocya@pukpjv#b@#Q;=2C# z0RDxi_;X+9&-+{MbMQDm{vDq({FnE^yX`6dT^!*4H=mNk+Qb0-z|#fb&mIt;QbC)h zm-qWOJdUEL9J6Ea5L*ew+MyX*t+6Yl%gn&MgB{mSE{{LX>;BwG9K%?EEnIl%r zX~U=wJ)BjvnnVBb4OHyqu#e@%+sHksojqNrt_Ily5&VuW1?_In145x$O2 z-7Y1&-7&tdG!(MUP5LAwNO5wEi{E$Nl!f6ftmJ1!}$CBSv&`BlRoBky}lXY;bJ$G++RVgC*P z|4>8x7oXw#zt(T8Jz)K7o&*G658y@ZXFi3oYrd}jO#t5x;8zc0Soc)Oe~#Kn^-l8} zK8MyM?$IahpY598zXSMJ06gzLk98fu-1U*XKFMo{$G_uX|EHeh`96Sh;OIaq{+RLH zu=U9qYJ+GMtyPG{H3WU*J8S=hR^y=7w!`)1s4;&l%(&Jwmci~~v7>ZGLTlrw0g z8F~H{Kb5F(9c7PQ zot^%QeCB_146-o;Mcku)u=mA)-SffeK`5e3D^)ejne5Xxh4UQ$@ZZJFt{?P~a(G%l z-$%%Q|32f~FF%ZY%|ZGr0DS10pZT4KoA#$Lh*#Hv{U5^E6UV!~VeDG}PXK?-f$kw6 z|Nj98q&OVh^FzQ7A4bhjRvUmH@-Fo!4&(nnj*)uS35>S^{JTEZ{cPr!e;Z?O{2{-_ zrvSbQz`y9%Zg0QiYcO`}*R3@^kHTkBgrYXE}*GLW$&)}DXe zqEI_oPZ|J5uWpzbQ`N{cf4Y=gfC~sZGY@p@+n!fu_vC_{x(IeLhC)s zLsiPd+^gP=eR5sWrYC78qczis^tf=HW7@eg_5OP%k&R!XT^F8S1qSY{n9^Jk4VaH8 zy`)9x)gkQ7H+%Ux43gOG)^UE*eL(!1aBVg)?qQJ7K6DM}zxFV5yB~=E`wu>^@;>#)xC`JLF?a*F4u_^oe;=Oqlk&63Ey#`& z(kYf>0)R=Xh32o`339IIRYjDmFnO_x17rG1(n8BE5^IKj%>%!oVf3^!vtgrxge zC7#8Tw$?p%-|T~qZdxU%@akS5mk8DImcA-pf7z%~P;xInZLp2@y9vp06;bo@er?-7 zQ&-UJMz1+kbuE`o(-zKyFq^Mua1UaX5YvGA6hthl9n5KPy^%`F3$Izp38o~muHo)H zhDpnYql%#pSNGkNT7Qhbk1*Uo!;1UV6NmA(Vvv=t+gZM`b-ukW0sQm#8UMce0L*{u zn(zB+6vMiA3V--Xy6R5>_`eSC+5;Gw)lan(d>5Wvg7qiwa~;0%DgKT#e+~BowqNiA zN&ghaA?kkhxF3S||3kM*b@z`ovB2)7RJ{~3V)xgACph=1NSDPoWQ;%qW2U?O?-8>zX)m32)odw1K@ zp$MZVW_ee&NrAiU0#VdIyMLbovJ0pJQ5Nxv{iAGCXbYxXbZeQ`5ffVX@YJH)oCQvH zplva#PMQ;8et+)v6R23=ho(_Bo6wZb0VsJNCnvaZ2gV27!2k|0EZzM3{k!hJExFNuBAWj8*@o zv?79Ls=Oaue>|^;m72}3^+v5W$0+ah1YkTVRg|`#i#i@A2^7Xa{JA)2!};esRJ-r* zjz^T%-}Soums{@hpx&o+&+(ESub6LB(A~6tXQWcP3bi+VuItpu2lU2?`(A;n3hzcW z@Pm)h=k9U<-;XMWJJB8I62Px&o8y957tfqHrV0`1`@}|9=J_5p9_5kBCD9`m3CvfO zw-Kf}RKpKJs5uT-3QKkYv#MAixiZg%F>BU!p{N#$KqCGN*6Z51u)cAKAOR28;)$$OovrZH?)bAEmV>j7gJIP7dGQP+iX=!>0mN-A!N zOm&HX6(UM`>v{}aoz0{%*@?gsd(Ng!V-P7}o!fr|bGEs6V%U1!5u9Uf70Gt46n^ZD zjw0_4LbR(!-hd|@;(~U^4)?o7Ul(^(miO@+z?Tbhl5&n{cfA8=)MZ6~lEgUx1F%|ShG?)FJ$ za1)lI#rpfw7Lk;Va6lu}Gc^iuBxN|2Fi2rF=_xiwxQOr?NYLj^geT{?@0iyo9Q>Tg zNJq!pC!!`kLk?{L3QAR_bL!tC9QZsBT`PCD0FrJh4q0O$DdSyQivDrE-VERi6Hp0& z&js+#be|U`YMGRVU!ryJ`nV3nKRs2-1=ZN(%mj${@A79VFy#x&F@2n43f4~>p}QA{ z0P#n5xZl_~*9yDQFuSU|Z`aq7tE9^}+<%4IH~%C6&q5f!Pn$4@-y{;(@ znQfr^6M!3NP{&xgooZ_Ax*8tvV36Fum86KyUN9~Lu@cY~?`po1En0IK=ws~JgSMsp z^F_?hM;WRRuIbt82Euy%sh7;sZn}h!Jk%+yaV7n%>nEd`0tn{8+X2=pC@F!gb7slF z=^K^i{ECya=psL`wo?bnt1_=jERyK;R02nena zcCF`Q-LL0v*x|mP58$7s=ePG{S8G_&O;8Ww*Nt3N&tP|@|M|qrKfBPrAQwkZyq`P_ zGnBTk=(e5t`kl?dQs0{p%HYybs-B$XjxV+Pw3+J+=C%nCtLmg$h!(HxsNFP30;(L2 zk;mGc_LUf0qK=WEpnlzA#qgBnKntRkd7*jSY%ynQe-sXIDuS{afHJ6Bou-mIbnCjPqjTPTF(Z8|@ho7b2h()j^2A zmm&gA@2kz@`}?bG19c(ul)P7|h-b^^JF| zXQvD63(^~V&MT-D001BWNkl@N8isLOx)TQ_ z96fdc7p~85lr5{!iIZ|YQT7h}oGL=9bIRg?Q^JvrDJXjiV;AqItDw)7^9!zC<&yg7 zJ|8aNr2s?BSrgb*{!PX?H^>?LF#A!VW^-0u*qjKDU5jnPN)q5v1ee%*q*y#&_NNF}_7f<}j z9|HJdg!=rnQtUsV)b)!Jh5jr0J3kHJf6&`Wf&X#^loxep=fkMuY*WdC=j=fM|0AktPcKS)Ie_ol z5raO`l#;gn zbbobsf3cHlZG-|TKv}S#gE~h}{_kd1n*>-Iw@=lVJQ>`CVNRm5byHAEuG%AB)#E(% z{Vk>YB$&w!;#mBqYOWrtd34l&7Pi@Qln|~ZOZnDcrKdtDXqe=?SGPmdHYM7<0Cm%6 zN&k={_e?I3FE2ja{!zR5Jyz>iQ2VU=38?_n`^9TXk3e~dnbqeTt z-Hz%0>gfrf{0-C|`#Vro^yeEyj_&~CSL0x#?p)Ky`gH@^-gOz-@O;zAv7Q0&4^RbY zW9trm-*&;EvDy90&S9go3!3~G>b(5_j%sUb=U|DdT>pIRHjh8k>4ySv*o9Z%<6D01 zl~g2hS2f{aU$b%K$~|}Y6tBW08MKPd!69}GlJHN$ltUQcL0mMIDfPe~a_Zdd=puBZ zn%NkA%x2n>I|w4dP)HuX3Q<(g`^Q}*nex5)W*v=&>_*MfIp_q4Pip`IC+1vRgNrT@O5wENX zQ~kU!3uMsLF%BRXNosLZ@^gBhB`Rh2y;p1f%KC(=&o_t7oOm{em*!kcqwgRO-l0B0 z?{U9wMysYKRJHQc0Q{qLA%9<2?fw*^m%gun{_$v4;-a85HIseI$Y$t$s0JW!I1d0m z)oZ?Vhu{6!u1Y3l6?Osfy&dk84NmM_tpL2SqdsryUdIx3M*GeqRM$MwQt7ekN=&QS z&vo6Q8^?XrdHi=H(%mc?_D3$1FULg^fHERRla5oA+%ilmZLcspD!l%VG@Pb`Uui$r z8JtCPzpa|}3q9A*xv<10;sCXNP*v>Jse~Hd{_W~?O9#u@<(lY49_-Pw0GV!WFw|$u zx&E;cs3M>hR|mJ8dZwETR%N<5%`qaC%;vPKn66glRM-`Q)UcceFZyUMo ziu3r|o<9QQjOm%_eC__!5fI`b?)UN$;JsH{1R2D~KzWk+z$b6KY+D*rsf_?7x^V;l#4-@af5@$(Ag%@sHzsBZq;POV^iH1en2S-$U@*Ez_QW}q}6OmIoXuvo6RSkC3%ul{_QknBTodjRDPE+nKJiEZFS4_0AE>_89X+fPY z-?qN2`}YFXjEY}e4u--wNl;Zx*i(Yfb^q#XHmV=bM$OM z4Ypa$Ab!38+^R8YMs7+HXSHhMa3P}uDQKP@?g?Ds`qsqxNlD{I0W2ozw&(JyyOeG; zO1zILM*p)`hidY|ey9ZE(tU5J8%aX~>Q0$Xjl5iek^HeOwAF=li&}Y?#gGQKscuZr zWXm*^gh*71nNRNxQoI^o3`)^URL36Gn%W9Ye5^E)vEj%^aUML}1mSPqv^*;1&N9uYm+H_?h#%wtvP?`)_Fi_*`VEIHpaQU#tt4IB9~RK#xx()Y#6?Prqw4_iM2G7+XR0{@%1n_>}IL)&PEO1n|y|Y`U&T z&GOzGdEV!v3f{)R^V3F-pqArp1a=DkTe;1T7< zC;d(%iN!=hHSJ~|h5W+YJX8@|dV;Nh`9eNI*#(t^Hw2bncRC73Zyj z;Cu@Q1?(CFitO%2rCyS)DrM7{W+tFolNPPCUHoQWR0>AI-Wwl(qj+p;M$)}+?PfV* zW;8iTjv71Kq8l4-`Y+@$v^n_3Rqa{Cm~G6v=-BvNQkeX3Wi5S^jz~w+WQbYX zngI}Z@+QGWV!N8xdr^DW&+cBB8LfQV#P2<#;PwS*9olRr`TyPWyjF$%$OxtSO{jvq zwSku4H2!Dn1|+ic!`GpX2`=X1n{^ktg z=LX_oiJ5!548el30y^R^OZJ==YQrS-8eT)OaY9C)X6CqzfYS#njLBWeruZrYU7uFiMfsn>EF{R=ajPw}v%_j2a?V zY4y^Ak-~AaS)e>-Wgh88fsyO6mSQEcnWEI4a6zZI7j192i3$Y`?_f(wOF*#!QPyQZ zn70vf!vjp*F z69C+A1b%P>_*^n^)na}8mrZP5@^Kx03LX#?<}+b~m+|>GYB7qZ~*;k&z4t zryg6k?WR8t%VBn^)I5Zy%OvyS??1Ri6C-S{A0K zh$)Ys`DTyOWt*ZO-pbV55TA=`{TAwcu9>IU9PbZfvyAT%0NZskX9_6C6fwIZLF!w1)e`v$w z{S&m>gQ>Nbm=zjf3O4=jom%nViOBZe1>=rswf+|)KfgsED}OHjc*EoUi82qDq}Tdf z-C%rF*5ac0YCq>IpAW&65ufRip)p=&@2Ag-8^v10t8)*~KpF|A5N}ykMvWjiQM9Aq zl{^nrbYoz%(zf9sfEPG>=9>0+Gd7yxh-8N@0{T|HRb@z^=uCoD)y2(AXvuy|&}22D zplnr|Uj5}g;Kc{NK*>WjT=B$R$+Cs2A2sFCI`KSq%0fhYc_n3b7plfG$zzmkBSbMa zNZCHsgfb9vWBDrtX>gh0` z_gej(k3*fGmJOg&6pa4>z<)mhAhzD96#4b20d; zHMTx&q#7=$qf|CB)z4@w^?CjPz}IZ3PHlY%z#pM{(m$~~H|AU?s1pU>j2hMYTBV{b zFaC0+&EK)%dG62+%RZ{<%A%v@je9guev6*}e>3r3y;I+(llr{h0^qG%J_mn-YUuMR z`gtM%AA{*E^v9Tpz8Kcu{r|oQOwZK5B`b&vXi+Q2qJUY5>jktVVv`u=qd_D-Pux(v z6u?tVf=ymOkJ|W;0(m2l3IHbvc-X@uC!g=)vMl5(UZ9c&j)XItV>qYE)cWM2plp3) z1rw`u9d0Ba4^r>gD%0Yzr-EFuCZ{uL1329KT~*~?4eRk6$8R9*NKL^~5JdMqLFY%8 z-`vlND%{i7LfAuUvY)vN8uJ*JQTs^Itthzk32#H8HKdSFCNwP-p^>jq`*Z2F1N!o# z=T1J~?v=hIzkD;svCW^c09+OFg$Tn?pM;g+@s_*~bO06tl(KSmYez4Z{k|4LLbTwcdeo$G)qpnJJ)7>Y6%Z$ed~A0_PL z<+{(BRu{sTBT+I6nQ+q=`h-+<`=n4_#e!{LHL-gw04*+&)S{ozOX zvvB64`Q#S|h!;VlI(COjicD=!8$%MnrK@CC6jQ34t+I7-l=S({Xpu~s>v&MZf~N8| zFeh_cGmsaZrlywGHs>$b&Pz)3DwJlGD_Yp`4P2+sX@NR}ZT)nKENe-<){@Iq6$i%L za%)p+G`MY+GMnB+l~MK#*R!Jj^UR`I;mMoas%%xf7kiUI5MgClf+Z*=^5UyqtGI1y zNvU5BX9t2I2%j+f38LolxkU|l5M>DiU7(^goeN{c*)n`Gw zl0)I%X|amErmP}o>jP^z3Oc`a=^XJ4sW=Jg>@_vLEVmRCjRwuVR`**c0tV zSgHWYF7t)ddr6YLs)@1`RRnolEXvCQ_SV2K5Xw>&-F>2!|8imi^xPS6kS2`E=k$ib^?$go($u3WfD*P}!0KY63~c=iepb=%~d`Z+{fl`Eq~$CScbW0P6Uccc;483Q9JYh1i1Z`tJ(#z6WS z+q9eXU!gP~J~zeZwTV)n*9_tp5SuP+RWrvJnTxOjNX6!MTsWqU(19Qe_OU3iU;tHm z9nsqs&co2uS!$vcf02%38R)Tukq8xs_(2XjbG0mO9yhWFs0!@dpI`0`eq7m8T^z6_ zJh-WjE;Vj%`8lQP?>Xh2`-Y~3I8d^doP4~?z*^Ey%uH;8skfNoTt#WNY2w&ngb%$p4E&sNdanuq8I(OKF&Q8f8i&vZNaMd> z-;x-gbCticFf7SD#vBEc79tG*=yR0T&md9iRUlG*)#sl0yr$QK^C_4?{K8p9x~q8t z0AlTXBa*MsDbFpLOauuH2qfJ8j%2D?!pNi-IJuI$UU^MemnNw-Iy6dJ?{DWE?k3bE z`oscJM>J&&ie9lfHWNm{lhW~$Vp1J9QB3Pupx2J|_m`Xv2#3a+lVFBN0`$$tb zD5Y=tW+-han$)iJT&@w|Z2caFI|Q2_muQW+%N&O%y*j^1LPTkt&SW&bj2Nzk@VRyO zx|d*9C}+(}`t-#nlcbJ;kw}_$$P*0YEJSzPQ?~ zdC=p7ZZ5K&r#UQJKfg%a-}~ccsw#wG07xS}S*S4(Bhm|glXB*|^vL&0y>H?GBk!>W zZ2*$mWA#l&8jg3Bw1jZY`_)LXuT3mAHGbzg4X&_Rv6B0wqwy~9+|1YlX4q{=%@3Ux z`g+zS+8e@3)x-P8Kn+9*mBsD2*VK6gA{;pPR@8SUfgD)3%ZAMtt3AbtU1csD$o#?8n@ zRK2swx?q>t(OY-+3!5eaxDLxOKK_TUIj_??sAQkTIWo_CIf?c{S90H4mGIb zN>mT>2j){UgZPEDsML$3um*3qh$-wf3&lm>E3H9W(}h3-#~7J{J*n{sv(%~#lE%rx zX-pD=HEwH^ecUU!7waig1b-B0ubq(|r}poQ&oCE|_Ux_fZsb#G-q|klEMaMiRKMCh zv;&-le_H=qq=_`m0V2jSkX4kWR-(mv{ESpB$9Dvfezzda=R@N8 zbVFh71&*oirkc$bsFh;Zma)#`7h&C_aEd$C_rZmD+73xUI_AO8*!`f5(0snM$-ZL+ZF3QrZ}aC#XqMHhU#W$%IA{Kua4m=!$iN z7Y;C{LQPffx$4Zisj^hA7#}mX!mDd)JyNZgY(_EAF};!<+!JV8ba+?#ihUSm_w(dMTiPN$kd zix9P9B#AzEu7t^L!L0fw_r4|-sfqS^i&>3In7l}DW|K#jGEjJIX!@b#?Cu}jL9{LtBLl{!b0ZkG)HM$K9*#S(cW`MGf5@A1Ca zMx#))4P*dNINlS9_ej(`zi2jjo|Q-5IFP`D<{EW+rQi#f13B`(-Q-ZoyU~#A5!#>= zQfA0oBoyOi5p_y4oj$L5%^?0bsl=H=&?cq+m$Hp#nhkfsnO32N17u2yxU_MlfdUW* z!k|EI8Yrfe_ic2!P;yTe2PFGnrT$wRuR;Tsdv{^jzY5GNlqI8-A=K9HomPTwH-ek9 zjcicQ08k|Pbcf}-)3L_0n)vlCdw2M-RC&#YF`p-q1$&D8sF=$EPp#ZXv)v*ujNe#UP>t@fA z*Rtdl!Vz?X>LwzX^J}B(h%ahwD)KqE72_3a|W!Nt1K#1;4Hc^i8M2b2w6%! zWvj-~TIuec_z?D14}f`q@XE*YJduqPrEe~7DbbDvh^<;|WPHR>Hz`PJa|iMv+90II zZkq#pk&<5niksV%^x2T6Z$Gb#d%YAjj`M2Nc-DUp;IF#-6aX(n&Ah%u|9wAd1n28V z9`g#+{`u*VpRG_MP2ZGm`>#;rVei~$mBxLoN}P-Kpc#whKFXqi zrdJY6&o(#jwAs=Y~t2Sg@cOO*E@kb(UpbbOXZC-zJI{ zMc$<_+BtPL_JlkFma~&vYR|wdT~n(enG1wVUYUF17ykNT05<{n+=-uG1>iSO^Q-^2 z?q}Z*;6GB3xLZN$9|8DH0N;_o=Qx0WhN?`z8#S8qdHVAY0Qm3F#&v!>fcpS^+sN_U z1mNd&Q($H>|5T6jpKo}b|BJrHg#srj0RG9A^Yat{U$3C~HU-Wn1Nd?PUj*Q50h~(r z{XGDm3gDrUV)a{4Ltnl{Z~IID--DV*KQ?an^#EQB;J?;?e<^@h=qBQQdOmN^=l>o6 z|2F;Z<>`5Tdcy|cTXhq*f{*Fo76oTp&(>o+rW>#O^?mp1UI;f}QDlyQK+~XWj7L2kODvfGK z!vvxMmt6Kf?4P+D`}@~m7%mTb-l^}l66aintX*B{kaNMKTFtSeK&aZC zrskMsClyr{s?nv$It66AQE|$@9zuk$_`J8?KScl1_?langjkSU_r&Q8WrLe0P)&Ti zZ?QOuy}f&}+IvXP6NOBn2$p+i!9#%z3$PT8jixD6&|Crd2>_R(W{KzZg{WEP z{}RCem2UqI0AHaMc8)GR2H=kXd_%hJ9|QP01)#4&%iDay#PMFERptsU6?n~-aVNzu z001BWNklanX}&7m_TTDbJqN&>5xui306c$$VJHBu)5<^JwgT`Y zx{>*d?ss0Im3_YdC8*iwwsCj?fbZ3f%zMxp=m>yow^aEz=qBrHFdf~x()aI|^}Vw7 zJplew06$qSimyURv$7E+kwiYMRkU6_hjby$Qs#jPQP^bTkDAe4-MV|HX7^m~Sfc2N9(RQ_FGbDbVY=c*@j}s@}hhxWXLn)6yxYR$^ir`wxiV6#t$M&&U z?rT!C_M?a5J%0n^BBjpdbJZk>4itn2Lf>DeXeA`p#y_(@6CY=qRIHY5fs@fKe4wrn z<{|ONQ#*42@Yzat=k=*tg^5zBdHpv4{zC`g&}#kGk*b|WDBqt1@LNg|=S{*xBgbOv zO8xK2L%z<1Qoz4^l&d>{4|TV_TIuJj(`_g9Tz>q-V_b^XYW88h{UHF|Kq9{Y->m?h z-O5w)UoHW+c zjWgU0jhbXE%W@Vj^>H}Hsz93S%muP8(U0ZgbZwpK)%jhkyaobsQTARyw2#%^KFX?A z-j)+xt9R{LD?khbynkEDDV#X*ZmgE~R4`|qbLTpzP7GiWNdA)*&qmowsP^mTMt^2j zq6T!iO#sr3iB|18lRqQ_7?v((+mbY;-cQ)XTlPBzmTN9B;0#foxx(3V#U?<)DbF@3 z3Yr+i|Jd)*V4Jvtf;IM*cjLr~_n^>eXHSMfH*G@!GyJ_E-*nYT*VW!x&15%Q)>7F6 zeJ=9{wAVr?!A3~^oH9oMOl(Hg&AkJf64DR`7dY zcifwfebN21`>RvL2(z^MJvkeco7eHhI5WB=?`Sg)^ZTw=2vxtX1JewP~BnG!+o%5H{_(pgV7 z3&P^QXej+Wm+anlNeYk#`Mu(AdhDhuSD*9bRT?c{Nw2X>k@FS@y3B3^!_^&Ftsbn3 zf5dElDM5An=fXczX{4~!9m#UFhJY~a7ceht=6c!`38h{}6Cavu;}{1cj?V~XwYf4B zjWFH&;?~~j^2JkrfMBy^XI>Y=S}5)PegOZEg6gfPz3nFh_-d{6GQItBt!m#l@tAj_ zW+J{oDPF;J?C2c|uFoC0ppLC8a5TB(rAjUT7=U+a)qJPE_F>EKGJuZ*@DH{6{&-~$ zeh$EGBlo{#g1SE5-F94Wzf~#m9|iE00De~Amz9FMt+N}B@!hC`zh?n>%OTFoF;sEe z4{6nZ5>9aQge5sEiWjs$Qs=lcSi&3o{yHFRWe32qv4Nxdq(He`u@Ym%VgydLPmHgyR zb%TbxP$Y`zIYE<;UG;R5h4}z9O^hwEi(+KXHf1RQhG+oMqd30zp_*hS8dF-#DNVo? z(`!;1!fCB>s6(yjQFJViYGRxW1J>&m27P}>q%s&JDO+66qp9rOZB9RX(%^c8yok<% zH|F;d3L~awHxKwM-qXGc4b$J5d406kC8?5ohyM8v1@5l~@Hz#lhr8Cu^?I>CyQQkR zH2wYThWnk?4MTtXSS5PJ5nt=|3dWzHAS}8O`D6X>whHYA1z6jfo<$YsUD*MxXoWq7 z7bhkjo0ZOfjXuY#Q>C8I`>74bcv>IpxzQ=NU`}M_fX3-U3mULo z4z9ko(J}{P*u`2e*!pkl@3Vy1OjukkZ(zV&`z0s#ZpV5!j`jM982Adc>x?MWU}n|i z#ZOt9^-h-WB~uznEtdrHzDa4|A<#5@%l-Tr^&Sa8CHEQ%q)ZVVGdp3MVo;q>+w$IbmT4{bWs>1vceV#KrUhm(jmAI{s z(dzY|qmH=QRpz0IW7$LW^K)w;SMsj{@Y|>&wO8rSA07D)O`XGnsx062ycFFOy$w~R zeoD{FT@!4?jSA-1p$Z9qNjD#Oy!6Bgo#AJDf|!!vDr_@d*(~tfW-?!FMirDf6-hA; zHUvdk``ksxdQ_aIz3_tCL$#iA4I`Zzt9;R-@6^hRv!TI+I{4sFJ5P;$(`2VAsbdrn*huz@PVQtCmls= zfI*Tkc?JzL!4YW;ZQKkcwXgC>o1UJeC6usqP40JW{R0!=bwV=YvpBZ;K&`&%jE-v6 z{yTF$f21|NNIkzG)c~+M$H7c;NPFb<{T8(}h4$(prM|y~vE17SEzSnDZB9UJ&sFqT zR9}E(Gl$kb)$|%71g50eA1GAl9N{VM(59^z7X$Ld_ht0^G_Q~Bx>Tz!o5%iT{Y*R? zRfJ|Dut&OT^UbIuOjC+*o2lM~)_t}z0`Ew--JgJO42;Ks>G+1{IIh3*PE;}8yHLl= z&g^)eif&}`dM|)qK^=9wGJU=unKMQpQ7p}J_}WS|5^D2JzgsBDPRv!u}a5Ny7EOXS2dnBu72G_ zNts+i`CNI{CN(RBXz*|fw;?V2pygSVWhkdhniCdD0xku)Lbky$svJ5CUa8(fl&E$6 zsr9Zo=zit`&?y|>yBVv+-2k1f!Y8Zpgqno2T$CB}AdHAlRbg4to6Lzcj8i0;;iNG! zq~0~P!Ua^tpnkD%s2GEU4@!L7SdeHn481?YJ$(Z!X}Yw1F`V zhPEjhD%~a~Qu17@37G=yS;hX*TbC*5?5B$RKcE_;e0#cIF9>_1R)}9T@wlI%zjNCT z$ME$EZoimryF))0pEz>=7b?Afw)+fSd59M1QIM! za2LgDv7i2L?nc+7P1u5O4zds|Jjva(h0sK)+D477<-rB3au@cNx1yAjZgL~aT8N$} z0x2`$kz)1dYA#bWhr2Qxp)BXb1~l)Tv_T}X%K;WkMme^wyK1eDxiNN+EOQ8@&6_eB z+2&O;+hp;o5%42iLco_=7$p6*kGdYl*!OE*AGvj-R@{%I+x}%wt*HI!-$y%2^)9UlU)5ET->bm!nh~n^d0Sp9PizWyS&V9A zlh?JVhA%fG9MSes)%;He@b}YwZ$cFZo<=)6KL+9q;2S3Z*1k8Fr`tYWY5fP$&TvBk z{e@dz+gjO#U2rgePTmIKUjz6D0Is+Yd*Yia2I?yFG)L>>u_3SKac15_ zEy@-scWS`r)uPRcFYd>J9>V@`4F^Mdxz)!jQq5Kn{d;0YS)9bG+yg2@wKO%hMW+tTxz4KAx{0&2 zHSttC=IU=>P=S0HRD5TTVa{&m-<}@RMi0$pts1gb!QNsufSJK(mk=x(O$2myddEJI;rJApM zKa8q`{)q&_pMh$A@=K`m-}!pFL^X%`1qG^`ly?4e1@ruV--_Co|0=C6->txSgVMe~ zFam^E=wrQGAAhOO`wghQ@6!r?uSfLw7y5d?7SrN3tN1?_z|ZJop8)VFS}}h^_nG~d zx}o?MR3X?|R59J1sOtZ_I{~YmH2OPGRreq4HUnq$ zy#0~V?5yYfVF0hxR?5C^Nd8Qp*KAimgzD0ER$teiZdmgAPTf#_5nX@)E;y*9rIDZ8 ze;J?io38-Tv($>ya6;=%8y71k2C@uqtzL^oVN#fnC}@eQ)r(Wa<_5M8TCGuv);=U{ zwzs*nnTX0&?ro*a8ZciT7Ou(f z+(DevbLa6W8)u@{xD`xklq*unqADcFf&?l!|6k1eJ6G66NpqxYP!o;h9@V9Pw{->b2pIwP67<<2hTHh!B zWUZ8++kKYqQJVf?tw>*{i~=dUaEIRK-)}eu(%1OO3S^?c_cq-yjG4|{s+*K&>Aydy zpnLbo{RWJC#1pE3?A~-PuUG2)c?#(7*K_?|925~Q^!46=D#FX>h}<&-u+)fXcHx8(d0NXp3ip>qWDO z=RMn~5QR~A3azjjQOAy8V^M;#+(%h(RCS2ROq)-)9%as|LZa1+y0+zi*J`$H6$oeB zQ|+5e^v%VAwWIEl0bWw?l`-&TSPxHx$eugP*`~)?gmgSMq83ps)W&&M;RAWuU zZng2O*F?Yi_xI!Xzu=cfdWT~h;u*~6HLu6v`e@VXV|1Tvsk{$@zSHGYfyzgNOdQ1U zi!FB^+_3aAyO5^7Vi;!(C}myaLG^i}$C(6lL&R%>Vr(g_H0%8aF|~HgXN&uV+U9_~ zN6mKp5~4OXA(qXQr|O+3X3Ry*mR0~-px{yLEly+LOEB;?fb9A6rR_#adTZY=@m)^x zH%(PAXZ zUU>3+Z+4dgX%bMA32m|u=9F?5Gv@vG2NU0`zI8RWv7Xnw<~4)(A*X zT9Fup0tPqzKuL*KHt$_Xfp73EkE%3A2%!rBDErtu<}o2@%t}Cu0$Br0Trb>30YlmQ zWGki=u9z-xYrscofTW zE7rIY17GC{XF%$uY9NT8{=wd!R4P)5gfXiGk%WT%drftWtE9I)_s*M8m%>=!UMv?U zL)Gn1t0J;u%6`Ehm5R4d1`k@WYrDYC9~Bj{5n~t#ivldPqP4zuaS>$Xt-E_3ksJHe zqMITM#q!Yy{T#qX2gNsB0${Ne(Bf?Em&;Q7^l-tRrM`)SdU2+r+5$_oFA@_{{QW4g zG3>rCn>W;+aC3<7?Y!nSufIVcP8+K5GC`eh8Z!%0)cnD#@Jk~wy()vNv~7O8(zW%1 zRj++9&x~>wR0fn4fPo?{E2otWRw$`|*q@*oO52%>f49LJ@EI$L|&rH~WC!(bIRd9OOO_F3$vT!(G0 zG{MeTb=LWDDv^pufLG@1DP!8Y(D6L~JCO7Vajxw2GOG9ba&N$}X2`Grc$IR~DP_J_ zo+2lhMIT&g^`xk8tYZ(fpQf0w4ANsgbee&DUi12!3*u9>cz=QD0o*PoQxu<7g(bOZ zA!UV=s=-BogECzLl6KTUL{BjGYNNeVNRzSmP zUDArwHXBrGNQziBZp!IFY26x@tz%E(?qhZ48SbyXP=45Fp()2+2B&R8xZ1}Zu*3t9 z#e*1zYq91_z4}BNsmg9|1todP2ey-s32;#7251%o6Z@PtDGr1Moy4--3o3QzAgG|t zMOz+<{>-e3^L#!kGcYh?7@z{VdOItnZlbwr)WX$_rPR+F3)k0BD8SmB-bw_pP>wcj zM(|2F;pH%~=w#Nhuu6-P`;Aj_OEZugl*V7EGuM#D#momhhoHpB z8Bj{yw73Hqk*ci8DSA^g^Pn3AiavU5K*$AJb@Rbkl)FGUfq}1t;6wzI`0r_Ym%c6( zX?4yXXQseFF#|4AD_@ev^4T3?H>kEDCVQnh(q95C+;7hWhm7xNDwnP;j<%5wpD#jh4 z`hh}#ZaVnbKCsV_^%5+LRAncZJ&LNI)t}yy`OF^y67i?)X1GjjlKTzw*!OaiUS(eM zn%6}J;xzGhjO_5I==1(D#%>RT46-yV7QNsq7`nhI%tNg2E5azNGgvG{J-kzxhjX8y z05$}&3o}uO!rV&KeAjJED2bztAt)wt zUt&}WQJd?rodzxLg2-{~%e4?$RnTT?UBGg+o@m};I`Gal%oYDGY%3s~t+U=Zqvz71 zRU`yqxliopHL1f>X>2p!7N%lWwW6b8(d(AfdI&LG73aa*4c5}2l-5=^XVLr5F}IX9 z1=eS*HqLJ zwO%2udWHn3G!(sEh*3pNlxA`}}_M7BFs3)s>)#HtPOLf!EYpHQV2MH3bMZk z@WMYQW8;9t;h+~$vt{JFwGGIDgN87`xY5$=^fs?~UBn>1ZEOq^7YEv*x^F9VVuCEK zat_NcqhTpkKlSRmU&qCkN+X(aheVZLABo&MTo|=gImAA~Q>M7Rtr~9Fta9yrvR}Xz zC@C()QF)U)e>uFGPrB2<2L*C|J0(+ci9YHe;Thf((%g@~>E^=P4FCiSEXso@@-POu z6oRYKgo*cK#(<}lh1J1I_DI#a%|#cA>Yj3@ zxN8TJnU8)BtN2a4rw$45&-vnR+5lW=Wp=ilW~ zj#dRU3Ep=RBTG26S!e{C>B|6G?W>SUv!!h|oQjLX$olI_!-`U@ri=57wmFR{ zCNpc5KSZzGMw5iCkP`JYZwk}D%)=a94rZiQ^tCWzND3_5a%`U}k3Q@0nd zZ4g@2{O6c1&mtO^*z^{*=OV~J9;<442iE6Ut_BRl09n_{T$DMWZ1^Gx#+{uR z>v#7X?!E#~Ike61k8QN4gm3ej*SsD_AbuF-`8Jc6F;8d0RG+=LvsY*6?F!v}&|;0n zGP$ZDjXEhndoMeXG&!(^>zb#e5p*s(^~Z+{_!O#l5~VrGD=cOYF^_~a{i#Kc609fN z`m49}blA6=*SfpAF&PWnjekY|K2zY{R#?P&3T1SyLYH(GKqs)4%OP?(k{8;63w!Oo zKa6EL3CL-`Ez{!^`-Bi@WigkdA9>q2yPZ|wO|hsV4urWf57t6WT=e!~s2U1)T-BLv z7vE`)yIKiVg?aV>FdAEhgruNOZVD41-^|ZbdM*wFBG)NU9y3$JnnEb6eGJ0@te5^B zE=G88wuRlMOBs95rhpk+D0#uO!{WT=HLnX4#5aAZH>u6XE-VF;31yQ;6}8H+wT380fOle$8dP+*!?bEG zPJIG7HnmWIwdYzxP)czmbMc-D=+a|FKv_2BMkH>f9>4perMr6CRu+~iGg0U)mgQau z9>hLh2f`{6(OmJqk0srWLhGuIS5-S}z=u)g*7nGvEqB{fdt3`@FmJItWV4b4%hEqDt3ijcXO=?OKuK|4D0#Og^PJ2+h;Y@sQEX^zERR&&P@3^G{rr%Qzqw;gN=&mY z+fW+s_sk5KVNCsRiH$*eFY<4$8WRlYBf?hi?U*`2FZgt zlrrWNC2slPlu$NbI7?8-!r7lJ`kLZgaEOaisG zxCIlfu5F`f+st2f`JT^fUi11Wf%v8`a>00CZ5LXdjtt@!=~tF#K#S;Wx;DwGA&z7- zp=2>B0$FQ#2c>E|Q=uw6E1e>{coAz6r-;<4bg0Djxw6TLCxz+l@w~+gR~}LhNs0nB z0dqADQNT*7WXVcx=!ly%NZ_h)WQDu~N@cEziVB*91Rcu>b%d07*na zRCD6q=p~N5_u2_yYh4{-vZ^Zj1)eqhD7^=D)*cu%rTnG`rL+Y>ZyB6KV zELLks8NlmfiAp~g5Z#4Fmx=b*uJ@nUyykVpRn9{dE?a_xtI0x)6gpCa+pfVHA)2a(SE*ZOGZ~5h+2Q+KJnCaowoOgv#SKFw62x52MH!-{E4)+M zcvh1Wnm}=(ak|#6#v7TJbRVgtxKAQ9P}sH>q2w_h1};YUlbYJp_di-FzIh<>Ko;w% z7mrr8_eKA1fBbzb?!0F2Bhu%@!*nEj1GvSyTd-Ea8o3n?SaduQ@p&E)#n+#nxT`>AY zrh`=Br~lYXaLH3%TrXmF@k9u-T-b#0!iJ6@vtNz%88p!(eLCeCM#jmA$_2fv;;0$G^O|9jfzc`H7Ve9;i|5%r{r8>r6Jq6Qz+KmIZo%M zJx|;f^=6BjT;U9ZwNj2C7o*mt%h`~Wpr+NkiODF(mq_zB-(Uzq7E#k1ct-V~K1w#$ zrJENbGhL~l0~^7!_rrSLVEfF7kH>j|OhJvuMkN%2ge2l4ctV-~E_W=xvo2^_4pqRJ zrxK)@G^nkYeVn@Muka^d{pRjFX%EcZZG!P!@oxD4Ko49-==3qVUba;D^P1PZ&S5Ri z0l=r|@m&C%HdF>v)i*Z$Uad54{jEE2>ccnVvZo4GS6r*P(}@zM80|SA_mPnq*}`-J9-n$ku< zD>&`@#_{EjFSXfLlr3G;eWcy+P#TjWJNHB*To8Ht-!>0!iCf5fz?3#E)P2r~BE!4x z%EF?y5hB{bxfn2vfV^@~Uiai4{FF>%P5Y493xq14BQ(Yo`1XEMgMoxbBbh$)BslOn zwPSCcZp~<>CaRpeVxKK+J1i^EzTBzHPpA zY;0u{%`OU{fu@sXjF=kZE z6b8~L(}ip3hMR;mTCp@Lr9vj6)?&qap*6%K>_)9;Y+)mkDDFCwo?}k)Ogh3xK3A;z zxJEUL_QTx|eoY81RGNkN%xpNoRbf^L(@ZcZ)Uq2=;(U?5?Zo1l*(J|nC+9UQ!m&v6 z;>_VMk92;zkENX>ub|WHx1g5WB&{foit;cL=fg~Z^0~~_uMl}kTXs+L<1jWSeJX8a z98!WopqOd5L^W1#b{A(FLsFt~B5q7raQeYp@P=3Z86Lf39n{T%idqg)k@E<+=ij4| zpXGDJ6B~qWW;64e*StPLAdV4W-WFuCtB?(76VB)m6?y+>zze?SskruUeJqY$d3{55 zGbNkKbl6VGQjXOOb+J{#P2zG>aVOfD+5|2EPTZ>DCm1rds8~E+2AJA-dU{=pZkYze2}+CX%0WPP$C~DjRYnn z&!49>zZc_Vd5}TEw;k!R&pdD^?s?r`~HC3$QUwZ4m>Z4HF)|Lz6|BqrGN|xc#~8*>9VW$ zN9d8w{39O*9q0$zI9N3q5w8DjfSX$(osU+f>K(=iAdQ#xHtzjiOy53e^=+`EAJSVi6gHzs~YJN_LL75fb4 z^P1OV1me5eDq=&WE!aLL)>rJi(&d}}j6H_kHsF)~*^6++bDxdn@k@2&Ovk?(prByP zDPlp*(v!?aH66NB&grU4BGv6HF_hV|)hl$OR2e#HtE>SXxXwlPM%%qc{#|iIh{yGI zFvY%N2q9gJaZ%97Lda>ZUg;}~VYBTbG5hV=-#X@{$?Gw*UFWajJXqhjut#W8et9LB z0(eD^#*l`ng^709u@#x6Jy5E?;aTg}EEhRw&XZXbXzL}k5T?A3_Dl1f5IHc5CT&V? zV*u#qTQlW{vk&8ecfJ>I{MNT2^enugqCQGR-qYq|RrpkeP8%w9>;UkyATQaSld`Kh$ zEE>hMBu<>-Vr^8u)7Tyt8vRkq4b%g1oGp-=V9v+MdPbnj`}PXlT-?~eBdTyBNoi-) zhLJFV7HR>jOa#jgAa4D60Tu-wG}HK|OH#92Z`{VkIv|f00d;JMB)T~>Amg88V>(;_!$Mm{Pp?yhF?eM-@+!r?j}gaW1awz{L;^OtYIEx-Cf zJn)WF=~eI{LHj7cK1Hp|$XOlheIKSGp8~N)x_60rI(>Q!BH?rHOhi((m)O);pFH=QBTz*SXsxsQ+u0LpZmp~W`qoAk z)dvG$j6%@s$&D`0%7^+dwE@x*`R(F?DE{7x;L*G8#2dc(jo5#1JyC7+;Sf~& zF4X$AzBo?+@~+kR4CeEi*ExbXZP+1i3L%j#mG`byH?UciK1G#pqSVXQ4Zu@B?}>Qo z-+2};fBI7)9w&un>?|icva}ORKsOhhD0N9eE0mnwLY*e<6O`=GmMS~z9cM9DE0oVR zYEgL`klIEHx*t1~yfYgohmcd^=~(QlR#xCA|UdxL#YWyXXxO zB~Hmjw$VP=?@_@cw|)?}{m%RF!QZ`a2O#DxR61_}>?xHxj!>Or0^DVyC}3>1fSuR8 z=5+)R#||`l26jw?9Z zJUCOsF6>Hnt4V$zk)Gsv?OruXJwK(H=1wL!#%@UXo>LlmGbMW@$a1s@^mUeOWm^o) z^M*#FW{4n~7$eCEnEG(@JP~H&c1d;Sigrpm1&NRvi<+gPn;B|{zAJrRJ?mk>ZzFoj z+$@MNP`J%eA*>%gg?IkM8*%5KKBTjbG6J|6w1+L=jV;wW?*Qz;!CraaGoR{-qx(JV zK&#Ky_`K$Ip6T@d_QNR94@;w;OYi$!ZVxHc3%>Rlxb~$tVs+IOko6F>ZmN1694%PG zRM?&oEzQW7r&Vd+TXOLw)Cso|_1?SDq|#E*Wr}z24|UgJ;WVL66xOEH8IK4hb#+cT zuN1pc%~kkCF&_>=p`x_CxH*ZvjvW6=h`D?5ia%{kGQ(kteQCvijaN~oygOr_HrXcM zzYVM*hDXv$iZr$3Fg3r0;!xUHMax4{C`w8$OMjQFycd9$3+&&25_kXQ2k?#`y(N7n zc}qoo)Z35R8{bB&k5%B?#B7)Wd|vZJu&wU=K6c;6Bs+x@ma)>vyCXTq9oW!FC%Q85Hq#W_JmmhgZm8TASE?wll&ZHkT0Mo= zrA+}V^^U0Kvk8nq#}FB}{mwgZ%dgyp{gdkrV4SPwTq*BDpKqhvcdf*y0Gvmt@Tore zu41+s$mcb$LxT8WsB~caO!$;58;xuL#=v?TRlZBby(_>^J%`}f)yMGSS3VDy-gq?@ zs})$-ja-l@Z>Pgc%Je2l<7ei~Monh9XNIE#AQy&7TTvSW06OS!+tb9z^XU4!l+w!( zec|lVCJM5|)L5mm=d4Ruyg~(Tx{*uC;7&;!c$ai6g(Ot?5Qx(A#S^|_&fBYCf9)Hc0+7?@yuZeyx7~|3 zeb>8i=Dsr{)buv>`7TxZE|vH$y>T9)z_Ed9-&Bobrqt&(ua7Kc!2B1Eyq026+ z^s&l%45+vD%Qsc``S%1@zxXmd>x*y1RUi9Q@H!c6(VT-g zwW|F3QaO6l#^!6ViusOvY^Md&XdIkpjyE~!5+i3ufy+eA*KKCnPkAeZOK(940gE^& zLxI?oY9g7Li2QGIYt{70S}k$^Uw;rc|MIQ4@68XVH*Bg$y$ewH_vMNE>;mlA0_;7I z1G_o99ai8rgZRAWbqEmOC zcHH}xhtc|sV+**B(dnCnZHIkKU|I+_MwyRQ-7-O`qq|m&0XAcHahun?KH?w_Y)&Z~ ztF|#weIEwIfx{`$r+Vm{X2>@kL;d?RzvNmx zy$M=r)4q(Nj|8^%y_&qd3EI#O-$11Pc{Yvd`sSfnkMI-Y^i723sbQ||qV~G3AntLj z)*wzF5o)YhIp*aPVCKDt+o$^MKDCN*8bR>Bvd-P|w0ZIkjpXTpF!iy`Q#R0JV=Fk) z%6wehn1V&Y>3bf+?SF6^-v7%V-T;i7D)CJqzALcH7N9;1h>y*QZv%1K0N68#&udkpc@8}&Z6szvtPUr^{!rlF)mArNF>-1_R9@t&W%bEJwL1MFRZcT?Y+5BYoBKztL8e%MNU z2Jv~#>v0C+y9Ax=(*HgToxV-bh8^kjO&f_3@!M4^JpZe2#FZa=4VEYNz-!jnO*Q|p zWG_TD=w9Nc(9S7oeaK>sjGy=#=<&-u=tt-#SIg!@Rw5{%=)#2wx z8}oJcoZ>W4IP*oANz0U!MZs|DEbja3d+_$3xDERc>|?Iqn0qPbST$Y)Bhs6zb5xH#^UYoW6L~oJq92?1>}cOr*BiC zAJ(aD+nhLU0rX8kJtltJW)8DWMIRTbYd+x$-1HBhflF?<%oWq3z*(|~y19;V$}USi zSkKV*C{Y8H?#w4z+h*1C*p(nzw4$T1l`=1#X-w`RvruCxE8XXTx+u{6`Kf(s4!}%7 zFRnx%c`X(D)pI?p+!~ew>2&~TK>dKFh{UXU_As{@bnbfS&UomAfuzXQFy5j19*W@9 zoe$yNKXVK2{i}z%P3~c=PRA-}V6$j#3g8c`PRAC2-!@J*Ri*d9KDO1I)#>w^*JB9c zyUdAW2fzl#N6!ue-sfuevWYU^R*7$;{M*0Nl5pLpT#jdd+0$|2hRY%QLsL6i!WR*| z_f1KFCMJxcNZM*Hg>ujryct`Q6mw~Sr=}%E(s-E#uB1v+QpN8EFWJ}y(JwAS?I>CP z^cZfsk&0HVSs_mC_!ts3Ez%-uHoD0fGw3|i^NErUL<&(dT(RV}cxOm82~zAE5LxW) zMgSpX+_rk~N4YJH3{$HZ-iq0_g`hwoZ>A6D!(bu625(CbC$W4`=)JoR&L#9~!{hee{& zwwY=|Gs7J=-WfbQ)j{sjX1+a2%3;%_S+x8dw>4!Zd1D{mwT5={ICMI!}iO8?ZUPx3)XypY@phws%$wVP|qMfuX!B; z#5V!?rfl&Z#QXbB*{)7e(&xi=bsNn-2K?I$U=CM__c`l(SFP}@S6qiDefpEJJif#* zNUA*Hf-g$8rq;(M>2Oid_R^6H*6ck_4L?qu7AsHOrm&#D*66uiVN zbprZajT5SEDHUqQzUt2`OP$(iaB5>!BTY@vgu#(CRJf&{NfNDteZI5+S+tsmZ93#NqSJz`MZo2^W z4B+#c*AYN`8({ahjnU|1l=-$8(oLW}MY(UQy8EB)szBf7;|qrseS?rfJZkD1REdr-a53W* z08o{Blbelh9F9^9iA3dWv*tvt?W|YUIlwz@R?MbV1fii%%J~57^f@$zyhIMT_1CG{ z0hD@sPN?Jbu4oqf18@H@-u#`nfcM7|y)XfG+r(mL9Jms#*##BAH*NP7UE zqSd!i=`(=OYhLHE65kX>N|?4?l?`CNN#J%aDQ3XY=fZb++-(#)ZP>(6bD_WH6R*HC z|K5{v`At`ak_?pbs}Wy?CM&AL()GJD{Z0;+p+t9)TzYS$5r9d+x(6zj_Bg{Kk{r22D1A*ftOs?AE6~>fHFY$30An8Fr}1`@XmA2-b5yd|vZ9 z&mcbaW!puiKKA=P)jly-scsakaYzashp4i5o%h}q-uXMIlC3T9S_DZ}5 z(0G^tHg1AZ+GsOL0yuG6KK;=9-%;fYwLS0*%!F_*gT=7gJUg|tySup&YZY!WrPKz! zASv_>kd1LDh#1uLn3U4PKp}_&lCVwSu64Nsk#`jP51ht_{_qaG?-%dJK~dHwzy>yF za3AImpX1LD1LnZ?nQ&mbA5Q0qMxQJ2dClvi1meBIiZ)dGo4}opNUfg_5Z|RoepE_* z6MzRu9J^|Tr+m&;c={JU9c8ruGl!E~V+v!xnMbRniQ|l{?}L^w4!jAxvmL248-koy z-VJq!6KqWs&A%bZQEsHz5|XxEkH{_0E&gB*q~U$aSdx0q21TBYm!?0FkH>;tXi>oX z13vKUx8Q@n{{YV3zrO{*w*mGpRQgeR;70-RqfqFw1*~NPe5Jb<$PD81n%74j#HXnB zDcXDtkf-iT*ly9f4ajkhpnH_6dlL(=i#Tr=AdhqX@vnL&u6n`Mpw+@fXp4k!LgU6J zi39haNdy&TTxn{WaRpvLuAs~_YtzVy%d1Y4!Hjv_u@_8amxfK?OKU%t7Z?=3qLAw z?>bJlD}awx*s>#a-jA1U0`-|fpVz#OuogRjd=J2~VFN%TyYMkkpHi(Kg()~#(eA!M z*|uppUmK!L_aFc7ov*zgC*SiR_MSkvfzO3Z;)36m2v1xDK%w#;tEWJ?womA%gJU!WY zpmvLB;WTF9N`z8?d*5_7-t|+r;Ff=L&mk)BT|oR?sq`t}-v#6`!3-P)z^A@1vVle) zyH3miKCgLwge&oLq1LxmEzGLp zk;t`td?f@=qIu>lX`f)nY>sY8+}6BqPQZ`k#g6bfKXczHyyg4egOl$)JyK=%Vl8X{ z$W0Y)|9fNOUE6+klnn5(=N_xjfrI05QxrNz&e2o_K2zxPn%4zViSJSk(}vwTCP2Oa z;%=(QM>D$4apQ83`fWENhh4k;p6tLnj8`dV?px!wSKk3%pTY5KkKx!8j{CLOz}qvs zlUWL>S&KbvkrKA2=`g5}Czz2Nyd2yN|*LVHeuG^)wbo1!Yq$#w|wu-ICI~yL*>1x>fTn7AGRlbR4V+a zqhp)?4Q!{-`}<6NA7qE?$-L$@ug91I-sajy8*cBb?WrF5)aGDYfBam;Zinf87mSa+ zZ4=^QLxsM}If%b6E-85O-@XzzeZ{juOM(mseO>bCS*s9B_N=fmFj7@o>mQD>jB-5= zb8f4uc5(VX8@7j4YF3#?YMP`x@#Z-wnZGn4Fyo&@GkOUl8>BpQeRl|u0eH{Py$2uq zcMoDXHDwbDY&JI8ma{ztm^^XY6lH#t`R>E^ySI(XVFQ5oRr*xFds82LuE6Itua6Rl z_g_*>fb%vwU9eg71?+BZx^1p}6J}Bc&XNdn$yKvuW|tVj5*(bnc1N@f;Mq}4I^G(AoPOxi^rIWUbfEQ=?L639 zzw*8Y>^^H9K|=s!0r2TH9(e0Lc=Pw%hRp#Tz~M|zc5yn}7BxC$u_`-0#uV`Hva#6J zg>9RNZHi8(?wB`SKjt;Bd3^*xe2VrR6TTf4$TtDmVJq`peb3MLA8e`IH}%R7t7Zo- zy>SoE{Ng9!`j&ttmJ~RPu|NRVJ|IJ&teENn$*f5Zs zrodhI{M)Sx9H z`$-d)fEIn{vw+w}gr>>d`==^9_N>@?+3#rE>ClBi)Sxr08FoVp1MAstA`k{1?qL{) z4*{`lasAz^c8u%i^=hm8ZRD{rT|3e9@_n&W-djvrc zn~=m&P}wD=o~sl05V%Hu9sQ33u>$O8i*kPU}-ES*8 zZ*UT3%LMaOzTO#IS;D20@8R?x&*IFVEAAIrN1SmTJs|8Ne}NBCt>!c*>I{m1wZMo76!>^z0&bvCVGss z1h%d>c$aY=`@PgL50{6jDa@QM=KI^;SjX{S9><$6T)@Wmmw;X`jf4bqL|l4JBk)>M zmh4bVYv=)T=doP*SZSp4T8E|>~V%JDs zQr#BwmocGrTW7S~Bxu*ZWqj;AhjH-JhY{CXpq&zP69xp`xu^|p|6R+`K_{>6|1tLz(VM5P`JWk0wBt_k` zJov7aX}@Q8uW1ST>*_sq-zj#WZ|OSpL+|>bhoykH*5dM+i+JVdCvfTHHKX!Q2@Ao0Z6ODqK_JDM@Q2oD#UT z|G7u4TNS#W(C>R{H;#Vu5$t(*-=v3m?Ay2Y`DI?-HT#5taZG=WxMr#aaPs$W;Pmt7F}Deh2G!{4_w7-_mPEC71d)3)&w<6PgO?P!w)PEh{hJ`RC5cO) zUm|iSt22m&QkOt;_uuB?6}kCx~rK;?no@OUJaj@?7~@gw3L~ zlt5>xF}IY1jSZV?j&oW`9Fp-#%kk1OK4izE+123V-+LJMKmEYO%mqzvgr_BG{r)5| z%=(Xq(AAs+P1~StCVj!1S!2^KEI%QRxkr0P_;J?mEHnY<|8W-o{^=>iwH!$yQKlhL z$)Tr~)7JodIasYznzvIK3eQ=|JokEuz;hw;7JA)xe>;*lLF_;h2g=^bxiESxsBb8$ zyY!sL%GI)#ZY@_^q;s6tH{KeN=>Okh?_;Yt@{I>^;EDUYH1VnD`Md>azl&HW!eULBaPjyR467QfY8&wThcD78%~}>_UE3a$ zyrw;ef-2Ab4kPG&P7phu#F4p4Kp^aBAZhKfq{1!a)+i)j8#XT~??t%HjkR(G&;;y0 zw1Q7O^BDFV-jC3>hyiHZuJtDdWE?XD5vN8j18dc(6I;L54@@bXWN;qtkg zQ&%`(F&3#3k@i)xM9Q^^YF=kGOClZ&Y8(dQE|Gi?h#lbCH$iMVEZxEH&RMXQLgb}> z;-$ylo0s%hQZEp`8yV$NdMyg?vD`4@0*=4;cZ|4saUEw~cnj@~tGMUzDwghEK@)l< zU!4tGZ}%JUXw?n!==RIIh;e2iMpsdk`T z0%vV~YB9&jkMHt5OE~no{dn~2N3p#7F2uEVV}p|EIqE|19f{AnkxsV?%MI49T*JxV z9>b@B|CkT>w^}a~qbW2H^ z^Yi;IH)_vv|J1U zSiio8cV0S&mw$Y+Kn^vQshSe6DF;gv&c>{dd%B?k^`&AZg&vH=E&T=wf*^^z_Q{+4 zmXf#T1_#(O*T<-Ht9gs1X1vCD#!BEGGM}7}eUGo=p)Y*|2cLdu@=TnXx?r9F7p5K1 zLel^dIRDR6c;os1;^MI@*q9|h*6+NwJ*Y&|IR#&1$2vxJd)K_R@-b`D8p)d=Na73G zuiOo$)MTL%6h*FET9bKSBanJd@d9@1RBQJ$OLLY|37lnLwBroWTgOhYa$p&s`oR;} zeP}u&OT8JIcyRAu+8!6N%CAHe_-@ ziMzJWyR!fhOp3s1Yu z+HPOgHlHnSjZJE8XR+K^Y2{*CXq@Ct5Zee#TX3JX8}`C0Z?8=q+WPH#5)B3p)ftXHiO0?Tn}1Re}TYz>{0zzKpRz9}OKIZx=6 z^sH-%HH7Br3N?m&HA2=ttCn0X#;FN!7kP z_jgU5w>18_q_t8@UnZ>)#128&hR0%Yf0N!Lk$&m5v~yU0n_MDWs+2tI-`)S(I=H3G zE!{q5_7j=o9CO{I-NkYwpLQeD65Xs8r(Ojwsq9q2hs^uZ;|v11m+HH<^=;{zCwUVD zmH3t<^E8PqN7}iYTuFgj*0%$6k9CiVt-S$T!|k3>Is}#J*{_uRBog(i<}r4u-mG_^ z-mnD~(V5aU%r$RBn)Pi9xm%(Ji%43N64fN9wSauaISHH~ zh#l7>cueclh+EV0R8qy7D$l)^`l)N5Z}C&NL?Wz8+#0Gc5wNDjyT{%(r5*w=5xG}| zTRV&~X^kL=9j(MQWv;DPYUEXG=?a4qwcbl1bGsBNpVM}hbOU)H%bvVj7b=O#>2=sfTz zN)QB6TV{tr4~XY@OPq<1CF~jXRtti4LgGD)%O+X`yp# zt5?mlfT44OAV}i3kkEsmtWfc|hR8ihaW!Rbxqa1Ik=8~Q0ND_w*1sJ_rN0OQw?58Y zQzUMJAVy)CLr^3gEp%=ndGB|YzE9e>wxIfR%LCGDu|VkYHjp@s%6Kf9Ybrc9si?Vb zf`O#9Ym6WWf=c`rj8V)e*c=f`s#|J(T2jB35WA+jQ{`@r1_0xl!B`30s)9?ltzOcO zj;KJ1h)a_cOKZ^5B!?gff+T(m#>rY=4#-JzrN@@%EW}+y{D5yAyyn{RCevw39PqEF zTgX~_u0-rnxE@&VO%Mc0e3On@DU&#-%+vBSEi1nNI4$)m*`s4sRu8Uh4wq3AqOch{CkTQhzJh zlaS^m>@f2Bv1X``A$H5Q7DXO~^8+w+P7nl1e8-J*PN_A5ifaV2NIQt-x{FyGu;jM) z5O!^enU&Z}C0!*l&UF&&?`tbeu390Q(h89jf*=Tz_zoj-?L0^ca9VkqMB3J}F>Aw< z-2RsS)`;BO@7zM_D3Gp}u%=BkNZE=-6ngY(1rj>|SGmO#5cC3;f^Zwj+ zZRYPF5WAIN`@Oq0r!^{Yf*`2GiE2WZdY5Zz-J`y(3S9d95>ac!7Y*uHdaSAJ+f*>|6xF){&h}_%DTuO4YeAbu=UJ%rFP5D(c zd`~Qpxz>OtEftG~V;~5Epb{slh#ZQ71U8n3Srg@QXkbeQ8%uC0iAvkG4zkzQvs>es zlE4XqAc+&VMWyG=VREFNbBhD)A$GvFwj7K~HWkNB zd(ssQ>RTc!DKV_J!AXO1moE)1?B#Ez2}&u{ZXFYXAP6dP;*OoSoQ11If}Y7iT+lTW zmG7|bXMdY$+((i(K@cQyV$+;It%H`<4%I@GV@c8b{?h(vZ9uJKLJ$N&5+^q8`P8z* zgHv6{k=M|e_e;htQZ_nCn;;01II-o=t3>D))xC)Dv?cs+Rp;9Nk-Q0lAc+$@@?1y9 zdpv98HEwNV6+S@_#J0yWhhWDb7lziXSfk@JE!)+G)fpxy2!fyzCxr9w$vls@;hJNZ zoFE8-Bu*^&+8A4AMz3;$APAB;v4yW0k~KjP!~*bt<|szm3y(Q&00000NkvXXu0mjf Duf!qe diff --git a/examples/javascript-advanced/dist/webpack-5/bundle.js b/examples/javascript-advanced/dist/webpack-5/bundle.js deleted file mode 100644 index 235bdd8..0000000 --- a/examples/javascript-advanced/dist/webpack-5/bundle.js +++ /dev/null @@ -1,81 +0,0 @@ -/* - * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 144: -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("__webpack_require__(636);\n\nvar universal = __webpack_require__(184);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), - -/***/ 184: -/***/ ((module) => { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }), - -/***/ 636: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module can't be inlined because the eval devtool is used. -/******/ var __webpack_exports__ = __webpack_require__(144); -/******/ -/******/ })() -; \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-5/index.html b/examples/javascript-advanced/dist/webpack-5/index.html deleted file mode 100644 index 216fe10..0000000 --- a/examples/javascript-advanced/dist/webpack-5/index.html +++ /dev/null @@ -1 +0,0 @@ -Webpack AppHello World from backend -

Partial

\ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-5/styles.css b/examples/javascript-advanced/dist/webpack-5/styles.css deleted file mode 100644 index e86486b..0000000 --- a/examples/javascript-advanced/dist/webpack-5/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/javascript-advanced/template.js b/examples/javascript-advanced/template.js index 2b006a2..9c9aca0 100644 --- a/examples/javascript-advanced/template.js +++ b/examples/javascript-advanced/template.js @@ -1,5 +1,5 @@ -// Webpack require: -var partial = require('./partial.html').default; +// Rspack require: +var partial = require('./partial.html'); var universal = require('./universial.js'); // Export a function / promise / or a string: diff --git a/examples/javascript-advanced/webpack.config.js b/examples/javascript-advanced/webpack.config.js index a8e1af6..8ae67ef 100644 --- a/examples/javascript-advanced/webpack.config.js +++ b/examples/javascript-advanced/webpack.config.js @@ -1,28 +1,29 @@ var path = require('path'); var HtmlWebpackPlugin = require('../..'); -var MiniCssExtractPlugin = require('mini-css-extract-plugin'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; +var rspackMajorVersion = require('@rspack/core').rspackVersion.split('.')[0]; module.exports = { context: __dirname, entry: './example.js', output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), + path: path.join(__dirname, 'dist/rspack-' + rspackMajorVersion), publicPath: '', - filename: 'bundle.js' + filename: 'bundle.js', }, module: { rules: [ - { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, + { test: /\.css$/, type: 'css' }, { test: /\.png$/, type: 'asset/resource' }, - { test: /\.html$/, loader: 'html-loader' } - ] + { test: /partial\.html$/, type: 'asset/source' }, + ], + }, + experiments: { + css: true, }, devtool: 'eval', plugins: [ new HtmlWebpackPlugin({ - template: 'template.js' + template: 'template.js', }), - new MiniCssExtractPlugin({ filename: 'styles.css' }) - ] + ], }; diff --git a/examples/javascript/dist/webpack-5/55b19870aff2e53d1fb1.png b/examples/javascript/dist/webpack-5/55b19870aff2e53d1fb1.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript/dist/webpack-5/bundle.js b/examples/javascript/dist/webpack-5/bundle.js deleted file mode 100644 index d6c3e3c..0000000 --- a/examples/javascript/dist/webpack-5/bundle.js +++ /dev/null @@ -1,85 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 184: -/***/ ((module) => { - -"use strict"; -// This file is used for frontend and backend - - -// If compiled by the html-webpack-plugin -// HTML_WEBPACK_PLUGIN is set to true: -var backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined'; - -module.exports = function () { - return 'Hello World from ' + (backend ? 'backend' : 'frontend'); -}; - - -/***/ }), - -/***/ 636: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// extracted by mini-css-extract-plugin - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. -(() => { -__webpack_require__(636); - -var universal = __webpack_require__(184); -var h1 = document.createElement('h1'); -h1.innerHTML = universal(); - -document.body.appendChild(h1); - -})(); - -/******/ })() -; \ No newline at end of file diff --git a/examples/javascript/dist/webpack-5/index.html b/examples/javascript/dist/webpack-5/index.html deleted file mode 100644 index 0f3de26..0000000 --- a/examples/javascript/dist/webpack-5/index.html +++ /dev/null @@ -1 +0,0 @@ -Hello World from backend2023-04-14T18:14:20.006Z

Partial

\ No newline at end of file diff --git a/examples/javascript/dist/webpack-5/styles.css b/examples/javascript/dist/webpack-5/styles.css deleted file mode 100644 index e86486b..0000000 --- a/examples/javascript/dist/webpack-5/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/javascript/template.js b/examples/javascript/template.js index 33ca1b5..8cb1e19 100644 --- a/examples/javascript/template.js +++ b/examples/javascript/template.js @@ -1,5 +1,5 @@ -// Webpack require: -var partial = require('./partial.html').default; +// Rspack require: +var partial = require('./partial.html'); var universal = require('./universial.js'); // Export a function / promise / or a string: diff --git a/examples/javascript/webpack.config.js b/examples/javascript/webpack.config.js index 9945c4c..98ae4c8 100644 --- a/examples/javascript/webpack.config.js +++ b/examples/javascript/webpack.config.js @@ -1,25 +1,26 @@ var path = require('path'); var HtmlWebpackPlugin = require('../..'); -var MiniCssExtractPlugin = require('mini-css-extract-plugin'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; +var rspackMajorVersion = require('@rspack/core').rspackVersion.split('.')[0]; module.exports = { context: __dirname, entry: './example.js', output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), - filename: 'bundle.js' + path: path.join(__dirname, 'dist/rspack-' + rspackMajorVersion), + filename: 'bundle.js', }, module: { rules: [ - { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, + { test: /\.css$/, type: 'css' }, { test: /\.png$/, type: 'asset/resource' }, - { test: /\.html$/, loader: 'html-loader' } - ] + { test: /partial\.html$/, type: 'asset/source' }, + ], + }, + experiments: { + css: true, }, plugins: [ new HtmlWebpackPlugin({ - template: 'template.js' + template: 'template.js', }), - new MiniCssExtractPlugin({ filename: 'styles.css' }) - ] + ], }; diff --git a/examples/multi-page/dist/webpack-5/first.html b/examples/multi-page/dist/webpack-5/first.html deleted file mode 100644 index 930ee6e..0000000 --- a/examples/multi-page/dist/webpack-5/first.html +++ /dev/null @@ -1 +0,0 @@ -Webpack App \ No newline at end of file diff --git a/examples/multi-page/dist/webpack-5/first.js b/examples/multi-page/dist/webpack-5/first.js deleted file mode 100644 index 9c240c9..0000000 --- a/examples/multi-page/dist/webpack-5/first.js +++ /dev/null @@ -1,484 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 173: -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(609); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); -// Imports - -var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); -// Module -___CSS_LOADER_EXPORT___.push([module.id, "body {\n background: snow;\n}", ""]); -// Exports -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); - - -/***/ }), - -/***/ 609: -/***/ ((module) => { - -"use strict"; - - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function (cssWithMappingToString) { - var list = []; // return the list of modules as css string - - list.toString = function toString() { - return this.map(function (item) { - var content = cssWithMappingToString(item); - - if (item[2]) { - return "@media ".concat(item[2], " {").concat(content, "}"); - } - - return content; - }).join(''); - }; // import a list of modules into the list - // eslint-disable-next-line func-names - - - list.i = function (modules, mediaQuery, dedupe) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - var alreadyImportedModules = {}; - - if (dedupe) { - for (var i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - var id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - } - - for (var _i = 0; _i < modules.length; _i++) { - var item = [].concat(modules[_i]); - - if (dedupe && alreadyImportedModules[item[0]]) { - // eslint-disable-next-line no-continue - continue; - } - - if (mediaQuery) { - if (!item[2]) { - item[2] = mediaQuery; - } else { - item[2] = "".concat(mediaQuery, " and ").concat(item[2]); - } - } - - list.push(item); - } - }; - - return list; -}; - -/***/ }), - -/***/ 965: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _node_modules_css_loader_dist_cjs_js_main_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(173); - - - -var options = {}; - -options.insert = "head"; -options.singleton = false; - -var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_main_css__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, options); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_main_css__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.locals || {}); - -/***/ }), - -/***/ 62: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var isOldIE = function isOldIE() { - var memo; - return function memorize() { - if (typeof memo === 'undefined') { - // Test for IE <= 9 as proposed by Browserhacks - // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 - // Tests for existence of standard globals is to allow style-loader - // to operate correctly into non-standard environments - // @see https://github.com/webpack-contrib/style-loader/issues/177 - memo = Boolean(window && document && document.all && !window.atob); - } - - return memo; - }; -}(); - -var getTarget = function getTarget() { - var memo = {}; - return function memorize(target) { - if (typeof memo[target] === 'undefined') { - var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself - - if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { - try { - // This will throw an exception if access to iframe is blocked - // due to cross-origin restrictions - styleTarget = styleTarget.contentDocument.head; - } catch (e) { - // istanbul ignore next - styleTarget = null; - } - } - - memo[target] = styleTarget; - } - - return memo[target]; - }; -}(); - -var stylesInDom = []; - -function getIndexByIdentifier(identifier) { - var result = -1; - - for (var i = 0; i < stylesInDom.length; i++) { - if (stylesInDom[i].identifier === identifier) { - result = i; - break; - } - } - - return result; -} - -function modulesToDom(list, options) { - var idCountMap = {}; - var identifiers = []; - - for (var i = 0; i < list.length; i++) { - var item = list[i]; - var id = options.base ? item[0] + options.base : item[0]; - var count = idCountMap[id] || 0; - var identifier = "".concat(id, " ").concat(count); - idCountMap[id] = count + 1; - var index = getIndexByIdentifier(identifier); - var obj = { - css: item[1], - media: item[2], - sourceMap: item[3] - }; - - if (index !== -1) { - stylesInDom[index].references++; - stylesInDom[index].updater(obj); - } else { - stylesInDom.push({ - identifier: identifier, - updater: addStyle(obj, options), - references: 1 - }); - } - - identifiers.push(identifier); - } - - return identifiers; -} - -function insertStyleElement(options) { - var style = document.createElement('style'); - var attributes = options.attributes || {}; - - if (typeof attributes.nonce === 'undefined') { - var nonce = true ? __webpack_require__.nc : 0; - - if (nonce) { - attributes.nonce = nonce; - } - } - - Object.keys(attributes).forEach(function (key) { - style.setAttribute(key, attributes[key]); - }); - - if (typeof options.insert === 'function') { - options.insert(style); - } else { - var target = getTarget(options.insert || 'head'); - - if (!target) { - throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); - } - - target.appendChild(style); - } - - return style; -} - -function removeStyleElement(style) { - // istanbul ignore if - if (style.parentNode === null) { - return false; - } - - style.parentNode.removeChild(style); -} -/* istanbul ignore next */ - - -var replaceText = function replaceText() { - var textStore = []; - return function replace(index, replacement) { - textStore[index] = replacement; - return textStore.filter(Boolean).join('\n'); - }; -}(); - -function applyToSingletonTag(style, index, remove, obj) { - var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE - - /* istanbul ignore if */ - - if (style.styleSheet) { - style.styleSheet.cssText = replaceText(index, css); - } else { - var cssNode = document.createTextNode(css); - var childNodes = style.childNodes; - - if (childNodes[index]) { - style.removeChild(childNodes[index]); - } - - if (childNodes.length) { - style.insertBefore(cssNode, childNodes[index]); - } else { - style.appendChild(cssNode); - } - } -} - -function applyToTag(style, options, obj) { - var css = obj.css; - var media = obj.media; - var sourceMap = obj.sourceMap; - - if (media) { - style.setAttribute('media', media); - } else { - style.removeAttribute('media'); - } - - if (sourceMap && typeof btoa !== 'undefined') { - css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); - } // For old IE - - /* istanbul ignore if */ - - - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - while (style.firstChild) { - style.removeChild(style.firstChild); - } - - style.appendChild(document.createTextNode(css)); - } -} - -var singleton = null; -var singletonCounter = 0; - -function addStyle(obj, options) { - var style; - var update; - var remove; - - if (options.singleton) { - var styleIndex = singletonCounter++; - style = singleton || (singleton = insertStyleElement(options)); - update = applyToSingletonTag.bind(null, style, styleIndex, false); - remove = applyToSingletonTag.bind(null, style, styleIndex, true); - } else { - style = insertStyleElement(options); - update = applyToTag.bind(null, style, options); - - remove = function remove() { - removeStyleElement(style); - }; - } - - update(obj); - return function updateStyle(newObj) { - if (newObj) { - if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { - return; - } - - update(obj = newObj); - } else { - remove(); - } - }; -} - -module.exports = function (list, options) { - options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of