Nicholai 51e5af7746
Some checks are pending
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Waiting to run
I've begun refactoring the homepage, changing the NAV and am trying to restyle the site with more modern sensibilities.
2025-08-19 04:12:13 -06:00

25 lines
47 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
exports.id = "vendor-chunks/sqids";
exports.ids = ["vendor-chunks/sqids"];
exports.modules = {
/***/ "(ssr)/./node_modules/sqids/esm/sqids.js":
/*!*****************************************!*\
!*** ./node_modules/sqids/esm/sqids.js ***!
\*****************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Sqids),\n/* harmony export */ defaultOptions: () => (/* binding */ defaultOptions)\n/* harmony export */ });\nconst defaultOptions = {\n alphabet: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',\n minLength: 0,\n blocklist: new Set([\n '0rgasm',\n '1d10t',\n '1d1ot',\n '1di0t',\n '1diot',\n '1eccacu10',\n '1eccacu1o',\n '1eccacul0',\n '1eccaculo',\n '1mbec11e',\n '1mbec1le',\n '1mbeci1e',\n '1mbecile',\n 'a11upat0',\n 'a11upato',\n 'a1lupat0',\n 'a1lupato',\n 'aand',\n 'ah01e',\n 'ah0le',\n 'aho1e',\n 'ahole',\n 'al1upat0',\n 'al1upato',\n 'allupat0',\n 'allupato',\n 'ana1',\n 'ana1e',\n 'anal',\n 'anale',\n 'anus',\n 'arrapat0',\n 'arrapato',\n 'arsch',\n 'arse',\n 'ass',\n 'b00b',\n 'b00be',\n 'b01ata',\n 'b0ceta',\n 'b0iata',\n 'b0ob',\n 'b0obe',\n 'b0sta',\n 'b1tch',\n 'b1te',\n 'b1tte',\n 'ba1atkar',\n 'balatkar',\n 'bastard0',\n 'bastardo',\n 'batt0na',\n 'battona',\n 'bitch',\n 'bite',\n 'bitte',\n 'bo0b',\n 'bo0be',\n 'bo1ata',\n 'boceta',\n 'boiata',\n 'boob',\n 'boobe',\n 'bosta',\n 'bran1age',\n 'bran1er',\n 'bran1ette',\n 'bran1eur',\n 'bran1euse',\n 'branlage',\n 'branler',\n 'branlette',\n 'branleur',\n 'branleuse',\n 'c0ck',\n 'c0g110ne',\n 'c0g11one',\n 'c0g1i0ne',\n 'c0g1ione',\n 'c0gl10ne',\n 'c0gl1one',\n 'c0gli0ne',\n 'c0glione',\n 'c0na',\n 'c0nnard',\n 'c0nnasse',\n 'c0nne',\n 'c0u111es',\n 'c0u11les',\n 'c0u1l1es',\n 'c0u1lles',\n 'c0ui11es',\n 'c0ui1les',\n 'c0uil1es',\n 'c0uilles',\n 'c11t',\n 'c11t0',\n 'c11to',\n 'c1it',\n 'c1it0',\n 'c1ito',\n 'cabr0n',\n 'cabra0',\n 'cabrao',\n 'cabron',\n 'caca',\n 'cacca',\n 'cacete',\n 'cagante',\n 'cagar',\n 'cagare',\n 'cagna',\n 'cara1h0',\n 'cara1ho',\n 'caracu10',\n 'caracu1o',\n 'caracul0',\n 'caraculo',\n 'caralh0',\n 'caralho',\n 'cazz0',\n 'cazz1mma',\n 'cazzata',\n 'cazzimma',\n 'cazzo',\n 'ch00t1a',\n 'ch00t1ya',\n 'ch00tia',\n 'ch00tiya',\n 'ch0d',\n 'ch0ot1a',\n 'ch0ot1ya',\n 'ch0otia',\n 'ch0otiya',\n 'ch1asse',\n 'ch1avata',\n 'ch1er',\n 'ch1ng0',\n 'ch1ngadaz0s',\n 'ch1ngadazos',\n 'ch1ngader1ta',\n 'ch1ngaderita',\n 'ch1ngar',\n 'ch1ngo',\n 'ch1ngues',\n 'ch1nk',\n 'chatte',\n 'chiasse',\n 'chiavata',\n 'chier',\n 'ching0',\n 'chingadaz0s',\n 'chingadazos',\n 'chingader1ta',\n 'chingaderita',\n 'chingar',\n 'chingo',\n 'chingues',\n 'chink',\n 'cho0t1a',\n 'cho0t1ya',\n 'cho0tia',\n 'cho0tiya',\n 'chod',\n 'choot1a',\n 'choot1ya',\n 'chootia',\n 'chootiya',\n 'cl1t',\n 'cl1t0',\n 'cl1to',\n 'clit',\n 'clit0',\n 'clito',\n 'cock',\n 'cog110ne',\n 'cog11one',\n 'cog1i0ne',\n 'cog1ione',\n 'cogl10ne',\n 'cogl1one',\n 'cogli0ne',\n 'coglione',\n 'cona',\n 'connard',\n 'connasse',\n 'conne',\n 'cou111es',\n 'cou11les',\n 'cou1l1es',\n 'cou1lles',\n 'coui11es',\n 'coui1les',\n 'couil1es',\n 'couilles',\n 'cracker',\n 'crap',\n 'cu10',\n 'cu1att0ne',\n 'cu1attone',\n 'cu1er0',\n 'cu1ero',\n 'cu1o',\n 'cul0',\n 'culatt0ne',\n 'culattone',\n 'culer0',\n 'culero',\n 'culo',\n 'cum',\n 'cunt',\n 'd11d0',\n 'd11do',\n 'd1ck',\n 'd1ld0',\n 'd1ldo',\n 'damn',\n 'de1ch',\n 'deich',\n 'depp',\n 'di1d0',\n 'di1do',\n 'dick',\n 'dild0',\n 'dildo',\n 'dyke',\n 'encu1e',\n 'encule',\n 'enema',\n 'enf01re',\n 'enf0ire',\n 'enfo1re',\n 'enfoire',\n 'estup1d0',\n 'estup1do',\n 'estupid0',\n 'estupido',\n 'etr0n',\n 'etron',\n 'f0da',\n 'f0der',\n 'f0ttere',\n 'f0tters1',\n 'f0ttersi',\n 'f0tze',\n 'f0utre',\n 'f1ca',\n 'f1cker',\n 'f1ga',\n 'fag',\n 'fica',\n 'ficker',\n 'figa',\n 'foda',\n 'foder',\n 'fottere',\n 'fotters1',\n 'fottersi',\n 'fotze',\n 'foutre',\n 'fr0c10',\n 'fr0c1o',\n 'fr0ci0',\n 'fr0cio',\n 'fr0sc10',\n 'fr0sc1o',\n 'fr0sci0',\n 'fr0scio',\n 'froc10',\n 'froc1o',\n 'froci0',\n 'frocio',\n 'frosc10',\n 'frosc1o',\n 'frosci0',\n 'froscio',\n 'fuck',\n 'g00',\n 'g0o',\n 'g0u1ne',\n 'g0uine',\n 'gandu',\n 'go0',\n 'goo',\n 'gou1ne',\n 'gouine',\n 'gr0gnasse',\n 'grognasse',\n 'haram1',\n 'harami',\n 'haramzade',\n 'hund1n',\n 'hundin',\n 'id10t',\n 'id1ot',\n 'idi0t',\n 'idiot',\n 'imbec11e',\n 'imbec1le',\n 'imbeci1e',\n 'imbecile',\n 'j1zz',\n 'jerk',\n 'jizz',\n 'k1ke',\n 'kam1ne',\n 'kamine',\n 'kike',\n 'leccacu10',\n 'leccacu1o',\n 'leccacul0',\n 'leccaculo',\n 'm1erda',\n 'm1gn0tta',\n 'm1gnotta',\n 'm1nch1a',\n 'm1nchia',\n 'm1st',\n 'mam0n',\n 'mamahuev0',\n 'mamahuevo',\n 'mamon',\n 'masturbat10n',\n 'masturbat1on',\n 'masturbate',\n 'masturbati0n',\n 'masturbation',\n 'merd0s0',\n 'merd0so',\n 'merda',\n 'merde',\n 'merdos0',\n 'merdoso',\n 'mierda',\n 'mign0tta',\n 'mignotta',\n 'minch1a',\n 'minchia',\n 'mist',\n 'musch1',\n 'muschi',\n 'n1gger',\n 'neger',\n 'negr0',\n 'negre',\n 'negro',\n 'nerch1a',\n 'nerchia',\n 'nigger',\n 'orgasm',\n 'p00p',\n 'p011a',\n 'p01la',\n 'p0l1a',\n 'p0lla',\n 'p0mp1n0',\n 'p0mp1no',\n 'p0mpin0',\n 'p0mpino',\n 'p0op',\n 'p0rca',\n 'p0rn',\n 'p0rra',\n 'p0uff1asse',\n 'p0uffiasse',\n 'p1p1',\n 'p1pi',\n 'p1r1a',\n 'p1rla',\n 'p1sc10',\n 'p1sc1o',\n 'p1sci0',\n 'p1scio',\n 'p1sser',\n 'pa11e',\n 'pa1le',\n 'pal1e',\n 'palle',\n 'pane1e1r0',\n 'pane1e1ro',\n 'pane1eir0',\n 'pane1eiro',\n 'panele1r0',\n 'panele1ro',\n 'paneleir0',\n 'paneleiro',\n 'patakha',\n 'pec0r1na',\n 'pec0rina',\n 'pecor1na',\n 'pecorina',\n 'pen1s',\n 'pendej0',\n 'pendejo',\n 'penis',\n 'pip1',\n 'pipi',\n 'pir1a',\n 'pirla',\n 'pisc10',\n 'pisc1o',\n 'pisci0',\n 'piscio',\n 'pisser',\n 'po0p',\n 'po11a',\n 'po1la',\n 'pol1a',\n 'polla',\n 'pomp1n0',\n 'pomp1no',\n 'pompin0',\n 'pompino',\n 'poop',\n 'porca',\n 'porn',\n 'porra',\n 'pouff1asse',\n 'pouffiasse',\n 'pr1ck',\n 'prick',\n 'pussy',\n 'put1za',\n 'puta',\n 'puta1n',\n 'putain',\n 'pute',\n 'putiza',\n 'puttana',\n 'queca',\n 'r0mp1ba11e',\n 'r0mp1ba1le',\n 'r0mp1bal1e',\n 'r0mp1balle',\n 'r0mpiba11e',\n 'r0mpiba1le',\n 'r0mpibal1e',\n 'r0mpiballe',\n 'rand1',\n 'randi',\n 'rape',\n 'recch10ne',\n 'recch1one',\n 'recchi0ne',\n 'recchione',\n 'retard',\n 'romp1ba11e',\n 'romp1ba1le',\n 'romp1bal1e',\n 'romp1balle',\n 'rompiba11e',\n 'rompiba1le',\n 'rompibal1e',\n 'rompiballe',\n 'ruff1an0',\n 'ruff1ano',\n 'ruffian0',\n 'ruffiano',\n 's1ut',\n 'sa10pe',\n 'sa1aud',\n 'sa1ope',\n 'sacanagem',\n 'sal0pe',\n 'salaud',\n 'salope',\n 'saugnapf',\n 'sb0rr0ne',\n 'sb0rra',\n 'sb0rrone',\n 'sbattere',\n 'sbatters1',\n 'sbattersi',\n 'sborr0ne',\n 'sborra',\n 'sborrone',\n 'sc0pare',\n 'sc0pata',\n 'sch1ampe',\n 'sche1se',\n 'sche1sse',\n 'scheise',\n 'scheisse',\n 'schlampe',\n 'schwachs1nn1g',\n 'schwachs1nnig',\n 'schwachsinn1g',\n 'schwachsinnig',\n 'schwanz',\n 'scopare',\n 'scopata',\n 'sexy',\n 'sh1t',\n 'shit',\n 'slut',\n 'sp0mp1nare',\n 'sp0mpinare',\n 'spomp1nare',\n 'spompinare',\n 'str0nz0',\n 'str0nza',\n 'str0nzo',\n 'stronz0',\n 'stronza',\n 'stronzo',\n 'stup1d',\n 'stupid',\n 'succh1am1',\n 'succh1ami',\n 'succhiam1',\n 'succhiami',\n 'sucker',\n 't0pa',\n 'tapette',\n 'test1c1e',\n 'test1cle',\n 'testic1e',\n 'testicle',\n 'tette',\n 'topa',\n 'tr01a',\n 'tr0ia',\n 'tr0mbare',\n 'tr1ng1er',\n 'tr1ngler',\n 'tring1er',\n 'tringler',\n 'tro1a',\n 'troia',\n 'trombare',\n 'turd',\n 'twat',\n 'vaffancu10',\n 'vaffancu1o',\n 'vaffancul0',\n 'vaffanculo',\n 'vag1na',\n 'vagina',\n 'verdammt',\n 'verga',\n 'w1chsen',\n 'wank',\n 'wichsen',\n 'x0ch0ta',\n 'x0chota',\n 'xana',\n 'xoch0ta',\n 'xochota',\n 'z0cc01a',\n 'z0cc0la',\n 'z0cco1a',\n 'z0ccola',\n 'z1z1',\n 'z1zi',\n 'ziz1',\n 'zizi',\n 'zocc01a',\n 'zocc0la',\n 'zocco1a',\n 'zoccola',\n ]),\n};\nclass Sqids {\n constructor(options) {\n var _a, _b, _c;\n const alphabet = (_a = options === null || options === void 0 ? void 0 : options.alphabet) !== null && _a !== void 0 ? _a : defaultOptions.alphabet;\n const minLength = (_b = options === null || options === void 0 ? void 0 : options.minLength) !== null && _b !== void 0 ? _b : defaultOptions.minLength;\n const blocklist = (_c = options === null || options === void 0 ? void 0 : options.blocklist) !== null && _c !== void 0 ? _c : defaultOptions.blocklist;\n if (new Blob([alphabet]).size !== alphabet.length) {\n throw new Error('Alphabet cannot contain multibyte characters');\n }\n const minAlphabetLength = 3;\n if (alphabet.length < minAlphabetLength) {\n throw new Error(`Alphabet length must be at least ${minAlphabetLength}`);\n }\n if (new Set(alphabet).size !== alphabet.length) {\n throw new Error('Alphabet must contain unique characters');\n }\n const minLengthLimit = 255;\n if (typeof minLength !== 'number' ||\n minLength < 0 ||\n minLength > minLengthLimit) {\n throw new Error(`Minimum length has to be between 0 and ${minLengthLimit}`);\n }\n const filteredBlocklist = new Set();\n const alphabetChars = alphabet.toLowerCase().split('');\n for (const word of blocklist) {\n if (word.length >= 3) {\n const wordLowercased = word.toLowerCase();\n const wordChars = wordLowercased.split('');\n const intersection = wordChars.filter((c) => alphabetChars.includes(c));\n if (intersection.length === wordChars.length) {\n filteredBlocklist.add(wordLowercased);\n }\n }\n }\n this.alphabet = this.shuffle(alphabet);\n this.minLength = minLength;\n this.blocklist = filteredBlocklist;\n }\n encode(numbers) {\n if (numbers.length === 0) {\n return '';\n }\n const inRangeNumbers = numbers.filter((n) => n >= 0 && n <= this.maxValue());\n if (inRangeNumbers.length !== numbers.length) {\n throw new Error(`Encoding supports numbers between 0 and ${this.maxValue()}`);\n }\n return this.encodeNumbers(numbers);\n }\n decode(id) {\n const ret = [];\n if (id === '') {\n return ret;\n }\n const alphabetChars = this.alphabet.split('');\n for (const c of id.split('')) {\n if (!alphabetChars.includes(c)) {\n return ret;\n }\n }\n const prefix = id.charAt(0);\n const offset = this.alphabet.indexOf(prefix);\n let alphabet = this.alphabet.slice(offset) + this.alphabet.slice(0, offset);\n alphabet = alphabet.split('').reverse().join('');\n let slicedId = id.slice(1);\n while (slicedId.length > 0) {\n const separator = alphabet.slice(0, 1);\n const chunks = slicedId.split(separator);\n if (chunks.length > 0) {\n if (chunks[0] === '') {\n return ret;\n }\n ret.push(this.toNumber(chunks[0], alphabet.slice(1)));\n if (chunks.length > 1) {\n alphabet = this.shuffle(alphabet);\n }\n }\n slicedId = chunks.slice(1).join(separator);\n }\n return ret;\n }\n encodeNumbers(numbers, increment = 0) {\n if (increment > this.alphabet.length) {\n throw new Error('Reached max attempts to re-generate the ID');\n }\n let offset = numbers.reduce((a, v, i) => this.alphabet[v % this.alphabet.length].codePointAt(0) + i + a, numbers.length) % this.alphabet.length;\n offset = (offset + increment) % this.alphabet.length;\n let alphabet = this.alphabet.slice(offset) + this.alphabet.slice(0, offset);\n const prefix = alphabet.charAt(0);\n alphabet = alphabet.split('').reverse().join('');\n const ret = [prefix];\n for (let i = 0; i !== numbers.length; i++) {\n const num = numbers[i];\n ret.push(this.toId(num, alphabet.slice(1)));\n if (i < numbers.length - 1) {\n ret.push(alphabet.slice(0, 1));\n alphabet = this.shuffle(alphabet);\n }\n }\n let id = ret.join('');\n if (this.minLength > id.length) {\n id += alphabet.slice(0, 1);\n while (this.minLength - id.length > 0) {\n alphabet = this.shuffle(alphabet);\n id += alphabet.slice(0, Math.min(this.minLength - id.length, alphabet.length));\n }\n }\n if (this.isBlockedId(id)) {\n id = this.encodeNumbers(numbers, increment + 1);\n }\n return id;\n }\n shuffle(alphabet) {\n const chars = alphabet.split('');\n for (let i = 0, j = chars.length - 1; j > 0; i++, j--) {\n const r = (i * j + chars[i].codePointAt(0) + chars[j].codePointAt(0)) %\n chars.length;\n [chars[i], chars[r]] = [chars[r], chars[i]];\n }\n return chars.join('');\n }\n toId(num, alphabet) {\n const id = [];\n const chars = alphabet.split('');\n let result = num;\n do {\n id.unshift(chars[result % chars.length]);\n result = Math.floor(result / chars.length);\n } while (result > 0);\n return id.join('');\n }\n toNumber(id, alphabet) {\n const chars = alphabet.split('');\n return id.split('').reduce((a, v) => a * chars.length + chars.indexOf(v), 0);\n }\n isBlockedId(id) {\n const lowercaseId = id.toLowerCase();\n for (const word of this.blocklist) {\n if (word.length <= lowercaseId.length) {\n if (lowercaseId.length <= 3 || word.length <= 3) {\n if (lowercaseId === word) {\n return true;\n }\n }\n else if (/\\d/.test(word)) {\n if (lowercaseId.startsWith(word) || lowercaseId.endsWith(word)) {\n return true;\n }\n }\n else if (lowercaseId.includes(word)) {\n return true;\n }\n }\n }\n return false;\n }\n maxValue() {\n return Number.MAX_SAFE_INTEGER;\n }\n}\n//# sourceMappingURL=sqids.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvc3FpZHMvZXNtL3NxaWRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRUFBZ0Usa0JBQWtCO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0UsZUFBZTtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUVBQXVFLGdCQUFnQjtBQUN2RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isc0JBQXNCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLE9BQU87QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9zcWlkcy9lc20vc3FpZHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICAgIGFscGhhYmV0OiAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknLFxuICAgIG1pbkxlbmd0aDogMCxcbiAgICBibG9ja2xpc3Q6IG5ldyBTZXQoW1xuICAgICAgICAnMHJnYXNtJyxcbiAgICAgICAgJzFkMTB0JyxcbiAgICAgICAgJzFkMW90JyxcbiAgICAgICAgJzFkaTB0JyxcbiAgICAgICAgJzFkaW90JyxcbiAgICAgICAgJzFlY2NhY3UxMCcsXG4gICAgICAgICcxZWNjYWN1MW8nLFxuICAgICAgICAnMWVjY2FjdWwwJyxcbiAgICAgICAgJzFlY2NhY3VsbycsXG4gICAgICAgICcxbWJlYzExZScsXG4gICAgICAgICcxbWJlYzFsZScsXG4gICAgICAgICcxbWJlY2kxZScsXG4gICAgICAgICcxbWJlY2lsZScsXG4gICAgICAgICdhMTF1cGF0MCcsXG4gICAgICAgICdhMTF1cGF0bycsXG4gICAgICAgICdhMWx1cGF0MCcsXG4gICAgICAgICdhMWx1cGF0bycsXG4gICAgICAgICdhYW5kJyxcbiAgICAgICAgJ2FoMDFlJyxcbiAgICAgICAgJ2FoMGxlJyxcbiAgICAgICAgJ2FobzFlJyxcbiAgICAgICAgJ2Fob2xlJyxcbiAgICAgICAgJ2FsMXVwYXQwJyxcbiAgICAgICAgJ2FsMXVwYXRvJyxcbiAgICAgICAgJ2FsbHVwYXQwJyxcbiAgICAgICAgJ2FsbHVwYXRvJyxcbiAgICAgICAgJ2FuYTEnLFxuICAgICAgICAnYW5hMWUnLFxuICAgICAgICAnYW5hbCcsXG4gICAgICAgICdhbmFsZScsXG4gICAgICAgICdhbnVzJyxcbiAgICAgICAgJ2FycmFwYXQwJyxcbiAgICAgICAgJ2FycmFwYXRvJyxcbiAgICAgICAgJ2Fyc2NoJyxcbiAgICAgICAgJ2Fyc2UnLFxuICAgICAgICAnYXNzJyxcbiAgICAgICAgJ2IwMGInLFxuICAgICAgICAnYjAwYmUnLFxuICAgICAgICAnYjAxYXRhJyxcbiAgICAgICAgJ2IwY2V0YScsXG4gICAgICAgICdiMGlhdGEnLFxuICAgICAgICAnYjBvYicsXG4gICAgICAgICdiMG9iZScsXG4gICAgICAgICdiMHN0YScsXG4gICAgICAgICdiMXRjaCcsXG4gICAgICAgICdiMXRlJyxcbiAgICAgICAgJ2IxdHRlJyxcbiAgICAgICAgJ2JhMWF0a2FyJyxcbiAgICAgICAgJ2JhbGF0a2FyJyxcbiAgICAgICAgJ2Jhc3RhcmQwJyxcbiAgICAgICAgJ2Jhc3RhcmRvJyxcbiAgICAgICAgJ2JhdHQwbmEnLFxuICAgICAgICAnYmF0dG9uYScsXG4gICAgICAgICdiaXRjaCcsXG4gICAgICAgICdiaXRlJyxcbiAgICAgICAgJ2JpdHRlJyxcbiAgICAgICAgJ2JvMGInLFxuICAgICAgICAnYm8wYmUnLFxuICAgICAgICAnYm8xYXRhJyxcbiAgICAgICAgJ2JvY2V0YScsXG4gICAgICAgICdib2lhdGEnLFxuICAgICAgICAnYm9vYicsXG4gICAgICAgICdib29iZScsXG4gICAgICAgICdib3N0YScsXG4gICAgICAgICdicmFuMWFnZScsXG4gICAgICAgICdicmFuMWVyJyxcbiAgICAgICAgJ2JyYW4xZXR0ZScsXG4gICAgICAgICdicmFuMWV1cicsXG4gICAgICAgICdicmFuMWV1c2UnLFxuICAgICAgICAnYnJhbmxhZ2UnLFxuICAgICAgICAnYnJhbmxlcicsXG4gICAgICAgICdicmFubGV0dGUnLFxuICAgICAgICAnYnJhbmxldXInLFxuICAgICAgICAnYnJhbmxldXNlJyxcbiAgICAgICAgJ2MwY2snLFxuICAgICAgICAnYzBnMTEwbmUnLFxuICAgICAgICAnYzBnMTFvbmUnLFxuICAgICAgICAnYzBnMWkwbmUnLFxuICAgICAgICAnYzBnMWlvbmUnLFxuICAgICAgICAnYzBnbDEwbmUnLFxuICAgICAgICAnYzBnbDFvbmUnLFxuICAgICAgICAnYzBnbGkwbmUnLFxuICAgICAgICAnYzBnbGlvbmUnLFxuICAgICAgICAnYzBuYScsXG4gICAgICAgICdjMG5uYXJkJyxcbiAgICAgICAgJ2Mwbm5hc3NlJyxcbiAgICAgICAgJ2Mwbm5lJyxcbiAgICAgICAgJ2MwdTExMWVzJyxcbiAgICAgICAgJ2MwdTExbGVzJyxcbiAgICAgICAgJ2MwdTFsMWVzJyxcbiAgICAgICAgJ2MwdTFsbGVzJyxcbiAgICAgICAgJ2MwdWkxMWVzJyxcbiAgICAgICAgJ2MwdWkxbGVzJyxcbiAgICAgICAgJ2MwdWlsMWVzJyxcbiAgICAgICAgJ2MwdWlsbGVzJyxcbiAgICAgICAgJ2MxMXQnLFxuICAgICAgICAnYzExdDAnLFxuICAgICAgICAnYzExdG8nLFxuICAgICAgICAnYzFpdCcsXG4gICAgICAgICdjMWl0MCcsXG4gICAgICAgICdjMWl0bycsXG4gICAgICAgICdjYWJyMG4nLFxuICAgICAgICAnY2FicmEwJyxcbiAgICAgICAgJ2NhYnJhbycsXG4gICAgICAgICdjYWJyb24nLFxuICAgICAgICAnY2FjYScsXG4gICAgICAgICdjYWNjYScsXG4gICAgICAgICdjYWNldGUnLFxuICAgICAgICAnY2FnYW50ZScsXG4gICAgICAgICdjYWdhcicsXG4gICAgICAgICdjYWdhcmUnLFxuICAgICAgICAnY2FnbmEnLFxuICAgICAgICAnY2FyYTFoMCcsXG4gICAgICAgICdjYXJhMWhvJyxcbiAgICAgICAgJ2NhcmFjdTEwJyxcbiAgICAgICAgJ2NhcmFjdTFvJyxcbiAgICAgICAgJ2NhcmFjdWwwJyxcbiAgICAgICAgJ2NhcmFjdWxvJyxcbiAgICAgICAgJ2NhcmFsaDAnLFxuICAgICAgICAnY2FyYWxobycsXG4gICAgICAgICdjYXp6MCcsXG4gICAgICAgICdjYXp6MW1tYScsXG4gICAgICAgICdjYXp6YXRhJyxcbiAgICAgICAgJ2NhenppbW1hJyxcbiAgICAgICAgJ2NhenpvJyxcbiAgICAgICAgJ2NoMDB0MWEnLFxuICAgICAgICAnY2gwMHQxeWEnLFxuICAgICAgICAnY2gwMHRpYScsXG4gICAgICAgICdjaDAwdGl5YScsXG4gICAgICAgICdjaDBkJyxcbiAgICAgICAgJ2NoMG90MWEnLFxuICAgICAgICAnY2gwb3QxeWEnLFxuICAgICAgICAnY2gwb3RpYScsXG4gICAgICAgICdjaDBvdGl5YScsXG4gICAgICAgICdjaDFhc3NlJyxcbiAgICAgICAgJ2NoMWF2YXRhJyxcbiAgICAgICAgJ2NoMWVyJyxcbiAgICAgICAgJ2NoMW5nMCcsXG4gICAgICAgICdjaDFuZ2FkYXowcycsXG4gICAgICAgICdjaDFuZ2FkYXpvcycsXG4gICAgICAgICdjaDFuZ2FkZXIxdGEnLFxuICAgICAgICAnY2gxbmdhZGVyaXRhJyxcbiAgICAgICAgJ2NoMW5nYXInLFxuICAgICAgICAnY2gxbmdvJyxcbiAgICAgICAgJ2NoMW5ndWVzJyxcbiAgICAgICAgJ2NoMW5rJyxcbiAgICAgICAgJ2NoYXR0ZScsXG4gICAgICAgICdjaGlhc3NlJyxcbiAgICAgICAgJ2NoaWF2YXRhJyxcbiAgICAgICAgJ2NoaWVyJyxcbiAgICAgICAgJ2NoaW5nMCcsXG4gICAgICAgICdjaGluZ2FkYXowcycsXG4gICAgICAgICdjaGluZ2FkYXpvcycsXG4gICAgICAgICdjaGluZ2FkZXIxdGEnLFxuICAgICAgICAnY2hpbmdhZGVyaXRhJyxcbiAgICAgICAgJ2NoaW5nYXInLFxuICAgICAgICAnY2hpbmdvJyxcbiAgICAgICAgJ2NoaW5ndWVzJyxcbiAgICAgICAgJ2NoaW5rJyxcbiAgICAgICAgJ2NobzB0MWEnLFxuICAgICAgICAnY2hvMHQxeWEnLFxuICAgICAgICAnY2hvMHRpYScsXG4gICAgICAgICdjaG8wdGl5YScsXG4gICAgICAgICdjaG9kJyxcbiAgICAgICAgJ2Nob290MWEnLFxuICAgICAgICAnY2hvb3QxeWEnLFxuICAgICAgICAnY2hvb3RpYScsXG4gICAgICAgICdjaG9vdGl5YScsXG4gICAgICAgICdjbDF0JyxcbiAgICAgICAgJ2NsMXQwJyxcbiAgICAgICAgJ2NsMXRvJyxcbiAgICAgICAgJ2NsaXQnLFxuICAgICAgICAnY2xpdDAnLFxuICAgICAgICAnY2xpdG8nLFxuICAgICAgICAnY29jaycsXG4gICAgICAgICdjb2cxMTBuZScsXG4gICAgICAgICdjb2cxMW9uZScsXG4gICAgICAgICdjb2cxaTBuZScsXG4gICAgICAgICdjb2cxaW9uZScsXG4gICAgICAgICdjb2dsMTBuZScsXG4gICAgICAgICdjb2dsMW9uZScsXG4gICAgICAgICdjb2dsaTBuZScsXG4gICAgICAgICdjb2dsaW9uZScsXG4gICAgICAgICdjb25hJyxcbiAgICAgICAgJ2Nvbm5hcmQnLFxuICAgICAgICAnY29ubmFzc2UnLFxuICAgICAgICAnY29ubmUnLFxuICAgICAgICAnY291MTExZXMnLFxuICAgICAgICAnY291MTFsZXMnLFxuICAgICAgICAnY291MWwxZXMnLFxuICAgICAgICAnY291MWxsZXMnLFxuICAgICAgICAnY291aTExZXMnLFxuICAgICAgICAnY291aTFsZXMnLFxuICAgICAgICAnY291aWwxZXMnLFxuICAgICAgICAnY291aWxsZXMnLFxuICAgICAgICAnY3JhY2tlcicsXG4gICAgICAgICdjcmFwJyxcbiAgICAgICAgJ2N1MTAnLFxuICAgICAgICAnY3UxYXR0MG5lJyxcbiAgICAgICAgJ2N1MWF0dG9uZScsXG4gICAgICAgICdjdTFlcjAnLFxuICAgICAgICAnY3UxZXJvJyxcbiAgICAgICAgJ2N1MW8nLFxuICAgICAgICAnY3VsMCcsXG4gICAgICAgICdjdWxhdHQwbmUnLFxuICAgICAgICAnY3VsYXR0b25lJyxcbiAgICAgICAgJ2N1bGVyMCcsXG4gICAgICAgICdjdWxlcm8nLFxuICAgICAgICAnY3VsbycsXG4gICAgICAgICdjdW0nLFxuICAgICAgICAnY3VudCcsXG4gICAgICAgICdkMTFkMCcsXG4gICAgICAgICdkMTFkbycsXG4gICAgICAgICdkMWNrJyxcbiAgICAgICAgJ2QxbGQwJyxcbiAgICAgICAgJ2QxbGRvJyxcbiAgICAgICAgJ2RhbW4nLFxuICAgICAgICAnZGUxY2gnLFxuICAgICAgICAnZGVpY2gnLFxuICAgICAgICAnZGVwcCcsXG4gICAgICAgICdkaTFkMCcsXG4gICAgICAgICdkaTFkbycsXG4gICAgICAgICdkaWNrJyxcbiAgICAgICAgJ2RpbGQwJyxcbiAgICAgICAgJ2RpbGRvJyxcbiAgICAgICAgJ2R5a2UnLFxuICAgICAgICAnZW5jdTFlJyxcbiAgICAgICAgJ2VuY3VsZScsXG4gICAgICAgICdlbmVtYScsXG4gICAgICAgICdlbmYwMXJlJyxcbiAgICAgICAgJ2VuZjBpcmUnLFxuICAgICAgICAnZW5mbzFyZScsXG4gICAgICAgICdlbmZvaXJlJyxcbiAgICAgICAgJ2VzdHVwMWQwJyxcbiAgICAgICAgJ2VzdHVwMWRvJyxcbiAgICAgICAgJ2VzdHVwaWQwJyxcbiAgICAgICAgJ2VzdHVwaWRvJyxcbiAgICAgICAgJ2V0cjBuJyxcbiAgICAgICAgJ2V0cm9uJyxcbiAgICAgICAgJ2YwZGEnLFxuICAgICAgICAnZjBkZXInLFxuICAgICAgICAnZjB0dGVyZScsXG4gICAgICAgICdmMHR0ZXJzMScsXG4gICAgICAgICdmMHR0ZXJzaScsXG4gICAgICAgICdmMHR6ZScsXG4gICAgICAgICdmMHV0cmUnLFxuICAgICAgICAnZjFjYScsXG4gICAgICAgICdmMWNrZXInLFxuICAgICAgICAnZjFnYScsXG4gICAgICAgICdmYWcnLFxuICAgICAgICAnZmljYScsXG4gICAgICAgICdmaWNrZXInLFxuICAgICAgICAnZmlnYScsXG4gICAgICAgICdmb2RhJyxcbiAgICAgICAgJ2ZvZGVyJyxcbiAgICAgICAgJ2ZvdHRlcmUnLFxuICAgICAgICAnZm90dGVyczEnLFxuICAgICAgICAnZm90dGVyc2knLFxuICAgICAgICAnZm90emUnLFxuICAgICAgICAnZm91dHJlJyxcbiAgICAgICAgJ2ZyMGMxMCcsXG4gICAgICAgICdmcjBjMW8nLFxuICAgICAgICAnZnIwY2kwJyxcbiAgICAgICAgJ2ZyMGNpbycsXG4gICAgICAgICdmcjBzYzEwJyxcbiAgICAgICAgJ2ZyMHNjMW8nLFxuICAgICAgICAnZnIwc2NpMCcsXG4gICAgICAgICdmcjBzY2lvJyxcbiAgICAgICAgJ2Zyb2MxMCcsXG4gICAgICAgICdmcm9jMW8nLFxuICAgICAgICAnZnJvY2kwJyxcbiAgICAgICAgJ2Zyb2NpbycsXG4gICAgICAgICdmcm9zYzEwJyxcbiAgICAgICAgJ2Zyb3NjMW8nLFxuICAgICAgICAnZnJvc2NpMCcsXG4gICAgICAgICdmcm9zY2lvJyxcbiAgICAgICAgJ2Z1Y2snLFxuICAgICAgICAnZzAwJyxcbiAgICAgICAgJ2cwbycsXG4gICAgICAgICdnMHUxbmUnLFxuICAgICAgICAnZzB1aW5lJyxcbiAgICAgICAgJ2dhbmR1JyxcbiAgICAgICAgJ2dvMCcsXG4gICAgICAgICdnb28nLFxuICAgICAgICAnZ291MW5lJyxcbiAgICAgICAgJ2dvdWluZScsXG4gICAgICAgICdncjBnbmFzc2UnLFxuICAgICAgICAnZ3JvZ25hc3NlJyxcbiAgICAgICAgJ2hhcmFtMScsXG4gICAgICAgICdoYXJhbWknLFxuICAgICAgICAnaGFyYW16YWRlJyxcbiAgICAgICAgJ2h1bmQxbicsXG4gICAgICAgICdodW5kaW4nLFxuICAgICAgICAnaWQxMHQnLFxuICAgICAgICAnaWQxb3QnLFxuICAgICAgICAnaWRpMHQnLFxuICAgICAgICAnaWRpb3QnLFxuICAgICAgICAnaW1iZWMxMWUnLFxuICAgICAgICAnaW1iZWMxbGUnLFxuICAgICAgICAnaW1iZWNpMWUnLFxuICAgICAgICAnaW1iZWNpbGUnLFxuICAgICAgICAnajF6eicsXG4gICAgICAgICdqZXJrJyxcbiAgICAgICAgJ2ppenonLFxuICAgICAgICAnazFrZScsXG4gICAgICAgICdrYW0xbmUnLFxuICAgICAgICAna2FtaW5lJyxcbiAgICAgICAgJ2tpa2UnLFxuICAgICAgICAnbGVjY2FjdTEwJyxcbiAgICAgICAgJ2xlY2NhY3UxbycsXG4gICAgICAgICdsZWNjYWN1bDAnLFxuICAgICAgICAnbGVjY2FjdWxvJyxcbiAgICAgICAgJ20xZXJkYScsXG4gICAgICAgICdtMWduMHR0YScsXG4gICAgICAgICdtMWdub3R0YScsXG4gICAgICAgICdtMW5jaDFhJyxcbiAgICAgICAgJ20xbmNoaWEnLFxuICAgICAgICAnbTFzdCcsXG4gICAgICAgICdtYW0wbicsXG4gICAgICAgICdtYW1haHVldjAnLFxuICAgICAgICAnbWFtYWh1ZXZvJyxcbiAgICAgICAgJ21hbW9uJyxcbiAgICAgICAgJ21hc3R1cmJhdDEwbicsXG4gICAgICAgICdtYXN0dXJiYXQxb24nLFxuICAgICAgICAnbWFzdHVyYmF0ZScsXG4gICAgICAgICdtYXN0dXJiYXRpMG4nLFxuICAgICAgICAnbWFzdHVyYmF0aW9uJyxcbiAgICAgICAgJ21lcmQwczAnLFxuICAgICAgICAnbWVyZDBzbycsXG4gICAgICAgICdtZXJkYScsXG4gICAgICAgICdtZXJkZScsXG4gICAgICAgICdtZXJkb3MwJyxcbiAgICAgICAgJ21lcmRvc28nLFxuICAgICAgICAnbWllcmRhJyxcbiAgICAgICAgJ21pZ24wdHRhJyxcbiAgICAgICAgJ21pZ25vdHRhJyxcbiAgICAgICAgJ21pbmNoMWEnLFxuICAgICAgICAnbWluY2hpYScsXG4gICAgICAgICdtaXN0JyxcbiAgICAgICAgJ211c2NoMScsXG4gICAgICAgICdtdXNjaGknLFxuICAgICAgICAnbjFnZ2VyJyxcbiAgICAgICAgJ25lZ2VyJyxcbiAgICAgICAgJ25lZ3IwJyxcbiAgICAgICAgJ25lZ3JlJyxcbiAgICAgICAgJ25lZ3JvJyxcbiAgICAgICAgJ25lcmNoMWEnLFxuICAgICAgICAnbmVyY2hpYScsXG4gICAgICAgICduaWdnZXInLFxuICAgICAgICAnb3JnYXNtJyxcbiAgICAgICAgJ3AwMHAnLFxuICAgICAgICAncDAxMWEnLFxuICAgICAgICAncDAxbGEnLFxuICAgICAgICAncDBsMWEnLFxuICAgICAgICAncDBsbGEnLFxuICAgICAgICAncDBtcDFuMCcsXG4gICAgICAgICdwMG1wMW5vJyxcbiAgICAgICAgJ3AwbXBpbjAnLFxuICAgICAgICAncDBtcGlubycsXG4gICAgICAgICdwMG9wJyxcbiAgICAgICAgJ3AwcmNhJyxcbiAgICAgICAgJ3Awcm4nLFxuICAgICAgICAncDBycmEnLFxuICAgICAgICAncDB1ZmYxYXNzZScsXG4gICAgICAgICdwMHVmZmlhc3NlJyxcbiAgICAgICAgJ3AxcDEnLFxuICAgICAgICAncDFwaScsXG4gICAgICAgICdwMXIxYScsXG4gICAgICAgICdwMXJsYScsXG4gICAgICAgICdwMXNjMTAnLFxuICAgICAgICAncDFzYzFvJyxcbiAgICAgICAgJ3Axc2NpMCcsXG4gICAgICAgICdwMXNjaW8nLFxuICAgICAgICAncDFzc2VyJyxcbiAgICAgICAgJ3BhMTFlJyxcbiAgICAgICAgJ3BhMWxlJyxcbiAgICAgICAgJ3BhbDFlJyxcbiAgICAgICAgJ3BhbGxlJyxcbiAgICAgICAgJ3BhbmUxZTFyMCcsXG4gICAgICAgICdwYW5lMWUxcm8nLFxuICAgICAgICAncGFuZTFlaXIwJyxcbiAgICAgICAgJ3BhbmUxZWlybycsXG4gICAgICAgICdwYW5lbGUxcjAnLFxuICAgICAgICAncGFuZWxlMXJvJyxcbiAgICAgICAgJ3BhbmVsZWlyMCcsXG4gICAgICAgICdwYW5lbGVpcm8nLFxuICAgICAgICAncGF0YWtoYScsXG4gICAgICAgICdwZWMwcjFuYScsXG4gICAgICAgICdwZWMwcmluYScsXG4gICAgICAgICdwZWNvcjFuYScsXG4gICAgICAgICdwZWNvcmluYScsXG4gICAgICAgICdwZW4xcycsXG4gICAgICAgICdwZW5kZWowJyxcbiAgICAgICAgJ3BlbmRlam8nLFxuICAgICAgICAncGVuaXMnLFxuICAgICAgICAncGlwMScsXG4gICAgICAgICdwaXBpJyxcbiAgICAgICAgJ3BpcjFhJyxcbiAgICAgICAgJ3BpcmxhJyxcbiAgICAgICAgJ3Bpc2MxMCcsXG4gICAgICAgICdwaXNjMW8nLFxuICAgICAgICAncGlzY2kwJyxcbiAgICAgICAgJ3Bpc2NpbycsXG4gICAgICAgICdwaXNzZXInLFxuICAgICAgICAncG8wcCcsXG4gICAgICAgICdwbzExYScsXG4gICAgICAgICdwbzFsYScsXG4gICAgICAgICdwb2wxYScsXG4gICAgICAgICdwb2xsYScsXG4gICAgICAgICdwb21wMW4wJyxcbiAgICAgICAgJ3BvbXAxbm8nLFxuICAgICAgICAncG9tcGluMCcsXG4gICAgICAgICdwb21waW5vJyxcbiAgICAgICAgJ3Bvb3AnLFxuICAgICAgICAncG9yY2EnLFxuICAgICAgICAncG9ybicsXG4gICAgICAgICdwb3JyYScsXG4gICAgICAgICdwb3VmZjFhc3NlJyxcbiAgICAgICAgJ3BvdWZmaWFzc2UnLFxuICAgICAgICAncHIxY2snLFxuICAgICAgICAncHJpY2snLFxuICAgICAgICAncHVzc3knLFxuICAgICAgICAncHV0MXphJyxcbiAgICAgICAgJ3B1dGEnLFxuICAgICAgICAncHV0YTFuJyxcbiAgICAgICAgJ3B1dGFpbicsXG4gICAgICAgICdwdXRlJyxcbiAgICAgICAgJ3B1dGl6YScsXG4gICAgICAgICdwdXR0YW5hJyxcbiAgICAgICAgJ3F1ZWNhJyxcbiAgICAgICAgJ3IwbXAxYmExMWUnLFxuICAgICAgICAncjBtcDFiYTFsZScsXG4gICAgICAgICdyMG1wMWJhbDFlJyxcbiAgICAgICAgJ3IwbXAxYmFsbGUnLFxuICAgICAgICAncjBtcGliYTExZScsXG4gICAgICAgICdyMG1waWJhMWxlJyxcbiAgICAgICAgJ3IwbXBpYmFsMWUnLFxuICAgICAgICAncjBtcGliYWxsZScsXG4gICAgICAgICdyYW5kMScsXG4gICAgICAgICdyYW5kaScsXG4gICAgICAgICdyYXBlJyxcbiAgICAgICAgJ3JlY2NoMTBuZScsXG4gICAgICAgICdyZWNjaDFvbmUnLFxuICAgICAgICAncmVjY2hpMG5lJyxcbiAgICAgICAgJ3JlY2NoaW9uZScsXG4gICAgICAgICdyZXRhcmQnLFxuICAgICAgICAncm9tcDFiYTExZScsXG4gICAgICAgICdyb21wMWJhMWxlJyxcbiAgICAgICAgJ3JvbXAxYmFsMWUnLFxuICAgICAgICAncm9tcDFiYWxsZScsXG4gICAgICAgICdyb21waWJhMTFlJyxcbiAgICAgICAgJ3JvbXBpYmExbGUnLFxuICAgICAgICAncm9tcGliYWwxZScsXG4gICAgICAgICdyb21waWJhbGxlJyxcbiAgICAgICAgJ3J1ZmYxYW4wJyxcbiAgICAgICAgJ3J1ZmYxYW5vJyxcbiAgICAgICAgJ3J1ZmZpYW4wJyxcbiAgICAgICAgJ3J1ZmZpYW5vJyxcbiAgICAgICAgJ3MxdXQnLFxuICAgICAgICAnc2ExMHBlJyxcbiAgICAgICAgJ3NhMWF1ZCcsXG4gICAgICAgICdzYTFvcGUnLFxuICAgICAgICAnc2FjYW5hZ2VtJyxcbiAgICAgICAgJ3NhbDBwZScsXG4gICAgICAgICdzYWxhdWQnLFxuICAgICAgICAnc2Fsb3BlJyxcbiAgICAgICAgJ3NhdWduYXBmJyxcbiAgICAgICAgJ3NiMHJyMG5lJyxcbiAgICAgICAgJ3NiMHJyYScsXG4gICAgICAgICdzYjBycm9uZScsXG4gICAgICAgICdzYmF0dGVyZScsXG4gICAgICAgICdzYmF0dGVyczEnLFxuICAgICAgICAnc2JhdHRlcnNpJyxcbiAgICAgICAgJ3Nib3JyMG5lJyxcbiAgICAgICAgJ3Nib3JyYScsXG4gICAgICAgICdzYm9ycm9uZScsXG4gICAgICAgICdzYzBwYXJlJyxcbiAgICAgICAgJ3NjMHBhdGEnLFxuICAgICAgICAnc2NoMWFtcGUnLFxuICAgICAgICAnc2NoZTFzZScsXG4gICAgICAgICdzY2hlMXNzZScsXG4gICAgICAgICdzY2hlaXNlJyxcbiAgICAgICAgJ3NjaGVpc3NlJyxcbiAgICAgICAgJ3NjaGxhbXBlJyxcbiAgICAgICAgJ3NjaHdhY2hzMW5uMWcnLFxuICAgICAgICAnc2Nod2FjaHMxbm5pZycsXG4gICAgICAgICdzY2h3YWNoc2lubjFnJyxcbiAgICAgICAgJ3NjaHdhY2hzaW5uaWcnLFxuICAgICAgICAnc2Nod2FueicsXG4gICAgICAgICdzY29wYXJlJyxcbiAgICAgICAgJ3Njb3BhdGEnLFxuICAgICAgICAnc2V4eScsXG4gICAgICAgICdzaDF0JyxcbiAgICAgICAgJ3NoaXQnLFxuICAgICAgICAnc2x1dCcsXG4gICAgICAgICdzcDBtcDFuYXJlJyxcbiAgICAgICAgJ3NwMG1waW5hcmUnLFxuICAgICAgICAnc3BvbXAxbmFyZScsXG4gICAgICAgICdzcG9tcGluYXJlJyxcbiAgICAgICAgJ3N0cjBuejAnLFxuICAgICAgICAnc3RyMG56YScsXG4gICAgICAgICdzdHIwbnpvJyxcbiAgICAgICAgJ3N0cm9uejAnLFxuICAgICAgICAnc3Ryb256YScsXG4gICAgICAgICdzdHJvbnpvJyxcbiAgICAgICAgJ3N0dXAxZCcsXG4gICAgICAgICdzdHVwaWQnLFxuICAgICAgICAnc3VjY2gxYW0xJyxcbiAgICAgICAgJ3N1Y2NoMWFtaScsXG4gICAgICAgICdzdWNjaGlhbTEnLFxuICAgICAgICAnc3VjY2hpYW1pJyxcbiAgICAgICAgJ3N1Y2tlcicsXG4gICAgICAgICd0MHBhJyxcbiAgICAgICAgJ3RhcGV0dGUnLFxuICAgICAgICAndGVzdDFjMWUnLFxuICAgICAgICAndGVzdDFjbGUnLFxuICAgICAgICAndGVzdGljMWUnLFxuICAgICAgICAndGVzdGljbGUnLFxuICAgICAgICAndGV0dGUnLFxuICAgICAgICAndG9wYScsXG4gICAgICAgICd0cjAxYScsXG4gICAgICAgICd0cjBpYScsXG4gICAgICAgICd0cjBtYmFyZScsXG4gICAgICAgICd0cjFuZzFlcicsXG4gICAgICAgICd0cjFuZ2xlcicsXG4gICAgICAgICd0cmluZzFlcicsXG4gICAgICAgICd0cmluZ2xlcicsXG4gICAgICAgICd0cm8xYScsXG4gICAgICAgICd0cm9pYScsXG4gICAgICAgICd0cm9tYmFyZScsXG4gICAgICAgICd0dXJkJyxcbiAgICAgICAgJ3R3YXQnLFxuICAgICAgICAndmFmZmFuY3UxMCcsXG4gICAgICAgICd2YWZmYW5jdTFvJyxcbiAgICAgICAgJ3ZhZmZhbmN1bDAnLFxuICAgICAgICAndmFmZmFuY3VsbycsXG4gICAgICAgICd2YWcxbmEnLFxuICAgICAgICAndmFnaW5hJyxcbiAgICAgICAgJ3ZlcmRhbW10JyxcbiAgICAgICAgJ3ZlcmdhJyxcbiAgICAgICAgJ3cxY2hzZW4nLFxuICAgICAgICAnd2FuaycsXG4gICAgICAgICd3aWNoc2VuJyxcbiAgICAgICAgJ3gwY2gwdGEnLFxuICAgICAgICAneDBjaG90YScsXG4gICAgICAgICd4YW5hJyxcbiAgICAgICAgJ3hvY2gwdGEnLFxuICAgICAgICAneG9jaG90YScsXG4gICAgICAgICd6MGNjMDFhJyxcbiAgICAgICAgJ3owY2MwbGEnLFxuICAgICAgICAnejBjY28xYScsXG4gICAgICAgICd6MGNjb2xhJyxcbiAgICAgICAgJ3oxejEnLFxuICAgICAgICAnejF6aScsXG4gICAgICAgICd6aXoxJyxcbiAgICAgICAgJ3ppemknLFxuICAgICAgICAnem9jYzAxYScsXG4gICAgICAgICd6b2NjMGxhJyxcbiAgICAgICAgJ3pvY2NvMWEnLFxuICAgICAgICAnem9jY29sYScsXG4gICAgXSksXG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3FpZHMge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGNvbnN0IGFscGhhYmV0ID0gKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmFscGhhYmV0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBkZWZhdWx0T3B0aW9ucy5hbHBoYWJldDtcbiAgICAgICAgY29uc3QgbWluTGVuZ3RoID0gKF9iID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1pbkxlbmd0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZGVmYXVsdE9wdGlvbnMubWluTGVuZ3RoO1xuICAgICAgICBjb25zdCBibG9ja2xpc3QgPSAoX2MgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYmxvY2tsaXN0KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBkZWZhdWx0T3B0aW9ucy5ibG9ja2xpc3Q7XG4gICAgICAgIGlmIChuZXcgQmxvYihbYWxwaGFiZXRdKS5zaXplICE9PSBhbHBoYWJldC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWxwaGFiZXQgY2Fubm90IGNvbnRhaW4gbXVsdGlieXRlIGNoYXJhY3RlcnMnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtaW5BbHBoYWJldExlbmd0aCA9IDM7XG4gICAgICAgIGlmIChhbHBoYWJldC5sZW5ndGggPCBtaW5BbHBoYWJldExlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBbHBoYWJldCBsZW5ndGggbXVzdCBiZSBhdCBsZWFzdCAke21pbkFscGhhYmV0TGVuZ3RofWApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXcgU2V0KGFscGhhYmV0KS5zaXplICE9PSBhbHBoYWJldC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWxwaGFiZXQgbXVzdCBjb250YWluIHVuaXF1ZSBjaGFyYWN0ZXJzJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWluTGVuZ3RoTGltaXQgPSAyNTU7XG4gICAgICAgIGlmICh0eXBlb2YgbWluTGVuZ3RoICE9PSAnbnVtYmVyJyB8fFxuICAgICAgICAgICAgbWluTGVuZ3RoIDwgMCB8fFxuICAgICAgICAgICAgbWluTGVuZ3RoID4gbWluTGVuZ3RoTGltaXQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWluaW11bSBsZW5ndGggaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgJHttaW5MZW5ndGhMaW1pdH1gKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWx0ZXJlZEJsb2NrbGlzdCA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3QgYWxwaGFiZXRDaGFycyA9IGFscGhhYmV0LnRvTG93ZXJDYXNlKCkuc3BsaXQoJycpO1xuICAgICAgICBmb3IgKGNvbnN0IHdvcmQgb2YgYmxvY2tsaXN0KSB7XG4gICAgICAgICAgICBpZiAod29yZC5sZW5ndGggPj0gMykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRMb3dlcmNhc2VkID0gd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRDaGFycyA9IHdvcmRMb3dlcmNhc2VkLnNwbGl0KCcnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnRlcnNlY3Rpb24gPSB3b3JkQ2hhcnMuZmlsdGVyKChjKSA9PiBhbHBoYWJldENoYXJzLmluY2x1ZGVzKGMpKTtcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJzZWN0aW9uLmxlbmd0aCA9PT0gd29yZENoYXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZEJsb2NrbGlzdC5hZGQod29yZExvd2VyY2FzZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFscGhhYmV0ID0gdGhpcy5zaHVmZmxlKGFscGhhYmV0KTtcbiAgICAgICAgdGhpcy5taW5MZW5ndGggPSBtaW5MZW5ndGg7XG4gICAgICAgIHRoaXMuYmxvY2tsaXN0ID0gZmlsdGVyZWRCbG9ja2xpc3Q7XG4gICAgfVxuICAgIGVuY29kZShudW1iZXJzKSB7XG4gICAgICAgIGlmIChudW1iZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluUmFuZ2VOdW1iZXJzID0gbnVtYmVycy5maWx0ZXIoKG4pID0+IG4gPj0gMCAmJiBuIDw9IHRoaXMubWF4VmFsdWUoKSk7XG4gICAgICAgIGlmIChpblJhbmdlTnVtYmVycy5sZW5ndGggIT09IG51bWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVuY29kaW5nIHN1cHBvcnRzIG51bWJlcnMgYmV0d2VlbiAwIGFuZCAke3RoaXMubWF4VmFsdWUoKX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbmNvZGVOdW1iZXJzKG51bWJlcnMpO1xuICAgIH1cbiAgICBkZWNvZGUoaWQpIHtcbiAgICAgICAgY29uc3QgcmV0ID0gW107XG4gICAgICAgIGlmIChpZCA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWxwaGFiZXRDaGFycyA9IHRoaXMuYWxwaGFiZXQuc3BsaXQoJycpO1xuICAgICAgICBmb3IgKGNvbnN0IGMgb2YgaWQuc3BsaXQoJycpKSB7XG4gICAgICAgICAgICBpZiAoIWFscGhhYmV0Q2hhcnMuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGlkLmNoYXJBdCgwKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5hbHBoYWJldC5pbmRleE9mKHByZWZpeCk7XG4gICAgICAgIGxldCBhbHBoYWJldCA9IHRoaXMuYWxwaGFiZXQuc2xpY2Uob2Zmc2V0KSArIHRoaXMuYWxwaGFiZXQuc2xpY2UoMCwgb2Zmc2V0KTtcbiAgICAgICAgYWxwaGFiZXQgPSBhbHBoYWJldC5zcGxpdCgnJykucmV2ZXJzZSgpLmpvaW4oJycpO1xuICAgICAgICBsZXQgc2xpY2VkSWQgPSBpZC5zbGljZSgxKTtcbiAgICAgICAgd2hpbGUgKHNsaWNlZElkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IGFscGhhYmV0LnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgY29uc3QgY2h1bmtzID0gc2xpY2VkSWQuc3BsaXQoc2VwYXJhdG9yKTtcbiAgICAgICAgICAgIGlmIChjaHVua3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGlmIChjaHVua3NbMF0gPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldC5wdXNoKHRoaXMudG9OdW1iZXIoY2h1bmtzWzBdLCBhbHBoYWJldC5zbGljZSgxKSkpO1xuICAgICAgICAgICAgICAgIGlmIChjaHVua3MubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICBhbHBoYWJldCA9IHRoaXMuc2h1ZmZsZShhbHBoYWJldCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2xpY2VkSWQgPSBjaHVua3Muc2xpY2UoMSkuam9pbihzZXBhcmF0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuICAgIGVuY29kZU51bWJlcnMobnVtYmVycywgaW5jcmVtZW50ID0gMCkge1xuICAgICAgICBpZiAoaW5jcmVtZW50ID4gdGhpcy5hbHBoYWJldC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY2hlZCBtYXggYXR0ZW1wdHMgdG8gcmUtZ2VuZXJhdGUgdGhlIElEJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG9mZnNldCA9IG51bWJlcnMucmVkdWNlKChhLCB2LCBpKSA9PiB0aGlzLmFscGhhYmV0W3YgJSB0aGlzLmFscGhhYmV0Lmxlbmd0aF0uY29kZVBvaW50QXQoMCkgKyBpICsgYSwgbnVtYmVycy5sZW5ndGgpICUgdGhpcy5hbHBoYWJldC5sZW5ndGg7XG4gICAgICAgIG9mZnNldCA9IChvZmZzZXQgKyBpbmNyZW1lbnQpICUgdGhpcy5hbHBoYWJldC5sZW5ndGg7XG4gICAgICAgIGxldCBhbHBoYWJldCA9IHRoaXMuYWxwaGFiZXQuc2xpY2Uob2Zmc2V0KSArIHRoaXMuYWxwaGFiZXQuc2xpY2UoMCwgb2Zmc2V0KTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYWxwaGFiZXQuY2hhckF0KDApO1xuICAgICAgICBhbHBoYWJldCA9IGFscGhhYmV0LnNwbGl0KCcnKS5yZXZlcnNlKCkuam9pbignJyk7XG4gICAgICAgIGNvbnN0IHJldCA9IFtwcmVmaXhdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSAhPT0gbnVtYmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gbnVtYmVyc1tpXTtcbiAgICAgICAgICAgIHJldC5wdXNoKHRoaXMudG9JZChudW0sIGFscGhhYmV0LnNsaWNlKDEpKSk7XG4gICAgICAgICAgICBpZiAoaSA8IG51bWJlcnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgIHJldC5wdXNoKGFscGhhYmV0LnNsaWNlKDAsIDEpKTtcbiAgICAgICAgICAgICAgICBhbHBoYWJldCA9IHRoaXMuc2h1ZmZsZShhbHBoYWJldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGlkID0gcmV0LmpvaW4oJycpO1xuICAgICAgICBpZiAodGhpcy5taW5MZW5ndGggPiBpZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlkICs9IGFscGhhYmV0LnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgd2hpbGUgKHRoaXMubWluTGVuZ3RoIC0gaWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGFscGhhYmV0ID0gdGhpcy5zaHVmZmxlKGFscGhhYmV0KTtcbiAgICAgICAgICAgICAgICBpZCArPSBhbHBoYWJldC5zbGljZSgwLCBNYXRoLm1pbih0aGlzLm1pbkxlbmd0aCAtIGlkLmxlbmd0aCwgYWxwaGFiZXQubGVuZ3RoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNCbG9ja2VkSWQoaWQpKSB7XG4gICAgICAgICAgICBpZCA9IHRoaXMuZW5jb2RlTnVtYmVycyhudW1iZXJzLCBpbmNyZW1lbnQgKyAxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaWQ7XG4gICAgfVxuICAgIHNodWZmbGUoYWxwaGFiZXQpIHtcbiAgICAgICAgY29uc3QgY2hhcnMgPSBhbHBoYWJldC5zcGxpdCgnJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBqID0gY2hhcnMubGVuZ3RoIC0gMTsgaiA+IDA7IGkrKywgai0tKSB7XG4gICAgICAgICAgICBjb25zdCByID0gKGkgKiBqICsgY2hhcnNbaV0uY29kZVBvaW50QXQoMCkgKyBjaGFyc1tqXS5jb2RlUG9pbnRBdCgwKSkgJVxuICAgICAgICAgICAgICAgIGNoYXJzLmxlbmd0aDtcbiAgICAgICAgICAgIFtjaGFyc1tpXSwgY2hhcnNbcl1dID0gW2NoYXJzW3JdLCBjaGFyc1tpXV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNoYXJzLmpvaW4oJycpO1xuICAgIH1cbiAgICB0b0lkKG51bSwgYWxwaGFiZXQpIHtcbiAgICAgICAgY29uc3QgaWQgPSBbXTtcbiAgICAgICAgY29uc3QgY2hhcnMgPSBhbHBoYWJldC5zcGxpdCgnJyk7XG4gICAgICAgIGxldCByZXN1bHQgPSBudW07XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGlkLnVuc2hpZnQoY2hhcnNbcmVzdWx0ICUgY2hhcnMubGVuZ3RoXSk7XG4gICAgICAgICAgICByZXN1bHQgPSBNYXRoLmZsb29yKHJlc3VsdCAvIGNoYXJzLmxlbmd0aCk7XG4gICAgICAgIH0gd2hpbGUgKHJlc3VsdCA+IDApO1xuICAgICAgICByZXR1cm4gaWQuam9pbignJyk7XG4gICAgfVxuICAgIHRvTnVtYmVyKGlkLCBhbHBoYWJldCkge1xuICAgICAgICBjb25zdCBjaGFycyA9IGFscGhhYmV0LnNwbGl0KCcnKTtcbiAgICAgICAgcmV0dXJuIGlkLnNwbGl0KCcnKS5yZWR1Y2UoKGEsIHYpID0+IGEgKiBjaGFycy5sZW5ndGggKyBjaGFycy5pbmRleE9mKHYpLCAwKTtcbiAgICB9XG4gICAgaXNCbG9ja2VkSWQoaWQpIHtcbiAgICAgICAgY29uc3QgbG93ZXJjYXNlSWQgPSBpZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBmb3IgKGNvbnN0IHdvcmQgb2YgdGhpcy5ibG9ja2xpc3QpIHtcbiAgICAgICAgICAgIGlmICh3b3JkLmxlbmd0aCA8PSBsb3dlcmNhc2VJZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAobG93ZXJjYXNlSWQubGVuZ3RoIDw9IDMgfHwgd29yZC5sZW5ndGggPD0gMykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobG93ZXJjYXNlSWQgPT09IHdvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKC9cXGQvLnRlc3Qod29yZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvd2VyY2FzZUlkLnN0YXJ0c1dpdGgod29yZCkgfHwgbG93ZXJjYXNlSWQuZW5kc1dpdGgod29yZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxvd2VyY2FzZUlkLmluY2x1ZGVzKHdvcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIG1heFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3FpZHMuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/sqids/esm/sqids.js\n");
/***/ })
};
;