From 5f3351dbb8de71bcdbc91d869c04bc862a25da5f Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 12 May 2021 18:04:01 +0200 Subject: [PATCH 1/2] use official mini-css-extract-plugin and experimentalUseImportModule (#24573) ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. ## Documentation / Examples - [ ] Make sure the linting passes --- .../build/webpack/config/blocks/css/index.ts | 12 +- .../config/blocks/css/loaders/client.ts | 2 +- .../plugins/mini-css-extract-plugin.ts | 2 +- .../src/CssDependency.js | 64 - .../mini-css-extract-plugin/src/CssModule.js | 103 - .../mini-css-extract-plugin/src/index.js | 576 --- .../mini-css-extract-plugin/src/loader.js | 237 - packages/next/bundles/webpack/bundle4.js | 8 + packages/next/bundles/webpack/bundle5.js | 1 + .../bundles/webpack/packages/NormalModule.js | 1 + .../error-overlay/format-webpack-messages.js | 9 +- packages/next/compiled/loader-utils/index.js | 2 +- .../mini-css-extract-plugin/LICENSE | 0 .../compiled/mini-css-extract-plugin/cjs.js | 1 + .../compiled/mini-css-extract-plugin/index.js | 1 + .../mini-css-extract-plugin/loader.js | 1 + .../mini-css-extract-plugin/package.json | 1 + .../next/compiled/webpack/NormalModule.js | 1 + packages/next/compiled/webpack/bundle4.js | 8 + packages/next/compiled/webpack/bundle5.js | 4571 +++++++++++++++++ packages/next/package.json | 1 + packages/next/taskfile.js | 35 + .../css-features/test/index.test.js | 2 +- yarn.lock | 9 + 24 files changed, 4657 insertions(+), 991 deletions(-) delete mode 100644 packages/next/build/webpack/plugins/mini-css-extract-plugin/src/CssDependency.js delete mode 100644 packages/next/build/webpack/plugins/mini-css-extract-plugin/src/CssModule.js delete mode 100644 packages/next/build/webpack/plugins/mini-css-extract-plugin/src/index.js delete mode 100644 packages/next/build/webpack/plugins/mini-css-extract-plugin/src/loader.js create mode 100644 packages/next/bundles/webpack/packages/NormalModule.js rename packages/next/{build/webpack/plugins => compiled}/mini-css-extract-plugin/LICENSE (100%) create mode 100644 packages/next/compiled/mini-css-extract-plugin/cjs.js create mode 100644 packages/next/compiled/mini-css-extract-plugin/index.js create mode 100644 packages/next/compiled/mini-css-extract-plugin/loader.js create mode 100644 packages/next/compiled/mini-css-extract-plugin/package.json create mode 100644 packages/next/compiled/webpack/NormalModule.js diff --git a/packages/next/build/webpack/config/blocks/css/index.ts b/packages/next/build/webpack/config/blocks/css/index.ts index 73d2513ba851e..94adc75714faf 100644 --- a/packages/next/build/webpack/config/blocks/css/index.ts +++ b/packages/next/build/webpack/config/blocks/css/index.ts @@ -1,6 +1,6 @@ import curry from 'next/dist/compiled/lodash.curry' import path from 'path' -import { webpack } from 'next/dist/compiled/webpack/webpack' +import { webpack, isWebpack5 } from 'next/dist/compiled/webpack/webpack' import MiniCssExtractPlugin from '../../../plugins/mini-css-extract-plugin' import { loader, plugin } from '../../helpers' import { ConfigurationContext, ConfigurationFn, pipe } from '../../utils' @@ -14,7 +14,7 @@ import { import { getPostCssPlugins } from './plugins' // RegExps for all Style Sheet variants -const regexLikeCss = /\.(css|scss|sass)$/ +const regexLikeCss = /\.(css|scss|sass)(\.webpack\[javascript\/auto\])?$/ // RegExps for Style Sheets const regexCssGlobal = /(?= 0) { - return resource.substring(0, idx) - } - - return resource - } - - updateCacheModule(module) { - this.content = module.content - this.media = module.media - this.sourceMap = module.sourceMap - } - - needRebuild() { - return true - } - - build(options, compilation, resolver, fileSystem, callback) { - this.buildInfo = {} - this.buildMeta = {} - callback() - } - - updateHash(hash, context) { - super.updateHash(hash, context) - hash.update(this.content) - hash.update(this.media || '') - hash.update(this.sourceMap ? JSON.stringify(this.sourceMap) : '') - } - } - - if (isWebpack5) { - // @ts-ignore TODO: remove ts-ignore when webpack 5 is stable - webpack.util.serialization.register( - CssModule, - 'next/dist/build/webpack/plugins/mini-css-extract-plugin/src/CssModule', - null, - { - serialize(obj, { write }) { - write(obj.context) - write(obj._identifier) - write(obj._identifierIndex) - write(obj.content) - write(obj.media) - write(obj.sourceMap) - }, - deserialize({ read }) { - const obj = new CssModule({ - context: read(), - identifier: read(), - identifierIndex: read(), - content: read(), - media: read(), - sourceMap: read(), - }) - - return obj - }, - } - ) - } -}) - -export { CssModule as default } diff --git a/packages/next/build/webpack/plugins/mini-css-extract-plugin/src/index.js b/packages/next/build/webpack/plugins/mini-css-extract-plugin/src/index.js deleted file mode 100644 index 5d2710702e3e2..0000000000000 --- a/packages/next/build/webpack/plugins/mini-css-extract-plugin/src/index.js +++ /dev/null @@ -1,576 +0,0 @@ -/* eslint-disable class-methods-use-this */ - -import { - webpack, - isWebpack5, - onWebpackInit, - sources, -} from 'next/dist/compiled/webpack/webpack' - -import CssDependency from './CssDependency' -import CssModule from './CssModule' - -// Destructurings of live bindings must register for updates -let ConcatSource, SourceMapSource, OriginalSource, Template, createHash -onWebpackInit(function () { - ;({ ConcatSource, SourceMapSource, OriginalSource } = sources) - ;({ - Template, - util: { createHash }, - } = webpack) -}) - -const MODULE_TYPE = 'css/mini-extract' - -const pluginName = 'mini-css-extract-plugin' - -const REGEXP_CHUNKHASH = /\[chunkhash(?::(\d+))?\]/i -const REGEXP_CONTENTHASH = /\[contenthash(?::(\d+))?\]/i -const REGEXP_NAME = /\[name\]/i -const REGEXP_PLACEHOLDERS = /\[(name|id|chunkhash)\]/g -const DEFAULT_FILENAME = '[name].css' - -function getModulesIterable(compilation, chunk) { - if (isWebpack5) { - return compilation.chunkGraph.getChunkModulesIterable(chunk) - } - - return chunk.modulesIterable -} - -class CssDependencyTemplate { - apply() {} -} - -class CssModuleFactory { - create({ dependencies: [dependency] }, callback) { - callback(null, new CssModule(dependency)) - } -} - -class MiniCssExtractPlugin { - constructor(options = {}) { - this.options = Object.assign( - { - filename: DEFAULT_FILENAME, - moduleFilename: () => this.options.filename || DEFAULT_FILENAME, - ignoreOrder: false, - }, - options - ) - - if (!this.options.chunkFilename) { - const { filename } = this.options - - // Anything changing depending on chunk is fine - if (filename.match(REGEXP_PLACEHOLDERS)) { - this.options.chunkFilename = filename - } else { - // Elsewise prefix '[id].' in front of the basename to make it changing - this.options.chunkFilename = filename.replace( - /(^|\/)([^/]*(?:\?|$))/, - '$1[id].$2' - ) - } - } - } - - apply(compiler) { - compiler.hooks.thisCompilation.tap(pluginName, (compilation) => { - compilation.dependencyFactories.set(CssDependency, new CssModuleFactory()) - - compilation.dependencyTemplates.set( - CssDependency, - new CssDependencyTemplate() - ) - - const renderManifestFn = (result, { chunk }) => { - const renderedModules = Array.from( - getModulesIterable(compilation, chunk) - ).filter((module) => module.type === MODULE_TYPE) - - if (renderedModules.length > 0) { - result.push({ - render: () => - this.renderContentAsset( - compilation, - chunk, - renderedModules, - compilation.runtimeTemplate.requestShortener - ), - filenameTemplate: ({ chunk: chunkData }) => - this.options.moduleFilename(chunkData), - pathOptions: { - chunk, - contentHashType: MODULE_TYPE, - }, - identifier: `${pluginName}.${chunk.id}`, - hash: chunk.contentHash[MODULE_TYPE], - }) - } - } - - if (isWebpack5) { - compilation.hooks.renderManifest.tap(pluginName, renderManifestFn) - } else { - // In webpack 5 the 2 separate hooks are now one hook: `compilation.hooks.renderManifest` - // So we no longer have to double-apply the same function - compilation.mainTemplate.hooks.renderManifest.tap( - pluginName, - renderManifestFn - ) - compilation.chunkTemplate.hooks.renderManifest.tap( - pluginName, - renderManifestFn - ) - } - - const handleHashForChunk = (hash, chunk) => { - const { chunkFilename } = this.options - - if (REGEXP_CHUNKHASH.test(chunkFilename)) { - hash.update(JSON.stringify(chunk.getChunkMaps(true).hash)) - } - - if (REGEXP_CONTENTHASH.test(chunkFilename)) { - hash.update( - JSON.stringify( - chunk.getChunkMaps(true).contentHash[MODULE_TYPE] || {} - ) - ) - } - - if (REGEXP_NAME.test(chunkFilename)) { - hash.update(JSON.stringify(chunk.getChunkMaps(true).name)) - } - } - if (isWebpack5) { - const JSModulesHooks = webpack.javascript.JavascriptModulesPlugin.getCompilationHooks( - compilation - ) - JSModulesHooks.chunkHash.tap(pluginName, (chunk, hash) => { - if (!chunk.hasRuntime()) return - return handleHashForChunk(hash, chunk) - }) - } else { - compilation.mainTemplate.hooks.hashForChunk.tap( - pluginName, - handleHashForChunk - ) - } - - compilation.hooks.contentHash.tap(pluginName, (chunk) => { - const { outputOptions } = compilation - const { hashFunction, hashDigest, hashDigestLength } = outputOptions - const hash = createHash(hashFunction) - - const modules = getModulesIterable(compilation, chunk) - - if (modules) { - if (isWebpack5) { - const xor = new (require('next/dist/compiled/webpack/webpack').StringXor)() - for (const m of modules) { - if (m.type === MODULE_TYPE) { - xor.add(compilation.chunkGraph.getModuleHash(m, chunk.runtime)) - } - } - xor.updateHash(hash) - } else { - for (const m of modules) { - if (m.type === MODULE_TYPE) { - m.updateHash(hash) - } - } - } - } - - const { contentHash } = chunk - - contentHash[MODULE_TYPE] = hash - .digest(hashDigest) - .substring(0, hashDigestLength) - }) - - const { mainTemplate } = compilation - - mainTemplate.hooks.localVars.tap(pluginName, (source, chunk) => { - const chunkMap = this.getCssChunkObject(compilation, chunk) - - if (Object.keys(chunkMap).length > 0) { - return Template.asString([ - source, - '', - '// object to store loaded CSS chunks', - 'var installedCssChunks = {', - Template.indent( - chunk.ids.map((id) => `${JSON.stringify(id)}: 0`).join(',\n') - ), - '};', - ]) - } - - return source - }) - - mainTemplate.hooks.requireEnsure.tap( - pluginName, - (source, chunk, hash) => { - const chunkMap = this.getCssChunkObject(compilation, chunk) - - if (Object.keys(chunkMap).length > 0) { - const chunkMaps = chunk.getChunkMaps() - const { crossOriginLoading } = isWebpack5 - ? compilation.outputOptions - : mainTemplate.outputOptions - - const getHash = !isWebpack5 - ? (...args) => mainTemplate.renderCurrentHashCode(...args) - : (curHash, length) => { - if (length) { - return `${webpack.RuntimeGlobals.getFullHash} ? ${ - webpack.RuntimeGlobals.getFullHash - }().slice(0, ${length}) : ${curHash.slice(0, length)}` - } - return `${webpack.RuntimeGlobals.getFullHash} ? ${webpack.RuntimeGlobals.getFullHash}() : ${curHash}` - } - - const getAssetPath = isWebpack5 - ? (...args) => compilation.getAssetPath(...args) - : (...args) => mainTemplate.getAssetPath(...args) - - const linkHrefPath = getAssetPath( - JSON.stringify(this.options.chunkFilename), - { - hash: `" + ${getHash(hash)} + "`, - hashWithLength: (length) => `" + ${getHash(hash, length)} + "`, - chunk: { - id: '" + chunkId + "', - hash: `" + ${JSON.stringify(chunkMaps.hash)}[chunkId] + "`, - hashWithLength(length) { - const shortChunkHashMap = Object.create(null) - - for (const chunkId of Object.keys(chunkMaps.hash)) { - if (typeof chunkMaps.hash[chunkId] === 'string') { - shortChunkHashMap[chunkId] = chunkMaps.hash[ - chunkId - ].substring(0, length) - } - } - - return `" + ${JSON.stringify( - shortChunkHashMap - )}[chunkId] + "` - }, - contentHash: { - [MODULE_TYPE]: `" + ${JSON.stringify( - chunkMaps.contentHash[MODULE_TYPE] - )}[chunkId] + "`, - }, - contentHashWithLength: { - [MODULE_TYPE]: (length) => { - const shortContentHashMap = {} - const contentHash = chunkMaps.contentHash[MODULE_TYPE] - - for (const chunkId of Object.keys(contentHash)) { - if (typeof contentHash[chunkId] === 'string') { - shortContentHashMap[chunkId] = contentHash[ - chunkId - ].substring(0, length) - } - } - - return `" + ${JSON.stringify( - shortContentHashMap - )}[chunkId] + "` - }, - }, - name: `" + (${JSON.stringify( - chunkMaps.name - )}[chunkId]||chunkId) + "`, - }, - contentHashType: MODULE_TYPE, - } - ) - - return Template.asString([ - source, - '', - `// ${pluginName} CSS loading`, - `var cssChunks = ${JSON.stringify(chunkMap)};`, - 'if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);', - 'else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {', - Template.indent([ - 'promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {', - Template.indent([ - `var href = ${linkHrefPath};`, - `var fullhref = ${ - isWebpack5 ? '__webpack_require__' : mainTemplate.requireFn - }.p + href;`, - 'var existingLinkTags = document.getElementsByTagName("link");', - 'for(var i = 0; i < existingLinkTags.length; i++) {', - Template.indent([ - 'var tag = existingLinkTags[i];', - 'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");', - 'if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve();', - ]), - '}', - 'var existingStyleTags = document.getElementsByTagName("style");', - 'for(var i = 0; i < existingStyleTags.length; i++) {', - Template.indent([ - 'var tag = existingStyleTags[i];', - 'var dataHref = tag.getAttribute("data-href");', - 'if(dataHref === href || dataHref === fullhref) return resolve();', - ]), - '}', - 'var linkTag = document.createElement("link");', - 'linkTag.rel = "stylesheet";', - 'linkTag.type = "text/css";', - 'linkTag.onload = resolve;', - 'linkTag.onerror = function(event) {', - Template.indent([ - 'var request = event && event.target && event.target.src || fullhref;', - 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");', - 'err.code = "CSS_CHUNK_LOAD_FAILED";', - 'err.request = request;', - 'delete installedCssChunks[chunkId]', - 'linkTag.parentNode.removeChild(linkTag)', - 'reject(err);', - ]), - '};', - 'linkTag.href = fullhref;', - crossOriginLoading - ? Template.asString([ - `if (linkTag.href.indexOf(window.location.origin + '/') !== 0) {`, - Template.indent( - `linkTag.crossOrigin = ${JSON.stringify( - crossOriginLoading - )};` - ), - '}', - ]) - : '', - 'var head = document.getElementsByTagName("head")[0];', - 'head.appendChild(linkTag);', - ]), - '}).then(function() {', - Template.indent(['installedCssChunks[chunkId] = 0;']), - '}));', - ]), - '}', - ]) - } - - return source - } - ) - }) - } - - getCssChunkObject(compilation, mainChunk) { - const obj = {} - - for (const chunk of mainChunk.getAllAsyncChunks()) { - for (const module of getModulesIterable(compilation, chunk)) { - if (module.type === MODULE_TYPE) { - obj[chunk.id] = 1 - break - } - } - } - - return obj - } - - renderContentAsset(compilation, chunk, modules, requestShortener) { - let usedModules - - const [chunkGroup] = chunk.groupsIterable - - const getModulePostOrderIndex = - chunkGroup.getModulePostOrderIndex || chunkGroup.getModuleIndex2 - if (typeof getModulePostOrderIndex === 'function') { - // Store dependencies for modules - const moduleDependencies = new Map(modules.map((m) => [m, new Set()])) - const moduleDependenciesReasons = new Map( - modules.map((m) => [m, new Map()]) - ) - - // Get ordered list of modules per chunk group - // This loop also gathers dependencies from the ordered lists - // Lists are in reverse order to allow to use Array.pop() - const modulesByChunkGroup = Array.from(chunk.groupsIterable, (cg) => { - const sortedModules = modules - .map((m) => { - return { - module: m, - index: isWebpack5 - ? cg.getModulePostOrderIndex(m) - : cg.getModuleIndex2(m), - } - }) - // eslint-disable-next-line no-undefined - .filter((item) => item.index !== undefined) - .sort((a, b) => b.index - a.index) - .map((item) => item.module) - - for (let i = 0; i < sortedModules.length; i++) { - const set = moduleDependencies.get(sortedModules[i]) - const reasons = moduleDependenciesReasons.get(sortedModules[i]) - - for (let j = i + 1; j < sortedModules.length; j++) { - const module = sortedModules[j] - set.add(module) - const reason = reasons.get(module) || new Set() - reason.add(cg) - reasons.set(module, reason) - } - } - - return sortedModules - }) - - // set with already included modules in correct order - usedModules = new Set() - - const unusedModulesFilter = (m) => !usedModules.has(m) - - while (usedModules.size < modules.length) { - let success = false - let bestMatch - let bestMatchDeps - - // get first module where dependencies are fulfilled - for (const list of modulesByChunkGroup) { - // skip and remove already added modules - while (list.length > 0 && usedModules.has(list[list.length - 1])) { - list.pop() - } - - // skip empty lists - if (list.length !== 0) { - const module = list[list.length - 1] - const deps = moduleDependencies.get(module) - // determine dependencies that are not yet included - const failedDeps = Array.from(deps).filter(unusedModulesFilter) - - // store best match for fallback behavior - if (!bestMatchDeps || bestMatchDeps.length > failedDeps.length) { - bestMatch = list - bestMatchDeps = failedDeps - } - - if (failedDeps.length === 0) { - // use this module and remove it from list - usedModules.add(list.pop()) - success = true - break - } - } - } - - if (!success) { - // no module found => there is a conflict - // use list with fewest failed deps - // and emit a warning - const fallbackModule = bestMatch.pop() - - if (!this.options.ignoreOrder) { - const reasons = moduleDependenciesReasons.get(fallbackModule) - compilation.warnings.push( - new Error( - [ - `chunk ${chunk.name || chunk.id} [${pluginName}]`, - 'Conflicting order. Following module has been added:', - ` * ${fallbackModule.readableIdentifier(requestShortener)}`, - 'despite it was not able to fulfill desired ordering with these modules:', - ...bestMatchDeps.map((m) => { - const goodReasonsMap = moduleDependenciesReasons.get(m) - const goodReasons = - goodReasonsMap && goodReasonsMap.get(fallbackModule) - const failedChunkGroups = Array.from( - reasons.get(m), - (cg) => cg.name - ).join(', ') - const goodChunkGroups = - goodReasons && - Array.from(goodReasons, (cg) => cg.name).join(', ') - return [ - ` * ${m.readableIdentifier(requestShortener)}`, - ` - couldn't fulfill desired order of chunk group(s) ${failedChunkGroups}`, - goodChunkGroups && - ` - while fulfilling desired order of chunk group(s) ${goodChunkGroups}`, - ] - .filter(Boolean) - .join('\n') - }), - ].join('\n') - ) - ) - } - - usedModules.add(fallbackModule) - } - } - } else { - // fallback for older webpack versions - // (to avoid a breaking change) - // TODO remove this in next major version - // and increase minimum webpack version to 4.12.0 - modules.sort((a, b) => a.index2 - b.index2) - usedModules = modules - } - - const source = new ConcatSource() - const externalsSource = new ConcatSource() - - for (const m of usedModules) { - if (/^@import url/.test(m.content)) { - // HACK for IE - // http://stackoverflow.com/a/14676665/1458162 - let { content } = m - - if (m.media) { - // insert media into the @import - // this is rar - // TODO improve this and parse the CSS to support multiple medias - content = content.replace(/;|\s*$/, m.media) - } - - externalsSource.add(content) - externalsSource.add('\n') - } else { - if (m.media) { - source.add(`@media ${m.media} {\n`) - } - - if (m.sourceMap) { - source.add( - new SourceMapSource( - m.content, - m.readableIdentifier(requestShortener), - m.sourceMap - ) - ) - } else { - source.add( - new OriginalSource( - m.content, - m.readableIdentifier(requestShortener) - ) - ) - } - source.add('\n') - - if (m.media) { - source.add('}\n') - } - } - } - - return new ConcatSource(externalsSource, source) - } -} - -MiniCssExtractPlugin.loader = require.resolve('./loader') - -export default MiniCssExtractPlugin diff --git a/packages/next/build/webpack/plugins/mini-css-extract-plugin/src/loader.js b/packages/next/build/webpack/plugins/mini-css-extract-plugin/src/loader.js deleted file mode 100644 index 302ba3ddc60a1..0000000000000 --- a/packages/next/build/webpack/plugins/mini-css-extract-plugin/src/loader.js +++ /dev/null @@ -1,237 +0,0 @@ -import NativeModule from 'module' - -import loaderUtils from 'next/dist/compiled/loader-utils' -import { - webpack, - isWebpack5, - NodeTargetPlugin, -} from 'next/dist/compiled/webpack/webpack' - -import CssDependency from './CssDependency' - -const pluginName = 'mini-css-extract-plugin' - -function evalModuleCode(loaderContext, code, filename) { - const module = new NativeModule(filename, loaderContext) - - module.paths = NativeModule._nodeModulePaths(loaderContext.context) // eslint-disable-line no-underscore-dangle - module.filename = filename - module._compile(code, filename) // eslint-disable-line no-underscore-dangle - - return module.exports -} - -function getModuleId(compilation, module) { - if (isWebpack5) { - return compilation.chunkGraph.getModuleId(module) - } - - return module.id -} - -function findModuleById(compilation, id) { - for (const module of compilation.modules) { - if (getModuleId(compilation, module) === id) { - return module - } - } - - return null -} - -export function pitch(request) { - const options = loaderUtils.getOptions(this) || {} - - const loaders = this.loaders.slice(this.loaderIndex + 1) - - this.addDependency(this.resourcePath) - - const childFilename = '*' - const publicPath = - typeof options.publicPath === 'string' - ? options.publicPath === '' || options.publicPath.endsWith('/') - ? options.publicPath - : `${options.publicPath}/` - : typeof options.publicPath === 'function' - ? options.publicPath(this.resourcePath, this.rootContext) - : this._compilation.outputOptions.publicPath - const outputOptions = { - filename: childFilename, - publicPath, - library: { - type: 'commonjs2', - name: null, - }, - } - const childCompiler = this._compilation.createChildCompiler( - `${pluginName} ${request}`, - outputOptions - ) - - new webpack.node.NodeTemplatePlugin(outputOptions).apply(childCompiler) - if (isWebpack5) { - new webpack.library.EnableLibraryPlugin(outputOptions.library.type).apply( - childCompiler - ) - } else { - new webpack.LibraryTemplatePlugin(null, 'commonjs2').apply(childCompiler) - } - new NodeTargetPlugin().apply(childCompiler) - new (isWebpack5 ? webpack.EntryPlugin : webpack.SingleEntryPlugin)( - this.context, - `!!${request}`, - pluginName - ).apply(childCompiler) - new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }).apply( - childCompiler - ) - - let source - - childCompiler.hooks.thisCompilation.tap( - `${pluginName} loader`, - (compilation) => { - const hook = isWebpack5 - ? webpack.NormalModule.getCompilationHooks(compilation).loader - : compilation.hooks.normalModuleLoader - hook.tap(`${pluginName} loader`, (loaderContext, module) => { - // eslint-disable-next-line no-param-reassign - loaderContext.emitFile = this.emitFile - - if (module.request === request) { - // eslint-disable-next-line no-param-reassign - module.loaders = loaders.map((loader) => { - return { - loader: loader.path, - options: loader.options, - ident: loader.ident, - } - }) - } - }) - - if (isWebpack5) { - compilation.hooks.processAssets.tap( - { - name: pluginName, - // @ts-ignore TODO: Remove ignore when webpack 5 is stable - stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL, - }, - (assets) => { - source = assets[childFilename] && assets[childFilename].source() - - // Remove all chunk assets - Object.keys(assets).forEach((file) => delete assets[file]) - } - ) - } - } - ) - - // webpack 5 case is covered in hooks.thisCompilation above - if (!isWebpack5) { - childCompiler.hooks.afterCompile.tap(pluginName, (compilation) => { - source = - compilation.assets[childFilename] && - compilation.assets[childFilename].source() - - // Remove all chunk assets - compilation.chunks.forEach((chunk) => { - chunk.files.forEach((file) => { - delete compilation.assets[file] // eslint-disable-line no-param-reassign - }) - }) - }) - } - - const callback = this.async() - - childCompiler.runAsChild((err, entries, compilation) => { - const addDependencies = (dependencies) => { - if (!Array.isArray(dependencies) && dependencies != null) { - throw new Error( - `Exported value was not extracted as an array: ${JSON.stringify( - dependencies - )}` - ) - } - - const identifierCountMap = new Map() - - for (const dependency of dependencies) { - const count = identifierCountMap.get(dependency.identifier) || 0 - - this._module.addDependency( - new CssDependency(dependency, dependency.context, count) - ) - identifierCountMap.set(dependency.identifier, count + 1) - } - } - - if (err) { - return callback(err) - } - - if (compilation.errors.length > 0) { - return callback(compilation.errors[0]) - } - - compilation.fileDependencies.forEach((dep) => { - this.addDependency(dep) - }, this) - - compilation.contextDependencies.forEach((dep) => { - this.addContextDependency(dep) - }, this) - - if (!source) { - return callback(new Error("Didn't get a result from child compiler")) - } - - let locals - - try { - let dependencies - let exports = evalModuleCode(this, source, request) - // eslint-disable-next-line no-underscore-dangle - exports = exports.__esModule ? exports.default : exports - locals = exports && exports.locals - if (!Array.isArray(exports)) { - dependencies = [[null, exports]] - } else { - dependencies = exports.map(([id, content, media, sourceMap]) => { - const module = findModuleById(compilation, id) - - return { - identifier: module.identifier(), - context: module.context, - content, - media, - sourceMap, - } - }) - } - addDependencies(dependencies) - } catch (e) { - return callback(e) - } - - const esModule = - typeof options.esModule !== 'undefined' ? options.esModule : false - const result = locals - ? `\n${esModule ? 'export default' : 'module.exports ='} ${JSON.stringify( - locals - )};` - : esModule - ? `\nexport {};` - : '' - - let resultSource = `// extracted by ${pluginName}` - - resultSource += result - - return callback(null, resultSource) - }) -} - -export default function () {} diff --git a/packages/next/bundles/webpack/bundle4.js b/packages/next/bundles/webpack/bundle4.js index 429603fbc0b70..7dab2ffb65dfc 100644 --- a/packages/next/bundles/webpack/bundle4.js +++ b/packages/next/bundles/webpack/bundle4.js @@ -7,6 +7,14 @@ module.exports = function () { NodeTargetPlugin: require('webpack/lib/node/NodeTargetPlugin'), ModuleFilenameHelpers: require('webpack/lib/ModuleFilenameHelpers'), GraphHelpers: require('webpack/lib/GraphHelpers'), + Module: require('webpack/lib/Module'), + NormalModule: require('webpack/lib/NormalModule'), + Dependency: require('webpack/lib/Dependency'), + LibraryTemplatePlugin: require('webpack/lib/LibraryTemplatePlugin'), + SingleEntryPlugin: require('webpack/lib/SingleEntryPlugin'), + node: require('webpack').node, + util: require('webpack').util, + optimize: require('webpack').optimize, sources: require('webpack-sources'), webpack: require('webpack'), package: { diff --git a/packages/next/bundles/webpack/bundle5.js b/packages/next/bundles/webpack/bundle5.js index 54c46ab6be45a..b67d6ee24c5b5 100644 --- a/packages/next/bundles/webpack/bundle5.js +++ b/packages/next/bundles/webpack/bundle5.js @@ -6,6 +6,7 @@ module.exports = function () { ModuleFilenameHelpers: require('webpack5/lib/ModuleFilenameHelpers'), NodeTargetPlugin: require('webpack5/lib/node/NodeTargetPlugin'), StringXor: require('webpack5/lib/util/StringXor'), + NormalModule: require('webpack/lib/NormalModule'), sources: require('webpack5').sources, webpack: require('webpack5'), } diff --git a/packages/next/bundles/webpack/packages/NormalModule.js b/packages/next/bundles/webpack/packages/NormalModule.js new file mode 100644 index 0000000000000..b14be58aa5e2c --- /dev/null +++ b/packages/next/bundles/webpack/packages/NormalModule.js @@ -0,0 +1 @@ +module.exports = require('./webpack.js').NormalModule diff --git a/packages/next/client/dev/error-overlay/format-webpack-messages.js b/packages/next/client/dev/error-overlay/format-webpack-messages.js index 2d7a4d292d4d0..27885ae8ac914 100644 --- a/packages/next/client/dev/error-overlay/format-webpack-messages.js +++ b/packages/next/client/dev/error-overlay/format-webpack-messages.js @@ -21,13 +21,14 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +import stripAnsi from 'next/dist/compiled/strip-ansi' // This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js // It's been edited to remove chalk and CRA-specific logic const friendlySyntaxErrorLabel = 'Syntax error:' function isLikelyASyntaxError(message) { - return message.indexOf(friendlySyntaxErrorLabel) !== -1 + return stripAnsi(message).indexOf(friendlySyntaxErrorLabel) !== -1 } // Cleans up webpack error messages. @@ -35,8 +36,8 @@ function formatMessage(message) { // TODO: Replace this once webpack 5 is stable if (typeof message === 'object' && message.message) { message = - (message.moduleName ? message.moduleName + '\n' : '') + - (message.file ? message.file + '\n' : '') + + (message.moduleName ? stripAnsi(message.moduleName) + '\n' : '') + + (message.file ? stripAnsi(message.file) + '\n' : '') + message.message } let lines = message.split('\n') @@ -84,7 +85,7 @@ function formatMessage(message) { lines.splice(1, 1) } // Clean up file name - lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, '$1') + lines[0] = lines[0].replace(/^(.*) \d+:\d+(?:-\d+)?$/, '$1') // Cleans up verbose "module not found" messages for files and packages. if (lines[1] && lines[1].indexOf('Module not found: ') === 0) { diff --git a/packages/next/compiled/loader-utils/index.js b/packages/next/compiled/loader-utils/index.js index 4dba335d85fe3..3caaa9fde30ee 100644 --- a/packages/next/compiled/loader-utils/index.js +++ b/packages/next/compiled/loader-utils/index.js @@ -1 +1 @@ -module.exports=(()=>{var t={774:function(t){(function(e){"use strict";var s,n=20,r=1,i=1e6,f=1e6,o=-7,u=21,c="[big.js] ",h=c+"Invalid ",g=h+"decimal places",p=h+"rounding mode",l=c+"Division by zero",a={},w=void 0,b=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function _Big_(){function Big(t){var e=this;if(!(e instanceof Big))return t===w?_Big_():new Big(t);if(t instanceof Big){e.s=t.s;e.e=t.e;e.c=t.c.slice()}else{parse(e,t)}e.constructor=Big}Big.prototype=a;Big.DP=n;Big.RM=r;Big.NE=o;Big.PE=u;Big.version="5.2.2";return Big}function parse(t,e){var s,n,r;if(e===0&&1/e<0)e="-0";else if(!b.test(e+=""))throw Error(h+"number");t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1;if((s=e.indexOf("."))>-1)e=e.replace(".","");if((n=e.search(/e/i))>0){if(s<0)s=n;s+=+e.slice(n+1);e=e.substring(0,n)}else if(s<0){s=e.length}r=e.length;for(n=0;n0&&e.charAt(--r)=="0";);t.e=s-n-1;t.c=[];for(s=0;n<=r;)t.c[s++]=+e.charAt(n++)}return t}function round(t,e,s,n){var r=t.c,i=t.e+e+1;if(i=5}else if(s===2){n=r[i]>5||r[i]==5&&(n||i<0||r[i+1]!==w||r[i-1]&1)}else if(s===3){n=n||!!r[0]}else{n=false;if(s!==0)throw Error(p)}if(i<1){r.length=1;if(n){t.e=-e;r[0]=1}else{r[0]=t.e=0}}else{r.length=i--;if(n){for(;++r[i]>9;){r[i]=0;if(!i--){++t.e;r.unshift(1)}}}for(i=r.length;!r[--i];)r.pop()}}else if(s<0||s>3||s!==~~s){throw Error(p)}return t}function stringify(t,e,s,n){var r,f,o=t.constructor,u=!t.c[0];if(s!==w){if(s!==~~s||s<(e==3)||s>i){throw Error(e==3?h+"precision":g)}t=new o(t);s=n-t.e;if(t.c.length>++n)round(t,s,o.RM);if(e==2)n=t.e+s+1;for(;t.c.length=o.PE)){f=f.charAt(0)+(s>1?"."+f.slice(1):"")+(r<0?"e":"e+")+r}else if(r<0){for(;++r;)f="0"+f;f="0."+f}else if(r>0){if(++r>s)for(r-=s;r--;)f+="0";else if(r1){f=f.charAt(0)+"."+f.slice(1)}return t.s<0&&(!u||e==4)?"-"+f:f}a.abs=function(){var t=new this.constructor(this);t.s=1;return t};a.cmp=function(t){var e,s=this,n=s.c,r=(t=new s.constructor(t)).c,i=s.s,f=t.s,o=s.e,u=t.e;if(!n[0]||!r[0])return!n[0]?!r[0]?0:-f:i;if(i!=f)return i;e=i<0;if(o!=u)return o>u^e?1:-1;f=(o=n.length)<(u=r.length)?o:u;for(i=-1;++ir[i]^e?1:-1}return o==u?0:o>u^e?1:-1};a.div=function(t){var e=this,s=e.constructor,n=e.c,r=(t=new s(t)).c,f=e.s==t.s?1:-1,o=s.DP;if(o!==~~o||o<0||o>i)throw Error(g);if(!r[0])throw Error(l);if(!n[0])return new s(f*0);var u,c,h,p,a,b=r.slice(),d=u=r.length,R=n.length,v=n.slice(0,u),_=v.length,q=t,P=q.c=[],j=0,y=o+(q.e=e.e-t.e)+1;q.s=f;f=y<0?0:y;b.unshift(0);for(;_++_?1:-1}else{for(a=-1,p=0;++av[a]?1:-1;break}}}if(p<0){for(c=_==u?r:b;_;){if(v[--_]y)round(q,o,s.RM,v[0]!==w);return q};a.eq=function(t){return!this.cmp(t)};a.gt=function(t){return this.cmp(t)>0};a.gte=function(t){return this.cmp(t)>-1};a.lt=function(t){return this.cmp(t)<0};a.lte=function(t){return this.cmp(t)<1};a.minus=a.sub=function(t){var e,s,n,r,i=this,f=i.constructor,o=i.s,u=(t=new f(t)).s;if(o!=u){t.s=-u;return i.plus(t)}var c=i.c.slice(),h=i.e,g=t.c,p=t.e;if(!c[0]||!g[0]){return g[0]?(t.s=-u,t):new f(c[0]?i:0)}if(o=h-p){if(r=o<0){o=-o;n=c}else{p=h;n=g}n.reverse();for(u=o;u--;)n.push(0);n.reverse()}else{s=((r=c.length0)for(;u--;)c[e++]=0;for(u=e;s>o;){if(c[--s]0){u=f;e=c}else{r=-r;e=o}e.reverse();for(;r--;)e.push(0);e.reverse()}if(o.length-c.length<0){e=c;c=o;o=e}r=c.length;for(i=0;r;o[r]%=10)i=(o[--r]=o[r]+c[r]+i)/10|0;if(i){o.unshift(i);++u}for(r=o.length;o[--r]===0;)o.pop();t.c=o;t.e=u;return t};a.pow=function(t){var e=this,s=new e.constructor(1),n=s,r=t<0;if(t!==~~t||t<-f||t>f)throw Error(h+"exponent");if(r)t=-t;for(;;){if(t&1)n=n.times(e);t>>=1;if(!t)break;e=e.times(e)}return r?s.div(n):n};a.round=function(t,e){var s=this.constructor;if(t===w)t=0;else if(t!==~~t||t<-i||t>i)throw Error(g);return round(new s(this),t,e===w?s.RM:e)};a.sqrt=function(){var t,e,s,n=this,r=n.constructor,i=n.s,f=n.e,o=new r(.5);if(!n.c[0])return new r(n);if(i<0)throw Error(c+"No square root");i=Math.sqrt(n+"");if(i===0||i===1/0){e=n.c.join("");if(!(e.length+f&1))e+="0";i=Math.sqrt(e);f=((f+1)/2|0)-(f<0||f&1);t=new r((i==1/0?"1e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+f)}else{t=new r(i)}f=t.e+(r.DP+=4);do{s=t;t=o.times(s.plus(n.div(s)))}while(s.c.slice(0,f).join("")!==t.c.slice(0,f).join(""));return round(t,r.DP-=4,r.RM)};a.times=a.mul=function(t){var e,s=this,n=s.constructor,r=s.c,i=(t=new n(t)).c,f=r.length,o=i.length,u=s.e,c=t.e;t.s=s.s==t.s?1:-1;if(!r[0]||!i[0])return new n(t.s*0);t.e=u+c;if(fu;){o=e[c]+i[u]*r[c-u-1]+o;e[c--]=o%10;o=o/10|0}e[c]=(e[c]+o)%10}if(o)++t.e;else e.shift();for(u=e.length;!e[--u];)e.pop();t.c=e;return t};a.toExponential=function(t){return stringify(this,1,t,t)};a.toFixed=function(t){return stringify(this,2,t,this.e+t)};a.toPrecision=function(t){return stringify(this,3,t,t-1)};a.toString=function(){return stringify(this)};a.valueOf=a.toJSON=function(){return stringify(this,4)};s=_Big_();s["default"]=s.Big=s;if(typeof define==="function"&&define.amd){define(function(){return s})}else if(true&&t.exports){t.exports=s}else{e.Big=s}})(this)},999:t=>{t.exports=["๐Ÿ€„๏ธ","๐Ÿƒ","๐Ÿ…ฐ๏ธ","๐Ÿ…ฑ๏ธ","๐Ÿ…พ๏ธ","๐Ÿ…ฟ๏ธ","๐Ÿ†Ž","๐Ÿ†‘","๐Ÿ†’","๐Ÿ†“","๐Ÿ†”","๐Ÿ†•","๐Ÿ†–","๐Ÿ†—","๐Ÿ†˜","๐Ÿ†™","๐Ÿ†š","๐Ÿ‡ฆ๐Ÿ‡จ","๐Ÿ‡ฆ๐Ÿ‡ฉ","๐Ÿ‡ฆ๐Ÿ‡ช","๐Ÿ‡ฆ๐Ÿ‡ซ","๐Ÿ‡ฆ๐Ÿ‡ฌ","๐Ÿ‡ฆ๐Ÿ‡ฎ","๐Ÿ‡ฆ๐Ÿ‡ฑ","๐Ÿ‡ฆ๐Ÿ‡ฒ","๐Ÿ‡ฆ๐Ÿ‡ด","๐Ÿ‡ฆ๐Ÿ‡ถ","๐Ÿ‡ฆ๐Ÿ‡ท","๐Ÿ‡ฆ๐Ÿ‡ธ","๐Ÿ‡ฆ๐Ÿ‡น","๐Ÿ‡ฆ๐Ÿ‡บ","๐Ÿ‡ฆ๐Ÿ‡ผ","๐Ÿ‡ฆ๐Ÿ‡ฝ","๐Ÿ‡ฆ๐Ÿ‡ฟ","๐Ÿ‡ฆ","๐Ÿ‡ง๐Ÿ‡ฆ","๐Ÿ‡ง๐Ÿ‡ง","๐Ÿ‡ง๐Ÿ‡ฉ","๐Ÿ‡ง๐Ÿ‡ช","๐Ÿ‡ง๐Ÿ‡ซ","๐Ÿ‡ง๐Ÿ‡ฌ","๐Ÿ‡ง๐Ÿ‡ญ","๐Ÿ‡ง๐Ÿ‡ฎ","๐Ÿ‡ง๐Ÿ‡ฏ","๐Ÿ‡ง๐Ÿ‡ฑ","๐Ÿ‡ง๐Ÿ‡ฒ","๐Ÿ‡ง๐Ÿ‡ณ","๐Ÿ‡ง๐Ÿ‡ด","๐Ÿ‡ง๐Ÿ‡ถ","๐Ÿ‡ง๐Ÿ‡ท","๐Ÿ‡ง๐Ÿ‡ธ","๐Ÿ‡ง๐Ÿ‡น","๐Ÿ‡ง๐Ÿ‡ป","๐Ÿ‡ง๐Ÿ‡ผ","๐Ÿ‡ง๐Ÿ‡พ","๐Ÿ‡ง๐Ÿ‡ฟ","๐Ÿ‡ง","๐Ÿ‡จ๐Ÿ‡ฆ","๐Ÿ‡จ๐Ÿ‡จ","๐Ÿ‡จ๐Ÿ‡ฉ","๐Ÿ‡จ๐Ÿ‡ซ","๐Ÿ‡จ๐Ÿ‡ฌ","๐Ÿ‡จ๐Ÿ‡ญ","๐Ÿ‡จ๐Ÿ‡ฎ","๐Ÿ‡จ๐Ÿ‡ฐ","๐Ÿ‡จ๐Ÿ‡ฑ","๐Ÿ‡จ๐Ÿ‡ฒ","๐Ÿ‡จ๐Ÿ‡ณ","๐Ÿ‡จ๐Ÿ‡ด","๐Ÿ‡จ๐Ÿ‡ต","๐Ÿ‡จ๐Ÿ‡ท","๐Ÿ‡จ๐Ÿ‡บ","๐Ÿ‡จ๐Ÿ‡ป","๐Ÿ‡จ๐Ÿ‡ผ","๐Ÿ‡จ๐Ÿ‡ฝ","๐Ÿ‡จ๐Ÿ‡พ","๐Ÿ‡จ๐Ÿ‡ฟ","๐Ÿ‡จ","๐Ÿ‡ฉ๐Ÿ‡ช","๐Ÿ‡ฉ๐Ÿ‡ฌ","๐Ÿ‡ฉ๐Ÿ‡ฏ","๐Ÿ‡ฉ๐Ÿ‡ฐ","๐Ÿ‡ฉ๐Ÿ‡ฒ","๐Ÿ‡ฉ๐Ÿ‡ด","๐Ÿ‡ฉ๐Ÿ‡ฟ","๐Ÿ‡ฉ","๐Ÿ‡ช๐Ÿ‡ฆ","๐Ÿ‡ช๐Ÿ‡จ","๐Ÿ‡ช๐Ÿ‡ช","๐Ÿ‡ช๐Ÿ‡ฌ","๐Ÿ‡ช๐Ÿ‡ญ","๐Ÿ‡ช๐Ÿ‡ท","๐Ÿ‡ช๐Ÿ‡ธ","๐Ÿ‡ช๐Ÿ‡น","๐Ÿ‡ช๐Ÿ‡บ","๐Ÿ‡ช","๐Ÿ‡ซ๐Ÿ‡ฎ","๐Ÿ‡ซ๐Ÿ‡ฏ","๐Ÿ‡ซ๐Ÿ‡ฐ","๐Ÿ‡ซ๐Ÿ‡ฒ","๐Ÿ‡ซ๐Ÿ‡ด","๐Ÿ‡ซ๐Ÿ‡ท","๐Ÿ‡ซ","๐Ÿ‡ฌ๐Ÿ‡ฆ","๐Ÿ‡ฌ๐Ÿ‡ง","๐Ÿ‡ฌ๐Ÿ‡ฉ","๐Ÿ‡ฌ๐Ÿ‡ช","๐Ÿ‡ฌ๐Ÿ‡ซ","๐Ÿ‡ฌ๐Ÿ‡ฌ","๐Ÿ‡ฌ๐Ÿ‡ญ","๐Ÿ‡ฌ๐Ÿ‡ฎ","๐Ÿ‡ฌ๐Ÿ‡ฑ","๐Ÿ‡ฌ๐Ÿ‡ฒ","๐Ÿ‡ฌ๐Ÿ‡ณ","๐Ÿ‡ฌ๐Ÿ‡ต","๐Ÿ‡ฌ๐Ÿ‡ถ","๐Ÿ‡ฌ๐Ÿ‡ท","๐Ÿ‡ฌ๐Ÿ‡ธ","๐Ÿ‡ฌ๐Ÿ‡น","๐Ÿ‡ฌ๐Ÿ‡บ","๐Ÿ‡ฌ๐Ÿ‡ผ","๐Ÿ‡ฌ๐Ÿ‡พ","๐Ÿ‡ฌ","๐Ÿ‡ญ๐Ÿ‡ฐ","๐Ÿ‡ญ๐Ÿ‡ฒ","๐Ÿ‡ญ๐Ÿ‡ณ","๐Ÿ‡ญ๐Ÿ‡ท","๐Ÿ‡ญ๐Ÿ‡น","๐Ÿ‡ญ๐Ÿ‡บ","๐Ÿ‡ญ","๐Ÿ‡ฎ๐Ÿ‡จ","๐Ÿ‡ฎ๐Ÿ‡ฉ","๐Ÿ‡ฎ๐Ÿ‡ช","๐Ÿ‡ฎ๐Ÿ‡ฑ","๐Ÿ‡ฎ๐Ÿ‡ฒ","๐Ÿ‡ฎ๐Ÿ‡ณ","๐Ÿ‡ฎ๐Ÿ‡ด","๐Ÿ‡ฎ๐Ÿ‡ถ","๐Ÿ‡ฎ๐Ÿ‡ท","๐Ÿ‡ฎ๐Ÿ‡ธ","๐Ÿ‡ฎ๐Ÿ‡น","๐Ÿ‡ฎ","๐Ÿ‡ฏ๐Ÿ‡ช","๐Ÿ‡ฏ๐Ÿ‡ฒ","๐Ÿ‡ฏ๐Ÿ‡ด","๐Ÿ‡ฏ๐Ÿ‡ต","๐Ÿ‡ฏ","๐Ÿ‡ฐ๐Ÿ‡ช","๐Ÿ‡ฐ๐Ÿ‡ฌ","๐Ÿ‡ฐ๐Ÿ‡ญ","๐Ÿ‡ฐ๐Ÿ‡ฎ","๐Ÿ‡ฐ๐Ÿ‡ฒ","๐Ÿ‡ฐ๐Ÿ‡ณ","๐Ÿ‡ฐ๐Ÿ‡ต","๐Ÿ‡ฐ๐Ÿ‡ท","๐Ÿ‡ฐ๐Ÿ‡ผ","๐Ÿ‡ฐ๐Ÿ‡พ","๐Ÿ‡ฐ๐Ÿ‡ฟ","๐Ÿ‡ฐ","๐Ÿ‡ฑ๐Ÿ‡ฆ","๐Ÿ‡ฑ๐Ÿ‡ง","๐Ÿ‡ฑ๐Ÿ‡จ","๐Ÿ‡ฑ๐Ÿ‡ฎ","๐Ÿ‡ฑ๐Ÿ‡ฐ","๐Ÿ‡ฑ๐Ÿ‡ท","๐Ÿ‡ฑ๐Ÿ‡ธ","๐Ÿ‡ฑ๐Ÿ‡น","๐Ÿ‡ฑ๐Ÿ‡บ","๐Ÿ‡ฑ๐Ÿ‡ป","๐Ÿ‡ฑ๐Ÿ‡พ","๐Ÿ‡ฑ","๐Ÿ‡ฒ๐Ÿ‡ฆ","๐Ÿ‡ฒ๐Ÿ‡จ","๐Ÿ‡ฒ๐Ÿ‡ฉ","๐Ÿ‡ฒ๐Ÿ‡ช","๐Ÿ‡ฒ๐Ÿ‡ซ","๐Ÿ‡ฒ๐Ÿ‡ฌ","๐Ÿ‡ฒ๐Ÿ‡ญ","๐Ÿ‡ฒ๐Ÿ‡ฐ","๐Ÿ‡ฒ๐Ÿ‡ฑ","๐Ÿ‡ฒ๐Ÿ‡ฒ","๐Ÿ‡ฒ๐Ÿ‡ณ","๐Ÿ‡ฒ๐Ÿ‡ด","๐Ÿ‡ฒ๐Ÿ‡ต","๐Ÿ‡ฒ๐Ÿ‡ถ","๐Ÿ‡ฒ๐Ÿ‡ท","๐Ÿ‡ฒ๐Ÿ‡ธ","๐Ÿ‡ฒ๐Ÿ‡น","๐Ÿ‡ฒ๐Ÿ‡บ","๐Ÿ‡ฒ๐Ÿ‡ป","๐Ÿ‡ฒ๐Ÿ‡ผ","๐Ÿ‡ฒ๐Ÿ‡ฝ","๐Ÿ‡ฒ๐Ÿ‡พ","๐Ÿ‡ฒ๐Ÿ‡ฟ","๐Ÿ‡ฒ","๐Ÿ‡ณ๐Ÿ‡ฆ","๐Ÿ‡ณ๐Ÿ‡จ","๐Ÿ‡ณ๐Ÿ‡ช","๐Ÿ‡ณ๐Ÿ‡ซ","๐Ÿ‡ณ๐Ÿ‡ฌ","๐Ÿ‡ณ๐Ÿ‡ฎ","๐Ÿ‡ณ๐Ÿ‡ฑ","๐Ÿ‡ณ๐Ÿ‡ด","๐Ÿ‡ณ๐Ÿ‡ต","๐Ÿ‡ณ๐Ÿ‡ท","๐Ÿ‡ณ๐Ÿ‡บ","๐Ÿ‡ณ๐Ÿ‡ฟ","๐Ÿ‡ณ","๐Ÿ‡ด๐Ÿ‡ฒ","๐Ÿ‡ด","๐Ÿ‡ต๐Ÿ‡ฆ","๐Ÿ‡ต๐Ÿ‡ช","๐Ÿ‡ต๐Ÿ‡ซ","๐Ÿ‡ต๐Ÿ‡ฌ","๐Ÿ‡ต๐Ÿ‡ญ","๐Ÿ‡ต๐Ÿ‡ฐ","๐Ÿ‡ต๐Ÿ‡ฑ","๐Ÿ‡ต๐Ÿ‡ฒ","๐Ÿ‡ต๐Ÿ‡ณ","๐Ÿ‡ต๐Ÿ‡ท","๐Ÿ‡ต๐Ÿ‡ธ","๐Ÿ‡ต๐Ÿ‡น","๐Ÿ‡ต๐Ÿ‡ผ","๐Ÿ‡ต๐Ÿ‡พ","๐Ÿ‡ต","๐Ÿ‡ถ๐Ÿ‡ฆ","๐Ÿ‡ถ","๐Ÿ‡ท๐Ÿ‡ช","๐Ÿ‡ท๐Ÿ‡ด","๐Ÿ‡ท๐Ÿ‡ธ","๐Ÿ‡ท๐Ÿ‡บ","๐Ÿ‡ท๐Ÿ‡ผ","๐Ÿ‡ท","๐Ÿ‡ธ๐Ÿ‡ฆ","๐Ÿ‡ธ๐Ÿ‡ง","๐Ÿ‡ธ๐Ÿ‡จ","๐Ÿ‡ธ๐Ÿ‡ฉ","๐Ÿ‡ธ๐Ÿ‡ช","๐Ÿ‡ธ๐Ÿ‡ฌ","๐Ÿ‡ธ๐Ÿ‡ญ","๐Ÿ‡ธ๐Ÿ‡ฎ","๐Ÿ‡ธ๐Ÿ‡ฏ","๐Ÿ‡ธ๐Ÿ‡ฐ","๐Ÿ‡ธ๐Ÿ‡ฑ","๐Ÿ‡ธ๐Ÿ‡ฒ","๐Ÿ‡ธ๐Ÿ‡ณ","๐Ÿ‡ธ๐Ÿ‡ด","๐Ÿ‡ธ๐Ÿ‡ท","๐Ÿ‡ธ๐Ÿ‡ธ","๐Ÿ‡ธ๐Ÿ‡น","๐Ÿ‡ธ๐Ÿ‡ป","๐Ÿ‡ธ๐Ÿ‡ฝ","๐Ÿ‡ธ๐Ÿ‡พ","๐Ÿ‡ธ๐Ÿ‡ฟ","๐Ÿ‡ธ","๐Ÿ‡น๐Ÿ‡ฆ","๐Ÿ‡น๐Ÿ‡จ","๐Ÿ‡น๐Ÿ‡ฉ","๐Ÿ‡น๐Ÿ‡ซ","๐Ÿ‡น๐Ÿ‡ฌ","๐Ÿ‡น๐Ÿ‡ญ","๐Ÿ‡น๐Ÿ‡ฏ","๐Ÿ‡น๐Ÿ‡ฐ","๐Ÿ‡น๐Ÿ‡ฑ","๐Ÿ‡น๐Ÿ‡ฒ","๐Ÿ‡น๐Ÿ‡ณ","๐Ÿ‡น๐Ÿ‡ด","๐Ÿ‡น๐Ÿ‡ท","๐Ÿ‡น๐Ÿ‡น","๐Ÿ‡น๐Ÿ‡ป","๐Ÿ‡น๐Ÿ‡ผ","๐Ÿ‡น๐Ÿ‡ฟ","๐Ÿ‡น","๐Ÿ‡บ๐Ÿ‡ฆ","๐Ÿ‡บ๐Ÿ‡ฌ","๐Ÿ‡บ๐Ÿ‡ฒ","๐Ÿ‡บ๐Ÿ‡ณ","๐Ÿ‡บ๐Ÿ‡ธ","๐Ÿ‡บ๐Ÿ‡พ","๐Ÿ‡บ๐Ÿ‡ฟ","๐Ÿ‡บ","๐Ÿ‡ป๐Ÿ‡ฆ","๐Ÿ‡ป๐Ÿ‡จ","๐Ÿ‡ป๐Ÿ‡ช","๐Ÿ‡ป๐Ÿ‡ฌ","๐Ÿ‡ป๐Ÿ‡ฎ","๐Ÿ‡ป๐Ÿ‡ณ","๐Ÿ‡ป๐Ÿ‡บ","๐Ÿ‡ป","๐Ÿ‡ผ๐Ÿ‡ซ","๐Ÿ‡ผ๐Ÿ‡ธ","๐Ÿ‡ผ","๐Ÿ‡ฝ๐Ÿ‡ฐ","๐Ÿ‡ฝ","๐Ÿ‡พ๐Ÿ‡ช","๐Ÿ‡พ๐Ÿ‡น","๐Ÿ‡พ","๐Ÿ‡ฟ๐Ÿ‡ฆ","๐Ÿ‡ฟ๐Ÿ‡ฒ","๐Ÿ‡ฟ๐Ÿ‡ผ","๐Ÿ‡ฟ","๐Ÿˆ","๐Ÿˆ‚๏ธ","๐Ÿˆš๏ธ","๐Ÿˆฏ๏ธ","๐Ÿˆฒ","๐Ÿˆณ","๐Ÿˆด","๐Ÿˆต","๐Ÿˆถ","๐Ÿˆท๏ธ","๐Ÿˆธ","๐Ÿˆน","๐Ÿˆบ","๐Ÿ‰","๐Ÿ‰‘","๐ŸŒ€","๐ŸŒ","๐ŸŒ‚","๐ŸŒƒ","๐ŸŒ„","๐ŸŒ…","๐ŸŒ†","๐ŸŒ‡","๐ŸŒˆ","๐ŸŒ‰","๐ŸŒŠ","๐ŸŒ‹","๐ŸŒŒ","๐ŸŒ","๐ŸŒŽ","๐ŸŒ","๐ŸŒ","๐ŸŒ‘","๐ŸŒ’","๐ŸŒ“","๐ŸŒ”","๐ŸŒ•","๐ŸŒ–","๐ŸŒ—","๐ŸŒ˜","๐ŸŒ™","๐ŸŒš","๐ŸŒ›","๐ŸŒœ","๐ŸŒ","๐ŸŒž","๐ŸŒŸ","๐ŸŒ ","๐ŸŒก๏ธ","๐ŸŒค๏ธ","๐ŸŒฅ๏ธ","๐ŸŒฆ๏ธ","๐ŸŒง๏ธ","๐ŸŒจ๏ธ","๐ŸŒฉ๏ธ","๐ŸŒช๏ธ","๐ŸŒซ๏ธ","๐ŸŒฌ๏ธ","๐ŸŒญ","๐ŸŒฎ","๐ŸŒฏ","๐ŸŒฐ","๐ŸŒฑ","๐ŸŒฒ","๐ŸŒณ","๐ŸŒด","๐ŸŒต","๐ŸŒถ๏ธ","๐ŸŒท","๐ŸŒธ","๐ŸŒน","๐ŸŒบ","๐ŸŒป","๐ŸŒผ","๐ŸŒฝ","๐ŸŒพ","๐ŸŒฟ","๐Ÿ€","๐Ÿ","๐Ÿ‚","๐Ÿƒ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐Ÿ‡","๐Ÿˆ","๐Ÿ‰","๐ŸŠ","๐Ÿ‹","๐ŸŒ","๐Ÿ","๐ŸŽ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ”","๐Ÿ•","๐Ÿ–","๐Ÿ—","๐Ÿ˜","๐Ÿ™","๐Ÿš","๐Ÿ›","๐Ÿœ","๐Ÿ","๐Ÿž","๐ŸŸ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฃ","๐Ÿค","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฏ","๐Ÿฐ","๐Ÿฑ","๐Ÿฒ","๐Ÿณ","๐Ÿด","๐Ÿต","๐Ÿถ","๐Ÿท","๐Ÿธ","๐Ÿน","๐Ÿบ","๐Ÿป","๐Ÿผ","๐Ÿฝ๏ธ","๐Ÿพ","๐Ÿฟ","๐ŸŽ€","๐ŸŽ","๐ŸŽ‚","๐ŸŽƒ","๐ŸŽ„","๐ŸŽ…๐Ÿป","๐ŸŽ…๐Ÿผ","๐ŸŽ…๐Ÿฝ","๐ŸŽ…๐Ÿพ","๐ŸŽ…๐Ÿฟ","๐ŸŽ…","๐ŸŽ†","๐ŸŽ‡","๐ŸŽˆ","๐ŸŽ‰","๐ŸŽŠ","๐ŸŽ‹","๐ŸŽŒ","๐ŸŽ","๐ŸŽŽ","๐ŸŽ","๐ŸŽ","๐ŸŽ‘","๐ŸŽ’","๐ŸŽ“","๐ŸŽ–๏ธ","๐ŸŽ—๏ธ","๐ŸŽ™๏ธ","๐ŸŽš๏ธ","๐ŸŽ›๏ธ","๐ŸŽž๏ธ","๐ŸŽŸ๏ธ","๐ŸŽ ","๐ŸŽก","๐ŸŽข","๐ŸŽฃ","๐ŸŽค","๐ŸŽฅ","๐ŸŽฆ","๐ŸŽง","๐ŸŽจ","๐ŸŽฉ","๐ŸŽช","๐ŸŽซ","๐ŸŽฌ","๐ŸŽญ","๐ŸŽฎ","๐ŸŽฏ","๐ŸŽฐ","๐ŸŽฑ","๐ŸŽฒ","๐ŸŽณ","๐ŸŽด","๐ŸŽต","๐ŸŽถ","๐ŸŽท","๐ŸŽธ","๐ŸŽน","๐ŸŽบ","๐ŸŽป","๐ŸŽผ","๐ŸŽฝ","๐ŸŽพ","๐ŸŽฟ","๐Ÿ€","๐Ÿ","๐Ÿ‚๐Ÿป","๐Ÿ‚๐Ÿผ","๐Ÿ‚๐Ÿฝ","๐Ÿ‚๐Ÿพ","๐Ÿ‚๐Ÿฟ","๐Ÿ‚","๐Ÿƒ๐Ÿปโ€โ™€๏ธ","๐Ÿƒ๐Ÿปโ€โ™‚๏ธ","๐Ÿƒ๐Ÿป","๐Ÿƒ๐Ÿผโ€โ™€๏ธ","๐Ÿƒ๐Ÿผโ€โ™‚๏ธ","๐Ÿƒ๐Ÿผ","๐Ÿƒ๐Ÿฝโ€โ™€๏ธ","๐Ÿƒ๐Ÿฝโ€โ™‚๏ธ","๐Ÿƒ๐Ÿฝ","๐Ÿƒ๐Ÿพโ€โ™€๏ธ","๐Ÿƒ๐Ÿพโ€โ™‚๏ธ","๐Ÿƒ๐Ÿพ","๐Ÿƒ๐Ÿฟโ€โ™€๏ธ","๐Ÿƒ๐Ÿฟโ€โ™‚๏ธ","๐Ÿƒ๐Ÿฟ","๐Ÿƒโ€โ™€๏ธ","๐Ÿƒโ€โ™‚๏ธ","๐Ÿƒ","๐Ÿ„๐Ÿปโ€โ™€๏ธ","๐Ÿ„๐Ÿปโ€โ™‚๏ธ","๐Ÿ„๐Ÿป","๐Ÿ„๐Ÿผโ€โ™€๏ธ","๐Ÿ„๐Ÿผโ€โ™‚๏ธ","๐Ÿ„๐Ÿผ","๐Ÿ„๐Ÿฝโ€โ™€๏ธ","๐Ÿ„๐Ÿฝโ€โ™‚๏ธ","๐Ÿ„๐Ÿฝ","๐Ÿ„๐Ÿพโ€โ™€๏ธ","๐Ÿ„๐Ÿพโ€โ™‚๏ธ","๐Ÿ„๐Ÿพ","๐Ÿ„๐Ÿฟโ€โ™€๏ธ","๐Ÿ„๐Ÿฟโ€โ™‚๏ธ","๐Ÿ„๐Ÿฟ","๐Ÿ„โ€โ™€๏ธ","๐Ÿ„โ€โ™‚๏ธ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐Ÿ‡๐Ÿป","๐Ÿ‡๐Ÿผ","๐Ÿ‡๐Ÿฝ","๐Ÿ‡๐Ÿพ","๐Ÿ‡๐Ÿฟ","๐Ÿ‡","๐Ÿˆ","๐Ÿ‰","๐ŸŠ๐Ÿปโ€โ™€๏ธ","๐ŸŠ๐Ÿปโ€โ™‚๏ธ","๐ŸŠ๐Ÿป","๐ŸŠ๐Ÿผโ€โ™€๏ธ","๐ŸŠ๐Ÿผโ€โ™‚๏ธ","๐ŸŠ๐Ÿผ","๐ŸŠ๐Ÿฝโ€โ™€๏ธ","๐ŸŠ๐Ÿฝโ€โ™‚๏ธ","๐ŸŠ๐Ÿฝ","๐ŸŠ๐Ÿพโ€โ™€๏ธ","๐ŸŠ๐Ÿพโ€โ™‚๏ธ","๐ŸŠ๐Ÿพ","๐ŸŠ๐Ÿฟโ€โ™€๏ธ","๐ŸŠ๐Ÿฟโ€โ™‚๏ธ","๐ŸŠ๐Ÿฟ","๐ŸŠโ€โ™€๏ธ","๐ŸŠโ€โ™‚๏ธ","๐ŸŠ","๐Ÿ‹๐Ÿปโ€โ™€๏ธ","๐Ÿ‹๐Ÿปโ€โ™‚๏ธ","๐Ÿ‹๐Ÿป","๐Ÿ‹๐Ÿผโ€โ™€๏ธ","๐Ÿ‹๐Ÿผโ€โ™‚๏ธ","๐Ÿ‹๐Ÿผ","๐Ÿ‹๐Ÿฝโ€โ™€๏ธ","๐Ÿ‹๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‹๐Ÿฝ","๐Ÿ‹๐Ÿพโ€โ™€๏ธ","๐Ÿ‹๐Ÿพโ€โ™‚๏ธ","๐Ÿ‹๐Ÿพ","๐Ÿ‹๐Ÿฟโ€โ™€๏ธ","๐Ÿ‹๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‹๐Ÿฟ","๐Ÿ‹๏ธโ€โ™€๏ธ","๐Ÿ‹๏ธโ€โ™‚๏ธ","๐Ÿ‹๏ธ","๐ŸŒ๐Ÿปโ€โ™€๏ธ","๐ŸŒ๐Ÿปโ€โ™‚๏ธ","๐ŸŒ๐Ÿป","๐ŸŒ๐Ÿผโ€โ™€๏ธ","๐ŸŒ๐Ÿผโ€โ™‚๏ธ","๐ŸŒ๐Ÿผ","๐ŸŒ๐Ÿฝโ€โ™€๏ธ","๐ŸŒ๐Ÿฝโ€โ™‚๏ธ","๐ŸŒ๐Ÿฝ","๐ŸŒ๐Ÿพโ€โ™€๏ธ","๐ŸŒ๐Ÿพโ€โ™‚๏ธ","๐ŸŒ๐Ÿพ","๐ŸŒ๐Ÿฟโ€โ™€๏ธ","๐ŸŒ๐Ÿฟโ€โ™‚๏ธ","๐ŸŒ๐Ÿฟ","๐ŸŒ๏ธโ€โ™€๏ธ","๐ŸŒ๏ธโ€โ™‚๏ธ","๐ŸŒ๏ธ","๐Ÿ๏ธ","๐ŸŽ๏ธ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ”๏ธ","๐Ÿ•๏ธ","๐Ÿ–๏ธ","๐Ÿ—๏ธ","๐Ÿ˜๏ธ","๐Ÿ™๏ธ","๐Ÿš๏ธ","๐Ÿ›๏ธ","๐Ÿœ๏ธ","๐Ÿ๏ธ","๐Ÿž๏ธ","๐ŸŸ๏ธ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฃ","๐Ÿค","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฏ","๐Ÿฐ","๐Ÿณ๏ธโ€๐ŸŒˆ","๐Ÿณ๏ธ","๐Ÿดโ€โ˜ ๏ธ","๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ","๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ","๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ","๐Ÿด","๐Ÿต๏ธ","๐Ÿท๏ธ","๐Ÿธ","๐Ÿน","๐Ÿบ","๐Ÿป","๐Ÿผ","๐Ÿฝ","๐Ÿพ","๐Ÿฟ","๐Ÿ€","๐Ÿ","๐Ÿ‚","๐Ÿƒ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐Ÿ‡","๐Ÿˆ","๐Ÿ‰","๐ŸŠ","๐Ÿ‹","๐ŸŒ","๐Ÿ","๐ŸŽ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ”","๐Ÿ•โ€๐Ÿฆบ","๐Ÿ•","๐Ÿ–","๐Ÿ—","๐Ÿ˜","๐Ÿ™","๐Ÿš","๐Ÿ›","๐Ÿœ","๐Ÿ","๐Ÿž","๐ŸŸ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฃ","๐Ÿค","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฏ","๐Ÿฐ","๐Ÿฑ","๐Ÿฒ","๐Ÿณ","๐Ÿด","๐Ÿต","๐Ÿถ","๐Ÿท","๐Ÿธ","๐Ÿน","๐Ÿบ","๐Ÿป","๐Ÿผ","๐Ÿฝ","๐Ÿพ","๐Ÿฟ๏ธ","๐Ÿ‘€","๐Ÿ‘โ€๐Ÿ—จ","๐Ÿ‘๏ธ","๐Ÿ‘‚๐Ÿป","๐Ÿ‘‚๐Ÿผ","๐Ÿ‘‚๐Ÿฝ","๐Ÿ‘‚๐Ÿพ","๐Ÿ‘‚๐Ÿฟ","๐Ÿ‘‚","๐Ÿ‘ƒ๐Ÿป","๐Ÿ‘ƒ๐Ÿผ","๐Ÿ‘ƒ๐Ÿฝ","๐Ÿ‘ƒ๐Ÿพ","๐Ÿ‘ƒ๐Ÿฟ","๐Ÿ‘ƒ","๐Ÿ‘„","๐Ÿ‘…","๐Ÿ‘†๐Ÿป","๐Ÿ‘†๐Ÿผ","๐Ÿ‘†๐Ÿฝ","๐Ÿ‘†๐Ÿพ","๐Ÿ‘†๐Ÿฟ","๐Ÿ‘†","๐Ÿ‘‡๐Ÿป","๐Ÿ‘‡๐Ÿผ","๐Ÿ‘‡๐Ÿฝ","๐Ÿ‘‡๐Ÿพ","๐Ÿ‘‡๐Ÿฟ","๐Ÿ‘‡","๐Ÿ‘ˆ๐Ÿป","๐Ÿ‘ˆ๐Ÿผ","๐Ÿ‘ˆ๐Ÿฝ","๐Ÿ‘ˆ๐Ÿพ","๐Ÿ‘ˆ๐Ÿฟ","๐Ÿ‘ˆ","๐Ÿ‘‰๐Ÿป","๐Ÿ‘‰๐Ÿผ","๐Ÿ‘‰๐Ÿฝ","๐Ÿ‘‰๐Ÿพ","๐Ÿ‘‰๐Ÿฟ","๐Ÿ‘‰","๐Ÿ‘Š๐Ÿป","๐Ÿ‘Š๐Ÿผ","๐Ÿ‘Š๐Ÿฝ","๐Ÿ‘Š๐Ÿพ","๐Ÿ‘Š๐Ÿฟ","๐Ÿ‘Š","๐Ÿ‘‹๐Ÿป","๐Ÿ‘‹๐Ÿผ","๐Ÿ‘‹๐Ÿฝ","๐Ÿ‘‹๐Ÿพ","๐Ÿ‘‹๐Ÿฟ","๐Ÿ‘‹","๐Ÿ‘Œ๐Ÿป","๐Ÿ‘Œ๐Ÿผ","๐Ÿ‘Œ๐Ÿฝ","๐Ÿ‘Œ๐Ÿพ","๐Ÿ‘Œ๐Ÿฟ","๐Ÿ‘Œ","๐Ÿ‘๐Ÿป","๐Ÿ‘๐Ÿผ","๐Ÿ‘๐Ÿฝ","๐Ÿ‘๐Ÿพ","๐Ÿ‘๐Ÿฟ","๐Ÿ‘","๐Ÿ‘Ž๐Ÿป","๐Ÿ‘Ž๐Ÿผ","๐Ÿ‘Ž๐Ÿฝ","๐Ÿ‘Ž๐Ÿพ","๐Ÿ‘Ž๐Ÿฟ","๐Ÿ‘Ž","๐Ÿ‘๐Ÿป","๐Ÿ‘๐Ÿผ","๐Ÿ‘๐Ÿฝ","๐Ÿ‘๐Ÿพ","๐Ÿ‘๐Ÿฟ","๐Ÿ‘","๐Ÿ‘๐Ÿป","๐Ÿ‘๐Ÿผ","๐Ÿ‘๐Ÿฝ","๐Ÿ‘๐Ÿพ","๐Ÿ‘๐Ÿฟ","๐Ÿ‘","๐Ÿ‘‘","๐Ÿ‘’","๐Ÿ‘“","๐Ÿ‘”","๐Ÿ‘•","๐Ÿ‘–","๐Ÿ‘—","๐Ÿ‘˜","๐Ÿ‘™","๐Ÿ‘š","๐Ÿ‘›","๐Ÿ‘œ","๐Ÿ‘","๐Ÿ‘ž","๐Ÿ‘Ÿ","๐Ÿ‘ ","๐Ÿ‘ก","๐Ÿ‘ข","๐Ÿ‘ฃ","๐Ÿ‘ค","๐Ÿ‘ฅ","๐Ÿ‘ฆ๐Ÿป","๐Ÿ‘ฆ๐Ÿผ","๐Ÿ‘ฆ๐Ÿฝ","๐Ÿ‘ฆ๐Ÿพ","๐Ÿ‘ฆ๐Ÿฟ","๐Ÿ‘ฆ","๐Ÿ‘ง๐Ÿป","๐Ÿ‘ง๐Ÿผ","๐Ÿ‘ง๐Ÿฝ","๐Ÿ‘ง๐Ÿพ","๐Ÿ‘ง๐Ÿฟ","๐Ÿ‘ง","๐Ÿ‘จ๐Ÿปโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿปโ€๐Ÿณ","๐Ÿ‘จ๐Ÿปโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿปโ€๐ŸŽค","๐Ÿ‘จ๐Ÿปโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿปโ€๐Ÿซ","๐Ÿ‘จ๐Ÿปโ€๐Ÿญ","๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿปโ€๐Ÿš€","๐Ÿ‘จ๐Ÿปโ€๐Ÿš’","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿปโ€โš•๏ธ","๐Ÿ‘จ๐Ÿปโ€โš–๏ธ","๐Ÿ‘จ๐Ÿปโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿผโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿผโ€๐Ÿณ","๐Ÿ‘จ๐Ÿผโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿผโ€๐ŸŽค","๐Ÿ‘จ๐Ÿผโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿผโ€๐Ÿซ","๐Ÿ‘จ๐Ÿผโ€๐Ÿญ","๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿผโ€๐Ÿš€","๐Ÿ‘จ๐Ÿผโ€๐Ÿš’","๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿผโ€โš•๏ธ","๐Ÿ‘จ๐Ÿผโ€โš–๏ธ","๐Ÿ‘จ๐Ÿผโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿฝโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿณ","๐Ÿ‘จ๐Ÿฝโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿฝโ€๐ŸŽค","๐Ÿ‘จ๐Ÿฝโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿซ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿญ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿš€","๐Ÿ‘จ๐Ÿฝโ€๐Ÿš’","๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿฝโ€โš•๏ธ","๐Ÿ‘จ๐Ÿฝโ€โš–๏ธ","๐Ÿ‘จ๐Ÿฝโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘จ๐Ÿพโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿพโ€๐Ÿณ","๐Ÿ‘จ๐Ÿพโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿพโ€๐ŸŽค","๐Ÿ‘จ๐Ÿพโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿพโ€๐Ÿซ","๐Ÿ‘จ๐Ÿพโ€๐Ÿญ","๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿพโ€๐Ÿš€","๐Ÿ‘จ๐Ÿพโ€๐Ÿš’","๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿพโ€โš•๏ธ","๐Ÿ‘จ๐Ÿพโ€โš–๏ธ","๐Ÿ‘จ๐Ÿพโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿพ","๐Ÿ‘จ๐Ÿฟโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿณ","๐Ÿ‘จ๐Ÿฟโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค","๐Ÿ‘จ๐Ÿฟโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿซ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿญ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿš€","๐Ÿ‘จ๐Ÿฟโ€๐Ÿš’","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿฟโ€โš•๏ธ","๐Ÿ‘จ๐Ÿฟโ€โš–๏ธ","๐Ÿ‘จ๐Ÿฟโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘จโ€๐ŸŒพ","๐Ÿ‘จโ€๐Ÿณ","๐Ÿ‘จโ€๐ŸŽ“","๐Ÿ‘จโ€๐ŸŽค","๐Ÿ‘จโ€๐ŸŽจ","๐Ÿ‘จโ€๐Ÿซ","๐Ÿ‘จโ€๐Ÿญ","๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ’ป","๐Ÿ‘จโ€๐Ÿ’ผ","๐Ÿ‘จโ€๐Ÿ”ง","๐Ÿ‘จโ€๐Ÿ”ฌ","๐Ÿ‘จโ€๐Ÿš€","๐Ÿ‘จโ€๐Ÿš’","๐Ÿ‘จโ€๐Ÿฆฏ","๐Ÿ‘จโ€๐Ÿฆฐ","๐Ÿ‘จโ€๐Ÿฆฑ","๐Ÿ‘จโ€๐Ÿฆฒ","๐Ÿ‘จโ€๐Ÿฆณ","๐Ÿ‘จโ€๐Ÿฆผ","๐Ÿ‘จโ€๐Ÿฆฝ","๐Ÿ‘จโ€โš•๏ธ","๐Ÿ‘จโ€โš–๏ธ","๐Ÿ‘จโ€โœˆ๏ธ","๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ","๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","๐Ÿ‘จ","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿปโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿปโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿผโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿผโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿผโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿฝโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿฝโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿฝโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿพโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿพโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿพโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿฟโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿฟโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿฟ","๐Ÿ‘ฉโ€๐ŸŒพ","๐Ÿ‘ฉโ€๐Ÿณ","๐Ÿ‘ฉโ€๐ŸŽ“","๐Ÿ‘ฉโ€๐ŸŽค","๐Ÿ‘ฉโ€๐ŸŽจ","๐Ÿ‘ฉโ€๐Ÿซ","๐Ÿ‘ฉโ€๐Ÿญ","๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ’ป","๐Ÿ‘ฉโ€๐Ÿ’ผ","๐Ÿ‘ฉโ€๐Ÿ”ง","๐Ÿ‘ฉโ€๐Ÿ”ฌ","๐Ÿ‘ฉโ€๐Ÿš€","๐Ÿ‘ฉโ€๐Ÿš’","๐Ÿ‘ฉโ€๐Ÿฆฏ","๐Ÿ‘ฉโ€๐Ÿฆฐ","๐Ÿ‘ฉโ€๐Ÿฆฑ","๐Ÿ‘ฉโ€๐Ÿฆฒ","๐Ÿ‘ฉโ€๐Ÿฆณ","๐Ÿ‘ฉโ€๐Ÿฆผ","๐Ÿ‘ฉโ€๐Ÿฆฝ","๐Ÿ‘ฉโ€โš•๏ธ","๐Ÿ‘ฉโ€โš–๏ธ","๐Ÿ‘ฉโ€โœˆ๏ธ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ","๐Ÿ‘ฉ","๐Ÿ‘ช","๐Ÿ‘ซ๐Ÿป","๐Ÿ‘ซ๐Ÿผ","๐Ÿ‘ซ๐Ÿฝ","๐Ÿ‘ซ๐Ÿพ","๐Ÿ‘ซ๐Ÿฟ","๐Ÿ‘ซ","๐Ÿ‘ฌ๐Ÿป","๐Ÿ‘ฌ๐Ÿผ","๐Ÿ‘ฌ๐Ÿฝ","๐Ÿ‘ฌ๐Ÿพ","๐Ÿ‘ฌ๐Ÿฟ","๐Ÿ‘ฌ","๐Ÿ‘ญ๐Ÿป","๐Ÿ‘ญ๐Ÿผ","๐Ÿ‘ญ๐Ÿฝ","๐Ÿ‘ญ๐Ÿพ","๐Ÿ‘ญ๐Ÿฟ","๐Ÿ‘ญ","๐Ÿ‘ฎ๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿป","๐Ÿ‘ฎ๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿผ","๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿฝ","๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿพ","๐Ÿ‘ฎ๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿฟ","๐Ÿ‘ฎโ€โ™€๏ธ","๐Ÿ‘ฎโ€โ™‚๏ธ","๐Ÿ‘ฎ","๐Ÿ‘ฏโ€โ™€๏ธ","๐Ÿ‘ฏโ€โ™‚๏ธ","๐Ÿ‘ฏ","๐Ÿ‘ฐ๐Ÿป","๐Ÿ‘ฐ๐Ÿผ","๐Ÿ‘ฐ๐Ÿฝ","๐Ÿ‘ฐ๐Ÿพ","๐Ÿ‘ฐ๐Ÿฟ","๐Ÿ‘ฐ","๐Ÿ‘ฑ๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿป","๐Ÿ‘ฑ๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿผ","๐Ÿ‘ฑ๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿฝ","๐Ÿ‘ฑ๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿพ","๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿฟ","๐Ÿ‘ฑโ€โ™€๏ธ","๐Ÿ‘ฑโ€โ™‚๏ธ","๐Ÿ‘ฑ","๐Ÿ‘ฒ๐Ÿป","๐Ÿ‘ฒ๐Ÿผ","๐Ÿ‘ฒ๐Ÿฝ","๐Ÿ‘ฒ๐Ÿพ","๐Ÿ‘ฒ๐Ÿฟ","๐Ÿ‘ฒ","๐Ÿ‘ณ๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿป","๐Ÿ‘ณ๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿผ","๐Ÿ‘ณ๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿฝ","๐Ÿ‘ณ๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿพ","๐Ÿ‘ณ๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿฟ","๐Ÿ‘ณโ€โ™€๏ธ","๐Ÿ‘ณโ€โ™‚๏ธ","๐Ÿ‘ณ","๐Ÿ‘ด๐Ÿป","๐Ÿ‘ด๐Ÿผ","๐Ÿ‘ด๐Ÿฝ","๐Ÿ‘ด๐Ÿพ","๐Ÿ‘ด๐Ÿฟ","๐Ÿ‘ด","๐Ÿ‘ต๐Ÿป","๐Ÿ‘ต๐Ÿผ","๐Ÿ‘ต๐Ÿฝ","๐Ÿ‘ต๐Ÿพ","๐Ÿ‘ต๐Ÿฟ","๐Ÿ‘ต","๐Ÿ‘ถ๐Ÿป","๐Ÿ‘ถ๐Ÿผ","๐Ÿ‘ถ๐Ÿฝ","๐Ÿ‘ถ๐Ÿพ","๐Ÿ‘ถ๐Ÿฟ","๐Ÿ‘ถ","๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿป","๐Ÿ‘ท๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿผ","๐Ÿ‘ท๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿฝ","๐Ÿ‘ท๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿพ","๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿฟ","๐Ÿ‘ทโ€โ™€๏ธ","๐Ÿ‘ทโ€โ™‚๏ธ","๐Ÿ‘ท","๐Ÿ‘ธ๐Ÿป","๐Ÿ‘ธ๐Ÿผ","๐Ÿ‘ธ๐Ÿฝ","๐Ÿ‘ธ๐Ÿพ","๐Ÿ‘ธ๐Ÿฟ","๐Ÿ‘ธ","๐Ÿ‘น","๐Ÿ‘บ","๐Ÿ‘ป","๐Ÿ‘ผ๐Ÿป","๐Ÿ‘ผ๐Ÿผ","๐Ÿ‘ผ๐Ÿฝ","๐Ÿ‘ผ๐Ÿพ","๐Ÿ‘ผ๐Ÿฟ","๐Ÿ‘ผ","๐Ÿ‘ฝ","๐Ÿ‘พ","๐Ÿ‘ฟ","๐Ÿ’€","๐Ÿ’๐Ÿปโ€โ™€๏ธ","๐Ÿ’๐Ÿปโ€โ™‚๏ธ","๐Ÿ’๐Ÿป","๐Ÿ’๐Ÿผโ€โ™€๏ธ","๐Ÿ’๐Ÿผโ€โ™‚๏ธ","๐Ÿ’๐Ÿผ","๐Ÿ’๐Ÿฝโ€โ™€๏ธ","๐Ÿ’๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’๐Ÿฝ","๐Ÿ’๐Ÿพโ€โ™€๏ธ","๐Ÿ’๐Ÿพโ€โ™‚๏ธ","๐Ÿ’๐Ÿพ","๐Ÿ’๐Ÿฟโ€โ™€๏ธ","๐Ÿ’๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’๐Ÿฟ","๐Ÿ’โ€โ™€๏ธ","๐Ÿ’โ€โ™‚๏ธ","๐Ÿ’","๐Ÿ’‚๐Ÿปโ€โ™€๏ธ","๐Ÿ’‚๐Ÿปโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿป","๐Ÿ’‚๐Ÿผโ€โ™€๏ธ","๐Ÿ’‚๐Ÿผโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿผ","๐Ÿ’‚๐Ÿฝโ€โ™€๏ธ","๐Ÿ’‚๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿฝ","๐Ÿ’‚๐Ÿพโ€โ™€๏ธ","๐Ÿ’‚๐Ÿพโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿพ","๐Ÿ’‚๐Ÿฟโ€โ™€๏ธ","๐Ÿ’‚๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿฟ","๐Ÿ’‚โ€โ™€๏ธ","๐Ÿ’‚โ€โ™‚๏ธ","๐Ÿ’‚","๐Ÿ’ƒ๐Ÿป","๐Ÿ’ƒ๐Ÿผ","๐Ÿ’ƒ๐Ÿฝ","๐Ÿ’ƒ๐Ÿพ","๐Ÿ’ƒ๐Ÿฟ","๐Ÿ’ƒ","๐Ÿ’„","๐Ÿ’…๐Ÿป","๐Ÿ’…๐Ÿผ","๐Ÿ’…๐Ÿฝ","๐Ÿ’…๐Ÿพ","๐Ÿ’…๐Ÿฟ","๐Ÿ’…","๐Ÿ’†๐Ÿปโ€โ™€๏ธ","๐Ÿ’†๐Ÿปโ€โ™‚๏ธ","๐Ÿ’†๐Ÿป","๐Ÿ’†๐Ÿผโ€โ™€๏ธ","๐Ÿ’†๐Ÿผโ€โ™‚๏ธ","๐Ÿ’†๐Ÿผ","๐Ÿ’†๐Ÿฝโ€โ™€๏ธ","๐Ÿ’†๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’†๐Ÿฝ","๐Ÿ’†๐Ÿพโ€โ™€๏ธ","๐Ÿ’†๐Ÿพโ€โ™‚๏ธ","๐Ÿ’†๐Ÿพ","๐Ÿ’†๐Ÿฟโ€โ™€๏ธ","๐Ÿ’†๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’†๐Ÿฟ","๐Ÿ’†โ€โ™€๏ธ","๐Ÿ’†โ€โ™‚๏ธ","๐Ÿ’†","๐Ÿ’‡๐Ÿปโ€โ™€๏ธ","๐Ÿ’‡๐Ÿปโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿป","๐Ÿ’‡๐Ÿผโ€โ™€๏ธ","๐Ÿ’‡๐Ÿผโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿผ","๐Ÿ’‡๐Ÿฝโ€โ™€๏ธ","๐Ÿ’‡๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿฝ","๐Ÿ’‡๐Ÿพโ€โ™€๏ธ","๐Ÿ’‡๐Ÿพโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿพ","๐Ÿ’‡๐Ÿฟโ€โ™€๏ธ","๐Ÿ’‡๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿฟ","๐Ÿ’‡โ€โ™€๏ธ","๐Ÿ’‡โ€โ™‚๏ธ","๐Ÿ’‡","๐Ÿ’ˆ","๐Ÿ’‰","๐Ÿ’Š","๐Ÿ’‹","๐Ÿ’Œ","๐Ÿ’","๐Ÿ’Ž","๐Ÿ’","๐Ÿ’","๐Ÿ’‘","๐Ÿ’’","๐Ÿ’“","๐Ÿ’”","๐Ÿ’•","๐Ÿ’–","๐Ÿ’—","๐Ÿ’˜","๐Ÿ’™","๐Ÿ’š","๐Ÿ’›","๐Ÿ’œ","๐Ÿ’","๐Ÿ’ž","๐Ÿ’Ÿ","๐Ÿ’ ","๐Ÿ’ก","๐Ÿ’ข","๐Ÿ’ฃ","๐Ÿ’ค","๐Ÿ’ฅ","๐Ÿ’ฆ","๐Ÿ’ง","๐Ÿ’จ","๐Ÿ’ฉ","๐Ÿ’ช๐Ÿป","๐Ÿ’ช๐Ÿผ","๐Ÿ’ช๐Ÿฝ","๐Ÿ’ช๐Ÿพ","๐Ÿ’ช๐Ÿฟ","๐Ÿ’ช","๐Ÿ’ซ","๐Ÿ’ฌ","๐Ÿ’ญ","๐Ÿ’ฎ","๐Ÿ’ฏ","๐Ÿ’ฐ","๐Ÿ’ฑ","๐Ÿ’ฒ","๐Ÿ’ณ","๐Ÿ’ด","๐Ÿ’ต","๐Ÿ’ถ","๐Ÿ’ท","๐Ÿ’ธ","๐Ÿ’น","๐Ÿ’บ","๐Ÿ’ป","๐Ÿ’ผ","๐Ÿ’ฝ","๐Ÿ’พ","๐Ÿ’ฟ","๐Ÿ“€","๐Ÿ“","๐Ÿ“‚","๐Ÿ“ƒ","๐Ÿ“„","๐Ÿ“…","๐Ÿ“†","๐Ÿ“‡","๐Ÿ“ˆ","๐Ÿ“‰","๐Ÿ“Š","๐Ÿ“‹","๐Ÿ“Œ","๐Ÿ“","๐Ÿ“Ž","๐Ÿ“","๐Ÿ“","๐Ÿ“‘","๐Ÿ“’","๐Ÿ““","๐Ÿ“”","๐Ÿ“•","๐Ÿ“–","๐Ÿ“—","๐Ÿ“˜","๐Ÿ“™","๐Ÿ“š","๐Ÿ“›","๐Ÿ“œ","๐Ÿ“","๐Ÿ“ž","๐Ÿ“Ÿ","๐Ÿ“ ","๐Ÿ“ก","๐Ÿ“ข","๐Ÿ“ฃ","๐Ÿ“ค","๐Ÿ“ฅ","๐Ÿ“ฆ","๐Ÿ“ง","๐Ÿ“จ","๐Ÿ“ฉ","๐Ÿ“ช","๐Ÿ“ซ","๐Ÿ“ฌ","๐Ÿ“ญ","๐Ÿ“ฎ","๐Ÿ“ฏ","๐Ÿ“ฐ","๐Ÿ“ฑ","๐Ÿ“ฒ","๐Ÿ“ณ","๐Ÿ“ด","๐Ÿ“ต","๐Ÿ“ถ","๐Ÿ“ท","๐Ÿ“ธ","๐Ÿ“น","๐Ÿ“บ","๐Ÿ“ป","๐Ÿ“ผ","๐Ÿ“ฝ๏ธ","๐Ÿ“ฟ","๐Ÿ”€","๐Ÿ”","๐Ÿ”‚","๐Ÿ”ƒ","๐Ÿ”„","๐Ÿ”…","๐Ÿ”†","๐Ÿ”‡","๐Ÿ”ˆ","๐Ÿ”‰","๐Ÿ”Š","๐Ÿ”‹","๐Ÿ”Œ","๐Ÿ”","๐Ÿ”Ž","๐Ÿ”","๐Ÿ”","๐Ÿ”‘","๐Ÿ”’","๐Ÿ”“","๐Ÿ””","๐Ÿ”•","๐Ÿ”–","๐Ÿ”—","๐Ÿ”˜","๐Ÿ”™","๐Ÿ”š","๐Ÿ”›","๐Ÿ”œ","๐Ÿ”","๐Ÿ”ž","๐Ÿ”Ÿ","๐Ÿ” ","๐Ÿ”ก","๐Ÿ”ข","๐Ÿ”ฃ","๐Ÿ”ค","๐Ÿ”ฅ","๐Ÿ”ฆ","๐Ÿ”ง","๐Ÿ”จ","๐Ÿ”ฉ","๐Ÿ”ช","๐Ÿ”ซ","๐Ÿ”ฌ","๐Ÿ”ญ","๐Ÿ”ฎ","๐Ÿ”ฏ","๐Ÿ”ฐ","๐Ÿ”ฑ","๐Ÿ”ฒ","๐Ÿ”ณ","๐Ÿ”ด","๐Ÿ”ต","๐Ÿ”ถ","๐Ÿ”ท","๐Ÿ”ธ","๐Ÿ”น","๐Ÿ”บ","๐Ÿ”ป","๐Ÿ”ผ","๐Ÿ”ฝ","๐Ÿ•‰๏ธ","๐Ÿ•Š๏ธ","๐Ÿ•‹","๐Ÿ•Œ","๐Ÿ•","๐Ÿ•Ž","๐Ÿ•","๐Ÿ•‘","๐Ÿ•’","๐Ÿ•“","๐Ÿ•”","๐Ÿ••","๐Ÿ•–","๐Ÿ•—","๐Ÿ•˜","๐Ÿ•™","๐Ÿ•š","๐Ÿ•›","๐Ÿ•œ","๐Ÿ•","๐Ÿ•ž","๐Ÿ•Ÿ","๐Ÿ• ","๐Ÿ•ก","๐Ÿ•ข","๐Ÿ•ฃ","๐Ÿ•ค","๐Ÿ•ฅ","๐Ÿ•ฆ","๐Ÿ•ง","๐Ÿ•ฏ๏ธ","๐Ÿ•ฐ๏ธ","๐Ÿ•ณ๏ธ","๐Ÿ•ด๐Ÿปโ€โ™€๏ธ","๐Ÿ•ด๐Ÿปโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿป","๐Ÿ•ด๐Ÿผโ€โ™€๏ธ","๐Ÿ•ด๐Ÿผโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿผ","๐Ÿ•ด๐Ÿฝโ€โ™€๏ธ","๐Ÿ•ด๐Ÿฝโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿฝ","๐Ÿ•ด๐Ÿพโ€โ™€๏ธ","๐Ÿ•ด๐Ÿพโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿพ","๐Ÿ•ด๐Ÿฟโ€โ™€๏ธ","๐Ÿ•ด๐Ÿฟโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿฟ","๐Ÿ•ด๏ธโ€โ™€๏ธ","๐Ÿ•ด๏ธโ€โ™‚๏ธ","๐Ÿ•ด๏ธ","๐Ÿ•ต๐Ÿปโ€โ™€๏ธ","๐Ÿ•ต๐Ÿปโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿป","๐Ÿ•ต๐Ÿผโ€โ™€๏ธ","๐Ÿ•ต๐Ÿผโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿผ","๐Ÿ•ต๐Ÿฝโ€โ™€๏ธ","๐Ÿ•ต๐Ÿฝโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿฝ","๐Ÿ•ต๐Ÿพโ€โ™€๏ธ","๐Ÿ•ต๐Ÿพโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿพ","๐Ÿ•ต๐Ÿฟโ€โ™€๏ธ","๐Ÿ•ต๐Ÿฟโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿฟ","๐Ÿ•ต๏ธโ€โ™€๏ธ","๐Ÿ•ต๏ธโ€โ™‚๏ธ","๐Ÿ•ต๏ธ","๐Ÿ•ถ๏ธ","๐Ÿ•ท๏ธ","๐Ÿ•ธ๏ธ","๐Ÿ•น๏ธ","๐Ÿ•บ๐Ÿป","๐Ÿ•บ๐Ÿผ","๐Ÿ•บ๐Ÿฝ","๐Ÿ•บ๐Ÿพ","๐Ÿ•บ๐Ÿฟ","๐Ÿ•บ","๐Ÿ–‡๏ธ","๐Ÿ–Š๏ธ","๐Ÿ–‹๏ธ","๐Ÿ–Œ๏ธ","๐Ÿ–๏ธ","๐Ÿ–๐Ÿป","๐Ÿ–๐Ÿผ","๐Ÿ–๐Ÿฝ","๐Ÿ–๐Ÿพ","๐Ÿ–๐Ÿฟ","๐Ÿ–๏ธ","๐Ÿ–•๐Ÿป","๐Ÿ–•๐Ÿผ","๐Ÿ–•๐Ÿฝ","๐Ÿ–•๐Ÿพ","๐Ÿ–•๐Ÿฟ","๐Ÿ–•","๐Ÿ––๐Ÿป","๐Ÿ––๐Ÿผ","๐Ÿ––๐Ÿฝ","๐Ÿ––๐Ÿพ","๐Ÿ––๐Ÿฟ","๐Ÿ––","๐Ÿ–ค","๐Ÿ–ฅ๏ธ","๐Ÿ–จ๏ธ","๐Ÿ–ฑ๏ธ","๐Ÿ–ฒ๏ธ","๐Ÿ–ผ๏ธ","๐Ÿ—‚๏ธ","๐Ÿ—ƒ๏ธ","๐Ÿ—„๏ธ","๐Ÿ—‘๏ธ","๐Ÿ—’๏ธ","๐Ÿ—“๏ธ","๐Ÿ—œ๏ธ","๐Ÿ—๏ธ","๐Ÿ—ž๏ธ","๐Ÿ—ก๏ธ","๐Ÿ—ฃ๏ธ","๐Ÿ—จ๏ธ","๐Ÿ—ฏ๏ธ","๐Ÿ—ณ๏ธ","๐Ÿ—บ๏ธ","๐Ÿ—ป","๐Ÿ—ผ","๐Ÿ—ฝ","๐Ÿ—พ","๐Ÿ—ฟ","๐Ÿ˜€","๐Ÿ˜","๐Ÿ˜‚","๐Ÿ˜ƒ","๐Ÿ˜„","๐Ÿ˜…","๐Ÿ˜†","๐Ÿ˜‡","๐Ÿ˜ˆ","๐Ÿ˜‰","๐Ÿ˜Š","๐Ÿ˜‹","๐Ÿ˜Œ","๐Ÿ˜","๐Ÿ˜Ž","๐Ÿ˜","๐Ÿ˜","๐Ÿ˜‘","๐Ÿ˜’","๐Ÿ˜“","๐Ÿ˜”","๐Ÿ˜•","๐Ÿ˜–","๐Ÿ˜—","๐Ÿ˜˜","๐Ÿ˜™","๐Ÿ˜š","๐Ÿ˜›","๐Ÿ˜œ","๐Ÿ˜","๐Ÿ˜ž","๐Ÿ˜Ÿ","๐Ÿ˜ ","๐Ÿ˜ก","๐Ÿ˜ข","๐Ÿ˜ฃ","๐Ÿ˜ค","๐Ÿ˜ฅ","๐Ÿ˜ฆ","๐Ÿ˜ง","๐Ÿ˜จ","๐Ÿ˜ฉ","๐Ÿ˜ช","๐Ÿ˜ซ","๐Ÿ˜ฌ","๐Ÿ˜ญ","๐Ÿ˜ฎ","๐Ÿ˜ฏ","๐Ÿ˜ฐ","๐Ÿ˜ฑ","๐Ÿ˜ฒ","๐Ÿ˜ณ","๐Ÿ˜ด","๐Ÿ˜ต","๐Ÿ˜ถ","๐Ÿ˜ท","๐Ÿ˜ธ","๐Ÿ˜น","๐Ÿ˜บ","๐Ÿ˜ป","๐Ÿ˜ผ","๐Ÿ˜ฝ","๐Ÿ˜พ","๐Ÿ˜ฟ","๐Ÿ™€","๐Ÿ™","๐Ÿ™‚","๐Ÿ™ƒ","๐Ÿ™„","๐Ÿ™…๐Ÿปโ€โ™€๏ธ","๐Ÿ™…๐Ÿปโ€โ™‚๏ธ","๐Ÿ™…๐Ÿป","๐Ÿ™…๐Ÿผโ€โ™€๏ธ","๐Ÿ™…๐Ÿผโ€โ™‚๏ธ","๐Ÿ™…๐Ÿผ","๐Ÿ™…๐Ÿฝโ€โ™€๏ธ","๐Ÿ™…๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™…๐Ÿฝ","๐Ÿ™…๐Ÿพโ€โ™€๏ธ","๐Ÿ™…๐Ÿพโ€โ™‚๏ธ","๐Ÿ™…๐Ÿพ","๐Ÿ™…๐Ÿฟโ€โ™€๏ธ","๐Ÿ™…๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™…๐Ÿฟ","๐Ÿ™…โ€โ™€๏ธ","๐Ÿ™…โ€โ™‚๏ธ","๐Ÿ™…","๐Ÿ™†๐Ÿปโ€โ™€๏ธ","๐Ÿ™†๐Ÿปโ€โ™‚๏ธ","๐Ÿ™†๐Ÿป","๐Ÿ™†๐Ÿผโ€โ™€๏ธ","๐Ÿ™†๐Ÿผโ€โ™‚๏ธ","๐Ÿ™†๐Ÿผ","๐Ÿ™†๐Ÿฝโ€โ™€๏ธ","๐Ÿ™†๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™†๐Ÿฝ","๐Ÿ™†๐Ÿพโ€โ™€๏ธ","๐Ÿ™†๐Ÿพโ€โ™‚๏ธ","๐Ÿ™†๐Ÿพ","๐Ÿ™†๐Ÿฟโ€โ™€๏ธ","๐Ÿ™†๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™†๐Ÿฟ","๐Ÿ™†โ€โ™€๏ธ","๐Ÿ™†โ€โ™‚๏ธ","๐Ÿ™†","๐Ÿ™‡๐Ÿปโ€โ™€๏ธ","๐Ÿ™‡๐Ÿปโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿป","๐Ÿ™‡๐Ÿผโ€โ™€๏ธ","๐Ÿ™‡๐Ÿผโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿผ","๐Ÿ™‡๐Ÿฝโ€โ™€๏ธ","๐Ÿ™‡๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿฝ","๐Ÿ™‡๐Ÿพโ€โ™€๏ธ","๐Ÿ™‡๐Ÿพโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿพ","๐Ÿ™‡๐Ÿฟโ€โ™€๏ธ","๐Ÿ™‡๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿฟ","๐Ÿ™‡โ€โ™€๏ธ","๐Ÿ™‡โ€โ™‚๏ธ","๐Ÿ™‡","๐Ÿ™ˆ","๐Ÿ™‰","๐Ÿ™Š","๐Ÿ™‹๐Ÿปโ€โ™€๏ธ","๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿป","๐Ÿ™‹๐Ÿผโ€โ™€๏ธ","๐Ÿ™‹๐Ÿผโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿผ","๐Ÿ™‹๐Ÿฝโ€โ™€๏ธ","๐Ÿ™‹๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿฝ","๐Ÿ™‹๐Ÿพโ€โ™€๏ธ","๐Ÿ™‹๐Ÿพโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿพ","๐Ÿ™‹๐Ÿฟโ€โ™€๏ธ","๐Ÿ™‹๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿฟ","๐Ÿ™‹โ€โ™€๏ธ","๐Ÿ™‹โ€โ™‚๏ธ","๐Ÿ™‹","๐Ÿ™Œ๐Ÿป","๐Ÿ™Œ๐Ÿผ","๐Ÿ™Œ๐Ÿฝ","๐Ÿ™Œ๐Ÿพ","๐Ÿ™Œ๐Ÿฟ","๐Ÿ™Œ","๐Ÿ™๐Ÿปโ€โ™€๏ธ","๐Ÿ™๐Ÿปโ€โ™‚๏ธ","๐Ÿ™๐Ÿป","๐Ÿ™๐Ÿผโ€โ™€๏ธ","๐Ÿ™๐Ÿผโ€โ™‚๏ธ","๐Ÿ™๐Ÿผ","๐Ÿ™๐Ÿฝโ€โ™€๏ธ","๐Ÿ™๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™๐Ÿฝ","๐Ÿ™๐Ÿพโ€โ™€๏ธ","๐Ÿ™๐Ÿพโ€โ™‚๏ธ","๐Ÿ™๐Ÿพ","๐Ÿ™๐Ÿฟโ€โ™€๏ธ","๐Ÿ™๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™๐Ÿฟ","๐Ÿ™โ€โ™€๏ธ","๐Ÿ™โ€โ™‚๏ธ","๐Ÿ™","๐Ÿ™Ž๐Ÿปโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿปโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿป","๐Ÿ™Ž๐Ÿผโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿผโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿผ","๐Ÿ™Ž๐Ÿฝโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿฝ","๐Ÿ™Ž๐Ÿพโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿพโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿพ","๐Ÿ™Ž๐Ÿฟโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿฟ","๐Ÿ™Žโ€โ™€๏ธ","๐Ÿ™Žโ€โ™‚๏ธ","๐Ÿ™Ž","๐Ÿ™๐Ÿป","๐Ÿ™๐Ÿผ","๐Ÿ™๐Ÿฝ","๐Ÿ™๐Ÿพ","๐Ÿ™๐Ÿฟ","๐Ÿ™","๐Ÿš€","๐Ÿš","๐Ÿš‚","๐Ÿšƒ","๐Ÿš„","๐Ÿš…","๐Ÿš†","๐Ÿš‡","๐Ÿšˆ","๐Ÿš‰","๐ŸšŠ","๐Ÿš‹","๐ŸšŒ","๐Ÿš","๐ŸšŽ","๐Ÿš","๐Ÿš","๐Ÿš‘","๐Ÿš’","๐Ÿš“","๐Ÿš”","๐Ÿš•","๐Ÿš–","๐Ÿš—","๐Ÿš˜","๐Ÿš™","๐Ÿšš","๐Ÿš›","๐Ÿšœ","๐Ÿš","๐Ÿšž","๐ŸšŸ","๐Ÿš ","๐Ÿšก","๐Ÿšข","๐Ÿšฃ๐Ÿปโ€โ™€๏ธ","๐Ÿšฃ๐Ÿปโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿป","๐Ÿšฃ๐Ÿผโ€โ™€๏ธ","๐Ÿšฃ๐Ÿผโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿผ","๐Ÿšฃ๐Ÿฝโ€โ™€๏ธ","๐Ÿšฃ๐Ÿฝโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿฝ","๐Ÿšฃ๐Ÿพโ€โ™€๏ธ","๐Ÿšฃ๐Ÿพโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿพ","๐Ÿšฃ๐Ÿฟโ€โ™€๏ธ","๐Ÿšฃ๐Ÿฟโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿฟ","๐Ÿšฃโ€โ™€๏ธ","๐Ÿšฃโ€โ™‚๏ธ","๐Ÿšฃ","๐Ÿšค","๐Ÿšฅ","๐Ÿšฆ","๐Ÿšง","๐Ÿšจ","๐Ÿšฉ","๐Ÿšช","๐Ÿšซ","๐Ÿšฌ","๐Ÿšญ","๐Ÿšฎ","๐Ÿšฏ","๐Ÿšฐ","๐Ÿšฑ","๐Ÿšฒ","๐Ÿšณ","๐Ÿšด๐Ÿปโ€โ™€๏ธ","๐Ÿšด๐Ÿปโ€โ™‚๏ธ","๐Ÿšด๐Ÿป","๐Ÿšด๐Ÿผโ€โ™€๏ธ","๐Ÿšด๐Ÿผโ€โ™‚๏ธ","๐Ÿšด๐Ÿผ","๐Ÿšด๐Ÿฝโ€โ™€๏ธ","๐Ÿšด๐Ÿฝโ€โ™‚๏ธ","๐Ÿšด๐Ÿฝ","๐Ÿšด๐Ÿพโ€โ™€๏ธ","๐Ÿšด๐Ÿพโ€โ™‚๏ธ","๐Ÿšด๐Ÿพ","๐Ÿšด๐Ÿฟโ€โ™€๏ธ","๐Ÿšด๐Ÿฟโ€โ™‚๏ธ","๐Ÿšด๐Ÿฟ","๐Ÿšดโ€โ™€๏ธ","๐Ÿšดโ€โ™‚๏ธ","๐Ÿšด","๐Ÿšต๐Ÿปโ€โ™€๏ธ","๐Ÿšต๐Ÿปโ€โ™‚๏ธ","๐Ÿšต๐Ÿป","๐Ÿšต๐Ÿผโ€โ™€๏ธ","๐Ÿšต๐Ÿผโ€โ™‚๏ธ","๐Ÿšต๐Ÿผ","๐Ÿšต๐Ÿฝโ€โ™€๏ธ","๐Ÿšต๐Ÿฝโ€โ™‚๏ธ","๐Ÿšต๐Ÿฝ","๐Ÿšต๐Ÿพโ€โ™€๏ธ","๐Ÿšต๐Ÿพโ€โ™‚๏ธ","๐Ÿšต๐Ÿพ","๐Ÿšต๐Ÿฟโ€โ™€๏ธ","๐Ÿšต๐Ÿฟโ€โ™‚๏ธ","๐Ÿšต๐Ÿฟ","๐Ÿšตโ€โ™€๏ธ","๐Ÿšตโ€โ™‚๏ธ","๐Ÿšต","๐Ÿšถ๐Ÿปโ€โ™€๏ธ","๐Ÿšถ๐Ÿปโ€โ™‚๏ธ","๐Ÿšถ๐Ÿป","๐Ÿšถ๐Ÿผโ€โ™€๏ธ","๐Ÿšถ๐Ÿผโ€โ™‚๏ธ","๐Ÿšถ๐Ÿผ","๐Ÿšถ๐Ÿฝโ€โ™€๏ธ","๐Ÿšถ๐Ÿฝโ€โ™‚๏ธ","๐Ÿšถ๐Ÿฝ","๐Ÿšถ๐Ÿพโ€โ™€๏ธ","๐Ÿšถ๐Ÿพโ€โ™‚๏ธ","๐Ÿšถ๐Ÿพ","๐Ÿšถ๐Ÿฟโ€โ™€๏ธ","๐Ÿšถ๐Ÿฟโ€โ™‚๏ธ","๐Ÿšถ๐Ÿฟ","๐Ÿšถโ€โ™€๏ธ","๐Ÿšถโ€โ™‚๏ธ","๐Ÿšถ","๐Ÿšท","๐Ÿšธ","๐Ÿšน","๐Ÿšบ","๐Ÿšป","๐Ÿšผ","๐Ÿšฝ","๐Ÿšพ","๐Ÿšฟ","๐Ÿ›€๐Ÿป","๐Ÿ›€๐Ÿผ","๐Ÿ›€๐Ÿฝ","๐Ÿ›€๐Ÿพ","๐Ÿ›€๐Ÿฟ","๐Ÿ›€","๐Ÿ›","๐Ÿ›‚","๐Ÿ›ƒ","๐Ÿ›„","๐Ÿ›…","๐Ÿ›‹๏ธ","๐Ÿ›Œ๐Ÿป","๐Ÿ›Œ๐Ÿผ","๐Ÿ›Œ๐Ÿฝ","๐Ÿ›Œ๐Ÿพ","๐Ÿ›Œ๐Ÿฟ","๐Ÿ›Œ","๐Ÿ›๏ธ","๐Ÿ›Ž๏ธ","๐Ÿ›๏ธ","๐Ÿ›","๐Ÿ›‘","๐Ÿ›’","๐Ÿ›•","๐Ÿ› ๏ธ","๐Ÿ›ก๏ธ","๐Ÿ›ข๏ธ","๐Ÿ›ฃ๏ธ","๐Ÿ›ค๏ธ","๐Ÿ›ฅ๏ธ","๐Ÿ›ฉ๏ธ","๐Ÿ›ซ","๐Ÿ›ฌ","๐Ÿ›ฐ๏ธ","๐Ÿ›ณ๏ธ","๐Ÿ›ด","๐Ÿ›ต","๐Ÿ›ถ","๐Ÿ›ท","๐Ÿ›ธ","๐Ÿ›น","๐Ÿ›บ","๐ŸŸ ","๐ŸŸก","๐ŸŸข","๐ŸŸฃ","๐ŸŸค","๐ŸŸฅ","๐ŸŸฆ","๐ŸŸง","๐ŸŸจ","๐ŸŸฉ","๐ŸŸช","๐ŸŸซ","๐Ÿค","๐ŸคŽ","๐Ÿค๐Ÿป","๐Ÿค๐Ÿผ","๐Ÿค๐Ÿฝ","๐Ÿค๐Ÿพ","๐Ÿค๐Ÿฟ","๐Ÿค","๐Ÿค","๐Ÿค‘","๐Ÿค’","๐Ÿค“","๐Ÿค”","๐Ÿค•","๐Ÿค–","๐Ÿค—","๐Ÿค˜๐Ÿป","๐Ÿค˜๐Ÿผ","๐Ÿค˜๐Ÿฝ","๐Ÿค˜๐Ÿพ","๐Ÿค˜๐Ÿฟ","๐Ÿค˜","๐Ÿค™๐Ÿป","๐Ÿค™๐Ÿผ","๐Ÿค™๐Ÿฝ","๐Ÿค™๐Ÿพ","๐Ÿค™๐Ÿฟ","๐Ÿค™","๐Ÿคš๐Ÿป","๐Ÿคš๐Ÿผ","๐Ÿคš๐Ÿฝ","๐Ÿคš๐Ÿพ","๐Ÿคš๐Ÿฟ","๐Ÿคš","๐Ÿค›๐Ÿป","๐Ÿค›๐Ÿผ","๐Ÿค›๐Ÿฝ","๐Ÿค›๐Ÿพ","๐Ÿค›๐Ÿฟ","๐Ÿค›","๐Ÿคœ๐Ÿป","๐Ÿคœ๐Ÿผ","๐Ÿคœ๐Ÿฝ","๐Ÿคœ๐Ÿพ","๐Ÿคœ๐Ÿฟ","๐Ÿคœ","๐Ÿค","๐Ÿคž๐Ÿป","๐Ÿคž๐Ÿผ","๐Ÿคž๐Ÿฝ","๐Ÿคž๐Ÿพ","๐Ÿคž๐Ÿฟ","๐Ÿคž","๐ŸคŸ๐Ÿป","๐ŸคŸ๐Ÿผ","๐ŸคŸ๐Ÿฝ","๐ŸคŸ๐Ÿพ","๐ŸคŸ๐Ÿฟ","๐ŸคŸ","๐Ÿค ","๐Ÿคก","๐Ÿคข","๐Ÿคฃ","๐Ÿคค","๐Ÿคฅ","๐Ÿคฆ๐Ÿปโ€โ™€๏ธ","๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿป","๐Ÿคฆ๐Ÿผโ€โ™€๏ธ","๐Ÿคฆ๐Ÿผโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿผ","๐Ÿคฆ๐Ÿฝโ€โ™€๏ธ","๐Ÿคฆ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿฝ","๐Ÿคฆ๐Ÿพโ€โ™€๏ธ","๐Ÿคฆ๐Ÿพโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿพ","๐Ÿคฆ๐Ÿฟโ€โ™€๏ธ","๐Ÿคฆ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿฟ","๐Ÿคฆโ€โ™€๏ธ","๐Ÿคฆโ€โ™‚๏ธ","๐Ÿคฆ","๐Ÿคง","๐Ÿคจ","๐Ÿคฉ","๐Ÿคช","๐Ÿคซ","๐Ÿคฌ","๐Ÿคญ","๐Ÿคฎ","๐Ÿคฏ","๐Ÿคฐ๐Ÿป","๐Ÿคฐ๐Ÿผ","๐Ÿคฐ๐Ÿฝ","๐Ÿคฐ๐Ÿพ","๐Ÿคฐ๐Ÿฟ","๐Ÿคฐ","๐Ÿคฑ๐Ÿป","๐Ÿคฑ๐Ÿผ","๐Ÿคฑ๐Ÿฝ","๐Ÿคฑ๐Ÿพ","๐Ÿคฑ๐Ÿฟ","๐Ÿคฑ","๐Ÿคฒ๐Ÿป","๐Ÿคฒ๐Ÿผ","๐Ÿคฒ๐Ÿฝ","๐Ÿคฒ๐Ÿพ","๐Ÿคฒ๐Ÿฟ","๐Ÿคฒ","๐Ÿคณ๐Ÿป","๐Ÿคณ๐Ÿผ","๐Ÿคณ๐Ÿฝ","๐Ÿคณ๐Ÿพ","๐Ÿคณ๐Ÿฟ","๐Ÿคณ","๐Ÿคด๐Ÿป","๐Ÿคด๐Ÿผ","๐Ÿคด๐Ÿฝ","๐Ÿคด๐Ÿพ","๐Ÿคด๐Ÿฟ","๐Ÿคด","๐Ÿคต๐Ÿปโ€โ™€๏ธ","๐Ÿคต๐Ÿปโ€โ™‚๏ธ","๐Ÿคต๐Ÿป","๐Ÿคต๐Ÿผโ€โ™€๏ธ","๐Ÿคต๐Ÿผโ€โ™‚๏ธ","๐Ÿคต๐Ÿผ","๐Ÿคต๐Ÿฝโ€โ™€๏ธ","๐Ÿคต๐Ÿฝโ€โ™‚๏ธ","๐Ÿคต๐Ÿฝ","๐Ÿคต๐Ÿพโ€โ™€๏ธ","๐Ÿคต๐Ÿพโ€โ™‚๏ธ","๐Ÿคต๐Ÿพ","๐Ÿคต๐Ÿฟโ€โ™€๏ธ","๐Ÿคต๐Ÿฟโ€โ™‚๏ธ","๐Ÿคต๐Ÿฟ","๐Ÿคตโ€โ™€๏ธ","๐Ÿคตโ€โ™‚๏ธ","๐Ÿคต","๐Ÿคถ๐Ÿป","๐Ÿคถ๐Ÿผ","๐Ÿคถ๐Ÿฝ","๐Ÿคถ๐Ÿพ","๐Ÿคถ๐Ÿฟ","๐Ÿคถ","๐Ÿคท๐Ÿปโ€โ™€๏ธ","๐Ÿคท๐Ÿปโ€โ™‚๏ธ","๐Ÿคท๐Ÿป","๐Ÿคท๐Ÿผโ€โ™€๏ธ","๐Ÿคท๐Ÿผโ€โ™‚๏ธ","๐Ÿคท๐Ÿผ","๐Ÿคท๐Ÿฝโ€โ™€๏ธ","๐Ÿคท๐Ÿฝโ€โ™‚๏ธ","๐Ÿคท๐Ÿฝ","๐Ÿคท๐Ÿพโ€โ™€๏ธ","๐Ÿคท๐Ÿพโ€โ™‚๏ธ","๐Ÿคท๐Ÿพ","๐Ÿคท๐Ÿฟโ€โ™€๏ธ","๐Ÿคท๐Ÿฟโ€โ™‚๏ธ","๐Ÿคท๐Ÿฟ","๐Ÿคทโ€โ™€๏ธ","๐Ÿคทโ€โ™‚๏ธ","๐Ÿคท","๐Ÿคธ๐Ÿปโ€โ™€๏ธ","๐Ÿคธ๐Ÿปโ€โ™‚๏ธ","๐Ÿคธ๐Ÿป","๐Ÿคธ๐Ÿผโ€โ™€๏ธ","๐Ÿคธ๐Ÿผโ€โ™‚๏ธ","๐Ÿคธ๐Ÿผ","๐Ÿคธ๐Ÿฝโ€โ™€๏ธ","๐Ÿคธ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคธ๐Ÿฝ","๐Ÿคธ๐Ÿพโ€โ™€๏ธ","๐Ÿคธ๐Ÿพโ€โ™‚๏ธ","๐Ÿคธ๐Ÿพ","๐Ÿคธ๐Ÿฟโ€โ™€๏ธ","๐Ÿคธ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคธ๐Ÿฟ","๐Ÿคธโ€โ™€๏ธ","๐Ÿคธโ€โ™‚๏ธ","๐Ÿคธ","๐Ÿคน๐Ÿปโ€โ™€๏ธ","๐Ÿคน๐Ÿปโ€โ™‚๏ธ","๐Ÿคน๐Ÿป","๐Ÿคน๐Ÿผโ€โ™€๏ธ","๐Ÿคน๐Ÿผโ€โ™‚๏ธ","๐Ÿคน๐Ÿผ","๐Ÿคน๐Ÿฝโ€โ™€๏ธ","๐Ÿคน๐Ÿฝโ€โ™‚๏ธ","๐Ÿคน๐Ÿฝ","๐Ÿคน๐Ÿพโ€โ™€๏ธ","๐Ÿคน๐Ÿพโ€โ™‚๏ธ","๐Ÿคน๐Ÿพ","๐Ÿคน๐Ÿฟโ€โ™€๏ธ","๐Ÿคน๐Ÿฟโ€โ™‚๏ธ","๐Ÿคน๐Ÿฟ","๐Ÿคนโ€โ™€๏ธ","๐Ÿคนโ€โ™‚๏ธ","๐Ÿคน","๐Ÿคบ","๐Ÿคผโ€โ™€๏ธ","๐Ÿคผโ€โ™‚๏ธ","๐Ÿคผ","๐Ÿคฝ๐Ÿปโ€โ™€๏ธ","๐Ÿคฝ๐Ÿปโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿป","๐Ÿคฝ๐Ÿผโ€โ™€๏ธ","๐Ÿคฝ๐Ÿผโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿผ","๐Ÿคฝ๐Ÿฝโ€โ™€๏ธ","๐Ÿคฝ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿฝ","๐Ÿคฝ๐Ÿพโ€โ™€๏ธ","๐Ÿคฝ๐Ÿพโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿพ","๐Ÿคฝ๐Ÿฟโ€โ™€๏ธ","๐Ÿคฝ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿฟ","๐Ÿคฝโ€โ™€๏ธ","๐Ÿคฝโ€โ™‚๏ธ","๐Ÿคฝ","๐Ÿคพ๐Ÿปโ€โ™€๏ธ","๐Ÿคพ๐Ÿปโ€โ™‚๏ธ","๐Ÿคพ๐Ÿป","๐Ÿคพ๐Ÿผโ€โ™€๏ธ","๐Ÿคพ๐Ÿผโ€โ™‚๏ธ","๐Ÿคพ๐Ÿผ","๐Ÿคพ๐Ÿฝโ€โ™€๏ธ","๐Ÿคพ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคพ๐Ÿฝ","๐Ÿคพ๐Ÿพโ€โ™€๏ธ","๐Ÿคพ๐Ÿพโ€โ™‚๏ธ","๐Ÿคพ๐Ÿพ","๐Ÿคพ๐Ÿฟโ€โ™€๏ธ","๐Ÿคพ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคพ๐Ÿฟ","๐Ÿคพโ€โ™€๏ธ","๐Ÿคพโ€โ™‚๏ธ","๐Ÿคพ","๐Ÿคฟ","๐Ÿฅ€","๐Ÿฅ","๐Ÿฅ‚","๐Ÿฅƒ","๐Ÿฅ„","๐Ÿฅ…","๐Ÿฅ‡","๐Ÿฅˆ","๐Ÿฅ‰","๐ŸฅŠ","๐Ÿฅ‹","๐ŸฅŒ","๐Ÿฅ","๐ŸฅŽ","๐Ÿฅ","๐Ÿฅ","๐Ÿฅ‘","๐Ÿฅ’","๐Ÿฅ“","๐Ÿฅ”","๐Ÿฅ•","๐Ÿฅ–","๐Ÿฅ—","๐Ÿฅ˜","๐Ÿฅ™","๐Ÿฅš","๐Ÿฅ›","๐Ÿฅœ","๐Ÿฅ","๐Ÿฅž","๐ŸฅŸ","๐Ÿฅ ","๐Ÿฅก","๐Ÿฅข","๐Ÿฅฃ","๐Ÿฅค","๐Ÿฅฅ","๐Ÿฅฆ","๐Ÿฅง","๐Ÿฅจ","๐Ÿฅฉ","๐Ÿฅช","๐Ÿฅซ","๐Ÿฅฌ","๐Ÿฅญ","๐Ÿฅฎ","๐Ÿฅฏ","๐Ÿฅฐ","๐Ÿฅฑ","๐Ÿฅณ","๐Ÿฅด","๐Ÿฅต","๐Ÿฅถ","๐Ÿฅบ","๐Ÿฅป","๐Ÿฅผ","๐Ÿฅฝ","๐Ÿฅพ","๐Ÿฅฟ","๐Ÿฆ€","๐Ÿฆ","๐Ÿฆ‚","๐Ÿฆƒ","๐Ÿฆ„","๐Ÿฆ…","๐Ÿฆ†","๐Ÿฆ‡","๐Ÿฆˆ","๐Ÿฆ‰","๐ŸฆŠ","๐Ÿฆ‹","๐ŸฆŒ","๐Ÿฆ","๐ŸฆŽ","๐Ÿฆ","๐Ÿฆ","๐Ÿฆ‘","๐Ÿฆ’","๐Ÿฆ“","๐Ÿฆ”","๐Ÿฆ•","๐Ÿฆ–","๐Ÿฆ—","๐Ÿฆ˜","๐Ÿฆ™","๐Ÿฆš","๐Ÿฆ›","๐Ÿฆœ","๐Ÿฆ","๐Ÿฆž","๐ŸฆŸ","๐Ÿฆ ","๐Ÿฆก","๐Ÿฆข","๐Ÿฆฅ","๐Ÿฆฆ","๐Ÿฆง","๐Ÿฆจ","๐Ÿฆฉ","๐Ÿฆช","๐Ÿฆฎ","๐Ÿฆฏ","๐Ÿฆฐ","๐Ÿฆฑ","๐Ÿฆฒ","๐Ÿฆณ","๐Ÿฆด","๐Ÿฆต๐Ÿป","๐Ÿฆต๐Ÿผ","๐Ÿฆต๐Ÿฝ","๐Ÿฆต๐Ÿพ","๐Ÿฆต๐Ÿฟ","๐Ÿฆต","๐Ÿฆถ๐Ÿป","๐Ÿฆถ๐Ÿผ","๐Ÿฆถ๐Ÿฝ","๐Ÿฆถ๐Ÿพ","๐Ÿฆถ๐Ÿฟ","๐Ÿฆถ","๐Ÿฆท","๐Ÿฆธ๐Ÿปโ€โ™€๏ธ","๐Ÿฆธ๐Ÿปโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿป","๐Ÿฆธ๐Ÿผโ€โ™€๏ธ","๐Ÿฆธ๐Ÿผโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿผ","๐Ÿฆธ๐Ÿฝโ€โ™€๏ธ","๐Ÿฆธ๐Ÿฝโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿฝ","๐Ÿฆธ๐Ÿพโ€โ™€๏ธ","๐Ÿฆธ๐Ÿพโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿพ","๐Ÿฆธ๐Ÿฟโ€โ™€๏ธ","๐Ÿฆธ๐Ÿฟโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿฟ","๐Ÿฆธโ€โ™€๏ธ","๐Ÿฆธโ€โ™‚๏ธ","๐Ÿฆธ","๐Ÿฆน๐Ÿปโ€โ™€๏ธ","๐Ÿฆน๐Ÿปโ€โ™‚๏ธ","๐Ÿฆน๐Ÿป","๐Ÿฆน๐Ÿผโ€โ™€๏ธ","๐Ÿฆน๐Ÿผโ€โ™‚๏ธ","๐Ÿฆน๐Ÿผ","๐Ÿฆน๐Ÿฝโ€โ™€๏ธ","๐Ÿฆน๐Ÿฝโ€โ™‚๏ธ","๐Ÿฆน๐Ÿฝ","๐Ÿฆน๐Ÿพโ€โ™€๏ธ","๐Ÿฆน๐Ÿพโ€โ™‚๏ธ","๐Ÿฆน๐Ÿพ","๐Ÿฆน๐Ÿฟโ€โ™€๏ธ","๐Ÿฆน๐Ÿฟโ€โ™‚๏ธ","๐Ÿฆน๐Ÿฟ","๐Ÿฆนโ€โ™€๏ธ","๐Ÿฆนโ€โ™‚๏ธ","๐Ÿฆน","๐Ÿฆบ","๐Ÿฆป๐Ÿป","๐Ÿฆป๐Ÿผ","๐Ÿฆป๐Ÿฝ","๐Ÿฆป๐Ÿพ","๐Ÿฆป๐Ÿฟ","๐Ÿฆป","๐Ÿฆผ","๐Ÿฆฝ","๐Ÿฆพ","๐Ÿฆฟ","๐Ÿง€","๐Ÿง","๐Ÿง‚","๐Ÿงƒ","๐Ÿง„","๐Ÿง…","๐Ÿง†","๐Ÿง‡","๐Ÿงˆ","๐Ÿง‰","๐ŸงŠ","๐Ÿง๐Ÿปโ€โ™€๏ธ","๐Ÿง๐Ÿปโ€โ™‚๏ธ","๐Ÿง๐Ÿป","๐Ÿง๐Ÿผโ€โ™€๏ธ","๐Ÿง๐Ÿผโ€โ™‚๏ธ","๐Ÿง๐Ÿผ","๐Ÿง๐Ÿฝโ€โ™€๏ธ","๐Ÿง๐Ÿฝโ€โ™‚๏ธ","๐Ÿง๐Ÿฝ","๐Ÿง๐Ÿพโ€โ™€๏ธ","๐Ÿง๐Ÿพโ€โ™‚๏ธ","๐Ÿง๐Ÿพ","๐Ÿง๐Ÿฟโ€โ™€๏ธ","๐Ÿง๐Ÿฟโ€โ™‚๏ธ","๐Ÿง๐Ÿฟ","๐Ÿงโ€โ™€๏ธ","๐Ÿงโ€โ™‚๏ธ","๐Ÿง","๐ŸงŽ๐Ÿปโ€โ™€๏ธ","๐ŸงŽ๐Ÿปโ€โ™‚๏ธ","๐ŸงŽ๐Ÿป","๐ŸงŽ๐Ÿผโ€โ™€๏ธ","๐ŸงŽ๐Ÿผโ€โ™‚๏ธ","๐ŸงŽ๐Ÿผ","๐ŸงŽ๐Ÿฝโ€โ™€๏ธ","๐ŸงŽ๐Ÿฝโ€โ™‚๏ธ","๐ŸงŽ๐Ÿฝ","๐ŸงŽ๐Ÿพโ€โ™€๏ธ","๐ŸงŽ๐Ÿพโ€โ™‚๏ธ","๐ŸงŽ๐Ÿพ","๐ŸงŽ๐Ÿฟโ€โ™€๏ธ","๐ŸงŽ๐Ÿฟโ€โ™‚๏ธ","๐ŸงŽ๐Ÿฟ","๐ŸงŽโ€โ™€๏ธ","๐ŸงŽโ€โ™‚๏ธ","๐ŸงŽ","๐Ÿง๐Ÿปโ€โ™€๏ธ","๐Ÿง๐Ÿปโ€โ™‚๏ธ","๐Ÿง๐Ÿป","๐Ÿง๐Ÿผโ€โ™€๏ธ","๐Ÿง๐Ÿผโ€โ™‚๏ธ","๐Ÿง๐Ÿผ","๐Ÿง๐Ÿฝโ€โ™€๏ธ","๐Ÿง๐Ÿฝโ€โ™‚๏ธ","๐Ÿง๐Ÿฝ","๐Ÿง๐Ÿพโ€โ™€๏ธ","๐Ÿง๐Ÿพโ€โ™‚๏ธ","๐Ÿง๐Ÿพ","๐Ÿง๐Ÿฟโ€โ™€๏ธ","๐Ÿง๐Ÿฟโ€โ™‚๏ธ","๐Ÿง๐Ÿฟ","๐Ÿงโ€โ™€๏ธ","๐Ÿงโ€โ™‚๏ธ","๐Ÿง","๐Ÿง","๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ","๐Ÿง‘๐Ÿพ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ","๐Ÿง‘๐Ÿฟ","๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘","๐Ÿง‘","๐Ÿง’๐Ÿป","๐Ÿง’๐Ÿผ","๐Ÿง’๐Ÿฝ","๐Ÿง’๐Ÿพ","๐Ÿง’๐Ÿฟ","๐Ÿง’","๐Ÿง“๐Ÿป","๐Ÿง“๐Ÿผ","๐Ÿง“๐Ÿฝ","๐Ÿง“๐Ÿพ","๐Ÿง“๐Ÿฟ","๐Ÿง“","๐Ÿง”๐Ÿป","๐Ÿง”๐Ÿผ","๐Ÿง”๐Ÿฝ","๐Ÿง”๐Ÿพ","๐Ÿง”๐Ÿฟ","๐Ÿง”","๐Ÿง•๐Ÿป","๐Ÿง•๐Ÿผ","๐Ÿง•๐Ÿฝ","๐Ÿง•๐Ÿพ","๐Ÿง•๐Ÿฟ","๐Ÿง•","๐Ÿง–๐Ÿปโ€โ™€๏ธ","๐Ÿง–๐Ÿปโ€โ™‚๏ธ","๐Ÿง–๐Ÿป","๐Ÿง–๐Ÿผโ€โ™€๏ธ","๐Ÿง–๐Ÿผโ€โ™‚๏ธ","๐Ÿง–๐Ÿผ","๐Ÿง–๐Ÿฝโ€โ™€๏ธ","๐Ÿง–๐Ÿฝโ€โ™‚๏ธ","๐Ÿง–๐Ÿฝ","๐Ÿง–๐Ÿพโ€โ™€๏ธ","๐Ÿง–๐Ÿพโ€โ™‚๏ธ","๐Ÿง–๐Ÿพ","๐Ÿง–๐Ÿฟโ€โ™€๏ธ","๐Ÿง–๐Ÿฟโ€โ™‚๏ธ","๐Ÿง–๐Ÿฟ","๐Ÿง–โ€โ™€๏ธ","๐Ÿง–โ€โ™‚๏ธ","๐Ÿง–","๐Ÿง—๐Ÿปโ€โ™€๏ธ","๐Ÿง—๐Ÿปโ€โ™‚๏ธ","๐Ÿง—๐Ÿป","๐Ÿง—๐Ÿผโ€โ™€๏ธ","๐Ÿง—๐Ÿผโ€โ™‚๏ธ","๐Ÿง—๐Ÿผ","๐Ÿง—๐Ÿฝโ€โ™€๏ธ","๐Ÿง—๐Ÿฝโ€โ™‚๏ธ","๐Ÿง—๐Ÿฝ","๐Ÿง—๐Ÿพโ€โ™€๏ธ","๐Ÿง—๐Ÿพโ€โ™‚๏ธ","๐Ÿง—๐Ÿพ","๐Ÿง—๐Ÿฟโ€โ™€๏ธ","๐Ÿง—๐Ÿฟโ€โ™‚๏ธ","๐Ÿง—๐Ÿฟ","๐Ÿง—โ€โ™€๏ธ","๐Ÿง—โ€โ™‚๏ธ","๐Ÿง—","๐Ÿง˜๐Ÿปโ€โ™€๏ธ","๐Ÿง˜๐Ÿปโ€โ™‚๏ธ","๐Ÿง˜๐Ÿป","๐Ÿง˜๐Ÿผโ€โ™€๏ธ","๐Ÿง˜๐Ÿผโ€โ™‚๏ธ","๐Ÿง˜๐Ÿผ","๐Ÿง˜๐Ÿฝโ€โ™€๏ธ","๐Ÿง˜๐Ÿฝโ€โ™‚๏ธ","๐Ÿง˜๐Ÿฝ","๐Ÿง˜๐Ÿพโ€โ™€๏ธ","๐Ÿง˜๐Ÿพโ€โ™‚๏ธ","๐Ÿง˜๐Ÿพ","๐Ÿง˜๐Ÿฟโ€โ™€๏ธ","๐Ÿง˜๐Ÿฟโ€โ™‚๏ธ","๐Ÿง˜๐Ÿฟ","๐Ÿง˜โ€โ™€๏ธ","๐Ÿง˜โ€โ™‚๏ธ","๐Ÿง˜","๐Ÿง™๐Ÿปโ€โ™€๏ธ","๐Ÿง™๐Ÿปโ€โ™‚๏ธ","๐Ÿง™๐Ÿป","๐Ÿง™๐Ÿผโ€โ™€๏ธ","๐Ÿง™๐Ÿผโ€โ™‚๏ธ","๐Ÿง™๐Ÿผ","๐Ÿง™๐Ÿฝโ€โ™€๏ธ","๐Ÿง™๐Ÿฝโ€โ™‚๏ธ","๐Ÿง™๐Ÿฝ","๐Ÿง™๐Ÿพโ€โ™€๏ธ","๐Ÿง™๐Ÿพโ€โ™‚๏ธ","๐Ÿง™๐Ÿพ","๐Ÿง™๐Ÿฟโ€โ™€๏ธ","๐Ÿง™๐Ÿฟโ€โ™‚๏ธ","๐Ÿง™๐Ÿฟ","๐Ÿง™โ€โ™€๏ธ","๐Ÿง™โ€โ™‚๏ธ","๐Ÿง™","๐Ÿงš๐Ÿปโ€โ™€๏ธ","๐Ÿงš๐Ÿปโ€โ™‚๏ธ","๐Ÿงš๐Ÿป","๐Ÿงš๐Ÿผโ€โ™€๏ธ","๐Ÿงš๐Ÿผโ€โ™‚๏ธ","๐Ÿงš๐Ÿผ","๐Ÿงš๐Ÿฝโ€โ™€๏ธ","๐Ÿงš๐Ÿฝโ€โ™‚๏ธ","๐Ÿงš๐Ÿฝ","๐Ÿงš๐Ÿพโ€โ™€๏ธ","๐Ÿงš๐Ÿพโ€โ™‚๏ธ","๐Ÿงš๐Ÿพ","๐Ÿงš๐Ÿฟโ€โ™€๏ธ","๐Ÿงš๐Ÿฟโ€โ™‚๏ธ","๐Ÿงš๐Ÿฟ","๐Ÿงšโ€โ™€๏ธ","๐Ÿงšโ€โ™‚๏ธ","๐Ÿงš","๐Ÿง›๐Ÿปโ€โ™€๏ธ","๐Ÿง›๐Ÿปโ€โ™‚๏ธ","๐Ÿง›๐Ÿป","๐Ÿง›๐Ÿผโ€โ™€๏ธ","๐Ÿง›๐Ÿผโ€โ™‚๏ธ","๐Ÿง›๐Ÿผ","๐Ÿง›๐Ÿฝโ€โ™€๏ธ","๐Ÿง›๐Ÿฝโ€โ™‚๏ธ","๐Ÿง›๐Ÿฝ","๐Ÿง›๐Ÿพโ€โ™€๏ธ","๐Ÿง›๐Ÿพโ€โ™‚๏ธ","๐Ÿง›๐Ÿพ","๐Ÿง›๐Ÿฟโ€โ™€๏ธ","๐Ÿง›๐Ÿฟโ€โ™‚๏ธ","๐Ÿง›๐Ÿฟ","๐Ÿง›โ€โ™€๏ธ","๐Ÿง›โ€โ™‚๏ธ","๐Ÿง›","๐Ÿงœ๐Ÿปโ€โ™€๏ธ","๐Ÿงœ๐Ÿปโ€โ™‚๏ธ","๐Ÿงœ๐Ÿป","๐Ÿงœ๐Ÿผโ€โ™€๏ธ","๐Ÿงœ๐Ÿผโ€โ™‚๏ธ","๐Ÿงœ๐Ÿผ","๐Ÿงœ๐Ÿฝโ€โ™€๏ธ","๐Ÿงœ๐Ÿฝโ€โ™‚๏ธ","๐Ÿงœ๐Ÿฝ","๐Ÿงœ๐Ÿพโ€โ™€๏ธ","๐Ÿงœ๐Ÿพโ€โ™‚๏ธ","๐Ÿงœ๐Ÿพ","๐Ÿงœ๐Ÿฟโ€โ™€๏ธ","๐Ÿงœ๐Ÿฟโ€โ™‚๏ธ","๐Ÿงœ๐Ÿฟ","๐Ÿงœโ€โ™€๏ธ","๐Ÿงœโ€โ™‚๏ธ","๐Ÿงœ","๐Ÿง๐Ÿปโ€โ™€๏ธ","๐Ÿง๐Ÿปโ€โ™‚๏ธ","๐Ÿง๐Ÿป","๐Ÿง๐Ÿผโ€โ™€๏ธ","๐Ÿง๐Ÿผโ€โ™‚๏ธ","๐Ÿง๐Ÿผ","๐Ÿง๐Ÿฝโ€โ™€๏ธ","๐Ÿง๐Ÿฝโ€โ™‚๏ธ","๐Ÿง๐Ÿฝ","๐Ÿง๐Ÿพโ€โ™€๏ธ","๐Ÿง๐Ÿพโ€โ™‚๏ธ","๐Ÿง๐Ÿพ","๐Ÿง๐Ÿฟโ€โ™€๏ธ","๐Ÿง๐Ÿฟโ€โ™‚๏ธ","๐Ÿง๐Ÿฟ","๐Ÿงโ€โ™€๏ธ","๐Ÿงโ€โ™‚๏ธ","๐Ÿง","๐Ÿงžโ€โ™€๏ธ","๐Ÿงžโ€โ™‚๏ธ","๐Ÿงž","๐ŸงŸโ€โ™€๏ธ","๐ŸงŸโ€โ™‚๏ธ","๐ŸงŸ","๐Ÿง ","๐Ÿงก","๐Ÿงข","๐Ÿงฃ","๐Ÿงค","๐Ÿงฅ","๐Ÿงฆ","๐Ÿงง","๐Ÿงจ","๐Ÿงฉ","๐Ÿงช","๐Ÿงซ","๐Ÿงฌ","๐Ÿงญ","๐Ÿงฎ","๐Ÿงฏ","๐Ÿงฐ","๐Ÿงฑ","๐Ÿงฒ","๐Ÿงณ","๐Ÿงด","๐Ÿงต","๐Ÿงถ","๐Ÿงท","๐Ÿงธ","๐Ÿงน","๐Ÿงบ","๐Ÿงป","๐Ÿงผ","๐Ÿงฝ","๐Ÿงพ","๐Ÿงฟ","๐Ÿฉฐ","๐Ÿฉฑ","๐Ÿฉฒ","๐Ÿฉณ","๐Ÿฉธ","๐Ÿฉน","๐Ÿฉบ","๐Ÿช€","๐Ÿช","๐Ÿช‚","๐Ÿช","๐Ÿช‘","๐Ÿช’","๐Ÿช“","๐Ÿช”","๐Ÿช•","โ€ผ๏ธ","โ‰๏ธ","โ„ข๏ธ","โ„น๏ธ","โ†”๏ธ","โ†•๏ธ","โ†–๏ธ","โ†—๏ธ","โ†˜๏ธ","โ†™๏ธ","โ†ฉ๏ธ","โ†ช๏ธ","#โƒฃ","โŒš๏ธ","โŒ›๏ธ","โŒจ๏ธ","โ๏ธ","โฉ","โช","โซ","โฌ","โญ๏ธ","โฎ๏ธ","โฏ๏ธ","โฐ","โฑ๏ธ","โฒ๏ธ","โณ","โธ๏ธ","โน๏ธ","โบ๏ธ","โ“‚๏ธ","โ–ช๏ธ","โ–ซ๏ธ","โ–ถ๏ธ","โ—€๏ธ","โ—ป๏ธ","โ—ผ๏ธ","โ—ฝ๏ธ","โ—พ๏ธ","โ˜€๏ธ","โ˜๏ธ","โ˜‚๏ธ","โ˜ƒ๏ธ","โ˜„๏ธ","โ˜Ž๏ธ","โ˜‘๏ธ","โ˜”๏ธ","โ˜•๏ธ","โ˜˜๏ธ","โ˜๐Ÿป","โ˜๐Ÿผ","โ˜๐Ÿฝ","โ˜๐Ÿพ","โ˜๐Ÿฟ","โ˜๏ธ","โ˜ ๏ธ","โ˜ข๏ธ","โ˜ฃ๏ธ","โ˜ฆ๏ธ","โ˜ช๏ธ","โ˜ฎ๏ธ","โ˜ฏ๏ธ","โ˜ธ๏ธ","โ˜น๏ธ","โ˜บ๏ธ","โ™€๏ธ","โ™‚๏ธ","โ™ˆ๏ธ","โ™‰๏ธ","โ™Š๏ธ","โ™‹๏ธ","โ™Œ๏ธ","โ™๏ธ","โ™Ž๏ธ","โ™๏ธ","โ™๏ธ","โ™‘๏ธ","โ™’๏ธ","โ™“๏ธ","โ™Ÿ๏ธ","โ™ ๏ธ","โ™ฃ๏ธ","โ™ฅ๏ธ","โ™ฆ๏ธ","โ™จ๏ธ","โ™ป๏ธ","โ™พ","โ™ฟ๏ธ","โš’๏ธ","โš“๏ธ","โš”๏ธ","โš•๏ธ","โš–๏ธ","โš—๏ธ","โš™๏ธ","โš›๏ธ","โšœ๏ธ","โš ๏ธ","โšก๏ธ","โšช๏ธ","โšซ๏ธ","โšฐ๏ธ","โšฑ๏ธ","โšฝ๏ธ","โšพ๏ธ","โ›„๏ธ","โ›…๏ธ","โ›ˆ๏ธ","โ›Ž","โ›๏ธ","โ›‘๏ธ","โ›“๏ธ","โ›”๏ธ","โ›ฉ๏ธ","โ›ช๏ธ","โ›ฐ๏ธ","โ›ฑ๏ธ","โ›ฒ๏ธ","โ›ณ๏ธ","โ›ด๏ธ","โ›ต๏ธ","โ›ท๐Ÿป","โ›ท๐Ÿผ","โ›ท๐Ÿฝ","โ›ท๐Ÿพ","โ›ท๐Ÿฟ","โ›ท๏ธ","โ›ธ๏ธ","โ›น๐Ÿปโ€โ™€๏ธ","โ›น๐Ÿปโ€โ™‚๏ธ","โ›น๐Ÿป","โ›น๐Ÿผโ€โ™€๏ธ","โ›น๐Ÿผโ€โ™‚๏ธ","โ›น๐Ÿผ","โ›น๐Ÿฝโ€โ™€๏ธ","โ›น๐Ÿฝโ€โ™‚๏ธ","โ›น๐Ÿฝ","โ›น๐Ÿพโ€โ™€๏ธ","โ›น๐Ÿพโ€โ™‚๏ธ","โ›น๐Ÿพ","โ›น๐Ÿฟโ€โ™€๏ธ","โ›น๐Ÿฟโ€โ™‚๏ธ","โ›น๐Ÿฟ","โ›น๏ธโ€โ™€๏ธ","โ›น๏ธโ€โ™‚๏ธ","โ›น๏ธ","โ›บ๏ธ","โ›ฝ๏ธ","โœ‚๏ธ","โœ…","โœˆ๏ธ","โœ‰๏ธ","โœŠ๐Ÿป","โœŠ๐Ÿผ","โœŠ๐Ÿฝ","โœŠ๐Ÿพ","โœŠ๐Ÿฟ","โœŠ","โœ‹๐Ÿป","โœ‹๐Ÿผ","โœ‹๐Ÿฝ","โœ‹๐Ÿพ","โœ‹๐Ÿฟ","โœ‹","โœŒ๐Ÿป","โœŒ๐Ÿผ","โœŒ๐Ÿฝ","โœŒ๐Ÿพ","โœŒ๐Ÿฟ","โœŒ๏ธ","โœ๐Ÿป","โœ๐Ÿผ","โœ๐Ÿฝ","โœ๐Ÿพ","โœ๐Ÿฟ","โœ๏ธ","โœ๏ธ","โœ’๏ธ","โœ”๏ธ","โœ–๏ธ","โœ๏ธ","โœก๏ธ","โœจ","โœณ๏ธ","โœด๏ธ","โ„๏ธ","โ‡๏ธ","โŒ","โŽ","โ“","โ”","โ•","โ—๏ธ","โฃ๏ธ","โค๏ธ","โž•","โž–","โž—","โžก๏ธ","โžฐ","โžฟ","โคด๏ธ","โคต๏ธ","*โƒฃ","โฌ…๏ธ","โฌ†๏ธ","โฌ‡๏ธ","โฌ›๏ธ","โฌœ๏ธ","โญ๏ธ","โญ•๏ธ","0โƒฃ","ใ€ฐ๏ธ","ใ€ฝ๏ธ","1โƒฃ","2โƒฃ","ใŠ—๏ธ","ใŠ™๏ธ","3โƒฃ","4โƒฃ","5โƒฃ","6โƒฃ","7โƒฃ","8โƒฃ","9โƒฃ","ยฉ๏ธ","ยฎ๏ธ","๎”Š"]},821:t=>{"use strict";function getCurrentRequest(t){if(t.currentRequest){return t.currentRequest}const e=t.loaders.slice(t.loaderIndex).map(t=>t.request).concat([t.resource]);return e.join("!")}t.exports=getCurrentRequest},567:(t,e,s)=>{"use strict";const n={26:"abcdefghijklmnopqrstuvwxyz",32:"123456789abcdefghjkmnpqrstuvwxyz",36:"0123456789abcdefghijklmnopqrstuvwxyz",49:"abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",52:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",64:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"};function encodeBufferToBase(t,e){const r=n[e];if(!r){throw new Error("Unknown encoding base"+e)}const i=t.length;const f=s(774);f.RM=f.DP=0;let o=new f(0);for(let e=i-1;e>=0;e--){o=o.times(256).plus(t[e])}let u="";while(o.gt(0)){u=r[o.mod(e)]+u;o=o.div(e)}f.DP=20;f.RM=1;return u}function getHashDigest(t,e,n,r){e=e||"md4";r=r||9999;const i=s(417).createHash(e);i.update(t);if(n==="base26"||n==="base32"||n==="base36"||n==="base49"||n==="base52"||n==="base58"||n==="base62"||n==="base64"){return encodeBufferToBase(i.digest(),n.substr(4)).substr(0,r)}else{return i.digest(n||"hex").substr(0,r)}}t.exports=getHashDigest},445:(t,e,s)=>{"use strict";const n=s(867);function getOptions(t){const e=t.query;if(typeof e==="string"&&e!==""){return n(t.query)}if(!e||typeof e!=="object"){return{}}return e}t.exports=getOptions},715:t=>{"use strict";function getRemainingRequest(t){if(t.remainingRequest){return t.remainingRequest}const e=t.loaders.slice(t.loaderIndex+1).map(t=>t.request).concat([t.resource]);return e.join("!")}t.exports=getRemainingRequest},432:(t,e,s)=>{"use strict";const n=s(445);const r=s(867);const i=s(252);const f=s(715);const o=s(821);const u=s(507);const c=s(685);const h=s(784);const g=s(567);const p=s(939);e.getOptions=n;e.parseQuery=r;e.stringifyRequest=i;e.getRemainingRequest=f;e.getCurrentRequest=o;e.isUrlRequest=u;e.urlToRequest=c;e.parseString=h;e.getHashDigest=g;e.interpolateName=p},939:(t,e,s)=>{"use strict";const n=s(622);const r=s(999);const i=s(567);const f=/[\uD800-\uDFFF]./;const o=r.filter(t=>f.test(t));const u={};function encodeStringToEmoji(t,e){if(u[t]){return u[t]}e=e||1;const s=[];do{if(!o.length){throw new Error("Ran out of emoji")}const t=Math.floor(Math.random()*o.length);s.push(o[t]);o.splice(t,1)}while(--e>0);const n=s.join("");u[t]=n;return n}function interpolateName(t,e,s){let r;const f=t.resourceQuery&&t.resourceQuery.length>1;if(typeof e==="function"){r=e(t.resourcePath,f?t.resourceQuery:undefined)}else{r=e||"[hash].[ext]"}const o=s.context;const u=s.content;const c=s.regExp;let h="bin";let g="file";let p="";let l="";let a="";if(t.resourcePath){const e=n.parse(t.resourcePath);let s=t.resourcePath;if(e.ext){h=e.ext.substr(1)}if(e.dir){g=e.name;s=e.dir+n.sep}if(typeof o!=="undefined"){p=n.relative(o,s+"_").replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1");p=p.substr(0,p.length-1)}else{p=s.replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1")}if(p.length===1){p=""}else if(p.length>1){l=n.basename(p)}}if(t.resourceQuery&&t.resourceQuery.length>1){a=t.resourceQuery;const e=a.indexOf("#");if(e>=0){a=a.substr(0,e)}}let w=r;if(u){w=w.replace(/\[(?:([^:\]]+):)?(?:hash|contenthash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi,(t,e,s,n)=>i(u,e,s,parseInt(n,10))).replace(/\[emoji(?::(\d+))?\]/gi,(t,e)=>encodeStringToEmoji(u,parseInt(e,10)))}w=w.replace(/\[ext\]/gi,()=>h).replace(/\[name\]/gi,()=>g).replace(/\[path\]/gi,()=>p).replace(/\[folder\]/gi,()=>l).replace(/\[query\]/gi,()=>a);if(c&&t.resourcePath){const e=t.resourcePath.match(new RegExp(c));e&&e.forEach((t,e)=>{w=w.replace(new RegExp("\\["+e+"\\]","ig"),t)})}if(typeof t.options==="object"&&typeof t.options.customInterpolateName==="function"){w=t.options.customInterpolateName.call(t,w,e,s)}return w}t.exports=interpolateName},507:(t,e,s)=>{"use strict";const n=s(622);function isUrlRequest(t,e){if(/^[a-z][a-z0-9+.-]*:/i.test(t)&&!n.win32.isAbsolute(t)){return false}if(/^\/\//.test(t)){return false}if(/^[{}[\]#*;,'ยง$%&(=?`ยด^ยฐ<>]/.test(t)){return false}if((e===undefined||e===false)&&/^\//.test(t)){return false}return true}t.exports=isUrlRequest},867:(t,e,s)=>{"use strict";const n=s(170);const r={null:null,true:true,false:false};function parseQuery(t){if(t.substr(0,1)!=="?"){throw new Error("A valid query string passed to parseQuery should begin with '?'")}t=t.substr(1);if(!t){return{}}if(t.substr(0,1)==="{"&&t.substr(-1)==="}"){return n.parse(t)}const e=t.split(/[,&]/g);const s={};e.forEach(t=>{const e=t.indexOf("=");if(e>=0){let n=t.substr(0,e);let i=decodeURIComponent(t.substr(e+1));if(r.hasOwnProperty(i)){i=r[i]}if(n.substr(-2)==="[]"){n=decodeURIComponent(n.substr(0,n.length-2));if(!Array.isArray(s[n])){s[n]=[]}s[n].push(i)}else{n=decodeURIComponent(n);s[n]=i}}else{if(t.substr(0,1)==="-"){s[decodeURIComponent(t.substr(1))]=false}else if(t.substr(0,1)==="+"){s[decodeURIComponent(t.substr(1))]=true}else{s[decodeURIComponent(t)]=true}}});return s}t.exports=parseQuery},784:t=>{"use strict";function parseString(t){try{if(t[0]==='"'){return JSON.parse(t)}if(t[0]==="'"&&t.substr(t.length-1)==="'"){return parseString(t.replace(/\\.|"/g,t=>t==='"'?'\\"':t).replace(/^'|'$/g,'"'))}return JSON.parse('"'+t+'"')}catch(e){return t}}t.exports=parseString},252:(t,e,s)=>{"use strict";const n=s(622);const r=/^\.\.?[/\\]/;function isAbsolutePath(t){return n.posix.isAbsolute(t)||n.win32.isAbsolute(t)}function isRelativePath(t){return r.test(t)}function stringifyRequest(t,e){const s=e.split("!");const r=t.context||t.options&&t.options.context;return JSON.stringify(s.map(t=>{const e=t.match(/^(.*?)(\?.*)/);const s=e?e[2]:"";let i=e?e[1]:t;if(isAbsolutePath(i)&&r){i=n.relative(r,i);if(isAbsolutePath(i)){return i+s}if(isRelativePath(i)===false){i="./"+i}}return i.replace(/\\/g,"/")+s}).join("!"))}t.exports=stringifyRequest},685:t=>{"use strict";const e=/^[A-Z]:[/\\]|^\\\\/i;function urlToRequest(t,s){if(t===""){return""}const n=/^[^?]*~/;let r;if(e.test(t)){r=t}else if(s!==undefined&&s!==false&&/^\//.test(t)){switch(typeof s){case"string":if(n.test(s)){r=s.replace(/([^~/])$/,"$1/")+t.slice(1)}else{r=s+t}break;case"boolean":r=t;break;default:throw new Error("Unexpected parameters to loader-utils 'urlToRequest': url = "+t+", root = "+s+".")}}else if(/^\.\.?\//.test(t)){r=t}else{r="./"+t}if(n.test(r)){r=r.replace(n,"")}return r}t.exports=urlToRequest},417:t=>{"use strict";t.exports=require("crypto")},170:t=>{"use strict";t.exports=require("next/dist/compiled/json5")},622:t=>{"use strict";t.exports=require("path")}};var e={};function __nccwpck_require__(s){if(e[s]){return e[s].exports}var n=e[s]={exports:{}};var r=true;try{t[s].call(n.exports,n,n.exports,__nccwpck_require__);r=false}finally{if(r)delete e[s]}return n.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(432)})(); \ No newline at end of file +module.exports=(()=>{var t={774:function(t){(function(e){"use strict";var s,n=20,r=1,i=1e6,f=1e6,o=-7,u=21,c="[big.js] ",h=c+"Invalid ",g=h+"decimal places",p=h+"rounding mode",l=c+"Division by zero",a={},w=void 0,b=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function _Big_(){function Big(t){var e=this;if(!(e instanceof Big))return t===w?_Big_():new Big(t);if(t instanceof Big){e.s=t.s;e.e=t.e;e.c=t.c.slice()}else{parse(e,t)}e.constructor=Big}Big.prototype=a;Big.DP=n;Big.RM=r;Big.NE=o;Big.PE=u;Big.version="5.2.2";return Big}function parse(t,e){var s,n,r;if(e===0&&1/e<0)e="-0";else if(!b.test(e+=""))throw Error(h+"number");t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1;if((s=e.indexOf("."))>-1)e=e.replace(".","");if((n=e.search(/e/i))>0){if(s<0)s=n;s+=+e.slice(n+1);e=e.substring(0,n)}else if(s<0){s=e.length}r=e.length;for(n=0;n0&&e.charAt(--r)=="0";);t.e=s-n-1;t.c=[];for(s=0;n<=r;)t.c[s++]=+e.charAt(n++)}return t}function round(t,e,s,n){var r=t.c,i=t.e+e+1;if(i=5}else if(s===2){n=r[i]>5||r[i]==5&&(n||i<0||r[i+1]!==w||r[i-1]&1)}else if(s===3){n=n||!!r[0]}else{n=false;if(s!==0)throw Error(p)}if(i<1){r.length=1;if(n){t.e=-e;r[0]=1}else{r[0]=t.e=0}}else{r.length=i--;if(n){for(;++r[i]>9;){r[i]=0;if(!i--){++t.e;r.unshift(1)}}}for(i=r.length;!r[--i];)r.pop()}}else if(s<0||s>3||s!==~~s){throw Error(p)}return t}function stringify(t,e,s,n){var r,f,o=t.constructor,u=!t.c[0];if(s!==w){if(s!==~~s||s<(e==3)||s>i){throw Error(e==3?h+"precision":g)}t=new o(t);s=n-t.e;if(t.c.length>++n)round(t,s,o.RM);if(e==2)n=t.e+s+1;for(;t.c.length=o.PE)){f=f.charAt(0)+(s>1?"."+f.slice(1):"")+(r<0?"e":"e+")+r}else if(r<0){for(;++r;)f="0"+f;f="0."+f}else if(r>0){if(++r>s)for(r-=s;r--;)f+="0";else if(r1){f=f.charAt(0)+"."+f.slice(1)}return t.s<0&&(!u||e==4)?"-"+f:f}a.abs=function(){var t=new this.constructor(this);t.s=1;return t};a.cmp=function(t){var e,s=this,n=s.c,r=(t=new s.constructor(t)).c,i=s.s,f=t.s,o=s.e,u=t.e;if(!n[0]||!r[0])return!n[0]?!r[0]?0:-f:i;if(i!=f)return i;e=i<0;if(o!=u)return o>u^e?1:-1;f=(o=n.length)<(u=r.length)?o:u;for(i=-1;++ir[i]^e?1:-1}return o==u?0:o>u^e?1:-1};a.div=function(t){var e=this,s=e.constructor,n=e.c,r=(t=new s(t)).c,f=e.s==t.s?1:-1,o=s.DP;if(o!==~~o||o<0||o>i)throw Error(g);if(!r[0])throw Error(l);if(!n[0])return new s(f*0);var u,c,h,p,a,b=r.slice(),d=u=r.length,R=n.length,v=n.slice(0,u),_=v.length,q=t,P=q.c=[],j=0,y=o+(q.e=e.e-t.e)+1;q.s=f;f=y<0?0:y;b.unshift(0);for(;_++_?1:-1}else{for(a=-1,p=0;++av[a]?1:-1;break}}}if(p<0){for(c=_==u?r:b;_;){if(v[--_]y)round(q,o,s.RM,v[0]!==w);return q};a.eq=function(t){return!this.cmp(t)};a.gt=function(t){return this.cmp(t)>0};a.gte=function(t){return this.cmp(t)>-1};a.lt=function(t){return this.cmp(t)<0};a.lte=function(t){return this.cmp(t)<1};a.minus=a.sub=function(t){var e,s,n,r,i=this,f=i.constructor,o=i.s,u=(t=new f(t)).s;if(o!=u){t.s=-u;return i.plus(t)}var c=i.c.slice(),h=i.e,g=t.c,p=t.e;if(!c[0]||!g[0]){return g[0]?(t.s=-u,t):new f(c[0]?i:0)}if(o=h-p){if(r=o<0){o=-o;n=c}else{p=h;n=g}n.reverse();for(u=o;u--;)n.push(0);n.reverse()}else{s=((r=c.length0)for(;u--;)c[e++]=0;for(u=e;s>o;){if(c[--s]0){u=f;e=c}else{r=-r;e=o}e.reverse();for(;r--;)e.push(0);e.reverse()}if(o.length-c.length<0){e=c;c=o;o=e}r=c.length;for(i=0;r;o[r]%=10)i=(o[--r]=o[r]+c[r]+i)/10|0;if(i){o.unshift(i);++u}for(r=o.length;o[--r]===0;)o.pop();t.c=o;t.e=u;return t};a.pow=function(t){var e=this,s=new e.constructor(1),n=s,r=t<0;if(t!==~~t||t<-f||t>f)throw Error(h+"exponent");if(r)t=-t;for(;;){if(t&1)n=n.times(e);t>>=1;if(!t)break;e=e.times(e)}return r?s.div(n):n};a.round=function(t,e){var s=this.constructor;if(t===w)t=0;else if(t!==~~t||t<-i||t>i)throw Error(g);return round(new s(this),t,e===w?s.RM:e)};a.sqrt=function(){var t,e,s,n=this,r=n.constructor,i=n.s,f=n.e,o=new r(.5);if(!n.c[0])return new r(n);if(i<0)throw Error(c+"No square root");i=Math.sqrt(n+"");if(i===0||i===1/0){e=n.c.join("");if(!(e.length+f&1))e+="0";i=Math.sqrt(e);f=((f+1)/2|0)-(f<0||f&1);t=new r((i==1/0?"1e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+f)}else{t=new r(i)}f=t.e+(r.DP+=4);do{s=t;t=o.times(s.plus(n.div(s)))}while(s.c.slice(0,f).join("")!==t.c.slice(0,f).join(""));return round(t,r.DP-=4,r.RM)};a.times=a.mul=function(t){var e,s=this,n=s.constructor,r=s.c,i=(t=new n(t)).c,f=r.length,o=i.length,u=s.e,c=t.e;t.s=s.s==t.s?1:-1;if(!r[0]||!i[0])return new n(t.s*0);t.e=u+c;if(fu;){o=e[c]+i[u]*r[c-u-1]+o;e[c--]=o%10;o=o/10|0}e[c]=(e[c]+o)%10}if(o)++t.e;else e.shift();for(u=e.length;!e[--u];)e.pop();t.c=e;return t};a.toExponential=function(t){return stringify(this,1,t,t)};a.toFixed=function(t){return stringify(this,2,t,this.e+t)};a.toPrecision=function(t){return stringify(this,3,t,t-1)};a.toString=function(){return stringify(this)};a.valueOf=a.toJSON=function(){return stringify(this,4)};s=_Big_();s["default"]=s.Big=s;if(typeof define==="function"&&define.amd){define(function(){return s})}else if(true&&t.exports){t.exports=s}else{e.Big=s}})(this)},999:t=>{t.exports=["๐Ÿ€„๏ธ","๐Ÿƒ","๐Ÿ…ฐ๏ธ","๐Ÿ…ฑ๏ธ","๐Ÿ…พ๏ธ","๐Ÿ…ฟ๏ธ","๐Ÿ†Ž","๐Ÿ†‘","๐Ÿ†’","๐Ÿ†“","๐Ÿ†”","๐Ÿ†•","๐Ÿ†–","๐Ÿ†—","๐Ÿ†˜","๐Ÿ†™","๐Ÿ†š","๐Ÿ‡ฆ๐Ÿ‡จ","๐Ÿ‡ฆ๐Ÿ‡ฉ","๐Ÿ‡ฆ๐Ÿ‡ช","๐Ÿ‡ฆ๐Ÿ‡ซ","๐Ÿ‡ฆ๐Ÿ‡ฌ","๐Ÿ‡ฆ๐Ÿ‡ฎ","๐Ÿ‡ฆ๐Ÿ‡ฑ","๐Ÿ‡ฆ๐Ÿ‡ฒ","๐Ÿ‡ฆ๐Ÿ‡ด","๐Ÿ‡ฆ๐Ÿ‡ถ","๐Ÿ‡ฆ๐Ÿ‡ท","๐Ÿ‡ฆ๐Ÿ‡ธ","๐Ÿ‡ฆ๐Ÿ‡น","๐Ÿ‡ฆ๐Ÿ‡บ","๐Ÿ‡ฆ๐Ÿ‡ผ","๐Ÿ‡ฆ๐Ÿ‡ฝ","๐Ÿ‡ฆ๐Ÿ‡ฟ","๐Ÿ‡ฆ","๐Ÿ‡ง๐Ÿ‡ฆ","๐Ÿ‡ง๐Ÿ‡ง","๐Ÿ‡ง๐Ÿ‡ฉ","๐Ÿ‡ง๐Ÿ‡ช","๐Ÿ‡ง๐Ÿ‡ซ","๐Ÿ‡ง๐Ÿ‡ฌ","๐Ÿ‡ง๐Ÿ‡ญ","๐Ÿ‡ง๐Ÿ‡ฎ","๐Ÿ‡ง๐Ÿ‡ฏ","๐Ÿ‡ง๐Ÿ‡ฑ","๐Ÿ‡ง๐Ÿ‡ฒ","๐Ÿ‡ง๐Ÿ‡ณ","๐Ÿ‡ง๐Ÿ‡ด","๐Ÿ‡ง๐Ÿ‡ถ","๐Ÿ‡ง๐Ÿ‡ท","๐Ÿ‡ง๐Ÿ‡ธ","๐Ÿ‡ง๐Ÿ‡น","๐Ÿ‡ง๐Ÿ‡ป","๐Ÿ‡ง๐Ÿ‡ผ","๐Ÿ‡ง๐Ÿ‡พ","๐Ÿ‡ง๐Ÿ‡ฟ","๐Ÿ‡ง","๐Ÿ‡จ๐Ÿ‡ฆ","๐Ÿ‡จ๐Ÿ‡จ","๐Ÿ‡จ๐Ÿ‡ฉ","๐Ÿ‡จ๐Ÿ‡ซ","๐Ÿ‡จ๐Ÿ‡ฌ","๐Ÿ‡จ๐Ÿ‡ญ","๐Ÿ‡จ๐Ÿ‡ฎ","๐Ÿ‡จ๐Ÿ‡ฐ","๐Ÿ‡จ๐Ÿ‡ฑ","๐Ÿ‡จ๐Ÿ‡ฒ","๐Ÿ‡จ๐Ÿ‡ณ","๐Ÿ‡จ๐Ÿ‡ด","๐Ÿ‡จ๐Ÿ‡ต","๐Ÿ‡จ๐Ÿ‡ท","๐Ÿ‡จ๐Ÿ‡บ","๐Ÿ‡จ๐Ÿ‡ป","๐Ÿ‡จ๐Ÿ‡ผ","๐Ÿ‡จ๐Ÿ‡ฝ","๐Ÿ‡จ๐Ÿ‡พ","๐Ÿ‡จ๐Ÿ‡ฟ","๐Ÿ‡จ","๐Ÿ‡ฉ๐Ÿ‡ช","๐Ÿ‡ฉ๐Ÿ‡ฌ","๐Ÿ‡ฉ๐Ÿ‡ฏ","๐Ÿ‡ฉ๐Ÿ‡ฐ","๐Ÿ‡ฉ๐Ÿ‡ฒ","๐Ÿ‡ฉ๐Ÿ‡ด","๐Ÿ‡ฉ๐Ÿ‡ฟ","๐Ÿ‡ฉ","๐Ÿ‡ช๐Ÿ‡ฆ","๐Ÿ‡ช๐Ÿ‡จ","๐Ÿ‡ช๐Ÿ‡ช","๐Ÿ‡ช๐Ÿ‡ฌ","๐Ÿ‡ช๐Ÿ‡ญ","๐Ÿ‡ช๐Ÿ‡ท","๐Ÿ‡ช๐Ÿ‡ธ","๐Ÿ‡ช๐Ÿ‡น","๐Ÿ‡ช๐Ÿ‡บ","๐Ÿ‡ช","๐Ÿ‡ซ๐Ÿ‡ฎ","๐Ÿ‡ซ๐Ÿ‡ฏ","๐Ÿ‡ซ๐Ÿ‡ฐ","๐Ÿ‡ซ๐Ÿ‡ฒ","๐Ÿ‡ซ๐Ÿ‡ด","๐Ÿ‡ซ๐Ÿ‡ท","๐Ÿ‡ซ","๐Ÿ‡ฌ๐Ÿ‡ฆ","๐Ÿ‡ฌ๐Ÿ‡ง","๐Ÿ‡ฌ๐Ÿ‡ฉ","๐Ÿ‡ฌ๐Ÿ‡ช","๐Ÿ‡ฌ๐Ÿ‡ซ","๐Ÿ‡ฌ๐Ÿ‡ฌ","๐Ÿ‡ฌ๐Ÿ‡ญ","๐Ÿ‡ฌ๐Ÿ‡ฎ","๐Ÿ‡ฌ๐Ÿ‡ฑ","๐Ÿ‡ฌ๐Ÿ‡ฒ","๐Ÿ‡ฌ๐Ÿ‡ณ","๐Ÿ‡ฌ๐Ÿ‡ต","๐Ÿ‡ฌ๐Ÿ‡ถ","๐Ÿ‡ฌ๐Ÿ‡ท","๐Ÿ‡ฌ๐Ÿ‡ธ","๐Ÿ‡ฌ๐Ÿ‡น","๐Ÿ‡ฌ๐Ÿ‡บ","๐Ÿ‡ฌ๐Ÿ‡ผ","๐Ÿ‡ฌ๐Ÿ‡พ","๐Ÿ‡ฌ","๐Ÿ‡ญ๐Ÿ‡ฐ","๐Ÿ‡ญ๐Ÿ‡ฒ","๐Ÿ‡ญ๐Ÿ‡ณ","๐Ÿ‡ญ๐Ÿ‡ท","๐Ÿ‡ญ๐Ÿ‡น","๐Ÿ‡ญ๐Ÿ‡บ","๐Ÿ‡ญ","๐Ÿ‡ฎ๐Ÿ‡จ","๐Ÿ‡ฎ๐Ÿ‡ฉ","๐Ÿ‡ฎ๐Ÿ‡ช","๐Ÿ‡ฎ๐Ÿ‡ฑ","๐Ÿ‡ฎ๐Ÿ‡ฒ","๐Ÿ‡ฎ๐Ÿ‡ณ","๐Ÿ‡ฎ๐Ÿ‡ด","๐Ÿ‡ฎ๐Ÿ‡ถ","๐Ÿ‡ฎ๐Ÿ‡ท","๐Ÿ‡ฎ๐Ÿ‡ธ","๐Ÿ‡ฎ๐Ÿ‡น","๐Ÿ‡ฎ","๐Ÿ‡ฏ๐Ÿ‡ช","๐Ÿ‡ฏ๐Ÿ‡ฒ","๐Ÿ‡ฏ๐Ÿ‡ด","๐Ÿ‡ฏ๐Ÿ‡ต","๐Ÿ‡ฏ","๐Ÿ‡ฐ๐Ÿ‡ช","๐Ÿ‡ฐ๐Ÿ‡ฌ","๐Ÿ‡ฐ๐Ÿ‡ญ","๐Ÿ‡ฐ๐Ÿ‡ฎ","๐Ÿ‡ฐ๐Ÿ‡ฒ","๐Ÿ‡ฐ๐Ÿ‡ณ","๐Ÿ‡ฐ๐Ÿ‡ต","๐Ÿ‡ฐ๐Ÿ‡ท","๐Ÿ‡ฐ๐Ÿ‡ผ","๐Ÿ‡ฐ๐Ÿ‡พ","๐Ÿ‡ฐ๐Ÿ‡ฟ","๐Ÿ‡ฐ","๐Ÿ‡ฑ๐Ÿ‡ฆ","๐Ÿ‡ฑ๐Ÿ‡ง","๐Ÿ‡ฑ๐Ÿ‡จ","๐Ÿ‡ฑ๐Ÿ‡ฎ","๐Ÿ‡ฑ๐Ÿ‡ฐ","๐Ÿ‡ฑ๐Ÿ‡ท","๐Ÿ‡ฑ๐Ÿ‡ธ","๐Ÿ‡ฑ๐Ÿ‡น","๐Ÿ‡ฑ๐Ÿ‡บ","๐Ÿ‡ฑ๐Ÿ‡ป","๐Ÿ‡ฑ๐Ÿ‡พ","๐Ÿ‡ฑ","๐Ÿ‡ฒ๐Ÿ‡ฆ","๐Ÿ‡ฒ๐Ÿ‡จ","๐Ÿ‡ฒ๐Ÿ‡ฉ","๐Ÿ‡ฒ๐Ÿ‡ช","๐Ÿ‡ฒ๐Ÿ‡ซ","๐Ÿ‡ฒ๐Ÿ‡ฌ","๐Ÿ‡ฒ๐Ÿ‡ญ","๐Ÿ‡ฒ๐Ÿ‡ฐ","๐Ÿ‡ฒ๐Ÿ‡ฑ","๐Ÿ‡ฒ๐Ÿ‡ฒ","๐Ÿ‡ฒ๐Ÿ‡ณ","๐Ÿ‡ฒ๐Ÿ‡ด","๐Ÿ‡ฒ๐Ÿ‡ต","๐Ÿ‡ฒ๐Ÿ‡ถ","๐Ÿ‡ฒ๐Ÿ‡ท","๐Ÿ‡ฒ๐Ÿ‡ธ","๐Ÿ‡ฒ๐Ÿ‡น","๐Ÿ‡ฒ๐Ÿ‡บ","๐Ÿ‡ฒ๐Ÿ‡ป","๐Ÿ‡ฒ๐Ÿ‡ผ","๐Ÿ‡ฒ๐Ÿ‡ฝ","๐Ÿ‡ฒ๐Ÿ‡พ","๐Ÿ‡ฒ๐Ÿ‡ฟ","๐Ÿ‡ฒ","๐Ÿ‡ณ๐Ÿ‡ฆ","๐Ÿ‡ณ๐Ÿ‡จ","๐Ÿ‡ณ๐Ÿ‡ช","๐Ÿ‡ณ๐Ÿ‡ซ","๐Ÿ‡ณ๐Ÿ‡ฌ","๐Ÿ‡ณ๐Ÿ‡ฎ","๐Ÿ‡ณ๐Ÿ‡ฑ","๐Ÿ‡ณ๐Ÿ‡ด","๐Ÿ‡ณ๐Ÿ‡ต","๐Ÿ‡ณ๐Ÿ‡ท","๐Ÿ‡ณ๐Ÿ‡บ","๐Ÿ‡ณ๐Ÿ‡ฟ","๐Ÿ‡ณ","๐Ÿ‡ด๐Ÿ‡ฒ","๐Ÿ‡ด","๐Ÿ‡ต๐Ÿ‡ฆ","๐Ÿ‡ต๐Ÿ‡ช","๐Ÿ‡ต๐Ÿ‡ซ","๐Ÿ‡ต๐Ÿ‡ฌ","๐Ÿ‡ต๐Ÿ‡ญ","๐Ÿ‡ต๐Ÿ‡ฐ","๐Ÿ‡ต๐Ÿ‡ฑ","๐Ÿ‡ต๐Ÿ‡ฒ","๐Ÿ‡ต๐Ÿ‡ณ","๐Ÿ‡ต๐Ÿ‡ท","๐Ÿ‡ต๐Ÿ‡ธ","๐Ÿ‡ต๐Ÿ‡น","๐Ÿ‡ต๐Ÿ‡ผ","๐Ÿ‡ต๐Ÿ‡พ","๐Ÿ‡ต","๐Ÿ‡ถ๐Ÿ‡ฆ","๐Ÿ‡ถ","๐Ÿ‡ท๐Ÿ‡ช","๐Ÿ‡ท๐Ÿ‡ด","๐Ÿ‡ท๐Ÿ‡ธ","๐Ÿ‡ท๐Ÿ‡บ","๐Ÿ‡ท๐Ÿ‡ผ","๐Ÿ‡ท","๐Ÿ‡ธ๐Ÿ‡ฆ","๐Ÿ‡ธ๐Ÿ‡ง","๐Ÿ‡ธ๐Ÿ‡จ","๐Ÿ‡ธ๐Ÿ‡ฉ","๐Ÿ‡ธ๐Ÿ‡ช","๐Ÿ‡ธ๐Ÿ‡ฌ","๐Ÿ‡ธ๐Ÿ‡ญ","๐Ÿ‡ธ๐Ÿ‡ฎ","๐Ÿ‡ธ๐Ÿ‡ฏ","๐Ÿ‡ธ๐Ÿ‡ฐ","๐Ÿ‡ธ๐Ÿ‡ฑ","๐Ÿ‡ธ๐Ÿ‡ฒ","๐Ÿ‡ธ๐Ÿ‡ณ","๐Ÿ‡ธ๐Ÿ‡ด","๐Ÿ‡ธ๐Ÿ‡ท","๐Ÿ‡ธ๐Ÿ‡ธ","๐Ÿ‡ธ๐Ÿ‡น","๐Ÿ‡ธ๐Ÿ‡ป","๐Ÿ‡ธ๐Ÿ‡ฝ","๐Ÿ‡ธ๐Ÿ‡พ","๐Ÿ‡ธ๐Ÿ‡ฟ","๐Ÿ‡ธ","๐Ÿ‡น๐Ÿ‡ฆ","๐Ÿ‡น๐Ÿ‡จ","๐Ÿ‡น๐Ÿ‡ฉ","๐Ÿ‡น๐Ÿ‡ซ","๐Ÿ‡น๐Ÿ‡ฌ","๐Ÿ‡น๐Ÿ‡ญ","๐Ÿ‡น๐Ÿ‡ฏ","๐Ÿ‡น๐Ÿ‡ฐ","๐Ÿ‡น๐Ÿ‡ฑ","๐Ÿ‡น๐Ÿ‡ฒ","๐Ÿ‡น๐Ÿ‡ณ","๐Ÿ‡น๐Ÿ‡ด","๐Ÿ‡น๐Ÿ‡ท","๐Ÿ‡น๐Ÿ‡น","๐Ÿ‡น๐Ÿ‡ป","๐Ÿ‡น๐Ÿ‡ผ","๐Ÿ‡น๐Ÿ‡ฟ","๐Ÿ‡น","๐Ÿ‡บ๐Ÿ‡ฆ","๐Ÿ‡บ๐Ÿ‡ฌ","๐Ÿ‡บ๐Ÿ‡ฒ","๐Ÿ‡บ๐Ÿ‡ณ","๐Ÿ‡บ๐Ÿ‡ธ","๐Ÿ‡บ๐Ÿ‡พ","๐Ÿ‡บ๐Ÿ‡ฟ","๐Ÿ‡บ","๐Ÿ‡ป๐Ÿ‡ฆ","๐Ÿ‡ป๐Ÿ‡จ","๐Ÿ‡ป๐Ÿ‡ช","๐Ÿ‡ป๐Ÿ‡ฌ","๐Ÿ‡ป๐Ÿ‡ฎ","๐Ÿ‡ป๐Ÿ‡ณ","๐Ÿ‡ป๐Ÿ‡บ","๐Ÿ‡ป","๐Ÿ‡ผ๐Ÿ‡ซ","๐Ÿ‡ผ๐Ÿ‡ธ","๐Ÿ‡ผ","๐Ÿ‡ฝ๐Ÿ‡ฐ","๐Ÿ‡ฝ","๐Ÿ‡พ๐Ÿ‡ช","๐Ÿ‡พ๐Ÿ‡น","๐Ÿ‡พ","๐Ÿ‡ฟ๐Ÿ‡ฆ","๐Ÿ‡ฟ๐Ÿ‡ฒ","๐Ÿ‡ฟ๐Ÿ‡ผ","๐Ÿ‡ฟ","๐Ÿˆ","๐Ÿˆ‚๏ธ","๐Ÿˆš๏ธ","๐Ÿˆฏ๏ธ","๐Ÿˆฒ","๐Ÿˆณ","๐Ÿˆด","๐Ÿˆต","๐Ÿˆถ","๐Ÿˆท๏ธ","๐Ÿˆธ","๐Ÿˆน","๐Ÿˆบ","๐Ÿ‰","๐Ÿ‰‘","๐ŸŒ€","๐ŸŒ","๐ŸŒ‚","๐ŸŒƒ","๐ŸŒ„","๐ŸŒ…","๐ŸŒ†","๐ŸŒ‡","๐ŸŒˆ","๐ŸŒ‰","๐ŸŒŠ","๐ŸŒ‹","๐ŸŒŒ","๐ŸŒ","๐ŸŒŽ","๐ŸŒ","๐ŸŒ","๐ŸŒ‘","๐ŸŒ’","๐ŸŒ“","๐ŸŒ”","๐ŸŒ•","๐ŸŒ–","๐ŸŒ—","๐ŸŒ˜","๐ŸŒ™","๐ŸŒš","๐ŸŒ›","๐ŸŒœ","๐ŸŒ","๐ŸŒž","๐ŸŒŸ","๐ŸŒ ","๐ŸŒก๏ธ","๐ŸŒค๏ธ","๐ŸŒฅ๏ธ","๐ŸŒฆ๏ธ","๐ŸŒง๏ธ","๐ŸŒจ๏ธ","๐ŸŒฉ๏ธ","๐ŸŒช๏ธ","๐ŸŒซ๏ธ","๐ŸŒฌ๏ธ","๐ŸŒญ","๐ŸŒฎ","๐ŸŒฏ","๐ŸŒฐ","๐ŸŒฑ","๐ŸŒฒ","๐ŸŒณ","๐ŸŒด","๐ŸŒต","๐ŸŒถ๏ธ","๐ŸŒท","๐ŸŒธ","๐ŸŒน","๐ŸŒบ","๐ŸŒป","๐ŸŒผ","๐ŸŒฝ","๐ŸŒพ","๐ŸŒฟ","๐Ÿ€","๐Ÿ","๐Ÿ‚","๐Ÿƒ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐Ÿ‡","๐Ÿˆ","๐Ÿ‰","๐ŸŠ","๐Ÿ‹","๐ŸŒ","๐Ÿ","๐ŸŽ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ”","๐Ÿ•","๐Ÿ–","๐Ÿ—","๐Ÿ˜","๐Ÿ™","๐Ÿš","๐Ÿ›","๐Ÿœ","๐Ÿ","๐Ÿž","๐ŸŸ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฃ","๐Ÿค","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฏ","๐Ÿฐ","๐Ÿฑ","๐Ÿฒ","๐Ÿณ","๐Ÿด","๐Ÿต","๐Ÿถ","๐Ÿท","๐Ÿธ","๐Ÿน","๐Ÿบ","๐Ÿป","๐Ÿผ","๐Ÿฝ๏ธ","๐Ÿพ","๐Ÿฟ","๐ŸŽ€","๐ŸŽ","๐ŸŽ‚","๐ŸŽƒ","๐ŸŽ„","๐ŸŽ…๐Ÿป","๐ŸŽ…๐Ÿผ","๐ŸŽ…๐Ÿฝ","๐ŸŽ…๐Ÿพ","๐ŸŽ…๐Ÿฟ","๐ŸŽ…","๐ŸŽ†","๐ŸŽ‡","๐ŸŽˆ","๐ŸŽ‰","๐ŸŽŠ","๐ŸŽ‹","๐ŸŽŒ","๐ŸŽ","๐ŸŽŽ","๐ŸŽ","๐ŸŽ","๐ŸŽ‘","๐ŸŽ’","๐ŸŽ“","๐ŸŽ–๏ธ","๐ŸŽ—๏ธ","๐ŸŽ™๏ธ","๐ŸŽš๏ธ","๐ŸŽ›๏ธ","๐ŸŽž๏ธ","๐ŸŽŸ๏ธ","๐ŸŽ ","๐ŸŽก","๐ŸŽข","๐ŸŽฃ","๐ŸŽค","๐ŸŽฅ","๐ŸŽฆ","๐ŸŽง","๐ŸŽจ","๐ŸŽฉ","๐ŸŽช","๐ŸŽซ","๐ŸŽฌ","๐ŸŽญ","๐ŸŽฎ","๐ŸŽฏ","๐ŸŽฐ","๐ŸŽฑ","๐ŸŽฒ","๐ŸŽณ","๐ŸŽด","๐ŸŽต","๐ŸŽถ","๐ŸŽท","๐ŸŽธ","๐ŸŽน","๐ŸŽบ","๐ŸŽป","๐ŸŽผ","๐ŸŽฝ","๐ŸŽพ","๐ŸŽฟ","๐Ÿ€","๐Ÿ","๐Ÿ‚๐Ÿป","๐Ÿ‚๐Ÿผ","๐Ÿ‚๐Ÿฝ","๐Ÿ‚๐Ÿพ","๐Ÿ‚๐Ÿฟ","๐Ÿ‚","๐Ÿƒ๐Ÿปโ€โ™€๏ธ","๐Ÿƒ๐Ÿปโ€โ™‚๏ธ","๐Ÿƒ๐Ÿป","๐Ÿƒ๐Ÿผโ€โ™€๏ธ","๐Ÿƒ๐Ÿผโ€โ™‚๏ธ","๐Ÿƒ๐Ÿผ","๐Ÿƒ๐Ÿฝโ€โ™€๏ธ","๐Ÿƒ๐Ÿฝโ€โ™‚๏ธ","๐Ÿƒ๐Ÿฝ","๐Ÿƒ๐Ÿพโ€โ™€๏ธ","๐Ÿƒ๐Ÿพโ€โ™‚๏ธ","๐Ÿƒ๐Ÿพ","๐Ÿƒ๐Ÿฟโ€โ™€๏ธ","๐Ÿƒ๐Ÿฟโ€โ™‚๏ธ","๐Ÿƒ๐Ÿฟ","๐Ÿƒโ€โ™€๏ธ","๐Ÿƒโ€โ™‚๏ธ","๐Ÿƒ","๐Ÿ„๐Ÿปโ€โ™€๏ธ","๐Ÿ„๐Ÿปโ€โ™‚๏ธ","๐Ÿ„๐Ÿป","๐Ÿ„๐Ÿผโ€โ™€๏ธ","๐Ÿ„๐Ÿผโ€โ™‚๏ธ","๐Ÿ„๐Ÿผ","๐Ÿ„๐Ÿฝโ€โ™€๏ธ","๐Ÿ„๐Ÿฝโ€โ™‚๏ธ","๐Ÿ„๐Ÿฝ","๐Ÿ„๐Ÿพโ€โ™€๏ธ","๐Ÿ„๐Ÿพโ€โ™‚๏ธ","๐Ÿ„๐Ÿพ","๐Ÿ„๐Ÿฟโ€โ™€๏ธ","๐Ÿ„๐Ÿฟโ€โ™‚๏ธ","๐Ÿ„๐Ÿฟ","๐Ÿ„โ€โ™€๏ธ","๐Ÿ„โ€โ™‚๏ธ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐Ÿ‡๐Ÿป","๐Ÿ‡๐Ÿผ","๐Ÿ‡๐Ÿฝ","๐Ÿ‡๐Ÿพ","๐Ÿ‡๐Ÿฟ","๐Ÿ‡","๐Ÿˆ","๐Ÿ‰","๐ŸŠ๐Ÿปโ€โ™€๏ธ","๐ŸŠ๐Ÿปโ€โ™‚๏ธ","๐ŸŠ๐Ÿป","๐ŸŠ๐Ÿผโ€โ™€๏ธ","๐ŸŠ๐Ÿผโ€โ™‚๏ธ","๐ŸŠ๐Ÿผ","๐ŸŠ๐Ÿฝโ€โ™€๏ธ","๐ŸŠ๐Ÿฝโ€โ™‚๏ธ","๐ŸŠ๐Ÿฝ","๐ŸŠ๐Ÿพโ€โ™€๏ธ","๐ŸŠ๐Ÿพโ€โ™‚๏ธ","๐ŸŠ๐Ÿพ","๐ŸŠ๐Ÿฟโ€โ™€๏ธ","๐ŸŠ๐Ÿฟโ€โ™‚๏ธ","๐ŸŠ๐Ÿฟ","๐ŸŠโ€โ™€๏ธ","๐ŸŠโ€โ™‚๏ธ","๐ŸŠ","๐Ÿ‹๐Ÿปโ€โ™€๏ธ","๐Ÿ‹๐Ÿปโ€โ™‚๏ธ","๐Ÿ‹๐Ÿป","๐Ÿ‹๐Ÿผโ€โ™€๏ธ","๐Ÿ‹๐Ÿผโ€โ™‚๏ธ","๐Ÿ‹๐Ÿผ","๐Ÿ‹๐Ÿฝโ€โ™€๏ธ","๐Ÿ‹๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‹๐Ÿฝ","๐Ÿ‹๐Ÿพโ€โ™€๏ธ","๐Ÿ‹๐Ÿพโ€โ™‚๏ธ","๐Ÿ‹๐Ÿพ","๐Ÿ‹๐Ÿฟโ€โ™€๏ธ","๐Ÿ‹๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‹๐Ÿฟ","๐Ÿ‹๏ธโ€โ™€๏ธ","๐Ÿ‹๏ธโ€โ™‚๏ธ","๐Ÿ‹๏ธ","๐ŸŒ๐Ÿปโ€โ™€๏ธ","๐ŸŒ๐Ÿปโ€โ™‚๏ธ","๐ŸŒ๐Ÿป","๐ŸŒ๐Ÿผโ€โ™€๏ธ","๐ŸŒ๐Ÿผโ€โ™‚๏ธ","๐ŸŒ๐Ÿผ","๐ŸŒ๐Ÿฝโ€โ™€๏ธ","๐ŸŒ๐Ÿฝโ€โ™‚๏ธ","๐ŸŒ๐Ÿฝ","๐ŸŒ๐Ÿพโ€โ™€๏ธ","๐ŸŒ๐Ÿพโ€โ™‚๏ธ","๐ŸŒ๐Ÿพ","๐ŸŒ๐Ÿฟโ€โ™€๏ธ","๐ŸŒ๐Ÿฟโ€โ™‚๏ธ","๐ŸŒ๐Ÿฟ","๐ŸŒ๏ธโ€โ™€๏ธ","๐ŸŒ๏ธโ€โ™‚๏ธ","๐ŸŒ๏ธ","๐Ÿ๏ธ","๐ŸŽ๏ธ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ”๏ธ","๐Ÿ•๏ธ","๐Ÿ–๏ธ","๐Ÿ—๏ธ","๐Ÿ˜๏ธ","๐Ÿ™๏ธ","๐Ÿš๏ธ","๐Ÿ›๏ธ","๐Ÿœ๏ธ","๐Ÿ๏ธ","๐Ÿž๏ธ","๐ŸŸ๏ธ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฃ","๐Ÿค","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฏ","๐Ÿฐ","๐Ÿณ๏ธโ€๐ŸŒˆ","๐Ÿณ๏ธ","๐Ÿดโ€โ˜ ๏ธ","๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ","๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ","๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ","๐Ÿด","๐Ÿต๏ธ","๐Ÿท๏ธ","๐Ÿธ","๐Ÿน","๐Ÿบ","๐Ÿป","๐Ÿผ","๐Ÿฝ","๐Ÿพ","๐Ÿฟ","๐Ÿ€","๐Ÿ","๐Ÿ‚","๐Ÿƒ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐Ÿ‡","๐Ÿˆ","๐Ÿ‰","๐ŸŠ","๐Ÿ‹","๐ŸŒ","๐Ÿ","๐ŸŽ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ”","๐Ÿ•โ€๐Ÿฆบ","๐Ÿ•","๐Ÿ–","๐Ÿ—","๐Ÿ˜","๐Ÿ™","๐Ÿš","๐Ÿ›","๐Ÿœ","๐Ÿ","๐Ÿž","๐ŸŸ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฃ","๐Ÿค","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฏ","๐Ÿฐ","๐Ÿฑ","๐Ÿฒ","๐Ÿณ","๐Ÿด","๐Ÿต","๐Ÿถ","๐Ÿท","๐Ÿธ","๐Ÿน","๐Ÿบ","๐Ÿป","๐Ÿผ","๐Ÿฝ","๐Ÿพ","๐Ÿฟ๏ธ","๐Ÿ‘€","๐Ÿ‘โ€๐Ÿ—จ","๐Ÿ‘๏ธ","๐Ÿ‘‚๐Ÿป","๐Ÿ‘‚๐Ÿผ","๐Ÿ‘‚๐Ÿฝ","๐Ÿ‘‚๐Ÿพ","๐Ÿ‘‚๐Ÿฟ","๐Ÿ‘‚","๐Ÿ‘ƒ๐Ÿป","๐Ÿ‘ƒ๐Ÿผ","๐Ÿ‘ƒ๐Ÿฝ","๐Ÿ‘ƒ๐Ÿพ","๐Ÿ‘ƒ๐Ÿฟ","๐Ÿ‘ƒ","๐Ÿ‘„","๐Ÿ‘…","๐Ÿ‘†๐Ÿป","๐Ÿ‘†๐Ÿผ","๐Ÿ‘†๐Ÿฝ","๐Ÿ‘†๐Ÿพ","๐Ÿ‘†๐Ÿฟ","๐Ÿ‘†","๐Ÿ‘‡๐Ÿป","๐Ÿ‘‡๐Ÿผ","๐Ÿ‘‡๐Ÿฝ","๐Ÿ‘‡๐Ÿพ","๐Ÿ‘‡๐Ÿฟ","๐Ÿ‘‡","๐Ÿ‘ˆ๐Ÿป","๐Ÿ‘ˆ๐Ÿผ","๐Ÿ‘ˆ๐Ÿฝ","๐Ÿ‘ˆ๐Ÿพ","๐Ÿ‘ˆ๐Ÿฟ","๐Ÿ‘ˆ","๐Ÿ‘‰๐Ÿป","๐Ÿ‘‰๐Ÿผ","๐Ÿ‘‰๐Ÿฝ","๐Ÿ‘‰๐Ÿพ","๐Ÿ‘‰๐Ÿฟ","๐Ÿ‘‰","๐Ÿ‘Š๐Ÿป","๐Ÿ‘Š๐Ÿผ","๐Ÿ‘Š๐Ÿฝ","๐Ÿ‘Š๐Ÿพ","๐Ÿ‘Š๐Ÿฟ","๐Ÿ‘Š","๐Ÿ‘‹๐Ÿป","๐Ÿ‘‹๐Ÿผ","๐Ÿ‘‹๐Ÿฝ","๐Ÿ‘‹๐Ÿพ","๐Ÿ‘‹๐Ÿฟ","๐Ÿ‘‹","๐Ÿ‘Œ๐Ÿป","๐Ÿ‘Œ๐Ÿผ","๐Ÿ‘Œ๐Ÿฝ","๐Ÿ‘Œ๐Ÿพ","๐Ÿ‘Œ๐Ÿฟ","๐Ÿ‘Œ","๐Ÿ‘๐Ÿป","๐Ÿ‘๐Ÿผ","๐Ÿ‘๐Ÿฝ","๐Ÿ‘๐Ÿพ","๐Ÿ‘๐Ÿฟ","๐Ÿ‘","๐Ÿ‘Ž๐Ÿป","๐Ÿ‘Ž๐Ÿผ","๐Ÿ‘Ž๐Ÿฝ","๐Ÿ‘Ž๐Ÿพ","๐Ÿ‘Ž๐Ÿฟ","๐Ÿ‘Ž","๐Ÿ‘๐Ÿป","๐Ÿ‘๐Ÿผ","๐Ÿ‘๐Ÿฝ","๐Ÿ‘๐Ÿพ","๐Ÿ‘๐Ÿฟ","๐Ÿ‘","๐Ÿ‘๐Ÿป","๐Ÿ‘๐Ÿผ","๐Ÿ‘๐Ÿฝ","๐Ÿ‘๐Ÿพ","๐Ÿ‘๐Ÿฟ","๐Ÿ‘","๐Ÿ‘‘","๐Ÿ‘’","๐Ÿ‘“","๐Ÿ‘”","๐Ÿ‘•","๐Ÿ‘–","๐Ÿ‘—","๐Ÿ‘˜","๐Ÿ‘™","๐Ÿ‘š","๐Ÿ‘›","๐Ÿ‘œ","๐Ÿ‘","๐Ÿ‘ž","๐Ÿ‘Ÿ","๐Ÿ‘ ","๐Ÿ‘ก","๐Ÿ‘ข","๐Ÿ‘ฃ","๐Ÿ‘ค","๐Ÿ‘ฅ","๐Ÿ‘ฆ๐Ÿป","๐Ÿ‘ฆ๐Ÿผ","๐Ÿ‘ฆ๐Ÿฝ","๐Ÿ‘ฆ๐Ÿพ","๐Ÿ‘ฆ๐Ÿฟ","๐Ÿ‘ฆ","๐Ÿ‘ง๐Ÿป","๐Ÿ‘ง๐Ÿผ","๐Ÿ‘ง๐Ÿฝ","๐Ÿ‘ง๐Ÿพ","๐Ÿ‘ง๐Ÿฟ","๐Ÿ‘ง","๐Ÿ‘จ๐Ÿปโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿปโ€๐Ÿณ","๐Ÿ‘จ๐Ÿปโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿปโ€๐ŸŽค","๐Ÿ‘จ๐Ÿปโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿปโ€๐Ÿซ","๐Ÿ‘จ๐Ÿปโ€๐Ÿญ","๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿปโ€๐Ÿš€","๐Ÿ‘จ๐Ÿปโ€๐Ÿš’","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿปโ€โš•๏ธ","๐Ÿ‘จ๐Ÿปโ€โš–๏ธ","๐Ÿ‘จ๐Ÿปโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿผโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿผโ€๐Ÿณ","๐Ÿ‘จ๐Ÿผโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿผโ€๐ŸŽค","๐Ÿ‘จ๐Ÿผโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿผโ€๐Ÿซ","๐Ÿ‘จ๐Ÿผโ€๐Ÿญ","๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿผโ€๐Ÿš€","๐Ÿ‘จ๐Ÿผโ€๐Ÿš’","๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿผโ€โš•๏ธ","๐Ÿ‘จ๐Ÿผโ€โš–๏ธ","๐Ÿ‘จ๐Ÿผโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿฝโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿณ","๐Ÿ‘จ๐Ÿฝโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿฝโ€๐ŸŽค","๐Ÿ‘จ๐Ÿฝโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿซ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿญ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿš€","๐Ÿ‘จ๐Ÿฝโ€๐Ÿš’","๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿฝโ€โš•๏ธ","๐Ÿ‘จ๐Ÿฝโ€โš–๏ธ","๐Ÿ‘จ๐Ÿฝโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘จ๐Ÿพโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿพโ€๐Ÿณ","๐Ÿ‘จ๐Ÿพโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿพโ€๐ŸŽค","๐Ÿ‘จ๐Ÿพโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿพโ€๐Ÿซ","๐Ÿ‘จ๐Ÿพโ€๐Ÿญ","๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿพโ€๐Ÿš€","๐Ÿ‘จ๐Ÿพโ€๐Ÿš’","๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿพโ€โš•๏ธ","๐Ÿ‘จ๐Ÿพโ€โš–๏ธ","๐Ÿ‘จ๐Ÿพโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿพ","๐Ÿ‘จ๐Ÿฟโ€๐ŸŒพ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿณ","๐Ÿ‘จ๐Ÿฟโ€๐ŸŽ“","๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค","๐Ÿ‘จ๐Ÿฟโ€๐ŸŽจ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿซ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿญ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ป","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ผ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ง","๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ฌ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿš€","๐Ÿ‘จ๐Ÿฟโ€๐Ÿš’","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฐ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฑ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฒ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆณ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผ","๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ","๐Ÿ‘จ๐Ÿฟโ€โš•๏ธ","๐Ÿ‘จ๐Ÿฟโ€โš–๏ธ","๐Ÿ‘จ๐Ÿฟโ€โœˆ๏ธ","๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘จโ€๐ŸŒพ","๐Ÿ‘จโ€๐Ÿณ","๐Ÿ‘จโ€๐ŸŽ“","๐Ÿ‘จโ€๐ŸŽค","๐Ÿ‘จโ€๐ŸŽจ","๐Ÿ‘จโ€๐Ÿซ","๐Ÿ‘จโ€๐Ÿญ","๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","๐Ÿ‘จโ€๐Ÿ’ป","๐Ÿ‘จโ€๐Ÿ’ผ","๐Ÿ‘จโ€๐Ÿ”ง","๐Ÿ‘จโ€๐Ÿ”ฌ","๐Ÿ‘จโ€๐Ÿš€","๐Ÿ‘จโ€๐Ÿš’","๐Ÿ‘จโ€๐Ÿฆฏ","๐Ÿ‘จโ€๐Ÿฆฐ","๐Ÿ‘จโ€๐Ÿฆฑ","๐Ÿ‘จโ€๐Ÿฆฒ","๐Ÿ‘จโ€๐Ÿฆณ","๐Ÿ‘จโ€๐Ÿฆผ","๐Ÿ‘จโ€๐Ÿฆฝ","๐Ÿ‘จโ€โš•๏ธ","๐Ÿ‘จโ€โš–๏ธ","๐Ÿ‘จโ€โœˆ๏ธ","๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ","๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","๐Ÿ‘จ","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿปโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿปโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿผโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿผโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿผโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿฝโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿฝโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿฝโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿพโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿพโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿพโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŒพ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿณ","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽ“","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽค","๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽจ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿซ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿญ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ง","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ฌ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš€","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš’","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฐ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฑ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฒ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆณ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผ","๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝ","๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ","๐Ÿ‘ฉ๐Ÿฟโ€โš–๏ธ","๐Ÿ‘ฉ๐Ÿฟโ€โœˆ๏ธ","๐Ÿ‘ฉ๐Ÿฟ","๐Ÿ‘ฉโ€๐ŸŒพ","๐Ÿ‘ฉโ€๐Ÿณ","๐Ÿ‘ฉโ€๐ŸŽ“","๐Ÿ‘ฉโ€๐ŸŽค","๐Ÿ‘ฉโ€๐ŸŽจ","๐Ÿ‘ฉโ€๐Ÿซ","๐Ÿ‘ฉโ€๐Ÿญ","๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","๐Ÿ‘ฉโ€๐Ÿ’ป","๐Ÿ‘ฉโ€๐Ÿ’ผ","๐Ÿ‘ฉโ€๐Ÿ”ง","๐Ÿ‘ฉโ€๐Ÿ”ฌ","๐Ÿ‘ฉโ€๐Ÿš€","๐Ÿ‘ฉโ€๐Ÿš’","๐Ÿ‘ฉโ€๐Ÿฆฏ","๐Ÿ‘ฉโ€๐Ÿฆฐ","๐Ÿ‘ฉโ€๐Ÿฆฑ","๐Ÿ‘ฉโ€๐Ÿฆฒ","๐Ÿ‘ฉโ€๐Ÿฆณ","๐Ÿ‘ฉโ€๐Ÿฆผ","๐Ÿ‘ฉโ€๐Ÿฆฝ","๐Ÿ‘ฉโ€โš•๏ธ","๐Ÿ‘ฉโ€โš–๏ธ","๐Ÿ‘ฉโ€โœˆ๏ธ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ","๐Ÿ‘ฉ","๐Ÿ‘ช","๐Ÿ‘ซ๐Ÿป","๐Ÿ‘ซ๐Ÿผ","๐Ÿ‘ซ๐Ÿฝ","๐Ÿ‘ซ๐Ÿพ","๐Ÿ‘ซ๐Ÿฟ","๐Ÿ‘ซ","๐Ÿ‘ฌ๐Ÿป","๐Ÿ‘ฌ๐Ÿผ","๐Ÿ‘ฌ๐Ÿฝ","๐Ÿ‘ฌ๐Ÿพ","๐Ÿ‘ฌ๐Ÿฟ","๐Ÿ‘ฌ","๐Ÿ‘ญ๐Ÿป","๐Ÿ‘ญ๐Ÿผ","๐Ÿ‘ญ๐Ÿฝ","๐Ÿ‘ญ๐Ÿพ","๐Ÿ‘ญ๐Ÿฟ","๐Ÿ‘ญ","๐Ÿ‘ฎ๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿป","๐Ÿ‘ฎ๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿผ","๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿฝ","๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿพ","๐Ÿ‘ฎ๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ฎ๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ฎ๐Ÿฟ","๐Ÿ‘ฎโ€โ™€๏ธ","๐Ÿ‘ฎโ€โ™‚๏ธ","๐Ÿ‘ฎ","๐Ÿ‘ฏโ€โ™€๏ธ","๐Ÿ‘ฏโ€โ™‚๏ธ","๐Ÿ‘ฏ","๐Ÿ‘ฐ๐Ÿป","๐Ÿ‘ฐ๐Ÿผ","๐Ÿ‘ฐ๐Ÿฝ","๐Ÿ‘ฐ๐Ÿพ","๐Ÿ‘ฐ๐Ÿฟ","๐Ÿ‘ฐ","๐Ÿ‘ฑ๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿป","๐Ÿ‘ฑ๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿผ","๐Ÿ‘ฑ๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿฝ","๐Ÿ‘ฑ๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿพ","๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ฑ๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ฑ๐Ÿฟ","๐Ÿ‘ฑโ€โ™€๏ธ","๐Ÿ‘ฑโ€โ™‚๏ธ","๐Ÿ‘ฑ","๐Ÿ‘ฒ๐Ÿป","๐Ÿ‘ฒ๐Ÿผ","๐Ÿ‘ฒ๐Ÿฝ","๐Ÿ‘ฒ๐Ÿพ","๐Ÿ‘ฒ๐Ÿฟ","๐Ÿ‘ฒ","๐Ÿ‘ณ๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿป","๐Ÿ‘ณ๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿผ","๐Ÿ‘ณ๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿฝ","๐Ÿ‘ณ๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿพ","๐Ÿ‘ณ๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ณ๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ณ๐Ÿฟ","๐Ÿ‘ณโ€โ™€๏ธ","๐Ÿ‘ณโ€โ™‚๏ธ","๐Ÿ‘ณ","๐Ÿ‘ด๐Ÿป","๐Ÿ‘ด๐Ÿผ","๐Ÿ‘ด๐Ÿฝ","๐Ÿ‘ด๐Ÿพ","๐Ÿ‘ด๐Ÿฟ","๐Ÿ‘ด","๐Ÿ‘ต๐Ÿป","๐Ÿ‘ต๐Ÿผ","๐Ÿ‘ต๐Ÿฝ","๐Ÿ‘ต๐Ÿพ","๐Ÿ‘ต๐Ÿฟ","๐Ÿ‘ต","๐Ÿ‘ถ๐Ÿป","๐Ÿ‘ถ๐Ÿผ","๐Ÿ‘ถ๐Ÿฝ","๐Ÿ‘ถ๐Ÿพ","๐Ÿ‘ถ๐Ÿฟ","๐Ÿ‘ถ","๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿปโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿป","๐Ÿ‘ท๐Ÿผโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿผโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿผ","๐Ÿ‘ท๐Ÿฝโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿฝโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿฝ","๐Ÿ‘ท๐Ÿพโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿพโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿพ","๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ","๐Ÿ‘ท๐Ÿฟโ€โ™‚๏ธ","๐Ÿ‘ท๐Ÿฟ","๐Ÿ‘ทโ€โ™€๏ธ","๐Ÿ‘ทโ€โ™‚๏ธ","๐Ÿ‘ท","๐Ÿ‘ธ๐Ÿป","๐Ÿ‘ธ๐Ÿผ","๐Ÿ‘ธ๐Ÿฝ","๐Ÿ‘ธ๐Ÿพ","๐Ÿ‘ธ๐Ÿฟ","๐Ÿ‘ธ","๐Ÿ‘น","๐Ÿ‘บ","๐Ÿ‘ป","๐Ÿ‘ผ๐Ÿป","๐Ÿ‘ผ๐Ÿผ","๐Ÿ‘ผ๐Ÿฝ","๐Ÿ‘ผ๐Ÿพ","๐Ÿ‘ผ๐Ÿฟ","๐Ÿ‘ผ","๐Ÿ‘ฝ","๐Ÿ‘พ","๐Ÿ‘ฟ","๐Ÿ’€","๐Ÿ’๐Ÿปโ€โ™€๏ธ","๐Ÿ’๐Ÿปโ€โ™‚๏ธ","๐Ÿ’๐Ÿป","๐Ÿ’๐Ÿผโ€โ™€๏ธ","๐Ÿ’๐Ÿผโ€โ™‚๏ธ","๐Ÿ’๐Ÿผ","๐Ÿ’๐Ÿฝโ€โ™€๏ธ","๐Ÿ’๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’๐Ÿฝ","๐Ÿ’๐Ÿพโ€โ™€๏ธ","๐Ÿ’๐Ÿพโ€โ™‚๏ธ","๐Ÿ’๐Ÿพ","๐Ÿ’๐Ÿฟโ€โ™€๏ธ","๐Ÿ’๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’๐Ÿฟ","๐Ÿ’โ€โ™€๏ธ","๐Ÿ’โ€โ™‚๏ธ","๐Ÿ’","๐Ÿ’‚๐Ÿปโ€โ™€๏ธ","๐Ÿ’‚๐Ÿปโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿป","๐Ÿ’‚๐Ÿผโ€โ™€๏ธ","๐Ÿ’‚๐Ÿผโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿผ","๐Ÿ’‚๐Ÿฝโ€โ™€๏ธ","๐Ÿ’‚๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿฝ","๐Ÿ’‚๐Ÿพโ€โ™€๏ธ","๐Ÿ’‚๐Ÿพโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿพ","๐Ÿ’‚๐Ÿฟโ€โ™€๏ธ","๐Ÿ’‚๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’‚๐Ÿฟ","๐Ÿ’‚โ€โ™€๏ธ","๐Ÿ’‚โ€โ™‚๏ธ","๐Ÿ’‚","๐Ÿ’ƒ๐Ÿป","๐Ÿ’ƒ๐Ÿผ","๐Ÿ’ƒ๐Ÿฝ","๐Ÿ’ƒ๐Ÿพ","๐Ÿ’ƒ๐Ÿฟ","๐Ÿ’ƒ","๐Ÿ’„","๐Ÿ’…๐Ÿป","๐Ÿ’…๐Ÿผ","๐Ÿ’…๐Ÿฝ","๐Ÿ’…๐Ÿพ","๐Ÿ’…๐Ÿฟ","๐Ÿ’…","๐Ÿ’†๐Ÿปโ€โ™€๏ธ","๐Ÿ’†๐Ÿปโ€โ™‚๏ธ","๐Ÿ’†๐Ÿป","๐Ÿ’†๐Ÿผโ€โ™€๏ธ","๐Ÿ’†๐Ÿผโ€โ™‚๏ธ","๐Ÿ’†๐Ÿผ","๐Ÿ’†๐Ÿฝโ€โ™€๏ธ","๐Ÿ’†๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’†๐Ÿฝ","๐Ÿ’†๐Ÿพโ€โ™€๏ธ","๐Ÿ’†๐Ÿพโ€โ™‚๏ธ","๐Ÿ’†๐Ÿพ","๐Ÿ’†๐Ÿฟโ€โ™€๏ธ","๐Ÿ’†๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’†๐Ÿฟ","๐Ÿ’†โ€โ™€๏ธ","๐Ÿ’†โ€โ™‚๏ธ","๐Ÿ’†","๐Ÿ’‡๐Ÿปโ€โ™€๏ธ","๐Ÿ’‡๐Ÿปโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿป","๐Ÿ’‡๐Ÿผโ€โ™€๏ธ","๐Ÿ’‡๐Ÿผโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿผ","๐Ÿ’‡๐Ÿฝโ€โ™€๏ธ","๐Ÿ’‡๐Ÿฝโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿฝ","๐Ÿ’‡๐Ÿพโ€โ™€๏ธ","๐Ÿ’‡๐Ÿพโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿพ","๐Ÿ’‡๐Ÿฟโ€โ™€๏ธ","๐Ÿ’‡๐Ÿฟโ€โ™‚๏ธ","๐Ÿ’‡๐Ÿฟ","๐Ÿ’‡โ€โ™€๏ธ","๐Ÿ’‡โ€โ™‚๏ธ","๐Ÿ’‡","๐Ÿ’ˆ","๐Ÿ’‰","๐Ÿ’Š","๐Ÿ’‹","๐Ÿ’Œ","๐Ÿ’","๐Ÿ’Ž","๐Ÿ’","๐Ÿ’","๐Ÿ’‘","๐Ÿ’’","๐Ÿ’“","๐Ÿ’”","๐Ÿ’•","๐Ÿ’–","๐Ÿ’—","๐Ÿ’˜","๐Ÿ’™","๐Ÿ’š","๐Ÿ’›","๐Ÿ’œ","๐Ÿ’","๐Ÿ’ž","๐Ÿ’Ÿ","๐Ÿ’ ","๐Ÿ’ก","๐Ÿ’ข","๐Ÿ’ฃ","๐Ÿ’ค","๐Ÿ’ฅ","๐Ÿ’ฆ","๐Ÿ’ง","๐Ÿ’จ","๐Ÿ’ฉ","๐Ÿ’ช๐Ÿป","๐Ÿ’ช๐Ÿผ","๐Ÿ’ช๐Ÿฝ","๐Ÿ’ช๐Ÿพ","๐Ÿ’ช๐Ÿฟ","๐Ÿ’ช","๐Ÿ’ซ","๐Ÿ’ฌ","๐Ÿ’ญ","๐Ÿ’ฎ","๐Ÿ’ฏ","๐Ÿ’ฐ","๐Ÿ’ฑ","๐Ÿ’ฒ","๐Ÿ’ณ","๐Ÿ’ด","๐Ÿ’ต","๐Ÿ’ถ","๐Ÿ’ท","๐Ÿ’ธ","๐Ÿ’น","๐Ÿ’บ","๐Ÿ’ป","๐Ÿ’ผ","๐Ÿ’ฝ","๐Ÿ’พ","๐Ÿ’ฟ","๐Ÿ“€","๐Ÿ“","๐Ÿ“‚","๐Ÿ“ƒ","๐Ÿ“„","๐Ÿ“…","๐Ÿ“†","๐Ÿ“‡","๐Ÿ“ˆ","๐Ÿ“‰","๐Ÿ“Š","๐Ÿ“‹","๐Ÿ“Œ","๐Ÿ“","๐Ÿ“Ž","๐Ÿ“","๐Ÿ“","๐Ÿ“‘","๐Ÿ“’","๐Ÿ““","๐Ÿ“”","๐Ÿ“•","๐Ÿ“–","๐Ÿ“—","๐Ÿ“˜","๐Ÿ“™","๐Ÿ“š","๐Ÿ“›","๐Ÿ“œ","๐Ÿ“","๐Ÿ“ž","๐Ÿ“Ÿ","๐Ÿ“ ","๐Ÿ“ก","๐Ÿ“ข","๐Ÿ“ฃ","๐Ÿ“ค","๐Ÿ“ฅ","๐Ÿ“ฆ","๐Ÿ“ง","๐Ÿ“จ","๐Ÿ“ฉ","๐Ÿ“ช","๐Ÿ“ซ","๐Ÿ“ฌ","๐Ÿ“ญ","๐Ÿ“ฎ","๐Ÿ“ฏ","๐Ÿ“ฐ","๐Ÿ“ฑ","๐Ÿ“ฒ","๐Ÿ“ณ","๐Ÿ“ด","๐Ÿ“ต","๐Ÿ“ถ","๐Ÿ“ท","๐Ÿ“ธ","๐Ÿ“น","๐Ÿ“บ","๐Ÿ“ป","๐Ÿ“ผ","๐Ÿ“ฝ๏ธ","๐Ÿ“ฟ","๐Ÿ”€","๐Ÿ”","๐Ÿ”‚","๐Ÿ”ƒ","๐Ÿ”„","๐Ÿ”…","๐Ÿ”†","๐Ÿ”‡","๐Ÿ”ˆ","๐Ÿ”‰","๐Ÿ”Š","๐Ÿ”‹","๐Ÿ”Œ","๐Ÿ”","๐Ÿ”Ž","๐Ÿ”","๐Ÿ”","๐Ÿ”‘","๐Ÿ”’","๐Ÿ”“","๐Ÿ””","๐Ÿ”•","๐Ÿ”–","๐Ÿ”—","๐Ÿ”˜","๐Ÿ”™","๐Ÿ”š","๐Ÿ”›","๐Ÿ”œ","๐Ÿ”","๐Ÿ”ž","๐Ÿ”Ÿ","๐Ÿ” ","๐Ÿ”ก","๐Ÿ”ข","๐Ÿ”ฃ","๐Ÿ”ค","๐Ÿ”ฅ","๐Ÿ”ฆ","๐Ÿ”ง","๐Ÿ”จ","๐Ÿ”ฉ","๐Ÿ”ช","๐Ÿ”ซ","๐Ÿ”ฌ","๐Ÿ”ญ","๐Ÿ”ฎ","๐Ÿ”ฏ","๐Ÿ”ฐ","๐Ÿ”ฑ","๐Ÿ”ฒ","๐Ÿ”ณ","๐Ÿ”ด","๐Ÿ”ต","๐Ÿ”ถ","๐Ÿ”ท","๐Ÿ”ธ","๐Ÿ”น","๐Ÿ”บ","๐Ÿ”ป","๐Ÿ”ผ","๐Ÿ”ฝ","๐Ÿ•‰๏ธ","๐Ÿ•Š๏ธ","๐Ÿ•‹","๐Ÿ•Œ","๐Ÿ•","๐Ÿ•Ž","๐Ÿ•","๐Ÿ•‘","๐Ÿ•’","๐Ÿ•“","๐Ÿ•”","๐Ÿ••","๐Ÿ•–","๐Ÿ•—","๐Ÿ•˜","๐Ÿ•™","๐Ÿ•š","๐Ÿ•›","๐Ÿ•œ","๐Ÿ•","๐Ÿ•ž","๐Ÿ•Ÿ","๐Ÿ• ","๐Ÿ•ก","๐Ÿ•ข","๐Ÿ•ฃ","๐Ÿ•ค","๐Ÿ•ฅ","๐Ÿ•ฆ","๐Ÿ•ง","๐Ÿ•ฏ๏ธ","๐Ÿ•ฐ๏ธ","๐Ÿ•ณ๏ธ","๐Ÿ•ด๐Ÿปโ€โ™€๏ธ","๐Ÿ•ด๐Ÿปโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿป","๐Ÿ•ด๐Ÿผโ€โ™€๏ธ","๐Ÿ•ด๐Ÿผโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿผ","๐Ÿ•ด๐Ÿฝโ€โ™€๏ธ","๐Ÿ•ด๐Ÿฝโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿฝ","๐Ÿ•ด๐Ÿพโ€โ™€๏ธ","๐Ÿ•ด๐Ÿพโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿพ","๐Ÿ•ด๐Ÿฟโ€โ™€๏ธ","๐Ÿ•ด๐Ÿฟโ€โ™‚๏ธ","๐Ÿ•ด๐Ÿฟ","๐Ÿ•ด๏ธโ€โ™€๏ธ","๐Ÿ•ด๏ธโ€โ™‚๏ธ","๐Ÿ•ด๏ธ","๐Ÿ•ต๐Ÿปโ€โ™€๏ธ","๐Ÿ•ต๐Ÿปโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿป","๐Ÿ•ต๐Ÿผโ€โ™€๏ธ","๐Ÿ•ต๐Ÿผโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿผ","๐Ÿ•ต๐Ÿฝโ€โ™€๏ธ","๐Ÿ•ต๐Ÿฝโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿฝ","๐Ÿ•ต๐Ÿพโ€โ™€๏ธ","๐Ÿ•ต๐Ÿพโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿพ","๐Ÿ•ต๐Ÿฟโ€โ™€๏ธ","๐Ÿ•ต๐Ÿฟโ€โ™‚๏ธ","๐Ÿ•ต๐Ÿฟ","๐Ÿ•ต๏ธโ€โ™€๏ธ","๐Ÿ•ต๏ธโ€โ™‚๏ธ","๐Ÿ•ต๏ธ","๐Ÿ•ถ๏ธ","๐Ÿ•ท๏ธ","๐Ÿ•ธ๏ธ","๐Ÿ•น๏ธ","๐Ÿ•บ๐Ÿป","๐Ÿ•บ๐Ÿผ","๐Ÿ•บ๐Ÿฝ","๐Ÿ•บ๐Ÿพ","๐Ÿ•บ๐Ÿฟ","๐Ÿ•บ","๐Ÿ–‡๏ธ","๐Ÿ–Š๏ธ","๐Ÿ–‹๏ธ","๐Ÿ–Œ๏ธ","๐Ÿ–๏ธ","๐Ÿ–๐Ÿป","๐Ÿ–๐Ÿผ","๐Ÿ–๐Ÿฝ","๐Ÿ–๐Ÿพ","๐Ÿ–๐Ÿฟ","๐Ÿ–๏ธ","๐Ÿ–•๐Ÿป","๐Ÿ–•๐Ÿผ","๐Ÿ–•๐Ÿฝ","๐Ÿ–•๐Ÿพ","๐Ÿ–•๐Ÿฟ","๐Ÿ–•","๐Ÿ––๐Ÿป","๐Ÿ––๐Ÿผ","๐Ÿ––๐Ÿฝ","๐Ÿ––๐Ÿพ","๐Ÿ––๐Ÿฟ","๐Ÿ––","๐Ÿ–ค","๐Ÿ–ฅ๏ธ","๐Ÿ–จ๏ธ","๐Ÿ–ฑ๏ธ","๐Ÿ–ฒ๏ธ","๐Ÿ–ผ๏ธ","๐Ÿ—‚๏ธ","๐Ÿ—ƒ๏ธ","๐Ÿ—„๏ธ","๐Ÿ—‘๏ธ","๐Ÿ—’๏ธ","๐Ÿ—“๏ธ","๐Ÿ—œ๏ธ","๐Ÿ—๏ธ","๐Ÿ—ž๏ธ","๐Ÿ—ก๏ธ","๐Ÿ—ฃ๏ธ","๐Ÿ—จ๏ธ","๐Ÿ—ฏ๏ธ","๐Ÿ—ณ๏ธ","๐Ÿ—บ๏ธ","๐Ÿ—ป","๐Ÿ—ผ","๐Ÿ—ฝ","๐Ÿ—พ","๐Ÿ—ฟ","๐Ÿ˜€","๐Ÿ˜","๐Ÿ˜‚","๐Ÿ˜ƒ","๐Ÿ˜„","๐Ÿ˜…","๐Ÿ˜†","๐Ÿ˜‡","๐Ÿ˜ˆ","๐Ÿ˜‰","๐Ÿ˜Š","๐Ÿ˜‹","๐Ÿ˜Œ","๐Ÿ˜","๐Ÿ˜Ž","๐Ÿ˜","๐Ÿ˜","๐Ÿ˜‘","๐Ÿ˜’","๐Ÿ˜“","๐Ÿ˜”","๐Ÿ˜•","๐Ÿ˜–","๐Ÿ˜—","๐Ÿ˜˜","๐Ÿ˜™","๐Ÿ˜š","๐Ÿ˜›","๐Ÿ˜œ","๐Ÿ˜","๐Ÿ˜ž","๐Ÿ˜Ÿ","๐Ÿ˜ ","๐Ÿ˜ก","๐Ÿ˜ข","๐Ÿ˜ฃ","๐Ÿ˜ค","๐Ÿ˜ฅ","๐Ÿ˜ฆ","๐Ÿ˜ง","๐Ÿ˜จ","๐Ÿ˜ฉ","๐Ÿ˜ช","๐Ÿ˜ซ","๐Ÿ˜ฌ","๐Ÿ˜ญ","๐Ÿ˜ฎ","๐Ÿ˜ฏ","๐Ÿ˜ฐ","๐Ÿ˜ฑ","๐Ÿ˜ฒ","๐Ÿ˜ณ","๐Ÿ˜ด","๐Ÿ˜ต","๐Ÿ˜ถ","๐Ÿ˜ท","๐Ÿ˜ธ","๐Ÿ˜น","๐Ÿ˜บ","๐Ÿ˜ป","๐Ÿ˜ผ","๐Ÿ˜ฝ","๐Ÿ˜พ","๐Ÿ˜ฟ","๐Ÿ™€","๐Ÿ™","๐Ÿ™‚","๐Ÿ™ƒ","๐Ÿ™„","๐Ÿ™…๐Ÿปโ€โ™€๏ธ","๐Ÿ™…๐Ÿปโ€โ™‚๏ธ","๐Ÿ™…๐Ÿป","๐Ÿ™…๐Ÿผโ€โ™€๏ธ","๐Ÿ™…๐Ÿผโ€โ™‚๏ธ","๐Ÿ™…๐Ÿผ","๐Ÿ™…๐Ÿฝโ€โ™€๏ธ","๐Ÿ™…๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™…๐Ÿฝ","๐Ÿ™…๐Ÿพโ€โ™€๏ธ","๐Ÿ™…๐Ÿพโ€โ™‚๏ธ","๐Ÿ™…๐Ÿพ","๐Ÿ™…๐Ÿฟโ€โ™€๏ธ","๐Ÿ™…๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™…๐Ÿฟ","๐Ÿ™…โ€โ™€๏ธ","๐Ÿ™…โ€โ™‚๏ธ","๐Ÿ™…","๐Ÿ™†๐Ÿปโ€โ™€๏ธ","๐Ÿ™†๐Ÿปโ€โ™‚๏ธ","๐Ÿ™†๐Ÿป","๐Ÿ™†๐Ÿผโ€โ™€๏ธ","๐Ÿ™†๐Ÿผโ€โ™‚๏ธ","๐Ÿ™†๐Ÿผ","๐Ÿ™†๐Ÿฝโ€โ™€๏ธ","๐Ÿ™†๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™†๐Ÿฝ","๐Ÿ™†๐Ÿพโ€โ™€๏ธ","๐Ÿ™†๐Ÿพโ€โ™‚๏ธ","๐Ÿ™†๐Ÿพ","๐Ÿ™†๐Ÿฟโ€โ™€๏ธ","๐Ÿ™†๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™†๐Ÿฟ","๐Ÿ™†โ€โ™€๏ธ","๐Ÿ™†โ€โ™‚๏ธ","๐Ÿ™†","๐Ÿ™‡๐Ÿปโ€โ™€๏ธ","๐Ÿ™‡๐Ÿปโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿป","๐Ÿ™‡๐Ÿผโ€โ™€๏ธ","๐Ÿ™‡๐Ÿผโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿผ","๐Ÿ™‡๐Ÿฝโ€โ™€๏ธ","๐Ÿ™‡๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿฝ","๐Ÿ™‡๐Ÿพโ€โ™€๏ธ","๐Ÿ™‡๐Ÿพโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿพ","๐Ÿ™‡๐Ÿฟโ€โ™€๏ธ","๐Ÿ™‡๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™‡๐Ÿฟ","๐Ÿ™‡โ€โ™€๏ธ","๐Ÿ™‡โ€โ™‚๏ธ","๐Ÿ™‡","๐Ÿ™ˆ","๐Ÿ™‰","๐Ÿ™Š","๐Ÿ™‹๐Ÿปโ€โ™€๏ธ","๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿป","๐Ÿ™‹๐Ÿผโ€โ™€๏ธ","๐Ÿ™‹๐Ÿผโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿผ","๐Ÿ™‹๐Ÿฝโ€โ™€๏ธ","๐Ÿ™‹๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿฝ","๐Ÿ™‹๐Ÿพโ€โ™€๏ธ","๐Ÿ™‹๐Ÿพโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿพ","๐Ÿ™‹๐Ÿฟโ€โ™€๏ธ","๐Ÿ™‹๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™‹๐Ÿฟ","๐Ÿ™‹โ€โ™€๏ธ","๐Ÿ™‹โ€โ™‚๏ธ","๐Ÿ™‹","๐Ÿ™Œ๐Ÿป","๐Ÿ™Œ๐Ÿผ","๐Ÿ™Œ๐Ÿฝ","๐Ÿ™Œ๐Ÿพ","๐Ÿ™Œ๐Ÿฟ","๐Ÿ™Œ","๐Ÿ™๐Ÿปโ€โ™€๏ธ","๐Ÿ™๐Ÿปโ€โ™‚๏ธ","๐Ÿ™๐Ÿป","๐Ÿ™๐Ÿผโ€โ™€๏ธ","๐Ÿ™๐Ÿผโ€โ™‚๏ธ","๐Ÿ™๐Ÿผ","๐Ÿ™๐Ÿฝโ€โ™€๏ธ","๐Ÿ™๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™๐Ÿฝ","๐Ÿ™๐Ÿพโ€โ™€๏ธ","๐Ÿ™๐Ÿพโ€โ™‚๏ธ","๐Ÿ™๐Ÿพ","๐Ÿ™๐Ÿฟโ€โ™€๏ธ","๐Ÿ™๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™๐Ÿฟ","๐Ÿ™โ€โ™€๏ธ","๐Ÿ™โ€โ™‚๏ธ","๐Ÿ™","๐Ÿ™Ž๐Ÿปโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿปโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿป","๐Ÿ™Ž๐Ÿผโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿผโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿผ","๐Ÿ™Ž๐Ÿฝโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿฝโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿฝ","๐Ÿ™Ž๐Ÿพโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿพโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿพ","๐Ÿ™Ž๐Ÿฟโ€โ™€๏ธ","๐Ÿ™Ž๐Ÿฟโ€โ™‚๏ธ","๐Ÿ™Ž๐Ÿฟ","๐Ÿ™Žโ€โ™€๏ธ","๐Ÿ™Žโ€โ™‚๏ธ","๐Ÿ™Ž","๐Ÿ™๐Ÿป","๐Ÿ™๐Ÿผ","๐Ÿ™๐Ÿฝ","๐Ÿ™๐Ÿพ","๐Ÿ™๐Ÿฟ","๐Ÿ™","๐Ÿš€","๐Ÿš","๐Ÿš‚","๐Ÿšƒ","๐Ÿš„","๐Ÿš…","๐Ÿš†","๐Ÿš‡","๐Ÿšˆ","๐Ÿš‰","๐ŸšŠ","๐Ÿš‹","๐ŸšŒ","๐Ÿš","๐ŸšŽ","๐Ÿš","๐Ÿš","๐Ÿš‘","๐Ÿš’","๐Ÿš“","๐Ÿš”","๐Ÿš•","๐Ÿš–","๐Ÿš—","๐Ÿš˜","๐Ÿš™","๐Ÿšš","๐Ÿš›","๐Ÿšœ","๐Ÿš","๐Ÿšž","๐ŸšŸ","๐Ÿš ","๐Ÿšก","๐Ÿšข","๐Ÿšฃ๐Ÿปโ€โ™€๏ธ","๐Ÿšฃ๐Ÿปโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿป","๐Ÿšฃ๐Ÿผโ€โ™€๏ธ","๐Ÿšฃ๐Ÿผโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿผ","๐Ÿšฃ๐Ÿฝโ€โ™€๏ธ","๐Ÿšฃ๐Ÿฝโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿฝ","๐Ÿšฃ๐Ÿพโ€โ™€๏ธ","๐Ÿšฃ๐Ÿพโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿพ","๐Ÿšฃ๐Ÿฟโ€โ™€๏ธ","๐Ÿšฃ๐Ÿฟโ€โ™‚๏ธ","๐Ÿšฃ๐Ÿฟ","๐Ÿšฃโ€โ™€๏ธ","๐Ÿšฃโ€โ™‚๏ธ","๐Ÿšฃ","๐Ÿšค","๐Ÿšฅ","๐Ÿšฆ","๐Ÿšง","๐Ÿšจ","๐Ÿšฉ","๐Ÿšช","๐Ÿšซ","๐Ÿšฌ","๐Ÿšญ","๐Ÿšฎ","๐Ÿšฏ","๐Ÿšฐ","๐Ÿšฑ","๐Ÿšฒ","๐Ÿšณ","๐Ÿšด๐Ÿปโ€โ™€๏ธ","๐Ÿšด๐Ÿปโ€โ™‚๏ธ","๐Ÿšด๐Ÿป","๐Ÿšด๐Ÿผโ€โ™€๏ธ","๐Ÿšด๐Ÿผโ€โ™‚๏ธ","๐Ÿšด๐Ÿผ","๐Ÿšด๐Ÿฝโ€โ™€๏ธ","๐Ÿšด๐Ÿฝโ€โ™‚๏ธ","๐Ÿšด๐Ÿฝ","๐Ÿšด๐Ÿพโ€โ™€๏ธ","๐Ÿšด๐Ÿพโ€โ™‚๏ธ","๐Ÿšด๐Ÿพ","๐Ÿšด๐Ÿฟโ€โ™€๏ธ","๐Ÿšด๐Ÿฟโ€โ™‚๏ธ","๐Ÿšด๐Ÿฟ","๐Ÿšดโ€โ™€๏ธ","๐Ÿšดโ€โ™‚๏ธ","๐Ÿšด","๐Ÿšต๐Ÿปโ€โ™€๏ธ","๐Ÿšต๐Ÿปโ€โ™‚๏ธ","๐Ÿšต๐Ÿป","๐Ÿšต๐Ÿผโ€โ™€๏ธ","๐Ÿšต๐Ÿผโ€โ™‚๏ธ","๐Ÿšต๐Ÿผ","๐Ÿšต๐Ÿฝโ€โ™€๏ธ","๐Ÿšต๐Ÿฝโ€โ™‚๏ธ","๐Ÿšต๐Ÿฝ","๐Ÿšต๐Ÿพโ€โ™€๏ธ","๐Ÿšต๐Ÿพโ€โ™‚๏ธ","๐Ÿšต๐Ÿพ","๐Ÿšต๐Ÿฟโ€โ™€๏ธ","๐Ÿšต๐Ÿฟโ€โ™‚๏ธ","๐Ÿšต๐Ÿฟ","๐Ÿšตโ€โ™€๏ธ","๐Ÿšตโ€โ™‚๏ธ","๐Ÿšต","๐Ÿšถ๐Ÿปโ€โ™€๏ธ","๐Ÿšถ๐Ÿปโ€โ™‚๏ธ","๐Ÿšถ๐Ÿป","๐Ÿšถ๐Ÿผโ€โ™€๏ธ","๐Ÿšถ๐Ÿผโ€โ™‚๏ธ","๐Ÿšถ๐Ÿผ","๐Ÿšถ๐Ÿฝโ€โ™€๏ธ","๐Ÿšถ๐Ÿฝโ€โ™‚๏ธ","๐Ÿšถ๐Ÿฝ","๐Ÿšถ๐Ÿพโ€โ™€๏ธ","๐Ÿšถ๐Ÿพโ€โ™‚๏ธ","๐Ÿšถ๐Ÿพ","๐Ÿšถ๐Ÿฟโ€โ™€๏ธ","๐Ÿšถ๐Ÿฟโ€โ™‚๏ธ","๐Ÿšถ๐Ÿฟ","๐Ÿšถโ€โ™€๏ธ","๐Ÿšถโ€โ™‚๏ธ","๐Ÿšถ","๐Ÿšท","๐Ÿšธ","๐Ÿšน","๐Ÿšบ","๐Ÿšป","๐Ÿšผ","๐Ÿšฝ","๐Ÿšพ","๐Ÿšฟ","๐Ÿ›€๐Ÿป","๐Ÿ›€๐Ÿผ","๐Ÿ›€๐Ÿฝ","๐Ÿ›€๐Ÿพ","๐Ÿ›€๐Ÿฟ","๐Ÿ›€","๐Ÿ›","๐Ÿ›‚","๐Ÿ›ƒ","๐Ÿ›„","๐Ÿ›…","๐Ÿ›‹๏ธ","๐Ÿ›Œ๐Ÿป","๐Ÿ›Œ๐Ÿผ","๐Ÿ›Œ๐Ÿฝ","๐Ÿ›Œ๐Ÿพ","๐Ÿ›Œ๐Ÿฟ","๐Ÿ›Œ","๐Ÿ›๏ธ","๐Ÿ›Ž๏ธ","๐Ÿ›๏ธ","๐Ÿ›","๐Ÿ›‘","๐Ÿ›’","๐Ÿ›•","๐Ÿ› ๏ธ","๐Ÿ›ก๏ธ","๐Ÿ›ข๏ธ","๐Ÿ›ฃ๏ธ","๐Ÿ›ค๏ธ","๐Ÿ›ฅ๏ธ","๐Ÿ›ฉ๏ธ","๐Ÿ›ซ","๐Ÿ›ฌ","๐Ÿ›ฐ๏ธ","๐Ÿ›ณ๏ธ","๐Ÿ›ด","๐Ÿ›ต","๐Ÿ›ถ","๐Ÿ›ท","๐Ÿ›ธ","๐Ÿ›น","๐Ÿ›บ","๐ŸŸ ","๐ŸŸก","๐ŸŸข","๐ŸŸฃ","๐ŸŸค","๐ŸŸฅ","๐ŸŸฆ","๐ŸŸง","๐ŸŸจ","๐ŸŸฉ","๐ŸŸช","๐ŸŸซ","๐Ÿค","๐ŸคŽ","๐Ÿค๐Ÿป","๐Ÿค๐Ÿผ","๐Ÿค๐Ÿฝ","๐Ÿค๐Ÿพ","๐Ÿค๐Ÿฟ","๐Ÿค","๐Ÿค","๐Ÿค‘","๐Ÿค’","๐Ÿค“","๐Ÿค”","๐Ÿค•","๐Ÿค–","๐Ÿค—","๐Ÿค˜๐Ÿป","๐Ÿค˜๐Ÿผ","๐Ÿค˜๐Ÿฝ","๐Ÿค˜๐Ÿพ","๐Ÿค˜๐Ÿฟ","๐Ÿค˜","๐Ÿค™๐Ÿป","๐Ÿค™๐Ÿผ","๐Ÿค™๐Ÿฝ","๐Ÿค™๐Ÿพ","๐Ÿค™๐Ÿฟ","๐Ÿค™","๐Ÿคš๐Ÿป","๐Ÿคš๐Ÿผ","๐Ÿคš๐Ÿฝ","๐Ÿคš๐Ÿพ","๐Ÿคš๐Ÿฟ","๐Ÿคš","๐Ÿค›๐Ÿป","๐Ÿค›๐Ÿผ","๐Ÿค›๐Ÿฝ","๐Ÿค›๐Ÿพ","๐Ÿค›๐Ÿฟ","๐Ÿค›","๐Ÿคœ๐Ÿป","๐Ÿคœ๐Ÿผ","๐Ÿคœ๐Ÿฝ","๐Ÿคœ๐Ÿพ","๐Ÿคœ๐Ÿฟ","๐Ÿคœ","๐Ÿค","๐Ÿคž๐Ÿป","๐Ÿคž๐Ÿผ","๐Ÿคž๐Ÿฝ","๐Ÿคž๐Ÿพ","๐Ÿคž๐Ÿฟ","๐Ÿคž","๐ŸคŸ๐Ÿป","๐ŸคŸ๐Ÿผ","๐ŸคŸ๐Ÿฝ","๐ŸคŸ๐Ÿพ","๐ŸคŸ๐Ÿฟ","๐ŸคŸ","๐Ÿค ","๐Ÿคก","๐Ÿคข","๐Ÿคฃ","๐Ÿคค","๐Ÿคฅ","๐Ÿคฆ๐Ÿปโ€โ™€๏ธ","๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿป","๐Ÿคฆ๐Ÿผโ€โ™€๏ธ","๐Ÿคฆ๐Ÿผโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿผ","๐Ÿคฆ๐Ÿฝโ€โ™€๏ธ","๐Ÿคฆ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿฝ","๐Ÿคฆ๐Ÿพโ€โ™€๏ธ","๐Ÿคฆ๐Ÿพโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿพ","๐Ÿคฆ๐Ÿฟโ€โ™€๏ธ","๐Ÿคฆ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคฆ๐Ÿฟ","๐Ÿคฆโ€โ™€๏ธ","๐Ÿคฆโ€โ™‚๏ธ","๐Ÿคฆ","๐Ÿคง","๐Ÿคจ","๐Ÿคฉ","๐Ÿคช","๐Ÿคซ","๐Ÿคฌ","๐Ÿคญ","๐Ÿคฎ","๐Ÿคฏ","๐Ÿคฐ๐Ÿป","๐Ÿคฐ๐Ÿผ","๐Ÿคฐ๐Ÿฝ","๐Ÿคฐ๐Ÿพ","๐Ÿคฐ๐Ÿฟ","๐Ÿคฐ","๐Ÿคฑ๐Ÿป","๐Ÿคฑ๐Ÿผ","๐Ÿคฑ๐Ÿฝ","๐Ÿคฑ๐Ÿพ","๐Ÿคฑ๐Ÿฟ","๐Ÿคฑ","๐Ÿคฒ๐Ÿป","๐Ÿคฒ๐Ÿผ","๐Ÿคฒ๐Ÿฝ","๐Ÿคฒ๐Ÿพ","๐Ÿคฒ๐Ÿฟ","๐Ÿคฒ","๐Ÿคณ๐Ÿป","๐Ÿคณ๐Ÿผ","๐Ÿคณ๐Ÿฝ","๐Ÿคณ๐Ÿพ","๐Ÿคณ๐Ÿฟ","๐Ÿคณ","๐Ÿคด๐Ÿป","๐Ÿคด๐Ÿผ","๐Ÿคด๐Ÿฝ","๐Ÿคด๐Ÿพ","๐Ÿคด๐Ÿฟ","๐Ÿคด","๐Ÿคต๐Ÿปโ€โ™€๏ธ","๐Ÿคต๐Ÿปโ€โ™‚๏ธ","๐Ÿคต๐Ÿป","๐Ÿคต๐Ÿผโ€โ™€๏ธ","๐Ÿคต๐Ÿผโ€โ™‚๏ธ","๐Ÿคต๐Ÿผ","๐Ÿคต๐Ÿฝโ€โ™€๏ธ","๐Ÿคต๐Ÿฝโ€โ™‚๏ธ","๐Ÿคต๐Ÿฝ","๐Ÿคต๐Ÿพโ€โ™€๏ธ","๐Ÿคต๐Ÿพโ€โ™‚๏ธ","๐Ÿคต๐Ÿพ","๐Ÿคต๐Ÿฟโ€โ™€๏ธ","๐Ÿคต๐Ÿฟโ€โ™‚๏ธ","๐Ÿคต๐Ÿฟ","๐Ÿคตโ€โ™€๏ธ","๐Ÿคตโ€โ™‚๏ธ","๐Ÿคต","๐Ÿคถ๐Ÿป","๐Ÿคถ๐Ÿผ","๐Ÿคถ๐Ÿฝ","๐Ÿคถ๐Ÿพ","๐Ÿคถ๐Ÿฟ","๐Ÿคถ","๐Ÿคท๐Ÿปโ€โ™€๏ธ","๐Ÿคท๐Ÿปโ€โ™‚๏ธ","๐Ÿคท๐Ÿป","๐Ÿคท๐Ÿผโ€โ™€๏ธ","๐Ÿคท๐Ÿผโ€โ™‚๏ธ","๐Ÿคท๐Ÿผ","๐Ÿคท๐Ÿฝโ€โ™€๏ธ","๐Ÿคท๐Ÿฝโ€โ™‚๏ธ","๐Ÿคท๐Ÿฝ","๐Ÿคท๐Ÿพโ€โ™€๏ธ","๐Ÿคท๐Ÿพโ€โ™‚๏ธ","๐Ÿคท๐Ÿพ","๐Ÿคท๐Ÿฟโ€โ™€๏ธ","๐Ÿคท๐Ÿฟโ€โ™‚๏ธ","๐Ÿคท๐Ÿฟ","๐Ÿคทโ€โ™€๏ธ","๐Ÿคทโ€โ™‚๏ธ","๐Ÿคท","๐Ÿคธ๐Ÿปโ€โ™€๏ธ","๐Ÿคธ๐Ÿปโ€โ™‚๏ธ","๐Ÿคธ๐Ÿป","๐Ÿคธ๐Ÿผโ€โ™€๏ธ","๐Ÿคธ๐Ÿผโ€โ™‚๏ธ","๐Ÿคธ๐Ÿผ","๐Ÿคธ๐Ÿฝโ€โ™€๏ธ","๐Ÿคธ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคธ๐Ÿฝ","๐Ÿคธ๐Ÿพโ€โ™€๏ธ","๐Ÿคธ๐Ÿพโ€โ™‚๏ธ","๐Ÿคธ๐Ÿพ","๐Ÿคธ๐Ÿฟโ€โ™€๏ธ","๐Ÿคธ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคธ๐Ÿฟ","๐Ÿคธโ€โ™€๏ธ","๐Ÿคธโ€โ™‚๏ธ","๐Ÿคธ","๐Ÿคน๐Ÿปโ€โ™€๏ธ","๐Ÿคน๐Ÿปโ€โ™‚๏ธ","๐Ÿคน๐Ÿป","๐Ÿคน๐Ÿผโ€โ™€๏ธ","๐Ÿคน๐Ÿผโ€โ™‚๏ธ","๐Ÿคน๐Ÿผ","๐Ÿคน๐Ÿฝโ€โ™€๏ธ","๐Ÿคน๐Ÿฝโ€โ™‚๏ธ","๐Ÿคน๐Ÿฝ","๐Ÿคน๐Ÿพโ€โ™€๏ธ","๐Ÿคน๐Ÿพโ€โ™‚๏ธ","๐Ÿคน๐Ÿพ","๐Ÿคน๐Ÿฟโ€โ™€๏ธ","๐Ÿคน๐Ÿฟโ€โ™‚๏ธ","๐Ÿคน๐Ÿฟ","๐Ÿคนโ€โ™€๏ธ","๐Ÿคนโ€โ™‚๏ธ","๐Ÿคน","๐Ÿคบ","๐Ÿคผโ€โ™€๏ธ","๐Ÿคผโ€โ™‚๏ธ","๐Ÿคผ","๐Ÿคฝ๐Ÿปโ€โ™€๏ธ","๐Ÿคฝ๐Ÿปโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿป","๐Ÿคฝ๐Ÿผโ€โ™€๏ธ","๐Ÿคฝ๐Ÿผโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿผ","๐Ÿคฝ๐Ÿฝโ€โ™€๏ธ","๐Ÿคฝ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿฝ","๐Ÿคฝ๐Ÿพโ€โ™€๏ธ","๐Ÿคฝ๐Ÿพโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿพ","๐Ÿคฝ๐Ÿฟโ€โ™€๏ธ","๐Ÿคฝ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคฝ๐Ÿฟ","๐Ÿคฝโ€โ™€๏ธ","๐Ÿคฝโ€โ™‚๏ธ","๐Ÿคฝ","๐Ÿคพ๐Ÿปโ€โ™€๏ธ","๐Ÿคพ๐Ÿปโ€โ™‚๏ธ","๐Ÿคพ๐Ÿป","๐Ÿคพ๐Ÿผโ€โ™€๏ธ","๐Ÿคพ๐Ÿผโ€โ™‚๏ธ","๐Ÿคพ๐Ÿผ","๐Ÿคพ๐Ÿฝโ€โ™€๏ธ","๐Ÿคพ๐Ÿฝโ€โ™‚๏ธ","๐Ÿคพ๐Ÿฝ","๐Ÿคพ๐Ÿพโ€โ™€๏ธ","๐Ÿคพ๐Ÿพโ€โ™‚๏ธ","๐Ÿคพ๐Ÿพ","๐Ÿคพ๐Ÿฟโ€โ™€๏ธ","๐Ÿคพ๐Ÿฟโ€โ™‚๏ธ","๐Ÿคพ๐Ÿฟ","๐Ÿคพโ€โ™€๏ธ","๐Ÿคพโ€โ™‚๏ธ","๐Ÿคพ","๐Ÿคฟ","๐Ÿฅ€","๐Ÿฅ","๐Ÿฅ‚","๐Ÿฅƒ","๐Ÿฅ„","๐Ÿฅ…","๐Ÿฅ‡","๐Ÿฅˆ","๐Ÿฅ‰","๐ŸฅŠ","๐Ÿฅ‹","๐ŸฅŒ","๐Ÿฅ","๐ŸฅŽ","๐Ÿฅ","๐Ÿฅ","๐Ÿฅ‘","๐Ÿฅ’","๐Ÿฅ“","๐Ÿฅ”","๐Ÿฅ•","๐Ÿฅ–","๐Ÿฅ—","๐Ÿฅ˜","๐Ÿฅ™","๐Ÿฅš","๐Ÿฅ›","๐Ÿฅœ","๐Ÿฅ","๐Ÿฅž","๐ŸฅŸ","๐Ÿฅ ","๐Ÿฅก","๐Ÿฅข","๐Ÿฅฃ","๐Ÿฅค","๐Ÿฅฅ","๐Ÿฅฆ","๐Ÿฅง","๐Ÿฅจ","๐Ÿฅฉ","๐Ÿฅช","๐Ÿฅซ","๐Ÿฅฌ","๐Ÿฅญ","๐Ÿฅฎ","๐Ÿฅฏ","๐Ÿฅฐ","๐Ÿฅฑ","๐Ÿฅณ","๐Ÿฅด","๐Ÿฅต","๐Ÿฅถ","๐Ÿฅบ","๐Ÿฅป","๐Ÿฅผ","๐Ÿฅฝ","๐Ÿฅพ","๐Ÿฅฟ","๐Ÿฆ€","๐Ÿฆ","๐Ÿฆ‚","๐Ÿฆƒ","๐Ÿฆ„","๐Ÿฆ…","๐Ÿฆ†","๐Ÿฆ‡","๐Ÿฆˆ","๐Ÿฆ‰","๐ŸฆŠ","๐Ÿฆ‹","๐ŸฆŒ","๐Ÿฆ","๐ŸฆŽ","๐Ÿฆ","๐Ÿฆ","๐Ÿฆ‘","๐Ÿฆ’","๐Ÿฆ“","๐Ÿฆ”","๐Ÿฆ•","๐Ÿฆ–","๐Ÿฆ—","๐Ÿฆ˜","๐Ÿฆ™","๐Ÿฆš","๐Ÿฆ›","๐Ÿฆœ","๐Ÿฆ","๐Ÿฆž","๐ŸฆŸ","๐Ÿฆ ","๐Ÿฆก","๐Ÿฆข","๐Ÿฆฅ","๐Ÿฆฆ","๐Ÿฆง","๐Ÿฆจ","๐Ÿฆฉ","๐Ÿฆช","๐Ÿฆฎ","๐Ÿฆฏ","๐Ÿฆฐ","๐Ÿฆฑ","๐Ÿฆฒ","๐Ÿฆณ","๐Ÿฆด","๐Ÿฆต๐Ÿป","๐Ÿฆต๐Ÿผ","๐Ÿฆต๐Ÿฝ","๐Ÿฆต๐Ÿพ","๐Ÿฆต๐Ÿฟ","๐Ÿฆต","๐Ÿฆถ๐Ÿป","๐Ÿฆถ๐Ÿผ","๐Ÿฆถ๐Ÿฝ","๐Ÿฆถ๐Ÿพ","๐Ÿฆถ๐Ÿฟ","๐Ÿฆถ","๐Ÿฆท","๐Ÿฆธ๐Ÿปโ€โ™€๏ธ","๐Ÿฆธ๐Ÿปโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿป","๐Ÿฆธ๐Ÿผโ€โ™€๏ธ","๐Ÿฆธ๐Ÿผโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿผ","๐Ÿฆธ๐Ÿฝโ€โ™€๏ธ","๐Ÿฆธ๐Ÿฝโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿฝ","๐Ÿฆธ๐Ÿพโ€โ™€๏ธ","๐Ÿฆธ๐Ÿพโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿพ","๐Ÿฆธ๐Ÿฟโ€โ™€๏ธ","๐Ÿฆธ๐Ÿฟโ€โ™‚๏ธ","๐Ÿฆธ๐Ÿฟ","๐Ÿฆธโ€โ™€๏ธ","๐Ÿฆธโ€โ™‚๏ธ","๐Ÿฆธ","๐Ÿฆน๐Ÿปโ€โ™€๏ธ","๐Ÿฆน๐Ÿปโ€โ™‚๏ธ","๐Ÿฆน๐Ÿป","๐Ÿฆน๐Ÿผโ€โ™€๏ธ","๐Ÿฆน๐Ÿผโ€โ™‚๏ธ","๐Ÿฆน๐Ÿผ","๐Ÿฆน๐Ÿฝโ€โ™€๏ธ","๐Ÿฆน๐Ÿฝโ€โ™‚๏ธ","๐Ÿฆน๐Ÿฝ","๐Ÿฆน๐Ÿพโ€โ™€๏ธ","๐Ÿฆน๐Ÿพโ€โ™‚๏ธ","๐Ÿฆน๐Ÿพ","๐Ÿฆน๐Ÿฟโ€โ™€๏ธ","๐Ÿฆน๐Ÿฟโ€โ™‚๏ธ","๐Ÿฆน๐Ÿฟ","๐Ÿฆนโ€โ™€๏ธ","๐Ÿฆนโ€โ™‚๏ธ","๐Ÿฆน","๐Ÿฆบ","๐Ÿฆป๐Ÿป","๐Ÿฆป๐Ÿผ","๐Ÿฆป๐Ÿฝ","๐Ÿฆป๐Ÿพ","๐Ÿฆป๐Ÿฟ","๐Ÿฆป","๐Ÿฆผ","๐Ÿฆฝ","๐Ÿฆพ","๐Ÿฆฟ","๐Ÿง€","๐Ÿง","๐Ÿง‚","๐Ÿงƒ","๐Ÿง„","๐Ÿง…","๐Ÿง†","๐Ÿง‡","๐Ÿงˆ","๐Ÿง‰","๐ŸงŠ","๐Ÿง๐Ÿปโ€โ™€๏ธ","๐Ÿง๐Ÿปโ€โ™‚๏ธ","๐Ÿง๐Ÿป","๐Ÿง๐Ÿผโ€โ™€๏ธ","๐Ÿง๐Ÿผโ€โ™‚๏ธ","๐Ÿง๐Ÿผ","๐Ÿง๐Ÿฝโ€โ™€๏ธ","๐Ÿง๐Ÿฝโ€โ™‚๏ธ","๐Ÿง๐Ÿฝ","๐Ÿง๐Ÿพโ€โ™€๏ธ","๐Ÿง๐Ÿพโ€โ™‚๏ธ","๐Ÿง๐Ÿพ","๐Ÿง๐Ÿฟโ€โ™€๏ธ","๐Ÿง๐Ÿฟโ€โ™‚๏ธ","๐Ÿง๐Ÿฟ","๐Ÿงโ€โ™€๏ธ","๐Ÿงโ€โ™‚๏ธ","๐Ÿง","๐ŸงŽ๐Ÿปโ€โ™€๏ธ","๐ŸงŽ๐Ÿปโ€โ™‚๏ธ","๐ŸงŽ๐Ÿป","๐ŸงŽ๐Ÿผโ€โ™€๏ธ","๐ŸงŽ๐Ÿผโ€โ™‚๏ธ","๐ŸงŽ๐Ÿผ","๐ŸงŽ๐Ÿฝโ€โ™€๏ธ","๐ŸงŽ๐Ÿฝโ€โ™‚๏ธ","๐ŸงŽ๐Ÿฝ","๐ŸงŽ๐Ÿพโ€โ™€๏ธ","๐ŸงŽ๐Ÿพโ€โ™‚๏ธ","๐ŸงŽ๐Ÿพ","๐ŸงŽ๐Ÿฟโ€โ™€๏ธ","๐ŸงŽ๐Ÿฟโ€โ™‚๏ธ","๐ŸงŽ๐Ÿฟ","๐ŸงŽโ€โ™€๏ธ","๐ŸงŽโ€โ™‚๏ธ","๐ŸงŽ","๐Ÿง๐Ÿปโ€โ™€๏ธ","๐Ÿง๐Ÿปโ€โ™‚๏ธ","๐Ÿง๐Ÿป","๐Ÿง๐Ÿผโ€โ™€๏ธ","๐Ÿง๐Ÿผโ€โ™‚๏ธ","๐Ÿง๐Ÿผ","๐Ÿง๐Ÿฝโ€โ™€๏ธ","๐Ÿง๐Ÿฝโ€โ™‚๏ธ","๐Ÿง๐Ÿฝ","๐Ÿง๐Ÿพโ€โ™€๏ธ","๐Ÿง๐Ÿพโ€โ™‚๏ธ","๐Ÿง๐Ÿพ","๐Ÿง๐Ÿฟโ€โ™€๏ธ","๐Ÿง๐Ÿฟโ€โ™‚๏ธ","๐Ÿง๐Ÿฟ","๐Ÿงโ€โ™€๏ธ","๐Ÿงโ€โ™‚๏ธ","๐Ÿง","๐Ÿง","๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ","๐Ÿง‘๐Ÿพ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿป","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ","๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ","๐Ÿง‘๐Ÿฟ","๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘","๐Ÿง‘","๐Ÿง’๐Ÿป","๐Ÿง’๐Ÿผ","๐Ÿง’๐Ÿฝ","๐Ÿง’๐Ÿพ","๐Ÿง’๐Ÿฟ","๐Ÿง’","๐Ÿง“๐Ÿป","๐Ÿง“๐Ÿผ","๐Ÿง“๐Ÿฝ","๐Ÿง“๐Ÿพ","๐Ÿง“๐Ÿฟ","๐Ÿง“","๐Ÿง”๐Ÿป","๐Ÿง”๐Ÿผ","๐Ÿง”๐Ÿฝ","๐Ÿง”๐Ÿพ","๐Ÿง”๐Ÿฟ","๐Ÿง”","๐Ÿง•๐Ÿป","๐Ÿง•๐Ÿผ","๐Ÿง•๐Ÿฝ","๐Ÿง•๐Ÿพ","๐Ÿง•๐Ÿฟ","๐Ÿง•","๐Ÿง–๐Ÿปโ€โ™€๏ธ","๐Ÿง–๐Ÿปโ€โ™‚๏ธ","๐Ÿง–๐Ÿป","๐Ÿง–๐Ÿผโ€โ™€๏ธ","๐Ÿง–๐Ÿผโ€โ™‚๏ธ","๐Ÿง–๐Ÿผ","๐Ÿง–๐Ÿฝโ€โ™€๏ธ","๐Ÿง–๐Ÿฝโ€โ™‚๏ธ","๐Ÿง–๐Ÿฝ","๐Ÿง–๐Ÿพโ€โ™€๏ธ","๐Ÿง–๐Ÿพโ€โ™‚๏ธ","๐Ÿง–๐Ÿพ","๐Ÿง–๐Ÿฟโ€โ™€๏ธ","๐Ÿง–๐Ÿฟโ€โ™‚๏ธ","๐Ÿง–๐Ÿฟ","๐Ÿง–โ€โ™€๏ธ","๐Ÿง–โ€โ™‚๏ธ","๐Ÿง–","๐Ÿง—๐Ÿปโ€โ™€๏ธ","๐Ÿง—๐Ÿปโ€โ™‚๏ธ","๐Ÿง—๐Ÿป","๐Ÿง—๐Ÿผโ€โ™€๏ธ","๐Ÿง—๐Ÿผโ€โ™‚๏ธ","๐Ÿง—๐Ÿผ","๐Ÿง—๐Ÿฝโ€โ™€๏ธ","๐Ÿง—๐Ÿฝโ€โ™‚๏ธ","๐Ÿง—๐Ÿฝ","๐Ÿง—๐Ÿพโ€โ™€๏ธ","๐Ÿง—๐Ÿพโ€โ™‚๏ธ","๐Ÿง—๐Ÿพ","๐Ÿง—๐Ÿฟโ€โ™€๏ธ","๐Ÿง—๐Ÿฟโ€โ™‚๏ธ","๐Ÿง—๐Ÿฟ","๐Ÿง—โ€โ™€๏ธ","๐Ÿง—โ€โ™‚๏ธ","๐Ÿง—","๐Ÿง˜๐Ÿปโ€โ™€๏ธ","๐Ÿง˜๐Ÿปโ€โ™‚๏ธ","๐Ÿง˜๐Ÿป","๐Ÿง˜๐Ÿผโ€โ™€๏ธ","๐Ÿง˜๐Ÿผโ€โ™‚๏ธ","๐Ÿง˜๐Ÿผ","๐Ÿง˜๐Ÿฝโ€โ™€๏ธ","๐Ÿง˜๐Ÿฝโ€โ™‚๏ธ","๐Ÿง˜๐Ÿฝ","๐Ÿง˜๐Ÿพโ€โ™€๏ธ","๐Ÿง˜๐Ÿพโ€โ™‚๏ธ","๐Ÿง˜๐Ÿพ","๐Ÿง˜๐Ÿฟโ€โ™€๏ธ","๐Ÿง˜๐Ÿฟโ€โ™‚๏ธ","๐Ÿง˜๐Ÿฟ","๐Ÿง˜โ€โ™€๏ธ","๐Ÿง˜โ€โ™‚๏ธ","๐Ÿง˜","๐Ÿง™๐Ÿปโ€โ™€๏ธ","๐Ÿง™๐Ÿปโ€โ™‚๏ธ","๐Ÿง™๐Ÿป","๐Ÿง™๐Ÿผโ€โ™€๏ธ","๐Ÿง™๐Ÿผโ€โ™‚๏ธ","๐Ÿง™๐Ÿผ","๐Ÿง™๐Ÿฝโ€โ™€๏ธ","๐Ÿง™๐Ÿฝโ€โ™‚๏ธ","๐Ÿง™๐Ÿฝ","๐Ÿง™๐Ÿพโ€โ™€๏ธ","๐Ÿง™๐Ÿพโ€โ™‚๏ธ","๐Ÿง™๐Ÿพ","๐Ÿง™๐Ÿฟโ€โ™€๏ธ","๐Ÿง™๐Ÿฟโ€โ™‚๏ธ","๐Ÿง™๐Ÿฟ","๐Ÿง™โ€โ™€๏ธ","๐Ÿง™โ€โ™‚๏ธ","๐Ÿง™","๐Ÿงš๐Ÿปโ€โ™€๏ธ","๐Ÿงš๐Ÿปโ€โ™‚๏ธ","๐Ÿงš๐Ÿป","๐Ÿงš๐Ÿผโ€โ™€๏ธ","๐Ÿงš๐Ÿผโ€โ™‚๏ธ","๐Ÿงš๐Ÿผ","๐Ÿงš๐Ÿฝโ€โ™€๏ธ","๐Ÿงš๐Ÿฝโ€โ™‚๏ธ","๐Ÿงš๐Ÿฝ","๐Ÿงš๐Ÿพโ€โ™€๏ธ","๐Ÿงš๐Ÿพโ€โ™‚๏ธ","๐Ÿงš๐Ÿพ","๐Ÿงš๐Ÿฟโ€โ™€๏ธ","๐Ÿงš๐Ÿฟโ€โ™‚๏ธ","๐Ÿงš๐Ÿฟ","๐Ÿงšโ€โ™€๏ธ","๐Ÿงšโ€โ™‚๏ธ","๐Ÿงš","๐Ÿง›๐Ÿปโ€โ™€๏ธ","๐Ÿง›๐Ÿปโ€โ™‚๏ธ","๐Ÿง›๐Ÿป","๐Ÿง›๐Ÿผโ€โ™€๏ธ","๐Ÿง›๐Ÿผโ€โ™‚๏ธ","๐Ÿง›๐Ÿผ","๐Ÿง›๐Ÿฝโ€โ™€๏ธ","๐Ÿง›๐Ÿฝโ€โ™‚๏ธ","๐Ÿง›๐Ÿฝ","๐Ÿง›๐Ÿพโ€โ™€๏ธ","๐Ÿง›๐Ÿพโ€โ™‚๏ธ","๐Ÿง›๐Ÿพ","๐Ÿง›๐Ÿฟโ€โ™€๏ธ","๐Ÿง›๐Ÿฟโ€โ™‚๏ธ","๐Ÿง›๐Ÿฟ","๐Ÿง›โ€โ™€๏ธ","๐Ÿง›โ€โ™‚๏ธ","๐Ÿง›","๐Ÿงœ๐Ÿปโ€โ™€๏ธ","๐Ÿงœ๐Ÿปโ€โ™‚๏ธ","๐Ÿงœ๐Ÿป","๐Ÿงœ๐Ÿผโ€โ™€๏ธ","๐Ÿงœ๐Ÿผโ€โ™‚๏ธ","๐Ÿงœ๐Ÿผ","๐Ÿงœ๐Ÿฝโ€โ™€๏ธ","๐Ÿงœ๐Ÿฝโ€โ™‚๏ธ","๐Ÿงœ๐Ÿฝ","๐Ÿงœ๐Ÿพโ€โ™€๏ธ","๐Ÿงœ๐Ÿพโ€โ™‚๏ธ","๐Ÿงœ๐Ÿพ","๐Ÿงœ๐Ÿฟโ€โ™€๏ธ","๐Ÿงœ๐Ÿฟโ€โ™‚๏ธ","๐Ÿงœ๐Ÿฟ","๐Ÿงœโ€โ™€๏ธ","๐Ÿงœโ€โ™‚๏ธ","๐Ÿงœ","๐Ÿง๐Ÿปโ€โ™€๏ธ","๐Ÿง๐Ÿปโ€โ™‚๏ธ","๐Ÿง๐Ÿป","๐Ÿง๐Ÿผโ€โ™€๏ธ","๐Ÿง๐Ÿผโ€โ™‚๏ธ","๐Ÿง๐Ÿผ","๐Ÿง๐Ÿฝโ€โ™€๏ธ","๐Ÿง๐Ÿฝโ€โ™‚๏ธ","๐Ÿง๐Ÿฝ","๐Ÿง๐Ÿพโ€โ™€๏ธ","๐Ÿง๐Ÿพโ€โ™‚๏ธ","๐Ÿง๐Ÿพ","๐Ÿง๐Ÿฟโ€โ™€๏ธ","๐Ÿง๐Ÿฟโ€โ™‚๏ธ","๐Ÿง๐Ÿฟ","๐Ÿงโ€โ™€๏ธ","๐Ÿงโ€โ™‚๏ธ","๐Ÿง","๐Ÿงžโ€โ™€๏ธ","๐Ÿงžโ€โ™‚๏ธ","๐Ÿงž","๐ŸงŸโ€โ™€๏ธ","๐ŸงŸโ€โ™‚๏ธ","๐ŸงŸ","๐Ÿง ","๐Ÿงก","๐Ÿงข","๐Ÿงฃ","๐Ÿงค","๐Ÿงฅ","๐Ÿงฆ","๐Ÿงง","๐Ÿงจ","๐Ÿงฉ","๐Ÿงช","๐Ÿงซ","๐Ÿงฌ","๐Ÿงญ","๐Ÿงฎ","๐Ÿงฏ","๐Ÿงฐ","๐Ÿงฑ","๐Ÿงฒ","๐Ÿงณ","๐Ÿงด","๐Ÿงต","๐Ÿงถ","๐Ÿงท","๐Ÿงธ","๐Ÿงน","๐Ÿงบ","๐Ÿงป","๐Ÿงผ","๐Ÿงฝ","๐Ÿงพ","๐Ÿงฟ","๐Ÿฉฐ","๐Ÿฉฑ","๐Ÿฉฒ","๐Ÿฉณ","๐Ÿฉธ","๐Ÿฉน","๐Ÿฉบ","๐Ÿช€","๐Ÿช","๐Ÿช‚","๐Ÿช","๐Ÿช‘","๐Ÿช’","๐Ÿช“","๐Ÿช”","๐Ÿช•","โ€ผ๏ธ","โ‰๏ธ","โ„ข๏ธ","โ„น๏ธ","โ†”๏ธ","โ†•๏ธ","โ†–๏ธ","โ†—๏ธ","โ†˜๏ธ","โ†™๏ธ","โ†ฉ๏ธ","โ†ช๏ธ","#โƒฃ","โŒš๏ธ","โŒ›๏ธ","โŒจ๏ธ","โ๏ธ","โฉ","โช","โซ","โฌ","โญ๏ธ","โฎ๏ธ","โฏ๏ธ","โฐ","โฑ๏ธ","โฒ๏ธ","โณ","โธ๏ธ","โน๏ธ","โบ๏ธ","โ“‚๏ธ","โ–ช๏ธ","โ–ซ๏ธ","โ–ถ๏ธ","โ—€๏ธ","โ—ป๏ธ","โ—ผ๏ธ","โ—ฝ๏ธ","โ—พ๏ธ","โ˜€๏ธ","โ˜๏ธ","โ˜‚๏ธ","โ˜ƒ๏ธ","โ˜„๏ธ","โ˜Ž๏ธ","โ˜‘๏ธ","โ˜”๏ธ","โ˜•๏ธ","โ˜˜๏ธ","โ˜๐Ÿป","โ˜๐Ÿผ","โ˜๐Ÿฝ","โ˜๐Ÿพ","โ˜๐Ÿฟ","โ˜๏ธ","โ˜ ๏ธ","โ˜ข๏ธ","โ˜ฃ๏ธ","โ˜ฆ๏ธ","โ˜ช๏ธ","โ˜ฎ๏ธ","โ˜ฏ๏ธ","โ˜ธ๏ธ","โ˜น๏ธ","โ˜บ๏ธ","โ™€๏ธ","โ™‚๏ธ","โ™ˆ๏ธ","โ™‰๏ธ","โ™Š๏ธ","โ™‹๏ธ","โ™Œ๏ธ","โ™๏ธ","โ™Ž๏ธ","โ™๏ธ","โ™๏ธ","โ™‘๏ธ","โ™’๏ธ","โ™“๏ธ","โ™Ÿ๏ธ","โ™ ๏ธ","โ™ฃ๏ธ","โ™ฅ๏ธ","โ™ฆ๏ธ","โ™จ๏ธ","โ™ป๏ธ","โ™พ","โ™ฟ๏ธ","โš’๏ธ","โš“๏ธ","โš”๏ธ","โš•๏ธ","โš–๏ธ","โš—๏ธ","โš™๏ธ","โš›๏ธ","โšœ๏ธ","โš ๏ธ","โšก๏ธ","โšช๏ธ","โšซ๏ธ","โšฐ๏ธ","โšฑ๏ธ","โšฝ๏ธ","โšพ๏ธ","โ›„๏ธ","โ›…๏ธ","โ›ˆ๏ธ","โ›Ž","โ›๏ธ","โ›‘๏ธ","โ›“๏ธ","โ›”๏ธ","โ›ฉ๏ธ","โ›ช๏ธ","โ›ฐ๏ธ","โ›ฑ๏ธ","โ›ฒ๏ธ","โ›ณ๏ธ","โ›ด๏ธ","โ›ต๏ธ","โ›ท๐Ÿป","โ›ท๐Ÿผ","โ›ท๐Ÿฝ","โ›ท๐Ÿพ","โ›ท๐Ÿฟ","โ›ท๏ธ","โ›ธ๏ธ","โ›น๐Ÿปโ€โ™€๏ธ","โ›น๐Ÿปโ€โ™‚๏ธ","โ›น๐Ÿป","โ›น๐Ÿผโ€โ™€๏ธ","โ›น๐Ÿผโ€โ™‚๏ธ","โ›น๐Ÿผ","โ›น๐Ÿฝโ€โ™€๏ธ","โ›น๐Ÿฝโ€โ™‚๏ธ","โ›น๐Ÿฝ","โ›น๐Ÿพโ€โ™€๏ธ","โ›น๐Ÿพโ€โ™‚๏ธ","โ›น๐Ÿพ","โ›น๐Ÿฟโ€โ™€๏ธ","โ›น๐Ÿฟโ€โ™‚๏ธ","โ›น๐Ÿฟ","โ›น๏ธโ€โ™€๏ธ","โ›น๏ธโ€โ™‚๏ธ","โ›น๏ธ","โ›บ๏ธ","โ›ฝ๏ธ","โœ‚๏ธ","โœ…","โœˆ๏ธ","โœ‰๏ธ","โœŠ๐Ÿป","โœŠ๐Ÿผ","โœŠ๐Ÿฝ","โœŠ๐Ÿพ","โœŠ๐Ÿฟ","โœŠ","โœ‹๐Ÿป","โœ‹๐Ÿผ","โœ‹๐Ÿฝ","โœ‹๐Ÿพ","โœ‹๐Ÿฟ","โœ‹","โœŒ๐Ÿป","โœŒ๐Ÿผ","โœŒ๐Ÿฝ","โœŒ๐Ÿพ","โœŒ๐Ÿฟ","โœŒ๏ธ","โœ๐Ÿป","โœ๐Ÿผ","โœ๐Ÿฝ","โœ๐Ÿพ","โœ๐Ÿฟ","โœ๏ธ","โœ๏ธ","โœ’๏ธ","โœ”๏ธ","โœ–๏ธ","โœ๏ธ","โœก๏ธ","โœจ","โœณ๏ธ","โœด๏ธ","โ„๏ธ","โ‡๏ธ","โŒ","โŽ","โ“","โ”","โ•","โ—๏ธ","โฃ๏ธ","โค๏ธ","โž•","โž–","โž—","โžก๏ธ","โžฐ","โžฟ","โคด๏ธ","โคต๏ธ","*โƒฃ","โฌ…๏ธ","โฌ†๏ธ","โฌ‡๏ธ","โฌ›๏ธ","โฌœ๏ธ","โญ๏ธ","โญ•๏ธ","0โƒฃ","ใ€ฐ๏ธ","ใ€ฝ๏ธ","1โƒฃ","2โƒฃ","ใŠ—๏ธ","ใŠ™๏ธ","3โƒฃ","4โƒฃ","5โƒฃ","6โƒฃ","7โƒฃ","8โƒฃ","9โƒฃ","ยฉ๏ธ","ยฎ๏ธ","๎”Š"]},646:t=>{"use strict";function getCurrentRequest(t){if(t.currentRequest){return t.currentRequest}const e=t.loaders.slice(t.loaderIndex).map(t=>t.request).concat([t.resource]);return e.join("!")}t.exports=getCurrentRequest},960:(t,e,s)=>{"use strict";const n={26:"abcdefghijklmnopqrstuvwxyz",32:"123456789abcdefghjkmnpqrstuvwxyz",36:"0123456789abcdefghijklmnopqrstuvwxyz",49:"abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",52:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",64:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"};function encodeBufferToBase(t,e){const r=n[e];if(!r){throw new Error("Unknown encoding base"+e)}const i=t.length;const f=s(774);f.RM=f.DP=0;let o=new f(0);for(let e=i-1;e>=0;e--){o=o.times(256).plus(t[e])}let u="";while(o.gt(0)){u=r[o.mod(e)]+u;o=o.div(e)}f.DP=20;f.RM=1;return u}function getHashDigest(t,e,n,r){e=e||"md4";r=r||9999;const i=s(417).createHash(e);i.update(t);if(n==="base26"||n==="base32"||n==="base36"||n==="base49"||n==="base52"||n==="base58"||n==="base62"||n==="base64"){return encodeBufferToBase(i.digest(),n.substr(4)).substr(0,r)}else{return i.digest(n||"hex").substr(0,r)}}t.exports=getHashDigest},13:(t,e,s)=>{"use strict";const n=s(349);function getOptions(t){const e=t.query;if(typeof e==="string"&&e!==""){return n(t.query)}if(!e||typeof e!=="object"){return{}}return e}t.exports=getOptions},876:t=>{"use strict";function getRemainingRequest(t){if(t.remainingRequest){return t.remainingRequest}const e=t.loaders.slice(t.loaderIndex+1).map(t=>t.request).concat([t.resource]);return e.join("!")}t.exports=getRemainingRequest},950:(t,e,s)=>{"use strict";const n=s(13);const r=s(349);const i=s(59);const f=s(876);const o=s(646);const u=s(363);const c=s(727);const h=s(624);const g=s(960);const p=s(240);e.getOptions=n;e.parseQuery=r;e.stringifyRequest=i;e.getRemainingRequest=f;e.getCurrentRequest=o;e.isUrlRequest=u;e.urlToRequest=c;e.parseString=h;e.getHashDigest=g;e.interpolateName=p},240:(t,e,s)=>{"use strict";const n=s(622);const r=s(999);const i=s(960);const f=/[\uD800-\uDFFF]./;const o=r.filter(t=>f.test(t));const u={};function encodeStringToEmoji(t,e){if(u[t]){return u[t]}e=e||1;const s=[];do{if(!o.length){throw new Error("Ran out of emoji")}const t=Math.floor(Math.random()*o.length);s.push(o[t]);o.splice(t,1)}while(--e>0);const n=s.join("");u[t]=n;return n}function interpolateName(t,e,s){let r;const f=t.resourceQuery&&t.resourceQuery.length>1;if(typeof e==="function"){r=e(t.resourcePath,f?t.resourceQuery:undefined)}else{r=e||"[hash].[ext]"}const o=s.context;const u=s.content;const c=s.regExp;let h="bin";let g="file";let p="";let l="";let a="";if(t.resourcePath){const e=n.parse(t.resourcePath);let s=t.resourcePath;if(e.ext){h=e.ext.substr(1)}if(e.dir){g=e.name;s=e.dir+n.sep}if(typeof o!=="undefined"){p=n.relative(o,s+"_").replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1");p=p.substr(0,p.length-1)}else{p=s.replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1")}if(p.length===1){p=""}else if(p.length>1){l=n.basename(p)}}if(t.resourceQuery&&t.resourceQuery.length>1){a=t.resourceQuery;const e=a.indexOf("#");if(e>=0){a=a.substr(0,e)}}let w=r;if(u){w=w.replace(/\[(?:([^:\]]+):)?(?:hash|contenthash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi,(t,e,s,n)=>i(u,e,s,parseInt(n,10))).replace(/\[emoji(?::(\d+))?\]/gi,(t,e)=>encodeStringToEmoji(u,parseInt(e,10)))}w=w.replace(/\[ext\]/gi,()=>h).replace(/\[name\]/gi,()=>g).replace(/\[path\]/gi,()=>p).replace(/\[folder\]/gi,()=>l).replace(/\[query\]/gi,()=>a);if(c&&t.resourcePath){const e=t.resourcePath.match(new RegExp(c));e&&e.forEach((t,e)=>{w=w.replace(new RegExp("\\["+e+"\\]","ig"),t)})}if(typeof t.options==="object"&&typeof t.options.customInterpolateName==="function"){w=t.options.customInterpolateName.call(t,w,e,s)}return w}t.exports=interpolateName},363:(t,e,s)=>{"use strict";const n=s(622);function isUrlRequest(t,e){if(/^[a-z][a-z0-9+.-]*:/i.test(t)&&!n.win32.isAbsolute(t)){return false}if(/^\/\//.test(t)){return false}if(/^[{}[\]#*;,'ยง$%&(=?`ยด^ยฐ<>]/.test(t)){return false}if((e===undefined||e===false)&&/^\//.test(t)){return false}return true}t.exports=isUrlRequest},349:(t,e,s)=>{"use strict";const n=s(170);const r={null:null,true:true,false:false};function parseQuery(t){if(t.substr(0,1)!=="?"){throw new Error("A valid query string passed to parseQuery should begin with '?'")}t=t.substr(1);if(!t){return{}}if(t.substr(0,1)==="{"&&t.substr(-1)==="}"){return n.parse(t)}const e=t.split(/[,&]/g);const s={};e.forEach(t=>{const e=t.indexOf("=");if(e>=0){let n=t.substr(0,e);let i=decodeURIComponent(t.substr(e+1));if(r.hasOwnProperty(i)){i=r[i]}if(n.substr(-2)==="[]"){n=decodeURIComponent(n.substr(0,n.length-2));if(!Array.isArray(s[n])){s[n]=[]}s[n].push(i)}else{n=decodeURIComponent(n);s[n]=i}}else{if(t.substr(0,1)==="-"){s[decodeURIComponent(t.substr(1))]=false}else if(t.substr(0,1)==="+"){s[decodeURIComponent(t.substr(1))]=true}else{s[decodeURIComponent(t)]=true}}});return s}t.exports=parseQuery},624:t=>{"use strict";function parseString(t){try{if(t[0]==='"'){return JSON.parse(t)}if(t[0]==="'"&&t.substr(t.length-1)==="'"){return parseString(t.replace(/\\.|"/g,t=>t==='"'?'\\"':t).replace(/^'|'$/g,'"'))}return JSON.parse('"'+t+'"')}catch(e){return t}}t.exports=parseString},59:(t,e,s)=>{"use strict";const n=s(622);const r=/^\.\.?[/\\]/;function isAbsolutePath(t){return n.posix.isAbsolute(t)||n.win32.isAbsolute(t)}function isRelativePath(t){return r.test(t)}function stringifyRequest(t,e){const s=e.split("!");const r=t.context||t.options&&t.options.context;return JSON.stringify(s.map(t=>{const e=t.match(/^(.*?)(\?.*)/);const s=e?e[2]:"";let i=e?e[1]:t;if(isAbsolutePath(i)&&r){i=n.relative(r,i);if(isAbsolutePath(i)){return i+s}if(isRelativePath(i)===false){i="./"+i}}return i.replace(/\\/g,"/")+s}).join("!"))}t.exports=stringifyRequest},727:t=>{"use strict";const e=/^[A-Z]:[/\\]|^\\\\/i;function urlToRequest(t,s){if(t===""){return""}const n=/^[^?]*~/;let r;if(e.test(t)){r=t}else if(s!==undefined&&s!==false&&/^\//.test(t)){switch(typeof s){case"string":if(n.test(s)){r=s.replace(/([^~/])$/,"$1/")+t.slice(1)}else{r=s+t}break;case"boolean":r=t;break;default:throw new Error("Unexpected parameters to loader-utils 'urlToRequest': url = "+t+", root = "+s+".")}}else if(/^\.\.?\//.test(t)){r=t}else{r="./"+t}if(n.test(r)){r=r.replace(n,"")}return r}t.exports=urlToRequest},417:t=>{"use strict";t.exports=require("crypto")},170:t=>{"use strict";t.exports=require("next/dist/compiled/json5")},622:t=>{"use strict";t.exports=require("path")}};var e={};function __nccwpck_require__(s){if(e[s]){return e[s].exports}var n=e[s]={exports:{}};var r=true;try{t[s].call(n.exports,n,n.exports,__nccwpck_require__);r=false}finally{if(r)delete e[s]}return n.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(950)})(); \ No newline at end of file diff --git a/packages/next/build/webpack/plugins/mini-css-extract-plugin/LICENSE b/packages/next/compiled/mini-css-extract-plugin/LICENSE similarity index 100% rename from packages/next/build/webpack/plugins/mini-css-extract-plugin/LICENSE rename to packages/next/compiled/mini-css-extract-plugin/LICENSE diff --git a/packages/next/compiled/mini-css-extract-plugin/cjs.js b/packages/next/compiled/mini-css-extract-plugin/cjs.js new file mode 100644 index 0000000000000..965d3ea22adc9 --- /dev/null +++ b/packages/next/compiled/mini-css-extract-plugin/cjs.js @@ -0,0 +1 @@ +module.exports=(()=>{"use strict";var e={405:(e,r,_)=>{e.exports=_(612).default},612:e=>{e.exports=require("./index.js")}};var r={};function __nccwpck_require__(_){if(r[_]){return r[_].exports}var t=r[_]={exports:{}};var a=true;try{e[_](t,t.exports,__nccwpck_require__);a=false}finally{if(a)delete r[_]}return t.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(405)})(); \ No newline at end of file diff --git a/packages/next/compiled/mini-css-extract-plugin/index.js b/packages/next/compiled/mini-css-extract-plugin/index.js new file mode 100644 index 0000000000000..25107f6cc7457 --- /dev/null +++ b/packages/next/compiled/mini-css-extract-plugin/index.js @@ -0,0 +1 @@ +module.exports=(()=>{var e={798:e=>{"use strict";e.exports=JSON.parse('{"type":"object","additionalProperties":false,"properties":{"filename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}]},"chunkFilename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}]},"experimentalUseImportModule":{"description":"Enable the experimental importModule approach instead of using child compilers. This uses less memory and is faster.","type":"boolean"},"ignoreOrder":{"type":"boolean"},"insert":{"description":"Inserts `` at the given position (https://github.com/webpack-contrib/mini-css-extract-plugin#insert).","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"attributes":{"description":"Adds custom attributes to tag (https://github.com/webpack-contrib/mini-css-extract-plugin#attributes).","type":"object"},"linkType":{"anyOf":[{"enum":["text/css"]},{"type":"boolean"}]}}}')},736:e=>{"use strict";class LoadingLoaderError extends Error{constructor(e){super(e);this.name="LoaderRunnerError";Error.captureStackTrace(this,this.constructor)}}e.exports=LoadingLoaderError},278:(e,t,n)=>{var r=n(747);var s=r.readFile.bind(r);var i=n(384);function utf8BufferToString(e){var t=e.toString("utf-8");if(t.charCodeAt(0)===65279){return t.substr(1)}else{return t}}function splitQuery(e){var t=e.indexOf("?");if(t<0)return[e,""];return[e.substr(0,t),e.substr(t)]}function dirname(e){if(e==="/")return"/";var t=e.lastIndexOf("/");var n=e.lastIndexOf("\\");var r=e.indexOf("/");var s=e.indexOf("\\");var i=t>n?t:n;var o=t>n?r:s;if(i<0)return e;if(i===o)return e.substr(0,i+1);return e.substr(0,i)}function createLoaderObject(e){var t={path:null,query:null,options:null,ident:null,normal:null,pitch:null,raw:null,data:null,pitchExecuted:false,normalExecuted:false};Object.defineProperty(t,"request",{enumerable:true,get:function(){return t.path+t.query},set:function(e){if(typeof e==="string"){var n=splitQuery(e);t.path=n[0];t.query=n[1];t.options=undefined;t.ident=undefined}else{if(!e.loader)throw new Error("request should be a string or object with loader and object ("+JSON.stringify(e)+")");t.path=e.loader;t.options=e.options;t.ident=e.ident;if(t.options===null)t.query="";else if(t.options===undefined)t.query="";else if(typeof t.options==="string")t.query="?"+t.options;else if(t.ident)t.query="??"+t.ident;else if(typeof t.options==="object"&&t.options.ident)t.query="??"+t.options.ident;else t.query="?"+JSON.stringify(t.options)}}});t.request=e;if(Object.preventExtensions){Object.preventExtensions(t)}return t}function runSyncOrAsync(e,t,n,r){var s=true;var i=false;var o=false;var u=false;t.async=function async(){if(i){if(u)return;throw new Error("async(): The callback was already called.")}s=false;return a};var a=t.callback=function(){if(i){if(u)return;throw new Error("callback(): The callback was already called.")}i=true;s=false;try{r.apply(null,arguments)}catch(e){o=true;throw e}};try{var d=function LOADER_EXECUTION(){return e.apply(t,n)}();if(s){i=true;if(d===undefined)return r();if(d&&typeof d==="object"&&typeof d.then==="function"){return d.then(function(e){r(null,e)},r)}return r(null,d)}}catch(e){if(o)throw e;if(i){if(typeof e==="object"&&e.stack)console.error(e.stack);else console.error(e);return}i=true;u=true;r(e)}}function convertArgs(e,t){if(!t&&Buffer.isBuffer(e[0]))e[0]=utf8BufferToString(e[0]);else if(t&&typeof e[0]==="string")e[0]=new Buffer(e[0],"utf-8")}function iteratePitchingLoaders(e,t,n){if(t.loaderIndex>=t.loaders.length)return processResource(e,t,n);var r=t.loaders[t.loaderIndex];if(r.pitchExecuted){t.loaderIndex++;return iteratePitchingLoaders(e,t,n)}i(r,function(s){if(s){t.cacheable(false);return n(s)}var i=r.pitch;r.pitchExecuted=true;if(!i)return iteratePitchingLoaders(e,t,n);runSyncOrAsync(i,t,[t.remainingRequest,t.previousRequest,r.data={}],function(r){if(r)return n(r);var s=Array.prototype.slice.call(arguments,1);if(s.length>0){t.loaderIndex--;iterateNormalLoaders(e,t,s,n)}else{iteratePitchingLoaders(e,t,n)}})})}function processResource(e,t,n){t.loaderIndex=t.loaders.length-1;var r=t.resourcePath;if(r){t.addDependency(r);e.readResource(r,function(r,s){if(r)return n(r);e.resourceBuffer=s;iterateNormalLoaders(e,t,[s],n)})}else{iterateNormalLoaders(e,t,[null],n)}}function iterateNormalLoaders(e,t,n,r){if(t.loaderIndex<0)return r(null,n);var s=t.loaders[t.loaderIndex];if(s.normalExecuted){t.loaderIndex--;return iterateNormalLoaders(e,t,n,r)}var i=s.normal;s.normalExecuted=true;if(!i){return iterateNormalLoaders(e,t,n,r)}convertArgs(n,s.raw);runSyncOrAsync(i,t,n,function(n){if(n)return r(n);var s=Array.prototype.slice.call(arguments,1);iterateNormalLoaders(e,t,s,r)})}t.getContext=function getContext(e){var t=splitQuery(e);return dirname(t[0])};t.runLoaders=function runLoaders(e,t){var n=e.resource||"";var r=e.loaders||[];var i=e.context||{};var o=e.readResource||s;var u=n&&splitQuery(n);var a=u?u[0]:undefined;var d=u?u[1]:undefined;var c=a?dirname(a):null;var l=true;var f=[];var h=[];r=r.map(createLoaderObject);i.context=c;i.loaderIndex=0;i.loaders=r;i.resourcePath=a;i.resourceQuery=d;i.async=null;i.callback=null;i.cacheable=function cacheable(e){if(e===false){l=false}};i.dependency=i.addDependency=function addDependency(e){f.push(e)};i.addContextDependency=function addContextDependency(e){h.push(e)};i.getDependencies=function getDependencies(){return f.slice()};i.getContextDependencies=function getContextDependencies(){return h.slice()};i.clearDependencies=function clearDependencies(){f.length=0;h.length=0;l=true};Object.defineProperty(i,"resource",{enumerable:true,get:function(){if(i.resourcePath===undefined)return undefined;return i.resourcePath+i.resourceQuery},set:function(e){var t=e&&splitQuery(e);i.resourcePath=t?t[0]:undefined;i.resourceQuery=t?t[1]:undefined}});Object.defineProperty(i,"request",{enumerable:true,get:function(){return i.loaders.map(function(e){return e.request}).concat(i.resource||"").join("!")}});Object.defineProperty(i,"remainingRequest",{enumerable:true,get:function(){if(i.loaderIndex>=i.loaders.length-1&&!i.resource)return"";return i.loaders.slice(i.loaderIndex+1).map(function(e){return e.request}).concat(i.resource||"").join("!")}});Object.defineProperty(i,"currentRequest",{enumerable:true,get:function(){return i.loaders.slice(i.loaderIndex).map(function(e){return e.request}).concat(i.resource||"").join("!")}});Object.defineProperty(i,"previousRequest",{enumerable:true,get:function(){return i.loaders.slice(0,i.loaderIndex).map(function(e){return e.request}).join("!")}});Object.defineProperty(i,"query",{enumerable:true,get:function(){var e=i.loaders[i.loaderIndex];return e.options&&typeof e.options==="object"?e.options:e.query}});Object.defineProperty(i,"data",{enumerable:true,get:function(){return i.loaders[i.loaderIndex].data}});if(Object.preventExtensions){Object.preventExtensions(i)}var p={resourceBuffer:null,readResource:o};iteratePitchingLoaders(p,i,function(e,n){if(e){return t(e,{cacheable:l,fileDependencies:f,contextDependencies:h})}t(null,{result:n,resourceBuffer:p.resourceBuffer,cacheable:l,fileDependencies:f,contextDependencies:h})})}},384:(e,t,n)=>{var r=n(736);e.exports=function loadLoader(e,t){if(typeof System==="object"&&typeof System.import==="function"){System.import(e.path).catch(t).then(function(n){e.normal=typeof n==="function"?n:n.default;e.pitch=n.pitch;e.raw=n.raw;if(typeof e.normal!=="function"&&typeof e.pitch!=="function"){return t(new r("Module '"+e.path+"' is not a loader (must have normal or pitch function)"))}t()})}else{try{var n=require(e.path)}catch(n){if(n instanceof Error&&n.code==="EMFILE"){var s=loadLoader.bind(null,e,t);if(typeof setImmediate==="function"){return setImmediate(s)}else{return process.nextTick(s)}}return t(n)}if(typeof n!=="function"&&typeof n!=="object"){return t(new r("Module '"+e.path+"' is not a loader (export function or es6 module)"))}e.normal=typeof n==="function"?n:n.default;e.pitch=n.pitch;e.raw=n.raw;if(typeof e.normal!=="function"&&typeof e.pitch!=="function"){return t(new r("Module '"+e.path+"' is not a loader (must have normal or pitch function)"))}t()}}},105:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=t.pluginSymbol=t.pluginName=void 0;var r=n(286);var s=_interopRequireDefault(n(798));var i=n(958);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o="mini-css-extract-plugin";t.pluginName=o;const u=Symbol(o);t.pluginSymbol=u;const a=/\[chunkhash(?::(\d+))?\]/i;const d=/\[contenthash(?::(\d+))?\]/i;const c=/\[name\]/i;const l="[name].css";const f=new Set([i.MODULE_TYPE]);const h={sources:new Map,runtimeRequirements:new Set};const p=new WeakMap;const g=new WeakMap;class MiniCssExtractPlugin{static getCssModule(e){if(p.has(e)){return p.get(e)}class CssModule extends e.Module{constructor({context:e,identifier:t,identifierIndex:n,content:r,media:s,sourceMap:o,assets:u,assetsInfo:a}){super(i.MODULE_TYPE,e);this.id="";this._context=e;this._identifier=t;this._identifierIndex=n;this.content=r;this.media=s;this.sourceMap=o;this.buildInfo={assets:u,assetsInfo:a};this.buildMeta={}}size(){return this.content.length}identifier(){return`css|${this._identifier}|${this._identifierIndex}`}readableIdentifier(e){return`css ${e.shorten(this._identifier)}${this._identifierIndex?` (${this._identifierIndex})`:""}`}getSourceTypes(){return f}codeGeneration(){return h}nameForCondition(){const e=this._identifier.split("!").pop();const t=e.indexOf("?");if(t>=0){return e.substring(0,t)}return e}updateCacheModule(e){this.content=e.content;this.media=e.media;this.sourceMap=e.sourceMap}needRebuild(){return true}needBuild(e,t){t(null,false)}build(e,t,n,r,s){this.buildInfo={};this.buildMeta={};s()}updateHash(e,t){super.updateHash(e,t);e.update(this.content);e.update(this.media||"");e.update(this.sourceMap?JSON.stringify(this.sourceMap):"")}serialize(e){const{write:t}=e;t(this._context);t(this._identifier);t(this._identifierIndex);t(this.content);t(this.media);t(this.sourceMap);t(this.buildInfo);super.serialize(e)}deserialize(e){super.deserialize(e)}}p.set(e,CssModule);if(e.util&&e.util.serialization&&e.util.serialization.register){e.util.serialization.register(CssModule,"mini-css-extract-plugin/dist/CssModule",null,{serialize(e,t){e.serialize(t)},deserialize(e){const{read:t}=e;const n=t();const r=t();const s=t();const i=t();const o=t();const u=t();const{assets:a,assetsInfo:d}=t();const c=new CssModule({context:n,identifier:r,identifierIndex:s,content:i,media:o,sourceMap:u,assets:a,assetsInfo:d});c.deserialize(e);return c}})}return CssModule}static getCssDependency(e){if(g.has(e)){return g.get(e)}class CssDependency extends e.Dependency{constructor({identifier:e,content:t,media:n,sourceMap:r},s,i){super();this.identifier=e;this.identifierIndex=i;this.content=t;this.media=n;this.sourceMap=r;this.context=s;this.assets=undefined;this.assetsInfo=undefined}getResourceIdentifier(){return`css-module-${this.identifier}-${this.identifierIndex}`}getModuleEvaluationSideEffectsState(){return e.ModuleGraphConnection.TRANSITIVE_ONLY}serialize(e){const{write:t}=e;t(this.identifier);t(this.content);t(this.media);t(this.sourceMap);t(this.context);t(this.identifierIndex);t(this.assets);t(this.assetsInfo);super.serialize(e)}deserialize(e){super.deserialize(e)}}g.set(e,CssDependency);if(e.util&&e.util.serialization&&e.util.serialization.register){e.util.serialization.register(CssDependency,"mini-css-extract-plugin/dist/CssDependency",null,{serialize(e,t){e.serialize(t)},deserialize(e){const{read:t}=e;const n=new CssDependency({identifier:t(),content:t(),media:t(),sourceMap:t()},t(),t());const r=t();const s=t();n.assets=r;n.assetsInfo=s;n.deserialize(e);return n}})}return CssDependency}constructor(e={}){(0,r.validate)(s.default,e,{name:"Mini CSS Extract Plugin",baseDataPath:"options"});this._sortedModulesCache=new WeakMap;this.options=Object.assign({filename:l,ignoreOrder:false,experimentalUseImportModule:false},e);this.runtimeOptions={insert:e.insert,linkType:e.linkType===true||typeof e.linkType==="undefined"?"text/css":e.linkType,attributes:e.attributes};if(!this.options.chunkFilename){const{filename:e}=this.options;if(typeof e!=="function"){const t=e.includes("[name]");const n=e.includes("[id]");const r=e.includes("[chunkhash]");const s=e.includes("[contenthash]");if(r||s||t||n){this.options.chunkFilename=e}else{this.options.chunkFilename=e.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}}else{this.options.chunkFilename="[id].css"}}}apply(e){const t=e.webpack?e.webpack:n(515);if(this.options.experimentalUseImportModule){if(!e.options.experiments){throw new Error("experimentalUseImportModule is only support for webpack >= 5.32.0")}if(typeof e.options.experiments.executeModule==="undefined"){e.options.experiments.executeModule=true}}if(t.util&&t.util.serialization&&t.util.serialization.registerLoader){t.util.serialization.registerLoader(/^mini-css-extract-plugin\//,()=>true)}const r=e.webpack?false:typeof e.resolvers!=="undefined";if(!r){const{splitChunks:t}=e.options.optimization;if(t){if(t.defaultSizeTypes.includes("...")){t.defaultSizeTypes.push(i.MODULE_TYPE)}}}const s=MiniCssExtractPlugin.getCssModule(t);const l=MiniCssExtractPlugin.getCssDependency(t);const f=e.webpack&&e.webpack.NormalModule?e.webpack.NormalModule:n(963);e.hooks.compilation.tap(o,e=>{const t=typeof f.getCompilationHooks!=="undefined"?f.getCompilationHooks(e).loader:e.hooks.normalModuleLoader;t.tap(o,e=>{e[u]={experimentalUseImportModule:this.options.experimentalUseImportModule}})});e.hooks.thisCompilation.tap(o,n=>{class CssModuleFactory{create({dependencies:[e]},t){t(null,new s(e))}}n.dependencyFactories.set(l,new CssModuleFactory);class CssDependencyTemplate{apply(){}}n.dependencyTemplates.set(l,new CssDependencyTemplate);if(r){n.mainTemplate.hooks.renderManifest.tap(o,(t,{chunk:r})=>{const{chunkGraph:s}=n;const u=Array.from(this.getChunkModules(r,s)).filter(e=>e.type===i.MODULE_TYPE);const a=r.filenameTemplate||this.options.filename;if(u.length>0){t.push({render:()=>this.renderContentAsset(e,n,r,u,n.runtimeTemplate.requestShortener),filenameTemplate:a,pathOptions:{chunk:r,contentHashType:i.MODULE_TYPE},identifier:`${o}.${r.id}`,hash:r.contentHash[i.MODULE_TYPE]})}});n.chunkTemplate.hooks.renderManifest.tap(o,(t,{chunk:r})=>{const{chunkGraph:s}=n;const u=Array.from(this.getChunkModules(r,s)).filter(e=>e.type===i.MODULE_TYPE);const a=r.filenameTemplate||this.options.chunkFilename;if(u.length>0){t.push({render:()=>this.renderContentAsset(e,n,r,u,n.runtimeTemplate.requestShortener),filenameTemplate:a,pathOptions:{chunk:r,contentHashType:i.MODULE_TYPE},identifier:`${o}.${r.id}`,hash:r.contentHash[i.MODULE_TYPE]})}})}else{n.hooks.renderManifest.tap(o,(r,{chunk:s})=>{const{chunkGraph:u}=n;const{HotUpdateChunk:a}=t;if(s instanceof a){return}const d=Array.from(this.getChunkModules(s,u)).filter(e=>e.type===i.MODULE_TYPE);const c=s.canBeInitial()?this.options.filename:this.options.chunkFilename;if(d.length>0){r.push({render:()=>this.renderContentAsset(e,n,s,d,n.runtimeTemplate.requestShortener),filenameTemplate:c,pathOptions:{chunk:s,contentHashType:i.MODULE_TYPE},identifier:`${o}.${s.id}`,hash:s.contentHash[i.MODULE_TYPE]})}})}if(r){n.mainTemplate.hooks.hashForChunk.tap(o,(e,t)=>{const{chunkFilename:n}=this.options;if(a.test(n)){e.update(JSON.stringify(t.getChunkMaps(true).hash))}if(d.test(n)){e.update(JSON.stringify(t.getChunkMaps(true).contentHash[i.MODULE_TYPE]||{}))}if(c.test(n)){e.update(JSON.stringify(t.getChunkMaps(true).name))}})}n.hooks.contentHash.tap(o,s=>{const{outputOptions:o,chunkGraph:u}=n;const a=r?Array.from(this.getChunkModules(s,u)).filter(e=>e.type===i.MODULE_TYPE):this.sortModules(n,s,u.getChunkModulesIterableBySourceType(s,i.MODULE_TYPE),n.runtimeTemplate.requestShortener);if(a){const{hashFunction:n,hashDigest:r,hashDigestLength:d}=o;const c=e.webpack?e.webpack.util.createHash:t.util.createHash;const l=c(n);for(const e of a){e.updateHash(l,{chunkGraph:u})}s.contentHash[i.MODULE_TYPE]=l.digest(r).substring(0,d)}});const{Template:u}=t;const{mainTemplate:f}=n;if(r){f.hooks.localVars.tap(o,(e,t)=>{const r=this.getCssChunkObject(t,n);if(Object.keys(r).length>0){return u.asString([e,"","// object to store loaded CSS chunks","var installedCssChunks = {",u.indent(t.ids.map(e=>`${JSON.stringify(e)}: 0`).join(",\n")),"};"])}return e});f.hooks.requireEnsure.tap(o,(e,t,r)=>{const s=this.getCssChunkObject(t,n);if(Object.keys(s).length>0){const n=t.getChunkMaps();const{crossOriginLoading:a}=f.outputOptions;const d=f.getAssetPath(JSON.stringify(this.options.chunkFilename),{hash:`" + ${f.renderCurrentHashCode(r)} + "`,hashWithLength:e=>`" + ${f.renderCurrentHashCode(r,e)} + "`,chunk:{id:'" + chunkId + "',hash:`" + ${JSON.stringify(n.hash)}[chunkId] + "`,hashWithLength(e){const t=Object.create(null);for(const r of Object.keys(n.hash)){if(typeof n.hash[r]==="string"){t[r]=n.hash[r].substring(0,e)}}return`" + ${JSON.stringify(t)}[chunkId] + "`},contentHash:{[i.MODULE_TYPE]:`" + ${JSON.stringify(n.contentHash[i.MODULE_TYPE])}[chunkId] + "`},contentHashWithLength:{[i.MODULE_TYPE]:e=>{const t={};const r=n.contentHash[i.MODULE_TYPE];for(const n of Object.keys(r)){if(typeof r[n]==="string"){t[n]=r[n].substring(0,e)}}return`" + ${JSON.stringify(t)}[chunkId] + "`}},name:`" + (${JSON.stringify(n.name)}[chunkId]||chunkId) + "`},contentHashType:i.MODULE_TYPE});return u.asString([e,"",`// ${o} CSS loading`,`var cssChunks = ${JSON.stringify(s)};`,"if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);","else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {",u.indent(["promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {",u.indent([`var href = ${d};`,`var fullhref = ${f.requireFn}.p + href;`,'var existingLinkTags = document.getElementsByTagName("link");',"for(var i = 0; i < existingLinkTags.length; i++) {",u.indent(["var tag = existingLinkTags[i];",'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");','if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve();']),"}",'var existingStyleTags = document.getElementsByTagName("style");',"for(var i = 0; i < existingStyleTags.length; i++) {",u.indent(["var tag = existingStyleTags[i];",'var dataHref = tag.getAttribute("data-href");',"if(dataHref === href || dataHref === fullhref) return resolve();"]),"}",'var linkTag = document.createElement("link");',this.runtimeOptions.attributes?u.asString(Object.entries(this.runtimeOptions.attributes).map(e=>{const[t,n]=e;return`linkTag.setAttribute(${JSON.stringify(t)}, ${JSON.stringify(n)});`})):"",'linkTag.rel = "stylesheet";',this.runtimeOptions.linkType?`linkTag.type = ${JSON.stringify(this.runtimeOptions.linkType)};`:"","var onLinkComplete = function (event) {",u.indent(["// avoid mem leaks.","linkTag.onerror = linkTag.onload = null;","if (event.type === 'load') {",u.indent(["resolve();"]),"} else {",u.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realHref = event && event.target && event.target.href || fullhref;",'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");','err.code = "CSS_CHUNK_LOAD_FAILED";',"err.type = errorType;","err.request = realHref;","delete installedCssChunks[chunkId]","linkTag.parentNode.removeChild(linkTag)","reject(err);"]),"}"]),"};","linkTag.onerror = linkTag.onload = onLinkComplete;","linkTag.href = fullhref;",a?u.asString([`if (linkTag.href.indexOf(window.location.origin + '/') !== 0) {`,u.indent(`linkTag.crossOrigin = ${JSON.stringify(a)};`),"}"]):"",typeof this.runtimeOptions.insert!=="undefined"?typeof this.runtimeOptions.insert==="function"?`(${this.runtimeOptions.insert.toString()})(linkTag)`:u.asString([`var target = document.querySelector("${this.runtimeOptions.insert}");`,`target.parentNode.insertBefore(linkTag, target.nextSibling);`]):u.asString(["document.head.appendChild(linkTag);"])]),"}).then(function() {",u.indent(["installedCssChunks[chunkId] = 0;"]),"}));"]),"}"])}return e})}else{const{RuntimeGlobals:e,runtime:r}=t;const s=(e,t)=>{const n={};const{chunkGraph:r}=t;for(const t of e.getAllAsyncChunks()){const e=r.getOrderedChunkModulesIterable(t,i.compareModulesByIdentifier);for(const r of e){if(r.type===i.MODULE_TYPE){n[t.id]=1;break}}}return n};const{RuntimeModule:a}=t;class CssLoadingRuntimeModule extends a{constructor(e,t){super("css loading",10);this.runtimeRequirements=e;this.runtimeOptions=t}generate(){const{chunk:t,runtimeRequirements:n}=this;const{runtimeTemplate:r,outputOptions:{crossOriginLoading:i}}=this.compilation;const o=s(t,this.compilation);const a=n.has(e.ensureChunkHandlers)&&Object.keys(o).length>0;const d=n.has(e.hmrDownloadUpdateHandlers);if(!a&&!d){return null}return u.asString([`var createStylesheet = ${r.basicFunction("chunkId, fullhref, resolve, reject",['var linkTag = document.createElement("link");',this.runtimeOptions.attributes?u.asString(Object.entries(this.runtimeOptions.attributes).map(e=>{const[t,n]=e;return`linkTag.setAttribute(${JSON.stringify(t)}, ${JSON.stringify(n)});`})):"",'linkTag.rel = "stylesheet";',this.runtimeOptions.linkType?`linkTag.type = ${JSON.stringify(this.runtimeOptions.linkType)};`:"",`var onLinkComplete = ${r.basicFunction("event",["// avoid mem leaks.","linkTag.onerror = linkTag.onload = null;","if (event.type === 'load') {",u.indent(["resolve();"]),"} else {",u.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realHref = event && event.target && event.target.href || fullhref;",'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");','err.code = "CSS_CHUNK_LOAD_FAILED";',"err.type = errorType;","err.request = realHref;","linkTag.parentNode.removeChild(linkTag)","reject(err);"]),"}"])}`,"linkTag.onerror = linkTag.onload = onLinkComplete;","linkTag.href = fullhref;",i?u.asString([`if (linkTag.href.indexOf(window.location.origin + '/') !== 0) {`,u.indent(`linkTag.crossOrigin = ${JSON.stringify(i)};`),"}"]):"",typeof this.runtimeOptions.insert!=="undefined"?typeof this.runtimeOptions.insert==="function"?`(${this.runtimeOptions.insert.toString()})(linkTag)`:u.asString([`var target = document.querySelector("${this.runtimeOptions.insert}");`,`target.parentNode.insertBefore(linkTag, target.nextSibling);`]):u.asString(["document.head.appendChild(linkTag);"]),"return linkTag;"])};`,`var findStylesheet = ${r.basicFunction("href, fullhref",['var existingLinkTags = document.getElementsByTagName("link");',"for(var i = 0; i < existingLinkTags.length; i++) {",u.indent(["var tag = existingLinkTags[i];",'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");','if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;']),"}",'var existingStyleTags = document.getElementsByTagName("style");',"for(var i = 0; i < existingStyleTags.length; i++) {",u.indent(["var tag = existingStyleTags[i];",'var dataHref = tag.getAttribute("data-href");',"if(dataHref === href || dataHref === fullhref) return tag;"]),"}"])};`,`var loadStylesheet = ${r.basicFunction("chunkId",`return new Promise(${r.basicFunction("resolve, reject",[`var href = ${e.require}.miniCssF(chunkId);`,`var fullhref = ${e.publicPath} + href;`,"if(findStylesheet(href, fullhref)) return resolve();","createStylesheet(chunkId, fullhref, resolve, reject);"])});`)}`,a?u.asString(["// object to store loaded CSS chunks","var installedCssChunks = {",u.indent(t.ids.map(e=>`${JSON.stringify(e)}: 0`).join(",\n")),"};","",`${e.ensureChunkHandlers}.miniCss = ${r.basicFunction("chunkId, promises",[`var cssChunks = ${JSON.stringify(o)};`,"if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);","else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {",u.indent([`promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(${r.basicFunction("","installedCssChunks[chunkId] = 0;")}, ${r.basicFunction("e",["delete installedCssChunks[chunkId];","throw e;"])}));`]),"}"])};`]):"// no chunk loading","",d?u.asString(["var oldTags = [];","var newTags = [];",`var applyHandler = ${r.basicFunction("options",[`return { dispose: ${r.basicFunction("",["for(var i = 0; i < oldTags.length; i++) {",u.indent(["var oldTag = oldTags[i];","if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);"]),"}","oldTags.length = 0;"])}, apply: ${r.basicFunction("",['for(var i = 0; i < newTags.length; i++) newTags[i].rel = "stylesheet";',"newTags.length = 0;"])} };`])}`,`${e.hmrDownloadUpdateHandlers}.miniCss = ${r.basicFunction("chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList",["applyHandlers.push(applyHandler);",`chunkIds.forEach(${r.basicFunction("chunkId",[`var href = ${e.require}.miniCssF(chunkId);`,`var fullhref = ${e.publicPath} + href;`,"var oldTag = findStylesheet(href, fullhref);","if(!oldTag) return;",`promises.push(new Promise(${r.basicFunction("resolve, reject",[`var tag = createStylesheet(chunkId, fullhref, ${r.basicFunction("",['tag.as = "style";','tag.rel = "preload";',"resolve();"])}, reject);`,"oldTags.push(oldTag);","newTags.push(tag);"])}));`])});`])}`]):"// no hmr"])}}const d=new WeakSet;const c=(t,s)=>{if(d.has(t)){return}d.add(t);if(typeof this.options.chunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(this.options.chunkFilename)){s.add(e.getFullHash)}s.add(e.publicPath);n.addRuntimeModule(t,new r.GetChunkFilenameRuntimeModule(i.MODULE_TYPE,"mini-css",`${e.require}.miniCssF`,e=>{if(!e.contentHash[i.MODULE_TYPE]){return false}return e.canBeInitial()?this.options.filename:this.options.chunkFilename},true));n.addRuntimeModule(t,new CssLoadingRuntimeModule(s,this.runtimeOptions))};n.hooks.runtimeRequirementInTree.for(e.ensureChunkHandlers).tap(o,c);n.hooks.runtimeRequirementInTree.for(e.hmrDownloadUpdateHandlers).tap(o,c)}})}getChunkModules(e,t){return typeof t!=="undefined"?t.getOrderedChunkModulesIterable(e,i.compareModulesByIdentifier):e.modulesIterable}getCssChunkObject(e,t){const n={};const{chunkGraph:r}=t;for(const t of e.getAllAsyncChunks()){for(const e of this.getChunkModules(t,r)){if(e.type===i.MODULE_TYPE){n[t.id]=1;break}}}return n}sortModules(e,t,n,r){let s=this._sortedModulesCache.get(t);if(s||!n){return s}const i=[...n];const[u]=t.groupsIterable;const a=typeof e.chunkGraph!=="undefined"?"getModulePostOrderIndex":"getModuleIndex2";if(typeof u[a]==="function"){const n=new Map(i.map(e=>[e,new Set]));const u=new Map(i.map(e=>[e,new Map]));const d=Array.from(t.groupsIterable,e=>{const t=i.map(t=>{return{module:t,index:e[a](t)}}).filter(e=>e.index!==undefined).sort((e,t)=>t.index-e.index).map(e=>e.module);for(let r=0;r!s.has(e);while(s.size0&&s.has(e[e.length-1])){e.pop()}if(e.length!==0){const t=e[e.length-1];const r=n.get(t);const o=Array.from(r).filter(c);if(!l||l.length>o.length){a=e;l=o}if(o.length===0){s.add(e.pop());i=true;break}}}if(!i){const n=a.pop();if(!this.options.ignoreOrder){const s=u.get(n);e.warnings.push(new Error([`chunk ${t.name||t.id} [${o}]`,"Conflicting order. Following module has been added:",` * ${n.readableIdentifier(r)}`,"despite it was not able to fulfill desired ordering with these modules:",...l.map(e=>{const t=u.get(e);const i=t&&t.get(n);const o=Array.from(s.get(e),e=>e.name).join(", ");const a=i&&Array.from(i,e=>e.name).join(", ");return[` * ${e.readableIdentifier(r)}`,` - couldn't fulfill desired order of chunk group(s) ${o}`,a&&` - while fulfilling desired order of chunk group(s) ${a}`].filter(Boolean).join("\n")})].join("\n")))}s.add(n)}}}else{i.sort((e,t)=>e.index2-t.index2);s=i}this._sortedModulesCache.set(t,s);return s}renderContentAsset(e,t,r,s,i){const o=this.sortModules(t,r,s,i);const{ConcatSource:u,SourceMapSource:a,RawSource:d}=e.webpack?e.webpack.sources:n(665);const c=new u;const l=new u;for(const e of o){let t=e.content.toString();if(/^@import url/.test(t)){if(e.media){t=t.replace(/;|\s*$/,e.media)}l.add(t);l.add("\n")}else{if(e.media){c.add(`@media ${e.media} {\n`)}if(e.sourceMap){c.add(new a(t,e.readableIdentifier(i),e.sourceMap.toString()))}else{c.add(new d(t,e.readableIdentifier(i)))}c.add("\n");if(e.media){c.add("}\n")}}}return new u(l,c)}}MiniCssExtractPlugin.loader=n.ab+"loader.js";var y=MiniCssExtractPlugin;t.default=y},958:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.findModuleById=findModuleById;t.evalModuleCode=evalModuleCode;t.compareModulesByIdentifier=compareModulesByIdentifier;t.MODULE_TYPE=void 0;var r=_interopRequireDefault(n(282));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const s="css/mini-extract";t.MODULE_TYPE=s;function findModuleById(e,t){const{modules:n,chunkGraph:r}=e;for(const e of n){const n=typeof r!=="undefined"?r.getModuleId(e):e.id;if(n===t){return e}}return null}function evalModuleCode(e,t,n){const s=new r.default(n,e);s.paths=r.default._nodeModulePaths(e.context);s.filename=n;s._compile(t,n);return s.exports}function compareIds(e,t){if(typeof e!==typeof t){return typeof et){return 1}return 0}function compareModulesByIdentifier(e,t){return compareIds(e.identifier(),t.identifier())}},104:(e,t,n)=>{"use strict";const r=n(391);const s=/at ([a-zA-Z0-9_.]*)/;function createMessage(e){return`Abstract method${e?" "+e:""}. Must be overridden.`}function Message(){this.stack=undefined;Error.captureStackTrace(this);const e=this.stack.split("\n")[3].match(s);this.message=e&&e[1]?createMessage(e[1]):createMessage()}class AbstractMethodError extends r{constructor(){super((new Message).message);this.name="AbstractMethodError"}}e.exports=AbstractMethodError},919:(e,t,n)=>{"use strict";const r=n(669);const s=n(834);const i=n(262).w;const o=n(973);const u=n(931);let a=1e3;const d="Chunk.entry was removed. Use hasRuntime()";const c="Chunk.initial was removed. Use canBeInitial/isOnlyInitial()";const l=(e,t)=>{if(e.id{if(e.id{if(e.identifier()>t.identifier())return 1;if(e.identifier(){e.sort();let t="";for(const n of e){t+=n.identifier()+"#"}return t};const g=e=>Array.from(e);const y=e=>{let t=0;for(const n of e){t+=n.size()}return t};class Chunk{constructor(e){this.id=null;this.ids=null;this.debugId=a++;this.name=e;this.preventIntegration=false;this.entryModule=undefined;this._modules=new s(undefined,h);this.filenameTemplate=undefined;this._groups=new s(undefined,f);this.files=[];this.rendered=false;this.hash=undefined;this.contentHash=Object.create(null);this.renderedHash=undefined;this.chunkReason=undefined;this.extraAsync=false;this.removedModules=undefined}get entry(){throw new Error(d)}set entry(e){throw new Error(d)}get initial(){throw new Error(c)}set initial(e){throw new Error(c)}hasRuntime(){for(const e of this._groups){if(e.isInitial()&&e instanceof u&&e.getRuntimeChunk()===this){return true}}return false}canBeInitial(){for(const e of this._groups){if(e.isInitial())return true}return false}isOnlyInitial(){if(this._groups.size<=0)return false;for(const e of this._groups){if(!e.isInitial())return false}return true}hasEntryModule(){return!!this.entryModule}addModule(e){if(!this._modules.has(e)){this._modules.add(e);return true}return false}removeModule(e){if(this._modules.delete(e)){e.removeChunk(this);return true}return false}setModules(e){this._modules=new s(e,h)}getNumberOfModules(){return this._modules.size}get modulesIterable(){return this._modules}addGroup(e){if(this._groups.has(e))return false;this._groups.add(e);return true}removeGroup(e){if(!this._groups.has(e))return false;this._groups.delete(e);return true}isInGroup(e){return this._groups.has(e)}getNumberOfGroups(){return this._groups.size}get groupsIterable(){return this._groups}compareTo(e){if(this.name&&!e.name)return-1;if(!this.name&&e.name)return 1;if(this.namee.name)return 1;if(this._modules.size>e._modules.size)return-1;if(this._modules.sizei)return 1}}containsModule(e){return this._modules.has(e)}getModules(){return this._modules.getFromCache(g)}getModulesIdent(){return this._modules.getFromUnorderedCache(p)}remove(e){for(const e of Array.from(this._modules)){e.removeChunk(this)}for(const e of this._groups){e.removeChunk(this)}}moveModule(e,t){o.disconnectChunkAndModule(this,e);o.connectChunkAndModule(t,e);e.rewriteChunkInReasons(this,[t])}integrate(e,t){if(!this.canBeIntegrated(e)){return false}if(this.name&&e.name){if(this.hasEntryModule()===e.hasEntryModule()){if(this.name.length!==e.name.length){this.name=this.name.length{const n=new Set(t.groupsIterable);for(const t of n){if(e.isInGroup(t))continue;if(t.isInitial())return false;for(const e of t.parentsIterable){n.add(e)}}return true};const n=this.hasRuntime();const r=e.hasRuntime();if(n!==r){if(n){return t(this,e)}else if(r){return t(e,this)}else{return false}}if(this.hasEntryModule()||e.hasEntryModule()){return false}return true}addMultiplierAndOverhead(e,t){const n=typeof t.chunkOverhead==="number"?t.chunkOverhead:1e4;const r=this.canBeInitial()?t.entryChunkMultiplicator||10:1;return e*r+n}modulesSize(){return this._modules.getFromUnorderedCache(y)}size(e={}){return this.addMultiplierAndOverhead(this.modulesSize(),e)}integratedSize(e,t){if(!this.canBeIntegrated(e)){return false}let n=this.modulesSize();for(const t of e._modules){if(!this._modules.has(t)){n+=t.size()}}return this.addMultiplierAndOverhead(n,t)}sortModules(e){this._modules.sortWith(e||l)}sortItems(){this.sortModules()}getAllAsyncChunks(){const e=new Set;const t=new Set;const n=i(Array.from(this.groupsIterable,e=>new Set(e.chunks)));for(const t of this.groupsIterable){for(const n of t.childrenIterable){e.add(n)}}for(const r of e){for(const e of r.chunks){if(!n.has(e)){t.add(e)}}for(const t of r.childrenIterable){e.add(t)}}return t}getChunkMaps(e){const t=Object.create(null);const n=Object.create(null);const r=Object.create(null);for(const s of this.getAllAsyncChunks()){t[s.id]=e?s.hash:s.renderedHash;for(const e of Object.keys(s.contentHash)){if(!n[e]){n[e]=Object.create(null)}n[e][s.id]=s.contentHash[e]}if(s.name){r[s.id]=s.name}}return{hash:t,contentHash:n,name:r}}getChildIdsByOrders(){const e=new Map;for(const t of this.groupsIterable){if(t.chunks[t.chunks.length-1]===this){for(const n of t.childrenIterable){if(typeof n.options==="object"){for(const t of Object.keys(n.options)){if(t.endsWith("Order")){const r=t.substr(0,t.length-"Order".length);let s=e.get(r);if(s===undefined)e.set(r,s=[]);s.push({order:n.options[t],group:n})}}}}}}const t=Object.create(null);for(const[n,r]of e){r.sort((e,t)=>{const n=t.order-e.order;if(n!==0)return n;if(e.group.compareTo){return e.group.compareTo(t.group)}return 0});t[n]=Array.from(r.reduce((e,t)=>{for(const n of t.group.chunks){e.add(n.id)}return e},new Set))}return t}getChildIdsByOrdersMap(e){const t=Object.create(null);const n=e=>{const n=e.getChildIdsByOrders();for(const r of Object.keys(n)){let s=t[r];if(s===undefined){t[r]=s=Object.create(null)}s[e.id]=n[r]}};if(e){const e=new Set;for(const t of this.groupsIterable){for(const n of t.chunks){e.add(n)}}for(const t of e){n(t)}}for(const e of this.getAllAsyncChunks()){n(e)}return t}getChunkModuleMaps(e){const t=Object.create(null);const n=Object.create(null);for(const r of this.getAllAsyncChunks()){let s;for(const i of r.modulesIterable){if(e(i)){if(s===undefined){s=[];t[r.id]=s}s.push(i.id);n[i.id]=i.renderedHash}}if(s!==undefined){s.sort()}}return{id:t,hash:n}}hasModuleInGraph(e,t){const n=new Set(this.groupsIterable);const r=new Set;for(const s of n){for(const n of s.chunks){if(!r.has(n)){r.add(n);if(!t||t(n)){for(const t of n.modulesIterable){if(e(t)){return true}}}}}for(const e of s.childrenIterable){n.add(e)}}return false}toString(){return`Chunk[${Array.from(this._modules).join()}]`}}Object.defineProperty(Chunk.prototype,"forEachModule",{configurable:false,value:r.deprecate(function(e){this._modules.forEach(e)},"Chunk.forEachModule: Use for(const module of chunk.modulesIterable) instead")});Object.defineProperty(Chunk.prototype,"mapModules",{configurable:false,value:r.deprecate(function(e){return Array.from(this._modules,e)},"Chunk.mapModules: Use Array.from(chunk.modulesIterable, fn) instead")});Object.defineProperty(Chunk.prototype,"chunks",{configurable:false,get(){throw new Error("Chunk.chunks: Use ChunkGroup.getChildren() instead")},set(){throw new Error("Chunk.chunks: Use ChunkGroup.add/removeChild() instead")}});Object.defineProperty(Chunk.prototype,"parents",{configurable:false,get(){throw new Error("Chunk.parents: Use ChunkGroup.getParents() instead")},set(){throw new Error("Chunk.parents: Use ChunkGroup.add/removeParent() instead")}});Object.defineProperty(Chunk.prototype,"blocks",{configurable:false,get(){throw new Error("Chunk.blocks: Use ChunkGroup.getBlocks() instead")},set(){throw new Error("Chunk.blocks: Use ChunkGroup.add/removeBlock() instead")}});Object.defineProperty(Chunk.prototype,"entrypoints",{configurable:false,get(){throw new Error("Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead")},set(){throw new Error("Chunk.entrypoints: Use Chunks.addGroup instead")}});e.exports=Chunk},911:(e,t,n)=>{"use strict";const r=n(834);const s=n(562);let i=5e3;const o=e=>Array.from(e);const u=(e,t)=>{if(e.id{const n=e.module?e.module.identifier():"";const r=t.module?t.module.identifier():"";if(nr)return 1;return s(e.loc,t.loc)};class ChunkGroup{constructor(e){if(typeof e==="string"){e={name:e}}else if(!e){e={name:undefined}}this.groupDebugId=i++;this.options=e;this._children=new r(undefined,u);this._parents=new r(undefined,u);this._blocks=new r;this.chunks=[];this.origins=[];this._moduleIndices=new Map;this._moduleIndices2=new Map}addOptions(e){for(const t of Object.keys(e)){if(this.options[t]===undefined){this.options[t]=e[t]}else if(this.options[t]!==e[t]){if(t.endsWith("Order")){this.options[t]=Math.max(this.options[t],e[t])}else{throw new Error(`ChunkGroup.addOptions: No option merge strategy for ${t}`)}}}}get name(){return this.options.name}set name(e){this.options.name=e}get debugId(){return Array.from(this.chunks,e=>e.debugId).join("+")}get id(){return Array.from(this.chunks,e=>e.id).join("+")}unshiftChunk(e){const t=this.chunks.indexOf(e);if(t>0){this.chunks.splice(t,1);this.chunks.unshift(e)}else if(t<0){this.chunks.unshift(e);return true}return false}insertChunk(e,t){const n=this.chunks.indexOf(e);const r=this.chunks.indexOf(t);if(r<0){throw new Error("before chunk not found")}if(n>=0&&n>r){this.chunks.splice(n,1);this.chunks.splice(r,0,e)}else if(n<0){this.chunks.splice(r,0,e);return true}return false}pushChunk(e){const t=this.chunks.indexOf(e);if(t>=0){return false}this.chunks.push(e);return true}replaceChunk(e,t){const n=this.chunks.indexOf(e);if(n<0)return false;const r=this.chunks.indexOf(t);if(r<0){this.chunks[n]=t;return true}if(r=0){this.chunks.splice(t,1);return true}return false}isInitial(){return false}addChild(e){if(this._children.has(e)){return false}this._children.add(e);return true}getChildren(){return this._children.getFromCache(o)}getNumberOfChildren(){return this._children.size}get childrenIterable(){return this._children}removeChild(e){if(!this._children.has(e)){return false}this._children.delete(e);e.removeParent(this);return true}addParent(e){if(!this._parents.has(e)){this._parents.add(e);return true}return false}getParents(){return this._parents.getFromCache(o)}setParents(e){this._parents.clear();for(const t of e){this._parents.add(t)}}getNumberOfParents(){return this._parents.size}hasParent(e){return this._parents.has(e)}get parentsIterable(){return this._parents}removeParent(e){if(this._parents.delete(e)){e.removeChunk(this);return true}return false}getBlocks(){return this._blocks.getFromCache(o)}getNumberOfBlocks(){return this._blocks.size}hasBlock(e){return this._blocks.has(e)}get blocksIterable(){return this._blocks}addBlock(e){if(!this._blocks.has(e)){this._blocks.add(e);return true}return false}addOrigin(e,t,n){this.origins.push({module:e,loc:t,request:n})}containsModule(e){for(const t of this.chunks){if(t.containsModule(e))return true}return false}getFiles(){const e=new Set;for(const t of this.chunks){for(const n of t.files){e.add(n)}}return Array.from(e)}remove(e){for(const e of this._parents){e._children.delete(this);for(const t of this._children){t.addParent(e);e.addChild(t)}}for(const e of this._children){e._parents.delete(this)}for(const e of this._blocks){e.chunkGroup=null}for(const e of this.chunks){e.removeGroup(this)}}sortItems(){this.origins.sort(a);this._parents.sort();this._children.sort()}compareTo(e){if(this.chunks.length>e.chunks.length)return-1;if(this.chunks.length{const n=t.order-e.order;if(n!==0)return n;if(e.group.compareTo){return e.group.compareTo(t.group)}return 0});t[n]=r.map(e=>e.group)}return t}setModuleIndex(e,t){this._moduleIndices.set(e,t)}getModuleIndex(e){return this._moduleIndices.get(e)}setModuleIndex2(e,t){this._moduleIndices2.set(e,t)}getModuleIndex2(e){return this._moduleIndices2.get(e)}checkConstraints(){const e=this;for(const t of e._children){if(!t._parents.has(e)){throw new Error(`checkConstraints: child missing parent ${e.debugId} -> ${t.debugId}`)}}for(const t of e._parents){if(!t._children.has(e)){throw new Error(`checkConstraints: parent missing child ${t.debugId} <- ${e.debugId}`)}}}}e.exports=ChunkGroup},71:(e,t,n)=>{"use strict";const r=n(904);class DependenciesBlock{constructor(){this.dependencies=[];this.blocks=[];this.variables=[]}addBlock(e){this.blocks.push(e);e.parent=this}addVariable(e,t,n){for(let n of this.variables){if(n.name===e&&n.expression===t){return}}this.variables.push(new r(e,t,n))}addDependency(e){this.dependencies.push(e)}removeDependency(e){const t=this.dependencies.indexOf(e);if(t>=0){this.dependencies.splice(t,1)}}updateHash(e){for(const t of this.dependencies)t.updateHash(e);for(const t of this.blocks)t.updateHash(e);for(const t of this.variables)t.updateHash(e)}disconnect(){for(const e of this.dependencies)e.disconnect();for(const e of this.blocks)e.disconnect();for(const e of this.variables)e.disconnect()}unseal(){for(const e of this.blocks)e.unseal()}hasDependencies(e){if(e){for(const t of this.dependencies){if(e(t))return true}}else{if(this.dependencies.length>0){return true}}for(const t of this.blocks){if(t.hasDependencies(e))return true}for(const t of this.variables){if(t.hasDependencies(e))return true}return false}sortItems(){for(const e of this.blocks)e.sortItems()}}e.exports=DependenciesBlock},904:(e,t,n)=>{"use strict";const{RawSource:r,ReplaceSource:s}=n(665);class DependenciesBlockVariable{constructor(e,t,n){this.name=e;this.expression=t;this.dependencies=n||[]}updateHash(e){e.update(this.name);e.update(this.expression);for(const t of this.dependencies){t.updateHash(e)}}expressionSource(e,t){const n=new s(new r(this.expression));for(const r of this.dependencies){const s=e.get(r.constructor);if(!s){throw new Error(`No template for dependency: ${r.constructor.name}`)}s.apply(r,n,t,e)}return n}disconnect(){for(const e of this.dependencies){e.disconnect()}}hasDependencies(e){if(e){return this.dependencies.some(e)}return this.dependencies.length>0}}e.exports=DependenciesBlockVariable},931:(e,t,n)=>{"use strict";const r=n(911);class Entrypoint extends r{constructor(e){super(e);this.runtimeChunk=undefined}isInitial(){return true}setRuntimeChunk(e){this.runtimeChunk=e}getRuntimeChunk(){return this.runtimeChunk||this.chunks[0]}replaceChunk(e,t){if(this.runtimeChunk===e)this.runtimeChunk=t;return super.replaceChunk(e,t)}}e.exports=Entrypoint},140:(e,t)=>{"use strict";const n="LOADER_EXECUTION";const r="WEBPACK_OPTIONS";t.cutOffByFlag=((e,t)=>{e=e.split("\n");for(let n=0;nt.cutOffByFlag(e,n));t.cutOffWebpackOptions=(e=>t.cutOffByFlag(e,r));t.cutOffMultilineMessage=((e,t)=>{e=e.split("\n");t=t.split("\n");return e.reduce((e,n,r)=>n.includes(t[r])?e:e.concat(n),[]).join("\n")});t.cutOffMessage=((e,t)=>{const n=e.indexOf("\n");if(n===-1){return e===t?"":e}else{const r=e.substr(0,n);return r===t?e.substr(n+1):e}});t.cleanUp=((e,n)=>{e=t.cutOffLoaderExecution(e);e=t.cutOffMessage(e,n);return e});t.cleanUpWebpackOptions=((e,n)=>{e=t.cutOffWebpackOptions(e);e=t.cutOffMultilineMessage(e,n);return e})},973:(e,t)=>{const n=(e,t)=>{if(e.pushChunk(t)){t.addGroup(e)}};const r=(e,t)=>{if(e.addChild(t)){t.addParent(e)}};const s=(e,t)=>{if(t.addChunk(e)){e.addModule(t)}};const i=(e,t)=>{e.removeModule(t);t.removeChunk(e)};const o=(e,t)=>{if(t.addBlock(e)){e.chunkGroup=t}};t.connectChunkGroupAndChunk=n;t.connectChunkGroupParentAndChild=r;t.connectChunkAndModule=s;t.disconnectChunkAndModule=i;t.connectDependenciesBlockAndChunkGroup=o},782:(e,t,n)=>{"use strict";const r=n(919);class HotUpdateChunk extends r{constructor(){super();this.removedModules=undefined}}e.exports=HotUpdateChunk},993:(e,t,n)=>{"use strict";const r=n(669);const s=n(71);const i=n(576);const o=n(834);const u=n(66);const a={};let d=1e3;const c=(e,t)=>{return e.id-t.id};const l=(e,t)=>{return e.debugId-t.debugId};class Module extends s{constructor(e,t=null){super();this.type=e;this.context=t;this.debugId=d++;this.hash=undefined;this.renderedHash=undefined;this.resolveOptions=a;this.factoryMeta={};this.warnings=[];this.errors=[];this.buildMeta=undefined;this.buildInfo=undefined;this.reasons=[];this._chunks=new o(undefined,c);this.id=null;this.index=null;this.index2=null;this.depth=null;this.issuer=null;this.profile=undefined;this.prefetched=false;this.built=false;this.used=null;this.usedExports=null;this.optimizationBailout=[];this._rewriteChunkInReasons=undefined;this.useSourceMap=false;this._source=null}get exportsArgument(){return this.buildInfo&&this.buildInfo.exportsArgument||"exports"}get moduleArgument(){return this.buildInfo&&this.buildInfo.moduleArgument||"module"}disconnect(){this.hash=undefined;this.renderedHash=undefined;this.reasons.length=0;this._rewriteChunkInReasons=undefined;this._chunks.clear();this.id=null;this.index=null;this.index2=null;this.depth=null;this.issuer=null;this.profile=undefined;this.prefetched=false;this.built=false;this.used=null;this.usedExports=null;this.optimizationBailout.length=0;super.disconnect()}unseal(){this.id=null;this.index=null;this.index2=null;this.depth=null;this._chunks.clear();super.unseal()}setChunks(e){this._chunks=new o(e,c)}addChunk(e){if(this._chunks.has(e))return false;this._chunks.add(e);return true}removeChunk(e){if(this._chunks.delete(e)){e.removeModule(this);return true}return false}isInChunk(e){return this._chunks.has(e)}isEntryModule(){for(const e of this._chunks){if(e.entryModule===this)return true}return false}get optional(){return this.reasons.length>0&&this.reasons.every(e=>e.dependency&&e.dependency.optional)}getChunks(){return Array.from(this._chunks)}getNumberOfChunks(){return this._chunks.size}get chunksIterable(){return this._chunks}hasEqualsChunks(e){if(this._chunks.size!==e._chunks.size)return false;this._chunks.sortWith(l);e._chunks.sortWith(l);const t=this._chunks[Symbol.iterator]();const n=e._chunks[Symbol.iterator]();while(true){const e=t.next();const r=n.next();if(e.done)return true;if(e.value!==r.value)return false}}addReason(e,t,n){this.reasons.push(new i(e,t,n))}removeReason(e,t){for(let n=0;n0}rewriteChunkInReasons(e,t){if(this._rewriteChunkInReasons===undefined){this._rewriteChunkInReasons=[]}this._rewriteChunkInReasons.push({oldChunk:e,newChunks:t})}_doRewriteChunkInReasons(e,t){for(let n=0;n{if(e.module===t.module)return 0;if(!e.module)return-1;if(!t.module)return 1;return c(e.module,t.module)});if(Array.isArray(this.usedExports)){this.usedExports.sort()}}unbuild(){this.dependencies.length=0;this.blocks.length=0;this.variables.length=0;this.buildMeta=undefined;this.buildInfo=undefined;this.disconnect()}get arguments(){throw new Error("Module.arguments was removed, there is no replacement.")}set arguments(e){throw new Error("Module.arguments was removed, there is no replacement.")}}Object.defineProperty(Module.prototype,"forEachChunk",{configurable:false,value:r.deprecate(function(e){this._chunks.forEach(e)},"Module.forEachChunk: Use for(const chunk of module.chunksIterable) instead")});Object.defineProperty(Module.prototype,"mapChunks",{configurable:false,value:r.deprecate(function(e){return Array.from(this._chunks,e)},"Module.mapChunks: Use Array.from(module.chunksIterable, fn) instead")});Object.defineProperty(Module.prototype,"entry",{configurable:false,get(){throw new Error("Module.entry was removed. Use Chunk.entryModule")},set(){throw new Error("Module.entry was removed. Use Chunk.entryModule")}});Object.defineProperty(Module.prototype,"meta",{configurable:false,get:r.deprecate(function(){return this.buildMeta},"Module.meta was renamed to Module.buildMeta"),set:r.deprecate(function(e){this.buildMeta=e},"Module.meta was renamed to Module.buildMeta")});Module.prototype.identifier=null;Module.prototype.readableIdentifier=null;Module.prototype.build=null;Module.prototype.source=null;Module.prototype.size=null;Module.prototype.nameForCondition=null;Module.prototype.chunkCondition=null;Module.prototype.updateCacheModule=null;e.exports=Module},72:(e,t,n)=>{"use strict";const r=n(391);const{cutOffLoaderExecution:s}=n(140);class ModuleBuildError extends r{constructor(e,t,{from:n=null}={}){let r="Module build failed";let i=undefined;if(n){r+=` (from ${n}):\n`}else{r+=": "}if(t!==null&&typeof t==="object"){if(typeof t.stack==="string"&&t.stack){const e=s(t.stack);if(!t.hideStack){r+=e}else{i=e;if(typeof t.message==="string"&&t.message){r+=t.message}else{r+=t}}}else if(typeof t.message==="string"&&t.message){r+=t.message}else{r+=t}}else{r=t}super(r);this.name="ModuleBuildError";this.details=i;this.module=e;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleBuildError},528:(e,t,n)=>{"use strict";const r=n(391);const{cleanUp:s}=n(140);class ModuleError extends r{constructor(e,t,{from:n=null}={}){let r="Module Error";if(n){r+=` (from ${n}):\n`}else{r+=": "}if(t&&typeof t==="object"&&t.message){r+=t.message}else if(t){r+=t}super(r);this.name="ModuleError";this.module=e;this.error=t;this.details=t&&typeof t==="object"&&t.stack?s(t.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleError},500:(e,t,n)=>{"use strict";const r=n(391);class ModuleParseError extends r{constructor(e,t,n,r){let s="Module parse failed: "+n.message;let i=undefined;if(r.length>=1){s+=`\nFile was processed with these loaders:${r.map(e=>`\n * ${e}`).join("")}`;s+="\nYou may need an additional loader to handle the result of these loaders."}else{s+="\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"}if(n.loc&&typeof n.loc==="object"&&typeof n.loc.line==="number"){var o=n.loc.line;if(/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(t)){s+="\n(Source code omitted for this binary file)"}else{const e=t.split(/\r?\n/);const n=Math.max(0,o-3);const r=e.slice(n,o-1);const i=e[o-1];const u=e.slice(o,o+2);s+=r.map(e=>`\n| ${e}`).join("")+`\n> ${i}`+u.map(e=>`\n| ${e}`).join("")}i=n.loc}else{s+="\n"+n.stack}super(s);this.name="ModuleParseError";this.module=e;this.loc=i;this.error=n;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleParseError},576:e=>{"use strict";class ModuleReason{constructor(e,t,n){this.module=e;this.dependency=t;this.explanation=n;this._chunks=null}hasChunk(e){if(this._chunks){if(this._chunks.has(e))return true}else if(this.module&&this.module._chunks.has(e))return true;return false}rewriteChunks(e,t){if(!this._chunks){if(this.module){if(!this.module._chunks.has(e))return;this._chunks=new Set(this.module._chunks)}else{this._chunks=new Set}}if(this._chunks.has(e)){this._chunks.delete(e);for(let e=0;e{"use strict";const r=n(391);const{cleanUp:s}=n(140);class ModuleWarning extends r{constructor(e,t,{from:n=null}={}){let r="Module Warning";if(n){r+=` (from ${n}):\n`}else{r+=": "}if(t&&typeof t==="object"&&t.message){r+=t.message}else if(t){r+=t}super(r);this.name="ModuleWarning";this.module=e;this.warning=t;this.details=t&&typeof t==="object"&&t.stack?s(t.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleWarning},963:(e,t,n)=>{"use strict";const r=n(282);const{CachedSource:s,LineToLineMappedSource:i,OriginalSource:o,RawSource:u,SourceMapSource:a}=n(665);const{getContext:d,runLoaders:c}=n(278);const l=n(391);const f=n(993);const h=n(500);const p=n(72);const g=n(528);const y=n(372);const m=n(660);const _=n(658).tR;const w=e=>{if(Buffer.isBuffer(e)){return e.toString("utf-8")}return e};const b=e=>{if(!Buffer.isBuffer(e)){return Buffer.from(e,"utf-8")}return e};class NonErrorEmittedError extends l{constructor(e){super();this.name="NonErrorEmittedError";this.message="(Emitted value instead of an instance of Error) "+e;Error.captureStackTrace(this,this.constructor)}}class NormalModule extends f{constructor({type:e,request:t,userRequest:n,rawRequest:r,loaders:s,resource:i,matchResource:o,parser:u,generator:a,resolveOptions:c}){super(e,d(i));this.request=t;this.userRequest=n;this.rawRequest=r;this.binary=e.startsWith("webassembly");this.parser=u;this.generator=a;this.resource=i;this.matchResource=o;this.loaders=s;if(c!==undefined)this.resolveOptions=c;this.error=null;this._source=null;this._sourceSize=null;this._buildHash="";this.buildTimestamp=undefined;this._cachedSources=new Map;this.useSourceMap=false;this.lineToLine=false;this._lastSuccessfulBuildMeta={}}identifier(){return this.request}readableIdentifier(e){return e.shorten(this.userRequest)}libIdent(e){return _(e.context,this.userRequest)}nameForCondition(){const e=this.matchResource||this.resource;const t=e.indexOf("?");if(t>=0)return e.substr(0,t);return e}updateCacheModule(e){this.type=e.type;this.request=e.request;this.userRequest=e.userRequest;this.rawRequest=e.rawRequest;this.parser=e.parser;this.generator=e.generator;this.resource=e.resource;this.matchResource=e.matchResource;this.loaders=e.loaders;this.resolveOptions=e.resolveOptions}createSourceForAsset(e,t,n){if(!n){return new u(t)}if(typeof n==="string"){return new o(t,n)}return new a(t,e,n)}createLoaderContext(e,t,n,s){const i=n.runtimeTemplate.requestShortener;const o=()=>{const e=this.getCurrentLoader(u);if(!e)return"(not in loader scope)";return i.shorten(e.loader)};const u={version:2,emitWarning:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}this.warnings.push(new y(this,e,{from:o()}))},emitError:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}this.errors.push(new g(this,e,{from:o()}))},getLogger:e=>{const t=this.getCurrentLoader(u);return n.getLogger(()=>[t&&t.loader,e,this.identifier()].filter(Boolean).join("|"))},exec:(e,t)=>{const n=new r(t,this);n.paths=r._nodeModulePaths(this.context);n.filename=t;n._compile(e,t);return n.exports},resolve(t,n,r){e.resolve({},t,n,{},r)},getResolve(t){const n=t?e.withOptions(t):e;return(e,t,r)=>{if(r){n.resolve({},e,t,{},r)}else{return new Promise((r,s)=>{n.resolve({},e,t,{},(e,t)=>{if(e)s(e);else r(t)})})}}},emitFile:(e,t,n,r)=>{if(!this.buildInfo.assets){this.buildInfo.assets=Object.create(null);this.buildInfo.assetsInfo=new Map}this.buildInfo.assets[e]=this.createSourceForAsset(e,t,n);this.buildInfo.assetsInfo.set(e,r)},rootContext:t.context,webpack:true,sourceMap:!!this.useSourceMap,mode:t.mode||"production",_module:this,_compilation:n,_compiler:n.compiler,fs:s};n.hooks.normalModuleLoader.call(u,this);if(t.loader){Object.assign(u,t.loader)}return u}getCurrentLoader(e,t=e.loaderIndex){if(this.loaders&&this.loaders.length&&t=0&&this.loaders[t]){return this.loaders[t]}return null}createSource(e,t,n){if(!this.identifier){return new u(e)}const r=this.identifier();if(this.lineToLine&&t){return new i(e,r,w(t))}if(this.useSourceMap&&n){return new a(e,r,n)}if(Buffer.isBuffer(e)){return new u(e)}return new o(e,r)}doBuild(e,t,n,r,s){const i=this.createLoaderContext(n,e,t,r);c({resource:this.resource,loaders:this.loaders,context:i,readResource:r.readFile.bind(r)},(e,n)=>{if(n){this.buildInfo.cacheable=n.cacheable;this.buildInfo.fileDependencies=new Set(n.fileDependencies);this.buildInfo.contextDependencies=new Set(n.contextDependencies)}if(e){if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}const n=this.getCurrentLoader(i);const r=new p(this,e,{from:n&&t.runtimeTemplate.requestShortener.shorten(n.loader)});return s(r)}const r=n.resourceBuffer;const o=n.result[0];const u=n.result.length>=1?n.result[1]:null;const a=n.result.length>=2?n.result[2]:null;if(!Buffer.isBuffer(o)&&typeof o!=="string"){const e=this.getCurrentLoader(i,0);const n=new Error(`Final loader (${e?t.runtimeTemplate.requestShortener.shorten(e.loader):"unknown"}) didn't return a Buffer or String`);const r=new p(this,n);return s(r)}this._source=this.createSource(this.binary?b(o):w(o),r,u);this._sourceSize=null;this._ast=typeof a==="object"&&a!==null&&a.webpackAST!==undefined?a.webpackAST:null;return s()})}markModuleAsErrored(e){this.buildMeta=Object.assign({},this._lastSuccessfulBuildMeta);this.error=e;this.errors.push(this.error);this._source=new u("throw new Error("+JSON.stringify(this.error.message)+");");this._sourceSize=null;this._ast=null}applyNoParseRule(e,t){if(typeof e==="string"){return t.indexOf(e)===0}if(typeof e==="function"){return e(t)}return e.test(t)}shouldPreventParsing(e,t){if(!e){return false}if(!Array.isArray(e)){return this.applyNoParseRule(e,t)}for(let n=0;n{this._cachedSources.clear();if(n){this.markModuleAsErrored(n);this._initBuildHash(t);return s()}const r=e.module&&e.module.noParse;if(this.shouldPreventParsing(r,this.request)){this._initBuildHash(t);return s()}const i=n=>{const r=this._source.source();const i=this.loaders.map(t=>_(e.context,t.loader));const o=new h(this,r,n,i);this.markModuleAsErrored(o);this._initBuildHash(t);return s()};const o=e=>{this._lastSuccessfulBuildMeta=this.buildMeta;this._initBuildHash(t);return s()};try{const n=this.parser.parse(this._ast||this._source.source(),{current:this,module:this,compilation:t,options:e},(e,t)=>{if(e){i(e)}else{o(t)}});if(n!==undefined){o(n)}}catch(e){i(e)}})}getHashDigest(e){let t=e.get("hash");return`${this.hash}-${t}`}source(e,t,n="javascript"){const r=this.getHashDigest(e);const i=this._cachedSources.get(n);if(i!==undefined&&i.hash===r){return i.source}const o=this.generator.generate(this,e,t,n);const u=new s(o);this._cachedSources.set(n,{source:u,hash:r});return u}originalSource(){return this._source}needRebuild(e,t){if(this.error)return true;if(!this.buildInfo.cacheable)return true;for(const t of this.buildInfo.fileDependencies){const n=e.get(t);if(!n)return true;if(n>=this.buildTimestamp)return true}for(const e of this.buildInfo.contextDependencies){const n=t.get(e);if(!n)return true;if(n>=this.buildTimestamp)return true}return false}size(){if(this._sourceSize===null){this._sourceSize=this._source?this._source.size():-1}return this._sourceSize}updateHash(e){e.update(this._buildHash);super.updateHash(e)}}e.exports=NormalModule},66:(e,t,n)=>{const{ConcatSource:r}=n(665);const s=n(782);const i="a".charCodeAt(0);const o="A".charCodeAt(0);const u="z".charCodeAt(0)-i+1;const a=/^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;const d=/^\t/gm;const c=/\r?\n/g;const l=/^([^a-zA-Z$_])/;const f=/[^a-zA-Z0-9$]+/g;const h=/\*\//g;const p=/[^a-zA-Z0-9_!ยง$()=\-^ยฐ]+/g;const g=/^-|-$/g;const y=(e,t)=>{const n=e.id+"";const r=t.id+"";if(nr)return 1;return 0};class Template{static getFunctionContent(e){return e.toString().replace(a,"").replace(d,"").replace(c,"\n")}static toIdentifier(e){if(typeof e!=="string")return"";return e.replace(l,"_$1").replace(f,"_")}static toComment(e){if(!e)return"";return`/*! ${e.replace(h,"* /")} */`}static toNormalComment(e){if(!e)return"";return`/* ${e.replace(h,"* /")} */`}static toPath(e){if(typeof e!=="string")return"";return e.replace(p,"-").replace(g,"")}static numberToIdentifer(e){if(er.id)n=r.id}if(n<16+(""+n).length){n=0}const r=e.map(e=>(e.id+"").length+2).reduce((e,t)=>e+t,-1);const s=n===0?t:16+(""+n).length+t;return s{return{id:t.id,source:n.render(t,i,{chunk:e})}});if(d&&d.length>0){for(const e of d){c.push({id:e,source:"false"})}}const l=Template.getModulesArrayBounds(c);if(l){const e=l[0];const t=l[1];if(e!==0){u.add(`Array(${e}).concat(`)}u.add("[\n");const n=new Map;for(const e of c){n.set(e.id,e)}for(let r=e;r<=t;r++){const t=n.get(r);if(r!==e){u.add(",\n")}u.add(`/* ${r} */`);if(t){u.add("\n");u.add(t.source)}}u.add("\n"+o+"]");if(e!==0){u.add(")")}}else{u.add("{\n");c.sort(y).forEach((e,t)=>{if(t!==0){u.add(",\n")}u.add(`\n/***/ ${JSON.stringify(e.id)}:\n`);u.add(e.source)});u.add(`\n\n${o}}`)}return u}}e.exports=Template},391:(e,t,n)=>{"use strict";const r=n(669).inspect.custom;class WebpackError extends Error{constructor(e){super(e);this.details=undefined;this.missing=undefined;this.origin=undefined;this.dependencies=undefined;this.module=undefined;Error.captureStackTrace(this,this.constructor)}[r](){return this.stack+(this.details?`\n${this.details}`:"")}}e.exports=WebpackError},562:e=>{"use strict";e.exports=((e,t)=>{if(typeof e==="string"){if(typeof t==="string"){if(et)return 1;return 0}else if(typeof t==="object"){return 1}else{return 0}}else if(typeof e==="object"){if(typeof t==="string"){return-1}else if(typeof t==="object"){if("start"in e&&"start"in t){const n=e.start;const r=t.start;if(n.liner.line)return 1;if(n.columnr.column)return 1}if("name"in e&&"name"in t){if(e.namet.name)return 1}if("index"in e&&"index"in t){if(e.indext.index)return 1}return 0}else{return 0}}})},262:(e,t)=>{"use strict";var n;const r=e=>{if(e.length===0)return new Set;if(e.length===1)return new Set(e[0]);let t=Infinity;let n=-1;for(let r=0;r{if(e.size{"use strict";class SortableSet extends Set{constructor(e,t){super(e);this._sortFn=t;this._lastActiveSortFn=null;this._cache=undefined;this._cacheOrderIndependent=undefined}add(e){this._lastActiveSortFn=null;this._invalidateCache();this._invalidateOrderedCache();super.add(e);return this}delete(e){this._invalidateCache();this._invalidateOrderedCache();return super.delete(e)}clear(){this._invalidateCache();this._invalidateOrderedCache();return super.clear()}sortWith(e){if(this.size<=1||e===this._lastActiveSortFn){return}const t=Array.from(this).sort(e);super.clear();for(let e=0;e{"use strict";const r=n(104);const s=1e3;class Hash{update(e,t){throw new r}digest(e){throw new r}}t.Hash=Hash;class BulkUpdateDecorator extends Hash{constructor(e){super();this.hash=e;this.buffer=""}update(e,t){if(t!==undefined||typeof e!=="string"||e.length>s){if(this.buffer.length>0){this.hash.update(this.buffer);this.buffer=""}this.hash.update(e,t)}else{this.buffer+=e;if(this.buffer.length>s){this.hash.update(this.buffer);this.buffer=""}}return this}digest(e){if(this.buffer.length>0){this.hash.update(this.buffer)}var t=this.hash.digest(e);return typeof t==="string"?t:t.toString()}}class DebugHash extends Hash{constructor(){super();this.string=""}update(e,t){if(typeof e!=="string")e=e.toString("utf-8");this.string+=e;return this}digest(e){return this.string.replace(/[^a-z0-9]+/gi,e=>Buffer.from(e).toString("hex"))}}e.exports=(e=>{if(typeof e==="function"){return new BulkUpdateDecorator(new e)}switch(e){case"debug":return new DebugHash;default:return new BulkUpdateDecorator(n(417).createHash(e))}})},658:(e,t,n)=>{"use strict";var r;const s=n(622);const i=(e,t)=>{if(t.startsWith("./")||t.startsWith("../"))return s.join(e,t);return t};const o=e=>{if(/^\/.*\/$/.test(e)){return false}return/^(?:[a-z]:\\|\/)/i.test(e)};const u=e=>e.replace(/\\/g,"/");const a=(e,t)=>{return t.split(/([|! ])/).map(t=>o(t)?u(s.relative(e,t)):t).join("")};r=((e,t,n)=>{if(!n)return a(e,t);const r=n.relativePaths||(n.relativePaths=new Map);let s;let i=r.get(e);if(i===undefined){r.set(e,i=new Map)}else{s=i.get(t)}if(s!==undefined){return s}else{const n=a(e,t);i.set(t,n);return n}});t.tR=((e,t)=>{return t.split("!").map(t=>{const n=t.split("?",2);if(/^[a-zA-Z]:\\/.test(n[0])){n[0]=s.win32.relative(e,n[0]);if(!/^[a-zA-Z]:\\/.test(n[0])){n[0]=n[0].replace(/\\/g,"/")}}if(/^\//.test(n[0])){n[0]=s.posix.relative(e,n[0])}if(!/^(\.\.\/|\/|[a-zA-Z]:\\)/.test(n[0])){n[0]="./"+n[0]}return n.join("?")}).join("!")});const d=(e,t)=>{return t.split("!").map(t=>i(e,t)).join("!")};r=d},417:e=>{"use strict";e.exports=require("crypto")},747:e=>{"use strict";e.exports=require("fs")},282:e=>{"use strict";e.exports=require("module")},286:e=>{"use strict";e.exports=require("next/dist/compiled/schema-utils3")},665:e=>{"use strict";e.exports=require("next/dist/compiled/webpack-sources")},515:e=>{"use strict";e.exports=require("next/dist/compiled/webpack/webpack")},622:e=>{"use strict";e.exports=require("path")},669:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(n){if(t[n]){return t[n].exports}var r=t[n]={exports:{}};var s=true;try{e[n](r,r.exports,__nccwpck_require__);s=false}finally{if(s)delete t[n]}return r.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(105)})(); \ No newline at end of file diff --git a/packages/next/compiled/mini-css-extract-plugin/loader.js b/packages/next/compiled/mini-css-extract-plugin/loader.js new file mode 100644 index 0000000000000..7b17c9c2d0bbf --- /dev/null +++ b/packages/next/compiled/mini-css-extract-plugin/loader.js @@ -0,0 +1 @@ +module.exports=(()=>{var e={480:e=>{"use strict";e.exports=JSON.parse('{"type":"object","additionalProperties":false,"properties":{"publicPath":{"anyOf":[{"type":"string"},{"instanceof":"Function"}]},"emit":{"type":"boolean"},"esModule":{"type":"boolean"},"layer":{"type":"string"},"modules":{"type":"object","additionalProperties":false,"properties":{"namedExport":{"description":"Enables/disables ES modules named export for locals (https://webpack.js.org/plugins/mini-css-extract-plugin/#namedexport).","type":"boolean"}}}}}')},736:e=>{"use strict";class LoadingLoaderError extends Error{constructor(e){super(e);this.name="LoaderRunnerError";Error.captureStackTrace(this,this.constructor)}}e.exports=LoadingLoaderError},278:(e,t,r)=>{var n=r(747);var s=n.readFile.bind(n);var i=r(384);function utf8BufferToString(e){var t=e.toString("utf-8");if(t.charCodeAt(0)===65279){return t.substr(1)}else{return t}}function splitQuery(e){var t=e.indexOf("?");if(t<0)return[e,""];return[e.substr(0,t),e.substr(t)]}function dirname(e){if(e==="/")return"/";var t=e.lastIndexOf("/");var r=e.lastIndexOf("\\");var n=e.indexOf("/");var s=e.indexOf("\\");var i=t>r?t:r;var o=t>r?n:s;if(i<0)return e;if(i===o)return e.substr(0,i+1);return e.substr(0,i)}function createLoaderObject(e){var t={path:null,query:null,options:null,ident:null,normal:null,pitch:null,raw:null,data:null,pitchExecuted:false,normalExecuted:false};Object.defineProperty(t,"request",{enumerable:true,get:function(){return t.path+t.query},set:function(e){if(typeof e==="string"){var r=splitQuery(e);t.path=r[0];t.query=r[1];t.options=undefined;t.ident=undefined}else{if(!e.loader)throw new Error("request should be a string or object with loader and object ("+JSON.stringify(e)+")");t.path=e.loader;t.options=e.options;t.ident=e.ident;if(t.options===null)t.query="";else if(t.options===undefined)t.query="";else if(typeof t.options==="string")t.query="?"+t.options;else if(t.ident)t.query="??"+t.ident;else if(typeof t.options==="object"&&t.options.ident)t.query="??"+t.options.ident;else t.query="?"+JSON.stringify(t.options)}}});t.request=e;if(Object.preventExtensions){Object.preventExtensions(t)}return t}function runSyncOrAsync(e,t,r,n){var s=true;var i=false;var o=false;var u=false;t.async=function async(){if(i){if(u)return;throw new Error("async(): The callback was already called.")}s=false;return c};var c=t.callback=function(){if(i){if(u)return;throw new Error("callback(): The callback was already called.")}i=true;s=false;try{n.apply(null,arguments)}catch(e){o=true;throw e}};try{var a=function LOADER_EXECUTION(){return e.apply(t,r)}();if(s){i=true;if(a===undefined)return n();if(a&&typeof a==="object"&&typeof a.then==="function"){return a.then(function(e){n(null,e)},n)}return n(null,a)}}catch(e){if(o)throw e;if(i){if(typeof e==="object"&&e.stack)console.error(e.stack);else console.error(e);return}i=true;u=true;n(e)}}function convertArgs(e,t){if(!t&&Buffer.isBuffer(e[0]))e[0]=utf8BufferToString(e[0]);else if(t&&typeof e[0]==="string")e[0]=new Buffer(e[0],"utf-8")}function iteratePitchingLoaders(e,t,r){if(t.loaderIndex>=t.loaders.length)return processResource(e,t,r);var n=t.loaders[t.loaderIndex];if(n.pitchExecuted){t.loaderIndex++;return iteratePitchingLoaders(e,t,r)}i(n,function(s){if(s){t.cacheable(false);return r(s)}var i=n.pitch;n.pitchExecuted=true;if(!i)return iteratePitchingLoaders(e,t,r);runSyncOrAsync(i,t,[t.remainingRequest,t.previousRequest,n.data={}],function(n){if(n)return r(n);var s=Array.prototype.slice.call(arguments,1);if(s.length>0){t.loaderIndex--;iterateNormalLoaders(e,t,s,r)}else{iteratePitchingLoaders(e,t,r)}})})}function processResource(e,t,r){t.loaderIndex=t.loaders.length-1;var n=t.resourcePath;if(n){t.addDependency(n);e.readResource(n,function(n,s){if(n)return r(n);e.resourceBuffer=s;iterateNormalLoaders(e,t,[s],r)})}else{iterateNormalLoaders(e,t,[null],r)}}function iterateNormalLoaders(e,t,r,n){if(t.loaderIndex<0)return n(null,r);var s=t.loaders[t.loaderIndex];if(s.normalExecuted){t.loaderIndex--;return iterateNormalLoaders(e,t,r,n)}var i=s.normal;s.normalExecuted=true;if(!i){return iterateNormalLoaders(e,t,r,n)}convertArgs(r,s.raw);runSyncOrAsync(i,t,r,function(r){if(r)return n(r);var s=Array.prototype.slice.call(arguments,1);iterateNormalLoaders(e,t,s,n)})}t.getContext=function getContext(e){var t=splitQuery(e);return dirname(t[0])};t.runLoaders=function runLoaders(e,t){var r=e.resource||"";var n=e.loaders||[];var i=e.context||{};var o=e.readResource||s;var u=r&&splitQuery(r);var c=u?u[0]:undefined;var a=u?u[1]:undefined;var d=c?dirname(c):null;var l=true;var f=[];var h=[];n=n.map(createLoaderObject);i.context=d;i.loaderIndex=0;i.loaders=n;i.resourcePath=c;i.resourceQuery=a;i.async=null;i.callback=null;i.cacheable=function cacheable(e){if(e===false){l=false}};i.dependency=i.addDependency=function addDependency(e){f.push(e)};i.addContextDependency=function addContextDependency(e){h.push(e)};i.getDependencies=function getDependencies(){return f.slice()};i.getContextDependencies=function getContextDependencies(){return h.slice()};i.clearDependencies=function clearDependencies(){f.length=0;h.length=0;l=true};Object.defineProperty(i,"resource",{enumerable:true,get:function(){if(i.resourcePath===undefined)return undefined;return i.resourcePath+i.resourceQuery},set:function(e){var t=e&&splitQuery(e);i.resourcePath=t?t[0]:undefined;i.resourceQuery=t?t[1]:undefined}});Object.defineProperty(i,"request",{enumerable:true,get:function(){return i.loaders.map(function(e){return e.request}).concat(i.resource||"").join("!")}});Object.defineProperty(i,"remainingRequest",{enumerable:true,get:function(){if(i.loaderIndex>=i.loaders.length-1&&!i.resource)return"";return i.loaders.slice(i.loaderIndex+1).map(function(e){return e.request}).concat(i.resource||"").join("!")}});Object.defineProperty(i,"currentRequest",{enumerable:true,get:function(){return i.loaders.slice(i.loaderIndex).map(function(e){return e.request}).concat(i.resource||"").join("!")}});Object.defineProperty(i,"previousRequest",{enumerable:true,get:function(){return i.loaders.slice(0,i.loaderIndex).map(function(e){return e.request}).join("!")}});Object.defineProperty(i,"query",{enumerable:true,get:function(){var e=i.loaders[i.loaderIndex];return e.options&&typeof e.options==="object"?e.options:e.query}});Object.defineProperty(i,"data",{enumerable:true,get:function(){return i.loaders[i.loaderIndex].data}});if(Object.preventExtensions){Object.preventExtensions(i)}var p={resourceBuffer:null,readResource:o};iteratePitchingLoaders(p,i,function(e,r){if(e){return t(e,{cacheable:l,fileDependencies:f,contextDependencies:h})}t(null,{result:r,resourceBuffer:p.resourceBuffer,cacheable:l,fileDependencies:f,contextDependencies:h})})}},384:(e,t,r)=>{var n=r(736);e.exports=function loadLoader(e,t){if(typeof System==="object"&&typeof System.import==="function"){System.import(e.path).catch(t).then(function(r){e.normal=typeof r==="function"?r:r.default;e.pitch=r.pitch;e.raw=r.raw;if(typeof e.normal!=="function"&&typeof e.pitch!=="function"){return t(new n("Module '"+e.path+"' is not a loader (must have normal or pitch function)"))}t()})}else{try{var r=require(e.path)}catch(r){if(r instanceof Error&&r.code==="EMFILE"){var s=loadLoader.bind(null,e,t);if(typeof setImmediate==="function"){return setImmediate(s)}else{return process.nextTick(s)}}return t(r)}if(typeof r!=="function"&&typeof r!=="object"){return t(new n("Module '"+e.path+"' is not a loader (export function or es6 module)"))}e.normal=typeof r==="function"?r:r.default;e.pitch=r.pitch;e.raw=r.raw;if(typeof e.normal!=="function"&&typeof e.pitch!=="function"){return t(new n("Module '"+e.path+"' is not a loader (must have normal or pitch function)"))}t()}}},506:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.pitch=pitch;t.default=_default;var n=_interopRequireDefault(r(622));var s=_interopRequireDefault(r(443));var i=r(286);var o=r(958);var u=_interopRequireDefault(r(480));var c=_interopRequireWildcard(r(612));function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var e=new WeakMap;_getRequireWildcardCache=function(){return e};return e}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var t=_getRequireWildcardCache();if(t&&t.has(e)){return t.get(e)}var r={};var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e){if(Object.prototype.hasOwnProperty.call(e,s)){var i=n?Object.getOwnPropertyDescriptor(e,s):null;if(i&&(i.get||i.set)){Object.defineProperty(r,s,i)}else{r[s]=e[s]}}}r.default=e;if(t){t.set(e,r)}return r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hotLoader(e,t){const r=t.locals?"":"module.hot.accept(undefined, cssReload);";return`${e}\n if(module.hot) {\n // ${Date.now()}\n var cssReload = require(${s.default.stringifyRequest(t.context,n.default.join(__dirname,"hmr/hotModuleReplacement.js"))})(module.id, ${JSON.stringify({...t.options,locals:!!t.locals})});\n module.hot.dispose(cssReload);\n ${r}\n }\n `}function pitch(e){const n=s.default.getOptions(this)||{};(0,i.validate)(u.default,n,{name:"Mini CSS Extract Plugin Loader",baseDataPath:"options"});const a=this.async();const d=this[c.pluginSymbol];if(!d){a(new Error("You forgot to add 'mini-css-extract-plugin' plugin (i.e. `{ plugins: [new MiniCssExtractPlugin()] }`), please read https://github.com/webpack-contrib/mini-css-extract-plugin#getting-started"));return}const l=this._compiler.webpack||r(515);const f=(e,r,s,i)=>{let u;const d=typeof n.esModule!=="undefined"?n.esModule:true;const f=d&&n.modules&&n.modules.namedExport;const h=e=>{if(!Array.isArray(e)&&e!=null){throw new Error(`Exported value was not extracted as an array: ${JSON.stringify(e)}`)}const t=new Map;const r=typeof n.emit!=="undefined"?n.emit:true;let o;for(const n of e){if(!n.identifier||!r){continue}const e=t.get(n.identifier)||0;const s=c.default.getCssDependency(l);this._module.addDependency(o=new s(n,n.context,e));t.set(n.identifier,e+1)}if(o&&s){o.assets=s;o.assetsInfo=i}};try{t=e.__esModule?e.default:e;if(f){Object.keys(e).forEach(t=>{if(t!=="default"){if(!u){u={}}u[t]=e[t]}})}else{u=t&&t.locals}let n;if(!Array.isArray(t)){n=[[null,t]]}else{n=t.map(([e,t,n,s])=>{let i=e;let u;if(r){const t=(0,o.findModuleById)(r,e);i=t.identifier();({context:u}=t)}else{u=this.rootContext}return{identifier:i,context:u,content:Buffer.from(t),media:n,sourceMap:s?Buffer.from(JSON.stringify(s)):undefined}})}h(n)}catch(e){return a(e)}const p=u?f?Object.keys(u).map(e=>`\nexport const ${e} = ${JSON.stringify(u[e])};`).join(""):`\n${d?"export default":"module.exports ="} ${JSON.stringify(u)};`:d?`\nexport {};`:"";let m=`// extracted by ${c.pluginName}`;m+=this.hot?hotLoader(p,{context:this.context,options:n,locals:u}):p;return a(null,m)};const h=typeof n.publicPath==="string"?n.publicPath==="auto"?"":n.publicPath===""||n.publicPath.endsWith("/")?n.publicPath:`${n.publicPath}/`:typeof n.publicPath==="function"?n.publicPath(this.resourcePath,this.rootContext):this._compilation.outputOptions.publicPath==="auto"?"":this._compilation.outputOptions.publicPath;if(d.experimentalUseImportModule){if(!this.importModule){a(new Error("You are using experimentalUseImportModule but 'this.importModule' is not available in loader context. You need to have at least webpack 5.33.2."));return}this.importModule(`${this.resourcePath}.webpack[javascript/auto]!=!${e}`,{layer:n.layer,publicPath:h},(e,t)=>{if(e){a(e);return}f(t)});return}const p=this.loaders.slice(this.loaderIndex+1);this.addDependency(this.resourcePath);const m="*";const g={filename:m,publicPath:h};const y=this._compilation.createChildCompiler(`${c.pluginName} ${e}`,g);const{NodeTemplatePlugin:_}=l.node;const w=l.node.NodeTargetPlugin?l.node.NodeTargetPlugin:r(743);new _(g).apply(y);(new w).apply(y);const{EntryOptionPlugin:M}=l;if(M){const{library:{EnableLibraryPlugin:t}}=l;new t("commonjs2").apply(y);M.applyEntryOption(y,this.context,{child:{library:{type:"commonjs2"},import:[`!!${e}`]}})}else{const{LibraryTemplatePlugin:t,SingleEntryPlugin:r}=l;new t(null,"commonjs2").apply(y);new r(this.context,`!!${e}`,c.pluginName).apply(y)}const{LimitChunkCountPlugin:b}=l.optimize;new b({maxChunks:1}).apply(y);const O=l.NormalModule?l.NormalModule:r(963);y.hooks.thisCompilation.tap(`${c.pluginName} loader`,t=>{const r=typeof O.getCompilationHooks!=="undefined"?O.getCompilationHooks(t).loader:t.hooks.normalModuleLoader;r.tap(`${c.pluginName} loader`,(t,r)=>{if(r.request===e){r.loaders=p.map(e=>{return{loader:e.path,options:e.options,ident:e.ident}})}})});let v;const x=y.webpack?false:typeof y.resolvers!=="undefined";if(x){y.hooks.afterCompile.tap(c.pluginName,e=>{v=e.assets[m]&&e.assets[m].source();e.chunks.forEach(t=>{t.files.forEach(t=>{delete e.assets[t]})})})}else{y.hooks.compilation.tap(c.pluginName,e=>{e.hooks.processAssets.tap(c.pluginName,()=>{v=e.assets[m]&&e.assets[m].source();e.chunks.forEach(t=>{t.files.forEach(t=>{e.deleteAsset(t)})})})})}y.runAsChild((t,r,n)=>{const s=Object.create(null);const i=new Map;for(const e of n.getAssets()){s[e.name]=e.source;i.set(e.name,e.info)}if(t){return a(t)}if(n.errors.length>0){return a(n.errors[0])}n.fileDependencies.forEach(e=>{this.addDependency(e)},this);n.contextDependencies.forEach(e=>{this.addContextDependency(e)},this);if(!v){return a(new Error("Didn't get a result from child compiler"))}let u;try{u=(0,o.evalModuleCode)(this,v,e)}catch(e){return a(e)}return f(u,n,s,i)})}function _default(){}},958:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.findModuleById=findModuleById;t.evalModuleCode=evalModuleCode;t.compareModulesByIdentifier=compareModulesByIdentifier;t.MODULE_TYPE=void 0;var n=_interopRequireDefault(r(282));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const s="css/mini-extract";t.MODULE_TYPE=s;function findModuleById(e,t){const{modules:r,chunkGraph:n}=e;for(const e of r){const r=typeof n!=="undefined"?n.getModuleId(e):e.id;if(r===t){return e}}return null}function evalModuleCode(e,t,r){const s=new n.default(r,e);s.paths=n.default._nodeModulePaths(e.context);s.filename=r;s._compile(t,r);return s.exports}function compareIds(e,t){if(typeof e!==typeof t){return typeof et){return 1}return 0}function compareModulesByIdentifier(e,t){return compareIds(e.identifier(),t.identifier())}},104:(e,t,r)=>{"use strict";const n=r(391);const s=/at ([a-zA-Z0-9_.]*)/;function createMessage(e){return`Abstract method${e?" "+e:""}. Must be overridden.`}function Message(){this.stack=undefined;Error.captureStackTrace(this);const e=this.stack.split("\n")[3].match(s);this.message=e&&e[1]?createMessage(e[1]):createMessage()}class AbstractMethodError extends n{constructor(){super((new Message).message);this.name="AbstractMethodError"}}e.exports=AbstractMethodError},919:(e,t,r)=>{"use strict";const n=r(669);const s=r(834);const i=r(262).w;const o=r(973);const u=r(931);let c=1e3;const a="Chunk.entry was removed. Use hasRuntime()";const d="Chunk.initial was removed. Use canBeInitial/isOnlyInitial()";const l=(e,t)=>{if(e.id{if(e.id{if(e.identifier()>t.identifier())return 1;if(e.identifier(){e.sort();let t="";for(const r of e){t+=r.identifier()+"#"}return t};const m=e=>Array.from(e);const g=e=>{let t=0;for(const r of e){t+=r.size()}return t};class Chunk{constructor(e){this.id=null;this.ids=null;this.debugId=c++;this.name=e;this.preventIntegration=false;this.entryModule=undefined;this._modules=new s(undefined,h);this.filenameTemplate=undefined;this._groups=new s(undefined,f);this.files=[];this.rendered=false;this.hash=undefined;this.contentHash=Object.create(null);this.renderedHash=undefined;this.chunkReason=undefined;this.extraAsync=false;this.removedModules=undefined}get entry(){throw new Error(a)}set entry(e){throw new Error(a)}get initial(){throw new Error(d)}set initial(e){throw new Error(d)}hasRuntime(){for(const e of this._groups){if(e.isInitial()&&e instanceof u&&e.getRuntimeChunk()===this){return true}}return false}canBeInitial(){for(const e of this._groups){if(e.isInitial())return true}return false}isOnlyInitial(){if(this._groups.size<=0)return false;for(const e of this._groups){if(!e.isInitial())return false}return true}hasEntryModule(){return!!this.entryModule}addModule(e){if(!this._modules.has(e)){this._modules.add(e);return true}return false}removeModule(e){if(this._modules.delete(e)){e.removeChunk(this);return true}return false}setModules(e){this._modules=new s(e,h)}getNumberOfModules(){return this._modules.size}get modulesIterable(){return this._modules}addGroup(e){if(this._groups.has(e))return false;this._groups.add(e);return true}removeGroup(e){if(!this._groups.has(e))return false;this._groups.delete(e);return true}isInGroup(e){return this._groups.has(e)}getNumberOfGroups(){return this._groups.size}get groupsIterable(){return this._groups}compareTo(e){if(this.name&&!e.name)return-1;if(!this.name&&e.name)return 1;if(this.namee.name)return 1;if(this._modules.size>e._modules.size)return-1;if(this._modules.sizei)return 1}}containsModule(e){return this._modules.has(e)}getModules(){return this._modules.getFromCache(m)}getModulesIdent(){return this._modules.getFromUnorderedCache(p)}remove(e){for(const e of Array.from(this._modules)){e.removeChunk(this)}for(const e of this._groups){e.removeChunk(this)}}moveModule(e,t){o.disconnectChunkAndModule(this,e);o.connectChunkAndModule(t,e);e.rewriteChunkInReasons(this,[t])}integrate(e,t){if(!this.canBeIntegrated(e)){return false}if(this.name&&e.name){if(this.hasEntryModule()===e.hasEntryModule()){if(this.name.length!==e.name.length){this.name=this.name.length{const r=new Set(t.groupsIterable);for(const t of r){if(e.isInGroup(t))continue;if(t.isInitial())return false;for(const e of t.parentsIterable){r.add(e)}}return true};const r=this.hasRuntime();const n=e.hasRuntime();if(r!==n){if(r){return t(this,e)}else if(n){return t(e,this)}else{return false}}if(this.hasEntryModule()||e.hasEntryModule()){return false}return true}addMultiplierAndOverhead(e,t){const r=typeof t.chunkOverhead==="number"?t.chunkOverhead:1e4;const n=this.canBeInitial()?t.entryChunkMultiplicator||10:1;return e*n+r}modulesSize(){return this._modules.getFromUnorderedCache(g)}size(e={}){return this.addMultiplierAndOverhead(this.modulesSize(),e)}integratedSize(e,t){if(!this.canBeIntegrated(e)){return false}let r=this.modulesSize();for(const t of e._modules){if(!this._modules.has(t)){r+=t.size()}}return this.addMultiplierAndOverhead(r,t)}sortModules(e){this._modules.sortWith(e||l)}sortItems(){this.sortModules()}getAllAsyncChunks(){const e=new Set;const t=new Set;const r=i(Array.from(this.groupsIterable,e=>new Set(e.chunks)));for(const t of this.groupsIterable){for(const r of t.childrenIterable){e.add(r)}}for(const n of e){for(const e of n.chunks){if(!r.has(e)){t.add(e)}}for(const t of n.childrenIterable){e.add(t)}}return t}getChunkMaps(e){const t=Object.create(null);const r=Object.create(null);const n=Object.create(null);for(const s of this.getAllAsyncChunks()){t[s.id]=e?s.hash:s.renderedHash;for(const e of Object.keys(s.contentHash)){if(!r[e]){r[e]=Object.create(null)}r[e][s.id]=s.contentHash[e]}if(s.name){n[s.id]=s.name}}return{hash:t,contentHash:r,name:n}}getChildIdsByOrders(){const e=new Map;for(const t of this.groupsIterable){if(t.chunks[t.chunks.length-1]===this){for(const r of t.childrenIterable){if(typeof r.options==="object"){for(const t of Object.keys(r.options)){if(t.endsWith("Order")){const n=t.substr(0,t.length-"Order".length);let s=e.get(n);if(s===undefined)e.set(n,s=[]);s.push({order:r.options[t],group:r})}}}}}}const t=Object.create(null);for(const[r,n]of e){n.sort((e,t)=>{const r=t.order-e.order;if(r!==0)return r;if(e.group.compareTo){return e.group.compareTo(t.group)}return 0});t[r]=Array.from(n.reduce((e,t)=>{for(const r of t.group.chunks){e.add(r.id)}return e},new Set))}return t}getChildIdsByOrdersMap(e){const t=Object.create(null);const r=e=>{const r=e.getChildIdsByOrders();for(const n of Object.keys(r)){let s=t[n];if(s===undefined){t[n]=s=Object.create(null)}s[e.id]=r[n]}};if(e){const e=new Set;for(const t of this.groupsIterable){for(const r of t.chunks){e.add(r)}}for(const t of e){r(t)}}for(const e of this.getAllAsyncChunks()){r(e)}return t}getChunkModuleMaps(e){const t=Object.create(null);const r=Object.create(null);for(const n of this.getAllAsyncChunks()){let s;for(const i of n.modulesIterable){if(e(i)){if(s===undefined){s=[];t[n.id]=s}s.push(i.id);r[i.id]=i.renderedHash}}if(s!==undefined){s.sort()}}return{id:t,hash:r}}hasModuleInGraph(e,t){const r=new Set(this.groupsIterable);const n=new Set;for(const s of r){for(const r of s.chunks){if(!n.has(r)){n.add(r);if(!t||t(r)){for(const t of r.modulesIterable){if(e(t)){return true}}}}}for(const e of s.childrenIterable){r.add(e)}}return false}toString(){return`Chunk[${Array.from(this._modules).join()}]`}}Object.defineProperty(Chunk.prototype,"forEachModule",{configurable:false,value:n.deprecate(function(e){this._modules.forEach(e)},"Chunk.forEachModule: Use for(const module of chunk.modulesIterable) instead")});Object.defineProperty(Chunk.prototype,"mapModules",{configurable:false,value:n.deprecate(function(e){return Array.from(this._modules,e)},"Chunk.mapModules: Use Array.from(chunk.modulesIterable, fn) instead")});Object.defineProperty(Chunk.prototype,"chunks",{configurable:false,get(){throw new Error("Chunk.chunks: Use ChunkGroup.getChildren() instead")},set(){throw new Error("Chunk.chunks: Use ChunkGroup.add/removeChild() instead")}});Object.defineProperty(Chunk.prototype,"parents",{configurable:false,get(){throw new Error("Chunk.parents: Use ChunkGroup.getParents() instead")},set(){throw new Error("Chunk.parents: Use ChunkGroup.add/removeParent() instead")}});Object.defineProperty(Chunk.prototype,"blocks",{configurable:false,get(){throw new Error("Chunk.blocks: Use ChunkGroup.getBlocks() instead")},set(){throw new Error("Chunk.blocks: Use ChunkGroup.add/removeBlock() instead")}});Object.defineProperty(Chunk.prototype,"entrypoints",{configurable:false,get(){throw new Error("Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead")},set(){throw new Error("Chunk.entrypoints: Use Chunks.addGroup instead")}});e.exports=Chunk},911:(e,t,r)=>{"use strict";const n=r(834);const s=r(562);let i=5e3;const o=e=>Array.from(e);const u=(e,t)=>{if(e.id{const r=e.module?e.module.identifier():"";const n=t.module?t.module.identifier():"";if(rn)return 1;return s(e.loc,t.loc)};class ChunkGroup{constructor(e){if(typeof e==="string"){e={name:e}}else if(!e){e={name:undefined}}this.groupDebugId=i++;this.options=e;this._children=new n(undefined,u);this._parents=new n(undefined,u);this._blocks=new n;this.chunks=[];this.origins=[];this._moduleIndices=new Map;this._moduleIndices2=new Map}addOptions(e){for(const t of Object.keys(e)){if(this.options[t]===undefined){this.options[t]=e[t]}else if(this.options[t]!==e[t]){if(t.endsWith("Order")){this.options[t]=Math.max(this.options[t],e[t])}else{throw new Error(`ChunkGroup.addOptions: No option merge strategy for ${t}`)}}}}get name(){return this.options.name}set name(e){this.options.name=e}get debugId(){return Array.from(this.chunks,e=>e.debugId).join("+")}get id(){return Array.from(this.chunks,e=>e.id).join("+")}unshiftChunk(e){const t=this.chunks.indexOf(e);if(t>0){this.chunks.splice(t,1);this.chunks.unshift(e)}else if(t<0){this.chunks.unshift(e);return true}return false}insertChunk(e,t){const r=this.chunks.indexOf(e);const n=this.chunks.indexOf(t);if(n<0){throw new Error("before chunk not found")}if(r>=0&&r>n){this.chunks.splice(r,1);this.chunks.splice(n,0,e)}else if(r<0){this.chunks.splice(n,0,e);return true}return false}pushChunk(e){const t=this.chunks.indexOf(e);if(t>=0){return false}this.chunks.push(e);return true}replaceChunk(e,t){const r=this.chunks.indexOf(e);if(r<0)return false;const n=this.chunks.indexOf(t);if(n<0){this.chunks[r]=t;return true}if(n=0){this.chunks.splice(t,1);return true}return false}isInitial(){return false}addChild(e){if(this._children.has(e)){return false}this._children.add(e);return true}getChildren(){return this._children.getFromCache(o)}getNumberOfChildren(){return this._children.size}get childrenIterable(){return this._children}removeChild(e){if(!this._children.has(e)){return false}this._children.delete(e);e.removeParent(this);return true}addParent(e){if(!this._parents.has(e)){this._parents.add(e);return true}return false}getParents(){return this._parents.getFromCache(o)}setParents(e){this._parents.clear();for(const t of e){this._parents.add(t)}}getNumberOfParents(){return this._parents.size}hasParent(e){return this._parents.has(e)}get parentsIterable(){return this._parents}removeParent(e){if(this._parents.delete(e)){e.removeChunk(this);return true}return false}getBlocks(){return this._blocks.getFromCache(o)}getNumberOfBlocks(){return this._blocks.size}hasBlock(e){return this._blocks.has(e)}get blocksIterable(){return this._blocks}addBlock(e){if(!this._blocks.has(e)){this._blocks.add(e);return true}return false}addOrigin(e,t,r){this.origins.push({module:e,loc:t,request:r})}containsModule(e){for(const t of this.chunks){if(t.containsModule(e))return true}return false}getFiles(){const e=new Set;for(const t of this.chunks){for(const r of t.files){e.add(r)}}return Array.from(e)}remove(e){for(const e of this._parents){e._children.delete(this);for(const t of this._children){t.addParent(e);e.addChild(t)}}for(const e of this._children){e._parents.delete(this)}for(const e of this._blocks){e.chunkGroup=null}for(const e of this.chunks){e.removeGroup(this)}}sortItems(){this.origins.sort(c);this._parents.sort();this._children.sort()}compareTo(e){if(this.chunks.length>e.chunks.length)return-1;if(this.chunks.length{const r=t.order-e.order;if(r!==0)return r;if(e.group.compareTo){return e.group.compareTo(t.group)}return 0});t[r]=n.map(e=>e.group)}return t}setModuleIndex(e,t){this._moduleIndices.set(e,t)}getModuleIndex(e){return this._moduleIndices.get(e)}setModuleIndex2(e,t){this._moduleIndices2.set(e,t)}getModuleIndex2(e){return this._moduleIndices2.get(e)}checkConstraints(){const e=this;for(const t of e._children){if(!t._parents.has(e)){throw new Error(`checkConstraints: child missing parent ${e.debugId} -> ${t.debugId}`)}}for(const t of e._parents){if(!t._children.has(e)){throw new Error(`checkConstraints: parent missing child ${t.debugId} <- ${e.debugId}`)}}}}e.exports=ChunkGroup},71:(e,t,r)=>{"use strict";const n=r(904);class DependenciesBlock{constructor(){this.dependencies=[];this.blocks=[];this.variables=[]}addBlock(e){this.blocks.push(e);e.parent=this}addVariable(e,t,r){for(let r of this.variables){if(r.name===e&&r.expression===t){return}}this.variables.push(new n(e,t,r))}addDependency(e){this.dependencies.push(e)}removeDependency(e){const t=this.dependencies.indexOf(e);if(t>=0){this.dependencies.splice(t,1)}}updateHash(e){for(const t of this.dependencies)t.updateHash(e);for(const t of this.blocks)t.updateHash(e);for(const t of this.variables)t.updateHash(e)}disconnect(){for(const e of this.dependencies)e.disconnect();for(const e of this.blocks)e.disconnect();for(const e of this.variables)e.disconnect()}unseal(){for(const e of this.blocks)e.unseal()}hasDependencies(e){if(e){for(const t of this.dependencies){if(e(t))return true}}else{if(this.dependencies.length>0){return true}}for(const t of this.blocks){if(t.hasDependencies(e))return true}for(const t of this.variables){if(t.hasDependencies(e))return true}return false}sortItems(){for(const e of this.blocks)e.sortItems()}}e.exports=DependenciesBlock},904:(e,t,r)=>{"use strict";const{RawSource:n,ReplaceSource:s}=r(665);class DependenciesBlockVariable{constructor(e,t,r){this.name=e;this.expression=t;this.dependencies=r||[]}updateHash(e){e.update(this.name);e.update(this.expression);for(const t of this.dependencies){t.updateHash(e)}}expressionSource(e,t){const r=new s(new n(this.expression));for(const n of this.dependencies){const s=e.get(n.constructor);if(!s){throw new Error(`No template for dependency: ${n.constructor.name}`)}s.apply(n,r,t,e)}return r}disconnect(){for(const e of this.dependencies){e.disconnect()}}hasDependencies(e){if(e){return this.dependencies.some(e)}return this.dependencies.length>0}}e.exports=DependenciesBlockVariable},931:(e,t,r)=>{"use strict";const n=r(911);class Entrypoint extends n{constructor(e){super(e);this.runtimeChunk=undefined}isInitial(){return true}setRuntimeChunk(e){this.runtimeChunk=e}getRuntimeChunk(){return this.runtimeChunk||this.chunks[0]}replaceChunk(e,t){if(this.runtimeChunk===e)this.runtimeChunk=t;return super.replaceChunk(e,t)}}e.exports=Entrypoint},140:(e,t)=>{"use strict";const r="LOADER_EXECUTION";const n="WEBPACK_OPTIONS";t.cutOffByFlag=((e,t)=>{e=e.split("\n");for(let r=0;rt.cutOffByFlag(e,r));t.cutOffWebpackOptions=(e=>t.cutOffByFlag(e,n));t.cutOffMultilineMessage=((e,t)=>{e=e.split("\n");t=t.split("\n");return e.reduce((e,r,n)=>r.includes(t[n])?e:e.concat(r),[]).join("\n")});t.cutOffMessage=((e,t)=>{const r=e.indexOf("\n");if(r===-1){return e===t?"":e}else{const n=e.substr(0,r);return n===t?e.substr(r+1):e}});t.cleanUp=((e,r)=>{e=t.cutOffLoaderExecution(e);e=t.cutOffMessage(e,r);return e});t.cleanUpWebpackOptions=((e,r)=>{e=t.cutOffWebpackOptions(e);e=t.cutOffMultilineMessage(e,r);return e})},204:(e,t,r)=>{"use strict";const{OriginalSource:n,RawSource:s}=r(665);const i=r(993);const o=r(386);const u=r(66);class ExternalModule extends i{constructor(e,t,r){super("javascript/dynamic",null);this.request=e;this.externalType=t;this.userRequest=r;this.external=true}libIdent(){return this.userRequest}chunkCondition(e){return e.hasEntryModule()}identifier(){return"external "+JSON.stringify(this.request)}readableIdentifier(){return"external "+JSON.stringify(this.request)}needRebuild(){return false}build(e,t,r,n,s){this.built=true;this.buildMeta={};this.buildInfo={};s()}getSourceForGlobalVariableExternal(e,t){if(!Array.isArray(e)){e=[e]}const r=e.map(e=>`[${JSON.stringify(e)}]`).join("");return`(function() { module.exports = ${t}${r}; }());`}getSourceForCommonJsExternal(e){if(!Array.isArray(e)){return`module.exports = require(${JSON.stringify(e)});`}const t=e[0];const r=e.slice(1).map(e=>`[${JSON.stringify(e)}]`).join("");return`module.exports = require(${JSON.stringify(t)})${r};`}checkExternalVariable(e,t){return`if(typeof ${e} === 'undefined') {${o.moduleCode(t)}}\n`}getSourceForAmdOrUmdExternal(e,t,r){const n=`__WEBPACK_EXTERNAL_MODULE_${u.toIdentifier(`${e}`)}__`;const s=t?this.checkExternalVariable(n,r):"";return`${s}module.exports = ${n};`}getSourceForDefaultCase(e,t){if(!Array.isArray(t)){t=[t]}const r=t[0];const n=e?this.checkExternalVariable(r,t.join(".")):"";const s=t.slice(1).map(e=>`[${JSON.stringify(e)}]`).join("");return`${n}module.exports = ${r}${s};`}getSourceString(e){const t=typeof this.request==="object"&&!Array.isArray(this.request)?this.request[this.externalType]:this.request;switch(this.externalType){case"this":case"window":case"self":return this.getSourceForGlobalVariableExternal(t,this.externalType);case"global":return this.getSourceForGlobalVariableExternal(t,e.outputOptions.globalObject);case"commonjs":case"commonjs2":return this.getSourceForCommonJsExternal(t);case"amd":case"amd-require":case"umd":case"umd2":case"system":return this.getSourceForAmdOrUmdExternal(this.id,this.optional,t);default:return this.getSourceForDefaultCase(this.optional,t)}}getSource(e){if(this.useSourceMap){return new n(e,this.identifier())}return new s(e)}source(e,t){return this.getSource(this.getSourceString(t))}size(){return 42}updateHash(e){e.update(this.externalType);e.update(JSON.stringify(this.request));e.update(JSON.stringify(Boolean(this.optional)));super.updateHash(e)}}e.exports=ExternalModule},876:(e,t,r)=>{"use strict";const n=r(204);class ExternalModuleFactoryPlugin{constructor(e,t){this.type=e;this.externals=t}apply(e){const t=this.type;e.hooks.factory.tap("ExternalModuleFactoryPlugin",e=>(r,s)=>{const i=r.context;const o=r.dependencies[0];const u=(s,i,u)=>{if(typeof i==="function"){u=i;i=undefined}if(s===false)return e(r,u);if(s===true)s=o.request;if(i===undefined&&/^[a-z0-9]+ /.test(s)){const e=s.indexOf(" ");i=s.substr(0,e);s=s.substr(e+1)}u(null,new n(s,i||t,o.request));return true};const c=(e,t)=>{if(typeof e==="string"){if(e===o.request){return u(o.request,t)}}else if(Array.isArray(e)){let r=0;const n=()=>{let s;const i=(e,r)=>{if(e)return t(e);if(!r){if(s){s=false;return}return n()}t(null,r)};do{s=true;if(r>=e.length)return t();c(e[r++],i)}while(!s);s=false};n();return}else if(e instanceof RegExp){if(e.test(o.request)){return u(o.request,t)}}else if(typeof e==="function"){e.call(null,i,o.request,(e,r,n)=>{if(e)return t(e);if(r!==undefined){u(r,n,t)}else{t()}});return}else if(typeof e==="object"&&Object.prototype.hasOwnProperty.call(e,o.request)){return u(e[o.request],t)}t()};c(this.externals,(e,t)=>{if(e)return s(e);if(!t)return u(false,s);return s(null,t)})})}}e.exports=ExternalModuleFactoryPlugin},705:(e,t,r)=>{"use strict";const n=r(876);class ExternalsPlugin{constructor(e,t){this.type=e;this.externals=t}apply(e){e.hooks.compile.tap("ExternalsPlugin",({normalModuleFactory:e})=>{new n(this.type,this.externals).apply(e)})}}e.exports=ExternalsPlugin},973:(e,t)=>{const r=(e,t)=>{if(e.pushChunk(t)){t.addGroup(e)}};const n=(e,t)=>{if(e.addChild(t)){t.addParent(e)}};const s=(e,t)=>{if(t.addChunk(e)){e.addModule(t)}};const i=(e,t)=>{e.removeModule(t);t.removeChunk(e)};const o=(e,t)=>{if(t.addBlock(e)){e.chunkGroup=t}};t.connectChunkGroupAndChunk=r;t.connectChunkGroupParentAndChild=n;t.connectChunkAndModule=s;t.disconnectChunkAndModule=i;t.connectDependenciesBlockAndChunkGroup=o},782:(e,t,r)=>{"use strict";const n=r(919);class HotUpdateChunk extends n{constructor(){super();this.removedModules=undefined}}e.exports=HotUpdateChunk},993:(e,t,r)=>{"use strict";const n=r(669);const s=r(71);const i=r(576);const o=r(834);const u=r(66);const c={};let a=1e3;const d=(e,t)=>{return e.id-t.id};const l=(e,t)=>{return e.debugId-t.debugId};class Module extends s{constructor(e,t=null){super();this.type=e;this.context=t;this.debugId=a++;this.hash=undefined;this.renderedHash=undefined;this.resolveOptions=c;this.factoryMeta={};this.warnings=[];this.errors=[];this.buildMeta=undefined;this.buildInfo=undefined;this.reasons=[];this._chunks=new o(undefined,d);this.id=null;this.index=null;this.index2=null;this.depth=null;this.issuer=null;this.profile=undefined;this.prefetched=false;this.built=false;this.used=null;this.usedExports=null;this.optimizationBailout=[];this._rewriteChunkInReasons=undefined;this.useSourceMap=false;this._source=null}get exportsArgument(){return this.buildInfo&&this.buildInfo.exportsArgument||"exports"}get moduleArgument(){return this.buildInfo&&this.buildInfo.moduleArgument||"module"}disconnect(){this.hash=undefined;this.renderedHash=undefined;this.reasons.length=0;this._rewriteChunkInReasons=undefined;this._chunks.clear();this.id=null;this.index=null;this.index2=null;this.depth=null;this.issuer=null;this.profile=undefined;this.prefetched=false;this.built=false;this.used=null;this.usedExports=null;this.optimizationBailout.length=0;super.disconnect()}unseal(){this.id=null;this.index=null;this.index2=null;this.depth=null;this._chunks.clear();super.unseal()}setChunks(e){this._chunks=new o(e,d)}addChunk(e){if(this._chunks.has(e))return false;this._chunks.add(e);return true}removeChunk(e){if(this._chunks.delete(e)){e.removeModule(this);return true}return false}isInChunk(e){return this._chunks.has(e)}isEntryModule(){for(const e of this._chunks){if(e.entryModule===this)return true}return false}get optional(){return this.reasons.length>0&&this.reasons.every(e=>e.dependency&&e.dependency.optional)}getChunks(){return Array.from(this._chunks)}getNumberOfChunks(){return this._chunks.size}get chunksIterable(){return this._chunks}hasEqualsChunks(e){if(this._chunks.size!==e._chunks.size)return false;this._chunks.sortWith(l);e._chunks.sortWith(l);const t=this._chunks[Symbol.iterator]();const r=e._chunks[Symbol.iterator]();while(true){const e=t.next();const n=r.next();if(e.done)return true;if(e.value!==n.value)return false}}addReason(e,t,r){this.reasons.push(new i(e,t,r))}removeReason(e,t){for(let r=0;r0}rewriteChunkInReasons(e,t){if(this._rewriteChunkInReasons===undefined){this._rewriteChunkInReasons=[]}this._rewriteChunkInReasons.push({oldChunk:e,newChunks:t})}_doRewriteChunkInReasons(e,t){for(let r=0;r{if(e.module===t.module)return 0;if(!e.module)return-1;if(!t.module)return 1;return d(e.module,t.module)});if(Array.isArray(this.usedExports)){this.usedExports.sort()}}unbuild(){this.dependencies.length=0;this.blocks.length=0;this.variables.length=0;this.buildMeta=undefined;this.buildInfo=undefined;this.disconnect()}get arguments(){throw new Error("Module.arguments was removed, there is no replacement.")}set arguments(e){throw new Error("Module.arguments was removed, there is no replacement.")}}Object.defineProperty(Module.prototype,"forEachChunk",{configurable:false,value:n.deprecate(function(e){this._chunks.forEach(e)},"Module.forEachChunk: Use for(const chunk of module.chunksIterable) instead")});Object.defineProperty(Module.prototype,"mapChunks",{configurable:false,value:n.deprecate(function(e){return Array.from(this._chunks,e)},"Module.mapChunks: Use Array.from(module.chunksIterable, fn) instead")});Object.defineProperty(Module.prototype,"entry",{configurable:false,get(){throw new Error("Module.entry was removed. Use Chunk.entryModule")},set(){throw new Error("Module.entry was removed. Use Chunk.entryModule")}});Object.defineProperty(Module.prototype,"meta",{configurable:false,get:n.deprecate(function(){return this.buildMeta},"Module.meta was renamed to Module.buildMeta"),set:n.deprecate(function(e){this.buildMeta=e},"Module.meta was renamed to Module.buildMeta")});Module.prototype.identifier=null;Module.prototype.readableIdentifier=null;Module.prototype.build=null;Module.prototype.source=null;Module.prototype.size=null;Module.prototype.nameForCondition=null;Module.prototype.chunkCondition=null;Module.prototype.updateCacheModule=null;e.exports=Module},72:(e,t,r)=>{"use strict";const n=r(391);const{cutOffLoaderExecution:s}=r(140);class ModuleBuildError extends n{constructor(e,t,{from:r=null}={}){let n="Module build failed";let i=undefined;if(r){n+=` (from ${r}):\n`}else{n+=": "}if(t!==null&&typeof t==="object"){if(typeof t.stack==="string"&&t.stack){const e=s(t.stack);if(!t.hideStack){n+=e}else{i=e;if(typeof t.message==="string"&&t.message){n+=t.message}else{n+=t}}}else if(typeof t.message==="string"&&t.message){n+=t.message}else{n+=t}}else{n=t}super(n);this.name="ModuleBuildError";this.details=i;this.module=e;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleBuildError},528:(e,t,r)=>{"use strict";const n=r(391);const{cleanUp:s}=r(140);class ModuleError extends n{constructor(e,t,{from:r=null}={}){let n="Module Error";if(r){n+=` (from ${r}):\n`}else{n+=": "}if(t&&typeof t==="object"&&t.message){n+=t.message}else if(t){n+=t}super(n);this.name="ModuleError";this.module=e;this.error=t;this.details=t&&typeof t==="object"&&t.stack?s(t.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleError},500:(e,t,r)=>{"use strict";const n=r(391);class ModuleParseError extends n{constructor(e,t,r,n){let s="Module parse failed: "+r.message;let i=undefined;if(n.length>=1){s+=`\nFile was processed with these loaders:${n.map(e=>`\n * ${e}`).join("")}`;s+="\nYou may need an additional loader to handle the result of these loaders."}else{s+="\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"}if(r.loc&&typeof r.loc==="object"&&typeof r.loc.line==="number"){var o=r.loc.line;if(/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(t)){s+="\n(Source code omitted for this binary file)"}else{const e=t.split(/\r?\n/);const r=Math.max(0,o-3);const n=e.slice(r,o-1);const i=e[o-1];const u=e.slice(o,o+2);s+=n.map(e=>`\n| ${e}`).join("")+`\n> ${i}`+u.map(e=>`\n| ${e}`).join("")}i=r.loc}else{s+="\n"+r.stack}super(s);this.name="ModuleParseError";this.module=e;this.loc=i;this.error=r;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleParseError},576:e=>{"use strict";class ModuleReason{constructor(e,t,r){this.module=e;this.dependency=t;this.explanation=r;this._chunks=null}hasChunk(e){if(this._chunks){if(this._chunks.has(e))return true}else if(this.module&&this.module._chunks.has(e))return true;return false}rewriteChunks(e,t){if(!this._chunks){if(this.module){if(!this.module._chunks.has(e))return;this._chunks=new Set(this.module._chunks)}else{this._chunks=new Set}}if(this._chunks.has(e)){this._chunks.delete(e);for(let e=0;e{"use strict";const n=r(391);const{cleanUp:s}=r(140);class ModuleWarning extends n{constructor(e,t,{from:r=null}={}){let n="Module Warning";if(r){n+=` (from ${r}):\n`}else{n+=": "}if(t&&typeof t==="object"&&t.message){n+=t.message}else if(t){n+=t}super(n);this.name="ModuleWarning";this.module=e;this.warning=t;this.details=t&&typeof t==="object"&&t.stack?s(t.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleWarning},963:(e,t,r)=>{"use strict";const n=r(282);const{CachedSource:s,LineToLineMappedSource:i,OriginalSource:o,RawSource:u,SourceMapSource:c}=r(665);const{getContext:a,runLoaders:d}=r(278);const l=r(391);const f=r(993);const h=r(500);const p=r(72);const m=r(528);const g=r(372);const y=r(660);const _=r(658).tR;const w=e=>{if(Buffer.isBuffer(e)){return e.toString("utf-8")}return e};const M=e=>{if(!Buffer.isBuffer(e)){return Buffer.from(e,"utf-8")}return e};class NonErrorEmittedError extends l{constructor(e){super();this.name="NonErrorEmittedError";this.message="(Emitted value instead of an instance of Error) "+e;Error.captureStackTrace(this,this.constructor)}}class NormalModule extends f{constructor({type:e,request:t,userRequest:r,rawRequest:n,loaders:s,resource:i,matchResource:o,parser:u,generator:c,resolveOptions:d}){super(e,a(i));this.request=t;this.userRequest=r;this.rawRequest=n;this.binary=e.startsWith("webassembly");this.parser=u;this.generator=c;this.resource=i;this.matchResource=o;this.loaders=s;if(d!==undefined)this.resolveOptions=d;this.error=null;this._source=null;this._sourceSize=null;this._buildHash="";this.buildTimestamp=undefined;this._cachedSources=new Map;this.useSourceMap=false;this.lineToLine=false;this._lastSuccessfulBuildMeta={}}identifier(){return this.request}readableIdentifier(e){return e.shorten(this.userRequest)}libIdent(e){return _(e.context,this.userRequest)}nameForCondition(){const e=this.matchResource||this.resource;const t=e.indexOf("?");if(t>=0)return e.substr(0,t);return e}updateCacheModule(e){this.type=e.type;this.request=e.request;this.userRequest=e.userRequest;this.rawRequest=e.rawRequest;this.parser=e.parser;this.generator=e.generator;this.resource=e.resource;this.matchResource=e.matchResource;this.loaders=e.loaders;this.resolveOptions=e.resolveOptions}createSourceForAsset(e,t,r){if(!r){return new u(t)}if(typeof r==="string"){return new o(t,r)}return new c(t,e,r)}createLoaderContext(e,t,r,s){const i=r.runtimeTemplate.requestShortener;const o=()=>{const e=this.getCurrentLoader(u);if(!e)return"(not in loader scope)";return i.shorten(e.loader)};const u={version:2,emitWarning:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}this.warnings.push(new g(this,e,{from:o()}))},emitError:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}this.errors.push(new m(this,e,{from:o()}))},getLogger:e=>{const t=this.getCurrentLoader(u);return r.getLogger(()=>[t&&t.loader,e,this.identifier()].filter(Boolean).join("|"))},exec:(e,t)=>{const r=new n(t,this);r.paths=n._nodeModulePaths(this.context);r.filename=t;r._compile(e,t);return r.exports},resolve(t,r,n){e.resolve({},t,r,{},n)},getResolve(t){const r=t?e.withOptions(t):e;return(e,t,n)=>{if(n){r.resolve({},e,t,{},n)}else{return new Promise((n,s)=>{r.resolve({},e,t,{},(e,t)=>{if(e)s(e);else n(t)})})}}},emitFile:(e,t,r,n)=>{if(!this.buildInfo.assets){this.buildInfo.assets=Object.create(null);this.buildInfo.assetsInfo=new Map}this.buildInfo.assets[e]=this.createSourceForAsset(e,t,r);this.buildInfo.assetsInfo.set(e,n)},rootContext:t.context,webpack:true,sourceMap:!!this.useSourceMap,mode:t.mode||"production",_module:this,_compilation:r,_compiler:r.compiler,fs:s};r.hooks.normalModuleLoader.call(u,this);if(t.loader){Object.assign(u,t.loader)}return u}getCurrentLoader(e,t=e.loaderIndex){if(this.loaders&&this.loaders.length&&t=0&&this.loaders[t]){return this.loaders[t]}return null}createSource(e,t,r){if(!this.identifier){return new u(e)}const n=this.identifier();if(this.lineToLine&&t){return new i(e,n,w(t))}if(this.useSourceMap&&r){return new c(e,n,r)}if(Buffer.isBuffer(e)){return new u(e)}return new o(e,n)}doBuild(e,t,r,n,s){const i=this.createLoaderContext(r,e,t,n);d({resource:this.resource,loaders:this.loaders,context:i,readResource:n.readFile.bind(n)},(e,r)=>{if(r){this.buildInfo.cacheable=r.cacheable;this.buildInfo.fileDependencies=new Set(r.fileDependencies);this.buildInfo.contextDependencies=new Set(r.contextDependencies)}if(e){if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}const r=this.getCurrentLoader(i);const n=new p(this,e,{from:r&&t.runtimeTemplate.requestShortener.shorten(r.loader)});return s(n)}const n=r.resourceBuffer;const o=r.result[0];const u=r.result.length>=1?r.result[1]:null;const c=r.result.length>=2?r.result[2]:null;if(!Buffer.isBuffer(o)&&typeof o!=="string"){const e=this.getCurrentLoader(i,0);const r=new Error(`Final loader (${e?t.runtimeTemplate.requestShortener.shorten(e.loader):"unknown"}) didn't return a Buffer or String`);const n=new p(this,r);return s(n)}this._source=this.createSource(this.binary?M(o):w(o),n,u);this._sourceSize=null;this._ast=typeof c==="object"&&c!==null&&c.webpackAST!==undefined?c.webpackAST:null;return s()})}markModuleAsErrored(e){this.buildMeta=Object.assign({},this._lastSuccessfulBuildMeta);this.error=e;this.errors.push(this.error);this._source=new u("throw new Error("+JSON.stringify(this.error.message)+");");this._sourceSize=null;this._ast=null}applyNoParseRule(e,t){if(typeof e==="string"){return t.indexOf(e)===0}if(typeof e==="function"){return e(t)}return e.test(t)}shouldPreventParsing(e,t){if(!e){return false}if(!Array.isArray(e)){return this.applyNoParseRule(e,t)}for(let r=0;r{this._cachedSources.clear();if(r){this.markModuleAsErrored(r);this._initBuildHash(t);return s()}const n=e.module&&e.module.noParse;if(this.shouldPreventParsing(n,this.request)){this._initBuildHash(t);return s()}const i=r=>{const n=this._source.source();const i=this.loaders.map(t=>_(e.context,t.loader));const o=new h(this,n,r,i);this.markModuleAsErrored(o);this._initBuildHash(t);return s()};const o=e=>{this._lastSuccessfulBuildMeta=this.buildMeta;this._initBuildHash(t);return s()};try{const r=this.parser.parse(this._ast||this._source.source(),{current:this,module:this,compilation:t,options:e},(e,t)=>{if(e){i(e)}else{o(t)}});if(r!==undefined){o(r)}}catch(e){i(e)}})}getHashDigest(e){let t=e.get("hash");return`${this.hash}-${t}`}source(e,t,r="javascript"){const n=this.getHashDigest(e);const i=this._cachedSources.get(r);if(i!==undefined&&i.hash===n){return i.source}const o=this.generator.generate(this,e,t,r);const u=new s(o);this._cachedSources.set(r,{source:u,hash:n});return u}originalSource(){return this._source}needRebuild(e,t){if(this.error)return true;if(!this.buildInfo.cacheable)return true;for(const t of this.buildInfo.fileDependencies){const r=e.get(t);if(!r)return true;if(r>=this.buildTimestamp)return true}for(const e of this.buildInfo.contextDependencies){const r=t.get(e);if(!r)return true;if(r>=this.buildTimestamp)return true}return false}size(){if(this._sourceSize===null){this._sourceSize=this._source?this._source.size():-1}return this._sourceSize}updateHash(e){e.update(this._buildHash);super.updateHash(e)}}e.exports=NormalModule},66:(e,t,r)=>{const{ConcatSource:n}=r(665);const s=r(782);const i="a".charCodeAt(0);const o="A".charCodeAt(0);const u="z".charCodeAt(0)-i+1;const c=/^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;const a=/^\t/gm;const d=/\r?\n/g;const l=/^([^a-zA-Z$_])/;const f=/[^a-zA-Z0-9$]+/g;const h=/\*\//g;const p=/[^a-zA-Z0-9_!ยง$()=\-^ยฐ]+/g;const m=/^-|-$/g;const g=(e,t)=>{const r=e.id+"";const n=t.id+"";if(rn)return 1;return 0};class Template{static getFunctionContent(e){return e.toString().replace(c,"").replace(a,"").replace(d,"\n")}static toIdentifier(e){if(typeof e!=="string")return"";return e.replace(l,"_$1").replace(f,"_")}static toComment(e){if(!e)return"";return`/*! ${e.replace(h,"* /")} */`}static toNormalComment(e){if(!e)return"";return`/* ${e.replace(h,"* /")} */`}static toPath(e){if(typeof e!=="string")return"";return e.replace(p,"-").replace(m,"")}static numberToIdentifer(e){if(en.id)r=n.id}if(r<16+(""+r).length){r=0}const n=e.map(e=>(e.id+"").length+2).reduce((e,t)=>e+t,-1);const s=r===0?t:16+(""+r).length+t;return s{return{id:t.id,source:r.render(t,i,{chunk:e})}});if(a&&a.length>0){for(const e of a){d.push({id:e,source:"false"})}}const l=Template.getModulesArrayBounds(d);if(l){const e=l[0];const t=l[1];if(e!==0){u.add(`Array(${e}).concat(`)}u.add("[\n");const r=new Map;for(const e of d){r.set(e.id,e)}for(let n=e;n<=t;n++){const t=r.get(n);if(n!==e){u.add(",\n")}u.add(`/* ${n} */`);if(t){u.add("\n");u.add(t.source)}}u.add("\n"+o+"]");if(e!==0){u.add(")")}}else{u.add("{\n");d.sort(g).forEach((e,t)=>{if(t!==0){u.add(",\n")}u.add(`\n/***/ ${JSON.stringify(e.id)}:\n`);u.add(e.source)});u.add(`\n\n${o}}`)}return u}}e.exports=Template},391:(e,t,r)=>{"use strict";const n=r(669).inspect.custom;class WebpackError extends Error{constructor(e){super(e);this.details=undefined;this.missing=undefined;this.origin=undefined;this.dependencies=undefined;this.module=undefined;Error.captureStackTrace(this,this.constructor)}[n](){return this.stack+(this.details?`\n${this.details}`:"")}}e.exports=WebpackError},562:e=>{"use strict";e.exports=((e,t)=>{if(typeof e==="string"){if(typeof t==="string"){if(et)return 1;return 0}else if(typeof t==="object"){return 1}else{return 0}}else if(typeof e==="object"){if(typeof t==="string"){return-1}else if(typeof t==="object"){if("start"in e&&"start"in t){const r=e.start;const n=t.start;if(r.linen.line)return 1;if(r.columnn.column)return 1}if("name"in e&&"name"in t){if(e.namet.name)return 1}if("index"in e&&"index"in t){if(e.indext.index)return 1}return 0}else{return 0}}})},386:(e,t)=>{"use strict";const r=e=>`var e = new Error(${JSON.stringify(e)}); e.code = 'MODULE_NOT_FOUND';`;t.module=(e=>`!(function webpackMissingModule() { ${t.moduleCode(e)} }())`);t.promise=(e=>{const t=r(`Cannot find module '${e}'`);return`Promise.reject(function webpackMissingModule() { ${t} return e; }())`});t.moduleCode=(e=>{const t=r(`Cannot find module '${e}'`);return`${t} throw e;`})},743:(e,t,r)=>{"use strict";const n=r(705);const s=r(282).builtinModules||Object.keys(process.binding("natives"));class NodeTargetPlugin{apply(e){new n("commonjs",s).apply(e)}}e.exports=NodeTargetPlugin},262:(e,t)=>{"use strict";var r;const n=e=>{if(e.length===0)return new Set;if(e.length===1)return new Set(e[0]);let t=Infinity;let r=-1;for(let n=0;n{if(e.size{"use strict";class SortableSet extends Set{constructor(e,t){super(e);this._sortFn=t;this._lastActiveSortFn=null;this._cache=undefined;this._cacheOrderIndependent=undefined}add(e){this._lastActiveSortFn=null;this._invalidateCache();this._invalidateOrderedCache();super.add(e);return this}delete(e){this._invalidateCache();this._invalidateOrderedCache();return super.delete(e)}clear(){this._invalidateCache();this._invalidateOrderedCache();return super.clear()}sortWith(e){if(this.size<=1||e===this._lastActiveSortFn){return}const t=Array.from(this).sort(e);super.clear();for(let e=0;e{"use strict";const n=r(104);const s=1e3;class Hash{update(e,t){throw new n}digest(e){throw new n}}t.Hash=Hash;class BulkUpdateDecorator extends Hash{constructor(e){super();this.hash=e;this.buffer=""}update(e,t){if(t!==undefined||typeof e!=="string"||e.length>s){if(this.buffer.length>0){this.hash.update(this.buffer);this.buffer=""}this.hash.update(e,t)}else{this.buffer+=e;if(this.buffer.length>s){this.hash.update(this.buffer);this.buffer=""}}return this}digest(e){if(this.buffer.length>0){this.hash.update(this.buffer)}var t=this.hash.digest(e);return typeof t==="string"?t:t.toString()}}class DebugHash extends Hash{constructor(){super();this.string=""}update(e,t){if(typeof e!=="string")e=e.toString("utf-8");this.string+=e;return this}digest(e){return this.string.replace(/[^a-z0-9]+/gi,e=>Buffer.from(e).toString("hex"))}}e.exports=(e=>{if(typeof e==="function"){return new BulkUpdateDecorator(new e)}switch(e){case"debug":return new DebugHash;default:return new BulkUpdateDecorator(r(417).createHash(e))}})},658:(e,t,r)=>{"use strict";var n;const s=r(622);const i=(e,t)=>{if(t.startsWith("./")||t.startsWith("../"))return s.join(e,t);return t};const o=e=>{if(/^\/.*\/$/.test(e)){return false}return/^(?:[a-z]:\\|\/)/i.test(e)};const u=e=>e.replace(/\\/g,"/");const c=(e,t)=>{return t.split(/([|! ])/).map(t=>o(t)?u(s.relative(e,t)):t).join("")};n=((e,t,r)=>{if(!r)return c(e,t);const n=r.relativePaths||(r.relativePaths=new Map);let s;let i=n.get(e);if(i===undefined){n.set(e,i=new Map)}else{s=i.get(t)}if(s!==undefined){return s}else{const r=c(e,t);i.set(t,r);return r}});t.tR=((e,t)=>{return t.split("!").map(t=>{const r=t.split("?",2);if(/^[a-zA-Z]:\\/.test(r[0])){r[0]=s.win32.relative(e,r[0]);if(!/^[a-zA-Z]:\\/.test(r[0])){r[0]=r[0].replace(/\\/g,"/")}}if(/^\//.test(r[0])){r[0]=s.posix.relative(e,r[0])}if(!/^(\.\.\/|\/|[a-zA-Z]:\\)/.test(r[0])){r[0]="./"+r[0]}return r.join("?")}).join("!")});const a=(e,t)=>{return t.split("!").map(t=>i(e,t)).join("!")};n=a},612:e=>{"use strict";e.exports=require("./index.js")},417:e=>{"use strict";e.exports=require("crypto")},747:e=>{"use strict";e.exports=require("fs")},282:e=>{"use strict";e.exports=require("module")},443:e=>{"use strict";e.exports=require("next/dist/compiled/loader-utils")},286:e=>{"use strict";e.exports=require("next/dist/compiled/schema-utils3")},665:e=>{"use strict";e.exports=require("next/dist/compiled/webpack-sources")},515:e=>{"use strict";e.exports=require("next/dist/compiled/webpack/webpack")},622:e=>{"use strict";e.exports=require("path")},669:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){if(t[r]){return t[r].exports}var n=t[r]={exports:{}};var s=true;try{e[r](n,n.exports,__nccwpck_require__);s=false}finally{if(s)delete t[r]}return n.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(506)})(); \ No newline at end of file diff --git a/packages/next/compiled/mini-css-extract-plugin/package.json b/packages/next/compiled/mini-css-extract-plugin/package.json new file mode 100644 index 0000000000000..a7e15abf03ec9 --- /dev/null +++ b/packages/next/compiled/mini-css-extract-plugin/package.json @@ -0,0 +1 @@ +{"name":"mini-css-extract-plugin","main":"cjs.js","author":"Tobias Koppers @sokra","license":"MIT"} diff --git a/packages/next/compiled/webpack/NormalModule.js b/packages/next/compiled/webpack/NormalModule.js new file mode 100644 index 0000000000000..b14be58aa5e2c --- /dev/null +++ b/packages/next/compiled/webpack/NormalModule.js @@ -0,0 +1 @@ +module.exports = require('./webpack.js').NormalModule diff --git a/packages/next/compiled/webpack/bundle4.js b/packages/next/compiled/webpack/bundle4.js index abb768670e01f..dd249fd236dd3 100644 --- a/packages/next/compiled/webpack/bundle4.js +++ b/packages/next/compiled/webpack/bundle4.js @@ -130861,6 +130861,14 @@ module.exports = function () { NodeTargetPlugin: __webpack_require__(59743), ModuleFilenameHelpers: __webpack_require__(71474), GraphHelpers: __webpack_require__(32973), + Module: __webpack_require__(75993), + NormalModule: __webpack_require__(25963), + Dependency: __webpack_require__(57282), + LibraryTemplatePlugin: __webpack_require__(65237), + SingleEntryPlugin: __webpack_require__(19070), + node: __webpack_require__(92929).node, + util: __webpack_require__(92929).util, + optimize: __webpack_require__(92929).optimize, sources: __webpack_require__(53665), webpack: __webpack_require__(92929), package: { diff --git a/packages/next/compiled/webpack/bundle5.js b/packages/next/compiled/webpack/bundle5.js index 8540362320555..b4b7850b317ce 100644 --- a/packages/next/compiled/webpack/bundle5.js +++ b/packages/next/compiled/webpack/bundle5.js @@ -232,6 +232,4568 @@ module.exports = JSON.parse("{\"definitions\":{\"Consumes\":{\"description\":\"M "use strict"; module.exports = JSON.parse("{\"definitions\":{\"Provides\":{\"description\":\"Modules that should be provided as shared modules to the share scope. When provided, property name is used to match modules, otherwise this is automatically inferred from share key.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Modules that should be provided as shared modules to the share scope.\",\"anyOf\":[{\"$ref\":\"#/definitions/ProvidesItem\"},{\"$ref\":\"#/definitions/ProvidesObject\"}]}},{\"$ref\":\"#/definitions/ProvidesObject\"}]},\"ProvidesConfig\":{\"description\":\"Advanced configuration for modules that should be provided as shared modules to the share scope.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"eager\":{\"description\":\"Include the provided module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.\",\"type\":\"boolean\"},\"shareKey\":{\"description\":\"Key in the share scope under which the shared modules should be stored.\",\"type\":\"string\",\"minLength\":1},\"shareScope\":{\"description\":\"Share scope name.\",\"type\":\"string\",\"minLength\":1},\"version\":{\"description\":\"Version of the provided module. Will replace lower matching versions, but not higher.\",\"anyOf\":[{\"description\":\"Don't provide a version.\",\"enum\":[false]},{\"description\":\"Version as string. Each part of the version should be separated by a dot '.'.\",\"type\":\"string\"}]}}},\"ProvidesItem\":{\"description\":\"Request to a module that should be provided as shared module to the share scope (will be resolved when relative).\",\"type\":\"string\",\"minLength\":1},\"ProvidesObject\":{\"description\":\"Modules that should be provided as shared modules to the share scope. Property names are used as share keys.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Modules that should be provided as shared modules to the share scope.\",\"anyOf\":[{\"$ref\":\"#/definitions/ProvidesConfig\"},{\"$ref\":\"#/definitions/ProvidesItem\"}]}}},\"title\":\"ProvideSharedPluginOptions\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"provides\":{\"$ref\":\"#/definitions/Provides\"},\"shareScope\":{\"description\":\"Share scope name used for all provided modules (defaults to 'default').\",\"type\":\"string\",\"minLength\":1}},\"required\":[\"provides\"]}"); +/***/ }), + +/***/ 99736: +/***/ (function(module) { + +"use strict"; + + +class LoadingLoaderError extends Error { + constructor(message) { + super(message); + this.name = "LoaderRunnerError"; + Error.captureStackTrace(this, this.constructor); + } +} + +module.exports = LoadingLoaderError; + + +/***/ }), + +/***/ 73278: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +var fs = __webpack_require__(35747); +var readFile = fs.readFile.bind(fs); +var loadLoader = __webpack_require__(5384); + +function utf8BufferToString(buf) { + var str = buf.toString("utf-8"); + if(str.charCodeAt(0) === 0xFEFF) { + return str.substr(1); + } else { + return str; + } +} + +function splitQuery(req) { + var i = req.indexOf("?"); + if(i < 0) return [req, ""]; + return [req.substr(0, i), req.substr(i)]; +} + +function dirname(path) { + if(path === "/") return "/"; + var i = path.lastIndexOf("/"); + var j = path.lastIndexOf("\\"); + var i2 = path.indexOf("/"); + var j2 = path.indexOf("\\"); + var idx = i > j ? i : j; + var idx2 = i > j ? i2 : j2; + if(idx < 0) return path; + if(idx === idx2) return path.substr(0, idx + 1); + return path.substr(0, idx); +} + +function createLoaderObject(loader) { + var obj = { + path: null, + query: null, + options: null, + ident: null, + normal: null, + pitch: null, + raw: null, + data: null, + pitchExecuted: false, + normalExecuted: false + }; + Object.defineProperty(obj, "request", { + enumerable: true, + get: function() { + return obj.path + obj.query; + }, + set: function(value) { + if(typeof value === "string") { + var splittedRequest = splitQuery(value); + obj.path = splittedRequest[0]; + obj.query = splittedRequest[1]; + obj.options = undefined; + obj.ident = undefined; + } else { + if(!value.loader) + throw new Error("request should be a string or object with loader and object (" + JSON.stringify(value) + ")"); + obj.path = value.loader; + obj.options = value.options; + obj.ident = value.ident; + if(obj.options === null) + obj.query = ""; + else if(obj.options === undefined) + obj.query = ""; + else if(typeof obj.options === "string") + obj.query = "?" + obj.options; + else if(obj.ident) + obj.query = "??" + obj.ident; + else if(typeof obj.options === "object" && obj.options.ident) + obj.query = "??" + obj.options.ident; + else + obj.query = "?" + JSON.stringify(obj.options); + } + } + }); + obj.request = loader; + if(Object.preventExtensions) { + Object.preventExtensions(obj); + } + return obj; +} + +function runSyncOrAsync(fn, context, args, callback) { + var isSync = true; + var isDone = false; + var isError = false; // internal error + var reportedError = false; + context.async = function async() { + if(isDone) { + if(reportedError) return; // ignore + throw new Error("async(): The callback was already called."); + } + isSync = false; + return innerCallback; + }; + var innerCallback = context.callback = function() { + if(isDone) { + if(reportedError) return; // ignore + throw new Error("callback(): The callback was already called."); + } + isDone = true; + isSync = false; + try { + callback.apply(null, arguments); + } catch(e) { + isError = true; + throw e; + } + }; + try { + var result = (function LOADER_EXECUTION() { + return fn.apply(context, args); + }()); + if(isSync) { + isDone = true; + if(result === undefined) + return callback(); + if(result && typeof result === "object" && typeof result.then === "function") { + return result.then(function(r) { + callback(null, r); + }, callback); + } + return callback(null, result); + } + } catch(e) { + if(isError) throw e; + if(isDone) { + // loader is already "done", so we cannot use the callback function + // for better debugging we print the error on the console + if(typeof e === "object" && e.stack) console.error(e.stack); + else console.error(e); + return; + } + isDone = true; + reportedError = true; + callback(e); + } + +} + +function convertArgs(args, raw) { + if(!raw && Buffer.isBuffer(args[0])) + args[0] = utf8BufferToString(args[0]); + else if(raw && typeof args[0] === "string") + args[0] = new Buffer(args[0], "utf-8"); // eslint-disable-line +} + +function iteratePitchingLoaders(options, loaderContext, callback) { + // abort after last loader + if(loaderContext.loaderIndex >= loaderContext.loaders.length) + return processResource(options, loaderContext, callback); + + var currentLoaderObject = loaderContext.loaders[loaderContext.loaderIndex]; + + // iterate + if(currentLoaderObject.pitchExecuted) { + loaderContext.loaderIndex++; + return iteratePitchingLoaders(options, loaderContext, callback); + } + + // load loader module + loadLoader(currentLoaderObject, function(err) { + if(err) { + loaderContext.cacheable(false); + return callback(err); + } + var fn = currentLoaderObject.pitch; + currentLoaderObject.pitchExecuted = true; + if(!fn) return iteratePitchingLoaders(options, loaderContext, callback); + + runSyncOrAsync( + fn, + loaderContext, [loaderContext.remainingRequest, loaderContext.previousRequest, currentLoaderObject.data = {}], + function(err) { + if(err) return callback(err); + var args = Array.prototype.slice.call(arguments, 1); + if(args.length > 0) { + loaderContext.loaderIndex--; + iterateNormalLoaders(options, loaderContext, args, callback); + } else { + iteratePitchingLoaders(options, loaderContext, callback); + } + } + ); + }); +} + +function processResource(options, loaderContext, callback) { + // set loader index to last loader + loaderContext.loaderIndex = loaderContext.loaders.length - 1; + + var resourcePath = loaderContext.resourcePath; + if(resourcePath) { + loaderContext.addDependency(resourcePath); + options.readResource(resourcePath, function(err, buffer) { + if(err) return callback(err); + options.resourceBuffer = buffer; + iterateNormalLoaders(options, loaderContext, [buffer], callback); + }); + } else { + iterateNormalLoaders(options, loaderContext, [null], callback); + } +} + +function iterateNormalLoaders(options, loaderContext, args, callback) { + if(loaderContext.loaderIndex < 0) + return callback(null, args); + + var currentLoaderObject = loaderContext.loaders[loaderContext.loaderIndex]; + + // iterate + if(currentLoaderObject.normalExecuted) { + loaderContext.loaderIndex--; + return iterateNormalLoaders(options, loaderContext, args, callback); + } + + var fn = currentLoaderObject.normal; + currentLoaderObject.normalExecuted = true; + if(!fn) { + return iterateNormalLoaders(options, loaderContext, args, callback); + } + + convertArgs(args, currentLoaderObject.raw); + + runSyncOrAsync(fn, loaderContext, args, function(err) { + if(err) return callback(err); + + var args = Array.prototype.slice.call(arguments, 1); + iterateNormalLoaders(options, loaderContext, args, callback); + }); +} + +exports.getContext = function getContext(resource) { + var splitted = splitQuery(resource); + return dirname(splitted[0]); +}; + +exports.runLoaders = function runLoaders(options, callback) { + // read options + var resource = options.resource || ""; + var loaders = options.loaders || []; + var loaderContext = options.context || {}; + var readResource = options.readResource || readFile; + + // + var splittedResource = resource && splitQuery(resource); + var resourcePath = splittedResource ? splittedResource[0] : undefined; + var resourceQuery = splittedResource ? splittedResource[1] : undefined; + var contextDirectory = resourcePath ? dirname(resourcePath) : null; + + // execution state + var requestCacheable = true; + var fileDependencies = []; + var contextDependencies = []; + + // prepare loader objects + loaders = loaders.map(createLoaderObject); + + loaderContext.context = contextDirectory; + loaderContext.loaderIndex = 0; + loaderContext.loaders = loaders; + loaderContext.resourcePath = resourcePath; + loaderContext.resourceQuery = resourceQuery; + loaderContext.async = null; + loaderContext.callback = null; + loaderContext.cacheable = function cacheable(flag) { + if(flag === false) { + requestCacheable = false; + } + }; + loaderContext.dependency = loaderContext.addDependency = function addDependency(file) { + fileDependencies.push(file); + }; + loaderContext.addContextDependency = function addContextDependency(context) { + contextDependencies.push(context); + }; + loaderContext.getDependencies = function getDependencies() { + return fileDependencies.slice(); + }; + loaderContext.getContextDependencies = function getContextDependencies() { + return contextDependencies.slice(); + }; + loaderContext.clearDependencies = function clearDependencies() { + fileDependencies.length = 0; + contextDependencies.length = 0; + requestCacheable = true; + }; + Object.defineProperty(loaderContext, "resource", { + enumerable: true, + get: function() { + if(loaderContext.resourcePath === undefined) + return undefined; + return loaderContext.resourcePath + loaderContext.resourceQuery; + }, + set: function(value) { + var splittedResource = value && splitQuery(value); + loaderContext.resourcePath = splittedResource ? splittedResource[0] : undefined; + loaderContext.resourceQuery = splittedResource ? splittedResource[1] : undefined; + } + }); + Object.defineProperty(loaderContext, "request", { + enumerable: true, + get: function() { + return loaderContext.loaders.map(function(o) { + return o.request; + }).concat(loaderContext.resource || "").join("!"); + } + }); + Object.defineProperty(loaderContext, "remainingRequest", { + enumerable: true, + get: function() { + if(loaderContext.loaderIndex >= loaderContext.loaders.length - 1 && !loaderContext.resource) + return ""; + return loaderContext.loaders.slice(loaderContext.loaderIndex + 1).map(function(o) { + return o.request; + }).concat(loaderContext.resource || "").join("!"); + } + }); + Object.defineProperty(loaderContext, "currentRequest", { + enumerable: true, + get: function() { + return loaderContext.loaders.slice(loaderContext.loaderIndex).map(function(o) { + return o.request; + }).concat(loaderContext.resource || "").join("!"); + } + }); + Object.defineProperty(loaderContext, "previousRequest", { + enumerable: true, + get: function() { + return loaderContext.loaders.slice(0, loaderContext.loaderIndex).map(function(o) { + return o.request; + }).join("!"); + } + }); + Object.defineProperty(loaderContext, "query", { + enumerable: true, + get: function() { + var entry = loaderContext.loaders[loaderContext.loaderIndex]; + return entry.options && typeof entry.options === "object" ? entry.options : entry.query; + } + }); + Object.defineProperty(loaderContext, "data", { + enumerable: true, + get: function() { + return loaderContext.loaders[loaderContext.loaderIndex].data; + } + }); + + // finish loader context + if(Object.preventExtensions) { + Object.preventExtensions(loaderContext); + } + + var processOptions = { + resourceBuffer: null, + readResource: readResource + }; + iteratePitchingLoaders(processOptions, loaderContext, function(err, result) { + if(err) { + return callback(err, { + cacheable: requestCacheable, + fileDependencies: fileDependencies, + contextDependencies: contextDependencies + }); + } + callback(null, { + result: result, + resourceBuffer: processOptions.resourceBuffer, + cacheable: requestCacheable, + fileDependencies: fileDependencies, + contextDependencies: contextDependencies + }); + }); +}; + + +/***/ }), + +/***/ 5384: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var LoaderLoadingError = __webpack_require__(99736); + +module.exports = function loadLoader(loader, callback) { + if(typeof System === "object" && typeof System.import === "function") { + System.import(loader.path).catch(callback).then(function(module) { + loader.normal = typeof module === "function" ? module : module.default; + loader.pitch = module.pitch; + loader.raw = module.raw; + if(typeof loader.normal !== "function" && typeof loader.pitch !== "function") { + return callback(new LoaderLoadingError( + "Module '" + loader.path + "' is not a loader (must have normal or pitch function)" + )); + } + callback(); + }); + } else { + try { + var module = require(loader.path); + } catch(e) { + // it is possible for node to choke on a require if the FD descriptor + // limit has been reached. give it a chance to recover. + if(e instanceof Error && e.code === "EMFILE") { + var retry = loadLoader.bind(null, loader, callback); + if(typeof setImmediate === "function") { + // node >= 0.9.0 + return setImmediate(retry); + } else { + // node < 0.9.0 + return process.nextTick(retry); + } + } + return callback(e); + } + if(typeof module !== "function" && typeof module !== "object") { + return callback(new LoaderLoadingError( + "Module '" + loader.path + "' is not a loader (export function or es6 module)" + )); + } + loader.normal = typeof module === "function" ? module : module.default; + loader.pitch = module.pitch; + loader.raw = module.raw; + if(typeof loader.normal !== "function" && typeof loader.pitch !== "function") { + return callback(new LoaderLoadingError( + "Module '" + loader.path + "' is not a loader (must have normal or pitch function)" + )); + } + callback(); + } +}; + + +/***/ }), + +/***/ 36104: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const WebpackError = __webpack_require__(97391); +const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/; + +/** + * @param {string=} method method name + * @returns {string} message + */ +function createMessage(method) { + return `Abstract method${method ? " " + method : ""}. Must be overridden.`; +} + +/** + * @constructor + */ +function Message() { + this.stack = undefined; + Error.captureStackTrace(this); + /** @type {RegExpMatchArray} */ + const match = this.stack.split("\n")[3].match(CURRENT_METHOD_REGEXP); + + this.message = match && match[1] ? createMessage(match[1]) : createMessage(); +} + +/** + * Error for abstract method + * @example + * class FooClass { + * abstractMethod() { + * throw new AbstractMethodError(); // error message: Abstract method FooClass.abstractMethod. Must be overriden. + * } + * } + * + */ +class AbstractMethodError extends WebpackError { + constructor() { + super(new Message().message); + this.name = "AbstractMethodError"; + } +} + +module.exports = AbstractMethodError; + + +/***/ }), + +/***/ 2919: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* +MIT License http://www.opensource.org/licenses/mit-license.php +Author Tobias Koppers @sokra +*/ + + +const util = __webpack_require__(31669); +const SortableSet = __webpack_require__(50071); +const intersect = __webpack_require__(54262)/* .intersect */ .w; +const GraphHelpers = __webpack_require__(32973); +const Entrypoint = __webpack_require__(71931); +let debugId = 1000; +const ERR_CHUNK_ENTRY = "Chunk.entry was removed. Use hasRuntime()"; +const ERR_CHUNK_INITIAL = + "Chunk.initial was removed. Use canBeInitial/isOnlyInitial()"; + +/** @typedef {import("./Module")} Module */ +/** @typedef {import("./ChunkGroup")} ChunkGroup */ +/** @typedef {import("./ModuleReason")} ModuleReason */ +/** @typedef {import("webpack-sources").Source} Source */ +/** @typedef {import("./util/createHash").Hash} Hash */ + +/** + * @typedef {Object} WithId an object who has an id property * + * @property {string | number} id the id of the object + */ + +/** + * Compare two Modules based on their ids for sorting + * @param {Module} a module + * @param {Module} b module + * @returns {-1|0|1} sort value + */ + +// TODO use @callback +/** @typedef {(a: Module, b: Module) => -1|0|1} ModuleSortPredicate */ +/** @typedef {(m: Module) => boolean} ModuleFilterPredicate */ +/** @typedef {(c: Chunk) => boolean} ChunkFilterPredicate */ + +const sortModuleById = (a, b) => { + if (a.id < b.id) return -1; + if (b.id < a.id) return 1; + return 0; +}; + +/** + * Compare two ChunkGroups based on their ids for sorting + * @param {ChunkGroup} a chunk group + * @param {ChunkGroup} b chunk group + * @returns {-1|0|1} sort value + */ +const sortChunkGroupById = (a, b) => { + if (a.id < b.id) return -1; + if (b.id < a.id) return 1; + return 0; +}; + +/** + * Compare two Identifiables , based on their ids for sorting + * @param {Module} a first object with ident fn + * @param {Module} b second object with ident fn + * @returns {-1|0|1} The order number of the sort + */ +const sortByIdentifier = (a, b) => { + if (a.identifier() > b.identifier()) return 1; + if (a.identifier() < b.identifier()) return -1; + return 0; +}; + +/** + * @returns {string} a concatenation of module identifiers sorted + * @param {SortableSet} set to pull module identifiers from + */ +const getModulesIdent = set => { + set.sort(); + let str = ""; + for (const m of set) { + str += m.identifier() + "#"; + } + return str; +}; + +/** + * @template T + * @param {SortableSet} set the sortable set to convert to array + * @returns {Array} the array returned from Array.from(set) + */ +const getArray = set => Array.from(set); + +/** + * @param {SortableSet} set the sortable Set to get the count/size of + * @returns {number} the size of the modules + */ +const getModulesSize = set => { + let size = 0; + for (const module of set) { + size += module.size(); + } + return size; +}; + +/** + * A Chunk is a unit of encapsulation for Modules. + * Chunks are "rendered" into bundles that get emitted when the build completes. + */ +class Chunk { + /** + * @param {string=} name of chunk being created, is optional (for subclasses) + */ + constructor(name) { + /** @type {number | null} */ + this.id = null; + /** @type {number[] | null} */ + this.ids = null; + /** @type {number} */ + this.debugId = debugId++; + /** @type {string} */ + this.name = name; + /** @type {boolean} */ + this.preventIntegration = false; + /** @type {Module=} */ + this.entryModule = undefined; + /** @private @type {SortableSet} */ + this._modules = new SortableSet(undefined, sortByIdentifier); + /** @type {string?} */ + this.filenameTemplate = undefined; + /** @private @type {SortableSet} */ + this._groups = new SortableSet(undefined, sortChunkGroupById); + /** @type {string[]} */ + this.files = []; + /** @type {boolean} */ + this.rendered = false; + /** @type {string=} */ + this.hash = undefined; + /** @type {Object} */ + this.contentHash = Object.create(null); + /** @type {string=} */ + this.renderedHash = undefined; + /** @type {string=} */ + this.chunkReason = undefined; + /** @type {boolean} */ + this.extraAsync = false; + this.removedModules = undefined; + } + + /** + * @deprecated Chunk.entry has been deprecated. Please use .hasRuntime() instead + * @returns {never} Throws an error trying to access this property + */ + get entry() { + throw new Error(ERR_CHUNK_ENTRY); + } + + /** + * @deprecated .entry has been deprecated. Please use .hasRuntime() instead + * @param {never} data The data that was attempting to be set + * @returns {never} Throws an error trying to access this property + */ + set entry(data) { + throw new Error(ERR_CHUNK_ENTRY); + } + + /** + * @deprecated Chunk.initial was removed. Use canBeInitial/isOnlyInitial() + * @returns {never} Throws an error trying to access this property + */ + get initial() { + throw new Error(ERR_CHUNK_INITIAL); + } + + /** + * @deprecated Chunk.initial was removed. Use canBeInitial/isOnlyInitial() + * @param {never} data The data attempting to be set + * @returns {never} Throws an error trying to access this property + */ + set initial(data) { + throw new Error(ERR_CHUNK_INITIAL); + } + + /** + * @returns {boolean} whether or not the Chunk will have a runtime + */ + hasRuntime() { + for (const chunkGroup of this._groups) { + if ( + chunkGroup.isInitial() && + chunkGroup instanceof Entrypoint && + chunkGroup.getRuntimeChunk() === this + ) { + return true; + } + } + return false; + } + + /** + * @returns {boolean} whether or not this chunk can be an initial chunk + */ + canBeInitial() { + for (const chunkGroup of this._groups) { + if (chunkGroup.isInitial()) return true; + } + return false; + } + + /** + * @returns {boolean} whether this chunk can only be an initial chunk + */ + isOnlyInitial() { + if (this._groups.size <= 0) return false; + for (const chunkGroup of this._groups) { + if (!chunkGroup.isInitial()) return false; + } + return true; + } + + /** + * @returns {boolean} if this chunk contains the entry module + */ + hasEntryModule() { + return !!this.entryModule; + } + + /** + * @param {Module} module the module that will be added to this chunk. + * @returns {boolean} returns true if the chunk doesn't have the module and it was added + */ + addModule(module) { + if (!this._modules.has(module)) { + this._modules.add(module); + return true; + } + return false; + } + + /** + * @param {Module} module the module that will be removed from this chunk + * @returns {boolean} returns true if chunk exists and is successfully deleted + */ + removeModule(module) { + if (this._modules.delete(module)) { + module.removeChunk(this); + return true; + } + return false; + } + + /** + * @param {Module[]} modules the new modules to be set + * @returns {void} set new modules to this chunk and return nothing + */ + setModules(modules) { + this._modules = new SortableSet(modules, sortByIdentifier); + } + + /** + * @returns {number} the amount of modules in chunk + */ + getNumberOfModules() { + return this._modules.size; + } + + /** + * @returns {SortableSet} return the modules SortableSet for this chunk + */ + get modulesIterable() { + return this._modules; + } + + /** + * @param {ChunkGroup} chunkGroup the chunkGroup the chunk is being added + * @returns {boolean} returns true if chunk is not apart of chunkGroup and is added successfully + */ + addGroup(chunkGroup) { + if (this._groups.has(chunkGroup)) return false; + this._groups.add(chunkGroup); + return true; + } + + /** + * @param {ChunkGroup} chunkGroup the chunkGroup the chunk is being removed from + * @returns {boolean} returns true if chunk does exist in chunkGroup and is removed + */ + removeGroup(chunkGroup) { + if (!this._groups.has(chunkGroup)) return false; + this._groups.delete(chunkGroup); + return true; + } + + /** + * @param {ChunkGroup} chunkGroup the chunkGroup to check + * @returns {boolean} returns true if chunk has chunkGroup reference and exists in chunkGroup + */ + isInGroup(chunkGroup) { + return this._groups.has(chunkGroup); + } + + /** + * @returns {number} the amount of groups said chunk is in + */ + getNumberOfGroups() { + return this._groups.size; + } + + /** + * @returns {SortableSet} the chunkGroups that said chunk is referenced in + */ + get groupsIterable() { + return this._groups; + } + + /** + * @param {Chunk} otherChunk the chunk to compare itself with + * @returns {-1|0|1} this is a comparitor function like sort and returns -1, 0, or 1 based on sort order + */ + compareTo(otherChunk) { + if (this.name && !otherChunk.name) return -1; + if (!this.name && otherChunk.name) return 1; + if (this.name < otherChunk.name) return -1; + if (this.name > otherChunk.name) return 1; + if (this._modules.size > otherChunk._modules.size) return -1; + if (this._modules.size < otherChunk._modules.size) return 1; + this._modules.sort(); + otherChunk._modules.sort(); + const a = this._modules[Symbol.iterator](); + const b = otherChunk._modules[Symbol.iterator](); + // eslint-disable-next-line no-constant-condition + while (true) { + const aItem = a.next(); + if (aItem.done) return 0; + const bItem = b.next(); + const aModuleIdentifier = aItem.value.identifier(); + const bModuleIdentifier = bItem.value.identifier(); + if (aModuleIdentifier < bModuleIdentifier) return -1; + if (aModuleIdentifier > bModuleIdentifier) return 1; + } + } + + /** + * @param {Module} module Module to check + * @returns {boolean} returns true if module does exist in this chunk + */ + containsModule(module) { + return this._modules.has(module); + } + + /** + * @returns {Module[]} an array of modules (do not modify) + */ + getModules() { + return this._modules.getFromCache(getArray); + } + + getModulesIdent() { + return this._modules.getFromUnorderedCache(getModulesIdent); + } + + /** + * @param {string=} reason reason why chunk is removed + * @returns {void} + */ + remove(reason) { + // cleanup modules + // Array.from is used here to create a clone, because removeChunk modifies this._modules + for (const module of Array.from(this._modules)) { + module.removeChunk(this); + } + for (const chunkGroup of this._groups) { + chunkGroup.removeChunk(this); + } + } + + /** + * + * @param {Module} module module to move + * @param {Chunk} otherChunk other chunk to move it to + * @returns {void} + */ + moveModule(module, otherChunk) { + GraphHelpers.disconnectChunkAndModule(this, module); + GraphHelpers.connectChunkAndModule(otherChunk, module); + module.rewriteChunkInReasons(this, [otherChunk]); + } + + /** + * + * @param {Chunk} otherChunk the chunk to integrate with + * @param {string} reason reason why the module is being integrated + * @returns {boolean} returns true or false if integration succeeds or fails + */ + integrate(otherChunk, reason) { + if (!this.canBeIntegrated(otherChunk)) { + return false; + } + + // Pick a new name for the integrated chunk + if (this.name && otherChunk.name) { + if (this.hasEntryModule() === otherChunk.hasEntryModule()) { + // When both chunks have entry modules or none have one, use + // shortest name + if (this.name.length !== otherChunk.name.length) { + this.name = + this.name.length < otherChunk.name.length + ? this.name + : otherChunk.name; + } else { + this.name = this.name < otherChunk.name ? this.name : otherChunk.name; + } + } else if (otherChunk.hasEntryModule()) { + // Pick the name of the chunk with the entry module + this.name = otherChunk.name; + } + } else if (otherChunk.name) { + this.name = otherChunk.name; + } + + // Array.from is used here to create a clone, because moveModule modifies otherChunk._modules + for (const module of Array.from(otherChunk._modules)) { + otherChunk.moveModule(module, this); + } + otherChunk._modules.clear(); + + if (otherChunk.entryModule) { + this.entryModule = otherChunk.entryModule; + } + + for (const chunkGroup of otherChunk._groups) { + chunkGroup.replaceChunk(otherChunk, this); + this.addGroup(chunkGroup); + } + otherChunk._groups.clear(); + + return true; + } + + /** + * @param {Chunk} newChunk the new chunk that will be split out of the current chunk + * @returns {void} + */ + split(newChunk) { + for (const chunkGroup of this._groups) { + chunkGroup.insertChunk(newChunk, this); + newChunk.addGroup(chunkGroup); + } + } + + isEmpty() { + return this._modules.size === 0; + } + + updateHash(hash) { + hash.update(`${this.id} `); + hash.update(this.ids ? this.ids.join(",") : ""); + hash.update(`${this.name || ""} `); + for (const m of this._modules) { + hash.update(m.hash); + } + } + + canBeIntegrated(otherChunk) { + if (this.preventIntegration || otherChunk.preventIntegration) { + return false; + } + + /** + * @param {Chunk} a chunk + * @param {Chunk} b chunk + * @returns {boolean} true, if a is always available when b is reached + */ + const isAvailable = (a, b) => { + const queue = new Set(b.groupsIterable); + for (const chunkGroup of queue) { + if (a.isInGroup(chunkGroup)) continue; + if (chunkGroup.isInitial()) return false; + for (const parent of chunkGroup.parentsIterable) { + queue.add(parent); + } + } + return true; + }; + + const selfHasRuntime = this.hasRuntime(); + const otherChunkHasRuntime = otherChunk.hasRuntime(); + + if (selfHasRuntime !== otherChunkHasRuntime) { + if (selfHasRuntime) { + return isAvailable(this, otherChunk); + } else if (otherChunkHasRuntime) { + return isAvailable(otherChunk, this); + } else { + return false; + } + } + + if (this.hasEntryModule() || otherChunk.hasEntryModule()) { + return false; + } + + return true; + } + + /** + * + * @param {number} size the size + * @param {Object} options the options passed in + * @returns {number} the multiplier returned + */ + addMultiplierAndOverhead(size, options) { + const overhead = + typeof options.chunkOverhead === "number" ? options.chunkOverhead : 10000; + const multiplicator = this.canBeInitial() + ? options.entryChunkMultiplicator || 10 + : 1; + + return size * multiplicator + overhead; + } + + /** + * @returns {number} the size of all modules + */ + modulesSize() { + return this._modules.getFromUnorderedCache(getModulesSize); + } + + /** + * @param {Object} options the size display options + * @returns {number} the chunk size + */ + size(options = {}) { + return this.addMultiplierAndOverhead(this.modulesSize(), options); + } + + /** + * @param {Chunk} otherChunk the other chunk + * @param {TODO} options the options for this function + * @returns {number | false} the size, or false if it can't be integrated + */ + integratedSize(otherChunk, options) { + // Chunk if it's possible to integrate this chunk + if (!this.canBeIntegrated(otherChunk)) { + return false; + } + + let integratedModulesSize = this.modulesSize(); + // only count modules that do not exist in this chunk! + for (const otherModule of otherChunk._modules) { + if (!this._modules.has(otherModule)) { + integratedModulesSize += otherModule.size(); + } + } + + return this.addMultiplierAndOverhead(integratedModulesSize, options); + } + + /** + * @param {function(Module, Module): -1|0|1=} sortByFn a predicate function used to sort modules + * @returns {void} + */ + sortModules(sortByFn) { + this._modules.sortWith(sortByFn || sortModuleById); + } + + sortItems() { + this.sortModules(); + } + + /** + * @returns {Set} a set of all the async chunks + */ + getAllAsyncChunks() { + const queue = new Set(); + const chunks = new Set(); + + const initialChunks = intersect( + Array.from(this.groupsIterable, g => new Set(g.chunks)) + ); + + for (const chunkGroup of this.groupsIterable) { + for (const child of chunkGroup.childrenIterable) { + queue.add(child); + } + } + + for (const chunkGroup of queue) { + for (const chunk of chunkGroup.chunks) { + if (!initialChunks.has(chunk)) { + chunks.add(chunk); + } + } + for (const child of chunkGroup.childrenIterable) { + queue.add(child); + } + } + + return chunks; + } + + /** + * @typedef {Object} ChunkMaps + * @property {Record} hash + * @property {Record>} contentHash + * @property {Record} name + */ + + /** + * @param {boolean} realHash should the full hash or the rendered hash be used + * @returns {ChunkMaps} the chunk map information + */ + getChunkMaps(realHash) { + /** @type {Record} */ + const chunkHashMap = Object.create(null); + /** @type {Record>} */ + const chunkContentHashMap = Object.create(null); + /** @type {Record} */ + const chunkNameMap = Object.create(null); + + for (const chunk of this.getAllAsyncChunks()) { + chunkHashMap[chunk.id] = realHash ? chunk.hash : chunk.renderedHash; + for (const key of Object.keys(chunk.contentHash)) { + if (!chunkContentHashMap[key]) { + chunkContentHashMap[key] = Object.create(null); + } + chunkContentHashMap[key][chunk.id] = chunk.contentHash[key]; + } + if (chunk.name) { + chunkNameMap[chunk.id] = chunk.name; + } + } + + return { + hash: chunkHashMap, + contentHash: chunkContentHashMap, + name: chunkNameMap + }; + } + + /** + * @returns {Record[]>} a record object of names to lists of child ids(?) + */ + getChildIdsByOrders() { + const lists = new Map(); + for (const group of this.groupsIterable) { + if (group.chunks[group.chunks.length - 1] === this) { + for (const childGroup of group.childrenIterable) { + // TODO webpack 5 remove this check for options + if (typeof childGroup.options === "object") { + for (const key of Object.keys(childGroup.options)) { + if (key.endsWith("Order")) { + const name = key.substr(0, key.length - "Order".length); + let list = lists.get(name); + if (list === undefined) lists.set(name, (list = [])); + list.push({ + order: childGroup.options[key], + group: childGroup + }); + } + } + } + } + } + } + const result = Object.create(null); + for (const [name, list] of lists) { + list.sort((a, b) => { + const cmp = b.order - a.order; + if (cmp !== 0) return cmp; + // TODO webpack 5 remove this check of compareTo + if (a.group.compareTo) { + return a.group.compareTo(b.group); + } + return 0; + }); + result[name] = Array.from( + list.reduce((set, item) => { + for (const chunk of item.group.chunks) { + set.add(chunk.id); + } + return set; + }, new Set()) + ); + } + return result; + } + + getChildIdsByOrdersMap(includeDirectChildren) { + const chunkMaps = Object.create(null); + + const addChildIdsByOrdersToMap = chunk => { + const data = chunk.getChildIdsByOrders(); + for (const key of Object.keys(data)) { + let chunkMap = chunkMaps[key]; + if (chunkMap === undefined) { + chunkMaps[key] = chunkMap = Object.create(null); + } + chunkMap[chunk.id] = data[key]; + } + }; + + if (includeDirectChildren) { + const chunks = new Set(); + for (const chunkGroup of this.groupsIterable) { + for (const chunk of chunkGroup.chunks) { + chunks.add(chunk); + } + } + for (const chunk of chunks) { + addChildIdsByOrdersToMap(chunk); + } + } + + for (const chunk of this.getAllAsyncChunks()) { + addChildIdsByOrdersToMap(chunk); + } + + return chunkMaps; + } + + /** + * @typedef {Object} ChunkModuleMaps + * @property {Record} id + * @property {Record} hash + */ + + /** + * @param {ModuleFilterPredicate} filterFn function used to filter modules + * @returns {ChunkModuleMaps} module map information + */ + getChunkModuleMaps(filterFn) { + /** @type {Record} */ + const chunkModuleIdMap = Object.create(null); + /** @type {Record} */ + const chunkModuleHashMap = Object.create(null); + + for (const chunk of this.getAllAsyncChunks()) { + /** @type {(string|number)[]} */ + let array; + for (const module of chunk.modulesIterable) { + if (filterFn(module)) { + if (array === undefined) { + array = []; + chunkModuleIdMap[chunk.id] = array; + } + array.push(module.id); + chunkModuleHashMap[module.id] = module.renderedHash; + } + } + if (array !== undefined) { + array.sort(); + } + } + + return { + id: chunkModuleIdMap, + hash: chunkModuleHashMap + }; + } + + /** + * + * @param {function(Module): boolean} filterFn predicate function used to filter modules + * @param {function(Chunk): boolean} filterChunkFn predicate function used to filter chunks + * @returns {boolean} return true if module exists in graph + */ + hasModuleInGraph(filterFn, filterChunkFn) { + const queue = new Set(this.groupsIterable); + const chunksProcessed = new Set(); + + for (const chunkGroup of queue) { + for (const chunk of chunkGroup.chunks) { + if (!chunksProcessed.has(chunk)) { + chunksProcessed.add(chunk); + if (!filterChunkFn || filterChunkFn(chunk)) { + for (const module of chunk.modulesIterable) { + if (filterFn(module)) { + return true; + } + } + } + } + } + for (const child of chunkGroup.childrenIterable) { + queue.add(child); + } + } + return false; + } + + toString() { + return `Chunk[${Array.from(this._modules).join()}]`; + } +} + +// TODO remove in webpack 5 +Object.defineProperty(Chunk.prototype, "forEachModule", { + configurable: false, + value: util.deprecate( + /** + * @deprecated + * @this {Chunk} + * @typedef {function(any, any, Set): void} ForEachModuleCallback + * @param {ForEachModuleCallback} fn Callback function + * @returns {void} + */ + function(fn) { + this._modules.forEach(fn); + }, + "Chunk.forEachModule: Use for(const module of chunk.modulesIterable) instead" + ) +}); + +// TODO remove in webpack 5 +Object.defineProperty(Chunk.prototype, "mapModules", { + configurable: false, + value: util.deprecate( + /** + * @deprecated + * @this {Chunk} + * @typedef {function(any, number): any} MapModulesCallback + * @param {MapModulesCallback} fn Callback function + * @returns {TODO[]} result of mapped modules + */ + function(fn) { + return Array.from(this._modules, fn); + }, + "Chunk.mapModules: Use Array.from(chunk.modulesIterable, fn) instead" + ) +}); + +// TODO remove in webpack 5 +Object.defineProperty(Chunk.prototype, "chunks", { + configurable: false, + get() { + throw new Error("Chunk.chunks: Use ChunkGroup.getChildren() instead"); + }, + set() { + throw new Error("Chunk.chunks: Use ChunkGroup.add/removeChild() instead"); + } +}); + +// TODO remove in webpack 5 +Object.defineProperty(Chunk.prototype, "parents", { + configurable: false, + get() { + throw new Error("Chunk.parents: Use ChunkGroup.getParents() instead"); + }, + set() { + throw new Error("Chunk.parents: Use ChunkGroup.add/removeParent() instead"); + } +}); + +// TODO remove in webpack 5 +Object.defineProperty(Chunk.prototype, "blocks", { + configurable: false, + get() { + throw new Error("Chunk.blocks: Use ChunkGroup.getBlocks() instead"); + }, + set() { + throw new Error("Chunk.blocks: Use ChunkGroup.add/removeBlock() instead"); + } +}); + +// TODO remove in webpack 5 +Object.defineProperty(Chunk.prototype, "entrypoints", { + configurable: false, + get() { + throw new Error( + "Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead" + ); + }, + set() { + throw new Error("Chunk.entrypoints: Use Chunks.addGroup instead"); + } +}); + +module.exports = Chunk; + + +/***/ }), + +/***/ 52911: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const SortableSet = __webpack_require__(50071); +const compareLocations = __webpack_require__(22562); + +/** @typedef {import("./Chunk")} Chunk */ +/** @typedef {import("./Module")} Module */ +/** @typedef {import("./ModuleReason")} ModuleReason */ + +/** @typedef {{module: Module, loc: TODO, request: string}} OriginRecord */ +/** @typedef {string|{name: string}} ChunkGroupOptions */ + +let debugId = 5000; + +/** + * @template T + * @param {SortableSet} set set to convert to array. + * @returns {T[]} the array format of existing set + */ +const getArray = set => Array.from(set); + +/** + * A convenience method used to sort chunks based on their id's + * @param {ChunkGroup} a first sorting comparator + * @param {ChunkGroup} b second sorting comparator + * @returns {1|0|-1} a sorting index to determine order + */ +const sortById = (a, b) => { + if (a.id < b.id) return -1; + if (b.id < a.id) return 1; + return 0; +}; + +/** + * @param {OriginRecord} a the first comparator in sort + * @param {OriginRecord} b the second comparator in sort + * @returns {1|-1|0} returns sorting order as index + */ +const sortOrigin = (a, b) => { + const aIdent = a.module ? a.module.identifier() : ""; + const bIdent = b.module ? b.module.identifier() : ""; + if (aIdent < bIdent) return -1; + if (aIdent > bIdent) return 1; + return compareLocations(a.loc, b.loc); +}; + +class ChunkGroup { + /** + * Creates an instance of ChunkGroup. + * @param {ChunkGroupOptions=} options chunk group options passed to chunkGroup + */ + constructor(options) { + if (typeof options === "string") { + options = { name: options }; + } else if (!options) { + options = { name: undefined }; + } + /** @type {number} */ + this.groupDebugId = debugId++; + this.options = options; + /** @type {SortableSet} */ + this._children = new SortableSet(undefined, sortById); + this._parents = new SortableSet(undefined, sortById); + this._blocks = new SortableSet(); + /** @type {Chunk[]} */ + this.chunks = []; + /** @type {OriginRecord[]} */ + this.origins = []; + /** Indices in top-down order */ + /** @private @type {Map} */ + this._moduleIndices = new Map(); + /** Indices in bottom-up order */ + /** @private @type {Map} */ + this._moduleIndices2 = new Map(); + } + + /** + * when a new chunk is added to a chunkGroup, addingOptions will occur. + * @param {ChunkGroupOptions} options the chunkGroup options passed to addOptions + * @returns {void} + */ + addOptions(options) { + for (const key of Object.keys(options)) { + if (this.options[key] === undefined) { + this.options[key] = options[key]; + } else if (this.options[key] !== options[key]) { + if (key.endsWith("Order")) { + this.options[key] = Math.max(this.options[key], options[key]); + } else { + throw new Error( + `ChunkGroup.addOptions: No option merge strategy for ${key}` + ); + } + } + } + } + + /** + * returns the name of current ChunkGroup + * @returns {string|undefined} returns the ChunkGroup name + */ + get name() { + return this.options.name; + } + + /** + * sets a new name for current ChunkGroup + * @param {string} value the new name for ChunkGroup + * @returns {void} + */ + set name(value) { + this.options.name = value; + } + + /** + * get a uniqueId for ChunkGroup, made up of its member Chunk debugId's + * @returns {string} a unique concatenation of chunk debugId's + */ + get debugId() { + return Array.from(this.chunks, x => x.debugId).join("+"); + } + + /** + * get a unique id for ChunkGroup, made up of its member Chunk id's + * @returns {string} a unique concatenation of chunk ids + */ + get id() { + return Array.from(this.chunks, x => x.id).join("+"); + } + + /** + * Performs an unshift of a specific chunk + * @param {Chunk} chunk chunk being unshifted + * @returns {boolean} returns true if attempted chunk shift is accepted + */ + unshiftChunk(chunk) { + const oldIdx = this.chunks.indexOf(chunk); + if (oldIdx > 0) { + this.chunks.splice(oldIdx, 1); + this.chunks.unshift(chunk); + } else if (oldIdx < 0) { + this.chunks.unshift(chunk); + return true; + } + return false; + } + + /** + * inserts a chunk before another existing chunk in group + * @param {Chunk} chunk Chunk being inserted + * @param {Chunk} before Placeholder/target chunk marking new chunk insertion point + * @returns {boolean} return true if insertion was successful + */ + insertChunk(chunk, before) { + const oldIdx = this.chunks.indexOf(chunk); + const idx = this.chunks.indexOf(before); + if (idx < 0) { + throw new Error("before chunk not found"); + } + if (oldIdx >= 0 && oldIdx > idx) { + this.chunks.splice(oldIdx, 1); + this.chunks.splice(idx, 0, chunk); + } else if (oldIdx < 0) { + this.chunks.splice(idx, 0, chunk); + return true; + } + return false; + } + + /** + * add a chunk into ChunkGroup. Is pushed on or prepended + * @param {Chunk} chunk chunk being pushed into ChunkGroupS + * @returns {boolean} returns true if chunk addition was successful. + */ + pushChunk(chunk) { + const oldIdx = this.chunks.indexOf(chunk); + if (oldIdx >= 0) { + return false; + } + this.chunks.push(chunk); + return true; + } + + /** + * @param {Chunk} oldChunk chunk to be replaced + * @param {Chunk} newChunk New chunk that will be replaced with + * @returns {boolean} returns true if the replacement was successful + */ + replaceChunk(oldChunk, newChunk) { + const oldIdx = this.chunks.indexOf(oldChunk); + if (oldIdx < 0) return false; + const newIdx = this.chunks.indexOf(newChunk); + if (newIdx < 0) { + this.chunks[oldIdx] = newChunk; + return true; + } + if (newIdx < oldIdx) { + this.chunks.splice(oldIdx, 1); + return true; + } else if (newIdx !== oldIdx) { + this.chunks[oldIdx] = newChunk; + this.chunks.splice(newIdx, 1); + return true; + } + } + + removeChunk(chunk) { + const idx = this.chunks.indexOf(chunk); + if (idx >= 0) { + this.chunks.splice(idx, 1); + return true; + } + return false; + } + + isInitial() { + return false; + } + + addChild(chunk) { + if (this._children.has(chunk)) { + return false; + } + this._children.add(chunk); + return true; + } + + getChildren() { + return this._children.getFromCache(getArray); + } + + getNumberOfChildren() { + return this._children.size; + } + + get childrenIterable() { + return this._children; + } + + removeChild(chunk) { + if (!this._children.has(chunk)) { + return false; + } + + this._children.delete(chunk); + chunk.removeParent(this); + return true; + } + + addParent(parentChunk) { + if (!this._parents.has(parentChunk)) { + this._parents.add(parentChunk); + return true; + } + return false; + } + + getParents() { + return this._parents.getFromCache(getArray); + } + + setParents(newParents) { + this._parents.clear(); + for (const p of newParents) { + this._parents.add(p); + } + } + + getNumberOfParents() { + return this._parents.size; + } + + hasParent(parent) { + return this._parents.has(parent); + } + + get parentsIterable() { + return this._parents; + } + + removeParent(chunk) { + if (this._parents.delete(chunk)) { + chunk.removeChunk(this); + return true; + } + return false; + } + + /** + * @returns {Array} - an array containing the blocks + */ + getBlocks() { + return this._blocks.getFromCache(getArray); + } + + getNumberOfBlocks() { + return this._blocks.size; + } + + hasBlock(block) { + return this._blocks.has(block); + } + + get blocksIterable() { + return this._blocks; + } + + addBlock(block) { + if (!this._blocks.has(block)) { + this._blocks.add(block); + return true; + } + return false; + } + + addOrigin(module, loc, request) { + this.origins.push({ + module, + loc, + request + }); + } + + containsModule(module) { + for (const chunk of this.chunks) { + if (chunk.containsModule(module)) return true; + } + return false; + } + + getFiles() { + const files = new Set(); + + for (const chunk of this.chunks) { + for (const file of chunk.files) { + files.add(file); + } + } + + return Array.from(files); + } + + /** + * @param {string=} reason reason for removing ChunkGroup + * @returns {void} + */ + remove(reason) { + // cleanup parents + for (const parentChunkGroup of this._parents) { + // remove this chunk from its parents + parentChunkGroup._children.delete(this); + + // cleanup "sub chunks" + for (const chunkGroup of this._children) { + /** + * remove this chunk as "intermediary" and connect + * it "sub chunks" and parents directly + */ + // add parent to each "sub chunk" + chunkGroup.addParent(parentChunkGroup); + // add "sub chunk" to parent + parentChunkGroup.addChild(chunkGroup); + } + } + + /** + * we need to iterate again over the children + * to remove this from the child's parents. + * This can not be done in the above loop + * as it is not guaranteed that `this._parents` contains anything. + */ + for (const chunkGroup of this._children) { + // remove this as parent of every "sub chunk" + chunkGroup._parents.delete(this); + } + + // cleanup blocks + for (const block of this._blocks) { + block.chunkGroup = null; + } + + // remove chunks + for (const chunk of this.chunks) { + chunk.removeGroup(this); + } + } + + sortItems() { + this.origins.sort(sortOrigin); + this._parents.sort(); + this._children.sort(); + } + + /** + * Sorting predicate which allows current ChunkGroup to be compared against another. + * Sorting values are based off of number of chunks in ChunkGroup. + * + * @param {ChunkGroup} otherGroup the chunkGroup to compare this against + * @returns {-1|0|1} sort position for comparison + */ + compareTo(otherGroup) { + if (this.chunks.length > otherGroup.chunks.length) return -1; + if (this.chunks.length < otherGroup.chunks.length) return 1; + const a = this.chunks[Symbol.iterator](); + const b = otherGroup.chunks[Symbol.iterator](); + // eslint-disable-next-line no-constant-condition + while (true) { + const aItem = a.next(); + const bItem = b.next(); + if (aItem.done) return 0; + const cmp = aItem.value.compareTo(bItem.value); + if (cmp !== 0) return cmp; + } + } + + getChildrenByOrders() { + const lists = new Map(); + for (const childGroup of this._children) { + // TODO webpack 5 remove this check for options + if (typeof childGroup.options === "object") { + for (const key of Object.keys(childGroup.options)) { + if (key.endsWith("Order")) { + const name = key.substr(0, key.length - "Order".length); + let list = lists.get(name); + if (list === undefined) { + lists.set(name, (list = [])); + } + list.push({ + order: childGroup.options[key], + group: childGroup + }); + } + } + } + } + const result = Object.create(null); + for (const [name, list] of lists) { + list.sort((a, b) => { + const cmp = b.order - a.order; + if (cmp !== 0) return cmp; + // TODO webpack 5 remove this check of compareTo + if (a.group.compareTo) { + return a.group.compareTo(b.group); + } + return 0; + }); + result[name] = list.map(i => i.group); + } + return result; + } + + /** + * Sets the top-down index of a module in this ChunkGroup + * @param {Module} module module for which the index should be set + * @param {number} index the index of the module + * @returns {void} + */ + setModuleIndex(module, index) { + this._moduleIndices.set(module, index); + } + + /** + * Gets the top-down index of a module in this ChunkGroup + * @param {Module} module the module + * @returns {number} index + */ + getModuleIndex(module) { + return this._moduleIndices.get(module); + } + + /** + * Sets the bottom-up index of a module in this ChunkGroup + * @param {Module} module module for which the index should be set + * @param {number} index the index of the module + * @returns {void} + */ + setModuleIndex2(module, index) { + this._moduleIndices2.set(module, index); + } + + /** + * Gets the bottom-up index of a module in this ChunkGroup + * @param {Module} module the module + * @returns {number} index + */ + getModuleIndex2(module) { + return this._moduleIndices2.get(module); + } + + checkConstraints() { + const chunk = this; + for (const child of chunk._children) { + if (!child._parents.has(chunk)) { + throw new Error( + `checkConstraints: child missing parent ${chunk.debugId} -> ${child.debugId}` + ); + } + } + for (const parentChunk of chunk._parents) { + if (!parentChunk._children.has(chunk)) { + throw new Error( + `checkConstraints: parent missing child ${parentChunk.debugId} <- ${chunk.debugId}` + ); + } + } + } +} + +module.exports = ChunkGroup; + + +/***/ }), + +/***/ 16071: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra + */ + + +const DependenciesBlockVariable = __webpack_require__(82904); + +/** @typedef {import("./ChunkGroup")} ChunkGroup */ +/** @typedef {import("./Dependency")} Dependency */ +/** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */ +/** @typedef {import("./DependenciesBlockVariable")} DependenciesBlockVariable */ +/** @typedef {(d: Dependency) => boolean} DependencyFilterFunction */ +/** @typedef {import("./util/createHash").Hash} Hash */ + +class DependenciesBlock { + constructor() { + /** @type {Dependency[]} */ + this.dependencies = []; + /** @type {AsyncDependenciesBlock[]} */ + this.blocks = []; + /** @type {DependenciesBlockVariable[]} */ + this.variables = []; + } + + /** + * Adds a DependencyBlock to DependencyBlock relationship. + * This is used for when a Module has a AsyncDependencyBlock tie (for code-splitting) + * + * @param {AsyncDependenciesBlock} block block being added + * @returns {void} + */ + addBlock(block) { + this.blocks.push(block); + block.parent = this; + } + + /** + * @param {string} name name of dependency + * @param {string} expression expression string for variable + * @param {Dependency[]} dependencies dependency instances tied to variable + * @returns {void} + */ + addVariable(name, expression, dependencies) { + for (let v of this.variables) { + if (v.name === name && v.expression === expression) { + return; + } + } + this.variables.push( + new DependenciesBlockVariable(name, expression, dependencies) + ); + } + + /** + * @param {Dependency} dependency dependency being tied to block. + * This is an "edge" pointing to another "node" on module graph. + * @returns {void} + */ + addDependency(dependency) { + this.dependencies.push(dependency); + } + + /** + * @param {Dependency} dependency dependency being removed + * @returns {void} + */ + removeDependency(dependency) { + const idx = this.dependencies.indexOf(dependency); + if (idx >= 0) { + this.dependencies.splice(idx, 1); + } + } + + /** + * @param {Hash} hash the hash used to track dependencies + * @returns {void} + */ + updateHash(hash) { + for (const dep of this.dependencies) dep.updateHash(hash); + for (const block of this.blocks) block.updateHash(hash); + for (const variable of this.variables) variable.updateHash(hash); + } + + disconnect() { + for (const dep of this.dependencies) dep.disconnect(); + for (const block of this.blocks) block.disconnect(); + for (const variable of this.variables) variable.disconnect(); + } + + unseal() { + for (const block of this.blocks) block.unseal(); + } + + /** + * @param {DependencyFilterFunction} filter filter function for dependencies, gets passed all dependency ties from current instance + * @returns {boolean} returns boolean for filter + */ + hasDependencies(filter) { + if (filter) { + for (const dep of this.dependencies) { + if (filter(dep)) return true; + } + } else { + if (this.dependencies.length > 0) { + return true; + } + } + + for (const block of this.blocks) { + if (block.hasDependencies(filter)) return true; + } + for (const variable of this.variables) { + if (variable.hasDependencies(filter)) return true; + } + return false; + } + + sortItems() { + for (const block of this.blocks) block.sortItems(); + } +} + +module.exports = DependenciesBlock; + + +/***/ }), + +/***/ 82904: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const { RawSource, ReplaceSource } = __webpack_require__(55600); + +/** @typedef {import("./Dependency")} Dependency */ +/** @typedef {import("./Dependency").DependencyTemplate} DependencyTemplate */ +/** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */ +/** @typedef {import("./util/createHash").Hash} Hash */ +/** @typedef {(d: Dependency) => boolean} DependencyFilterFunction */ +/** @typedef {Map} DependencyTemplates */ + +class DependenciesBlockVariable { + /** + * Creates an instance of DependenciesBlockVariable. + * @param {string} name name of DependenciesBlockVariable + * @param {string} expression expression string + * @param {Dependency[]=} dependencies dependencies tied to this varaiable + */ + constructor(name, expression, dependencies) { + this.name = name; + this.expression = expression; + this.dependencies = dependencies || []; + } + + /** + * @param {Hash} hash hash for instance to update + * @returns {void} + */ + updateHash(hash) { + hash.update(this.name); + hash.update(this.expression); + for (const d of this.dependencies) { + d.updateHash(hash); + } + } + + /** + * @param {DependencyTemplates} dependencyTemplates Dependency constructors and templates Map. + * @param {RuntimeTemplate} runtimeTemplate runtimeTemplate to generate expression souce + * @returns {ReplaceSource} returns constructed source for expression via templates + */ + expressionSource(dependencyTemplates, runtimeTemplate) { + const source = new ReplaceSource(new RawSource(this.expression)); + for (const dep of this.dependencies) { + const template = dependencyTemplates.get(dep.constructor); + if (!template) { + throw new Error(`No template for dependency: ${dep.constructor.name}`); + } + template.apply(dep, source, runtimeTemplate, dependencyTemplates); + } + return source; + } + + disconnect() { + for (const d of this.dependencies) { + d.disconnect(); + } + } + + hasDependencies(filter) { + if (filter) { + return this.dependencies.some(filter); + } + return this.dependencies.length > 0; + } +} + +module.exports = DependenciesBlockVariable; + + +/***/ }), + +/***/ 71931: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const ChunkGroup = __webpack_require__(52911); + +/** @typedef {import("./Chunk")} Chunk */ + +/** + * Entrypoint serves as an encapsulation primitive for chunks that are + * a part of a single ChunkGroup. They represent all bundles that need to be loaded for a + * single instance of a page. Multi-page application architectures will typically yield multiple Entrypoint objects + * inside of the compilation, whereas a Single Page App may only contain one with many lazy-loaded chunks. + */ +class Entrypoint extends ChunkGroup { + /** + * Creates an instance of Entrypoint. + * @param {string} name the name of the entrypoint + */ + constructor(name) { + super(name); + /** @type {Chunk=} */ + this.runtimeChunk = undefined; + } + + /** + * isInitial will always return true for Entrypoint ChunkGroup. + * @returns {true} returns true as all entrypoints are initial ChunkGroups + */ + isInitial() { + return true; + } + + /** + * Sets the runtimeChunk for an entrypoint. + * @param {Chunk} chunk the chunk being set as the runtime chunk. + * @returns {void} + */ + setRuntimeChunk(chunk) { + this.runtimeChunk = chunk; + } + + /** + * Fetches the chunk reference containing the webpack bootstrap code + * @returns {Chunk} returns the runtime chunk or first chunk in `this.chunks` + */ + getRuntimeChunk() { + return this.runtimeChunk || this.chunks[0]; + } + + /** + * @param {Chunk} oldChunk chunk to be replaced + * @param {Chunk} newChunk New chunk that will be replaced with + * @returns {boolean} returns true if the replacement was successful + */ + replaceChunk(oldChunk, newChunk) { + if (this.runtimeChunk === oldChunk) this.runtimeChunk = newChunk; + return super.replaceChunk(oldChunk, newChunk); + } +} + +module.exports = Entrypoint; + + +/***/ }), + +/***/ 80140: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const loaderFlag = "LOADER_EXECUTION"; + +const webpackOptionsFlag = "WEBPACK_OPTIONS"; + +exports.cutOffByFlag = (stack, flag) => { + stack = stack.split("\n"); + for (let i = 0; i < stack.length; i++) { + if (stack[i].includes(flag)) { + stack.length = i; + } + } + return stack.join("\n"); +}; + +exports.cutOffLoaderExecution = stack => + exports.cutOffByFlag(stack, loaderFlag); + +exports.cutOffWebpackOptions = stack => + exports.cutOffByFlag(stack, webpackOptionsFlag); + +exports.cutOffMultilineMessage = (stack, message) => { + stack = stack.split("\n"); + message = message.split("\n"); + + return stack + .reduce( + (acc, line, idx) => + line.includes(message[idx]) ? acc : acc.concat(line), + [] + ) + .join("\n"); +}; + +exports.cutOffMessage = (stack, message) => { + const nextLine = stack.indexOf("\n"); + if (nextLine === -1) { + return stack === message ? "" : stack; + } else { + const firstLine = stack.substr(0, nextLine); + return firstLine === message ? stack.substr(nextLine + 1) : stack; + } +}; + +exports.cleanUp = (stack, message) => { + stack = exports.cutOffLoaderExecution(stack); + stack = exports.cutOffMessage(stack, message); + return stack; +}; + +exports.cleanUpWebpackOptions = (stack, message) => { + stack = exports.cutOffWebpackOptions(stack); + stack = exports.cutOffMultilineMessage(stack, message); + return stack; +}; + + +/***/ }), + +/***/ 32973: +/***/ (function(__unused_webpack_module, exports) { + +/** @typedef {import("./Chunk")} Chunk */ +/** @typedef {import("./ChunkGroup")} ChunkGroup */ +/** @typedef {import("./Module")} Module */ +/** @typedef {import("./DependenciesBlock")} DependenciesBlock */ +/** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */ + +/** + * @param {ChunkGroup} chunkGroup the ChunkGroup to connect + * @param {Chunk} chunk chunk to tie to ChunkGroup + * @returns {void} + */ +const connectChunkGroupAndChunk = (chunkGroup, chunk) => { + if (chunkGroup.pushChunk(chunk)) { + chunk.addGroup(chunkGroup); + } +}; + +/** + * @param {ChunkGroup} parent parent ChunkGroup to connect + * @param {ChunkGroup} child child ChunkGroup to connect + * @returns {void} + */ +const connectChunkGroupParentAndChild = (parent, child) => { + if (parent.addChild(child)) { + child.addParent(parent); + } +}; + +/** + * @param {Chunk} chunk Chunk to connect to Module + * @param {Module} module Module to connect to Chunk + * @returns {void} + */ +const connectChunkAndModule = (chunk, module) => { + if (module.addChunk(chunk)) { + chunk.addModule(module); + } +}; + +/** + * @param {Chunk} chunk Chunk being disconnected + * @param {Module} module Module being disconnected + * @returns {void} + */ +const disconnectChunkAndModule = (chunk, module) => { + chunk.removeModule(module); + module.removeChunk(chunk); +}; + +/** + * @param {AsyncDependenciesBlock} depBlock DepBlock being tied to ChunkGroup + * @param {ChunkGroup} chunkGroup ChunkGroup being tied to DepBlock + * @returns {void} + */ +const connectDependenciesBlockAndChunkGroup = (depBlock, chunkGroup) => { + if (chunkGroup.addBlock(depBlock)) { + depBlock.chunkGroup = chunkGroup; + } +}; + +exports.connectChunkGroupAndChunk = connectChunkGroupAndChunk; +exports.connectChunkGroupParentAndChild = connectChunkGroupParentAndChild; +exports.connectChunkAndModule = connectChunkAndModule; +exports.disconnectChunkAndModule = disconnectChunkAndModule; +exports.connectDependenciesBlockAndChunkGroup = connectDependenciesBlockAndChunkGroup; + + +/***/ }), + +/***/ 26782: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const Chunk = __webpack_require__(2919); + +class HotUpdateChunk extends Chunk { + constructor() { + super(); + /** @type {(string|number)[]} */ + this.removedModules = undefined; + } +} + +module.exports = HotUpdateChunk; + + +/***/ }), + +/***/ 75993: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const util = __webpack_require__(31669); + +const DependenciesBlock = __webpack_require__(16071); +const ModuleReason = __webpack_require__(44576); +const SortableSet = __webpack_require__(50071); +const Template = __webpack_require__(96066); + +/** @typedef {import("./Chunk")} Chunk */ +/** @typedef {import("./RequestShortener")} RequestShortener */ +/** @typedef {import("./WebpackError")} WebpackError */ +/** @typedef {import("./util/createHash").Hash} Hash */ + +const EMPTY_RESOLVE_OPTIONS = {}; + +let debugId = 1000; + +const sortById = (a, b) => { + return a.id - b.id; +}; + +const sortByDebugId = (a, b) => { + return a.debugId - b.debugId; +}; + +/** @typedef {(requestShortener: RequestShortener) => string} OptimizationBailoutFunction */ + +class Module extends DependenciesBlock { + constructor(type, context = null) { + super(); + /** @type {string} */ + this.type = type; + /** @type {string} */ + this.context = context; + + // Unique Id + /** @type {number} */ + this.debugId = debugId++; + + // Hash + /** @type {string} */ + this.hash = undefined; + /** @type {string} */ + this.renderedHash = undefined; + + // Info from Factory + /** @type {TODO} */ + this.resolveOptions = EMPTY_RESOLVE_OPTIONS; + /** @type {object} */ + this.factoryMeta = {}; + + // Info from Build + /** @type {WebpackError[]} */ + this.warnings = []; + /** @type {WebpackError[]} */ + this.errors = []; + /** @type {object} */ + this.buildMeta = undefined; + /** @type {object} */ + this.buildInfo = undefined; + + // Graph (per Compilation) + /** @type {ModuleReason[]} */ + this.reasons = []; + /** @type {SortableSet} */ + this._chunks = new SortableSet(undefined, sortById); + + // Info from Compilation (per Compilation) + /** @type {number|string} */ + this.id = null; + /** @type {number} */ + this.index = null; + /** @type {number} */ + this.index2 = null; + /** @type {number} */ + this.depth = null; + /** @type {Module} */ + this.issuer = null; + /** @type {undefined | object} */ + this.profile = undefined; + /** @type {boolean} */ + this.prefetched = false; + /** @type {boolean} */ + this.built = false; + + // Info from Optimization (per Compilation) + /** @type {null | boolean} */ + this.used = null; + /** @type {false | true | string[]} */ + this.usedExports = null; + /** @type {(string | OptimizationBailoutFunction)[]} */ + this.optimizationBailout = []; + + // delayed operations + /** @type {undefined | {oldChunk: Chunk, newChunks: Chunk[]}[] } */ + this._rewriteChunkInReasons = undefined; + + /** @type {boolean} */ + this.useSourceMap = false; + + // info from build + this._source = null; + } + + get exportsArgument() { + return (this.buildInfo && this.buildInfo.exportsArgument) || "exports"; + } + + get moduleArgument() { + return (this.buildInfo && this.buildInfo.moduleArgument) || "module"; + } + + disconnect() { + this.hash = undefined; + this.renderedHash = undefined; + + this.reasons.length = 0; + this._rewriteChunkInReasons = undefined; + this._chunks.clear(); + + this.id = null; + this.index = null; + this.index2 = null; + this.depth = null; + this.issuer = null; + this.profile = undefined; + this.prefetched = false; + this.built = false; + + this.used = null; + this.usedExports = null; + this.optimizationBailout.length = 0; + super.disconnect(); + } + + unseal() { + this.id = null; + this.index = null; + this.index2 = null; + this.depth = null; + this._chunks.clear(); + super.unseal(); + } + + setChunks(chunks) { + this._chunks = new SortableSet(chunks, sortById); + } + + addChunk(chunk) { + if (this._chunks.has(chunk)) return false; + this._chunks.add(chunk); + return true; + } + + removeChunk(chunk) { + if (this._chunks.delete(chunk)) { + chunk.removeModule(this); + return true; + } + return false; + } + + isInChunk(chunk) { + return this._chunks.has(chunk); + } + + isEntryModule() { + for (const chunk of this._chunks) { + if (chunk.entryModule === this) return true; + } + return false; + } + + get optional() { + return ( + this.reasons.length > 0 && + this.reasons.every(r => r.dependency && r.dependency.optional) + ); + } + + /** + * @returns {Chunk[]} all chunks which contain the module + */ + getChunks() { + return Array.from(this._chunks); + } + + getNumberOfChunks() { + return this._chunks.size; + } + + get chunksIterable() { + return this._chunks; + } + + hasEqualsChunks(otherModule) { + if (this._chunks.size !== otherModule._chunks.size) return false; + this._chunks.sortWith(sortByDebugId); + otherModule._chunks.sortWith(sortByDebugId); + const a = this._chunks[Symbol.iterator](); + const b = otherModule._chunks[Symbol.iterator](); + // eslint-disable-next-line no-constant-condition + while (true) { + const aItem = a.next(); + const bItem = b.next(); + if (aItem.done) return true; + if (aItem.value !== bItem.value) return false; + } + } + + addReason(module, dependency, explanation) { + this.reasons.push(new ModuleReason(module, dependency, explanation)); + } + + removeReason(module, dependency) { + for (let i = 0; i < this.reasons.length; i++) { + let r = this.reasons[i]; + if (r.module === module && r.dependency === dependency) { + this.reasons.splice(i, 1); + return true; + } + } + return false; + } + + hasReasonForChunk(chunk) { + if (this._rewriteChunkInReasons) { + for (const operation of this._rewriteChunkInReasons) { + this._doRewriteChunkInReasons(operation.oldChunk, operation.newChunks); + } + this._rewriteChunkInReasons = undefined; + } + for (let i = 0; i < this.reasons.length; i++) { + if (this.reasons[i].hasChunk(chunk)) return true; + } + return false; + } + + hasReasons() { + return this.reasons.length > 0; + } + + rewriteChunkInReasons(oldChunk, newChunks) { + // This is expensive. Delay operation until we really need the data + if (this._rewriteChunkInReasons === undefined) { + this._rewriteChunkInReasons = []; + } + this._rewriteChunkInReasons.push({ + oldChunk, + newChunks + }); + } + + _doRewriteChunkInReasons(oldChunk, newChunks) { + for (let i = 0; i < this.reasons.length; i++) { + this.reasons[i].rewriteChunks(oldChunk, newChunks); + } + } + + /** + * @param {string=} exportName the name of the export + * @returns {boolean|string} false if the export isn't used, true if no exportName is provided and the module is used, or the name to access it if the export is used + */ + isUsed(exportName) { + if (!exportName) return this.used !== false; + if (this.used === null || this.usedExports === null) return exportName; + if (!this.used) return false; + if (!this.usedExports) return false; + if (this.usedExports === true) return exportName; + let idx = this.usedExports.indexOf(exportName); + if (idx < 0) return false; + + // Mangle export name if possible + if (this.isProvided(exportName)) { + if (this.buildMeta.exportsType === "namespace") { + return Template.numberToIdentifer(idx); + } + if ( + this.buildMeta.exportsType === "named" && + !this.usedExports.includes("default") + ) { + return Template.numberToIdentifer(idx); + } + } + return exportName; + } + + isProvided(exportName) { + if (!Array.isArray(this.buildMeta.providedExports)) return null; + return this.buildMeta.providedExports.includes(exportName); + } + + toString() { + return `Module[${this.id || this.debugId}]`; + } + + needRebuild(fileTimestamps, contextTimestamps) { + return true; + } + + /** + * @param {Hash} hash the hash used to track dependencies + * @returns {void} + */ + updateHash(hash) { + hash.update(`${this.id}`); + hash.update(JSON.stringify(this.usedExports)); + super.updateHash(hash); + } + + sortItems(sortChunks) { + super.sortItems(); + if (sortChunks) this._chunks.sort(); + this.reasons.sort((a, b) => { + if (a.module === b.module) return 0; + if (!a.module) return -1; + if (!b.module) return 1; + return sortById(a.module, b.module); + }); + if (Array.isArray(this.usedExports)) { + this.usedExports.sort(); + } + } + + unbuild() { + this.dependencies.length = 0; + this.blocks.length = 0; + this.variables.length = 0; + this.buildMeta = undefined; + this.buildInfo = undefined; + this.disconnect(); + } + + get arguments() { + throw new Error("Module.arguments was removed, there is no replacement."); + } + + set arguments(value) { + throw new Error("Module.arguments was removed, there is no replacement."); + } +} + +// TODO remove in webpack 5 +Object.defineProperty(Module.prototype, "forEachChunk", { + configurable: false, + value: util.deprecate( + /** + * @deprecated + * @param {function(any, any, Set): void} fn callback function + * @returns {void} + * @this {Module} + */ + function(fn) { + this._chunks.forEach(fn); + }, + "Module.forEachChunk: Use for(const chunk of module.chunksIterable) instead" + ) +}); + +// TODO remove in webpack 5 +Object.defineProperty(Module.prototype, "mapChunks", { + configurable: false, + value: util.deprecate( + /** + * @deprecated + * @param {function(any, any): void} fn Mapper function + * @returns {Array} Array of chunks mapped + * @this {Module} + */ + function(fn) { + return Array.from(this._chunks, fn); + }, + "Module.mapChunks: Use Array.from(module.chunksIterable, fn) instead" + ) +}); + +// TODO remove in webpack 5 +Object.defineProperty(Module.prototype, "entry", { + configurable: false, + get() { + throw new Error("Module.entry was removed. Use Chunk.entryModule"); + }, + set() { + throw new Error("Module.entry was removed. Use Chunk.entryModule"); + } +}); + +// TODO remove in webpack 5 +Object.defineProperty(Module.prototype, "meta", { + configurable: false, + get: util.deprecate( + /** + * @deprecated + * @returns {void} + * @this {Module} + */ + function() { + return this.buildMeta; + }, + "Module.meta was renamed to Module.buildMeta" + ), + set: util.deprecate( + /** + * @deprecated + * @param {TODO} value Value + * @returns {void} + * @this {Module} + */ + function(value) { + this.buildMeta = value; + }, + "Module.meta was renamed to Module.buildMeta" + ) +}); + +/** @type {function(): string} */ +Module.prototype.identifier = null; + +/** @type {function(RequestShortener): string} */ +Module.prototype.readableIdentifier = null; + +Module.prototype.build = null; +Module.prototype.source = null; +Module.prototype.size = null; +Module.prototype.nameForCondition = null; +/** @type {null | function(Chunk): boolean} */ +Module.prototype.chunkCondition = null; +Module.prototype.updateCacheModule = null; + +module.exports = Module; + + +/***/ }), + +/***/ 12072: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const WebpackError = __webpack_require__(97391); +const { cutOffLoaderExecution } = __webpack_require__(80140); + +class ModuleBuildError extends WebpackError { + constructor(module, err, { from = null } = {}) { + let message = "Module build failed"; + let details = undefined; + if (from) { + message += ` (from ${from}):\n`; + } else { + message += ": "; + } + if (err !== null && typeof err === "object") { + if (typeof err.stack === "string" && err.stack) { + const stack = cutOffLoaderExecution(err.stack); + if (!err.hideStack) { + message += stack; + } else { + details = stack; + if (typeof err.message === "string" && err.message) { + message += err.message; + } else { + message += err; + } + } + } else if (typeof err.message === "string" && err.message) { + message += err.message; + } else { + message += err; + } + } else { + message = err; + } + + super(message); + + this.name = "ModuleBuildError"; + this.details = details; + this.module = module; + this.error = err; + + Error.captureStackTrace(this, this.constructor); + } +} + +module.exports = ModuleBuildError; + + +/***/ }), + +/***/ 82528: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const WebpackError = __webpack_require__(97391); +const { cleanUp } = __webpack_require__(80140); + +class ModuleError extends WebpackError { + constructor(module, err, { from = null } = {}) { + let message = "Module Error"; + if (from) { + message += ` (from ${from}):\n`; + } else { + message += ": "; + } + if (err && typeof err === "object" && err.message) { + message += err.message; + } else if (err) { + message += err; + } + super(message); + this.name = "ModuleError"; + this.module = module; + this.error = err; + this.details = + err && typeof err === "object" && err.stack + ? cleanUp(err.stack, this.message) + : undefined; + + Error.captureStackTrace(this, this.constructor); + } +} + +module.exports = ModuleError; + + +/***/ }), + +/***/ 62500: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const WebpackError = __webpack_require__(97391); + +/** @typedef {import("./Module")} Module */ + +class ModuleParseError extends WebpackError { + /** + * @param {Module} module the errored module + * @param {string} source source code + * @param {Error&any} err the parse error + * @param {string[]} loaders the loaders used + */ + constructor(module, source, err, loaders) { + let message = "Module parse failed: " + err.message; + let loc = undefined; + if (loaders.length >= 1) { + message += `\nFile was processed with these loaders:${loaders + .map(loader => `\n * ${loader}`) + .join("")}`; + message += + "\nYou may need an additional loader to handle the result of these loaders."; + } else { + message += + "\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"; + } + if ( + err.loc && + typeof err.loc === "object" && + typeof err.loc.line === "number" + ) { + var lineNumber = err.loc.line; + if (/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(source)) { + // binary file + message += "\n(Source code omitted for this binary file)"; + } else { + const sourceLines = source.split(/\r?\n/); + const start = Math.max(0, lineNumber - 3); + const linesBefore = sourceLines.slice(start, lineNumber - 1); + const theLine = sourceLines[lineNumber - 1]; + const linesAfter = sourceLines.slice(lineNumber, lineNumber + 2); + message += + linesBefore.map(l => `\n| ${l}`).join("") + + `\n> ${theLine}` + + linesAfter.map(l => `\n| ${l}`).join(""); + } + loc = err.loc; + } else { + message += "\n" + err.stack; + } + + super(message); + + this.name = "ModuleParseError"; + this.module = module; + this.loc = loc; + this.error = err; + + Error.captureStackTrace(this, this.constructor); + } +} + +module.exports = ModuleParseError; + + +/***/ }), + +/***/ 44576: +/***/ (function(module) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +/** @typedef {import("./Module")} Module */ +/** @typedef {import("./Dependency")} Dependency */ + +class ModuleReason { + /** + * @param {Module} module the referencing module + * @param {Dependency} dependency the referencing dependency + * @param {string=} explanation some extra detail + */ + constructor(module, dependency, explanation) { + this.module = module; + this.dependency = dependency; + this.explanation = explanation; + this._chunks = null; + } + + hasChunk(chunk) { + if (this._chunks) { + if (this._chunks.has(chunk)) return true; + } else if (this.module && this.module._chunks.has(chunk)) return true; + return false; + } + + rewriteChunks(oldChunk, newChunks) { + if (!this._chunks) { + if (this.module) { + if (!this.module._chunks.has(oldChunk)) return; + this._chunks = new Set(this.module._chunks); + } else { + this._chunks = new Set(); + } + } + if (this._chunks.has(oldChunk)) { + this._chunks.delete(oldChunk); + for (let i = 0; i < newChunks.length; i++) { + this._chunks.add(newChunks[i]); + } + } + } +} + +module.exports = ModuleReason; + + +/***/ }), + +/***/ 6372: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const WebpackError = __webpack_require__(97391); +const { cleanUp } = __webpack_require__(80140); + +class ModuleWarning extends WebpackError { + constructor(module, warning, { from = null } = {}) { + let message = "Module Warning"; + if (from) { + message += ` (from ${from}):\n`; + } else { + message += ": "; + } + if (warning && typeof warning === "object" && warning.message) { + message += warning.message; + } else if (warning) { + message += warning; + } + super(message); + this.name = "ModuleWarning"; + this.module = module; + this.warning = warning; + this.details = + warning && typeof warning === "object" && warning.stack + ? cleanUp(warning.stack, this.message) + : undefined; + + Error.captureStackTrace(this, this.constructor); + } +} + +module.exports = ModuleWarning; + + +/***/ }), + +/***/ 25963: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const NativeModule = __webpack_require__(32282); + +const { + CachedSource, + LineToLineMappedSource, + OriginalSource, + RawSource, + SourceMapSource +} = __webpack_require__(55600); +const { getContext, runLoaders } = __webpack_require__(73278); + +const WebpackError = __webpack_require__(97391); +const Module = __webpack_require__(75993); +const ModuleParseError = __webpack_require__(62500); +const ModuleBuildError = __webpack_require__(12072); +const ModuleError = __webpack_require__(82528); +const ModuleWarning = __webpack_require__(6372); +const createHash = __webpack_require__(15660); +const contextify = __webpack_require__(94658)/* .contextify */ .tR; + +/** @typedef {import("./util/createHash").Hash} Hash */ + +const asString = buf => { + if (Buffer.isBuffer(buf)) { + return buf.toString("utf-8"); + } + return buf; +}; + +const asBuffer = str => { + if (!Buffer.isBuffer(str)) { + return Buffer.from(str, "utf-8"); + } + return str; +}; + +class NonErrorEmittedError extends WebpackError { + constructor(error) { + super(); + + this.name = "NonErrorEmittedError"; + this.message = "(Emitted value instead of an instance of Error) " + error; + + Error.captureStackTrace(this, this.constructor); + } +} + +/** + * @typedef {Object} CachedSourceEntry + * @property {TODO} source the generated source + * @property {string} hash the hash value + */ + +class NormalModule extends Module { + constructor({ + type, + request, + userRequest, + rawRequest, + loaders, + resource, + matchResource, + parser, + generator, + resolveOptions + }) { + super(type, getContext(resource)); + + // Info from Factory + this.request = request; + this.userRequest = userRequest; + this.rawRequest = rawRequest; + this.binary = type.startsWith("webassembly"); + this.parser = parser; + this.generator = generator; + this.resource = resource; + this.matchResource = matchResource; + this.loaders = loaders; + if (resolveOptions !== undefined) this.resolveOptions = resolveOptions; + + // Info from Build + this.error = null; + this._source = null; + this._sourceSize = null; + this._buildHash = ""; + this.buildTimestamp = undefined; + /** @private @type {Map} */ + this._cachedSources = new Map(); + + // Options for the NormalModule set by plugins + // TODO refactor this -> options object filled from Factory + this.useSourceMap = false; + this.lineToLine = false; + + // Cache + this._lastSuccessfulBuildMeta = {}; + } + + identifier() { + return this.request; + } + + readableIdentifier(requestShortener) { + return requestShortener.shorten(this.userRequest); + } + + libIdent(options) { + return contextify(options.context, this.userRequest); + } + + nameForCondition() { + const resource = this.matchResource || this.resource; + const idx = resource.indexOf("?"); + if (idx >= 0) return resource.substr(0, idx); + return resource; + } + + updateCacheModule(module) { + this.type = module.type; + this.request = module.request; + this.userRequest = module.userRequest; + this.rawRequest = module.rawRequest; + this.parser = module.parser; + this.generator = module.generator; + this.resource = module.resource; + this.matchResource = module.matchResource; + this.loaders = module.loaders; + this.resolveOptions = module.resolveOptions; + } + + createSourceForAsset(name, content, sourceMap) { + if (!sourceMap) { + return new RawSource(content); + } + + if (typeof sourceMap === "string") { + return new OriginalSource(content, sourceMap); + } + + return new SourceMapSource(content, name, sourceMap); + } + + createLoaderContext(resolver, options, compilation, fs) { + const requestShortener = compilation.runtimeTemplate.requestShortener; + const getCurrentLoaderName = () => { + const currentLoader = this.getCurrentLoader(loaderContext); + if (!currentLoader) return "(not in loader scope)"; + return requestShortener.shorten(currentLoader.loader); + }; + const loaderContext = { + version: 2, + emitWarning: warning => { + if (!(warning instanceof Error)) { + warning = new NonErrorEmittedError(warning); + } + this.warnings.push( + new ModuleWarning(this, warning, { + from: getCurrentLoaderName() + }) + ); + }, + emitError: error => { + if (!(error instanceof Error)) { + error = new NonErrorEmittedError(error); + } + this.errors.push( + new ModuleError(this, error, { + from: getCurrentLoaderName() + }) + ); + }, + getLogger: name => { + const currentLoader = this.getCurrentLoader(loaderContext); + return compilation.getLogger(() => + [currentLoader && currentLoader.loader, name, this.identifier()] + .filter(Boolean) + .join("|") + ); + }, + // TODO remove in webpack 5 + exec: (code, filename) => { + // @ts-ignore Argument of type 'this' is not assignable to parameter of type 'Module'. + const module = new NativeModule(filename, this); + // @ts-ignore _nodeModulePaths is deprecated and undocumented Node.js API + module.paths = NativeModule._nodeModulePaths(this.context); + module.filename = filename; + module._compile(code, filename); + return module.exports; + }, + resolve(context, request, callback) { + resolver.resolve({}, context, request, {}, callback); + }, + getResolve(options) { + const child = options ? resolver.withOptions(options) : resolver; + return (context, request, callback) => { + if (callback) { + child.resolve({}, context, request, {}, callback); + } else { + return new Promise((resolve, reject) => { + child.resolve({}, context, request, {}, (err, result) => { + if (err) reject(err); + else resolve(result); + }); + }); + } + }; + }, + emitFile: (name, content, sourceMap, assetInfo) => { + if (!this.buildInfo.assets) { + this.buildInfo.assets = Object.create(null); + this.buildInfo.assetsInfo = new Map(); + } + this.buildInfo.assets[name] = this.createSourceForAsset( + name, + content, + sourceMap + ); + this.buildInfo.assetsInfo.set(name, assetInfo); + }, + rootContext: options.context, + webpack: true, + sourceMap: !!this.useSourceMap, + mode: options.mode || "production", + _module: this, + _compilation: compilation, + _compiler: compilation.compiler, + fs: fs + }; + + compilation.hooks.normalModuleLoader.call(loaderContext, this); + if (options.loader) { + Object.assign(loaderContext, options.loader); + } + + return loaderContext; + } + + getCurrentLoader(loaderContext, index = loaderContext.loaderIndex) { + if ( + this.loaders && + this.loaders.length && + index < this.loaders.length && + index >= 0 && + this.loaders[index] + ) { + return this.loaders[index]; + } + return null; + } + + createSource(source, resourceBuffer, sourceMap) { + // if there is no identifier return raw source + if (!this.identifier) { + return new RawSource(source); + } + + // from here on we assume we have an identifier + const identifier = this.identifier(); + + if (this.lineToLine && resourceBuffer) { + return new LineToLineMappedSource( + source, + identifier, + asString(resourceBuffer) + ); + } + + if (this.useSourceMap && sourceMap) { + return new SourceMapSource(source, identifier, sourceMap); + } + + if (Buffer.isBuffer(source)) { + // @ts-ignore + // TODO We need to fix @types/webpack-sources to allow RawSource to take a Buffer | string + return new RawSource(source); + } + + return new OriginalSource(source, identifier); + } + + doBuild(options, compilation, resolver, fs, callback) { + const loaderContext = this.createLoaderContext( + resolver, + options, + compilation, + fs + ); + + runLoaders( + { + resource: this.resource, + loaders: this.loaders, + context: loaderContext, + readResource: fs.readFile.bind(fs) + }, + (err, result) => { + if (result) { + this.buildInfo.cacheable = result.cacheable; + this.buildInfo.fileDependencies = new Set(result.fileDependencies); + this.buildInfo.contextDependencies = new Set( + result.contextDependencies + ); + } + + if (err) { + if (!(err instanceof Error)) { + err = new NonErrorEmittedError(err); + } + const currentLoader = this.getCurrentLoader(loaderContext); + const error = new ModuleBuildError(this, err, { + from: + currentLoader && + compilation.runtimeTemplate.requestShortener.shorten( + currentLoader.loader + ) + }); + return callback(error); + } + + const resourceBuffer = result.resourceBuffer; + const source = result.result[0]; + const sourceMap = result.result.length >= 1 ? result.result[1] : null; + const extraInfo = result.result.length >= 2 ? result.result[2] : null; + + if (!Buffer.isBuffer(source) && typeof source !== "string") { + const currentLoader = this.getCurrentLoader(loaderContext, 0); + const err = new Error( + `Final loader (${ + currentLoader + ? compilation.runtimeTemplate.requestShortener.shorten( + currentLoader.loader + ) + : "unknown" + }) didn't return a Buffer or String` + ); + const error = new ModuleBuildError(this, err); + return callback(error); + } + + this._source = this.createSource( + this.binary ? asBuffer(source) : asString(source), + resourceBuffer, + sourceMap + ); + this._sourceSize = null; + this._ast = + typeof extraInfo === "object" && + extraInfo !== null && + extraInfo.webpackAST !== undefined + ? extraInfo.webpackAST + : null; + return callback(); + } + ); + } + + markModuleAsErrored(error) { + // Restore build meta from successful build to keep importing state + this.buildMeta = Object.assign({}, this._lastSuccessfulBuildMeta); + this.error = error; + this.errors.push(this.error); + this._source = new RawSource( + "throw new Error(" + JSON.stringify(this.error.message) + ");" + ); + this._sourceSize = null; + this._ast = null; + } + + applyNoParseRule(rule, content) { + // must start with "rule" if rule is a string + if (typeof rule === "string") { + return content.indexOf(rule) === 0; + } + + if (typeof rule === "function") { + return rule(content); + } + // we assume rule is a regexp + return rule.test(content); + } + + // check if module should not be parsed + // returns "true" if the module should !not! be parsed + // returns "false" if the module !must! be parsed + shouldPreventParsing(noParseRule, request) { + // if no noParseRule exists, return false + // the module !must! be parsed. + if (!noParseRule) { + return false; + } + + // we only have one rule to check + if (!Array.isArray(noParseRule)) { + // returns "true" if the module is !not! to be parsed + return this.applyNoParseRule(noParseRule, request); + } + + for (let i = 0; i < noParseRule.length; i++) { + const rule = noParseRule[i]; + // early exit on first truthy match + // this module is !not! to be parsed + if (this.applyNoParseRule(rule, request)) { + return true; + } + } + // no match found, so this module !should! be parsed + return false; + } + + _initBuildHash(compilation) { + const hash = createHash(compilation.outputOptions.hashFunction); + if (this._source) { + hash.update("source"); + this._source.updateHash(hash); + } + hash.update("meta"); + hash.update(JSON.stringify(this.buildMeta)); + this._buildHash = /** @type {string} */ (hash.digest("hex")); + } + + build(options, compilation, resolver, fs, callback) { + this.buildTimestamp = Date.now(); + this.built = true; + this._source = null; + this._sourceSize = null; + this._ast = null; + this._buildHash = ""; + this.error = null; + this.errors.length = 0; + this.warnings.length = 0; + this.buildMeta = {}; + this.buildInfo = { + cacheable: false, + fileDependencies: new Set(), + contextDependencies: new Set(), + assets: undefined, + assetsInfo: undefined + }; + + return this.doBuild(options, compilation, resolver, fs, err => { + this._cachedSources.clear(); + + // if we have an error mark module as failed and exit + if (err) { + this.markModuleAsErrored(err); + this._initBuildHash(compilation); + return callback(); + } + + // check if this module should !not! be parsed. + // if so, exit here; + const noParseRule = options.module && options.module.noParse; + if (this.shouldPreventParsing(noParseRule, this.request)) { + this._initBuildHash(compilation); + return callback(); + } + + const handleParseError = e => { + const source = this._source.source(); + const loaders = this.loaders.map(item => + contextify(options.context, item.loader) + ); + const error = new ModuleParseError(this, source, e, loaders); + this.markModuleAsErrored(error); + this._initBuildHash(compilation); + return callback(); + }; + + const handleParseResult = result => { + this._lastSuccessfulBuildMeta = this.buildMeta; + this._initBuildHash(compilation); + return callback(); + }; + + try { + const result = this.parser.parse( + this._ast || this._source.source(), + { + current: this, + module: this, + compilation: compilation, + options: options + }, + (err, result) => { + if (err) { + handleParseError(err); + } else { + handleParseResult(result); + } + } + ); + if (result !== undefined) { + // parse is sync + handleParseResult(result); + } + } catch (e) { + handleParseError(e); + } + }); + } + + getHashDigest(dependencyTemplates) { + // TODO webpack 5 refactor + let dtHash = dependencyTemplates.get("hash"); + return `${this.hash}-${dtHash}`; + } + + source(dependencyTemplates, runtimeTemplate, type = "javascript") { + const hashDigest = this.getHashDigest(dependencyTemplates); + const cacheEntry = this._cachedSources.get(type); + if (cacheEntry !== undefined && cacheEntry.hash === hashDigest) { + // We can reuse the cached source + return cacheEntry.source; + } + + const source = this.generator.generate( + this, + dependencyTemplates, + runtimeTemplate, + type + ); + + const cachedSource = new CachedSource(source); + this._cachedSources.set(type, { + source: cachedSource, + hash: hashDigest + }); + return cachedSource; + } + + originalSource() { + return this._source; + } + + needRebuild(fileTimestamps, contextTimestamps) { + // always try to rebuild in case of an error + if (this.error) return true; + + // always rebuild when module is not cacheable + if (!this.buildInfo.cacheable) return true; + + // Check timestamps of all dependencies + // Missing timestamp -> need rebuild + // Timestamp bigger than buildTimestamp -> need rebuild + for (const file of this.buildInfo.fileDependencies) { + const timestamp = fileTimestamps.get(file); + if (!timestamp) return true; + if (timestamp >= this.buildTimestamp) return true; + } + for (const file of this.buildInfo.contextDependencies) { + const timestamp = contextTimestamps.get(file); + if (!timestamp) return true; + if (timestamp >= this.buildTimestamp) return true; + } + // elsewise -> no rebuild needed + return false; + } + + size() { + if (this._sourceSize === null) { + this._sourceSize = this._source ? this._source.size() : -1; + } + return this._sourceSize; + } + + /** + * @param {Hash} hash the hash used to track dependencies + * @returns {void} + */ + updateHash(hash) { + hash.update(this._buildHash); + super.updateHash(hash); + } +} + +module.exports = NormalModule; + + +/***/ }), + +/***/ 96066: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +/** @typedef {import("./Module")} Module */ +/** @typedef {import("./Chunk")} Chunk */ +/** @typedef {import("./ModuleTemplate")} ModuleTemplate */ +/** @typedef {import("webpack-sources").ConcatSource} ConcatSource */ + +const { ConcatSource } = __webpack_require__(55600); +const HotUpdateChunk = __webpack_require__(26782); + +const START_LOWERCASE_ALPHABET_CODE = "a".charCodeAt(0); +const START_UPPERCASE_ALPHABET_CODE = "A".charCodeAt(0); +const DELTA_A_TO_Z = "z".charCodeAt(0) - START_LOWERCASE_ALPHABET_CODE + 1; +const FUNCTION_CONTENT_REGEX = /^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g; +const INDENT_MULTILINE_REGEX = /^\t/gm; +const LINE_SEPARATOR_REGEX = /\r?\n/g; +const IDENTIFIER_NAME_REPLACE_REGEX = /^([^a-zA-Z$_])/; +const IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX = /[^a-zA-Z0-9$]+/g; +const COMMENT_END_REGEX = /\*\//g; +const PATH_NAME_NORMALIZE_REPLACE_REGEX = /[^a-zA-Z0-9_!ยง$()=\-^ยฐ]+/g; +const MATCH_PADDED_HYPHENS_REPLACE_REGEX = /^-|-$/g; + +/** @typedef {import("webpack-sources").Source} Source */ + +/** + * @typedef {Object} HasId + * @property {number | string} id + */ + +/** + * @typedef {function(Module, number): boolean} ModuleFilterPredicate + */ + +/** + * @param {HasId} a first id object to be sorted + * @param {HasId} b second id object to be sorted against + * @returns {-1|0|1} the sort value + */ +const stringifyIdSortPredicate = (a, b) => { + const aId = a.id + ""; + const bId = b.id + ""; + if (aId < bId) return -1; + if (aId > bId) return 1; + return 0; +}; + +class Template { + /** + * + * @param {Function} fn a runtime function (.runtime.js) "template" + * @returns {string} the updated and normalized function string + */ + static getFunctionContent(fn) { + return fn + .toString() + .replace(FUNCTION_CONTENT_REGEX, "") + .replace(INDENT_MULTILINE_REGEX, "") + .replace(LINE_SEPARATOR_REGEX, "\n"); + } + + /** + * @param {string} str the string converted to identifier + * @returns {string} created identifier + */ + static toIdentifier(str) { + if (typeof str !== "string") return ""; + return str + .replace(IDENTIFIER_NAME_REPLACE_REGEX, "_$1") + .replace(IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX, "_"); + } + /** + * + * @param {string} str string to be converted to commented in bundle code + * @returns {string} returns a commented version of string + */ + static toComment(str) { + if (!str) return ""; + return `/*! ${str.replace(COMMENT_END_REGEX, "* /")} */`; + } + + /** + * + * @param {string} str string to be converted to "normal comment" + * @returns {string} returns a commented version of string + */ + static toNormalComment(str) { + if (!str) return ""; + return `/* ${str.replace(COMMENT_END_REGEX, "* /")} */`; + } + + /** + * @param {string} str string path to be normalized + * @returns {string} normalized bundle-safe path + */ + static toPath(str) { + if (typeof str !== "string") return ""; + return str + .replace(PATH_NAME_NORMALIZE_REPLACE_REGEX, "-") + .replace(MATCH_PADDED_HYPHENS_REPLACE_REGEX, ""); + } + + // map number to a single character a-z, A-Z or <_ + number> if number is too big + /** + * + * @param {number} n number to convert to ident + * @returns {string} returns single character ident + */ + static numberToIdentifer(n) { + // lower case + if (n < DELTA_A_TO_Z) { + return String.fromCharCode(START_LOWERCASE_ALPHABET_CODE + n); + } + + // upper case + if (n < DELTA_A_TO_Z * 2) { + return String.fromCharCode( + START_UPPERCASE_ALPHABET_CODE + n - DELTA_A_TO_Z + ); + } + + // use multiple letters + return ( + Template.numberToIdentifer(n % (2 * DELTA_A_TO_Z)) + + Template.numberToIdentifer(Math.floor(n / (2 * DELTA_A_TO_Z))) + ); + } + + /** + * + * @param {string | string[]} s string to convert to identity + * @returns {string} converted identity + */ + static indent(s) { + if (Array.isArray(s)) { + return s.map(Template.indent).join("\n"); + } else { + const str = s.trimRight(); + if (!str) return ""; + const ind = str[0] === "\n" ? "" : "\t"; + return ind + str.replace(/\n([^\n])/g, "\n\t$1"); + } + } + + /** + * + * @param {string|string[]} s string to create prefix for + * @param {string} prefix prefix to compose + * @returns {string} returns new prefix string + */ + static prefix(s, prefix) { + const str = Template.asString(s).trim(); + if (!str) return ""; + const ind = str[0] === "\n" ? "" : prefix; + return ind + str.replace(/\n([^\n])/g, "\n" + prefix + "$1"); + } + + /** + * + * @param {string|string[]} str string or string collection + * @returns {string} returns a single string from array + */ + static asString(str) { + if (Array.isArray(str)) { + return str.join("\n"); + } + return str; + } + + /** + * @typedef {Object} WithId + * @property {string|number} id + */ + + /** + * @param {WithId[]} modules a collection of modules to get array bounds for + * @returns {[number, number] | false} returns the upper and lower array bounds + * or false if not every module has a number based id + */ + static getModulesArrayBounds(modules) { + let maxId = -Infinity; + let minId = Infinity; + for (const module of modules) { + if (typeof module.id !== "number") return false; + if (maxId < module.id) maxId = /** @type {number} */ (module.id); + if (minId > module.id) minId = /** @type {number} */ (module.id); + } + if (minId < 16 + ("" + minId).length) { + // add minId x ',' instead of 'Array(minId).concat(โ€ฆ)' + minId = 0; + } + const objectOverhead = modules + .map(module => (module.id + "").length + 2) + .reduce((a, b) => a + b, -1); + const arrayOverhead = + minId === 0 ? maxId : 16 + ("" + minId).length + maxId; + return arrayOverhead < objectOverhead ? [minId, maxId] : false; + } + + /** + * @param {Chunk} chunk chunk whose modules will be rendered + * @param {ModuleFilterPredicate} filterFn function used to filter modules from chunk to render + * @param {ModuleTemplate} moduleTemplate ModuleTemplate instance used to render modules + * @param {TODO | TODO[]} dependencyTemplates templates needed for each module to render dependencies + * @param {string=} prefix applying prefix strings + * @returns {ConcatSource} rendered chunk modules in a Source object + */ + static renderChunkModules( + chunk, + filterFn, + moduleTemplate, + dependencyTemplates, + prefix = "" + ) { + const source = new ConcatSource(); + const modules = chunk.getModules().filter(filterFn); + let removedModules; + if (chunk instanceof HotUpdateChunk) { + removedModules = chunk.removedModules; + } + if ( + modules.length === 0 && + (!removedModules || removedModules.length === 0) + ) { + source.add("[]"); + return source; + } + /** @type {{id: string|number, source: Source|string}[]} */ + const allModules = modules.map(module => { + return { + id: module.id, + source: moduleTemplate.render(module, dependencyTemplates, { + chunk + }) + }; + }); + if (removedModules && removedModules.length > 0) { + for (const id of removedModules) { + allModules.push({ + id, + source: "false" + }); + } + } + const bounds = Template.getModulesArrayBounds(allModules); + if (bounds) { + // Render a spare array + const minId = bounds[0]; + const maxId = bounds[1]; + if (minId !== 0) { + source.add(`Array(${minId}).concat(`); + } + source.add("[\n"); + /** @type {Map} */ + const modules = new Map(); + for (const module of allModules) { + modules.set(module.id, module); + } + for (let idx = minId; idx <= maxId; idx++) { + const module = modules.get(idx); + if (idx !== minId) { + source.add(",\n"); + } + source.add(`/* ${idx} */`); + if (module) { + source.add("\n"); + source.add(module.source); + } + } + source.add("\n" + prefix + "]"); + if (minId !== 0) { + source.add(")"); + } + } else { + // Render an object + source.add("{\n"); + allModules.sort(stringifyIdSortPredicate).forEach((module, idx) => { + if (idx !== 0) { + source.add(",\n"); + } + source.add(`\n/***/ ${JSON.stringify(module.id)}:\n`); + source.add(module.source); + }); + source.add(`\n\n${prefix}}`); + } + return source; + } +} + +module.exports = Template; + + +/***/ }), + +/***/ 97391: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Jarid Margolin @jaridmargolin +*/ + + +const inspect = __webpack_require__(31669).inspect.custom; + +class WebpackError extends Error { + /** + * Creates an instance of WebpackError. + * @param {string=} message error message + */ + constructor(message) { + super(message); + + this.details = undefined; + this.missing = undefined; + this.origin = undefined; + this.dependencies = undefined; + this.module = undefined; + + Error.captureStackTrace(this, this.constructor); + } + + [inspect]() { + return this.stack + (this.details ? `\n${this.details}` : ""); + } +} + +module.exports = WebpackError; + + +/***/ }), + +/***/ 22562: +/***/ (function(module) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */ + +// TODO webpack 5 remove string type from a and b +/** + * Compare two locations + * @param {string|DependencyLocation} a A location node + * @param {string|DependencyLocation} b A location node + * @returns {-1|0|1} sorting comparator value + */ +module.exports = (a, b) => { + if (typeof a === "string") { + if (typeof b === "string") { + if (a < b) return -1; + if (a > b) return 1; + return 0; + } else if (typeof b === "object") { + return 1; + } else { + return 0; + } + } else if (typeof a === "object") { + if (typeof b === "string") { + return -1; + } else if (typeof b === "object") { + if ("start" in a && "start" in b) { + const ap = a.start; + const bp = b.start; + if (ap.line < bp.line) return -1; + if (ap.line > bp.line) return 1; + if (ap.column < bp.column) return -1; + if (ap.column > bp.column) return 1; + } + if ("name" in a && "name" in b) { + if (a.name < b.name) return -1; + if (a.name > b.name) return 1; + } + if ("index" in a && "index" in b) { + if (a.index < b.index) return -1; + if (a.index > b.index) return 1; + } + return 0; + } else { + return 0; + } + } +}; + + +/***/ }), + +/***/ 54262: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +var __webpack_unused_export__; + + +/** + * intersect creates Set containing the intersection of elements between all sets + * @param {Set[]} sets an array of sets being checked for shared elements + * @returns {Set} returns a new Set containing the intersecting items + */ +const intersect = sets => { + if (sets.length === 0) return new Set(); + if (sets.length === 1) return new Set(sets[0]); + let minSize = Infinity; + let minIndex = -1; + for (let i = 0; i < sets.length; i++) { + const size = sets[i].size; + if (size < minSize) { + minIndex = i; + minSize = size; + } + } + const current = new Set(sets[minIndex]); + for (let i = 0; i < sets.length; i++) { + if (i === minIndex) continue; + const set = sets[i]; + for (const item of current) { + if (!set.has(item)) { + current.delete(item); + } + } + } + return current; +}; + +/** + * Checks if a set is the subset of another set + * @param {Set} bigSet a Set which contains the original elements to compare against + * @param {Set} smallSet the set whos elements might be contained inside of bigSet + * @returns {boolean} returns true if smallSet contains all elements inside of the bigSet + */ +const isSubset = (bigSet, smallSet) => { + if (bigSet.size < smallSet.size) return false; + for (const item of smallSet) { + if (!bigSet.has(item)) return false; + } + return true; +}; + +exports.w = intersect; +__webpack_unused_export__ = isSubset; + + +/***/ }), + +/***/ 50071: +/***/ (function(module) { + +"use strict"; + + +/** + * A subset of Set that offers sorting functionality + * @template T item type in set + * @extends {Set} + */ +class SortableSet extends Set { + /** + * Create a new sortable set + * @param {Iterable=} initialIterable The initial iterable value + * @typedef {function(T, T): number} SortFunction + * @param {SortFunction=} defaultSort Default sorting function + */ + constructor(initialIterable, defaultSort) { + super(initialIterable); + /** @private @type {function(T, T): number}} */ + this._sortFn = defaultSort; + /** @private @type {function(T, T): number} | null} */ + this._lastActiveSortFn = null; + /** @private @type {Map | undefined} */ + this._cache = undefined; + /** @private @type {Map | undefined} */ + this._cacheOrderIndependent = undefined; + } + + /** + * @param {T} value value to add to set + * @returns {this} returns itself + */ + add(value) { + this._lastActiveSortFn = null; + this._invalidateCache(); + this._invalidateOrderedCache(); + super.add(value); + return this; + } + + /** + * @param {T} value value to delete + * @returns {boolean} true if value existed in set, false otherwise + */ + delete(value) { + this._invalidateCache(); + this._invalidateOrderedCache(); + return super.delete(value); + } + + /** + * @returns {void} + */ + clear() { + this._invalidateCache(); + this._invalidateOrderedCache(); + return super.clear(); + } + + /** + * Sort with a comparer function + * @param {SortFunction} sortFn Sorting comparer function + * @returns {void} + */ + sortWith(sortFn) { + if (this.size <= 1 || sortFn === this._lastActiveSortFn) { + // already sorted - nothing to do + return; + } + + const sortedArray = Array.from(this).sort(sortFn); + super.clear(); + for (let i = 0; i < sortedArray.length; i += 1) { + super.add(sortedArray[i]); + } + this._lastActiveSortFn = sortFn; + this._invalidateCache(); + } + + sort() { + this.sortWith(this._sortFn); + } + + /** + * Get data from cache + * @param {function(SortableSet): T[]} fn function to calculate value + * @returns {T[]} returns result of fn(this), cached until set changes + */ + getFromCache(fn) { + if (this._cache === undefined) { + this._cache = new Map(); + } else { + const data = this._cache.get(fn); + if (data !== undefined) { + return data; + } + } + const newData = fn(this); + this._cache.set(fn, newData); + return newData; + } + + /** + * @param {function(SortableSet): string|number|T[]} fn function to calculate value + * @returns {any} returns result of fn(this), cached until set changes + */ + getFromUnorderedCache(fn) { + if (this._cacheOrderIndependent === undefined) { + this._cacheOrderIndependent = new Map(); + } else { + const data = this._cacheOrderIndependent.get(fn); + if (data !== undefined) { + return data; + } + } + const newData = fn(this); + this._cacheOrderIndependent.set(fn, newData); + return newData; + } + + /** + * @private + * @returns {void} + */ + _invalidateCache() { + if (this._cache !== undefined) { + this._cache.clear(); + } + } + + /** + * @private + * @returns {void} + */ + _invalidateOrderedCache() { + if (this._cacheOrderIndependent !== undefined) { + this._cacheOrderIndependent.clear(); + } + } +} + +module.exports = SortableSet; + + +/***/ }), + +/***/ 15660: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +const AbstractMethodError = __webpack_require__(36104); + +const BULK_SIZE = 1000; + +class Hash { + /** + * Update hash {@link https://nodejs.org/api/crypto.html#crypto_hash_update_data_inputencoding} + * @param {string|Buffer} data data + * @param {string=} inputEncoding data encoding + * @returns {this} updated hash + */ + update(data, inputEncoding) { + throw new AbstractMethodError(); + } + + /** + * Calculates the digest {@link https://nodejs.org/api/crypto.html#crypto_hash_digest_encoding} + * @param {string=} encoding encoding of the return value + * @returns {string|Buffer} digest + */ + digest(encoding) { + throw new AbstractMethodError(); + } +} + +exports.Hash = Hash; +/** @typedef {typeof Hash} HashConstructor */ + +class BulkUpdateDecorator extends Hash { + /** + * @param {Hash} hash hash + */ + constructor(hash) { + super(); + this.hash = hash; + this.buffer = ""; + } + + /** + * Update hash {@link https://nodejs.org/api/crypto.html#crypto_hash_update_data_inputencoding} + * @param {string|Buffer} data data + * @param {string=} inputEncoding data encoding + * @returns {this} updated hash + */ + update(data, inputEncoding) { + if ( + inputEncoding !== undefined || + typeof data !== "string" || + data.length > BULK_SIZE + ) { + if (this.buffer.length > 0) { + this.hash.update(this.buffer); + this.buffer = ""; + } + this.hash.update(data, inputEncoding); + } else { + this.buffer += data; + if (this.buffer.length > BULK_SIZE) { + this.hash.update(this.buffer); + this.buffer = ""; + } + } + return this; + } + + /** + * Calculates the digest {@link https://nodejs.org/api/crypto.html#crypto_hash_digest_encoding} + * @param {string=} encoding encoding of the return value + * @returns {string|Buffer} digest + */ + digest(encoding) { + if (this.buffer.length > 0) { + this.hash.update(this.buffer); + } + var digestResult = this.hash.digest(encoding); + return typeof digestResult === "string" + ? digestResult + : digestResult.toString(); + } +} + +/** + * istanbul ignore next + */ +class DebugHash extends Hash { + constructor() { + super(); + this.string = ""; + } + + /** + * Update hash {@link https://nodejs.org/api/crypto.html#crypto_hash_update_data_inputencoding} + * @param {string|Buffer} data data + * @param {string=} inputEncoding data encoding + * @returns {this} updated hash + */ + update(data, inputEncoding) { + if (typeof data !== "string") data = data.toString("utf-8"); + this.string += data; + return this; + } + + /** + * Calculates the digest {@link https://nodejs.org/api/crypto.html#crypto_hash_digest_encoding} + * @param {string=} encoding encoding of the return value + * @returns {string|Buffer} digest + */ + digest(encoding) { + return this.string.replace(/[^a-z0-9]+/gi, m => + Buffer.from(m).toString("hex") + ); + } +} + +/** + * Creates a hash by name or function + * @param {string | HashConstructor} algorithm the algorithm name or a constructor creating a hash + * @returns {Hash} the hash + */ +module.exports = algorithm => { + if (typeof algorithm === "function") { + return new BulkUpdateDecorator(new algorithm()); + } + switch (algorithm) { + // TODO add non-cryptographic algorithm here + case "debug": + return new DebugHash(); + default: + return new BulkUpdateDecorator(__webpack_require__(76417).createHash(algorithm)); + } +}; + + +/***/ }), + +/***/ 94658: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +var __webpack_unused_export__; + +const path = __webpack_require__(85622); + +/** + * @param {string} context context for relative path + * @param {string} relativePath path + * @returns {string} absolute path + */ +const requestToAbsolute = (context, relativePath) => { + if (relativePath.startsWith("./") || relativePath.startsWith("../")) + return path.join(context, relativePath); + return relativePath; +}; + +/** + * @typedef {Object} MakeRelativePathsCache + * @property {Map>=} relativePaths + */ + +/** + * + * @param {string} maybeAbsolutePath path to check + * @returns {boolean} returns true if path is "Absolute Path"-like + */ +const looksLikeAbsolutePath = maybeAbsolutePath => { + if (/^\/.*\/$/.test(maybeAbsolutePath)) { + // this 'path' is actually a regexp generated by dynamic requires. + // Don't treat it as an absolute path. + return false; + } + return /^(?:[a-z]:\\|\/)/i.test(maybeAbsolutePath); +}; + +/** + * + * @param {string} p path to normalize + * @returns {string} normalized version of path + */ +const normalizePathSeparator = p => p.replace(/\\/g, "/"); + +/** + * + * @param {string} context context for relative path + * @param {string} identifier identifier for path + * @returns {string} a converted relative path + */ +const _makePathsRelative = (context, identifier) => { + return identifier + .split(/([|! ])/) + .map(str => + looksLikeAbsolutePath(str) + ? normalizePathSeparator(path.relative(context, str)) + : str + ) + .join(""); +}; + +/** + * + * @param {string} context context used to create relative path + * @param {string} identifier identifier used to create relative path + * @param {MakeRelativePathsCache=} cache the cache object being set + * @returns {string} the returned relative path + */ +__webpack_unused_export__ = (context, identifier, cache) => { + if (!cache) return _makePathsRelative(context, identifier); + + const relativePaths = + cache.relativePaths || (cache.relativePaths = new Map()); + + let cachedResult; + let contextCache = relativePaths.get(context); + if (contextCache === undefined) { + relativePaths.set(context, (contextCache = new Map())); + } else { + cachedResult = contextCache.get(identifier); + } + + if (cachedResult !== undefined) { + return cachedResult; + } else { + const relativePath = _makePathsRelative(context, identifier); + contextCache.set(identifier, relativePath); + return relativePath; + } +}; + +/** + * @param {string} context absolute context path + * @param {string} request any request string may containing absolute paths, query string, etc. + * @returns {string} a new request string avoiding absolute paths when possible + */ +exports.tR = (context, request) => { + return request + .split("!") + .map(r => { + const splitPath = r.split("?", 2); + if (/^[a-zA-Z]:\\/.test(splitPath[0])) { + splitPath[0] = path.win32.relative(context, splitPath[0]); + if (!/^[a-zA-Z]:\\/.test(splitPath[0])) { + splitPath[0] = splitPath[0].replace(/\\/g, "/"); + } + } + if (/^\//.test(splitPath[0])) { + splitPath[0] = path.posix.relative(context, splitPath[0]); + } + if (!/^(\.\.\/|\/|[a-zA-Z]:\\)/.test(splitPath[0])) { + splitPath[0] = "./" + splitPath[0]; + } + return splitPath.join("?"); + }) + .join("!"); +}; + +/** + * @param {string} context absolute context path + * @param {string} request any request string + * @returns {string} a new request string using absolute paths when possible + */ +const _absolutify = (context, request) => { + return request + .split("!") + .map(r => requestToAbsolute(context, r)) + .join("!"); +}; + +__webpack_unused_export__ = _absolutify; + + /***/ }), /***/ 80850: @@ -137546,6 +142108,7 @@ module.exports = function () { ModuleFilenameHelpers: __webpack_require__(79843), NodeTargetPlugin: __webpack_require__(62791), StringXor: __webpack_require__(74395), + NormalModule: __webpack_require__(25963), sources: __webpack_require__(16520).sources, webpack: __webpack_require__(16520), } @@ -139209,6 +143772,14 @@ module.exports = require("jest-worker");; /***/ }), +/***/ 32282: +/***/ (function(module) { + +"use strict"; +module.exports = require("module");; + +/***/ }), + /***/ 36386: /***/ (function(module) { diff --git a/packages/next/package.json b/packages/next/package.json index 26d145bd50289..5057f90d64a5d 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -220,6 +220,7 @@ "loader-utils": "2.0.0", "lodash.curry": "4.1.1", "lru-cache": "5.1.1", + "mini-css-extract-plugin": "1.5.0", "nanoid": "3.1.20", "neo-async": "2.6.1", "ora": "4.0.4", diff --git a/packages/next/taskfile.js b/packages/next/taskfile.js index a505186bc2702..bbaad3f47a7b9 100644 --- a/packages/next/taskfile.js +++ b/packages/next/taskfile.js @@ -617,6 +617,40 @@ export async function ncc_webpack_sources2(task, opts) { .ncc({ packageName: 'webpack-sources2', externals, target: 'es5' }) .target('compiled/webpack-sources2') } +// eslint-disable-next-line camelcase +externals['mini-css-extract-plugin'] = + 'next/dist/compiled/mini-css-extract-plugin' +export async function ncc_mini_css_extract_plugin(task, opts) { + await task + .source( + relative( + __dirname, + resolve(require.resolve('mini-css-extract-plugin'), '../index.js') + ) + ) + .ncc({ + externals: { + ...externals, + './index': './index.js', + 'schema-utils': 'next/dist/compiled/schema-utils3', + }, + }) + .target('compiled/mini-css-extract-plugin') + await task + .source( + opts.src || + relative(__dirname, require.resolve('mini-css-extract-plugin')) + ) + .ncc({ + packageName: 'mini-css-extract-plugin', + externals: { + ...externals, + './index': './index.js', + 'schema-utils': 'next/dist/compiled/schema-utils3', + }, + }) + .target('compiled/mini-css-extract-plugin') +} // eslint-disable-next-line camelcase export async function ncc_webpack_bundle4(task, opts) { @@ -750,6 +784,7 @@ export async function ncc(task, opts) { 'ncc_webpack_bundle_packages', 'ncc_webpack_sources', 'ncc_webpack_sources2', + 'ncc_mini_css_extract_plugin', ], opts ) diff --git a/test/integration/css-features/test/index.test.js b/test/integration/css-features/test/index.test.js index c7d718f21ddcc..817c25785fee5 100644 --- a/test/integration/css-features/test/index.test.js +++ b/test/integration/css-features/test/index.test.js @@ -217,7 +217,7 @@ describe('CSS Modules: Importing Invalid Global CSS', () => { }) expect(code).not.toBe(0) expect(stderr).toContain('Failed to compile') - expect(stderr).toContain('pages/styles.module.css') + expect(stderr).toContain('pages/styles.css') expect(stderr).toContain('Selector "a" is not pure') }) }) diff --git a/yarn.lock b/yarn.lock index c163a6d979744..1420e7313f151 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11035,6 +11035,15 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +mini-css-extract-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.5.0.tgz#69bee3b273d2d4ee8649a2eb409514b7df744a27" + integrity sha512-SIbuLMv6jsk1FnLIU5OUG/+VMGUprEjM1+o2trOAx8i5KOKMrhyezb1dJ4Ugsykb8Jgq8/w5NEopy6escV9G7g== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + webpack-sources "^1.1.0" + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" From 288984b1ea843465069ffa54fda048d9a745872c Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 12 May 2021 18:33:51 +0200 Subject: [PATCH 2/2] enable contenthashing in webpack 5 (#25055) This improves long term caching by avoiding hash changes workaround fix #25013 The real problem is fixed by #24573 ## Bug - [x] Related issues linked using `fixes #number` - [ ] Integration tests added --- packages/next/build/webpack-config.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index 966f8f23f3404..9f3c72a177d24 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -902,13 +902,13 @@ export default async function getBaseWebpackConfig( isServer && isWebpack5 && !dev ? path.join(outputPath, 'chunks') : outputPath, - // On the server we don't use the chunkhash + // On the server we don't use hashes filename: isServer ? isWebpack5 && !dev ? '../[name].js' : '[name].js' : `static/chunks/${isDevFallback ? 'fallback/' : ''}[name]${ - dev ? '' : '-[chunkhash]' + dev ? '' : isWebpack5 ? '-[contenthash]' : '-[chunkhash]' }.js`, library: isServer ? undefined : '_N_E', libraryTarget: isServer ? 'commonjs2' : 'assign', @@ -1284,9 +1284,6 @@ export default async function getBaseWebpackConfig( webpackConfig.cache = cache - // @ts-ignore TODO: remove ignore when webpack 5 is stable - webpackConfig.optimization.realContentHash = false - if (process.env.NEXT_WEBPACK_LOGGING) { const logInfra = process.env.NEXT_WEBPACK_LOGGING.includes( 'infrastructure'