1281 lines
2.4 MiB
1281 lines
2.4 MiB
/*
|
||
* 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/).
|
||
*/
|
||
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/dashboard/settings/page"],{
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5Ccompany_projects%5C%5Cverify%20pack%5C%5Cfrontend%5C%5Capp%5C%5Cdashboard%5C%5Csettings%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
|
||
/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5Ccompany_projects%5C%5Cverify%20pack%5C%5Cfrontend%5C%5Capp%5C%5Cdashboard%5C%5Csettings%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
|
||
\********************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/dashboard/settings/page.tsx */ \"(app-pages-browser)/./app/dashboard/settings/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q2NvbXBhbnlfcHJvamVjdHMlNUMlNUN2ZXJpZnklMjBwYWNrJTVDJTVDZnJvbnRlbmQlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNzZXR0aW5ncyU1QyU1Q3BhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj1mYWxzZSEiLCJtYXBwaW5ncyI6IkFBQUEsNExBQW9IIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/MWRkZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXGNvbXBhbnlfcHJvamVjdHNcXFxcdmVyaWZ5IHBhY2tcXFxcZnJvbnRlbmRcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxzZXR0aW5nc1xcXFxwYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5Ccompany_projects%5C%5Cverify%20pack%5C%5Cfrontend%5C%5Capp%5C%5Cdashboard%5C%5Csettings%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js":
|
||
/*!***********************************************************************************!*\
|
||
!*** ./node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js ***!
|
||
\***********************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ createCache; }\n/* harmony export */ });\n/* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/sheet */ \"(app-pages-browser)/./node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.js\");\n/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! stylis */ \"(app-pages-browser)/./node_modules/stylis/src/Tokenizer.js\");\n/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! stylis */ \"(app-pages-browser)/./node_modules/stylis/src/Utility.js\");\n/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! stylis */ \"(app-pages-browser)/./node_modules/stylis/src/Enum.js\");\n/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! stylis */ \"(app-pages-browser)/./node_modules/stylis/src/Serializer.js\");\n/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! stylis */ \"(app-pages-browser)/./node_modules/stylis/src/Middleware.js\");\n/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! stylis */ \"(app-pages-browser)/./node_modules/stylis/src/Parser.js\");\n/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/weak-memoize */ \"(app-pages-browser)/./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js\");\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ \"(app-pages-browser)/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js\");\n\n\n\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if ((0,stylis__WEBPACK_IMPORTED_MODULE_3__.token)(character)) {\n break;\n }\n\n (0,stylis__WEBPACK_IMPORTED_MODULE_3__.next)();\n }\n\n return (0,stylis__WEBPACK_IMPORTED_MODULE_3__.slice)(begin, stylis__WEBPACK_IMPORTED_MODULE_3__.position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch ((0,stylis__WEBPACK_IMPORTED_MODULE_3__.token)(character)) {\n case 0:\n // &\\f\n if (character === 38 && (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(stylis__WEBPACK_IMPORTED_MODULE_3__.position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += (0,stylis__WEBPACK_IMPORTED_MODULE_3__.delimit)(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += (0,stylis__WEBPACK_IMPORTED_MODULE_4__.from)(character);\n }\n } while (character = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.next)());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return (0,stylis__WEBPACK_IMPORTED_MODULE_3__.dealloc)(toRules((0,stylis__WEBPACK_IMPORTED_MODULE_3__.alloc)(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.hash)(value, length)) {\n // color-adjust\n case 5103:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + value + value;\n // order\n\n case 6165:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(\\w+).+(:[^]+)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'box-$1$2' + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-item-' + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-line-pack' + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'box-' + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, '-grow', '') + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /([^-])(transform)/g, '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(zoom-|grab)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1'), /(image-set)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(image-set\\([^]*)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+:)(flex-)?(.*)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'box-pack:$3' + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+)-inline(.+)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.strlen)(value) - 1 - length > 6) switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+:)(.+)-([^]+)/, '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$2-$3' + '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~(0,stylis__WEBPACK_IMPORTED_MODULE_4__.indexof)(value, 'stretch') ? prefix((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, (0,stylis__WEBPACK_IMPORTED_MODULE_4__.strlen)(value) - 3 - (~(0,stylis__WEBPACK_IMPORTED_MODULE_4__.indexof)(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, ':', ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$2$3' + '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case stylis__WEBPACK_IMPORTED_MODULE_5__.DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case stylis__WEBPACK_IMPORTED_MODULE_5__.KEYFRAMES:\n return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)([(0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, {\n value: (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(element.value, '@', '@' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT)\n })], callback);\n\n case stylis__WEBPACK_IMPORTED_MODULE_5__.RULESET:\n if (element.length) return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.combine)(element.props, function (value) {\n switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.match)(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)([(0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, {\n props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(read-\\w+)/, ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)([(0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, {\n props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(plac\\w+)/, ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'input-$1')]\n }), (0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, {\n props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(plac\\w+)/, ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + '$1')]\n }), (0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, {\n props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(plac\\w+)/, stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\nvar getSourceMap;\n\n{\n var sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n\n getSourceMap = function getSourceMap(styles) {\n var matches = styles.match(sourceMapPattern);\n if (!matches) return;\n return matches[matches.length - 1];\n };\n}\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (!key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n {\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stylis__WEBPACK_IMPORTED_MODULE_6__.stringify, function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== stylis__WEBPACK_IMPORTED_MODULE_5__.COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } ];\n var serializer = (0,stylis__WEBPACK_IMPORTED_MODULE_7__.middleware)(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)((0,stylis__WEBPACK_IMPORTED_MODULE_8__.compile)(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (getSourceMap) {\n var sourceMap = getSourceMap(serialized.styles);\n\n if (sourceMap) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + sourceMap);\n }\n };\n }\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__.StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9jYWNoZS9kaXN0L2Vtb3Rpb24tY2FjaGUuYnJvd3Nlci5kZXZlbG9wbWVudC5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUE0QztBQUNtTjtBQUNoTztBQUNMOztBQUUxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdCQUFnQiw0Q0FBSSxJQUFJOztBQUV4QjtBQUNBO0FBQ0E7O0FBRUEsUUFBUSw2Q0FBSztBQUNiO0FBQ0E7O0FBRUEsSUFBSSw0Q0FBSTtBQUNSOztBQUVBLFNBQVMsNkNBQUssUUFBUSw0Q0FBUTtBQUM5Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVksNkNBQUs7QUFDakI7QUFDQTtBQUNBLGdDQUFnQyw0Q0FBSTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscURBQXFELDRDQUFRO0FBQzdEOztBQUVBO0FBQ0EseUJBQXlCLCtDQUFPO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDRDQUFJO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHlCQUF5Qiw0Q0FBSTtBQUM3QjtBQUNBLElBQUksbUJBQW1CLDRDQUFJOztBQUUzQjtBQUNBOztBQUVBO0FBQ0EsU0FBUywrQ0FBTyxTQUFTLDZDQUFLO0FBQzlCLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlCQUF5QixrQkFBa0I7QUFDM0Msb0JBQW9CLHdCQUF3QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QUFFa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL2NhY2hlL2Rpc3QvZW1vdGlvbi1jYWNoZS5icm93c2VyLmRldmVsb3BtZW50LmVzbS5qcz82NTJjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0eWxlU2hlZXQgfSBmcm9tICdAZW1vdGlvbi9zaGVldCc7XG5pbXBvcnQgeyBkZWFsbG9jLCBhbGxvYywgbmV4dCwgdG9rZW4sIGZyb20sIHBlZWssIGRlbGltaXQsIHNsaWNlLCBwb3NpdGlvbiwgUlVMRVNFVCwgY29tYmluZSwgbWF0Y2gsIHNlcmlhbGl6ZSwgY29weSwgcmVwbGFjZSwgV0VCS0lULCBNT1osIE1TLCBLRVlGUkFNRVMsIERFQ0xBUkFUSU9OLCBoYXNoLCBjaGFyYXQsIHN0cmxlbiwgaW5kZXhvZiwgbWlkZGxld2FyZSwgc3RyaW5naWZ5LCBDT01NRU5ULCBjb21waWxlIH0gZnJvbSAnc3R5bGlzJztcbmltcG9ydCAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCAnQGVtb3Rpb24vbWVtb2l6ZSc7XG5cbnZhciBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcgPSBmdW5jdGlvbiBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcoYmVnaW4sIHBvaW50cywgaW5kZXgpIHtcbiAgdmFyIHByZXZpb3VzID0gMDtcbiAgdmFyIGNoYXJhY3RlciA9IDA7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBwcmV2aW91cyA9IGNoYXJhY3RlcjtcbiAgICBjaGFyYWN0ZXIgPSBwZWVrKCk7IC8vICZcXGZcblxuICAgIGlmIChwcmV2aW91cyA9PT0gMzggJiYgY2hhcmFjdGVyID09PSAxMikge1xuICAgICAgcG9pbnRzW2luZGV4XSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuKGNoYXJhY3RlcikpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIG5leHQoKTtcbiAgfVxuXG4gIHJldHVybiBzbGljZShiZWdpbiwgcG9zaXRpb24pO1xufTtcblxudmFyIHRvUnVsZXMgPSBmdW5jdGlvbiB0b1J1bGVzKHBhcnNlZCwgcG9pbnRzKSB7XG4gIC8vIHByZXRlbmQgd2UndmUgc3RhcnRlZCB3aXRoIGEgY29tbWFcbiAgdmFyIGluZGV4ID0gLTE7XG4gIHZhciBjaGFyYWN0ZXIgPSA0NDtcblxuICBkbyB7XG4gICAgc3dpdGNoICh0b2tlbihjaGFyYWN0ZXIpKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIC8vICZcXGZcbiAgICAgICAgaWYgKGNoYXJhY3RlciA9PT0gMzggJiYgcGVlaygpID09PSAxMikge1xuICAgICAgICAgIC8vIHRoaXMgaXMgbm90IDEwMCUgY29ycmVjdCwgd2UgZG9uJ3QgYWNjb3VudCBmb3IgbGl0ZXJhbCBzZXF1ZW5jZXMgaGVyZSAtIGxpa2UgZm9yIGV4YW1wbGUgcXVvdGVkIHN0cmluZ3NcbiAgICAgICAgICAvLyBzdHlsaXMgaW5zZXJ0cyBcXGYgYWZ0ZXIgJiB0byBrbm93IHdoZW4gJiB3aGVyZSBpdCBzaG91bGQgcmVwbGFjZSB0aGlzIHNlcXVlbmNlIHdpdGggdGhlIGNvbnRleHQgc2VsZWN0b3JcbiAgICAgICAgICAvLyBhbmQgd2hlbiBpdCBzaG91bGQganVzdCBjb25jYXRlbmF0ZSB0aGUgb3V0ZXIgYW5kIGlubmVyIHNlbGVjdG9yc1xuICAgICAgICAgIC8vIGl0J3MgdmVyeSB1bmxpa2VseSBmb3IgdGhpcyBzZXF1ZW5jZSB0byBhY3R1YWxseSBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgY29udGV4dCwgc28gd2UganVzdCBsZXZlcmFnZSB0aGlzIGZhY3QgaGVyZVxuICAgICAgICAgIHBvaW50c1tpbmRleF0gPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyc2VkW2luZGV4XSArPSBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcocG9zaXRpb24gLSAxLCBwb2ludHMsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgMjpcbiAgICAgICAgcGFyc2VkW2luZGV4XSArPSBkZWxpbWl0KGNoYXJhY3Rlcik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDQ6XG4gICAgICAgIC8vIGNvbW1hXG4gICAgICAgIGlmIChjaGFyYWN0ZXIgPT09IDQ0KSB7XG4gICAgICAgICAgLy8gY29sb25cbiAgICAgICAgICBwYXJzZWRbKytpbmRleF0gPSBwZWVrKCkgPT09IDU4ID8gJyZcXGYnIDogJyc7XG4gICAgICAgICAgcG9pbnRzW2luZGV4XSA9IHBhcnNlZFtpbmRleF0ubGVuZ3RoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIC8vIGZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHBhcnNlZFtpbmRleF0gKz0gZnJvbShjaGFyYWN0ZXIpO1xuICAgIH1cbiAgfSB3aGlsZSAoY2hhcmFjdGVyID0gbmV4dCgpKTtcblxuICByZXR1cm4gcGFyc2VkO1xufTtcblxudmFyIGdldFJ1bGVzID0gZnVuY3Rpb24gZ2V0UnVsZXModmFsdWUsIHBvaW50cykge1xuICByZXR1cm4gZGVhbGxvYyh0b1J1bGVzKGFsbG9jKHZhbHVlKSwgcG9pbnRzKSk7XG59OyAvLyBXZWFrU2V0IHdvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUsIGJ1dCBvbmx5IFdlYWtNYXAgaXMgc3VwcG9ydGVkIGluIElFMTFcblxuXG52YXIgZml4ZWRFbGVtZW50cyA9IC8qICNfX1BVUkVfXyAqL25ldyBXZWFrTWFwKCk7XG52YXIgY29tcGF0ID0gZnVuY3Rpb24gY29tcGF0KGVsZW1lbnQpIHtcbiAgaWYgKGVsZW1lbnQudHlwZSAhPT0gJ3J1bGUnIHx8ICFlbGVtZW50LnBhcmVudCB8fCAvLyBwb3NpdGl2ZSAubGVuZ3RoIGluZGljYXRlcyB0aGF0IHRoaXMgcnVsZSBjb250YWlucyBwc2V1ZG9cbiAgLy8gbmVnYXRpdmUgLmxlbmd0aCBpbmRpY2F0ZXMgdGhhdCB0aGlzIHJ1bGUgaGFzIGJlZW4gYWxyZWFkeSBwcmVmaXhlZFxuICBlbGVtZW50Lmxlbmd0aCA8IDEpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgdmFsdWUgPSBlbGVtZW50LnZhbHVlO1xuICB2YXIgcGFyZW50ID0gZWxlbWVudC5wYXJlbnQ7XG4gIHZhciBpc0ltcGxpY2l0UnVsZSA9IGVsZW1lbnQuY29sdW1uID09PSBwYXJlbnQuY29sdW1uICYmIGVsZW1lbnQubGluZSA9PT0gcGFyZW50LmxpbmU7XG5cbiAgd2hpbGUgKHBhcmVudC50eXBlICE9PSAncnVsZScpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIGlmICghcGFyZW50KSByZXR1cm47XG4gIH0gLy8gc2hvcnQtY2lyY3VpdCBmb3IgdGhlIHNpbXBsZXN0IGNhc2VcblxuXG4gIGlmIChlbGVtZW50LnByb3BzLmxlbmd0aCA9PT0gMSAmJiB2YWx1ZS5jaGFyQ29kZUF0KDApICE9PSA1OFxuICAvKiBjb2xvbiAqL1xuICAmJiAhZml4ZWRFbGVtZW50cy5nZXQocGFyZW50KSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBpZiB0aGlzIGlzIGFuIGltcGxpY2l0bHkgaW5zZXJ0ZWQgcnVsZSAodGhlIG9uZSBlYWdlcmx5IGluc2VydGVkIGF0IHRoZSBlYWNoIG5ldyBuZXN0ZWQgbGV2ZWwpXG4gIC8vIHRoZW4gdGhlIHByb3BzIGhhcyBhbHJlYWR5IGJlZW4gbWFuaXB1bGF0ZWQgYmVmb3JlaGFuZCBhcyB0aGV5IHRoYXQgYXJyYXkgaXMgc2hhcmVkIGJldHdlZW4gaXQgYW5kIGl0cyBcInJ1bGUgcGFyZW50XCJcblxuXG4gIGlmIChpc0ltcGxpY2l0UnVsZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZpeGVkRWxlbWVudHMuc2V0KGVsZW1lbnQsIHRydWUpO1xuICB2YXIgcG9pbnRzID0gW107XG4gIHZhciBydWxlcyA9IGdldFJ1bGVzKHZhbHVlLCBwb2ludHMpO1xuICB2YXIgcGFyZW50UnVsZXMgPSBwYXJlbnQucHJvcHM7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcmVudFJ1bGVzLmxlbmd0aDsgaisrLCBrKyspIHtcbiAgICAgIGVsZW1lbnQucHJvcHNba10gPSBwb2ludHNbaV0gPyBydWxlc1tpXS5yZXBsYWNlKC8mXFxmL2csIHBhcmVudFJ1bGVzW2pdKSA6IHBhcmVudFJ1bGVzW2pdICsgXCIgXCIgKyBydWxlc1tpXTtcbiAgICB9XG4gIH1cbn07XG52YXIgcmVtb3ZlTGFiZWwgPSBmdW5jdGlvbiByZW1vdmVMYWJlbChlbGVtZW50KSB7XG4gIGlmIChlbGVtZW50LnR5cGUgPT09ICdkZWNsJykge1xuICAgIHZhciB2YWx1ZSA9IGVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAoIC8vIGNoYXJjb2RlIGZvciBsXG4gICAgdmFsdWUuY2hhckNvZGVBdCgwKSA9PT0gMTA4ICYmIC8vIGNoYXJjb2RlIGZvciBiXG4gICAgdmFsdWUuY2hhckNvZGVBdCgyKSA9PT0gOTgpIHtcbiAgICAgIC8vIHRoaXMgaWdub3JlcyBsYWJlbFxuICAgICAgZWxlbWVudFtcInJldHVyblwiXSA9ICcnO1xuICAgICAgZWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxufTtcbnZhciBpZ25vcmVGbGFnID0gJ2Vtb3Rpb24tZGlzYWJsZS1zZXJ2ZXItcmVuZGVyaW5nLXVuc2FmZS1zZWxlY3Rvci13YXJuaW5nLXBsZWFzZS1kby1ub3QtdXNlLXRoaXMtdGhlLXdhcm5pbmctZXhpc3RzLWZvci1hLXJlYXNvbic7XG5cbnZhciBpc0lnbm9yaW5nQ29tbWVudCA9IGZ1bmN0aW9uIGlzSWdub3JpbmdDb21tZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQudHlwZSA9PT0gJ2NvbW0nICYmIGVsZW1lbnQuY2hpbGRyZW4uaW5kZXhPZihpZ25vcmVGbGFnKSA+IC0xO1xufTtcblxudmFyIGNyZWF0ZVVuc2FmZVNlbGVjdG9yc0FsYXJtID0gZnVuY3Rpb24gY3JlYXRlVW5zYWZlU2VsZWN0b3JzQWxhcm0oY2FjaGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4pIHtcbiAgICBpZiAoZWxlbWVudC50eXBlICE9PSAncnVsZScgfHwgY2FjaGUuY29tcGF0KSByZXR1cm47XG4gICAgdmFyIHVuc2FmZVBzZXVkb0NsYXNzZXMgPSBlbGVtZW50LnZhbHVlLm1hdGNoKC8oOmZpcnN0fDpudGh8Om50aC1sYXN0KS1jaGlsZC9nKTtcblxuICAgIGlmICh1bnNhZmVQc2V1ZG9DbGFzc2VzKSB7XG4gICAgICB2YXIgaXNOZXN0ZWQgPSAhIWVsZW1lbnQucGFyZW50OyAvLyBpbiBuZXN0ZWQgcnVsZXMgY29tbWVudHMgYmVjb21lIGNoaWxkcmVuIG9mIHRoZSBcImF1dG8taW5zZXJ0ZWRcIiBydWxlIGFuZCB0aGF0J3MgYWx3YXlzIHRoZSBgZWxlbWVudC5wYXJlbnRgXG4gICAgICAvL1xuICAgICAgLy8gY29uc2lkZXJpbmcgdGhpcyBpbnB1dDpcbiAgICAgIC8vIC5hIHtcbiAgICAgIC8vICAgLmIgLyogY29tbSAqLyB7fVxuICAgICAgLy8gICBjb2xvcjogaG90cGluaztcbiAgICAgIC8vIH1cbiAgICAgIC8vIHdlIGdldCBvdXRwdXQgY29ycmVzcG9uZGluZyB0byB0aGlzOlxuICAgICAgLy8gLmEge1xuICAgICAgLy8gICAmIHtcbiAgICAgIC8vICAgICAvKiBjb21tICovXG4gICAgICAvLyAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vICAgLmIge31cbiAgICAgIC8vIH1cblxuICAgICAgdmFyIGNvbW1lbnRDb250YWluZXIgPSBpc05lc3RlZCA/IGVsZW1lbnQucGFyZW50LmNoaWxkcmVuIDogLy8gZ2xvYmFsIHJ1bGUgYXQgdGhlIHJvb3QgbGV2ZWxcbiAgICAgIGNoaWxkcmVuO1xuXG4gICAgICBmb3IgKHZhciBpID0gY29tbWVudENvbnRhaW5lci5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICB2YXIgbm9kZSA9IGNvbW1lbnRDb250YWluZXJbaV07XG5cbiAgICAgICAgaWYgKG5vZGUubGluZSA8IGVsZW1lbnQubGluZSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IC8vIGl0IGlzIHF1aXRlIHdlaXJkIGJ1dCBjb21tZW50cyBhcmUgKnVzdWFsbHkqIHB1dCBhdCBgY29sdW1uOiBlbGVtZW50LmNvbHVtbiAtIDFgXG4gICAgICAgIC8vIHNvIHdlIHNlZWsgKmZyb20gdGhlIGVuZCogZm9yIHRoZSBub2RlIHRoYXQgaXMgZWFybGllciB0aGFuIHRoZSBydWxlJ3MgYGVsZW1lbnRgIGFuZCBjaGVjayB0aGF0XG4gICAgICAgIC8vIHRoaXMgd2lsbCBhbHNvIG1hdGNoIGlucHV0cyBsaWtlIHRoaXM6XG4gICAgICAgIC8vIC5hIHtcbiAgICAgICAgLy8gICAvKiBjb21tICovXG4gICAgICAgIC8vICAgLmIge31cbiAgICAgICAgLy8gfVxuICAgICAgICAvL1xuICAgICAgICAvLyBidXQgdGhhdCBpcyBmaW5lXG4gICAgICAgIC8vXG4gICAgICAgIC8vIGl0IHdvdWxkIGJlIHRoZSBlYXNpZXN0IHRvIGNoYW5nZSB0aGUgcGxhY2VtZW50IG9mIHRoZSBjb21tZW50IHRvIGJlIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgcnVsZTpcbiAgICAgICAgLy8gLmEge1xuICAgICAgICAvLyAgIC5iIHsgLyogY29tbSAqLyB9XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gd2l0aCBzdWNoIGlucHV0cyB3ZSB3b3VsZG4ndCBoYXZlIHRvIHNlYXJjaCBmb3IgdGhlIGNvbW1lbnQgYXQgYWxsXG4gICAgICAgIC8vIFRPRE86IGNvbnNpZGVyIGNoYW5naW5nIHRoaXMgY29tbWVudCBwbGFjZW1lbnQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxuXG5cbiAgICAgICAgaWYgKG5vZGUuY29sdW1uIDwgZWxlbWVudC5jb2x1bW4pIHtcbiAgICAgICAgICBpZiAoaXNJZ25vcmluZ0NvbW1lbnQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bnNhZmVQc2V1ZG9DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24gKHVuc2FmZVBzZXVkb0NsYXNzKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaGUgcHNldWRvIGNsYXNzIFxcXCJcIiArIHVuc2FmZVBzZXVkb0NsYXNzICsgXCJcXFwiIGlzIHBvdGVudGlhbGx5IHVuc2FmZSB3aGVuIGRvaW5nIHNlcnZlci1zaWRlIHJlbmRlcmluZy4gVHJ5IGNoYW5naW5nIGl0IHRvIFxcXCJcIiArIHVuc2FmZVBzZXVkb0NsYXNzLnNwbGl0KCctY2hpbGQnKVswXSArIFwiLW9mLXR5cGVcXFwiLlwiKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn07XG5cbnZhciBpc0ltcG9ydFJ1bGUgPSBmdW5jdGlvbiBpc0ltcG9ydFJ1bGUoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudC50eXBlLmNoYXJDb2RlQXQoMSkgPT09IDEwNSAmJiBlbGVtZW50LnR5cGUuY2hhckNvZGVBdCgwKSA9PT0gNjQ7XG59O1xuXG52YXIgaXNQcmVwZW5kZWRXaXRoUmVndWxhclJ1bGVzID0gZnVuY3Rpb24gaXNQcmVwZW5kZWRXaXRoUmVndWxhclJ1bGVzKGluZGV4LCBjaGlsZHJlbikge1xuICBmb3IgKHZhciBpID0gaW5kZXggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGlmICghaXNJbXBvcnRSdWxlKGNoaWxkcmVuW2ldKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTsgLy8gdXNlIHRoaXMgdG8gcmVtb3ZlIGluY29ycmVjdCBlbGVtZW50cyBmcm9tIGZ1cnRoZXIgcHJvY2Vzc2luZ1xuLy8gc28gdGhleSBkb24ndCBnZXQgaGFuZGVkIHRvIHRoZSBgc2hlZXRgIChvciBhbnl0aGluZyBlbHNlKVxuLy8gYXMgdGhhdCBjb3VsZCBwb3RlbnRpYWxseSBsZWFkIHRvIGFkZGl0aW9uYWwgbG9ncyB3aGljaCBpbiB0dXJuIGNvdWxkIGJlIG92ZXJoZWxtaW5nIHRvIHRoZSB1c2VyXG5cblxudmFyIG51bGxpZnlFbGVtZW50ID0gZnVuY3Rpb24gbnVsbGlmeUVsZW1lbnQoZWxlbWVudCkge1xuICBlbGVtZW50LnR5cGUgPSAnJztcbiAgZWxlbWVudC52YWx1ZSA9ICcnO1xuICBlbGVtZW50W1wicmV0dXJuXCJdID0gJyc7XG4gIGVsZW1lbnQuY2hpbGRyZW4gPSAnJztcbiAgZWxlbWVudC5wcm9wcyA9ICcnO1xufTtcblxudmFyIGluY29ycmVjdEltcG9ydEFsYXJtID0gZnVuY3Rpb24gaW5jb3JyZWN0SW1wb3J0QWxhcm0oZWxlbWVudCwgaW5kZXgsIGNoaWxkcmVuKSB7XG4gIGlmICghaXNJbXBvcnRSdWxlKGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGVsZW1lbnQucGFyZW50KSB7XG4gICAgY29uc29sZS5lcnJvcihcImBAaW1wb3J0YCBydWxlcyBjYW4ndCBiZSBuZXN0ZWQgaW5zaWRlIG90aGVyIHJ1bGVzLiBQbGVhc2UgbW92ZSBpdCB0byB0aGUgdG9wIGxldmVsIGFuZCBwdXQgaXQgYmVmb3JlIHJlZ3VsYXIgcnVsZXMuIEtlZXAgaW4gbWluZCB0aGF0IHRoZXkgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gZ2xvYmFsIHN0eWxlcy5cIik7XG4gICAgbnVsbGlmeUVsZW1lbnQoZWxlbWVudCk7XG4gIH0gZWxzZSBpZiAoaXNQcmVwZW5kZWRXaXRoUmVndWxhclJ1bGVzKGluZGV4LCBjaGlsZHJlbikpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiYEBpbXBvcnRgIHJ1bGVzIGNhbid0IGJlIGFmdGVyIG90aGVyIHJ1bGVzLiBQbGVhc2UgcHV0IHlvdXIgYEBpbXBvcnRgIHJ1bGVzIGJlZm9yZSB5b3VyIG90aGVyIHJ1bGVzLlwiKTtcbiAgICBudWxsaWZ5RWxlbWVudChlbGVtZW50KTtcbiAgfVxufTtcblxuLyogZXNsaW50LWRpc2FibGUgbm8tZmFsbHRocm91Z2ggKi9cblxuZnVuY3Rpb24gcHJlZml4KHZhbHVlLCBsZW5ndGgpIHtcbiAgc3dpdGNoIChoYXNoKHZhbHVlLCBsZW5ndGgpKSB7XG4gICAgLy8gY29sb3ItYWRqdXN0XG4gICAgY2FzZSA1MTAzOlxuICAgICAgcmV0dXJuIFdFQktJVCArICdwcmludC0nICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBhbmltYXRpb24sIGFuaW1hdGlvbi0oZGVsYXl8ZGlyZWN0aW9ufGR1cmF0aW9ufGZpbGwtbW9kZXxpdGVyYXRpb24tY291bnR8bmFtZXxwbGF5LXN0YXRlfHRpbWluZy1mdW5jdGlvbilcblxuICAgIGNhc2UgNTczNzpcbiAgICBjYXNlIDQyMDE6XG4gICAgY2FzZSAzMTc3OlxuICAgIGNhc2UgMzQzMzpcbiAgICBjYXNlIDE2NDE6XG4gICAgY2FzZSA0NDU3OlxuICAgIGNhc2UgMjkyMTogLy8gdGV4dC1kZWNvcmF0aW9uLCBmaWx0ZXIsIGNsaXAtcGF0aCwgYmFja2ZhY2UtdmlzaWJpbGl0eSwgY29sdW1uLCBib3gtZGVjb3JhdGlvbi1icmVha1xuXG4gICAgY2FzZSA1NTcyOlxuICAgIGNhc2UgNjM1NjpcbiAgICBjYXNlIDU4NDQ6XG4gICAgY2FzZSAzMTkxOlxuICAgIGNhc2UgNjY0NTpcbiAgICBjYXNlIDMwMDU6IC8vIG1hc2ssIG1hc2staW1hZ2UsIG1hc2stKG1vZGV8Y2xpcHxzaXplKSwgbWFzay0ocmVwZWF0fG9yaWdpbiksIG1hc2stcG9zaXRpb24sIG1hc2stY29tcG9zaXRlLFxuXG4gICAgY2FzZSA2MzkxOlxuICAgIGNhc2UgNTg3OTpcbiAgICBjYXNlIDU2MjM6XG4gICAgY2FzZSA2MTM1OlxuICAgIGNhc2UgNDU5OTpcbiAgICBjYXNlIDQ4NTU6IC8vIGJhY2tncm91bmQtY2xpcCwgY29sdW1ucywgY29sdW1uLShjb3VudHxmaWxsfGdhcHxydWxlfHJ1bGUtY29sb3J8cnVsZS1zdHlsZXxydWxlLXdpZHRofHNwYW58d2lkdGgpXG5cbiAgICBjYXNlIDQyMTU6XG4gICAgY2FzZSA2Mzg5OlxuICAgIGNhc2UgNTEwOTpcbiAgICBjYXNlIDUzNjU6XG4gICAgY2FzZSA1NjIxOlxuICAgIGNhc2UgMzgyOTpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIHZhbHVlO1xuICAgIC8vIGFwcGVhcmFuY2UsIHVzZXItc2VsZWN0LCB0cmFuc2Zvcm0sIGh5cGhlbnMsIHRleHQtc2l6ZS1hZGp1c3RcblxuICAgIGNhc2UgNTM0OTpcbiAgICBjYXNlIDQyNDY6XG4gICAgY2FzZSA0ODEwOlxuICAgIGNhc2UgNjk2ODpcbiAgICBjYXNlIDI3NTY6XG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNT1ogKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LCBmbGV4LWRpcmVjdGlvblxuXG4gICAgY2FzZSA2ODI4OlxuICAgIGNhc2UgNDI2ODpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBvcmRlclxuXG4gICAgY2FzZSA2MTY1OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC0nICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBhbGlnbi1pdGVtc1xuXG4gICAgY2FzZSA1MTg3OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgcmVwbGFjZSh2YWx1ZSwgLyhcXHcrKS4rKDpbXl0rKS8sIFdFQktJVCArICdib3gtJDEkMicgKyBNUyArICdmbGV4LSQxJDInKSArIHZhbHVlO1xuICAgIC8vIGFsaWduLXNlbGZcblxuICAgIGNhc2UgNTQ0MzpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgJ2ZsZXgtaXRlbS0nICsgcmVwbGFjZSh2YWx1ZSwgL2ZsZXgtfC1zZWxmLywgJycpICsgdmFsdWU7XG4gICAgLy8gYWxpZ24tY29udGVudFxuXG4gICAgY2FzZSA0Njc1OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC1saW5lLXBhY2snICsgcmVwbGFjZSh2YWx1ZSwgL2FsaWduLWNvbnRlbnR8ZmxleC18LXNlbGYvLCAnJykgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LXNocmlua1xuXG4gICAgY2FzZSA1NTQ4OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnc2hyaW5rJywgJ25lZ2F0aXZlJykgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LWJhc2lzXG5cbiAgICBjYXNlIDUyOTI6XG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdiYXNpcycsICdwcmVmZXJyZWQtc2l6ZScpICsgdmFsdWU7XG4gICAgLy8gZmxleC1ncm93XG5cbiAgICBjYXNlIDYwNjA6XG4gICAgICByZXR1cm4gV0VCS0lUICsgJ2JveC0nICsgcmVwbGFjZSh2YWx1ZSwgJy1ncm93JywgJycpICsgV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdncm93JywgJ3Bvc2l0aXZlJykgKyB2YWx1ZTtcbiAgICAvLyB0cmFuc2l0aW9uXG5cbiAgICBjYXNlIDQ1NTQ6XG4gICAgICByZXR1cm4gV0VCS0lUICsgcmVwbGFjZSh2YWx1ZSwgLyhbXi1dKSh0cmFuc2Zvcm0pL2csICckMScgKyBXRUJLSVQgKyAnJDInKSArIHZhbHVlO1xuICAgIC8vIGN1cnNvclxuXG4gICAgY2FzZSA2MTg3OlxuICAgICAgcmV0dXJuIHJlcGxhY2UocmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKHpvb20tfGdyYWIpLywgV0VCS0lUICsgJyQxJyksIC8oaW1hZ2Utc2V0KS8sIFdFQktJVCArICckMScpLCB2YWx1ZSwgJycpICsgdmFsdWU7XG4gICAgLy8gYmFja2dyb3VuZCwgYmFja2dyb3VuZC1pbWFnZVxuXG4gICAgY2FzZSA1NDk1OlxuICAgIGNhc2UgMzk1OTpcbiAgICAgIHJldHVybiByZXBsYWNlKHZhbHVlLCAvKGltYWdlLXNldFxcKFteXSopLywgV0VCS0lUICsgJyQxJyArICckYCQxJyk7XG4gICAgLy8ganVzdGlmeS1jb250ZW50XG5cbiAgICBjYXNlIDQ5Njg6XG4gICAgICByZXR1cm4gcmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKC4rOikoZmxleC0pPyguKikvLCBXRUJLSVQgKyAnYm94LXBhY2s6JDMnICsgTVMgKyAnZmxleC1wYWNrOiQzJyksIC9zListYlteO10rLywgJ2p1c3RpZnknKSArIFdFQktJVCArIHZhbHVlICsgdmFsdWU7XG4gICAgLy8gKG1hcmdpbnxwYWRkaW5nKS1pbmxpbmUtKHN0YXJ0fGVuZClcblxuICAgIGNhc2UgNDA5NTpcbiAgICBjYXNlIDM1ODM6XG4gICAgY2FzZSA0MDY4OlxuICAgIGNhc2UgMjUzMjpcbiAgICAgIHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rKS1pbmxpbmUoLispLywgV0VCS0lUICsgJyQxJDInKSArIHZhbHVlO1xuICAgIC8vIChtaW58bWF4KT8od2lkdGh8aGVpZ2h0fGlubGluZS1zaXplfGJsb2NrLXNpemUpXG5cbiAgICBjYXNlIDgxMTY6XG4gICAgY2FzZSA3MDU5OlxuICAgIGNhc2UgNTc1MzpcbiAgICBjYXNlIDU1MzU6XG4gICAgY2FzZSA1NDQ1OlxuICAgIGNhc2UgNTcwMTpcbiAgICBjYXNlIDQ5MzM6XG4gICAgY2FzZSA0Njc3OlxuICAgIGNhc2UgNTUzMzpcbiAgICBjYXNlIDU3ODk6XG4gICAgY2FzZSA1MDIxOlxuICAgIGNhc2UgNDc2NTpcbiAgICAgIC8vIHN0cmV0Y2gsIG1heC1jb250ZW50LCBtaW4tY29udGVudCwgZmlsbC1hdmFpbGFibGVcbiAgICAgIGlmIChzdHJsZW4odmFsdWUpIC0gMSAtIGxlbmd0aCA+IDYpIHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxKSkge1xuICAgICAgICAvLyAobSlheC1jb250ZW50LCAobSlpbi1jb250ZW50XG4gICAgICAgIGNhc2UgMTA5OlxuICAgICAgICAgIC8vIC1cbiAgICAgICAgICBpZiAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyA0KSAhPT0gNDUpIGJyZWFrO1xuICAgICAgICAvLyAoZilpbGwtYXZhaWxhYmxlLCAoZilpdC1jb250ZW50XG5cbiAgICAgICAgY2FzZSAxMDI6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis6KSguKyktKFteXSspLywgJyQxJyArIFdFQktJVCArICckMi0kMycgKyAnJDEnICsgTU9aICsgKGNoYXJhdCh2YWx1ZSwgbGVuZ3RoICsgMykgPT0gMTA4ID8gJyQzJyA6ICckMi0kMycpKSArIHZhbHVlO1xuICAgICAgICAvLyAocyl0cmV0Y2hcblxuICAgICAgICBjYXNlIDExNTpcbiAgICAgICAgICByZXR1cm4gfmluZGV4b2YodmFsdWUsICdzdHJldGNoJykgPyBwcmVmaXgocmVwbGFjZSh2YWx1ZSwgJ3N0cmV0Y2gnLCAnZmlsbC1hdmFpbGFibGUnKSwgbGVuZ3RoKSArIHZhbHVlIDogdmFsdWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICAvLyBwb3NpdGlvbjogc3RpY2t5XG5cbiAgICBjYXNlIDQ5NDk6XG4gICAgICAvLyAocyl0aWNreT9cbiAgICAgIGlmIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDEpICE9PSAxMTUpIGJyZWFrO1xuICAgIC8vIGRpc3BsYXk6IChmbGV4fGlubGluZS1mbGV4KVxuXG4gICAgY2FzZSA2NDQ0OlxuICAgICAgc3dpdGNoIChjaGFyYXQodmFsdWUsIHN0cmxlbih2YWx1ZSkgLSAzIC0gKH5pbmRleG9mKHZhbHVlLCAnIWltcG9ydGFudCcpICYmIDEwKSkpIHtcbiAgICAgICAgLy8gc3RpYyhrKXlcbiAgICAgICAgY2FzZSAxMDc6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsICc6JywgJzonICsgV0VCS0lUKSArIHZhbHVlO1xuICAgICAgICAvLyAoaW5saW5lLSk/ZmwoZSl4XG5cbiAgICAgICAgY2FzZSAxMDE6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis6KShbXjshXSspKDt8IS4rKT8vLCAnJDEnICsgV0VCS0lUICsgKGNoYXJhdCh2YWx1ZSwgMTQpID09PSA0NSA/ICdpbmxpbmUtJyA6ICcnKSArICdib3gkMycgKyAnJDEnICsgV0VCS0lUICsgJyQyJDMnICsgJyQxJyArIE1TICsgJyQyYm94JDMnKSArIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICAvLyB3cml0aW5nLW1vZGVcblxuICAgIGNhc2UgNTkzNjpcbiAgICAgIHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxMSkpIHtcbiAgICAgICAgLy8gdmVydGljYWwtbChyKVxuICAgICAgICBjYXNlIDExNDpcbiAgICAgICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsIC9bc3ZoXVxcdystW3RibHJdezJ9LywgJ3RiJykgKyB2YWx1ZTtcbiAgICAgICAgLy8gdmVydGljYWwtcihsKVxuXG4gICAgICAgIGNhc2UgMTA4OlxuICAgICAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAndGItcmwnKSArIHZhbHVlO1xuICAgICAgICAvLyBob3Jpem9udGFsKC0pdGJcblxuICAgICAgICBjYXNlIDQ1OlxuICAgICAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAnbHInKSArIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHZhbHVlICsgdmFsdWU7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbnZhciBwcmVmaXhlciA9IGZ1bmN0aW9uIHByZWZpeGVyKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcbiAgaWYgKGVsZW1lbnQubGVuZ3RoID4gLTEpIGlmICghZWxlbWVudFtcInJldHVyblwiXSkgc3dpdGNoIChlbGVtZW50LnR5cGUpIHtcbiAgICBjYXNlIERFQ0xBUkFUSU9OOlxuICAgICAgZWxlbWVudFtcInJldHVyblwiXSA9IHByZWZpeChlbGVtZW50LnZhbHVlLCBlbGVtZW50Lmxlbmd0aCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgS0VZRlJBTUVTOlxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7XG4gICAgICAgIHZhbHVlOiByZXBsYWNlKGVsZW1lbnQudmFsdWUsICdAJywgJ0AnICsgV0VCS0lUKVxuICAgICAgfSldLCBjYWxsYmFjayk7XG5cbiAgICBjYXNlIFJVTEVTRVQ6XG4gICAgICBpZiAoZWxlbWVudC5sZW5ndGgpIHJldHVybiBjb21iaW5lKGVsZW1lbnQucHJvcHMsIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKG1hdGNoKHZhbHVlLCAvKDo6cGxhY1xcdyt8OnJlYWQtXFx3KykvKSkge1xuICAgICAgICAgIC8vIDpyZWFkLShvbmx5fHdyaXRlKVxuICAgICAgICAgIGNhc2UgJzpyZWFkLW9ubHknOlxuICAgICAgICAgIGNhc2UgJzpyZWFkLXdyaXRlJzpcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemUoW2NvcHkoZWxlbWVudCwge1xuICAgICAgICAgICAgICBwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHJlYWQtXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV1cbiAgICAgICAgICAgIH0pXSwgY2FsbGJhY2spO1xuICAgICAgICAgIC8vIDpwbGFjZWhvbGRlclxuXG4gICAgICAgICAgY2FzZSAnOjpwbGFjZWhvbGRlcic6XG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplKFtjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBXRUJLSVQgKyAnaW5wdXQtJDEnKV1cbiAgICAgICAgICAgIH0pLCBjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV1cbiAgICAgICAgICAgIH0pLCBjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCBNUyArICdpbnB1dC0kMScpXVxuICAgICAgICAgICAgfSldLCBjYWxsYmFjayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9KTtcbiAgfVxufTtcblxudmFyIGRlZmF1bHRTdHlsaXNQbHVnaW5zID0gW3ByZWZpeGVyXTtcbnZhciBnZXRTb3VyY2VNYXA7XG5cbntcbiAgdmFyIHNvdXJjZU1hcFBhdHRlcm4gPSAvXFwvXFwqI1xcc3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvblxcL2pzb247XFxTK1xccytcXCpcXC8vZztcblxuICBnZXRTb3VyY2VNYXAgPSBmdW5jdGlvbiBnZXRTb3VyY2VNYXAoc3R5bGVzKSB7XG4gICAgdmFyIG1hdGNoZXMgPSBzdHlsZXMubWF0Y2goc291cmNlTWFwUGF0dGVybik7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm47XG4gICAgcmV0dXJuIG1hdGNoZXNbbWF0Y2hlcy5sZW5ndGggLSAxXTtcbiAgfTtcbn1cblxudmFyIGNyZWF0ZUNhY2hlID0gZnVuY3Rpb24gY3JlYXRlQ2FjaGUob3B0aW9ucykge1xuICB2YXIga2V5ID0gb3B0aW9ucy5rZXk7XG5cbiAgaWYgKCFrZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgaGF2ZSB0byBjb25maWd1cmUgYGtleWAgZm9yIHlvdXIgY2FjaGUuIFBsZWFzZSBtYWtlIHN1cmUgaXQncyB1bmlxdWUgKGFuZCBub3QgZXF1YWwgdG8gJ2NzcycpIGFzIGl0J3MgdXNlZCBmb3IgbGlua2luZyBzdHlsZXMgdG8geW91ciBjYWNoZS5cXG5cIiArIFwiSWYgbXVsdGlwbGUgY2FjaGVzIHNoYXJlIHRoZSBzYW1lIGtleSB0aGV5IG1pZ2h0IFxcXCJmaWdodFxcXCIgZm9yIGVhY2ggb3RoZXIncyBzdHlsZSBlbGVtZW50cy5cIik7XG4gIH1cblxuICBpZiAoa2V5ID09PSAnY3NzJykge1xuICAgIHZhciBzc3JTdHlsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwic3R5bGVbZGF0YS1lbW90aW9uXTpub3QoW2RhdGEtc10pXCIpOyAvLyBnZXQgU1NSZWQgc3R5bGVzIG91dCBvZiB0aGUgd2F5IG9mIFJlYWN0J3MgaHlkcmF0aW9uXG4gICAgLy8gZG9jdW1lbnQuaGVhZCBpcyBhIHNhZmUgcGxhY2UgdG8gbW92ZSB0aGVtIHRvKHRob3VnaCBub3RlIGRvY3VtZW50LmhlYWQgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBsYXN0IHBsYWNlIHRoZXkgd2lsbCBiZSlcbiAgICAvLyBub3RlIHRoaXMgdmVyeSB2ZXJ5IGludGVudGlvbmFsbHkgdGFyZ2V0cyBhbGwgc3R5bGUgZWxlbWVudHMgcmVnYXJkbGVzcyBvZiB0aGUga2V5IHRvIGVuc3VyZVxuICAgIC8vIHRoYXQgY3JlYXRpbmcgYSBjYWNoZSB3b3JrcyBpbnNpZGUgb2YgcmVuZGVyIG9mIGEgUmVhY3QgY29tcG9uZW50XG5cbiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHNzclN0eWxlcywgZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgIC8vIHdlIHdhbnQgdG8gb25seSBtb3ZlIGVsZW1lbnRzIHdoaWNoIGhhdmUgYSBzcGFjZSBpbiB0aGUgZGF0YS1lbW90aW9uIGF0dHJpYnV0ZSB2YWx1ZVxuICAgICAgLy8gYmVjYXVzZSB0aGF0IGluZGljYXRlcyB0aGF0IGl0IGlzIGFuIEVtb3Rpb24gMTEgc2VydmVyLXNpZGUgcmVuZGVyZWQgc3R5bGUgZWxlbWVudHNcbiAgICAgIC8vIHdoaWxlIHdlIHdpbGwgYWxyZWFkeSBpZ25vcmUgRW1vdGlvbiAxMSBjbGllbnQtc2lkZSBpbnNlcnRlZCBzdHlsZXMgYmVjYXVzZSBvZiB0aGUgOm5vdChbZGF0YS1zXSkgcGFydCBpbiB0aGUgc2VsZWN0b3JcbiAgICAgIC8vIEVtb3Rpb24gMTAgY2xpZW50LXNpZGUgaW5zZXJ0ZWQgc3R5bGVzIGRpZCBub3QgaGF2ZSBkYXRhLXMgKGJ1dCBpbXBvcnRhbnRseSBkaWQgbm90IGhhdmUgYSBzcGFjZSBpbiB0aGVpciBkYXRhLWVtb3Rpb24gYXR0cmlidXRlcylcbiAgICAgIC8vIHNvIGNoZWNraW5nIGZvciB0aGUgc3BhY2UgZW5zdXJlcyB0aGF0IGxvYWRpbmcgRW1vdGlvbiAxMSBhZnRlciBFbW90aW9uIDEwIGhhcyBpbnNlcnRlZCBzb21lIHN0eWxlc1xuICAgICAgLy8gd2lsbCBub3QgcmVzdWx0IGluIHRoZSBFbW90aW9uIDEwIHN0eWxlcyBiZWluZyBkZXN0cm95ZWRcbiAgICAgIHZhciBkYXRhRW1vdGlvbkF0dHJpYnV0ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWVtb3Rpb24nKTtcblxuICAgICAgaWYgKGRhdGFFbW90aW9uQXR0cmlidXRlLmluZGV4T2YoJyAnKSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2RhdGEtcycsICcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhciBzdHlsaXNQbHVnaW5zID0gb3B0aW9ucy5zdHlsaXNQbHVnaW5zIHx8IGRlZmF1bHRTdHlsaXNQbHVnaW5zO1xuXG4gIHtcbiAgICBpZiAoL1teYS16LV0vLnRlc3Qoa2V5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW1vdGlvbiBrZXkgbXVzdCBvbmx5IGNvbnRhaW4gbG93ZXIgY2FzZSBhbHBoYWJldGljYWwgY2hhcmFjdGVycyBhbmQgLSBidXQgXFxcIlwiICsga2V5ICsgXCJcXFwiIHdhcyBwYXNzZWRcIik7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluc2VydGVkID0ge307XG4gIHZhciBjb250YWluZXI7XG4gIHZhciBub2Rlc1RvSHlkcmF0ZSA9IFtdO1xuXG4gIHtcbiAgICBjb250YWluZXIgPSBvcHRpb25zLmNvbnRhaW5lciB8fCBkb2N1bWVudC5oZWFkO1xuICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoIC8vIHRoaXMgbWVhbnMgd2Ugd2lsbCBpZ25vcmUgZWxlbWVudHMgd2hpY2ggZG9uJ3QgaGF2ZSBhIHNwYWNlIGluIHRoZW0gd2hpY2hcbiAgICAvLyBtZWFucyB0aGF0IHRoZSBzdHlsZSBlbGVtZW50cyB3ZSdyZSBsb29raW5nIGF0IGFyZSBvbmx5IEVtb3Rpb24gMTEgc2VydmVyLXJlbmRlcmVkIHN0eWxlIGVsZW1lbnRzXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlW2RhdGEtZW1vdGlvbl49XFxcIlwiICsga2V5ICsgXCIgXFxcIl1cIiksIGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICB2YXIgYXR0cmliID0gbm9kZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWVtb3Rpb25cIikuc3BsaXQoJyAnKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhdHRyaWIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaW5zZXJ0ZWRbYXR0cmliW2ldXSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGVzVG9IeWRyYXRlLnB1c2gobm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICB2YXIgX2luc2VydDtcblxuICB2YXIgb21uaXByZXNlbnRQbHVnaW5zID0gW2NvbXBhdCwgcmVtb3ZlTGFiZWxdO1xuXG4gIHtcbiAgICBvbW5pcHJlc2VudFBsdWdpbnMucHVzaChjcmVhdGVVbnNhZmVTZWxlY3RvcnNBbGFybSh7XG4gICAgICBnZXQgY29tcGF0KCkge1xuICAgICAgICByZXR1cm4gY2FjaGUuY29tcGF0O1xuICAgICAgfVxuXG4gICAgfSksIGluY29ycmVjdEltcG9ydEFsYXJtKTtcbiAgfVxuXG4gIHtcbiAgICB2YXIgY3VycmVudFNoZWV0O1xuICAgIHZhciBmaW5hbGl6aW5nUGx1Z2lucyA9IFtzdHJpbmdpZnksIGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICBpZiAoIWVsZW1lbnQucm9vdCkge1xuICAgICAgICBpZiAoZWxlbWVudFtcInJldHVyblwiXSkge1xuICAgICAgICAgIGN1cnJlbnRTaGVldC5pbnNlcnQoZWxlbWVudFtcInJldHVyblwiXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC52YWx1ZSAmJiBlbGVtZW50LnR5cGUgIT09IENPTU1FTlQpIHtcbiAgICAgICAgICAvLyBpbnNlcnQgZW1wdHkgcnVsZSBpbiBub24tcHJvZHVjdGlvbiBlbnZpcm9ubWVudHNcbiAgICAgICAgICAvLyBzbyBAZW1vdGlvbi9qZXN0IGNhbiBncmFiIGBrZXlgIGZyb20gdGhlIChKUylET00gZm9yIGNhY2hlcyB3aXRob3V0IGFueSBydWxlcyBpbnNlcnRlZCB5ZXRcbiAgICAgICAgICBjdXJyZW50U2hlZXQuaW5zZXJ0KGVsZW1lbnQudmFsdWUgKyBcInt9XCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBdO1xuICAgIHZhciBzZXJpYWxpemVyID0gbWlkZGxld2FyZShvbW5pcHJlc2VudFBsdWdpbnMuY29uY2F0KHN0eWxpc1BsdWdpbnMsIGZpbmFsaXppbmdQbHVnaW5zKSk7XG5cbiAgICB2YXIgc3R5bGlzID0gZnVuY3Rpb24gc3R5bGlzKHN0eWxlcykge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZShjb21waWxlKHN0eWxlcyksIHNlcmlhbGl6ZXIpO1xuICAgIH07XG5cbiAgICBfaW5zZXJ0ID0gZnVuY3Rpb24gaW5zZXJ0KHNlbGVjdG9yLCBzZXJpYWxpemVkLCBzaGVldCwgc2hvdWxkQ2FjaGUpIHtcbiAgICAgIGN1cnJlbnRTaGVldCA9IHNoZWV0O1xuXG4gICAgICBpZiAoZ2V0U291cmNlTWFwKSB7XG4gICAgICAgIHZhciBzb3VyY2VNYXAgPSBnZXRTb3VyY2VNYXAoc2VyaWFsaXplZC5zdHlsZXMpO1xuXG4gICAgICAgIGlmIChzb3VyY2VNYXApIHtcbiAgICAgICAgICBjdXJyZW50U2hlZXQgPSB7XG4gICAgICAgICAgICBpbnNlcnQ6IGZ1bmN0aW9uIGluc2VydChydWxlKSB7XG4gICAgICAgICAgICAgIHNoZWV0Lmluc2VydChydWxlICsgc291cmNlTWFwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN0eWxpcyhzZWxlY3RvciA/IHNlbGVjdG9yICsgXCJ7XCIgKyBzZXJpYWxpemVkLnN0eWxlcyArIFwifVwiIDogc2VyaWFsaXplZC5zdHlsZXMpO1xuXG4gICAgICBpZiAoc2hvdWxkQ2FjaGUpIHtcbiAgICAgICAgY2FjaGUuaW5zZXJ0ZWRbc2VyaWFsaXplZC5uYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHZhciBjYWNoZSA9IHtcbiAgICBrZXk6IGtleSxcbiAgICBzaGVldDogbmV3IFN0eWxlU2hlZXQoe1xuICAgICAga2V5OiBrZXksXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgIG5vbmNlOiBvcHRpb25zLm5vbmNlLFxuICAgICAgc3BlZWR5OiBvcHRpb25zLnNwZWVkeSxcbiAgICAgIHByZXBlbmQ6IG9wdGlvbnMucHJlcGVuZCxcbiAgICAgIGluc2VydGlvblBvaW50OiBvcHRpb25zLmluc2VydGlvblBvaW50XG4gICAgfSksXG4gICAgbm9uY2U6IG9wdGlvbnMubm9uY2UsXG4gICAgaW5zZXJ0ZWQ6IGluc2VydGVkLFxuICAgIHJlZ2lzdGVyZWQ6IHt9LFxuICAgIGluc2VydDogX2luc2VydFxuICB9O1xuICBjYWNoZS5zaGVldC5oeWRyYXRlKG5vZGVzVG9IeWRyYXRlKTtcbiAgcmV0dXJuIGNhY2hlO1xufTtcblxuZXhwb3J0IHsgY3JlYXRlQ2FjaGUgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/hash/dist/emotion-hash.esm.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/@emotion/hash/dist/emotion-hash.esm.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ murmur2; }\n/* harmony export */ });\n/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9oYXNoL2Rpc3QvZW1vdGlvbi1oYXNoLmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxVQUFVO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFOEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL2hhc2gvZGlzdC9lbW90aW9uLWhhc2guZXNtLmpzPzVkMGQiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIEluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9nYXJ5Y291cnQvbXVybXVyaGFzaC1qc1xuLy8gUG9ydGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FhcHBsZWJ5L3NtaGFzaGVyL2Jsb2IvNjFhMDUzMGYyODI3N2YyZTg1MGJmYzM5NjAwY2U2MWQwMmI1MThkZS9zcmMvTXVybXVySGFzaDIuY3BwI0wzNy1MODZcbmZ1bmN0aW9uIG11cm11cjIoc3RyKSB7XG4gIC8vICdtJyBhbmQgJ3InIGFyZSBtaXhpbmcgY29uc3RhbnRzIGdlbmVyYXRlZCBvZmZsaW5lLlxuICAvLyBUaGV5J3JlIG5vdCByZWFsbHkgJ21hZ2ljJywgdGhleSBqdXN0IGhhcHBlbiB0byB3b3JrIHdlbGwuXG4gIC8vIGNvbnN0IG0gPSAweDViZDFlOTk1O1xuICAvLyBjb25zdCByID0gMjQ7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhhc2hcbiAgdmFyIGggPSAwOyAvLyBNaXggNCBieXRlcyBhdCBhIHRpbWUgaW50byB0aGUgaGFzaFxuXG4gIHZhciBrLFxuICAgICAgaSA9IDAsXG4gICAgICBsZW4gPSBzdHIubGVuZ3RoO1xuXG4gIGZvciAoOyBsZW4gPj0gNDsgKytpLCBsZW4gLT0gNCkge1xuICAgIGsgPSBzdHIuY2hhckNvZGVBdChpKSAmIDB4ZmYgfCAoc3RyLmNoYXJDb2RlQXQoKytpKSAmIDB4ZmYpIDw8IDggfCAoc3RyLmNoYXJDb2RlQXQoKytpKSAmIDB4ZmYpIDw8IDE2IHwgKHN0ci5jaGFyQ29kZUF0KCsraSkgJiAweGZmKSA8PCAyNDtcbiAgICBrID1cbiAgICAvKiBNYXRoLmltdWwoaywgbSk6ICovXG4gICAgKGsgJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoayA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgICBrIF49XG4gICAgLyogayA+Pj4gcjogKi9cbiAgICBrID4+PiAyNDtcbiAgICBoID1cbiAgICAvKiBNYXRoLmltdWwoaywgbSk6ICovXG4gICAgKGsgJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoayA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KSBeXG4gICAgLyogTWF0aC5pbXVsKGgsIG0pOiAqL1xuICAgIChoICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKGggPj4+IDE2KSAqIDB4ZTk5NSA8PCAxNik7XG4gIH0gLy8gSGFuZGxlIHRoZSBsYXN0IGZldyBieXRlcyBvZiB0aGUgaW5wdXQgYXJyYXlcblxuXG4gIHN3aXRjaCAobGVuKSB7XG4gICAgY2FzZSAzOlxuICAgICAgaCBePSAoc3RyLmNoYXJDb2RlQXQoaSArIDIpICYgMHhmZikgPDwgMTY7XG5cbiAgICBjYXNlIDI6XG4gICAgICBoIF49IChzdHIuY2hhckNvZGVBdChpICsgMSkgJiAweGZmKSA8PCA4O1xuXG4gICAgY2FzZSAxOlxuICAgICAgaCBePSBzdHIuY2hhckNvZGVBdChpKSAmIDB4ZmY7XG4gICAgICBoID1cbiAgICAgIC8qIE1hdGguaW11bChoLCBtKTogKi9cbiAgICAgIChoICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKGggPj4+IDE2KSAqIDB4ZTk5NSA8PCAxNik7XG4gIH0gLy8gRG8gYSBmZXcgZmluYWwgbWl4ZXMgb2YgdGhlIGhhc2ggdG8gZW5zdXJlIHRoZSBsYXN0IGZld1xuICAvLyBieXRlcyBhcmUgd2VsbC1pbmNvcnBvcmF0ZWQuXG5cblxuICBoIF49IGggPj4+IDEzO1xuICBoID1cbiAgLyogTWF0aC5pbXVsKGgsIG0pOiAqL1xuICAoaCAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChoID4+PiAxNikgKiAweGU5OTUgPDwgMTYpO1xuICByZXR1cm4gKChoIF4gaCA+Pj4gMTUpID4+PiAwKS50b1N0cmluZygzNik7XG59XG5cbmV4cG9ydCB7IG11cm11cjIgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/hash/dist/emotion-hash.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ memoize; }\n/* harmony export */ });\nfunction memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9tZW1vaXplL2Rpc3QvZW1vdGlvbi1tZW1vaXplLmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRThCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9tZW1vaXplL2Rpc3QvZW1vdGlvbi1tZW1vaXplLmVzbS5qcz9mNTcwIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG1lbW9pemUoZm4pIHtcbiAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhcmcpIHtcbiAgICBpZiAoY2FjaGVbYXJnXSA9PT0gdW5kZWZpbmVkKSBjYWNoZVthcmddID0gZm4oYXJnKTtcbiAgICByZXR1cm4gY2FjaGVbYXJnXTtcbiAgfTtcbn1cblxuZXhwb3J0IHsgbWVtb2l6ZSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js":
|
||
/*!*****************************************************************************************************************!*\
|
||
!*** ./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js ***!
|
||
\*****************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ hoistNonReactStatics; }\n/* harmony export */ });\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hoist-non-react-statics */ \"(app-pages-browser)/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0__);\n\n\n// this file isolates this package that is not tree-shakeable\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\n\nvar hoistNonReactStatics = (function (targetComponent, sourceComponent) {\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0___default()(targetComponent, sourceComponent);\n});\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9yZWFjdC9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuYnJvd3Nlci5kZXZlbG9wbWVudC5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTZEOztBQUU3RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTLDhEQUFzQjtBQUMvQixDQUFDOztBQUUwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vcmVhY3QvX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzP2YyZjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhvaXN0Tm9uUmVhY3RTdGF0aWNzJDEgZnJvbSAnaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MnO1xuXG4vLyB0aGlzIGZpbGUgaXNvbGF0ZXMgdGhpcyBwYWNrYWdlIHRoYXQgaXMgbm90IHRyZWUtc2hha2VhYmxlXG4vLyBhbmQgaWYgdGhpcyBtb2R1bGUgZG9lc24ndCBhY3R1YWxseSBjb250YWluIGFueSBsb2dpYyBvZiBpdHMgb3duXG4vLyB0aGVuIFJvbGx1cCBqdXN0IHVzZSAnaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MnIGRpcmVjdGx5IGluIG90aGVyIGNodW5rc1xuXG52YXIgaG9pc3ROb25SZWFjdFN0YXRpY3MgPSAoZnVuY3Rpb24gKHRhcmdldENvbXBvbmVudCwgc291cmNlQ29tcG9uZW50KSB7XG4gIHJldHVybiBob2lzdE5vblJlYWN0U3RhdGljcyQxKHRhcmdldENvbXBvbmVudCwgc291cmNlQ29tcG9uZW50KTtcbn0pO1xuXG5leHBvcnQgeyBob2lzdE5vblJlYWN0U3RhdGljcyBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js":
|
||
/*!**********************************************************************************************!*\
|
||
!*** ./node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js ***!
|
||
\**********************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ C: function() { return /* binding */ CacheProvider; },\n/* harmony export */ E: function() { return /* binding */ Emotion$1; },\n/* harmony export */ T: function() { return /* binding */ ThemeContext; },\n/* harmony export */ _: function() { return /* binding */ __unsafe_useEmotionCache; },\n/* harmony export */ a: function() { return /* binding */ ThemeProvider; },\n/* harmony export */ b: function() { return /* binding */ withTheme; },\n/* harmony export */ c: function() { return /* binding */ createEmotionProps; },\n/* harmony export */ h: function() { return /* binding */ hasOwn; },\n/* harmony export */ u: function() { return /* binding */ useTheme; },\n/* harmony export */ w: function() { return /* binding */ withEmotionCache; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/cache */ \"(app-pages-browser)/./node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/weak-memoize */ \"(app-pages-browser)/./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js\");\n/* harmony import */ var _isolated_hnrs_dist_emotion_react_isolated_hnrs_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js */ \"(app-pages-browser)/./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js\");\n/* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/utils */ \"(app-pages-browser)/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js\");\n/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/serialize */ \"(app-pages-browser)/./node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.js\");\n/* harmony import */ var _emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/use-insertion-effect-with-fallbacks */ \"(app-pages-browser)/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js\");\n\n\n\n\n\n\n\n\n\n\nvar EmotionCacheContext = /* #__PURE__ */react__WEBPACK_IMPORTED_MODULE_0__.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */(0,_emotion_cache__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n key: 'css'\n}) : null);\n\n{\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function (props, ref) {\n // the cache will never be null in the browser\n var cache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */react__WEBPACK_IMPORTED_MODULE_0__.createContext({});\n\n{\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if ((mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if ((theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */(0,_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (outerTheme) {\n return (0,_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function render(props, ref) {\n var theme = react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return (0,_isolated_hnrs_dist_emotion_react_isolated_hnrs_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n // - It causes hydration warnings when using Safari and SSR\n // - It can degrade performance if there are a huge number of elements\n //\n // Even if the flag is set, we still don't compute the label if it has already\n // been determined by the Babel plugin.\n\n if (typeof globalThis !== 'undefined' && !!globalThis.EMOTION_RUNTIME_AUTO_LABEL && !!props.css && (typeof props.css !== 'object' || !('name' in props.css) || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.registerStyles)(cache, serialized, isStringTag);\n (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_6__.useInsertionEffectAlwaysWithSyncFallback)(function () {\n return (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.insertStyles)(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.getRegisteredStyles)(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_5__.serializeStyles)(registeredStyles, undefined, react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext));\n\n if (serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_5__.serializeStyles)([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (_key2 !== labelPropName)) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(WrappedComponent, newProps));\n});\n\n{\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9yZWFjdC9kaXN0L2Vtb3Rpb24tZWxlbWVudC00ODk0NTlmMi5icm93c2VyLmRldmVsb3BtZW50LmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ2dCO0FBQ047QUFDaUI7QUFDVjtBQUNrRTtBQUMvQjtBQUM5QjtBQUNtRDs7QUFFeEcseUNBQXlDLGdEQUFtQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELDBEQUFXO0FBQy9EO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVMsaURBQVU7QUFDbkI7O0FBRUE7QUFDQSxzQkFBc0IsaURBQVU7QUFDaEM7QUFDQSxnQkFBZ0IsaURBQVU7QUFDMUI7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsa0NBQWtDLGdEQUFtQixHQUFHOztBQUV4RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTLDZDQUFnQjtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxR0FBcUcsU0FBUyxFQUFFO0FBQ2hIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFNBQVMsOEVBQVEsR0FBRztBQUNwQjs7QUFFQSwwQ0FBMEMsaUVBQVc7QUFDckQsU0FBUyxpRUFBVztBQUNwQjtBQUNBLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQSxjQUFjLDZDQUFnQjs7QUFFOUI7QUFDQTtBQUNBOztBQUVBLHNCQUFzQixnREFBbUI7QUFDekM7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLDZDQUFnQjtBQUMvQyxnQkFBZ0IsNkNBQWdCO0FBQ2hDLHdCQUF3QixnREFBbUIsWUFBWSw4RUFBUTtBQUMvRDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBLFNBQVMsc0hBQW9CO0FBQzdCOztBQUVBLGVBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0lBQXdJO0FBQ3hJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDLG9FQUFvRTs7QUFFcEUsaUNBQWlDOztBQUVqQyw2REFBNkQ7QUFDN0Q7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOERBQWM7QUFDaEIsRUFBRSxzSEFBd0M7QUFDMUMsV0FBVyw0REFBWTtBQUN2QixHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCLG1FQUFtQjtBQUNuQyxJQUFJO0FBQ0o7QUFDQTs7QUFFQSxtQkFBbUIsbUVBQWUsOEJBQThCLDZDQUFnQjs7QUFFaEY7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixtRUFBZSw0Q0FBNEM7QUFDOUU7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHNCQUFzQixnREFBbUIsQ0FBQywyQ0FBYyxxQkFBcUIsZ0RBQW1CO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCLGdEQUFtQjtBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQTs7QUFFZ04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3JlYWN0L2Rpc3QvZW1vdGlvbi1lbGVtZW50LTQ4OTQ1OWYyLmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzPzRjODQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcyc7XG5pbXBvcnQgd2Vha01lbW9pemUgZnJvbSAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCBob2lzdE5vblJlYWN0U3RhdGljcyBmcm9tICcuLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuYnJvd3Nlci5kZXZlbG9wbWVudC5lc20uanMnO1xuaW1wb3J0IHsgZ2V0UmVnaXN0ZXJlZFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMsIGluc2VydFN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJztcbmltcG9ydCB7IHNlcmlhbGl6ZVN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3NlcmlhbGl6ZSc7XG5pbXBvcnQgeyB1c2VJbnNlcnRpb25FZmZlY3RBbHdheXNXaXRoU3luY0ZhbGxiYWNrIH0gZnJvbSAnQGVtb3Rpb24vdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MnO1xuXG52YXIgRW1vdGlvbkNhY2hlQ29udGV4dCA9IC8qICNfX1BVUkVfXyAqL1JlYWN0LmNyZWF0ZUNvbnRleHQoIC8vIHdlJ3JlIGRvaW5nIHRoaXMgdG8gYXZvaWQgcHJlY29uc3RydWN0J3MgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIGluIHRoaXMgb25lIGNhc2Vcbi8vIGJlY2F1c2UgdGhpcyBtb2R1bGUgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciB0aGUgYnJvd3NlciBhbmQgbm9kZVxuLy8gYnV0IGl0J3MgYWxzbyByZXF1aXJlZCBpbiByZWFjdCBuYXRpdmUgYW5kIHNpbWlsYXIgZW52aXJvbm1lbnRzIHNvbWV0aW1lc1xuLy8gYW5kIHdlIGNvdWxkIGhhdmUgYSBzcGVjaWFsIGJ1aWxkIGp1c3QgZm9yIHRoYXRcbi8vIGJ1dCB0aGlzIGlzIG11Y2ggZWFzaWVyIGFuZCB0aGUgbmF0aXZlIHBhY2thZ2VzXG4vLyBtaWdodCB1c2UgYSBkaWZmZXJlbnQgdGhlbWUgY29udGV4dCBpbiB0aGUgZnV0dXJlIGFueXdheVxudHlwZW9mIEhUTUxFbGVtZW50ICE9PSAndW5kZWZpbmVkJyA/IC8qICNfX1BVUkVfXyAqL2NyZWF0ZUNhY2hlKHtcbiAga2V5OiAnY3NzJ1xufSkgOiBudWxsKTtcblxue1xuICBFbW90aW9uQ2FjaGVDb250ZXh0LmRpc3BsYXlOYW1lID0gJ0Vtb3Rpb25DYWNoZUNvbnRleHQnO1xufVxuXG52YXIgQ2FjaGVQcm92aWRlciA9IEVtb3Rpb25DYWNoZUNvbnRleHQuUHJvdmlkZXI7XG52YXIgX191bnNhZmVfdXNlRW1vdGlvbkNhY2hlID0gZnVuY3Rpb24gdXNlRW1vdGlvbkNhY2hlKCkge1xuICByZXR1cm4gdXNlQ29udGV4dChFbW90aW9uQ2FjaGVDb250ZXh0KTtcbn07XG5cbnZhciB3aXRoRW1vdGlvbkNhY2hlID0gZnVuY3Rpb24gd2l0aEVtb3Rpb25DYWNoZShmdW5jKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHJlZikge1xuICAgIC8vIHRoZSBjYWNoZSB3aWxsIG5ldmVyIGJlIG51bGwgaW4gdGhlIGJyb3dzZXJcbiAgICB2YXIgY2FjaGUgPSB1c2VDb250ZXh0KEVtb3Rpb25DYWNoZUNvbnRleHQpO1xuICAgIHJldHVybiBmdW5jKHByb3BzLCBjYWNoZSwgcmVmKTtcbiAgfSk7XG59O1xuXG52YXIgVGhlbWVDb250ZXh0ID0gLyogI19fUFVSRV9fICovUmVhY3QuY3JlYXRlQ29udGV4dCh7fSk7XG5cbntcbiAgVGhlbWVDb250ZXh0LmRpc3BsYXlOYW1lID0gJ0Vtb3Rpb25UaGVtZUNvbnRleHQnO1xufVxuXG52YXIgdXNlVGhlbWUgPSBmdW5jdGlvbiB1c2VUaGVtZSgpIHtcbiAgcmV0dXJuIFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcbn07XG5cbnZhciBnZXRUaGVtZSA9IGZ1bmN0aW9uIGdldFRoZW1lKG91dGVyVGhlbWUsIHRoZW1lKSB7XG4gIGlmICh0eXBlb2YgdGhlbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgbWVyZ2VkVGhlbWUgPSB0aGVtZShvdXRlclRoZW1lKTtcblxuICAgIGlmICgobWVyZ2VkVGhlbWUgPT0gbnVsbCB8fCB0eXBlb2YgbWVyZ2VkVGhlbWUgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkobWVyZ2VkVGhlbWUpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbVGhlbWVQcm92aWRlcl0gUGxlYXNlIHJldHVybiBhbiBvYmplY3QgZnJvbSB5b3VyIHRoZW1lIGZ1bmN0aW9uLCBpLmUuIHRoZW1lPXsoKSA9PiAoe30pfSEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVyZ2VkVGhlbWU7XG4gIH1cblxuICBpZiAoKHRoZW1lID09IG51bGwgfHwgdHlwZW9mIHRoZW1lICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHRoZW1lKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1tUaGVtZVByb3ZpZGVyXSBQbGVhc2UgbWFrZSB5b3VyIHRoZW1lIHByb3AgYSBwbGFpbiBvYmplY3QnKTtcbiAgfVxuXG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgb3V0ZXJUaGVtZSwgdGhlbWUpO1xufTtcblxudmFyIGNyZWF0ZUNhY2hlV2l0aFRoZW1lID0gLyogI19fUFVSRV9fICovd2Vha01lbW9pemUoZnVuY3Rpb24gKG91dGVyVGhlbWUpIHtcbiAgcmV0dXJuIHdlYWtNZW1vaXplKGZ1bmN0aW9uICh0aGVtZSkge1xuICAgIHJldHVybiBnZXRUaGVtZShvdXRlclRoZW1lLCB0aGVtZSk7XG4gIH0pO1xufSk7XG52YXIgVGhlbWVQcm92aWRlciA9IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIocHJvcHMpIHtcbiAgdmFyIHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xuXG4gIGlmIChwcm9wcy50aGVtZSAhPT0gdGhlbWUpIHtcbiAgICB0aGVtZSA9IGNyZWF0ZUNhY2hlV2l0aFRoZW1lKHRoZW1lKShwcm9wcy50aGVtZSk7XG4gIH1cblxuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoVGhlbWVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IHRoZW1lXG4gIH0sIHByb3BzLmNoaWxkcmVuKTtcbn07XG5mdW5jdGlvbiB3aXRoVGhlbWUoQ29tcG9uZW50KSB7XG4gIHZhciBjb21wb25lbnROYW1lID0gQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lIHx8ICdDb21wb25lbnQnO1xuICB2YXIgV2l0aFRoZW1lID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gcmVuZGVyKHByb3BzLCByZWYpIHtcbiAgICB2YXIgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgX2V4dGVuZHMoe1xuICAgICAgdGhlbWU6IHRoZW1lLFxuICAgICAgcmVmOiByZWZcbiAgICB9LCBwcm9wcykpO1xuICB9KTtcbiAgV2l0aFRoZW1lLmRpc3BsYXlOYW1lID0gXCJXaXRoVGhlbWUoXCIgKyBjb21wb25lbnROYW1lICsgXCIpXCI7XG4gIHJldHVybiBob2lzdE5vblJlYWN0U3RhdGljcyhXaXRoVGhlbWUsIENvbXBvbmVudCk7XG59XG5cbnZhciBoYXNPd24gPSB7fS5oYXNPd25Qcm9wZXJ0eTtcblxudmFyIGdldExhc3RQYXJ0ID0gZnVuY3Rpb24gZ2V0TGFzdFBhcnQoZnVuY3Rpb25OYW1lKSB7XG4gIC8vIFRoZSBtYXRjaCBtYXkgYmUgc29tZXRoaW5nIGxpa2UgJ09iamVjdC5jcmVhdGVFbW90aW9uUHJvcHMnIG9yXG4gIC8vICdMb2FkZXIucHJvdG90eXBlLnJlbmRlcidcbiAgdmFyIHBhcnRzID0gZnVuY3Rpb25OYW1lLnNwbGl0KCcuJyk7XG4gIHJldHVybiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbn07XG5cbnZhciBnZXRGdW5jdGlvbk5hbWVGcm9tU3RhY2tUcmFjZUxpbmUgPSBmdW5jdGlvbiBnZXRGdW5jdGlvbk5hbWVGcm9tU3RhY2tUcmFjZUxpbmUobGluZSkge1xuICAvLyBWOFxuICB2YXIgbWF0Y2ggPSAvXlxccythdFxccysoW0EtWmEtejAtOSQuXSspXFxzLy5leGVjKGxpbmUpO1xuICBpZiAobWF0Y2gpIHJldHVybiBnZXRMYXN0UGFydChtYXRjaFsxXSk7IC8vIFNhZmFyaSAvIEZpcmVmb3hcblxuICBtYXRjaCA9IC9eKFtBLVphLXowLTkkLl0rKUAvLmV4ZWMobGluZSk7XG4gIGlmIChtYXRjaCkgcmV0dXJuIGdldExhc3RQYXJ0KG1hdGNoWzFdKTtcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbnZhciBpbnRlcm5hbFJlYWN0RnVuY3Rpb25OYW1lcyA9IC8qICNfX1BVUkVfXyAqL25ldyBTZXQoWydyZW5kZXJXaXRoSG9va3MnLCAncHJvY2Vzc0NoaWxkJywgJ2ZpbmlzaENsYXNzQ29tcG9uZW50JywgJ3JlbmRlclRvU3RyaW5nJ10pOyAvLyBUaGVzZSBpZGVudGlmaWVycyBjb21lIGZyb20gZXJyb3Igc3RhY2tzLCBzbyB0aGV5IGhhdmUgdG8gYmUgdmFsaWQgSlNcbi8vIGlkZW50aWZpZXJzLCB0aHVzIHdlIG9ubHkgbmVlZCB0byByZXBsYWNlIHdoYXQgaXMgYSB2YWxpZCBjaGFyYWN0ZXIgZm9yIEpTLFxuLy8gYnV0IG5vdCBmb3IgQ1NTLlxuXG52YXIgc2FuaXRpemVJZGVudGlmaWVyID0gZnVuY3Rpb24gc2FuaXRpemVJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgcmV0dXJuIGlkZW50aWZpZXIucmVwbGFjZSgvXFwkL2csICctJyk7XG59O1xuXG52YXIgZ2V0TGFiZWxGcm9tU3RhY2tUcmFjZSA9IGZ1bmN0aW9uIGdldExhYmVsRnJvbVN0YWNrVHJhY2Uoc3RhY2tUcmFjZSkge1xuICBpZiAoIXN0YWNrVHJhY2UpIHJldHVybiB1bmRlZmluZWQ7XG4gIHZhciBsaW5lcyA9IHN0YWNrVHJhY2Uuc3BsaXQoJ1xcbicpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgZnVuY3Rpb25OYW1lID0gZ2V0RnVuY3Rpb25OYW1lRnJvbVN0YWNrVHJhY2VMaW5lKGxpbmVzW2ldKTsgLy8gVGhlIGZpcnN0IGxpbmUgb2YgVjggc3RhY2sgdHJhY2VzIGlzIGp1c3QgXCJFcnJvclwiXG5cbiAgICBpZiAoIWZ1bmN0aW9uTmFtZSkgY29udGludWU7IC8vIElmIHdlIHJlYWNoIG9uZSBvZiB0aGVzZSwgd2UgaGF2ZSBnb25lIHRvbyBmYXIgYW5kIHNob3VsZCBxdWl0XG5cbiAgICBpZiAoaW50ZXJuYWxSZWFjdEZ1bmN0aW9uTmFtZXMuaGFzKGZ1bmN0aW9uTmFtZSkpIGJyZWFrOyAvLyBUaGUgY29tcG9uZW50IG5hbWUgaXMgdGhlIGZpcnN0IGZ1bmN0aW9uIGluIHRoZSBzdGFjayB0aGF0IHN0YXJ0cyB3aXRoIGFuXG4gICAgLy8gdXBwZXJjYXNlIGxldHRlclxuXG4gICAgaWYgKC9eW0EtWl0vLnRlc3QoZnVuY3Rpb25OYW1lKSkgcmV0dXJuIHNhbml0aXplSWRlbnRpZmllcihmdW5jdGlvbk5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbnZhciB0eXBlUHJvcE5hbWUgPSAnX19FTU9USU9OX1RZUEVfUExFQVNFX0RPX05PVF9VU0VfXyc7XG52YXIgbGFiZWxQcm9wTmFtZSA9ICdfX0VNT1RJT05fTEFCRUxfUExFQVNFX0RPX05PVF9VU0VfXyc7XG52YXIgY3JlYXRlRW1vdGlvblByb3BzID0gZnVuY3Rpb24gY3JlYXRlRW1vdGlvblByb3BzKHR5cGUsIHByb3BzKSB7XG4gIGlmICh0eXBlb2YgcHJvcHMuY3NzID09PSAnc3RyaW5nJyAmJiAvLyBjaGVjayBpZiB0aGVyZSBpcyBhIGNzcyBkZWNsYXJhdGlvblxuICBwcm9wcy5jc3MuaW5kZXhPZignOicpICE9PSAtMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlN0cmluZ3MgYXJlIG5vdCBhbGxvd2VkIGFzIGNzcyBwcm9wIHZhbHVlcywgcGxlYXNlIHdyYXAgaXQgaW4gYSBjc3MgdGVtcGxhdGUgbGl0ZXJhbCBmcm9tICdAZW1vdGlvbi9yZWFjdCcgbGlrZSB0aGlzOiBjc3NgXCIgKyBwcm9wcy5jc3MgKyBcImBcIik7XG4gIH1cblxuICB2YXIgbmV3UHJvcHMgPSB7fTtcblxuICBmb3IgKHZhciBfa2V5IGluIHByb3BzKSB7XG4gICAgaWYgKGhhc093bi5jYWxsKHByb3BzLCBfa2V5KSkge1xuICAgICAgbmV3UHJvcHNbX2tleV0gPSBwcm9wc1tfa2V5XTtcbiAgICB9XG4gIH1cblxuICBuZXdQcm9wc1t0eXBlUHJvcE5hbWVdID0gdHlwZTsgLy8gUnVudGltZSBsYWJlbGluZyBpcyBhbiBvcHQtaW4gZmVhdHVyZSBiZWNhdXNlOlxuICAvLyAtIEl0IGNhdXNlcyBoeWRyYXRpb24gd2FybmluZ3Mgd2hlbiB1c2luZyBTYWZhcmkgYW5kIFNTUlxuICAvLyAtIEl0IGNhbiBkZWdyYWRlIHBlcmZvcm1hbmNlIGlmIHRoZXJlIGFyZSBhIGh1Z2UgbnVtYmVyIG9mIGVsZW1lbnRzXG4gIC8vXG4gIC8vIEV2ZW4gaWYgdGhlIGZsYWcgaXMgc2V0LCB3ZSBzdGlsbCBkb24ndCBjb21wdXRlIHRoZSBsYWJlbCBpZiBpdCBoYXMgYWxyZWFkeVxuICAvLyBiZWVuIGRldGVybWluZWQgYnkgdGhlIEJhYmVsIHBsdWdpbi5cblxuICBpZiAodHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnICYmICEhZ2xvYmFsVGhpcy5FTU9USU9OX1JVTlRJTUVfQVVUT19MQUJFTCAmJiAhIXByb3BzLmNzcyAmJiAodHlwZW9mIHByb3BzLmNzcyAhPT0gJ29iamVjdCcgfHwgISgnbmFtZScgaW4gcHJvcHMuY3NzKSB8fCB0eXBlb2YgcHJvcHMuY3NzLm5hbWUgIT09ICdzdHJpbmcnIHx8IHByb3BzLmNzcy5uYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpKSB7XG4gICAgdmFyIGxhYmVsID0gZ2V0TGFiZWxGcm9tU3RhY2tUcmFjZShuZXcgRXJyb3IoKS5zdGFjayk7XG4gICAgaWYgKGxhYmVsKSBuZXdQcm9wc1tsYWJlbFByb3BOYW1lXSA9IGxhYmVsO1xuICB9XG5cbiAgcmV0dXJuIG5ld1Byb3BzO1xufTtcblxudmFyIEluc2VydGlvbiA9IGZ1bmN0aW9uIEluc2VydGlvbihfcmVmKSB7XG4gIHZhciBjYWNoZSA9IF9yZWYuY2FjaGUsXG4gICAgICBzZXJpYWxpemVkID0gX3JlZi5zZXJpYWxpemVkLFxuICAgICAgaXNTdHJpbmdUYWcgPSBfcmVmLmlzU3RyaW5nVGFnO1xuICByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpO1xuICB1c2VJbnNlcnRpb25FZmZlY3RBbHdheXNXaXRoU3luY0ZhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gaW5zZXJ0U3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkLCBpc1N0cmluZ1RhZyk7XG4gIH0pO1xuXG4gIHJldHVybiBudWxsO1xufTtcblxudmFyIEVtb3Rpb24gPSAvKiAjX19QVVJFX18gKi93aXRoRW1vdGlvbkNhY2hlKGZ1bmN0aW9uIChwcm9wcywgY2FjaGUsIHJlZikge1xuICB2YXIgY3NzUHJvcCA9IHByb3BzLmNzczsgLy8gc28gdGhhdCB1c2luZyBgY3NzYCBmcm9tIGBlbW90aW9uYCBhbmQgcGFzc2luZyB0aGUgcmVzdWx0IHRvIHRoZSBjc3MgcHJvcCB3b3Jrc1xuICAvLyBub3QgcGFzc2luZyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBzZXJpYWxpemVTdHlsZXMgYmVjYXVzZSBpdCB3b3VsZFxuICAvLyBtYWtlIGNlcnRhaW4gYmFiZWwgb3B0aW1pc2F0aW9ucyBub3QgcG9zc2libGVcblxuICBpZiAodHlwZW9mIGNzc1Byb3AgPT09ICdzdHJpbmcnICYmIGNhY2hlLnJlZ2lzdGVyZWRbY3NzUHJvcF0gIT09IHVuZGVmaW5lZCkge1xuICAgIGNzc1Byb3AgPSBjYWNoZS5yZWdpc3RlcmVkW2Nzc1Byb3BdO1xuICB9XG5cbiAgdmFyIFdyYXBwZWRDb21wb25lbnQgPSBwcm9wc1t0eXBlUHJvcE5hbWVdO1xuICB2YXIgcmVnaXN0ZXJlZFN0eWxlcyA9IFtjc3NQcm9wXTtcbiAgdmFyIGNsYXNzTmFtZSA9ICcnO1xuXG4gIGlmICh0eXBlb2YgcHJvcHMuY2xhc3NOYW1lID09PSAnc3RyaW5nJykge1xuICAgIGNsYXNzTmFtZSA9IGdldFJlZ2lzdGVyZWRTdHlsZXMoY2FjaGUucmVnaXN0ZXJlZCwgcmVnaXN0ZXJlZFN0eWxlcywgcHJvcHMuY2xhc3NOYW1lKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgIT0gbnVsbCkge1xuICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSArIFwiIFwiO1xuICB9XG5cbiAgdmFyIHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTdHlsZXMocmVnaXN0ZXJlZFN0eWxlcywgdW5kZWZpbmVkLCBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCkpO1xuXG4gIGlmIChzZXJpYWxpemVkLm5hbWUuaW5kZXhPZignLScpID09PSAtMSkge1xuICAgIHZhciBsYWJlbEZyb21TdGFjayA9IHByb3BzW2xhYmVsUHJvcE5hbWVdO1xuXG4gICAgaWYgKGxhYmVsRnJvbVN0YWNrKSB7XG4gICAgICBzZXJpYWxpemVkID0gc2VyaWFsaXplU3R5bGVzKFtzZXJpYWxpemVkLCAnbGFiZWw6JyArIGxhYmVsRnJvbVN0YWNrICsgJzsnXSk7XG4gICAgfVxuICB9XG5cbiAgY2xhc3NOYW1lICs9IGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuICB2YXIgbmV3UHJvcHMgPSB7fTtcblxuICBmb3IgKHZhciBfa2V5MiBpbiBwcm9wcykge1xuICAgIGlmIChoYXNPd24uY2FsbChwcm9wcywgX2tleTIpICYmIF9rZXkyICE9PSAnY3NzJyAmJiBfa2V5MiAhPT0gdHlwZVByb3BOYW1lICYmIChfa2V5MiAhPT0gbGFiZWxQcm9wTmFtZSkpIHtcbiAgICAgIG5ld1Byb3BzW19rZXkyXSA9IHByb3BzW19rZXkyXTtcbiAgICB9XG4gIH1cblxuICBuZXdQcm9wcy5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG5cbiAgaWYgKHJlZikge1xuICAgIG5ld1Byb3BzLnJlZiA9IHJlZjtcbiAgfVxuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoSW5zZXJ0aW9uLCB7XG4gICAgY2FjaGU6IGNhY2hlLFxuICAgIHNlcmlhbGl6ZWQ6IHNlcmlhbGl6ZWQsXG4gICAgaXNTdHJpbmdUYWc6IHR5cGVvZiBXcmFwcGVkQ29tcG9uZW50ID09PSAnc3RyaW5nJ1xuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoV3JhcHBlZENvbXBvbmVudCwgbmV3UHJvcHMpKTtcbn0pO1xuXG57XG4gIEVtb3Rpb24uZGlzcGxheU5hbWUgPSAnRW1vdGlvbkNzc1Byb3BJbnRlcm5hbCc7XG59XG5cbnZhciBFbW90aW9uJDEgPSBFbW90aW9uO1xuXG5leHBvcnQgeyBDYWNoZVByb3ZpZGVyIGFzIEMsIEVtb3Rpb24kMSBhcyBFLCBUaGVtZUNvbnRleHQgYXMgVCwgX191bnNhZmVfdXNlRW1vdGlvbkNhY2hlIGFzIF8sIFRoZW1lUHJvdmlkZXIgYXMgYSwgd2l0aFRoZW1lIGFzIGIsIGNyZWF0ZUVtb3Rpb25Qcm9wcyBhcyBjLCBoYXNPd24gYXMgaCwgdXNlVGhlbWUgYXMgdSwgd2l0aEVtb3Rpb25DYWNoZSBhcyB3IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js":
|
||
/*!***********************************************************************************!*\
|
||
!*** ./node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js ***!
|
||
\***********************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CacheProvider: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.C; },\n/* harmony export */ ClassNames: function() { return /* binding */ ClassNames; },\n/* harmony export */ Global: function() { return /* binding */ Global; },\n/* harmony export */ ThemeContext: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.T; },\n/* harmony export */ ThemeProvider: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.a; },\n/* harmony export */ __unsafe_useEmotionCache: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__._; },\n/* harmony export */ createElement: function() { return /* binding */ jsx; },\n/* harmony export */ css: function() { return /* binding */ css; },\n/* harmony export */ jsx: function() { return /* binding */ jsx; },\n/* harmony export */ keyframes: function() { return /* binding */ keyframes; },\n/* harmony export */ useTheme: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.u; },\n/* harmony export */ withEmotionCache: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.w; },\n/* harmony export */ withTheme: function() { return /* reexport safe */ _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.b; }\n/* harmony export */ });\n/* harmony import */ var _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./emotion-element-489459f2.browser.development.esm.js */ \"(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/utils */ \"(app-pages-browser)/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js\");\n/* harmony import */ var _emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/use-insertion-effect-with-fallbacks */ \"(app-pages-browser)/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js\");\n/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/serialize */ \"(app-pages-browser)/./node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.js\");\n/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/cache */ \"(app-pages-browser)/./node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/weak-memoize */ \"(app-pages-browser)/./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! hoist-non-react-statics */ \"(app-pages-browser)/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\n\n\nvar isDevelopment = true;\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.14.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\ttypes: \"dist/emotion-react.cjs.d.ts\",\n\texports: {\n\t\t\".\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./dist/emotion-react.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./dist/emotion-react.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./dist/emotion-react.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./dist/emotion-react.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./dist/emotion-react.development.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./dist/emotion-react.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./dist/emotion-react.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./dist/emotion-react.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./dist/emotion-react.esm.js\",\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\",\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\",\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\",\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\timports: {\n\t\t\"#is-development\": {\n\t\t\tdevelopment: \"./src/conditions/true.ts\",\n\t\t\t\"default\": \"./src/conditions/false.ts\"\n\t\t},\n\t\t\"#is-browser\": {\n\t\t\t\"edge-light\": \"./src/conditions/false.ts\",\n\t\t\tworkerd: \"./src/conditions/false.ts\",\n\t\t\tworker: \"./src/conditions/false.ts\",\n\t\t\tbrowser: \"./src/conditions/true.ts\",\n\t\t\t\"default\": \"./src/conditions/is-browser.ts\"\n\t\t}\n\t},\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/css-prop.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.13.5\",\n\t\t\"@emotion/cache\": \"^11.14.0\",\n\t\t\"@emotion/serialize\": \"^1.3.3\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.2.0\",\n\t\t\"@emotion/utils\": \"^1.4.2\",\n\t\t\"@emotion/weak-memoize\": \"^0.4.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.13.5\",\n\t\t\"@emotion/css-prettifier\": \"1.2.0\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.14.0\",\n\t\t\"@types/hoist-non-react-statics\": \"^3.3.5\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^5.4.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.ts\",\n\t\t\t\"./jsx-runtime.ts\",\n\t\t\t\"./jsx-dev-runtime.ts\",\n\t\t\t\"./_isolated-hnrs.ts\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !_emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.h.call(props, 'css')) {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = _emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.E;\n createElementArgArray[1] = (0,_emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.c)(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */(0,_emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.w)(function (props, cache) {\n if (!warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // I don't really want to add it to the type since it shouldn't be used\n 'className' in props && props.className || 'css' in props && props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)([styles], undefined, react__WEBPACK_IMPORTED_MODULE_1__.useContext(_emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.T));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = react__WEBPACK_IMPORTED_MODULE_1__.useRef();\n (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__.useInsertionEffectWithLayoutFallback)(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__.useInsertionEffectWithLayoutFallback)(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.insertStyles)(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n{\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.getRegisteredStyles)(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__.useInsertionEffectAlwaysWithSyncFallback)(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.insertStyles)(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */(0,_emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.w)(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.registerStyles)(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: react__WEBPACK_IMPORTED_MODULE_1__.useContext(_emotion_element_489459f2_browser_development_esm_js__WEBPACK_IMPORTED_MODULE_0__.T)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\n{\n ClassNames.displayName = 'EmotionClassNames';\n}\n\n{\n var isBrowser = typeof document !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : __webpack_require__.g;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9yZWFjdC9kaXN0L2Vtb3Rpb24tcmVhY3QuYnJvd3Nlci5kZXZlbG9wbWVudC5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXFLO0FBQ2tEO0FBQ3hMO0FBQ29EO0FBQzJEO0FBQ3pGO0FBQzdCO0FBQ2dCO0FBQ1Q7QUFDeUQ7QUFDdkQ7O0FBRWpDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7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REFBbUIsQ0FBQywyQ0FBYyxxQkFBcUIsZ0RBQW1CO0FBQ2hHO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtREFBbUQ7O0FBRW5EOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixxQkFBTTtBQUNqQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUV5RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vcmVhY3QvZGlzdC9lbW90aW9uLXJlYWN0LmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzPzNlMmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaCBhcyBoYXNPd24sIEUgYXMgRW1vdGlvbiwgYyBhcyBjcmVhdGVFbW90aW9uUHJvcHMsIHcgYXMgd2l0aEVtb3Rpb25DYWNoZSwgVCBhcyBUaGVtZUNvbnRleHQgfSBmcm9tICcuL2Vtb3Rpb24tZWxlbWVudC00ODk0NTlmMi5icm93c2VyLmRldmVsb3BtZW50LmVzbS5qcyc7XG5leHBvcnQgeyBDIGFzIENhY2hlUHJvdmlkZXIsIFQgYXMgVGhlbWVDb250ZXh0LCBhIGFzIFRoZW1lUHJvdmlkZXIsIF8gYXMgX191bnNhZmVfdXNlRW1vdGlvbkNhY2hlLCB1IGFzIHVzZVRoZW1lLCB3IGFzIHdpdGhFbW90aW9uQ2FjaGUsIGIgYXMgd2l0aFRoZW1lIH0gZnJvbSAnLi9lbW90aW9uLWVsZW1lbnQtNDg5NDU5ZjIuYnJvd3Nlci5kZXZlbG9wbWVudC5lc20uanMnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaW5zZXJ0U3R5bGVzLCByZWdpc3RlclN0eWxlcywgZ2V0UmVnaXN0ZXJlZFN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJztcbmltcG9ydCB7IHVzZUluc2VydGlvbkVmZmVjdFdpdGhMYXlvdXRGYWxsYmFjaywgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayB9IGZyb20gJ0BlbW90aW9uL3VzZS1pbnNlcnRpb24tZWZmZWN0LXdpdGgtZmFsbGJhY2tzJztcbmltcG9ydCB7IHNlcmlhbGl6ZVN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3NlcmlhbGl6ZSc7XG5pbXBvcnQgJ0BlbW90aW9uL2NhY2hlJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzJztcbmltcG9ydCAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCAnLi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzJztcbmltcG9ydCAnaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MnO1xuXG52YXIgaXNEZXZlbG9wbWVudCA9IHRydWU7XG5cbnZhciBwa2cgPSB7XG5cdG5hbWU6IFwiQGVtb3Rpb24vcmVhY3RcIixcblx0dmVyc2lvbjogXCIxMS4xNC4wXCIsXG5cdG1haW46IFwiZGlzdC9lbW90aW9uLXJlYWN0LmNqcy5qc1wiLFxuXHRtb2R1bGU6IFwiZGlzdC9lbW90aW9uLXJlYWN0LmVzbS5qc1wiLFxuXHR0eXBlczogXCJkaXN0L2Vtb3Rpb24tcmVhY3QuY2pzLmQudHNcIixcblx0ZXhwb3J0czoge1xuXHRcdFwiLlwiOiB7XG5cdFx0XHR0eXBlczoge1xuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHRkZXZlbG9wbWVudDoge1xuXHRcdFx0XHRcImVkZ2UtbGlnaHRcIjoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR3b3JrZXI6IHtcblx0XHRcdFx0XHRtb2R1bGU6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5lc20uanNcIixcblx0XHRcdFx0XHRcImltcG9ydFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0d29ya2VyZDoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRicm93c2VyOiB7XG5cdFx0XHRcdFx0bW9kdWxlOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzXCIsXG5cdFx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5icm93c2VyLmRldmVsb3BtZW50LmNqcy5tanNcIixcblx0XHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5icm93c2VyLmRldmVsb3BtZW50LmNqcy5qc1wiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZHVsZTogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5kZXZlbG9wbWVudC5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5kZXZlbG9wbWVudC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmRldmVsb3BtZW50LmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0XCJlZGdlLWxpZ2h0XCI6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHR3b3JrZXI6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHR3b3JrZXJkOiB7XG5cdFx0XHRcdG1vZHVsZTogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vZGlzdC9lbW90aW9uLXJlYWN0LmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5lZGdlLWxpZ2h0LmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0YnJvd3Nlcjoge1xuXHRcdFx0XHRtb2R1bGU6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuYnJvd3Nlci5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5icm93c2VyLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuYnJvd3Nlci5janMuanNcIlxuXHRcdFx0fSxcblx0XHRcdG1vZHVsZTogXCIuL2Rpc3QvZW1vdGlvbi1yZWFjdC5lc20uanNcIixcblx0XHRcdFwiaW1wb3J0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuY2pzLm1qc1wiLFxuXHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9kaXN0L2Vtb3Rpb24tcmVhY3QuY2pzLmpzXCJcblx0XHR9LFxuXHRcdFwiLi9qc3gtcnVudGltZVwiOiB7XG5cdFx0XHR0eXBlczoge1xuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHRkZXZlbG9wbWVudDoge1xuXHRcdFx0XHRcImVkZ2UtbGlnaHRcIjoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR3b3JrZXI6IHtcblx0XHRcdFx0XHRtb2R1bGU6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5lc20uanNcIixcblx0XHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0d29ya2VyZDoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRicm93c2VyOiB7XG5cdFx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzXCIsXG5cdFx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5icm93c2VyLmRldmVsb3BtZW50LmNqcy5tanNcIixcblx0XHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5icm93c2VyLmRldmVsb3BtZW50LmNqcy5qc1wiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZHVsZTogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5kZXZlbG9wbWVudC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0XCJlZGdlLWxpZ2h0XCI6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHR3b3JrZXI6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHR3b3JrZXJkOiB7XG5cdFx0XHRcdG1vZHVsZTogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1ydW50aW1lLmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5lZGdlLWxpZ2h0LmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0YnJvd3Nlcjoge1xuXHRcdFx0XHRtb2R1bGU6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuYnJvd3Nlci5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5icm93c2VyLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuYnJvd3Nlci5janMuanNcIlxuXHRcdFx0fSxcblx0XHRcdG1vZHVsZTogXCIuL2pzeC1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtcnVudGltZS5lc20uanNcIixcblx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuY2pzLm1qc1wiLFxuXHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LXJ1bnRpbWUuY2pzLmpzXCJcblx0XHR9LFxuXHRcdFwiLi9faXNvbGF0ZWQtaG5yc1wiOiB7XG5cdFx0XHR0eXBlczoge1xuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHRkZXZlbG9wbWVudDoge1xuXHRcdFx0XHRcImVkZ2UtbGlnaHRcIjoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR3b3JrZXI6IHtcblx0XHRcdFx0XHRtb2R1bGU6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5lc20uanNcIixcblx0XHRcdFx0XHRcImltcG9ydFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0d29ya2VyZDoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRicm93c2VyOiB7XG5cdFx0XHRcdFx0bW9kdWxlOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmJyb3dzZXIuZGV2ZWxvcG1lbnQuZXNtLmpzXCIsXG5cdFx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5icm93c2VyLmRldmVsb3BtZW50LmNqcy5tanNcIixcblx0XHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5icm93c2VyLmRldmVsb3BtZW50LmNqcy5qc1wiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZHVsZTogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5kZXZlbG9wbWVudC5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5kZXZlbG9wbWVudC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmRldmVsb3BtZW50LmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0XCJlZGdlLWxpZ2h0XCI6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHR3b3JrZXI6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHR3b3JrZXJkOiB7XG5cdFx0XHRcdG1vZHVsZTogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vX2lzb2xhdGVkLWhucnMvZGlzdC9lbW90aW9uLXJlYWN0LV9pc29sYXRlZC1obnJzLmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5lZGdlLWxpZ2h0LmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0YnJvd3Nlcjoge1xuXHRcdFx0XHRtb2R1bGU6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuYnJvd3Nlci5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5icm93c2VyLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuYnJvd3Nlci5janMuanNcIlxuXHRcdFx0fSxcblx0XHRcdG1vZHVsZTogXCIuL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5lc20uanNcIixcblx0XHRcdFwiaW1wb3J0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuY2pzLm1qc1wiLFxuXHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuY2pzLmpzXCJcblx0XHR9LFxuXHRcdFwiLi9qc3gtZGV2LXJ1bnRpbWVcIjoge1xuXHRcdFx0dHlwZXM6IHtcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5janMuanNcIlxuXHRcdFx0fSxcblx0XHRcdGRldmVsb3BtZW50OiB7XG5cdFx0XHRcdFwiZWRnZS1saWdodFwiOiB7XG5cdFx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5lc20uanNcIixcblx0XHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmNqcy5qc1wiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHdvcmtlcjoge1xuXHRcdFx0XHRcdG1vZHVsZTogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuZXNtLmpzXCIsXG5cdFx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR3b3JrZXJkOiB7XG5cdFx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5lc20uanNcIixcblx0XHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5lZGdlLWxpZ2h0LmNqcy5qc1wiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGJyb3dzZXI6IHtcblx0XHRcdFx0XHRtb2R1bGU6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5icm93c2VyLmRldmVsb3BtZW50LmVzbS5qc1wiLFxuXHRcdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5icm93c2VyLmRldmVsb3BtZW50LmNqcy5tanNcIixcblx0XHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmJyb3dzZXIuZGV2ZWxvcG1lbnQuY2pzLmpzXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHRcImVkZ2UtbGlnaHRcIjoge1xuXHRcdFx0XHRtb2R1bGU6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0fSxcblx0XHRcdHdvcmtlcjoge1xuXHRcdFx0XHRtb2R1bGU6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5lZGdlLWxpZ2h0LmVzbS5qc1wiLFxuXHRcdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZWRnZS1saWdodC5janMubWpzXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZWRnZS1saWdodC5janMuanNcIlxuXHRcdFx0fSxcblx0XHRcdHdvcmtlcmQ6IHtcblx0XHRcdFx0bW9kdWxlOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZWRnZS1saWdodC5lc20uanNcIixcblx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmVkZ2UtbGlnaHQuY2pzLm1qc1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmVkZ2UtbGlnaHQuY2pzLmpzXCJcblx0XHRcdH0sXG5cdFx0XHRicm93c2VyOiB7XG5cdFx0XHRcdG1vZHVsZTogXCIuL2pzeC1kZXYtcnVudGltZS9kaXN0L2Vtb3Rpb24tcmVhY3QtanN4LWRldi1ydW50aW1lLmJyb3dzZXIuZXNtLmpzXCIsXG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5icm93c2VyLmNqcy5tanNcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5icm93c2VyLmNqcy5qc1wiXG5cdFx0XHR9LFxuXHRcdFx0bW9kdWxlOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZXNtLmpzXCIsXG5cdFx0XHRcImltcG9ydFwiOiBcIi4vanN4LWRldi1ydW50aW1lL2Rpc3QvZW1vdGlvbi1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuY2pzLm1qc1wiLFxuXHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9qc3gtZGV2LXJ1bnRpbWUvZGlzdC9lbW90aW9uLXJlYWN0LWpzeC1kZXYtcnVudGltZS5janMuanNcIlxuXHRcdH0sXG5cdFx0XCIuL3BhY2thZ2UuanNvblwiOiBcIi4vcGFja2FnZS5qc29uXCIsXG5cdFx0XCIuL3R5cGVzL2Nzcy1wcm9wXCI6IFwiLi90eXBlcy9jc3MtcHJvcC5kLnRzXCIsXG5cdFx0XCIuL21hY3JvXCI6IHtcblx0XHRcdHR5cGVzOiB7XG5cdFx0XHRcdFwiaW1wb3J0XCI6IFwiLi9tYWNyby5kLm10c1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL21hY3JvLmQudHNcIlxuXHRcdFx0fSxcblx0XHRcdFwiZGVmYXVsdFwiOiBcIi4vbWFjcm8uanNcIlxuXHRcdH1cblx0fSxcblx0aW1wb3J0czoge1xuXHRcdFwiI2lzLWRldmVsb3BtZW50XCI6IHtcblx0XHRcdGRldmVsb3BtZW50OiBcIi4vc3JjL2NvbmRpdGlvbnMvdHJ1ZS50c1wiLFxuXHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9zcmMvY29uZGl0aW9ucy9mYWxzZS50c1wiXG5cdFx0fSxcblx0XHRcIiNpcy1icm93c2VyXCI6IHtcblx0XHRcdFwiZWRnZS1saWdodFwiOiBcIi4vc3JjL2NvbmRpdGlvbnMvZmFsc2UudHNcIixcblx0XHRcdHdvcmtlcmQ6IFwiLi9zcmMvY29uZGl0aW9ucy9mYWxzZS50c1wiLFxuXHRcdFx0d29ya2VyOiBcIi4vc3JjL2NvbmRpdGlvbnMvZmFsc2UudHNcIixcblx0XHRcdGJyb3dzZXI6IFwiLi9zcmMvY29uZGl0aW9ucy90cnVlLnRzXCIsXG5cdFx0XHRcImRlZmF1bHRcIjogXCIuL3NyYy9jb25kaXRpb25zL2lzLWJyb3dzZXIudHNcIlxuXHRcdH1cblx0fSxcblx0ZmlsZXM6IFtcblx0XHRcInNyY1wiLFxuXHRcdFwiZGlzdFwiLFxuXHRcdFwianN4LXJ1bnRpbWVcIixcblx0XHRcImpzeC1kZXYtcnVudGltZVwiLFxuXHRcdFwiX2lzb2xhdGVkLWhucnNcIixcblx0XHRcInR5cGVzL2Nzcy1wcm9wLmQudHNcIixcblx0XHRcIm1hY3JvLipcIlxuXHRdLFxuXHRzaWRlRWZmZWN0czogZmFsc2UsXG5cdGF1dGhvcjogXCJFbW90aW9uIENvbnRyaWJ1dG9yc1wiLFxuXHRsaWNlbnNlOiBcIk1JVFwiLFxuXHRzY3JpcHRzOiB7XG5cdFx0XCJ0ZXN0OnR5cGVzY3JpcHRcIjogXCJkdHNsaW50IHR5cGVzXCJcblx0fSxcblx0ZGVwZW5kZW5jaWVzOiB7XG5cdFx0XCJAYmFiZWwvcnVudGltZVwiOiBcIl43LjE4LjNcIixcblx0XHRcIkBlbW90aW9uL2JhYmVsLXBsdWdpblwiOiBcIl4xMS4xMy41XCIsXG5cdFx0XCJAZW1vdGlvbi9jYWNoZVwiOiBcIl4xMS4xNC4wXCIsXG5cdFx0XCJAZW1vdGlvbi9zZXJpYWxpemVcIjogXCJeMS4zLjNcIixcblx0XHRcIkBlbW90aW9uL3VzZS1pbnNlcnRpb24tZWZmZWN0LXdpdGgtZmFsbGJhY2tzXCI6IFwiXjEuMi4wXCIsXG5cdFx0XCJAZW1vdGlvbi91dGlsc1wiOiBcIl4xLjQuMlwiLFxuXHRcdFwiQGVtb3Rpb24vd2Vhay1tZW1vaXplXCI6IFwiXjAuNC4wXCIsXG5cdFx0XCJob2lzdC1ub24tcmVhY3Qtc3RhdGljc1wiOiBcIl4zLjMuMVwiXG5cdH0sXG5cdHBlZXJEZXBlbmRlbmNpZXM6IHtcblx0XHRyZWFjdDogXCI+PTE2LjguMFwiXG5cdH0sXG5cdHBlZXJEZXBlbmRlbmNpZXNNZXRhOiB7XG5cdFx0XCJAdHlwZXMvcmVhY3RcIjoge1xuXHRcdFx0b3B0aW9uYWw6IHRydWVcblx0XHR9XG5cdH0sXG5cdGRldkRlcGVuZGVuY2llczoge1xuXHRcdFwiQGRlZmluaXRlbHl0eXBlZC9kdHNsaW50XCI6IFwiMC4wLjExMlwiLFxuXHRcdFwiQGVtb3Rpb24vY3NzXCI6IFwiMTEuMTMuNVwiLFxuXHRcdFwiQGVtb3Rpb24vY3NzLXByZXR0aWZpZXJcIjogXCIxLjIuMFwiLFxuXHRcdFwiQGVtb3Rpb24vc2VydmVyXCI6IFwiMTEuMTEuMFwiLFxuXHRcdFwiQGVtb3Rpb24vc3R5bGVkXCI6IFwiMTEuMTQuMFwiLFxuXHRcdFwiQHR5cGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzXCI6IFwiXjMuMy41XCIsXG5cdFx0XCJodG1sLXRhZy1uYW1lc1wiOiBcIl4xLjEuMlwiLFxuXHRcdHJlYWN0OiBcIjE2LjE0LjBcIixcblx0XHRcInN2Zy10YWctbmFtZXNcIjogXCJeMS4xLjFcIixcblx0XHR0eXBlc2NyaXB0OiBcIl41LjQuNVwiXG5cdH0sXG5cdHJlcG9zaXRvcnk6IFwiaHR0cHM6Ly9naXRodWIuY29tL2Vtb3Rpb24tanMvZW1vdGlvbi90cmVlL21haW4vcGFja2FnZXMvcmVhY3RcIixcblx0cHVibGlzaENvbmZpZzoge1xuXHRcdGFjY2VzczogXCJwdWJsaWNcIlxuXHR9LFxuXHRcInVtZDptYWluXCI6IFwiZGlzdC9lbW90aW9uLXJlYWN0LnVtZC5taW4uanNcIixcblx0cHJlY29uc3RydWN0OiB7XG5cdFx0ZW50cnlwb2ludHM6IFtcblx0XHRcdFwiLi9pbmRleC50c1wiLFxuXHRcdFx0XCIuL2pzeC1ydW50aW1lLnRzXCIsXG5cdFx0XHRcIi4vanN4LWRldi1ydW50aW1lLnRzXCIsXG5cdFx0XHRcIi4vX2lzb2xhdGVkLWhucnMudHNcIlxuXHRcdF0sXG5cdFx0dW1kTmFtZTogXCJlbW90aW9uUmVhY3RcIixcblx0XHRleHBvcnRzOiB7XG5cdFx0XHRleHRyYToge1xuXHRcdFx0XHRcIi4vdHlwZXMvY3NzLXByb3BcIjogXCIuL3R5cGVzL2Nzcy1wcm9wLmQudHNcIixcblx0XHRcdFx0XCIuL21hY3JvXCI6IHtcblx0XHRcdFx0XHR0eXBlczoge1xuXHRcdFx0XHRcdFx0XCJpbXBvcnRcIjogXCIuL21hY3JvLmQubXRzXCIsXG5cdFx0XHRcdFx0XHRcImRlZmF1bHRcIjogXCIuL21hY3JvLmQudHNcIlxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiLi9tYWNyby5qc1wiXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn07XG5cbnZhciBqc3ggPSBmdW5jdGlvbiBqc3godHlwZSwgcHJvcHMpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtc1xuICB2YXIgYXJncyA9IGFyZ3VtZW50cztcblxuICBpZiAocHJvcHMgPT0gbnVsbCB8fCAhaGFzT3duLmNhbGwocHJvcHMsICdjc3MnKSkge1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50LmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XG4gIH1cblxuICB2YXIgYXJnc0xlbmd0aCA9IGFyZ3MubGVuZ3RoO1xuICB2YXIgY3JlYXRlRWxlbWVudEFyZ0FycmF5ID0gbmV3IEFycmF5KGFyZ3NMZW5ndGgpO1xuICBjcmVhdGVFbGVtZW50QXJnQXJyYXlbMF0gPSBFbW90aW9uO1xuICBjcmVhdGVFbGVtZW50QXJnQXJyYXlbMV0gPSBjcmVhdGVFbW90aW9uUHJvcHModHlwZSwgcHJvcHMpO1xuXG4gIGZvciAodmFyIGkgPSAyOyBpIDwgYXJnc0xlbmd0aDsgaSsrKSB7XG4gICAgY3JlYXRlRWxlbWVudEFyZ0FycmF5W2ldID0gYXJnc1tpXTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50LmFwcGx5KG51bGwsIGNyZWF0ZUVsZW1lbnRBcmdBcnJheSk7XG59O1xuXG4oZnVuY3Rpb24gKF9qc3gpIHtcbiAgdmFyIEpTWDtcblxuICAoZnVuY3Rpb24gKF9KU1gpIHt9KShKU1ggfHwgKEpTWCA9IF9qc3guSlNYIHx8IChfanN4LkpTWCA9IHt9KSkpO1xufSkoanN4IHx8IChqc3ggPSB7fSkpO1xuXG52YXIgd2FybmVkQWJvdXRDc3NQcm9wRm9yR2xvYmFsID0gZmFsc2U7IC8vIG1haW50YWluIHBsYWNlIG92ZXIgcmVyZW5kZXJzLlxuLy8gaW5pdGlhbCByZW5kZXIgZnJvbSBicm93c2VyLCBpbnNlcnRCZWZvcmUgY29udGV4dC5zaGVldC50YWdzWzBdIG9yIGlmIGEgc3R5bGUgaGFzbid0IGJlZW4gaW5zZXJ0ZWQgdGhlcmUgeWV0LCBhcHBlbmRDaGlsZFxuLy8gaW5pdGlhbCBjbGllbnQtc2lkZSByZW5kZXIgZnJvbSBTU1IsIHVzZSBwbGFjZSBvZiBoeWRyYXRpbmcgdGFnXG5cbnZhciBHbG9iYWwgPSAvKiAjX19QVVJFX18gKi93aXRoRW1vdGlvbkNhY2hlKGZ1bmN0aW9uIChwcm9wcywgY2FjaGUpIHtcbiAgaWYgKCF3YXJuZWRBYm91dENzc1Byb3BGb3JHbG9iYWwgJiYgKCAvLyBjaGVjayBmb3IgY2xhc3NOYW1lIGFzIHdlbGwgc2luY2UgdGhlIHVzZXIgaXNcbiAgLy8gcHJvYmFibHkgdXNpbmcgdGhlIGN1c3RvbSBjcmVhdGVFbGVtZW50IHdoaWNoXG4gIC8vIG1lYW5zIGl0IHdpbGwgYmUgdHVybmVkIGludG8gYSBjbGFzc05hbWUgcHJvcFxuICAvLyBJIGRvbid0IHJlYWxseSB3YW50IHRvIGFkZCBpdCB0byB0aGUgdHlwZSBzaW5jZSBpdCBzaG91bGRuJ3QgYmUgdXNlZFxuICAnY2xhc3NOYW1lJyBpbiBwcm9wcyAmJiBwcm9wcy5jbGFzc05hbWUgfHwgJ2NzcycgaW4gcHJvcHMgJiYgcHJvcHMuY3NzKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJJdCBsb29rcyBsaWtlIHlvdSdyZSB1c2luZyB0aGUgY3NzIHByb3Agb24gR2xvYmFsLCBkaWQgeW91IG1lYW4gdG8gdXNlIHRoZSBzdHlsZXMgcHJvcCBpbnN0ZWFkP1wiKTtcbiAgICB3YXJuZWRBYm91dENzc1Byb3BGb3JHbG9iYWwgPSB0cnVlO1xuICB9XG5cbiAgdmFyIHN0eWxlcyA9IHByb3BzLnN0eWxlcztcbiAgdmFyIHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTdHlsZXMoW3N0eWxlc10sIHVuZGVmaW5lZCwgUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpKTtcbiAgLy8gYnV0IGl0IGlzIGJhc2VkIG9uIGEgY29uc3RhbnQgdGhhdCB3aWxsIG5ldmVyIGNoYW5nZSBhdCBydW50aW1lXG4gIC8vIGl0J3MgZWZmZWN0aXZlbHkgbGlrZSBoYXZpbmcgdHdvIGltcGxlbWVudGF0aW9ucyBhbmQgc3dpdGNoaW5nIHRoZW0gb3V0XG4gIC8vIHNvIGl0J3Mgbm90IGFjdHVhbGx5IGJyZWFraW5nIGFueXRoaW5nXG5cblxuICB2YXIgc2hlZXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcbiAgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIga2V5ID0gY2FjaGUua2V5ICsgXCItZ2xvYmFsXCI7IC8vIHVzZSBjYXNlIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9lbW90aW9uLWpzL2Vtb3Rpb24vaXNzdWVzLzI2NzVcblxuICAgIHZhciBzaGVldCA9IG5ldyBjYWNoZS5zaGVldC5jb25zdHJ1Y3Rvcih7XG4gICAgICBrZXk6IGtleSxcbiAgICAgIG5vbmNlOiBjYWNoZS5zaGVldC5ub25jZSxcbiAgICAgIGNvbnRhaW5lcjogY2FjaGUuc2hlZXQuY29udGFpbmVyLFxuICAgICAgc3BlZWR5OiBjYWNoZS5zaGVldC5pc1NwZWVkeVxuICAgIH0pO1xuICAgIHZhciByZWh5ZHJhdGluZyA9IGZhbHNlO1xuICAgIHZhciBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcInN0eWxlW2RhdGEtZW1vdGlvbj1cXFwiXCIgKyBrZXkgKyBcIiBcIiArIHNlcmlhbGl6ZWQubmFtZSArIFwiXFxcIl1cIik7XG5cbiAgICBpZiAoY2FjaGUuc2hlZXQudGFncy5sZW5ndGgpIHtcbiAgICAgIHNoZWV0LmJlZm9yZSA9IGNhY2hlLnNoZWV0LnRhZ3NbMF07XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIHJlaHlkcmF0aW5nID0gdHJ1ZTsgLy8gY2xlYXIgdGhlIGhhc2ggc28gdGhpcyBub2RlIHdvbid0IGJlIHJlY29nbml6YWJsZSBhcyByZWh5ZHJhdGFibGUgYnkgb3RoZXIgPEdsb2JhbC8+c1xuXG4gICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1lbW90aW9uJywga2V5KTtcbiAgICAgIHNoZWV0Lmh5ZHJhdGUoW25vZGVdKTtcbiAgICB9XG5cbiAgICBzaGVldFJlZi5jdXJyZW50ID0gW3NoZWV0LCByZWh5ZHJhdGluZ107XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNoZWV0LmZsdXNoKCk7XG4gICAgfTtcbiAgfSwgW2NhY2hlXSk7XG4gIHVzZUluc2VydGlvbkVmZmVjdFdpdGhMYXlvdXRGYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNoZWV0UmVmQ3VycmVudCA9IHNoZWV0UmVmLmN1cnJlbnQ7XG4gICAgdmFyIHNoZWV0ID0gc2hlZXRSZWZDdXJyZW50WzBdLFxuICAgICAgICByZWh5ZHJhdGluZyA9IHNoZWV0UmVmQ3VycmVudFsxXTtcblxuICAgIGlmIChyZWh5ZHJhdGluZykge1xuICAgICAgc2hlZXRSZWZDdXJyZW50WzFdID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNlcmlhbGl6ZWQubmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBpbnNlcnQga2V5ZnJhbWVzXG4gICAgICBpbnNlcnRTdHlsZXMoY2FjaGUsIHNlcmlhbGl6ZWQubmV4dCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHNoZWV0LnRhZ3MubGVuZ3RoKSB7XG4gICAgICAvLyBpZiB0aGlzIGRvZXNuJ3QgZXhpc3QgdGhlbiBpdCB3aWxsIGJlIG51bGwgc28gdGhlIHN0eWxlIGVsZW1lbnQgd2lsbCBiZSBhcHBlbmRlZFxuICAgICAgdmFyIGVsZW1lbnQgPSBzaGVldC50YWdzW3NoZWV0LnRhZ3MubGVuZ3RoIC0gMV0ubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgc2hlZXQuYmVmb3JlID0gZWxlbWVudDtcbiAgICAgIHNoZWV0LmZsdXNoKCk7XG4gICAgfVxuXG4gICAgY2FjaGUuaW5zZXJ0KFwiXCIsIHNlcmlhbGl6ZWQsIHNoZWV0LCBmYWxzZSk7XG4gIH0sIFtjYWNoZSwgc2VyaWFsaXplZC5uYW1lXSk7XG4gIHJldHVybiBudWxsO1xufSk7XG5cbntcbiAgR2xvYmFsLmRpc3BsYXlOYW1lID0gJ0Vtb3Rpb25HbG9iYWwnO1xufVxuXG5mdW5jdGlvbiBjc3MoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gc2VyaWFsaXplU3R5bGVzKGFyZ3MpO1xufVxuXG5mdW5jdGlvbiBrZXlmcmFtZXMoKSB7XG4gIHZhciBpbnNlcnRhYmxlID0gY3NzLmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcbiAgdmFyIG5hbWUgPSBcImFuaW1hdGlvbi1cIiArIGluc2VydGFibGUubmFtZTtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lLFxuICAgIHN0eWxlczogXCJAa2V5ZnJhbWVzIFwiICsgbmFtZSArIFwie1wiICsgaW5zZXJ0YWJsZS5zdHlsZXMgKyBcIn1cIixcbiAgICBhbmltOiAxLFxuICAgIHRvU3RyaW5nOiBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICAgIHJldHVybiBcIl9FTU9fXCIgKyB0aGlzLm5hbWUgKyBcIl9cIiArIHRoaXMuc3R5bGVzICsgXCJfRU1PX1wiO1xuICAgIH1cbiAgfTtcbn1cblxudmFyIGNsYXNzbmFtZXMgPSBmdW5jdGlvbiBjbGFzc25hbWVzKGFyZ3MpIHtcbiAgdmFyIGxlbiA9IGFyZ3MubGVuZ3RoO1xuICB2YXIgaSA9IDA7XG4gIHZhciBjbHMgPSAnJztcblxuICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgdmFyIGFyZyA9IGFyZ3NbaV07XG4gICAgaWYgKGFyZyA9PSBudWxsKSBjb250aW51ZTtcbiAgICB2YXIgdG9BZGQgPSB2b2lkIDA7XG5cbiAgICBzd2l0Y2ggKHR5cGVvZiBhcmcpIHtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgICAgICAgIHRvQWRkID0gY2xhc3NuYW1lcyhhcmcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoYXJnLnN0eWxlcyAhPT0gdW5kZWZpbmVkICYmIGFyZy5uYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignWW91IGhhdmUgcGFzc2VkIHN0eWxlcyBjcmVhdGVkIHdpdGggYGNzc2AgZnJvbSBgQGVtb3Rpb24vcmVhY3RgIHBhY2thZ2UgdG8gdGhlIGBjeGAuXFxuJyArICdgY3hgIGlzIG1lYW50IHRvIGNvbXBvc2UgY2xhc3MgbmFtZXMgKHN0cmluZ3MpIHNvIHlvdSBzaG91bGQgY29udmVydCB0aG9zZSBzdHlsZXMgdG8gYSBjbGFzcyBuYW1lIGJ5IHBhc3NpbmcgdGhlbSB0byB0aGUgYGNzc2AgcmVjZWl2ZWQgZnJvbSA8Q2xhc3NOYW1lcy8+IGNvbXBvbmVudC4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG9BZGQgPSAnJztcblxuICAgICAgICAgICAgZm9yICh2YXIgayBpbiBhcmcpIHtcbiAgICAgICAgICAgICAgaWYgKGFyZ1trXSAmJiBrKSB7XG4gICAgICAgICAgICAgICAgdG9BZGQgJiYgKHRvQWRkICs9ICcgJyk7XG4gICAgICAgICAgICAgICAgdG9BZGQgKz0gaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0b0FkZCA9IGFyZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0b0FkZCkge1xuICAgICAgY2xzICYmIChjbHMgKz0gJyAnKTtcbiAgICAgIGNscyArPSB0b0FkZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xzO1xufTtcblxuZnVuY3Rpb24gbWVyZ2UocmVnaXN0ZXJlZCwgY3NzLCBjbGFzc05hbWUpIHtcbiAgdmFyIHJlZ2lzdGVyZWRTdHlsZXMgPSBbXTtcbiAgdmFyIHJhd0NsYXNzTmFtZSA9IGdldFJlZ2lzdGVyZWRTdHlsZXMocmVnaXN0ZXJlZCwgcmVnaXN0ZXJlZFN0eWxlcywgY2xhc3NOYW1lKTtcblxuICBpZiAocmVnaXN0ZXJlZFN0eWxlcy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIHJldHVybiByYXdDbGFzc05hbWUgKyBjc3MocmVnaXN0ZXJlZFN0eWxlcyk7XG59XG5cbnZhciBJbnNlcnRpb24gPSBmdW5jdGlvbiBJbnNlcnRpb24oX3JlZikge1xuICB2YXIgY2FjaGUgPSBfcmVmLmNhY2hlLFxuICAgICAgc2VyaWFsaXplZEFyciA9IF9yZWYuc2VyaWFsaXplZEFycjtcbiAgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayhmdW5jdGlvbiAoKSB7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlcmlhbGl6ZWRBcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGluc2VydFN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZEFycltpXSwgZmFsc2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG52YXIgQ2xhc3NOYW1lcyA9IC8qICNfX1BVUkVfXyAqL3dpdGhFbW90aW9uQ2FjaGUoZnVuY3Rpb24gKHByb3BzLCBjYWNoZSkge1xuICB2YXIgaGFzUmVuZGVyZWQgPSBmYWxzZTtcbiAgdmFyIHNlcmlhbGl6ZWRBcnIgPSBbXTtcblxuICB2YXIgY3NzID0gZnVuY3Rpb24gY3NzKCkge1xuICAgIGlmIChoYXNSZW5kZXJlZCAmJiBpc0RldmVsb3BtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NzcyBjYW4gb25seSBiZSB1c2VkIGR1cmluZyByZW5kZXInKTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgdmFyIHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTdHlsZXMoYXJncywgY2FjaGUucmVnaXN0ZXJlZCk7XG4gICAgc2VyaWFsaXplZEFyci5wdXNoKHNlcmlhbGl6ZWQpOyAvLyByZWdpc3RyYXRpb24gaGFzIHRvIGhhcHBlbiBoZXJlIGFzIHRoZSByZXN1bHQgb2YgdGhpcyBtaWdodCBnZXQgY29uc3VtZWQgYnkgYGN4YFxuXG4gICAgcmVnaXN0ZXJTdHlsZXMoY2FjaGUsIHNlcmlhbGl6ZWQsIGZhbHNlKTtcbiAgICByZXR1cm4gY2FjaGUua2V5ICsgXCItXCIgKyBzZXJpYWxpemVkLm5hbWU7XG4gIH07XG5cbiAgdmFyIGN4ID0gZnVuY3Rpb24gY3goKSB7XG4gICAgaWYgKGhhc1JlbmRlcmVkICYmIGlzRGV2ZWxvcG1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY3ggY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgcmVuZGVyJyk7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yKSwgX2tleTIgPSAwOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICBhcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlKGNhY2hlLnJlZ2lzdGVyZWQsIGNzcywgY2xhc3NuYW1lcyhhcmdzKSk7XG4gIH07XG5cbiAgdmFyIGNvbnRlbnQgPSB7XG4gICAgY3NzOiBjc3MsXG4gICAgY3g6IGN4LFxuICAgIHRoZW1lOiBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dClcbiAgfTtcbiAgdmFyIGVsZSA9IHByb3BzLmNoaWxkcmVuKGNvbnRlbnQpO1xuICBoYXNSZW5kZXJlZCA9IHRydWU7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoSW5zZXJ0aW9uLCB7XG4gICAgY2FjaGU6IGNhY2hlLFxuICAgIHNlcmlhbGl6ZWRBcnI6IHNlcmlhbGl6ZWRBcnJcbiAgfSksIGVsZSk7XG59KTtcblxue1xuICBDbGFzc05hbWVzLmRpc3BsYXlOYW1lID0gJ0Vtb3Rpb25DbGFzc05hbWVzJztcbn1cblxue1xuICB2YXIgaXNCcm93c2VyID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJzsgLy8gIzE3MjcsICMyOTA1IGZvciBzb21lIHJlYXNvbiBKZXN0IGFuZCBWaXRlc3QgZXZhbHVhdGUgbW9kdWxlcyB0d2ljZSBpZiBzb21lIGNvbnN1bWluZyBtb2R1bGUgZ2V0cyBtb2NrZWRcblxuICB2YXIgaXNUZXN0RW52ID0gdHlwZW9mIGplc3QgIT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB2aSAhPT0gJ3VuZGVmaW5lZCc7XG5cbiAgaWYgKGlzQnJvd3NlciAmJiAhaXNUZXN0RW52KSB7XG4gICAgLy8gZ2xvYmFsVGhpcyBoYXMgd2lkZSBicm93c2VyIHN1cHBvcnQgLSBodHRwczovL2Nhbml1c2UuY29tLz9zZWFyY2g9Z2xvYmFsVGhpcywgTm9kZS5qcyAxMiBhbmQgbGF0ZXJcbiAgICB2YXIgZ2xvYmFsQ29udGV4dCA9IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbFRoaXMgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuICAgIDogaXNCcm93c2VyID8gd2luZG93IDogZ2xvYmFsO1xuICAgIHZhciBnbG9iYWxLZXkgPSBcIl9fRU1PVElPTl9SRUFDVF9cIiArIHBrZy52ZXJzaW9uLnNwbGl0KCcuJylbMF0gKyBcIl9fXCI7XG5cbiAgICBpZiAoZ2xvYmFsQ29udGV4dFtnbG9iYWxLZXldKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1lvdSBhcmUgbG9hZGluZyBAZW1vdGlvbi9yZWFjdCB3aGVuIGl0IGlzIGFscmVhZHkgbG9hZGVkLiBSdW5uaW5nICcgKyAnbXVsdGlwbGUgaW5zdGFuY2VzIG1heSBjYXVzZSBwcm9ibGVtcy4gVGhpcyBjYW4gaGFwcGVuIGlmIG11bHRpcGxlICcgKyAndmVyc2lvbnMgYXJlIHVzZWQsIG9yIGlmIG11bHRpcGxlIGJ1aWxkcyBvZiB0aGUgc2FtZSB2ZXJzaW9uIGFyZSAnICsgJ3VzZWQuJyk7XG4gICAgfVxuXG4gICAgZ2xvYmFsQ29udGV4dFtnbG9iYWxLZXldID0gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGpzeCBhcyBjcmVhdGVFbGVtZW50LCBjc3MsIGpzeCwga2V5ZnJhbWVzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.js":
|
||
/*!***********************************************************************************!*\
|
||
!*** ./node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.js ***!
|
||
\***********************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ serializeStyles: function() { return /* binding */ serializeStyles; }\n/* harmony export */ });\n/* harmony import */ var _emotion_hash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/hash */ \"(app-pages-browser)/./node_modules/@emotion/hash/dist/emotion-hash.esm.js\");\n/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/unitless */ \"(app-pages-browser)/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js\");\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ \"(app-pages-browser)/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js\");\n\n\n\n\nvar isDevelopment = true;\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (_emotion_unitless__WEBPACK_IMPORTED_MODULE_1__[\"default\"][key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\n{\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n if (String(componentSelector) === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (_match, _p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error(\"`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\nInstead of doing this:\\n\\n\" + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + \"\\n\\nYou should wrap it with `css` like this:\\n\\ncss`\" + replaced + \"`\");\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n if (asTemplateStringsArr[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n if (templateStringsArr[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = (0,_emotion_hash__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styles) + identifierName;\n\n {\n var devStyles = {\n name: name,\n styles: styles,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n return devStyles;\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9zZXJpYWxpemUvZGlzdC9lbW90aW9uLXNlcmlhbGl6ZS5kZXZlbG9wbWVudC5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QztBQUNFO0FBQ0Y7O0FBRXZDOztBQUVBLGdSQUFnUix1Q0FBdUM7QUFDdlQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0NBQXNDLDREQUFPO0FBQzdDO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUEsTUFBTSx5REFBUTtBQUNkO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtREFBbUQ7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLHFQQUFxUCxZQUFZLGtJQUFrSSxhQUFhO0FBQ2haOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QyxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLGdCQUFnQjtBQUNwQyx5RUFBeUU7QUFDekU7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsNEJBQTRCLDZCQUE2QjtBQUN6RCxVQUFVO0FBQ1YsdUZBQXVGO0FBQ3ZGO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQixtQkFBbUI7QUFDOUM7QUFDQSw0RkFBNEY7QUFDNUY7QUFDQTtBQUNBLFVBQVU7QUFDVjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDLHFCQUFxQjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxvQ0FBb0MsUUFBUSxPQUFPO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKLGtCQUFrQixpQkFBaUI7QUFDbkM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLHlEQUFVOztBQUV2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTJCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9zZXJpYWxpemUvZGlzdC9lbW90aW9uLXNlcmlhbGl6ZS5kZXZlbG9wbWVudC5lc20uanM/ZmZmNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGFzaFN0cmluZyBmcm9tICdAZW1vdGlvbi9oYXNoJztcbmltcG9ydCB1bml0bGVzcyBmcm9tICdAZW1vdGlvbi91bml0bGVzcyc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdAZW1vdGlvbi9tZW1vaXplJztcblxudmFyIGlzRGV2ZWxvcG1lbnQgPSB0cnVlO1xuXG52YXIgSUxMRUdBTF9FU0NBUEVfU0VRVUVOQ0VfRVJST1IgPSBcIllvdSBoYXZlIGlsbGVnYWwgZXNjYXBlIHNlcXVlbmNlIGluIHlvdXIgdGVtcGxhdGUgbGl0ZXJhbCwgbW9zdCBsaWtlbHkgaW5zaWRlIGNvbnRlbnQncyBwcm9wZXJ0eSB2YWx1ZS5cXG5CZWNhdXNlIHlvdSB3cml0ZSB5b3VyIENTUyBpbnNpZGUgYSBKYXZhU2NyaXB0IHN0cmluZyB5b3UgYWN0dWFsbHkgaGF2ZSB0byBkbyBkb3VibGUgZXNjYXBpbmcsIHNvIGZvciBleGFtcGxlIFxcXCJjb250ZW50OiAnXFxcXDAwZDcnO1xcXCIgc2hvdWxkIGJlY29tZSBcXFwiY29udGVudDogJ1xcXFxcXFxcMDBkNyc7XFxcIi5cXG5Zb3UgY2FuIHJlYWQgbW9yZSBhYm91dCB0aGlzIGhlcmU6XFxuaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvVGVtcGxhdGVfbGl0ZXJhbHMjRVMyMDE4X3JldmlzaW9uX29mX2lsbGVnYWxfZXNjYXBlX3NlcXVlbmNlc1wiO1xudmFyIFVOREVGSU5FRF9BU19PQkpFQ1RfS0VZX0VSUk9SID0gXCJZb3UgaGF2ZSBwYXNzZWQgaW4gZmFsc3kgdmFsdWUgYXMgc3R5bGUgb2JqZWN0J3Mga2V5IChjYW4gaGFwcGVuIHdoZW4gaW4gZXhhbXBsZSB5b3UgcGFzcyB1bmV4cG9ydGVkIGNvbXBvbmVudCBhcyBjb21wdXRlZCBrZXkpLlwiO1xudmFyIGh5cGhlbmF0ZVJlZ2V4ID0gL1tBLVpdfF5tcy9nO1xudmFyIGFuaW1hdGlvblJlZ2V4ID0gL19FTU9fKFteX10rPylfKFteXSo/KV9FTU9fL2c7XG5cbnZhciBpc0N1c3RvbVByb3BlcnR5ID0gZnVuY3Rpb24gaXNDdXN0b21Qcm9wZXJ0eShwcm9wZXJ0eSkge1xuICByZXR1cm4gcHJvcGVydHkuY2hhckNvZGVBdCgxKSA9PT0gNDU7XG59O1xuXG52YXIgaXNQcm9jZXNzYWJsZVZhbHVlID0gZnVuY3Rpb24gaXNQcm9jZXNzYWJsZVZhbHVlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nO1xufTtcblxudmFyIHByb2Nlc3NTdHlsZU5hbWUgPSAvKiAjX19QVVJFX18gKi9tZW1vaXplKGZ1bmN0aW9uIChzdHlsZU5hbWUpIHtcbiAgcmV0dXJuIGlzQ3VzdG9tUHJvcGVydHkoc3R5bGVOYW1lKSA/IHN0eWxlTmFtZSA6IHN0eWxlTmFtZS5yZXBsYWNlKGh5cGhlbmF0ZVJlZ2V4LCAnLSQmJykudG9Mb3dlckNhc2UoKTtcbn0pO1xuXG52YXIgcHJvY2Vzc1N0eWxlVmFsdWUgPSBmdW5jdGlvbiBwcm9jZXNzU3R5bGVWYWx1ZShrZXksIHZhbHVlKSB7XG4gIHN3aXRjaCAoa2V5KSB7XG4gICAgY2FzZSAnYW5pbWF0aW9uJzpcbiAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShhbmltYXRpb25SZWdleCwgZnVuY3Rpb24gKG1hdGNoLCBwMSwgcDIpIHtcbiAgICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgICAgbmFtZTogcDEsXG4gICAgICAgICAgICAgIHN0eWxlczogcDIsXG4gICAgICAgICAgICAgIG5leHQ6IGN1cnNvclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBwMTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgaWYgKHVuaXRsZXNzW2tleV0gIT09IDEgJiYgIWlzQ3VzdG9tUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlICE9PSAwKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JztcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbntcbiAgdmFyIGNvbnRlbnRWYWx1ZVBhdHRlcm4gPSAvKHZhcnxhdHRyfGNvdW50ZXJzP3x1cmx8ZWxlbWVudHwoKChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbCkpfGNvbmljKS1ncmFkaWVudClcXCh8KG5vLSk/KG9wZW58Y2xvc2UpLXF1b3RlLztcbiAgdmFyIGNvbnRlbnRWYWx1ZXMgPSBbJ25vcm1hbCcsICdub25lJywgJ2luaXRpYWwnLCAnaW5oZXJpdCcsICd1bnNldCddO1xuICB2YXIgb2xkUHJvY2Vzc1N0eWxlVmFsdWUgPSBwcm9jZXNzU3R5bGVWYWx1ZTtcbiAgdmFyIG1zUGF0dGVybiA9IC9eLW1zLS87XG4gIHZhciBoeXBoZW5QYXR0ZXJuID0gLy0oLikvZztcbiAgdmFyIGh5cGhlbmF0ZWRDYWNoZSA9IHt9O1xuXG4gIHByb2Nlc3NTdHlsZVZhbHVlID0gZnVuY3Rpb24gcHJvY2Vzc1N0eWxlVmFsdWUoa2V5LCB2YWx1ZSkge1xuICAgIGlmIChrZXkgPT09ICdjb250ZW50Jykge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgY29udGVudFZhbHVlcy5pbmRleE9mKHZhbHVlKSA9PT0gLTEgJiYgIWNvbnRlbnRWYWx1ZVBhdHRlcm4udGVzdCh2YWx1ZSkgJiYgKHZhbHVlLmNoYXJBdCgwKSAhPT0gdmFsdWUuY2hhckF0KHZhbHVlLmxlbmd0aCAtIDEpIHx8IHZhbHVlLmNoYXJBdCgwKSAhPT0gJ1wiJyAmJiB2YWx1ZS5jaGFyQXQoMCkgIT09IFwiJ1wiKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3Ugc2VlbSB0byBiZSB1c2luZyBhIHZhbHVlIGZvciAnY29udGVudCcgd2l0aG91dCBxdW90ZXMsIHRyeSByZXBsYWNpbmcgaXQgd2l0aCBgY29udGVudDogJ1xcXCJcIiArIHZhbHVlICsgXCJcXFwiJ2BcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb2Nlc3NlZCA9IG9sZFByb2Nlc3NTdHlsZVZhbHVlKGtleSwgdmFsdWUpO1xuXG4gICAgaWYgKHByb2Nlc3NlZCAhPT0gJycgJiYgIWlzQ3VzdG9tUHJvcGVydHkoa2V5KSAmJiBrZXkuaW5kZXhPZignLScpICE9PSAtMSAmJiBoeXBoZW5hdGVkQ2FjaGVba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBoeXBoZW5hdGVkQ2FjaGVba2V5XSA9IHRydWU7XG4gICAgICBjb25zb2xlLmVycm9yKFwiVXNpbmcga2ViYWItY2FzZSBmb3IgY3NzIHByb3BlcnRpZXMgaW4gb2JqZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiBEaWQgeW91IG1lYW4gXCIgKyBrZXkucmVwbGFjZShtc1BhdHRlcm4sICdtcy0nKS5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChzdHIsIF9jaGFyKSB7XG4gICAgICAgIHJldHVybiBfY2hhci50b1VwcGVyQ2FzZSgpO1xuICAgICAgfSkgKyBcIj9cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2Nlc3NlZDtcbiAgfTtcbn1cblxudmFyIG5vQ29tcG9uZW50U2VsZWN0b3JNZXNzYWdlID0gJ0NvbXBvbmVudCBzZWxlY3RvcnMgY2FuIG9ubHkgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoICcgKyAnQGVtb3Rpb24vYmFiZWwtcGx1Z2luLCB0aGUgc3djIEVtb3Rpb24gcGx1Z2luLCBvciBhbm90aGVyIEVtb3Rpb24tYXdhcmUgJyArICdjb21waWxlciB0cmFuc2Zvcm0uJztcblxuZnVuY3Rpb24gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgaW50ZXJwb2xhdGlvbikge1xuICBpZiAoaW50ZXJwb2xhdGlvbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgdmFyIGNvbXBvbmVudFNlbGVjdG9yID0gaW50ZXJwb2xhdGlvbjtcblxuICBpZiAoY29tcG9uZW50U2VsZWN0b3IuX19lbW90aW9uX3N0eWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKFN0cmluZyhjb21wb25lbnRTZWxlY3RvcikgPT09ICdOT19DT01QT05FTlRfU0VMRUNUT1InKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3Iobm9Db21wb25lbnRTZWxlY3Rvck1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRTZWxlY3RvcjtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZW9mIGludGVycG9sYXRpb24pIHtcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuXG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHtcbiAgICAgICAgdmFyIGtleWZyYW1lcyA9IGludGVycG9sYXRpb247XG5cbiAgICAgICAgaWYgKGtleWZyYW1lcy5hbmltID09PSAxKSB7XG4gICAgICAgICAgY3Vyc29yID0ge1xuICAgICAgICAgICAgbmFtZToga2V5ZnJhbWVzLm5hbWUsXG4gICAgICAgICAgICBzdHlsZXM6IGtleWZyYW1lcy5zdHlsZXMsXG4gICAgICAgICAgICBuZXh0OiBjdXJzb3JcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBrZXlmcmFtZXMubmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzZXJpYWxpemVkU3R5bGVzID0gaW50ZXJwb2xhdGlvbjtcblxuICAgICAgICBpZiAoc2VyaWFsaXplZFN0eWxlcy5zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBuZXh0ID0gc2VyaWFsaXplZFN0eWxlcy5uZXh0O1xuXG4gICAgICAgICAgaWYgKG5leHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gbm90IHRoZSBtb3N0IGVmZmljaWVudCB0aGluZyBldmVyIGJ1dCB0aGlzIGlzIGEgcHJldHR5IHJhcmUgY2FzZVxuICAgICAgICAgICAgLy8gYW5kIHRoZXJlIHdpbGwgYmUgdmVyeSBmZXcgaXRlcmF0aW9ucyBvZiB0aGlzIGdlbmVyYWxseVxuICAgICAgICAgICAgd2hpbGUgKG5leHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBjdXJzb3IgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogbmV4dC5uYW1lLFxuICAgICAgICAgICAgICAgIHN0eWxlczogbmV4dC5zdHlsZXMsXG4gICAgICAgICAgICAgICAgbmV4dDogY3Vyc29yXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIG5leHQgPSBuZXh0Lm5leHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHN0eWxlcyA9IHNlcmlhbGl6ZWRTdHlsZXMuc3R5bGVzICsgXCI7XCI7XG4gICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjcmVhdGVTdHJpbmdGcm9tT2JqZWN0KG1lcmdlZFByb3BzLCByZWdpc3RlcmVkLCBpbnRlcnBvbGF0aW9uKTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKG1lcmdlZFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YXIgcHJldmlvdXNDdXJzb3IgPSBjdXJzb3I7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGludGVycG9sYXRpb24obWVyZ2VkUHJvcHMpO1xuICAgICAgICAgIGN1cnNvciA9IHByZXZpb3VzQ3Vyc29yO1xuICAgICAgICAgIHJldHVybiBoYW5kbGVJbnRlcnBvbGF0aW9uKG1lcmdlZFByb3BzLCByZWdpc3RlcmVkLCByZXN1bHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Z1bmN0aW9ucyB0aGF0IGFyZSBpbnRlcnBvbGF0ZWQgaW4gY3NzIGNhbGxzIHdpbGwgYmUgc3RyaW5naWZpZWQuXFxuJyArICdJZiB5b3Ugd2FudCB0byBoYXZlIGEgY3NzIGNhbGwgYmFzZWQgb24gcHJvcHMsIGNyZWF0ZSBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNzcyBjYWxsIGxpa2UgdGhpc1xcbicgKyAnbGV0IGR5bmFtaWNTdHlsZSA9IChwcm9wcykgPT4gY3NzYGNvbG9yOiAke3Byb3BzLmNvbG9yfWBcXG4nICsgJ0l0IGNhbiBiZSBjYWxsZWQgZGlyZWN0bHkgd2l0aCBwcm9wcyBvciBpbnRlcnBvbGF0ZWQgaW4gYSBzdHlsZWQgY2FsbCBsaWtlIHRoaXNcXG4nICsgXCJsZXQgU29tZUNvbXBvbmVudCA9IHN0eWxlZCgnZGl2JylgJHtkeW5hbWljU3R5bGV9YFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIG1hdGNoZWQgPSBbXTtcbiAgICAgICAgdmFyIHJlcGxhY2VkID0gaW50ZXJwb2xhdGlvbi5yZXBsYWNlKGFuaW1hdGlvblJlZ2V4LCBmdW5jdGlvbiAoX21hdGNoLCBfcDEsIHAyKSB7XG4gICAgICAgICAgdmFyIGZha2VWYXJOYW1lID0gXCJhbmltYXRpb25cIiArIG1hdGNoZWQubGVuZ3RoO1xuICAgICAgICAgIG1hdGNoZWQucHVzaChcImNvbnN0IFwiICsgZmFrZVZhck5hbWUgKyBcIiA9IGtleWZyYW1lc2BcIiArIHAyLnJlcGxhY2UoL15Aa2V5ZnJhbWVzIGFuaW1hdGlvbi1cXHcrLywgJycpICsgXCJgXCIpO1xuICAgICAgICAgIHJldHVybiBcIiR7XCIgKyBmYWtlVmFyTmFtZSArIFwifVwiO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobWF0Y2hlZC5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiYGtleWZyYW1lc2Agb3V0cHV0IGdvdCBpbnRlcnBvbGF0ZWQgaW50byBwbGFpbiBzdHJpbmcsIHBsZWFzZSB3cmFwIGl0IHdpdGggYGNzc2AuXFxuXFxuSW5zdGVhZCBvZiBkb2luZyB0aGlzOlxcblxcblwiICsgW10uY29uY2F0KG1hdGNoZWQsIFtcImBcIiArIHJlcGxhY2VkICsgXCJgXCJdKS5qb2luKCdcXG4nKSArIFwiXFxuXFxuWW91IHNob3VsZCB3cmFwIGl0IHdpdGggYGNzc2AgbGlrZSB0aGlzOlxcblxcbmNzc2BcIiArIHJlcGxhY2VkICsgXCJgXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9IC8vIGZpbmFsaXplIHN0cmluZyB2YWx1ZXMgKHJlZ3VsYXIgc3RyaW5ncyBhbmQgZnVuY3Rpb25zIGludGVycG9sYXRlZCBpbnRvIGNzcyBjYWxscylcblxuXG4gIHZhciBhc1N0cmluZyA9IGludGVycG9sYXRpb247XG5cbiAgaWYgKHJlZ2lzdGVyZWQgPT0gbnVsbCkge1xuICAgIHJldHVybiBhc1N0cmluZztcbiAgfVxuXG4gIHZhciBjYWNoZWQgPSByZWdpc3RlcmVkW2FzU3RyaW5nXTtcbiAgcmV0dXJuIGNhY2hlZCAhPT0gdW5kZWZpbmVkID8gY2FjaGVkIDogYXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0cmluZ0Zyb21PYmplY3QobWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIG9iaikge1xuICB2YXIgc3RyaW5nID0gJyc7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICBzdHJpbmcgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgb2JqW2ldKSArIFwiO1wiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICB2YXIgdmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgdmFyIGFzU3RyaW5nID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHJlZ2lzdGVyZWQgIT0gbnVsbCAmJiByZWdpc3RlcmVkW2FzU3RyaW5nXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3RyaW5nICs9IGtleSArIFwie1wiICsgcmVnaXN0ZXJlZFthc1N0cmluZ10gKyBcIn1cIjtcbiAgICAgICAgfSBlbHNlIGlmIChpc1Byb2Nlc3NhYmxlVmFsdWUoYXNTdHJpbmcpKSB7XG4gICAgICAgICAgc3RyaW5nICs9IHByb2Nlc3NTdHlsZU5hbWUoa2V5KSArIFwiOlwiICsgcHJvY2Vzc1N0eWxlVmFsdWUoa2V5LCBhc1N0cmluZykgKyBcIjtcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ05PX0NPTVBPTkVOVF9TRUxFQ1RPUicgJiYgaXNEZXZlbG9wbWVudCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihub0NvbXBvbmVudFNlbGVjdG9yTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJyAmJiAocmVnaXN0ZXJlZCA9PSBudWxsIHx8IHJlZ2lzdGVyZWRbdmFsdWVbMF1dID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IHZhbHVlLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgaWYgKGlzUHJvY2Vzc2FibGVWYWx1ZSh2YWx1ZVtfaV0pKSB7XG4gICAgICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKGtleSkgKyBcIjpcIiArIHByb2Nlc3NTdHlsZVZhbHVlKGtleSwgdmFsdWVbX2ldKSArIFwiO1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgaW50ZXJwb2xhdGVkID0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgdmFsdWUpO1xuXG4gICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FuaW1hdGlvbic6XG4gICAgICAgICAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKGtleSkgKyBcIjpcIiArIGludGVycG9sYXRlZCArIFwiO1wiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihVTkRFRklORURfQVNfT0JKRUNUX0tFWV9FUlJPUik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3RyaW5nICs9IGtleSArIFwie1wiICsgaW50ZXJwb2xhdGVkICsgXCJ9XCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG52YXIgbGFiZWxQYXR0ZXJuID0gL2xhYmVsOlxccyooW15cXHM7e10rKVxccyooO3wkKS9nOyAvLyB0aGlzIGlzIHRoZSBjdXJzb3IgZm9yIGtleWZyYW1lc1xuLy8ga2V5ZnJhbWVzIGFyZSBzdG9yZWQgb24gdGhlIFNlcmlhbGl6ZWRTdHlsZXMgb2JqZWN0IGFzIGEgbGlua2VkIGxpc3RcblxudmFyIGN1cnNvcjtcbmZ1bmN0aW9uIHNlcmlhbGl6ZVN0eWxlcyhhcmdzLCByZWdpc3RlcmVkLCBtZXJnZWRQcm9wcykge1xuICBpZiAoYXJncy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIGFyZ3NbMF0gPT09ICdvYmplY3QnICYmIGFyZ3NbMF0gIT09IG51bGwgJiYgYXJnc1swXS5zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBhcmdzWzBdO1xuICB9XG5cbiAgdmFyIHN0cmluZ01vZGUgPSB0cnVlO1xuICB2YXIgc3R5bGVzID0gJyc7XG4gIGN1cnNvciA9IHVuZGVmaW5lZDtcbiAgdmFyIHN0cmluZ3MgPSBhcmdzWzBdO1xuXG4gIGlmIChzdHJpbmdzID09IG51bGwgfHwgc3RyaW5ncy5yYXcgPT09IHVuZGVmaW5lZCkge1xuICAgIHN0cmluZ01vZGUgPSBmYWxzZTtcbiAgICBzdHlsZXMgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgc3RyaW5ncyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFzVGVtcGxhdGVTdHJpbmdzQXJyID0gc3RyaW5ncztcblxuICAgIGlmIChhc1RlbXBsYXRlU3RyaW5nc0FyclswXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKElMTEVHQUxfRVNDQVBFX1NFUVVFTkNFX0VSUk9SKTtcbiAgICB9XG5cbiAgICBzdHlsZXMgKz0gYXNUZW1wbGF0ZVN0cmluZ3NBcnJbMF07XG4gIH0gLy8gd2Ugc3RhcnQgYXQgMSBzaW5jZSB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgdGhlIGZpcnN0IGFyZ1xuXG5cbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgc3R5bGVzICs9IGhhbmRsZUludGVycG9sYXRpb24obWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIGFyZ3NbaV0pO1xuXG4gICAgaWYgKHN0cmluZ01vZGUpIHtcbiAgICAgIHZhciB0ZW1wbGF0ZVN0cmluZ3NBcnIgPSBzdHJpbmdzO1xuXG4gICAgICBpZiAodGVtcGxhdGVTdHJpbmdzQXJyW2ldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihJTExFR0FMX0VTQ0FQRV9TRVFVRU5DRV9FUlJPUik7XG4gICAgICB9XG5cbiAgICAgIHN0eWxlcyArPSB0ZW1wbGF0ZVN0cmluZ3NBcnJbaV07XG4gICAgfVxuICB9IC8vIHVzaW5nIGEgZ2xvYmFsIHJlZ2V4IHdpdGggLmV4ZWMgaXMgc3RhdGVmdWwgc28gbGFzdEluZGV4IGhhcyB0byBiZSByZXNldCBlYWNoIHRpbWVcblxuXG4gIGxhYmVsUGF0dGVybi5sYXN0SW5kZXggPSAwO1xuICB2YXIgaWRlbnRpZmllck5hbWUgPSAnJztcbiAgdmFyIG1hdGNoOyAvLyBodHRwczovL2VzYmVuY2guY29tL2JlbmNoLzViODA5YzJjZjI5NDk4MDBhMGY2MWZiNVxuXG4gIHdoaWxlICgobWF0Y2ggPSBsYWJlbFBhdHRlcm4uZXhlYyhzdHlsZXMpKSAhPT0gbnVsbCkge1xuICAgIGlkZW50aWZpZXJOYW1lICs9ICctJyArIG1hdGNoWzFdO1xuICB9XG5cbiAgdmFyIG5hbWUgPSBoYXNoU3RyaW5nKHN0eWxlcykgKyBpZGVudGlmaWVyTmFtZTtcblxuICB7XG4gICAgdmFyIGRldlN0eWxlcyA9IHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICBzdHlsZXM6IHN0eWxlcyxcbiAgICAgIG5leHQ6IGN1cnNvcixcbiAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGRldlN0eWxlcztcbiAgfVxufVxuXG5leHBvcnQgeyBzZXJpYWxpemVTdHlsZXMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.js":
|
||
/*!***************************************************************************!*\
|
||
!*** ./node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.js ***!
|
||
\***************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StyleSheet: function() { return /* binding */ StyleSheet; }\n/* harmony export */ });\nvar isDevelopment = true;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9zaGVldC9kaXN0L2Vtb3Rpb24tc2hlZXQuZGV2ZWxvcG1lbnQuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBLFNBQVMsYUFBYTs7QUFFdEIsa0NBQWtDLG1DQUFtQzs7QUFFckUsMEJBQTBCLHdCQUF3QjtBQUNsRDs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7OztBQUdBLGtCQUFrQixpQ0FBaUM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDOztBQUVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUix1SkFBdUo7QUFDdko7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRXFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9zaGVldC9kaXN0L2Vtb3Rpb24tc2hlZXQuZGV2ZWxvcG1lbnQuZXNtLmpzP2FlYTUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGlzRGV2ZWxvcG1lbnQgPSB0cnVlO1xuXG4vKlxuXG5CYXNlZCBvZmYgZ2xhbW9yJ3MgU3R5bGVTaGVldCwgdGhhbmtzIFN1bmlsIOKdpO+4j1xuXG5oaWdoIHBlcmZvcm1hbmNlIFN0eWxlU2hlZXQgZm9yIGNzcy1pbi1qcyBzeXN0ZW1zXG5cbi0gdXNlcyBtdWx0aXBsZSBzdHlsZSB0YWdzIGJlaGluZCB0aGUgc2NlbmVzIGZvciBtaWxsaW9ucyBvZiBydWxlc1xuLSB1c2VzIGBpbnNlcnRSdWxlYCBmb3IgYXBwZW5kaW5nIGluIHByb2R1Y3Rpb24gZm9yICptdWNoKiBmYXN0ZXIgcGVyZm9ybWFuY2VcblxuLy8gdXNhZ2VcblxuaW1wb3J0IHsgU3R5bGVTaGVldCB9IGZyb20gJ0BlbW90aW9uL3NoZWV0J1xuXG5sZXQgc3R5bGVTaGVldCA9IG5ldyBTdHlsZVNoZWV0KHsga2V5OiAnJywgY29udGFpbmVyOiBkb2N1bWVudC5oZWFkIH0pXG5cbnN0eWxlU2hlZXQuaW5zZXJ0KCcjYm94IHsgYm9yZGVyOiAxcHggc29saWQgcmVkOyB9Jylcbi0gYXBwZW5kcyBhIGNzcyBydWxlIGludG8gdGhlIHN0eWxlc2hlZXRcblxuc3R5bGVTaGVldC5mbHVzaCgpXG4tIGVtcHRpZXMgdGhlIHN0eWxlc2hlZXQgb2YgYWxsIGl0cyBjb250ZW50c1xuXG4qL1xuXG5mdW5jdGlvbiBzaGVldEZvclRhZyh0YWcpIHtcbiAgaWYgKHRhZy5zaGVldCkge1xuICAgIHJldHVybiB0YWcuc2hlZXQ7XG4gIH0gLy8gdGhpcyB3ZWlyZG5lc3MgYnJvdWdodCB0byB5b3UgYnkgZmlyZWZveFxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRvY3VtZW50LnN0eWxlU2hlZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGRvY3VtZW50LnN0eWxlU2hlZXRzW2ldLm93bmVyTm9kZSA9PT0gdGFnKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuc3R5bGVTaGVldHNbaV07XG4gICAgfVxuICB9IC8vIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGFsd2F5cyByZXR1cm4gd2l0aCBhIHZhbHVlXG4gIC8vIFRTIGNhbid0IHVuZGVyc3RhbmQgaXQgdGhvdWdoIHNvIHdlIG1ha2UgaXQgc3RvcCBjb21wbGFpbmluZyBoZXJlXG5cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykge1xuICB2YXIgdGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgdGFnLnNldEF0dHJpYnV0ZSgnZGF0YS1lbW90aW9uJywgb3B0aW9ucy5rZXkpO1xuXG4gIGlmIChvcHRpb25zLm5vbmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICB0YWcuc2V0QXR0cmlidXRlKCdub25jZScsIG9wdGlvbnMubm9uY2UpO1xuICB9XG5cbiAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKSk7XG4gIHRhZy5zZXRBdHRyaWJ1dGUoJ2RhdGEtcycsICcnKTtcbiAgcmV0dXJuIHRhZztcbn1cblxudmFyIFN0eWxlU2hlZXQgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICAvLyBVc2luZyBOb2RlIGluc3RlYWQgb2YgSFRNTEVsZW1lbnQgc2luY2UgY29udGFpbmVyIG1heSBiZSBhIFNoYWRvd1Jvb3RcbiAgZnVuY3Rpb24gU3R5bGVTaGVldChvcHRpb25zKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHRoaXMuX2luc2VydFRhZyA9IGZ1bmN0aW9uICh0YWcpIHtcbiAgICAgIHZhciBiZWZvcmU7XG5cbiAgICAgIGlmIChfdGhpcy50YWdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBpZiAoX3RoaXMuaW5zZXJ0aW9uUG9pbnQpIHtcbiAgICAgICAgICBiZWZvcmUgPSBfdGhpcy5pbnNlcnRpb25Qb2ludC5uZXh0U2libGluZztcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5wcmVwZW5kKSB7XG4gICAgICAgICAgYmVmb3JlID0gX3RoaXMuY29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmVmb3JlID0gX3RoaXMuYmVmb3JlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiZWZvcmUgPSBfdGhpcy50YWdzW190aGlzLnRhZ3MubGVuZ3RoIC0gMV0ubmV4dFNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIF90aGlzLmNvbnRhaW5lci5pbnNlcnRCZWZvcmUodGFnLCBiZWZvcmUpO1xuXG4gICAgICBfdGhpcy50YWdzLnB1c2godGFnKTtcbiAgICB9O1xuXG4gICAgdGhpcy5pc1NwZWVkeSA9IG9wdGlvbnMuc3BlZWR5ID09PSB1bmRlZmluZWQgPyAhaXNEZXZlbG9wbWVudCA6IG9wdGlvbnMuc3BlZWR5O1xuICAgIHRoaXMudGFncyA9IFtdO1xuICAgIHRoaXMuY3RyID0gMDtcbiAgICB0aGlzLm5vbmNlID0gb3B0aW9ucy5ub25jZTsgLy8ga2V5IGlzIHRoZSB2YWx1ZSBvZiB0aGUgZGF0YS1lbW90aW9uIGF0dHJpYnV0ZSwgaXQncyB1c2VkIHRvIGlkZW50aWZ5IGRpZmZlcmVudCBzaGVldHNcblxuICAgIHRoaXMua2V5ID0gb3B0aW9ucy5rZXk7XG4gICAgdGhpcy5jb250YWluZXIgPSBvcHRpb25zLmNvbnRhaW5lcjtcbiAgICB0aGlzLnByZXBlbmQgPSBvcHRpb25zLnByZXBlbmQ7XG4gICAgdGhpcy5pbnNlcnRpb25Qb2ludCA9IG9wdGlvbnMuaW5zZXJ0aW9uUG9pbnQ7XG4gICAgdGhpcy5iZWZvcmUgPSBudWxsO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFN0eWxlU2hlZXQucHJvdG90eXBlO1xuXG4gIF9wcm90by5oeWRyYXRlID0gZnVuY3Rpb24gaHlkcmF0ZShub2Rlcykge1xuICAgIG5vZGVzLmZvckVhY2godGhpcy5faW5zZXJ0VGFnKTtcbiAgfTtcblxuICBfcHJvdG8uaW5zZXJ0ID0gZnVuY3Rpb24gaW5zZXJ0KHJ1bGUpIHtcbiAgICAvLyB0aGUgbWF4IGxlbmd0aCBpcyBob3cgbWFueSBydWxlcyB3ZSBoYXZlIHBlciBzdHlsZSB0YWcsIGl0J3MgNjUwMDAgaW4gc3BlZWR5IG1vZGVcbiAgICAvLyBpdCdzIDEgaW4gZGV2IGJlY2F1c2Ugd2UgaW5zZXJ0IHNvdXJjZSBtYXBzIHRoYXQgbWFwIGEgc2luZ2xlIHJ1bGUgdG8gYSBsb2NhdGlvblxuICAgIC8vIGFuZCB5b3UgY2FuIG9ubHkgaGF2ZSBvbmUgc291cmNlIG1hcCBwZXIgc3R5bGUgdGFnXG4gICAgaWYgKHRoaXMuY3RyICUgKHRoaXMuaXNTcGVlZHkgPyA2NTAwMCA6IDEpID09PSAwKSB7XG4gICAgICB0aGlzLl9pbnNlcnRUYWcoY3JlYXRlU3R5bGVFbGVtZW50KHRoaXMpKTtcbiAgICB9XG5cbiAgICB2YXIgdGFnID0gdGhpcy50YWdzW3RoaXMudGFncy5sZW5ndGggLSAxXTtcblxuICAgIHtcbiAgICAgIHZhciBpc0ltcG9ydFJ1bGUgPSBydWxlLmNoYXJDb2RlQXQoMCkgPT09IDY0ICYmIHJ1bGUuY2hhckNvZGVBdCgxKSA9PT0gMTA1O1xuXG4gICAgICBpZiAoaXNJbXBvcnRSdWxlICYmIHRoaXMuX2FscmVhZHlJbnNlcnRlZE9yZGVySW5zZW5zaXRpdmVSdWxlKSB7XG4gICAgICAgIC8vIHRoaXMgd291bGQgb25seSBjYXVzZSBwcm9ibGVtIGluIHNwZWVkeSBtb2RlXG4gICAgICAgIC8vIGJ1dCB3ZSBkb24ndCB3YW50IGVuYWJsaW5nIHNwZWVkeSB0byBhZmZlY3QgdGhlIG9ic2VydmFibGUgYmVoYXZpb3JcbiAgICAgICAgLy8gc28gd2UgcmVwb3J0IHRoaXMgZXJyb3IgYXQgYWxsIHRpbWVzXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJZb3UncmUgYXR0ZW1wdGluZyB0byBpbnNlcnQgdGhlIGZvbGxvd2luZyBydWxlOlxcblwiICsgcnVsZSArICdcXG5cXG5gQGltcG9ydGAgcnVsZXMgbXVzdCBiZSBiZWZvcmUgYWxsIG90aGVyIHR5cGVzIG9mIHJ1bGVzIGluIGEgc3R5bGVzaGVldCBidXQgb3RoZXIgcnVsZXMgaGF2ZSBhbHJlYWR5IGJlZW4gaW5zZXJ0ZWQuIFBsZWFzZSBlbnN1cmUgdGhhdCBgQGltcG9ydGAgcnVsZXMgYXJlIGJlZm9yZSBhbGwgb3RoZXIgcnVsZXMuJyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2FscmVhZHlJbnNlcnRlZE9yZGVySW5zZW5zaXRpdmVSdWxlID0gdGhpcy5fYWxyZWFkeUluc2VydGVkT3JkZXJJbnNlbnNpdGl2ZVJ1bGUgfHwgIWlzSW1wb3J0UnVsZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1NwZWVkeSkge1xuICAgICAgdmFyIHNoZWV0ID0gc2hlZXRGb3JUYWcodGFnKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgdWx0cmFmYXN0IHZlcnNpb24sIHdvcmtzIGFjcm9zcyBicm93c2Vyc1xuICAgICAgICAvLyB0aGUgYmlnIGRyYXdiYWNrIGlzIHRoYXQgdGhlIGNzcyB3b24ndCBiZSBlZGl0YWJsZSBpbiBkZXZ0b29sc1xuICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHJ1bGUsIHNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmICghLzooLW1vei1wbGFjZWhvbGRlcnwtbW96LWZvY3VzLWlubmVyfC1tb3otZm9jdXNyaW5nfC1tcy1pbnB1dC1wbGFjZWhvbGRlcnwtbW96LXJlYWQtd3JpdGV8LW1vei1yZWFkLW9ubHl8LW1zLWNsZWFyfC1tcy1leHBhbmR8LW1zLXJldmVhbCl7Ly50ZXN0KHJ1bGUpKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIlRoZXJlIHdhcyBhIHByb2JsZW0gaW5zZXJ0aW5nIHRoZSBmb2xsb3dpbmcgcnVsZTogXFxcIlwiICsgcnVsZSArIFwiXFxcIlwiLCBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0YWcuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUocnVsZSkpO1xuICAgIH1cblxuICAgIHRoaXMuY3RyKys7XG4gIH07XG5cbiAgX3Byb3RvLmZsdXNoID0gZnVuY3Rpb24gZmx1c2goKSB7XG4gICAgdGhpcy50YWdzLmZvckVhY2goZnVuY3Rpb24gKHRhZykge1xuICAgICAgdmFyIF90YWckcGFyZW50Tm9kZTtcblxuICAgICAgcmV0dXJuIChfdGFnJHBhcmVudE5vZGUgPSB0YWcucGFyZW50Tm9kZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90YWckcGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0YWcpO1xuICAgIH0pO1xuICAgIHRoaXMudGFncyA9IFtdO1xuICAgIHRoaXMuY3RyID0gMDtcblxuICAgIHtcbiAgICAgIHRoaXMuX2FscmVhZHlJbnNlcnRlZE9yZGVySW5zZW5zaXRpdmVSdWxlID0gZmFsc2U7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBTdHlsZVNoZWV0O1xufSgpO1xuXG5leHBvcnQgeyBTdHlsZVNoZWV0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js":
|
||
/*!*********************************************************************!*\
|
||
!*** ./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js ***!
|
||
\*********************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ unitlessKeys; }\n/* harmony export */ });\nvar unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91bml0bGVzcy9kaXN0L2Vtb3Rpb24tdW5pdGxlc3MuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVtQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vdW5pdGxlc3MvZGlzdC9lbW90aW9uLXVuaXRsZXNzLmVzbS5qcz83MTEzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB1bml0bGVzc0tleXMgPSB7XG4gIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAxLFxuICBhc3BlY3RSYXRpbzogMSxcbiAgYm9yZGVySW1hZ2VPdXRzZXQ6IDEsXG4gIGJvcmRlckltYWdlU2xpY2U6IDEsXG4gIGJvcmRlckltYWdlV2lkdGg6IDEsXG4gIGJveEZsZXg6IDEsXG4gIGJveEZsZXhHcm91cDogMSxcbiAgYm94T3JkaW5hbEdyb3VwOiAxLFxuICBjb2x1bW5Db3VudDogMSxcbiAgY29sdW1uczogMSxcbiAgZmxleDogMSxcbiAgZmxleEdyb3c6IDEsXG4gIGZsZXhQb3NpdGl2ZTogMSxcbiAgZmxleFNocmluazogMSxcbiAgZmxleE5lZ2F0aXZlOiAxLFxuICBmbGV4T3JkZXI6IDEsXG4gIGdyaWRSb3c6IDEsXG4gIGdyaWRSb3dFbmQ6IDEsXG4gIGdyaWRSb3dTcGFuOiAxLFxuICBncmlkUm93U3RhcnQ6IDEsXG4gIGdyaWRDb2x1bW46IDEsXG4gIGdyaWRDb2x1bW5FbmQ6IDEsXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxuICBncmlkQ29sdW1uU3RhcnQ6IDEsXG4gIG1zR3JpZFJvdzogMSxcbiAgbXNHcmlkUm93U3BhbjogMSxcbiAgbXNHcmlkQ29sdW1uOiAxLFxuICBtc0dyaWRDb2x1bW5TcGFuOiAxLFxuICBmb250V2VpZ2h0OiAxLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBvcGFjaXR5OiAxLFxuICBvcmRlcjogMSxcbiAgb3JwaGFuczogMSxcbiAgc2NhbGU6IDEsXG4gIHRhYlNpemU6IDEsXG4gIHdpZG93czogMSxcbiAgekluZGV4OiAxLFxuICB6b29tOiAxLFxuICBXZWJraXRMaW5lQ2xhbXA6IDEsXG4gIC8vIFNWRy1yZWxhdGVkIHByb3BlcnRpZXNcbiAgZmlsbE9wYWNpdHk6IDEsXG4gIGZsb29kT3BhY2l0eTogMSxcbiAgc3RvcE9wYWNpdHk6IDEsXG4gIHN0cm9rZURhc2hhcnJheTogMSxcbiAgc3Ryb2tlRGFzaG9mZnNldDogMSxcbiAgc3Ryb2tlTWl0ZXJsaW1pdDogMSxcbiAgc3Ryb2tlT3BhY2l0eTogMSxcbiAgc3Ryb2tlV2lkdGg6IDFcbn07XG5cbmV4cG9ydCB7IHVuaXRsZXNzS2V5cyBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js":
|
||
/*!***********************************************************************************************************************************!*\
|
||
!*** ./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js ***!
|
||
\***********************************************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useInsertionEffectAlwaysWithSyncFallback: function() { return /* binding */ useInsertionEffectAlwaysWithSyncFallback; },\n/* harmony export */ useInsertionEffectWithLayoutFallback: function() { return /* binding */ useInsertionEffectWithLayoutFallback; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] ? react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91c2UtaW5zZXJ0aW9uLWVmZmVjdC13aXRoLWZhbGxiYWNrcy9kaXN0L2Vtb3Rpb24tdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MuYnJvd3Nlci5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUErQjs7QUFFL0I7QUFDQTtBQUNBOztBQUVBLHlCQUF5QixrQ0FBSyw4QkFBOEIsa0NBQUs7QUFDakU7QUFDQSxpRUFBaUUsa0RBQXFCOztBQUVJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91c2UtaW5zZXJ0aW9uLWVmZmVjdC13aXRoLWZhbGxiYWNrcy9kaXN0L2Vtb3Rpb24tdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MuYnJvd3Nlci5lc20uanM/YTVjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbnZhciBzeW5jRmFsbGJhY2sgPSBmdW5jdGlvbiBzeW5jRmFsbGJhY2soY3JlYXRlKSB7XG4gIHJldHVybiBjcmVhdGUoKTtcbn07XG5cbnZhciB1c2VJbnNlcnRpb25FZmZlY3QgPSBSZWFjdFsndXNlSW5zZXJ0aW9uJyArICdFZmZlY3QnXSA/IFJlYWN0Wyd1c2VJbnNlcnRpb24nICsgJ0VmZmVjdCddIDogZmFsc2U7XG52YXIgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayA9IHVzZUluc2VydGlvbkVmZmVjdCB8fCBzeW5jRmFsbGJhY2s7XG52YXIgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrID0gdXNlSW5zZXJ0aW9uRWZmZWN0IHx8IFJlYWN0LnVzZUxheW91dEVmZmVjdDtcblxuZXhwb3J0IHsgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjaywgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js ***!
|
||
\***********************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getRegisteredStyles: function() { return /* binding */ getRegisteredStyles; },\n/* harmony export */ insertStyles: function() { return /* binding */ insertStyles; },\n/* harmony export */ registerStyles: function() { return /* binding */ registerStyles; }\n/* harmony export */ });\nvar isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91dGlscy9kaXN0L2Vtb3Rpb24tdXRpbHMuYnJvd3Nlci5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7QUFDdEQsTUFBTTtBQUNOO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRTZEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91dGlscy9kaXN0L2Vtb3Rpb24tdXRpbHMuYnJvd3Nlci5lc20uanM/ZWY0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaXNCcm93c2VyID0gdHJ1ZTtcblxuZnVuY3Rpb24gZ2V0UmVnaXN0ZXJlZFN0eWxlcyhyZWdpc3RlcmVkLCByZWdpc3RlcmVkU3R5bGVzLCBjbGFzc05hbWVzKSB7XG4gIHZhciByYXdDbGFzc05hbWUgPSAnJztcbiAgY2xhc3NOYW1lcy5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24gKGNsYXNzTmFtZSkge1xuICAgIGlmIChyZWdpc3RlcmVkW2NsYXNzTmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVnaXN0ZXJlZFN0eWxlcy5wdXNoKHJlZ2lzdGVyZWRbY2xhc3NOYW1lXSArIFwiO1wiKTtcbiAgICB9IGVsc2UgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgcmF3Q2xhc3NOYW1lICs9IGNsYXNzTmFtZSArIFwiIFwiO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByYXdDbGFzc05hbWU7XG59XG52YXIgcmVnaXN0ZXJTdHlsZXMgPSBmdW5jdGlvbiByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpIHtcbiAgdmFyIGNsYXNzTmFtZSA9IGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuXG4gIGlmICggLy8gd2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSByZWdpc3RlcmVkIGNhY2hlIGlmIHRoZVxuICAvLyBjbGFzcyBuYW1lIGNvdWxkIGJlIHVzZWQgZnVydGhlciBkb3duXG4gIC8vIHRoZSB0cmVlIGJ1dCBpZiBpdCdzIGEgc3RyaW5nIHRhZywgd2Uga25vdyBpdCB3b24ndFxuICAvLyBzbyB3ZSBkb24ndCBoYXZlIHRvIGFkZCBpdCB0byByZWdpc3RlcmVkIGNhY2hlLlxuICAvLyB0aGlzIGltcHJvdmVzIG1lbW9yeSB1c2FnZSBzaW5jZSB3ZSBjYW4gYXZvaWQgc3RvcmluZyB0aGUgd2hvbGUgc3R5bGUgc3RyaW5nXG4gIChpc1N0cmluZ1RhZyA9PT0gZmFsc2UgfHwgLy8gd2UgbmVlZCB0byBhbHdheXMgc3RvcmUgaXQgaWYgd2UncmUgaW4gY29tcGF0IG1vZGUgYW5kXG4gIC8vIGluIG5vZGUgc2luY2UgZW1vdGlvbi1zZXJ2ZXIgcmVsaWVzIG9uIHdoZXRoZXIgYSBzdHlsZSBpcyBpblxuICAvLyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBrbm93IHdoZXRoZXIgYSBzdHlsZSBpcyBnbG9iYWwgb3Igbm90XG4gIC8vIGFsc28sIG5vdGUgdGhhdCB0aGlzIGNoZWNrIHdpbGwgYmUgZGVhZCBjb2RlIGVsaW1pbmF0ZWQgaW4gdGhlIGJyb3dzZXJcbiAgaXNCcm93c2VyID09PSBmYWxzZSApICYmIGNhY2hlLnJlZ2lzdGVyZWRbY2xhc3NOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FjaGUucmVnaXN0ZXJlZFtjbGFzc05hbWVdID0gc2VyaWFsaXplZC5zdHlsZXM7XG4gIH1cbn07XG52YXIgaW5zZXJ0U3R5bGVzID0gZnVuY3Rpb24gaW5zZXJ0U3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkLCBpc1N0cmluZ1RhZykge1xuICByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpO1xuICB2YXIgY2xhc3NOYW1lID0gY2FjaGUua2V5ICsgXCItXCIgKyBzZXJpYWxpemVkLm5hbWU7XG5cbiAgaWYgKGNhY2hlLmluc2VydGVkW3NlcmlhbGl6ZWQubmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBjdXJyZW50ID0gc2VyaWFsaXplZDtcblxuICAgIGRvIHtcbiAgICAgIGNhY2hlLmluc2VydChzZXJpYWxpemVkID09PSBjdXJyZW50ID8gXCIuXCIgKyBjbGFzc05hbWUgOiAnJywgY3VycmVudCwgY2FjaGUuc2hlZXQsIHRydWUpO1xuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH0gd2hpbGUgKGN1cnJlbnQgIT09IHVuZGVmaW5lZCk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IGdldFJlZ2lzdGVyZWRTdHlsZXMsIGluc2VydFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js":
|
||
/*!*****************************************************************************!*\
|
||
!*** ./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js ***!
|
||
\*****************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ weakMemoize; }\n/* harmony export */ });\nvar weakMemoize = function weakMemoize(func) {\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // Use non-null assertion because we just checked that the cache `has` it\n // This allows us to remove `undefined` from the return value\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi93ZWFrLW1lbW9pemUvZGlzdC9lbW90aW9uLXdlYWstbWVtb2l6ZS5lc20uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3dlYWstbWVtb2l6ZS9kaXN0L2Vtb3Rpb24td2Vhay1tZW1vaXplLmVzbS5qcz9lNzljIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB3ZWFrTWVtb2l6ZSA9IGZ1bmN0aW9uIHdlYWtNZW1vaXplKGZ1bmMpIHtcbiAgdmFyIGNhY2hlID0gbmV3IFdlYWtNYXAoKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhcmcpIHtcbiAgICBpZiAoY2FjaGUuaGFzKGFyZykpIHtcbiAgICAgIC8vIFVzZSBub24tbnVsbCBhc3NlcnRpb24gYmVjYXVzZSB3ZSBqdXN0IGNoZWNrZWQgdGhhdCB0aGUgY2FjaGUgYGhhc2AgaXRcbiAgICAgIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSBgdW5kZWZpbmVkYCBmcm9tIHRoZSByZXR1cm4gdmFsdWVcbiAgICAgIHJldHVybiBjYWNoZS5nZXQoYXJnKTtcbiAgICB9XG5cbiAgICB2YXIgcmV0ID0gZnVuYyhhcmcpO1xuICAgIGNhY2hlLnNldChhcmcsIHJldCk7XG4gICAgcmV0dXJuIHJldDtcbiAgfTtcbn07XG5cbmV4cG9ydCB7IHdlYWtNZW1vaXplIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
|
||
/*!**********************************************************************************!*\
|
||
!*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
|
||
\**********************************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\n\nvar reactIs = __webpack_require__(/*! react-is */ \"(app-pages-browser)/./node_modules/react-is/index.js\");\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9ob2lzdC1ub24tcmVhY3Qtc3RhdGljcy9kaXN0L2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzLmNqcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsc0VBQVU7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsb0JBQW9CLGlCQUFpQjtBQUNyQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MvZGlzdC9ob2lzdC1ub24tcmVhY3Qtc3RhdGljcy5janMuanM/MmE4NiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciByZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28hIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xudmFyIFJFQUNUX1NUQVRJQ1MgPSB7XG4gIGNoaWxkQ29udGV4dFR5cGVzOiB0cnVlLFxuICBjb250ZXh0VHlwZTogdHJ1ZSxcbiAgY29udGV4dFR5cGVzOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBnZXREZWZhdWx0UHJvcHM6IHRydWUsXG4gIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjogdHJ1ZSxcbiAgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOiB0cnVlLFxuICBtaXhpbnM6IHRydWUsXG4gIHByb3BUeXBlczogdHJ1ZSxcbiAgdHlwZTogdHJ1ZVxufTtcbnZhciBLTk9XTl9TVEFUSUNTID0ge1xuICBuYW1lOiB0cnVlLFxuICBsZW5ndGg6IHRydWUsXG4gIHByb3RvdHlwZTogdHJ1ZSxcbiAgY2FsbGVyOiB0cnVlLFxuICBjYWxsZWU6IHRydWUsXG4gIGFyZ3VtZW50czogdHJ1ZSxcbiAgYXJpdHk6IHRydWVcbn07XG52YXIgRk9SV0FSRF9SRUZfU1RBVElDUyA9IHtcbiAgJyQkdHlwZW9mJzogdHJ1ZSxcbiAgcmVuZGVyOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWVcbn07XG52YXIgTUVNT19TVEFUSUNTID0ge1xuICAnJCR0eXBlb2YnOiB0cnVlLFxuICBjb21wYXJlOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWUsXG4gIHR5cGU6IHRydWVcbn07XG52YXIgVFlQRV9TVEFUSUNTID0ge307XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5Gb3J3YXJkUmVmXSA9IEZPUldBUkRfUkVGX1NUQVRJQ1M7XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5NZW1vXSA9IE1FTU9fU1RBVElDUztcblxuZnVuY3Rpb24gZ2V0U3RhdGljcyhjb21wb25lbnQpIHtcbiAgLy8gUmVhY3QgdjE2LjExIGFuZCBiZWxvd1xuICBpZiAocmVhY3RJcy5pc01lbW8oY29tcG9uZW50KSkge1xuICAgIHJldHVybiBNRU1PX1NUQVRJQ1M7XG4gIH0gLy8gUmVhY3QgdjE2LjEyIGFuZCBhYm92ZVxuXG5cbiAgcmV0dXJuIFRZUEVfU1RBVElDU1tjb21wb25lbnRbJyQkdHlwZW9mJ11dIHx8IFJFQUNUX1NUQVRJQ1M7XG59XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBnZXRPd25Qcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIG9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG5mdW5jdGlvbiBob2lzdE5vblJlYWN0U3RhdGljcyh0YXJnZXRDb21wb25lbnQsIHNvdXJjZUNvbXBvbmVudCwgYmxhY2tsaXN0KSB7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29tcG9uZW50ICE9PSAnc3RyaW5nJykge1xuICAgIC8vIGRvbid0IGhvaXN0IG92ZXIgc3RyaW5nIChodG1sKSBjb21wb25lbnRzXG4gICAgaWYgKG9iamVjdFByb3RvdHlwZSkge1xuICAgICAgdmFyIGluaGVyaXRlZENvbXBvbmVudCA9IGdldFByb3RvdHlwZU9mKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICAgIGlmIChpbmhlcml0ZWRDb21wb25lbnQgJiYgaW5oZXJpdGVkQ29tcG9uZW50ICE9PSBvYmplY3RQcm90b3R5cGUpIHtcbiAgICAgICAgaG9pc3ROb25SZWFjdFN0YXRpY3ModGFyZ2V0Q29tcG9uZW50LCBpbmhlcml0ZWRDb21wb25lbnQsIGJsYWNrbGlzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGtleXMgPSBnZXRPd25Qcm9wZXJ0eU5hbWVzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICBpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICBrZXlzID0ga2V5cy5jb25jYXQoZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZUNvbXBvbmVudCkpO1xuICAgIH1cblxuICAgIHZhciB0YXJnZXRTdGF0aWNzID0gZ2V0U3RhdGljcyh0YXJnZXRDb21wb25lbnQpO1xuICAgIHZhciBzb3VyY2VTdGF0aWNzID0gZ2V0U3RhdGljcyhzb3VyY2VDb21wb25lbnQpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgKytpKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKCFLTk9XTl9TVEFUSUNTW2tleV0gJiYgIShibGFja2xpc3QgJiYgYmxhY2tsaXN0W2tleV0pICYmICEoc291cmNlU3RhdGljcyAmJiBzb3VyY2VTdGF0aWNzW2tleV0pICYmICEodGFyZ2V0U3RhdGljcyAmJiB0YXJnZXRTdGF0aWNzW2tleV0pKSB7XG4gICAgICAgIHZhciBkZXNjcmlwdG9yID0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZUNvbXBvbmVudCwga2V5KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEF2b2lkIGZhaWx1cmVzIGZyb20gcmVhZC1vbmx5IHByb3BlcnRpZXNcbiAgICAgICAgICBkZWZpbmVQcm9wZXJ0eSh0YXJnZXRDb21wb25lbnQsIGtleSwgZGVzY3JpcHRvcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldENvbXBvbmVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBob2lzdE5vblJlYWN0U3RhdGljcztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/Icon.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/Icon.js ***!
|
||
\****************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Icon; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultAttributes.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/defaultAttributes.js\");\n/* harmony import */ var _shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \n\n\nconst Icon = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(_c = (param, ref)=>{\n let { color = \"currentColor\", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = \"\", children, iconNode, ...rest } = param;\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(\"svg\", {\n ref,\n ..._defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"lucide\", className),\n ...rest\n }, [\n ...iconNode.map((param)=>{\n let [tag, attrs] = param;\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(tag, attrs);\n }),\n ...Array.isArray(children) ? children : [\n children\n ]\n ]);\n});\n_c1 = Icon;\n //# sourceMappingURL=Icon.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Icon$forwardRef\");\n$RefreshReg$(_c1, \"Icon\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLE1BQU1BLHFCQUFPQyxpREFBVUEsTUFDckIsUUFXRUM7UUFWQSxFQUNFQyxRQUFRLGdCQUNSQyxPQUFPLElBQ1BDLGNBQWMsR0FDZEMsbUJBQUEsRUFDQUMsWUFBWSxJQUNaQyxRQUFBLEVBQ0FDLFFBQUEsRUFDQSxHQUFHQyxNQUFBO0lBSUUscUJBQUFDLG9EQUFhQSxDQUNsQixPQUNBO1FBQ0VUO1FBQ0EsR0FBR1UsNkRBQUE7UUFDSEMsT0FBT1Q7UUFDUFUsUUFBUVY7UUFDUlcsUUFBUVo7UUFDUkUsYUFBYUMsc0JBQXVCVSxPQUFPWCxlQUFlLEtBQU1XLE9BQU9aLFFBQVFDO1FBQy9FRSxXQUFXVSxrRUFBWUEsQ0FBQyxVQUFVVjtRQUNsQyxHQUFHRyxJQUFBO0lBQ0wsR0FDQTtXQUNLRCxTQUFTUyxHQUFBLENBQUk7Z0JBQUMsQ0FBQ0MsS0FBS0MsTUFBVztpQ0FBQVQsb0RBQWFBLENBQUNRLEtBQUtDOztXQUNqREMsTUFBTUMsT0FBQSxDQUFRZCxZQUFZQSxXQUFXO1lBQUNBO1NBQVE7S0FDcEQ7QUFFSiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL0ljb24udHM/YWRhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlZmF1bHRBdHRyaWJ1dGVzIGZyb20gJy4vZGVmYXVsdEF0dHJpYnV0ZXMnO1xuaW1wb3J0IHsgSWNvbk5vZGUsIEx1Y2lkZVByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBtZXJnZUNsYXNzZXMgfSBmcm9tICdAbHVjaWRlL3NoYXJlZCc7XG5cbmludGVyZmFjZSBJY29uQ29tcG9uZW50UHJvcHMgZXh0ZW5kcyBMdWNpZGVQcm9wcyB7XG4gIGljb25Ob2RlOiBJY29uTm9kZTtcbn1cblxuLyoqXG4gKiBMdWNpZGUgaWNvbiBjb21wb25lbnRcbiAqXG4gKiBAY29tcG9uZW50IEljb25cbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IHByb3BzLmNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBpY29uXG4gKiBAcGFyYW0ge251bWJlcn0gcHJvcHMuc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBpY29uXG4gKiBAcGFyYW0ge251bWJlcn0gcHJvcHMuc3Ryb2tlV2lkdGggLSBUaGUgc3Ryb2tlIHdpZHRoIG9mIHRoZSBpY29uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHByb3BzLmFic29sdXRlU3Ryb2tlV2lkdGggLSBXaGV0aGVyIHRvIHVzZSBhYnNvbHV0ZSBzdHJva2Ugd2lkdGhcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wcy5jbGFzc05hbWUgLSBUaGUgY2xhc3MgbmFtZSBvZiB0aGUgaWNvblxuICogQHBhcmFtIHtJY29uTm9kZX0gcHJvcHMuY2hpbGRyZW4gLSBUaGUgY2hpbGRyZW4gb2YgdGhlIGljb25cbiAqIEBwYXJhbSB7SWNvbk5vZGV9IHByb3BzLmljb25Ob2RlIC0gVGhlIGljb24gbm9kZSBvZiB0aGUgaWNvblxuICpcbiAqIEByZXR1cm5zIHtGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50fSBMdWNpZGVJY29uXG4gKi9cbmNvbnN0IEljb24gPSBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIEljb25Db21wb25lbnRQcm9wcz4oXG4gIChcbiAgICB7XG4gICAgICBjb2xvciA9ICdjdXJyZW50Q29sb3InLFxuICAgICAgc2l6ZSA9IDI0LFxuICAgICAgc3Ryb2tlV2lkdGggPSAyLFxuICAgICAgYWJzb2x1dGVTdHJva2VXaWR0aCxcbiAgICAgIGNsYXNzTmFtZSA9ICcnLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBpY29uTm9kZSxcbiAgICAgIC4uLnJlc3RcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAnc3ZnJyxcbiAgICAgIHtcbiAgICAgICAgcmVmLFxuICAgICAgICAuLi5kZWZhdWx0QXR0cmlidXRlcyxcbiAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgICAgc3Ryb2tlOiBjb2xvcixcbiAgICAgICAgc3Ryb2tlV2lkdGg6IGFic29sdXRlU3Ryb2tlV2lkdGggPyAoTnVtYmVyKHN0cm9rZVdpZHRoKSAqIDI0KSAvIE51bWJlcihzaXplKSA6IHN0cm9rZVdpZHRoLFxuICAgICAgICBjbGFzc05hbWU6IG1lcmdlQ2xhc3NlcygnbHVjaWRlJywgY2xhc3NOYW1lKSxcbiAgICAgICAgLi4ucmVzdCxcbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIC4uLmljb25Ob2RlLm1hcCgoW3RhZywgYXR0cnNdKSA9PiBjcmVhdGVFbGVtZW50KHRhZywgYXR0cnMpKSxcbiAgICAgICAgLi4uKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4gOiBbY2hpbGRyZW5dKSxcbiAgICAgIF0sXG4gICAgKTtcbiAgfSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IEljb247XG4iXSwibmFtZXMiOlsiSWNvbiIsImZvcndhcmRSZWYiLCJyZWYiLCJjb2xvciIsInNpemUiLCJzdHJva2VXaWR0aCIsImFic29sdXRlU3Ryb2tlV2lkdGgiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImljb25Ob2RlIiwicmVzdCIsImNyZWF0ZUVsZW1lbnQiLCJkZWZhdWx0QXR0cmlidXRlcyIsIndpZHRoIiwiaGVpZ2h0Iiwic3Ryb2tlIiwiTnVtYmVyIiwibWVyZ2VDbGFzc2VzIiwibWFwIiwidGFnIiwiYXR0cnMiLCJBcnJheSIsImlzQXJyYXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/Icon.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/createLucideIcon.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ createLucideIcon; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils.js\");\n/* harmony import */ var _Icon_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/Icon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \n\n\nconst createLucideIcon = (iconName, iconNode)=>{\n const Component = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((param, ref)=>{\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_Icon_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n ref,\n iconNode,\n className: (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"lucide-\".concat((0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.toKebabCase)(iconName)), className),\n ...props\n });\n });\n Component.displayName = \"\".concat(iconName);\n return Component;\n};\n //# sourceMappingURL=createLucideIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vY3JlYXRlTHVjaWRlSWNvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBV00sTUFBQUEsbUJBQW1CLENBQUNDLFVBQWtCQztJQUMxQyxNQUFNQywwQkFBWUMsaURBQVVBLENBQTZCLFFBQTBCQztZQUF6QixFQUFFQyxTQUFXLEtBQUdDLE9BQVM7NkJBQ2pGQyxvREFBYUEsQ0FBQ0MsZ0RBQUlBLEVBQUU7WUFDbEJKO1lBQ0FIO1lBQ0FJLFdBQVdJLGtFQUFZQSxDQUFDLFVBQStCLE9BQXJCQyxpRUFBV0EsQ0FBQ1YsWUFBYUs7WUFDM0QsR0FBR0MsS0FBQTtRQUFBOztJQUlHSixVQUFBUyxXQUFBLEdBQWMsR0FBVyxPQUFSWDtJQUVwQixPQUFBRTtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY3JlYXRlTHVjaWRlSWNvbi50cz8wNDg4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUVsZW1lbnQsIGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBtZXJnZUNsYXNzZXMsIHRvS2ViYWJDYXNlIH0gZnJvbSAnQGx1Y2lkZS9zaGFyZWQnO1xuaW1wb3J0IHsgSWNvbk5vZGUsIEx1Y2lkZVByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgSWNvbiBmcm9tICcuL0ljb24nO1xuXG4vKipcbiAqIENyZWF0ZSBhIEx1Y2lkZSBpY29uIGNvbXBvbmVudFxuICogQHBhcmFtIHtzdHJpbmd9IGljb25OYW1lXG4gKiBAcGFyYW0ge2FycmF5fSBpY29uTm9kZVxuICogQHJldHVybnMge0ZvcndhcmRSZWZFeG90aWNDb21wb25lbnR9IEx1Y2lkZUljb25cbiAqL1xuY29uc3QgY3JlYXRlTHVjaWRlSWNvbiA9IChpY29uTmFtZTogc3RyaW5nLCBpY29uTm9kZTogSWNvbk5vZGUpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50ID0gZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBMdWNpZGVQcm9wcz4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+XG4gICAgY3JlYXRlRWxlbWVudChJY29uLCB7XG4gICAgICByZWYsXG4gICAgICBpY29uTm9kZSxcbiAgICAgIGNsYXNzTmFtZTogbWVyZ2VDbGFzc2VzKGBsdWNpZGUtJHt0b0tlYmFiQ2FzZShpY29uTmFtZSl9YCwgY2xhc3NOYW1lKSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pLFxuICApO1xuXG4gIENvbXBvbmVudC5kaXNwbGF5TmFtZSA9IGAke2ljb25OYW1lfWA7XG5cbiAgcmV0dXJuIENvbXBvbmVudDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUx1Y2lkZUljb247XG4iXSwibmFtZXMiOlsiY3JlYXRlTHVjaWRlSWNvbiIsImljb25OYW1lIiwiaWNvbk5vZGUiLCJDb21wb25lbnQiLCJmb3J3YXJkUmVmIiwicmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiSWNvbiIsIm1lcmdlQ2xhc3NlcyIsInRvS2ViYWJDYXNlIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/defaultAttributes.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/defaultAttributes.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ defaultAttributes; }\n/* harmony export */ });\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ var defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n //# sourceMappingURL=defaultAttributes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vZGVmYXVsdEF0dHJpYnV0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsSUFBZUEsb0JBQUE7SUFDYkMsT0FBTztJQUNQQyxPQUFPO0lBQ1BDLFFBQVE7SUFDUkMsU0FBUztJQUNUQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsYUFBYTtJQUNiQyxlQUFlO0lBQ2ZDLGdCQUFnQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2RlZmF1bHRBdHRyaWJ1dGVzLnRzPzM3MGMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICB4bWxuczogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgd2lkdGg6IDI0LFxuICBoZWlnaHQ6IDI0LFxuICB2aWV3Qm94OiAnMCAwIDI0IDI0JyxcbiAgZmlsbDogJ25vbmUnLFxuICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICBzdHJva2VXaWR0aDogMixcbiAgc3Ryb2tlTGluZWNhcDogJ3JvdW5kJyxcbiAgc3Ryb2tlTGluZWpvaW46ICdyb3VuZCcsXG59O1xuIl0sIm5hbWVzIjpbImRlZmF1bHRBdHRyaWJ1dGVzIiwieG1sbnMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/defaultAttributes.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/bell.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/bell.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Bell; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Bell = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Bell\", [\n [\n \"path\",\n {\n d: \"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\",\n key: \"1qo2s2\"\n }\n ],\n [\n \"path\",\n {\n d: \"M10.3 21a1.94 1.94 0 0 0 3.4 0\",\n key: \"qgo35s\"\n }\n ]\n]);\n //# sourceMappingURL=bell.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvYmVsbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLE9BQU9DLGdFQUFnQkEsQ0FBQyxRQUFRO0lBQ3BDO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQTZDQyxLQUFLO1FBQUE7S0FBVTtJQUMxRTtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFrQ0MsS0FBSztRQUFBO0tBQVU7Q0FDaEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9pY29ucy9iZWxsLnRzPzE0MzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBCZWxsXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5OaUE0WVRZZ05pQXdJREFnTVNBeE1pQXdZekFnTnlBeklEa2dNeUE1U0ROek15MHlJRE10T1NJZ0x6NEtJQ0E4Y0dGMGFDQmtQU0pOTVRBdU15QXlNV0V4TGprMElERXVPVFFnTUNBd0lEQWdNeTQwSURBaUlDOCtDand2YzNablBnbz0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2JlbGxcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBCZWxsID0gY3JlYXRlTHVjaWRlSWNvbignQmVsbCcsIFtcbiAgWydwYXRoJywgeyBkOiAnTTYgOGE2IDYgMCAwIDEgMTIgMGMwIDcgMyA5IDMgOUgzczMtMiAzLTknLCBrZXk6ICcxcW8yczInIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMTAuMyAyMWExLjk0IDEuOTQgMCAwIDAgMy40IDAnLCBrZXk6ICdxZ28zNXMnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IEJlbGw7XG4iXSwibmFtZXMiOlsiQmVsbCIsImNyZWF0ZUx1Y2lkZUljb24iLCJkIiwia2V5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/bell.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/building-2.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/building-2.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Building2; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Building2 = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Building2\", [\n [\n \"path\",\n {\n d: \"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z\",\n key: \"1b4qmf\"\n }\n ],\n [\n \"path\",\n {\n d: \"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2\",\n key: \"i71pzd\"\n }\n ],\n [\n \"path\",\n {\n d: \"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2\",\n key: \"10jefs\"\n }\n ],\n [\n \"path\",\n {\n d: \"M10 6h4\",\n key: \"1itunk\"\n }\n ],\n [\n \"path\",\n {\n d: \"M10 10h4\",\n key: \"tcdvrf\"\n }\n ],\n [\n \"path\",\n {\n d: \"M10 14h4\",\n key: \"kelpxr\"\n }\n ],\n [\n \"path\",\n {\n d: \"M10 18h4\",\n key: \"1ulq68\"\n }\n ]\n]);\n //# sourceMappingURL=building-2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvYnVpbGRpbmctMi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLFlBQVlDLGdFQUFnQkEsQ0FBQyxhQUFhO0lBQzlDO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQTZDQyxLQUFLO1FBQUE7S0FBVTtJQUMxRTtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUEyQ0MsS0FBSztRQUFBO0tBQVU7SUFDeEU7UUFBQztRQUFRO1lBQUVELEdBQUc7WUFBNENDLEtBQUs7UUFBQTtLQUFVO0lBQ3pFO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQVdDLEtBQUs7UUFBQTtLQUFVO0lBQ3hDO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQVlDLEtBQUs7UUFBQTtLQUFVO0lBQ3pDO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQVlDLEtBQUs7UUFBQTtLQUFVO0lBQ3pDO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQVlDLEtBQUs7UUFBQTtLQUFVO0NBQzFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvaWNvbnMvYnVpbGRpbmctMi50cz84MTNhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgQnVpbGRpbmcyXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5OaUF5TWxZMFlUSWdNaUF3SURBZ01TQXlMVEpvT0dFeUlESWdNQ0F3SURFZ01pQXlkakU0V2lJZ0x6NEtJQ0E4Y0dGMGFDQmtQU0pOTmlBeE1rZzBZVElnTWlBd0lEQWdNQzB5SURKMk5tRXlJRElnTUNBd0lEQWdNaUF5YURJaUlDOCtDaUFnUEhCaGRHZ2daRDBpVFRFNElEbG9NbUV5SURJZ01DQXdJREVnTWlBeWRqbGhNaUF5SURBZ01DQXhMVElnTW1ndE1pSWdMejRLSUNBOGNHRjBhQ0JrUFNKTk1UQWdObWcwSWlBdlBnb2dJRHh3WVhSb0lHUTlJazB4TUNBeE1HZzBJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMHhNQ0F4TkdnMElpQXZQZ29nSUR4d1lYUm9JR1E5SWsweE1DQXhPR2cwSWlBdlBnbzhMM04yWno0SykgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvYnVpbGRpbmctMlxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IEJ1aWxkaW5nMiA9IGNyZWF0ZUx1Y2lkZUljb24oJ0J1aWxkaW5nMicsIFtcbiAgWydwYXRoJywgeyBkOiAnTTYgMjJWNGEyIDIgMCAwIDEgMi0yaDhhMiAyIDAgMCAxIDIgMnYxOFonLCBrZXk6ICcxYjRxbWYnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNNiAxMkg0YTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyaDInLCBrZXk6ICdpNzFwemQnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMTggOWgyYTIgMiAwIDAgMSAyIDJ2OWEyIDIgMCAwIDEtMiAyaC0yJywga2V5OiAnMTBqZWZzJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTEwIDZoNCcsIGtleTogJzFpdHVuaycgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xMCAxMGg0Jywga2V5OiAndGNkdnJmJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTEwIDE0aDQnLCBrZXk6ICdrZWxweHInIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMTAgMThoNCcsIGtleTogJzF1bHE2OCcgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgQnVpbGRpbmcyO1xuIl0sIm5hbWVzIjpbIkJ1aWxkaW5nMiIsImNyZWF0ZUx1Y2lkZUljb24iLCJkIiwia2V5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/building-2.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/circle-check.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/circle-check.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ CircleCheck; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst CircleCheck = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"CircleCheck\", [\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n key: \"1mglay\"\n }\n ],\n [\n \"path\",\n {\n d: \"m9 12 2 2 4-4\",\n key: \"dzmm74\"\n }\n ]\n]);\n //# sourceMappingURL=circle-check.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sTUFBQUEsY0FBY0MsZ0VBQWdCQSxDQUFDLGVBQWU7SUFDbEQ7UUFBQztRQUFVO1lBQUVDLElBQUk7WUFBTUMsSUFBSTtZQUFNQyxHQUFHO1lBQU1DLEtBQUs7UUFBQTtLQUFVO0lBQ3pEO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQWlCRCxLQUFLO1FBQUE7S0FBVTtDQUMvQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL2NpcmNsZS1jaGVjay50cz80YWQ2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgQ2lyY2xlQ2hlY2tcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOFkybHlZMnhsSUdONFBTSXhNaUlnWTNrOUlqRXlJaUJ5UFNJeE1DSWdMejRLSUNBOGNHRjBhQ0JrUFNKdE9TQXhNaUF5SURJZ05DMDBJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9jaXJjbGUtY2hlY2tcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBDaXJjbGVDaGVjayA9IGNyZWF0ZUx1Y2lkZUljb24oJ0NpcmNsZUNoZWNrJywgW1xuICBbJ2NpcmNsZScsIHsgY3g6ICcxMicsIGN5OiAnMTInLCByOiAnMTAnLCBrZXk6ICcxbWdsYXknIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdtOSAxMiAyIDIgNC00Jywga2V5OiAnZHptbTc0JyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBDaXJjbGVDaGVjaztcbiJdLCJuYW1lcyI6WyJDaXJjbGVDaGVjayIsImNyZWF0ZUx1Y2lkZUljb24iLCJjeCIsImN5IiwiciIsImtleSIsImQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/credit-card.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/credit-card.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ CreditCard; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst CreditCard = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"CreditCard\", [\n [\n \"rect\",\n {\n width: \"20\",\n height: \"14\",\n x: \"2\",\n y: \"5\",\n rx: \"2\",\n key: \"ynyp8z\"\n }\n ],\n [\n \"line\",\n {\n x1: \"2\",\n x2: \"22\",\n y1: \"10\",\n y2: \"10\",\n key: \"1b3vmo\"\n }\n ]\n]);\n //# sourceMappingURL=credit-card.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvY3JlZGl0LWNhcmQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxNQUFBQSxhQUFhQyxnRUFBZ0JBLENBQUMsY0FBYztJQUNoRDtRQUFDO1FBQVE7WUFBRUMsT0FBTztZQUFNQyxRQUFRO1lBQU1DLEdBQUc7WUFBS0MsR0FBRztZQUFLQyxJQUFJO1lBQUtDLEtBQUs7UUFBQTtLQUFVO0lBQzlFO1FBQUM7UUFBUTtZQUFFQyxJQUFJO1lBQUtDLElBQUk7WUFBTUMsSUFBSTtZQUFNQyxJQUFJO1lBQU1KLEtBQUs7UUFBQTtLQUFVO0NBQ2xFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvaWNvbnMvY3JlZGl0LWNhcmQudHM/NmVmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIENyZWRpdENhcmRcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNtVmpkQ0IzYVdSMGFEMGlNakFpSUdobGFXZG9kRDBpTVRRaUlIZzlJaklpSUhrOUlqVWlJSEo0UFNJeUlpQXZQZ29nSUR4c2FXNWxJSGd4UFNJeUlpQjRNajBpTWpJaUlIa3hQU0l4TUNJZ2VUSTlJakV3SWlBdlBnbzhMM04yWno0SykgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvY3JlZGl0LWNhcmRcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBDcmVkaXRDYXJkID0gY3JlYXRlTHVjaWRlSWNvbignQ3JlZGl0Q2FyZCcsIFtcbiAgWydyZWN0JywgeyB3aWR0aDogJzIwJywgaGVpZ2h0OiAnMTQnLCB4OiAnMicsIHk6ICc1Jywgcng6ICcyJywga2V5OiAneW55cDh6JyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzInLCB4MjogJzIyJywgeTE6ICcxMCcsIHkyOiAnMTAnLCBrZXk6ICcxYjN2bW8nIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImNyZWF0ZUx1Y2lkZUljb24iLCJ3aWR0aCIsImhlaWdodCIsIngiLCJ5IiwicngiLCJrZXkiLCJ4MSIsIngyIiwieTEiLCJ5MiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/credit-card.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/download.js":
|
||
/*!**************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/download.js ***!
|
||
\**************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Download; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Download = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Download\", [\n [\n \"path\",\n {\n d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\",\n key: \"ih7n3h\"\n }\n ],\n [\n \"polyline\",\n {\n points: \"7 10 12 15 17 10\",\n key: \"2ggqvy\"\n }\n ],\n [\n \"line\",\n {\n x1: \"12\",\n x2: \"12\",\n y1: \"15\",\n y2: \"3\",\n key: \"1vk2je\"\n }\n ]\n]);\n //# sourceMappingURL=download.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvZG93bmxvYWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxNQUFBQSxXQUFXQyxnRUFBZ0JBLENBQUMsWUFBWTtJQUM1QztRQUFDO1FBQVE7WUFBRUMsR0FBRztZQUE2Q0MsS0FBSztRQUFBO0tBQVU7SUFDMUU7UUFBQztRQUFZO1lBQUVDLFFBQVE7WUFBb0JELEtBQUs7UUFBQTtLQUFVO0lBQzFEO1FBQUM7UUFBUTtZQUFFRSxJQUFJO1lBQU1DLElBQUk7WUFBTUMsSUFBSTtZQUFNQyxJQUFJO1lBQUtMLEtBQUs7UUFBQTtLQUFVO0NBQ2xFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvaWNvbnMvZG93bmxvYWQudHM/N2EzZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIERvd25sb2FkXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5NakVnTVRWMk5HRXlJRElnTUNBd0lERXRNaUF5U0RWaE1pQXlJREFnTUNBeExUSXRNbll0TkNJZ0x6NEtJQ0E4Y0c5c2VXeHBibVVnY0c5cGJuUnpQU0kzSURFd0lERXlJREUxSURFM0lERXdJaUF2UGdvZ0lEeHNhVzVsSUhneFBTSXhNaUlnZURJOUlqRXlJaUI1TVQwaU1UVWlJSGt5UFNJeklpQXZQZ284TDNOMlp6NEspIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2Rvd25sb2FkXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgRG93bmxvYWQgPSBjcmVhdGVMdWNpZGVJY29uKCdEb3dubG9hZCcsIFtcbiAgWydwYXRoJywgeyBkOiAnTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQnLCBrZXk6ICdpaDduM2gnIH1dLFxuICBbJ3BvbHlsaW5lJywgeyBwb2ludHM6ICc3IDEwIDEyIDE1IDE3IDEwJywga2V5OiAnMmdncXZ5JyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzEyJywgeDI6ICcxMicsIHkxOiAnMTUnLCB5MjogJzMnLCBrZXk6ICcxdmsyamUnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IERvd25sb2FkO1xuIl0sIm5hbWVzIjpbIkRvd25sb2FkIiwiY3JlYXRlTHVjaWRlSWNvbiIsImQiLCJrZXkiLCJwb2ludHMiLCJ4MSIsIngyIiwieTEiLCJ5MiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/download.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/eye.js":
|
||
/*!*********************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/eye.js ***!
|
||
\*********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Eye; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Eye = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Eye\", [\n [\n \"path\",\n {\n d: \"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z\",\n key: \"rwhkz3\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n key: \"1v7zrd\"\n }\n ]\n]);\n //# sourceMappingURL=eye.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvZXllLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sTUFBQUEsTUFBTUMsZ0VBQWdCQSxDQUFDLE9BQU87SUFDbEM7UUFBQztRQUFRO1lBQUVDLEdBQUc7WUFBZ0RDLEtBQUs7UUFBQTtLQUFVO0lBQzdFO1FBQUM7UUFBVTtZQUFFQyxJQUFJO1lBQU1DLElBQUk7WUFBTUMsR0FBRztZQUFLSCxLQUFLO1FBQUE7S0FBVTtDQUN6RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL2V5ZS50cz84Y2I4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgRXllXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5NaUF4TW5NekxUY2dNVEF0TnlBeE1DQTNJREV3SURjdE15QTNMVEV3SURjdE1UQXROeTB4TUMwM1dpSWdMejRLSUNBOFkybHlZMnhsSUdONFBTSXhNaUlnWTNrOUlqRXlJaUJ5UFNJeklpQXZQZ284TDNOMlp6NEspIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2V5ZVxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IEV5ZSA9IGNyZWF0ZUx1Y2lkZUljb24oJ0V5ZScsIFtcbiAgWydwYXRoJywgeyBkOiAnTTIgMTJzMy03IDEwLTcgMTAgNyAxMCA3LTMgNy0xMCA3LTEwLTctMTAtN1onLCBrZXk6ICdyd2hrejMnIH1dLFxuICBbJ2NpcmNsZScsIHsgY3g6ICcxMicsIGN5OiAnMTInLCByOiAnMycsIGtleTogJzF2N3pyZCcgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgRXllO1xuIl0sIm5hbWVzIjpbIkV5ZSIsImNyZWF0ZUx1Y2lkZUljb24iLCJkIiwia2V5IiwiY3giLCJjeSIsInIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/eye.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/file-text.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/file-text.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ FileText; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst FileText = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"FileText\", [\n [\n \"path\",\n {\n d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\",\n key: \"1rqfz7\"\n }\n ],\n [\n \"path\",\n {\n d: \"M14 2v4a2 2 0 0 0 2 2h4\",\n key: \"tnqrlb\"\n }\n ],\n [\n \"path\",\n {\n d: \"M10 9H8\",\n key: \"b1mrlr\"\n }\n ],\n [\n \"path\",\n {\n d: \"M16 13H8\",\n key: \"t4e002\"\n }\n ],\n [\n \"path\",\n {\n d: \"M16 17H8\",\n key: \"z1uh3a\"\n }\n ]\n]);\n //# sourceMappingURL=file-text.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvZmlsZS10ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sTUFBQUEsV0FBV0MsZ0VBQWdCQSxDQUFDLFlBQVk7SUFDNUM7UUFBQztRQUFRO1lBQUVDLEdBQUc7WUFBOERDLEtBQUs7UUFBQTtLQUFVO0lBQzNGO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQTJCQyxLQUFLO1FBQUE7S0FBVTtJQUN4RDtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFXQyxLQUFLO1FBQUE7S0FBVTtJQUN4QztRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFZQyxLQUFLO1FBQUE7S0FBVTtJQUN6QztRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFZQyxLQUFLO1FBQUE7S0FBVTtDQUMxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL2ZpbGUtdGV4dC50cz9mZjNlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgRmlsZVRleHRcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1UVWdNa2cyWVRJZ01pQXdJREFnTUMweUlESjJNVFpoTWlBeUlEQWdNQ0F3SURJZ01tZ3hNbUV5SURJZ01DQXdJREFnTWkweVZqZGFJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMHhOQ0F5ZGpSaE1pQXlJREFnTUNBd0lESWdNbWcwSWlBdlBnb2dJRHh3WVhSb0lHUTlJazB4TUNBNVNEZ2lJQzgrQ2lBZ1BIQmhkR2dnWkQwaVRURTJJREV6U0RnaUlDOCtDaUFnUEhCaGRHZ2daRDBpVFRFMklERTNTRGdpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvZmlsZS10ZXh0XG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgRmlsZVRleHQgPSBjcmVhdGVMdWNpZGVJY29uKCdGaWxlVGV4dCcsIFtcbiAgWydwYXRoJywgeyBkOiAnTTE1IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY3WicsIGtleTogJzFycWZ6NycgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xNCAydjRhMiAyIDAgMCAwIDIgMmg0Jywga2V5OiAndG5xcmxiJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTEwIDlIOCcsIGtleTogJ2IxbXJscicgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xNiAxM0g4Jywga2V5OiAndDRlMDAyJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTE2IDE3SDgnLCBrZXk6ICd6MXVoM2EnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVUZXh0O1xuIl0sIm5hbWVzIjpbIkZpbGVUZXh0IiwiY3JlYXRlTHVjaWRlSWNvbiIsImQiLCJrZXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/file-text.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/package.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/package.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Package; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Package = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Package\", [\n [\n \"path\",\n {\n d: \"m7.5 4.27 9 5.15\",\n key: \"1c824w\"\n }\n ],\n [\n \"path\",\n {\n d: \"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\",\n key: \"hh9hay\"\n }\n ],\n [\n \"path\",\n {\n d: \"m3.3 7 8.7 5 8.7-5\",\n key: \"g66t2b\"\n }\n ],\n [\n \"path\",\n {\n d: \"M12 22V12\",\n key: \"d0xqtd\"\n }\n ]\n]);\n //# sourceMappingURL=package.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvcGFja2FnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLFVBQVVDLGdFQUFnQkEsQ0FBQyxXQUFXO0lBQzFDO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQW9CQyxLQUFLO1FBQUE7S0FBVTtJQUNqRDtRQUNFO1FBQ0E7WUFDRUQsR0FBRztZQUNIQyxLQUFLO1FBQ1A7S0FDRjtJQUNBO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQXNCQyxLQUFLO1FBQUE7S0FBVTtJQUNuRDtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFhQyxLQUFLO1FBQUE7S0FBVTtDQUMzQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL3BhY2thZ2UudHM/NDM3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIFBhY2thZ2VcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKdE55NDFJRFF1TWpjZ09TQTFMakUxSWlBdlBnb2dJRHh3WVhSb0lHUTlJazB5TVNBNFlUSWdNaUF3SURBZ01DMHhMVEV1TnpOc0xUY3ROR0V5SURJZ01DQXdJREF0TWlBd2JDMDNJRFJCTWlBeUlEQWdNQ0F3SURNZ09IWTRZVElnTWlBd0lEQWdNQ0F4SURFdU56TnNOeUEwWVRJZ01pQXdJREFnTUNBeUlEQnNOeTAwUVRJZ01pQXdJREFnTUNBeU1TQXhObG9pSUM4K0NpQWdQSEJoZEdnZ1pEMGliVE11TXlBM0lEZ3VOeUExSURndU55MDFJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMHhNaUF5TWxZeE1pSWdMejRLUEM5emRtYytDZz09KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9wYWNrYWdlXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgUGFja2FnZSA9IGNyZWF0ZUx1Y2lkZUljb24oJ1BhY2thZ2UnLCBbXG4gIFsncGF0aCcsIHsgZDogJ203LjUgNC4yNyA5IDUuMTUnLCBrZXk6ICcxYzgyNHcnIH1dLFxuICBbXG4gICAgJ3BhdGgnLFxuICAgIHtcbiAgICAgIGQ6ICdNMjEgOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZaJyxcbiAgICAgIGtleTogJ2hoOWhheScsXG4gICAgfSxcbiAgXSxcbiAgWydwYXRoJywgeyBkOiAnbTMuMyA3IDguNyA1IDguNy01Jywga2V5OiAnZzY2dDJiJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTEyIDIyVjEyJywga2V5OiAnZDB4cXRkJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBQYWNrYWdlO1xuIl0sIm5hbWVzIjpbIlBhY2thZ2UiLCJjcmVhdGVMdWNpZGVJY29uIiwiZCIsImtleSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/package.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/pencil.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/pencil.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Pencil; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Pencil = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Pencil\", [\n [\n \"path\",\n {\n d: \"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\",\n key: \"1a8usu\"\n }\n ],\n [\n \"path\",\n {\n d: \"m15 5 4 4\",\n key: \"1mk7zo\"\n }\n ]\n]);\n //# sourceMappingURL=pencil.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvcGVuY2lsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sTUFBQUEsU0FBU0MsZ0VBQWdCQSxDQUFDLFVBQVU7SUFDeEM7UUFDRTtRQUNBO1lBQ0VDLEdBQUc7WUFDSEMsS0FBSztRQUNQO0tBQ0Y7SUFDQTtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFhQyxLQUFLO1FBQUE7S0FBVTtDQUMzQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL3BlbmNpbC50cz8zYzkxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgUGVuY2lsXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5NakV1TVRjMElEWXVPREV5WVRFZ01TQXdJREFnTUMwekxqazROaTB6TGprNE4wd3pMamcwTWlBeE5pNHhOelJoTWlBeUlEQWdNQ0F3TFM0MUxqZ3piQzB4TGpNeU1TQTBMak0xTW1FdU5TNDFJREFnTUNBd0lDNDJNak11TmpJeWJEUXVNelV6TFRFdU16SmhNaUF5SURBZ01DQXdJQzQ0TXkwdU5EazNlaUlnTHo0S0lDQThjR0YwYUNCa1BTSnRNVFVnTlNBMElEUWlJQzgrQ2p3dmMzWm5QZ289KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9wZW5jaWxcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBQZW5jaWwgPSBjcmVhdGVMdWNpZGVJY29uKCdQZW5jaWwnLCBbXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ00yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6JyxcbiAgICAgIGtleTogJzFhOHVzdScsXG4gICAgfSxcbiAgXSxcbiAgWydwYXRoJywgeyBkOiAnbTE1IDUgNCA0Jywga2V5OiAnMW1rN3pvJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBQZW5jaWw7XG4iXSwibmFtZXMiOlsiUGVuY2lsIiwiY3JlYXRlTHVjaWRlSWNvbiIsImQiLCJrZXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/pencil.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/plus.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/plus.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Plus; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Plus = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Plus\", [\n [\n \"path\",\n {\n d: \"M5 12h14\",\n key: \"1ays0h\"\n }\n ],\n [\n \"path\",\n {\n d: \"M12 5v14\",\n key: \"s699le\"\n }\n ]\n]);\n //# sourceMappingURL=plus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvcGx1cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLE9BQU9DLGdFQUFnQkEsQ0FBQyxRQUFRO0lBQ3BDO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQVlDLEtBQUs7UUFBQTtLQUFVO0lBQ3pDO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQVlDLEtBQUs7UUFBQTtLQUFVO0NBQzFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvaWNvbnMvcGx1cy50cz81MTk2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgUGx1c1xuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTlNBeE1tZ3hOQ0lnTHo0S0lDQThjR0YwYUNCa1BTSk5NVElnTlhZeE5DSWdMejRLUEM5emRtYytDZz09KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9wbHVzXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgUGx1cyA9IGNyZWF0ZUx1Y2lkZUljb24oJ1BsdXMnLCBbXG4gIFsncGF0aCcsIHsgZDogJ001IDEyaDE0Jywga2V5OiAnMWF5czBoJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTEyIDV2MTQnLCBrZXk6ICdzNjk5bGUnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IFBsdXM7XG4iXSwibmFtZXMiOlsiUGx1cyIsImNyZWF0ZUx1Y2lkZUljb24iLCJkIiwia2V5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/plus.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/save.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/save.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Save; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Save = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Save\", [\n [\n \"path\",\n {\n d: \"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z\",\n key: \"1c8476\"\n }\n ],\n [\n \"path\",\n {\n d: \"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7\",\n key: \"1ydtos\"\n }\n ],\n [\n \"path\",\n {\n d: \"M7 3v4a1 1 0 0 0 1 1h7\",\n key: \"t51u73\"\n }\n ]\n]);\n //# sourceMappingURL=save.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvc2F2ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLE9BQU9DLGdFQUFnQkEsQ0FBQyxRQUFRO0lBQ3BDO1FBQ0U7UUFDQTtZQUNFQyxHQUFHO1lBQ0hDLEtBQUs7UUFDUDtLQUNGO0lBQ0E7UUFBQztRQUFRO1lBQUVELEdBQUc7WUFBNkNDLEtBQUs7UUFBQTtLQUFVO0lBQzFFO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQTBCQyxLQUFLO1FBQUE7S0FBVTtDQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL3NhdmUudHM/ZDBlYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIFNhdmVcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1UVXVNaUF6WVRJZ01pQXdJREFnTVNBeExqUXVObXd6TGpnZ015NDRZVElnTWlBd0lEQWdNU0F1TmlBeExqUldNVGxoTWlBeUlEQWdNQ0F4TFRJZ01rZzFZVElnTWlBd0lEQWdNUzB5TFRKV05XRXlJRElnTUNBd0lERWdNaTB5ZWlJZ0x6NEtJQ0E4Y0dGMGFDQmtQU0pOTVRjZ01qRjJMVGRoTVNBeElEQWdNQ0F3TFRFdE1VZzRZVEVnTVNBd0lEQWdNQzB4SURGMk55SWdMejRLSUNBOGNHRjBhQ0JrUFNKTk55QXpkalJoTVNBeElEQWdNQ0F3SURFZ01XZzNJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9zYXZlXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgU2F2ZSA9IGNyZWF0ZUx1Y2lkZUljb24oJ1NhdmUnLCBbXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ00xNS4yIDNhMiAyIDAgMCAxIDEuNC42bDMuOCAzLjhhMiAyIDAgMCAxIC42IDEuNFYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6JyxcbiAgICAgIGtleTogJzFjODQ3NicsXG4gICAgfSxcbiAgXSxcbiAgWydwYXRoJywgeyBkOiAnTTE3IDIxdi03YTEgMSAwIDAgMC0xLTFIOGExIDEgMCAwIDAtMSAxdjcnLCBrZXk6ICcxeWR0b3MnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNNyAzdjRhMSAxIDAgMCAwIDEgMWg3Jywga2V5OiAndDUxdTczJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBTYXZlO1xuIl0sIm5hbWVzIjpbIlNhdmUiLCJjcmVhdGVMdWNpZGVJY29uIiwiZCIsImtleSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/save.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/trash-2.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/trash-2.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Trash2; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Trash2 = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Trash2\", [\n [\n \"path\",\n {\n d: \"M3 6h18\",\n key: \"d0wm0j\"\n }\n ],\n [\n \"path\",\n {\n d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\",\n key: \"4alrt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\",\n key: \"v07s0e\"\n }\n ],\n [\n \"line\",\n {\n x1: \"10\",\n x2: \"10\",\n y1: \"11\",\n y2: \"17\",\n key: \"1uufr5\"\n }\n ],\n [\n \"line\",\n {\n x1: \"14\",\n x2: \"14\",\n y1: \"11\",\n y2: \"17\",\n key: \"xtxkd\"\n }\n ]\n]);\n //# sourceMappingURL=trash-2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvdHJhc2gtMi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLFNBQVNDLGdFQUFnQkEsQ0FBQyxVQUFVO0lBQ3hDO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQVdDLEtBQUs7UUFBQTtLQUFVO0lBQ3hDO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQXlDQyxLQUFLO1FBQUE7S0FBVTtJQUN0RTtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUFzQ0MsS0FBSztRQUFBO0tBQVU7SUFDbkU7UUFBQztRQUFRO1lBQUVDLElBQUk7WUFBTUMsSUFBSTtZQUFNQyxJQUFJO1lBQU1DLElBQUk7WUFBTUosS0FBSztRQUFBO0tBQVU7SUFDbEU7UUFBQztRQUFRO1lBQUVDLElBQUk7WUFBTUMsSUFBSTtZQUFNQyxJQUFJO1lBQU1DLElBQUk7WUFBTUosS0FBSztRQUFBO0tBQVM7Q0FDbEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9pY29ucy90cmFzaC0yLnRzPzg1OTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBUcmFzaDJcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk15QTJhREU0SWlBdlBnb2dJRHh3WVhSb0lHUTlJazB4T1NBMmRqRTBZekFnTVMweElESXRNaUF5U0RkakxURWdNQzB5TFRFdE1pMHlWallpSUM4K0NpQWdQSEJoZEdnZ1pEMGlUVGdnTmxZMFl6QXRNU0F4TFRJZ01pMHlhRFJqTVNBd0lESWdNU0F5SURKMk1pSWdMejRLSUNBOGJHbHVaU0I0TVQwaU1UQWlJSGd5UFNJeE1DSWdlVEU5SWpFeElpQjVNajBpTVRjaUlDOCtDaUFnUEd4cGJtVWdlREU5SWpFMElpQjRNajBpTVRRaUlIa3hQU0l4TVNJZ2VUSTlJakUzSWlBdlBnbzhMM04yWno0SykgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvdHJhc2gtMlxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFRyYXNoMiA9IGNyZWF0ZUx1Y2lkZUljb24oJ1RyYXNoMicsIFtcbiAgWydwYXRoJywgeyBkOiAnTTMgNmgxOCcsIGtleTogJ2Qwd20waicgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xOSA2djE0YzAgMS0xIDItMiAySDdjLTEgMC0yLTEtMi0yVjYnLCBrZXk6ICc0YWxydDQnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNOCA2VjRjMC0xIDEtMiAyLTJoNGMxIDAgMiAxIDIgMnYyJywga2V5OiAndjA3czBlJyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzEwJywgeDI6ICcxMCcsIHkxOiAnMTEnLCB5MjogJzE3Jywga2V5OiAnMXV1ZnI1JyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzE0JywgeDI6ICcxNCcsIHkxOiAnMTEnLCB5MjogJzE3Jywga2V5OiAneHR4a2QnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IFRyYXNoMjtcbiJdLCJuYW1lcyI6WyJUcmFzaDIiLCJjcmVhdGVMdWNpZGVJY29uIiwiZCIsImtleSIsIngxIiwieDIiLCJ5MSIsInkyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-plus.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/user-plus.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ UserPlus; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst UserPlus = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"UserPlus\", [\n [\n \"path\",\n {\n d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\",\n key: \"1yyitq\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"9\",\n cy: \"7\",\n r: \"4\",\n key: \"nufk8\"\n }\n ],\n [\n \"line\",\n {\n x1: \"19\",\n x2: \"19\",\n y1: \"8\",\n y2: \"14\",\n key: \"1bvyxn\"\n }\n ],\n [\n \"line\",\n {\n x1: \"22\",\n x2: \"16\",\n y1: \"11\",\n y2: \"11\",\n key: \"1shjgl\"\n }\n ]\n]);\n //# sourceMappingURL=user-plus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvdXNlci1wbHVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sTUFBQUEsV0FBV0MsZ0VBQWdCQSxDQUFDLFlBQVk7SUFDNUM7UUFBQztRQUFRO1lBQUVDLEdBQUc7WUFBNkNDLEtBQUs7UUFBQTtLQUFVO0lBQzFFO1FBQUM7UUFBVTtZQUFFQyxJQUFJO1lBQUtDLElBQUk7WUFBS0MsR0FBRztZQUFLSCxLQUFLO1FBQUE7S0FBUztJQUNyRDtRQUFDO1FBQVE7WUFBRUksSUFBSTtZQUFNQyxJQUFJO1lBQU1DLElBQUk7WUFBS0MsSUFBSTtZQUFNUCxLQUFLO1FBQUE7S0FBVTtJQUNqRTtRQUFDO1FBQVE7WUFBRUksSUFBSTtZQUFNQyxJQUFJO1lBQU1DLElBQUk7WUFBTUMsSUFBSTtZQUFNUCxLQUFLO1FBQUE7S0FBVTtDQUNuRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL2ljb25zL3VzZXItcGx1cy50cz85NDQ2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgVXNlclBsdXNcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1UWWdNakYyTFRKaE5DQTBJREFnTUNBd0xUUXRORWcyWVRRZ05DQXdJREFnTUMwMElEUjJNaUlnTHo0S0lDQThZMmx5WTJ4bElHTjRQU0k1SWlCamVUMGlOeUlnY2owaU5DSWdMejRLSUNBOGJHbHVaU0I0TVQwaU1Ua2lJSGd5UFNJeE9TSWdlVEU5SWpnaUlIa3lQU0l4TkNJZ0x6NEtJQ0E4YkdsdVpTQjRNVDBpTWpJaUlIZ3lQU0l4TmlJZ2VURTlJakV4SWlCNU1qMGlNVEVpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvdXNlci1wbHVzXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgVXNlclBsdXMgPSBjcmVhdGVMdWNpZGVJY29uKCdVc2VyUGx1cycsIFtcbiAgWydwYXRoJywgeyBkOiAnTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djInLCBrZXk6ICcxeXlpdHEnIH1dLFxuICBbJ2NpcmNsZScsIHsgY3g6ICc5JywgY3k6ICc3JywgcjogJzQnLCBrZXk6ICdudWZrOCcgfV0sXG4gIFsnbGluZScsIHsgeDE6ICcxOScsIHgyOiAnMTknLCB5MTogJzgnLCB5MjogJzE0Jywga2V5OiAnMWJ2eXhuJyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzIyJywgeDI6ICcxNicsIHkxOiAnMTEnLCB5MjogJzExJywga2V5OiAnMXNoamdsJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyUGx1cztcbiJdLCJuYW1lcyI6WyJVc2VyUGx1cyIsImNyZWF0ZUx1Y2lkZUljb24iLCJkIiwia2V5IiwiY3giLCJjeSIsInIiLCJ4MSIsIngyIiwieTEiLCJ5MiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-plus.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/users.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Users; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Users = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Users\", [\n [\n \"path\",\n {\n d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\",\n key: \"1yyitq\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"9\",\n cy: \"7\",\n r: \"4\",\n key: \"nufk8\"\n }\n ],\n [\n \"path\",\n {\n d: \"M22 21v-2a4 4 0 0 0-3-3.87\",\n key: \"kshegd\"\n }\n ],\n [\n \"path\",\n {\n d: \"M16 3.13a4 4 0 0 1 0 7.75\",\n key: \"1da9ce\"\n }\n ]\n]);\n //# sourceMappingURL=users.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvdXNlcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxNQUFBQSxRQUFRQyxnRUFBZ0JBLENBQUMsU0FBUztJQUN0QztRQUFDO1FBQVE7WUFBRUMsR0FBRztZQUE2Q0MsS0FBSztRQUFBO0tBQVU7SUFDMUU7UUFBQztRQUFVO1lBQUVDLElBQUk7WUFBS0MsSUFBSTtZQUFLQyxHQUFHO1lBQUtILEtBQUs7UUFBQTtLQUFTO0lBQ3JEO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQThCQyxLQUFLO1FBQUE7S0FBVTtJQUMzRDtRQUFDO1FBQVE7WUFBRUQsR0FBRztZQUE2QkMsS0FBSztRQUFBO0tBQVU7Q0FDM0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9pY29ucy91c2Vycy50cz9iMjVjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgVXNlcnNcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1UWWdNakYyTFRKaE5DQTBJREFnTUNBd0xUUXRORWcyWVRRZ05DQXdJREFnTUMwMElEUjJNaUlnTHo0S0lDQThZMmx5WTJ4bElHTjRQU0k1SWlCamVUMGlOeUlnY2owaU5DSWdMejRLSUNBOGNHRjBhQ0JrUFNKTk1qSWdNakYyTFRKaE5DQTBJREFnTUNBd0xUTXRNeTQ0TnlJZ0x6NEtJQ0E4Y0dGMGFDQmtQU0pOTVRZZ015NHhNMkUwSURRZ01DQXdJREVnTUNBM0xqYzFJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy91c2Vyc1xuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFVzZXJzID0gY3JlYXRlTHVjaWRlSWNvbignVXNlcnMnLCBbXG4gIFsncGF0aCcsIHsgZDogJ00xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyJywga2V5OiAnMXl5aXRxJyB9XSxcbiAgWydjaXJjbGUnLCB7IGN4OiAnOScsIGN5OiAnNycsIHI6ICc0Jywga2V5OiAnbnVmazgnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMjIgMjF2LTJhNCA0IDAgMCAwLTMtMy44NycsIGtleTogJ2tzaGVnZCcgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xNiAzLjEzYTQgNCAwIDAgMSAwIDcuNzUnLCBrZXk6ICcxZGE5Y2UnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJzO1xuIl0sIm5hbWVzIjpbIlVzZXJzIiwiY3JlYXRlTHVjaWRlSWNvbiIsImQiLCJrZXkiLCJjeCIsImN5IiwiciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/x.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/icons/x.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ X; }\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst X = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"X\", [\n [\n \"path\",\n {\n d: \"M18 6 6 18\",\n key: \"1bl5f8\"\n }\n ],\n [\n \"path\",\n {\n d: \"m6 6 12 12\",\n key: \"d8bk6v\"\n }\n ]\n]);\n //# sourceMappingURL=x.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMveC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLE1BQUFBLElBQUlDLGdFQUFnQkEsQ0FBQyxLQUFLO0lBQzlCO1FBQUM7UUFBUTtZQUFFQyxHQUFHO1lBQWNDLEtBQUs7UUFBQTtLQUFVO0lBQzNDO1FBQUM7UUFBUTtZQUFFRCxHQUFHO1lBQWNDLEtBQUs7UUFBQTtLQUFVO0NBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvaWNvbnMveC50cz9iYzM4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgWFxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTVRnZ05pQTJJREU0SWlBdlBnb2dJRHh3WVhSb0lHUTlJbTAySURZZ01USWdNVElpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMveFxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFggPSBjcmVhdGVMdWNpZGVJY29uKCdYJywgW1xuICBbJ3BhdGgnLCB7IGQ6ICdNMTggNiA2IDE4Jywga2V5OiAnMWJsNWY4JyB9XSxcbiAgWydwYXRoJywgeyBkOiAnbTYgNiAxMiAxMicsIGtleTogJ2Q4Yms2dicgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgWDtcbiJdLCJuYW1lcyI6WyJYIiwiY3JlYXRlTHVjaWRlSWNvbiIsImQiLCJrZXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/x.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/lucide-react/dist/esm/shared/src/utils.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mergeClasses: function() { return /* binding */ mergeClasses; },\n/* harmony export */ toKebabCase: function() { return /* binding */ toKebabCase; }\n/* harmony export */ });\n/**\n * @license lucide-react v0.408.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ const toKebabCase = (string)=>string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter((className, index, array)=>{\n return Boolean(className) && array.indexOf(className) === index;\n }).join(\" \");\n};\n //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0lBUWEsTUFBQUEsY0FBYyxDQUFDQyxTQUMxQkEsT0FBT0MsT0FBQSxDQUFRLHNCQUFzQixTQUFTQyxXQUFZO0FBc0IvQyxNQUFBQyxlQUFlO3FDQUEyQ0M7UUFBQUE7O1dBQ3JFQSxRQUNHQyxNQUFBLENBQU8sQ0FBQ0MsV0FBV0MsT0FBT0M7UUFDekIsT0FBT0MsUUFBUUgsY0FBY0UsTUFBTUUsT0FBQSxDQUFRSixlQUFlQztJQUM1RCxHQUNDSSxJQUFBLENBQUsiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NoYXJlZC9zcmMvdXRpbHMudHM/NjY5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW1lbFRvUGFzY2FsIH0gZnJvbSAnLi91dGlsaXR5LXR5cGVzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBzdHJpbmcgdG8ga2ViYWIgY2FzZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEEga2ViYWJpemVkIHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgdG9LZWJhYkNhc2UgPSAoc3RyaW5nOiBzdHJpbmcpID0+XG4gIHN0cmluZy5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLCAnJDEtJDInKS50b0xvd2VyQ2FzZSgpO1xuXG4vKipcbiAqIENvbnZlcnRzIHN0cmluZyB0byBwYXNjYWwgY2FzZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEEgcGFzY2FsaXplZCBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IHRvUGFzY2FsQ2FzZSA9IDxUIGV4dGVuZHMgc3RyaW5nPihzdHJpbmc6IFQpOiBDYW1lbFRvUGFzY2FsPFQ+ID0+IHtcbiAgY29uc3QgY2FtZWxDYXNlID0gc3RyaW5nLnJlcGxhY2UoL14oW0EtWl0pfFtcXHMtX10rKFxcdykvZywgKG1hdGNoLCBwMSwgcDIpID0+XG4gICAgcDIgPyBwMi50b1VwcGVyQ2FzZSgpIDogcDEudG9Mb3dlckNhc2UoKSxcbiAgKTtcblxuICByZXR1cm4gKGNhbWVsQ2FzZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGNhbWVsQ2FzZS5zbGljZSgxKSkgYXMgQ2FtZWxUb1Bhc2NhbDxUPjtcbn07XG5cbi8qKlxuICogTWVyZ2VzIGNsYXNzZXMgaW50byBhIHNpbmdsZSBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge2FycmF5fSBjbGFzc2VzXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBBIHN0cmluZyBvZiBjbGFzc2VzXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZUNsYXNzZXMgPSA8Q2xhc3NUeXBlID0gc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbD4oLi4uY2xhc3NlczogQ2xhc3NUeXBlW10pID0+XG4gIGNsYXNzZXNcbiAgICAuZmlsdGVyKChjbGFzc05hbWUsIGluZGV4LCBhcnJheSkgPT4ge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oY2xhc3NOYW1lKSAmJiBhcnJheS5pbmRleE9mKGNsYXNzTmFtZSkgPT09IGluZGV4O1xuICAgIH0pXG4gICAgLmpvaW4oJyAnKTtcbiJdLCJuYW1lcyI6WyJ0b0tlYmFiQ2FzZSIsInN0cmluZyIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsIm1lcmdlQ2xhc3NlcyIsImNsYXNzZXMiLCJmaWx0ZXIiLCJjbGFzc05hbWUiLCJpbmRleCIsImFycmF5IiwiQm9vbGVhbiIsImluZGV4T2YiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/lucide-react/dist/esm/shared/src/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/memoize-one/dist/memoize-one.esm.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/memoize-one/dist/memoize-one.esm.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ memoizeOne; }\n/* harmony export */ });\nvar safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9tZW1vaXplLW9uZS9kaXN0L21lbW9pemUtb25lLmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qix1QkFBdUI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbWVtb2l6ZS1vbmUvZGlzdC9tZW1vaXplLW9uZS5lc20uanM/OGI2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc2FmZUlzTmFOID0gTnVtYmVyLmlzTmFOIHx8XG4gICAgZnVuY3Rpb24gcG9ueWZpbGwodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgIT09IHZhbHVlO1xuICAgIH07XG5mdW5jdGlvbiBpc0VxdWFsKGZpcnN0LCBzZWNvbmQpIHtcbiAgICBpZiAoZmlyc3QgPT09IHNlY29uZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHNhZmVJc05hTihmaXJzdCkgJiYgc2FmZUlzTmFOKHNlY29uZCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGFyZUlucHV0c0VxdWFsKG5ld0lucHV0cywgbGFzdElucHV0cykge1xuICAgIGlmIChuZXdJbnB1dHMubGVuZ3RoICE9PSBsYXN0SW5wdXRzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3SW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICghaXNFcXVhbChuZXdJbnB1dHNbaV0sIGxhc3RJbnB1dHNbaV0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIG1lbW9pemVPbmUocmVzdWx0Rm4sIGlzRXF1YWwpIHtcbiAgICBpZiAoaXNFcXVhbCA9PT0gdm9pZCAwKSB7IGlzRXF1YWwgPSBhcmVJbnB1dHNFcXVhbDsgfVxuICAgIHZhciBjYWNoZSA9IG51bGw7XG4gICAgZnVuY3Rpb24gbWVtb2l6ZWQoKSB7XG4gICAgICAgIHZhciBuZXdBcmdzID0gW107XG4gICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICBuZXdBcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhY2hlICYmIGNhY2hlLmxhc3RUaGlzID09PSB0aGlzICYmIGlzRXF1YWwobmV3QXJncywgY2FjaGUubGFzdEFyZ3MpKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGUubGFzdFJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbGFzdFJlc3VsdCA9IHJlc3VsdEZuLmFwcGx5KHRoaXMsIG5ld0FyZ3MpO1xuICAgICAgICBjYWNoZSA9IHtcbiAgICAgICAgICAgIGxhc3RSZXN1bHQ6IGxhc3RSZXN1bHQsXG4gICAgICAgICAgICBsYXN0QXJnczogbmV3QXJncyxcbiAgICAgICAgICAgIGxhc3RUaGlzOiB0aGlzLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gbGFzdFJlc3VsdDtcbiAgICB9XG4gICAgbWVtb2l6ZWQuY2xlYXIgPSBmdW5jdGlvbiBjbGVhcigpIHtcbiAgICAgICAgY2FjaGUgPSBudWxsO1xuICAgIH07XG4gICAgcmV0dXJuIG1lbW9pemVkO1xufVxuXG5leHBvcnQgeyBtZW1vaXplT25lIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/memoize-one/dist/memoize-one.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/api/link.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/next/dist/api/link.js ***!
|
||
\********************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _client_link__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXlDO0FBQ1Y7O0FBRS9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/YzRkMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/link.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/api/navigation.js":
|
||
/*!**************************************************!*\
|
||
!*** ./node_modules/next/dist/api/navigation.js ***!
|
||
\**************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceMappingURL=navigation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdEOztBQUVoRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9uYXZpZ2F0aW9uLmpzPzRmYzkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4uL2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb25cIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmF2aWdhdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/navigation.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-is/cjs/react-is.development.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/react-is/cjs/react-is.development.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9janMvcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7OztBQUliLElBQUksSUFBcUM7QUFDekM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyRUFBMkU7QUFDM0U7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlEOztBQUVqRDtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQjtBQUNqQixzQkFBc0I7QUFDdEIsdUJBQXVCO0FBQ3ZCLHVCQUF1QjtBQUN2QixlQUFlO0FBQ2Ysa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQixZQUFZO0FBQ1osWUFBWTtBQUNaLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQixtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsMEJBQTBCO0FBQzFCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcz80Y2NhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTMuMVxuICogcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cblxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuIElmIHRoZXJlIGlzIG5vIG5hdGl2ZSBTeW1ib2xcbi8vIG5vciBwb2x5ZmlsbCwgdGhlbiBhIHBsYWluIG51bWJlciBpcyB1c2VkIGZvciBwZXJmb3JtYW5jZS5cbnZhciBoYXNTeW1ib2wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5mb3I7XG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIDogMHhlYWM3O1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJykgOiAweGVhY2E7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50JykgOiAweGVhY2I7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJykgOiAweGVhY2M7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJykgOiAweGVhZDI7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJykgOiAweGVhY2Q7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpIDogMHhlYWNlOyAvLyBUT0RPOiBXZSBkb24ndCB1c2UgQXN5bmNNb2RlIG9yIENvbmN1cnJlbnRNb2RlIGFueW1vcmUuIFRoZXkgd2VyZSB0ZW1wb3Jhcnlcbi8vICh1bnN0YWJsZSkgQVBJcyB0aGF0IGhhdmUgYmVlbiByZW1vdmVkLiBDYW4gd2UgcmVtb3ZlIHRoZSBzeW1ib2xzP1xuXG52YXIgUkVBQ1RfQVNZTkNfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuYXN5bmNfbW9kZScpIDogMHhlYWNmO1xudmFyIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29uY3VycmVudF9tb2RlJykgOiAweGVhY2Y7XG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJykgOiAweGVhZDA7XG52YXIgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlJykgOiAweGVhZDE7XG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpIDogMHhlYWQ4O1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKSA6IDB4ZWFkMztcbnZhciBSRUFDVF9MQVpZX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5JykgOiAweGVhZDQ7XG52YXIgUkVBQ1RfQkxPQ0tfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmJsb2NrJykgOiAweGVhZDk7XG52YXIgUkVBQ1RfRlVOREFNRU5UQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZ1bmRhbWVudGFsJykgOiAweGVhZDU7XG52YXIgUkVBQ1RfUkVTUE9OREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5yZXNwb25kZXInKSA6IDB4ZWFkNjtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKSA6IDB4ZWFkNztcblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyB8fCAvLyBOb3RlOiBpdHMgdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgaWYgaXQncyBhIHBvbHlmaWxsLlxuICB0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUkVTUE9OREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfU0NPUEVfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9CTE9DS19UWVBFKTtcbn1cblxuZnVuY3Rpb24gdHlwZU9mKG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyICQkdHlwZW9mID0gb2JqZWN0LiQkdHlwZW9mO1xuXG4gICAgc3dpdGNoICgkJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIHZhciB0eXBlID0gb2JqZWN0LnR5cGU7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9BU1lOQ19NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB2YXIgJCR0eXBlb2ZUeXBlID0gdHlwZSAmJiB0eXBlLiQkdHlwZW9mO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKCQkdHlwZW9mVHlwZSkge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJCR0eXBlb2ZUeXBlO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59IC8vIEFzeW5jTW9kZSBpcyBkZXByZWNhdGVkIGFsb25nIHdpdGggaXNBc3luY01vZGVcblxudmFyIEFzeW5jTW9kZSA9IFJFQUNUX0FTWU5DX01PREVfVFlQRTtcbnZhciBDb25jdXJyZW50TW9kZSA9IFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFO1xudmFyIENvbnRleHRDb25zdW1lciA9IFJFQUNUX0NPTlRFWFRfVFlQRTtcbnZhciBDb250ZXh0UHJvdmlkZXIgPSBSRUFDVF9QUk9WSURFUl9UWVBFO1xudmFyIEVsZW1lbnQgPSBSRUFDVF9FTEVNRU5UX1RZUEU7XG52YXIgRm9yd2FyZFJlZiA9IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU7XG52YXIgRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xudmFyIExhenkgPSBSRUFDVF9MQVpZX1RZUEU7XG52YXIgTWVtbyA9IFJFQUNUX01FTU9fVFlQRTtcbnZhciBQb3J0YWwgPSBSRUFDVF9QT1JUQUxfVFlQRTtcbnZhciBQcm9maWxlciA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG52YXIgU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG52YXIgU3VzcGVuc2UgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xudmFyIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlID0gZmFsc2U7IC8vIEFzeW5jTW9kZSBzaG91bGQgYmUgZGVwcmVjYXRlZFxuXG5mdW5jdGlvbiBpc0FzeW5jTW9kZShvYmplY3QpIHtcbiAge1xuICAgIGlmICghaGFzV2FybmVkQWJvdXREZXByZWNhdGVkSXNBc3luY01vZGUpIHtcbiAgICAgIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlID0gdHJ1ZTsgLy8gVXNpbmcgY29uc29sZVsnd2FybiddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcblxuICAgICAgY29uc29sZVsnd2FybiddKCdUaGUgUmVhY3RJcy5pc0FzeW5jTW9kZSgpIGFsaWFzIGhhcyBiZWVuIGRlcHJlY2F0ZWQsICcgKyAnYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBSZWFjdCAxNysuIFVwZGF0ZSB5b3VyIGNvZGUgdG8gdXNlICcgKyAnUmVhY3RJcy5pc0NvbmN1cnJlbnRNb2RlKCkgaW5zdGVhZC4gSXQgaGFzIHRoZSBleGFjdCBzYW1lIEFQSS4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaXNDb25jdXJyZW50TW9kZShvYmplY3QpIHx8IHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9BU1lOQ19NT0RFX1RZUEU7XG59XG5mdW5jdGlvbiBpc0NvbmN1cnJlbnRNb2RlKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFO1xufVxuZnVuY3Rpb24gaXNDb250ZXh0Q29uc3VtZXIob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFO1xufVxuZnVuY3Rpb24gaXNDb250ZXh0UHJvdmlkZXIob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRm9yd2FyZFJlZihvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFO1xufVxuZnVuY3Rpb24gaXNGcmFnbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xufVxuZnVuY3Rpb24gaXNMYXp5KG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0xBWllfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTWVtbyhvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9NRU1PX1RZUEU7XG59XG5mdW5jdGlvbiBpc1BvcnRhbChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9QT1JUQUxfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzUHJvZmlsZXIob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3RyaWN0TW9kZShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFO1xufVxuZnVuY3Rpb24gaXNTdXNwZW5zZShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xufVxuXG5leHBvcnRzLkFzeW5jTW9kZSA9IEFzeW5jTW9kZTtcbmV4cG9ydHMuQ29uY3VycmVudE1vZGUgPSBDb25jdXJyZW50TW9kZTtcbmV4cG9ydHMuQ29udGV4dENvbnN1bWVyID0gQ29udGV4dENvbnN1bWVyO1xuZXhwb3J0cy5Db250ZXh0UHJvdmlkZXIgPSBDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLkVsZW1lbnQgPSBFbGVtZW50O1xuZXhwb3J0cy5Gb3J3YXJkUmVmID0gRm9yd2FyZFJlZjtcbmV4cG9ydHMuRnJhZ21lbnQgPSBGcmFnbWVudDtcbmV4cG9ydHMuTGF6eSA9IExhenk7XG5leHBvcnRzLk1lbW8gPSBNZW1vO1xuZXhwb3J0cy5Qb3J0YWwgPSBQb3J0YWw7XG5leHBvcnRzLlByb2ZpbGVyID0gUHJvZmlsZXI7XG5leHBvcnRzLlN0cmljdE1vZGUgPSBTdHJpY3RNb2RlO1xuZXhwb3J0cy5TdXNwZW5zZSA9IFN1c3BlbnNlO1xuZXhwb3J0cy5pc0FzeW5jTW9kZSA9IGlzQXN5bmNNb2RlO1xuZXhwb3J0cy5pc0NvbmN1cnJlbnRNb2RlID0gaXNDb25jdXJyZW50TW9kZTtcbmV4cG9ydHMuaXNDb250ZXh0Q29uc3VtZXIgPSBpc0NvbnRleHRDb25zdW1lcjtcbmV4cG9ydHMuaXNDb250ZXh0UHJvdmlkZXIgPSBpc0NvbnRleHRQcm92aWRlcjtcbmV4cG9ydHMuaXNFbGVtZW50ID0gaXNFbGVtZW50O1xuZXhwb3J0cy5pc0ZvcndhcmRSZWYgPSBpc0ZvcndhcmRSZWY7XG5leHBvcnRzLmlzRnJhZ21lbnQgPSBpc0ZyYWdtZW50O1xuZXhwb3J0cy5pc0xhenkgPSBpc0xhenk7XG5leHBvcnRzLmlzTWVtbyA9IGlzTWVtbztcbmV4cG9ydHMuaXNQb3J0YWwgPSBpc1BvcnRhbDtcbmV4cG9ydHMuaXNQcm9maWxlciA9IGlzUHJvZmlsZXI7XG5leHBvcnRzLmlzU3RyaWN0TW9kZSA9IGlzU3RyaWN0TW9kZTtcbmV4cG9ydHMuaXNTdXNwZW5zZSA9IGlzU3VzcGVuc2U7XG5leHBvcnRzLmlzVmFsaWRFbGVtZW50VHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZTtcbmV4cG9ydHMudHlwZU9mID0gdHlwZU9mO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-is/cjs/react-is.development.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-is/index.js":
|
||
/*!****************************************!*\
|
||
!*** ./node_modules/react-is/index.js ***!
|
||
\****************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"(app-pages-browser)/./node_modules/react-is/cjs/react-is.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUMsQ0FBQztBQUNGLEVBQUUsb0pBQXlEO0FBQzNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9pbmRleC5qcz8wNjdiIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-is/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select-country-list/country-list.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/react-select-country-list/country-list.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
eval(__webpack_require__.ts("class CountryList {\n constructor() {\n this.data = __webpack_require__(/*! ./data.json */ \"(app-pages-browser)/./node_modules/react-select-country-list/data.json\")\n this.labelMap = {}\n this.valueMap = {}\n\n this.data.forEach(country => {\n this.labelMap[country.label.toLowerCase()] = country.value\n this.valueMap[country.value.toLowerCase()] = country.label\n })\n }\n\n getValue(label) {\n return this.labelMap[label.toLowerCase()]\n }\n\n getLabel(value) {\n return this.valueMap[value.toLowerCase()]\n }\n\n getLabels() {\n return this.data.map(country => country.label)\n }\n\n getValues() {\n return this.data.map(country => country.value)\n }\n\n getLabelList() {\n return this.labelMap\n }\n\n getValueList() {\n return this.valueMap\n }\n\n getData() {\n return this.data\n }\n\n setLabel(value, label) {\n this.data.forEach(country => {\n if (country.value === value) {\n country.label = label\n this.valueMap[country.value.toLowerCase()] = country.label\n }\n })\n\n return this\n }\n\n setEmpty(label) {\n this.data.unshift({\n value: '',\n label: label,\n })\n this.valueMap[''] = label\n this.labelMap[label] = ''\n\n return this\n }\n\n native() {\n this.nativeData = __webpack_require__(/*! ./data-native.json */ \"(app-pages-browser)/./node_modules/react-select-country-list/data-native.json\")\n this.nativeData.forEach(country => {\n this.labelMap[country.label.toLowerCase()] = country.value\n this.valueMap[country.value.toLowerCase()] = country.label\n })\n\n return this\n }\n}\n\nconst countryList = () => {\n if (!(this instanceof CountryList)) return new CountryList()\n}\n\nmodule.exports = countryList\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QtY291bnRyeS1saXN0L2NvdW50cnktbGlzdC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsMkZBQWE7QUFDckM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0IsbUJBQU8sQ0FBQyx5R0FBb0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QtY291bnRyeS1saXN0L2NvdW50cnktbGlzdC5qcz9hYTcwIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIENvdW50cnlMaXN0IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kYXRhID0gcmVxdWlyZSgnLi9kYXRhLmpzb24nKVxuICAgIHRoaXMubGFiZWxNYXAgPSB7fVxuICAgIHRoaXMudmFsdWVNYXAgPSB7fVxuXG4gICAgdGhpcy5kYXRhLmZvckVhY2goY291bnRyeSA9PiB7XG4gICAgICB0aGlzLmxhYmVsTWFwW2NvdW50cnkubGFiZWwudG9Mb3dlckNhc2UoKV0gPSBjb3VudHJ5LnZhbHVlXG4gICAgICB0aGlzLnZhbHVlTWFwW2NvdW50cnkudmFsdWUudG9Mb3dlckNhc2UoKV0gPSBjb3VudHJ5LmxhYmVsXG4gICAgfSlcbiAgfVxuXG4gIGdldFZhbHVlKGxhYmVsKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxNYXBbbGFiZWwudG9Mb3dlckNhc2UoKV1cbiAgfVxuXG4gIGdldExhYmVsKHZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVNYXBbdmFsdWUudG9Mb3dlckNhc2UoKV1cbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLm1hcChjb3VudHJ5ID0+IGNvdW50cnkubGFiZWwpXG4gIH1cblxuICBnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5tYXAoY291bnRyeSA9PiBjb3VudHJ5LnZhbHVlKVxuICB9XG5cbiAgZ2V0TGFiZWxMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsTWFwXG4gIH1cblxuICBnZXRWYWx1ZUxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVNYXBcbiAgfVxuXG4gIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVxuICB9XG5cbiAgc2V0TGFiZWwodmFsdWUsIGxhYmVsKSB7XG4gICAgdGhpcy5kYXRhLmZvckVhY2goY291bnRyeSA9PiB7XG4gICAgICBpZiAoY291bnRyeS52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgY291bnRyeS5sYWJlbCA9IGxhYmVsXG4gICAgICAgIHRoaXMudmFsdWVNYXBbY291bnRyeS52YWx1ZS50b0xvd2VyQ2FzZSgpXSA9IGNvdW50cnkubGFiZWxcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHNldEVtcHR5KGxhYmVsKSB7XG4gICAgdGhpcy5kYXRhLnVuc2hpZnQoe1xuICAgICAgdmFsdWU6ICcnLFxuICAgICAgbGFiZWw6IGxhYmVsLFxuICAgIH0pXG4gICAgdGhpcy52YWx1ZU1hcFsnJ10gPSBsYWJlbFxuICAgIHRoaXMubGFiZWxNYXBbbGFiZWxdID0gJydcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBuYXRpdmUoKSB7XG4gICAgdGhpcy5uYXRpdmVEYXRhID0gcmVxdWlyZSgnLi9kYXRhLW5hdGl2ZS5qc29uJylcbiAgICB0aGlzLm5hdGl2ZURhdGEuZm9yRWFjaChjb3VudHJ5ID0+IHtcbiAgICAgIHRoaXMubGFiZWxNYXBbY291bnRyeS5sYWJlbC50b0xvd2VyQ2FzZSgpXSA9IGNvdW50cnkudmFsdWVcbiAgICAgIHRoaXMudmFsdWVNYXBbY291bnRyeS52YWx1ZS50b0xvd2VyQ2FzZSgpXSA9IGNvdW50cnkubGFiZWxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxufVxuXG5jb25zdCBjb3VudHJ5TGlzdCA9ICgpID0+IHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIENvdW50cnlMaXN0KSkgcmV0dXJuIG5ldyBDb3VudHJ5TGlzdCgpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gY291bnRyeUxpc3RcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-select-country-list/country-list.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select/dist/Select-ef7c0426.esm.js":
|
||
/*!***************************************************************!*\
|
||
!*** ./node_modules/react-select/dist/Select-ef7c0426.esm.js ***!
|
||
\***************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ S: function() { return /* binding */ Select; },\n/* harmony export */ a: function() { return /* binding */ defaultProps; },\n/* harmony export */ b: function() { return /* binding */ getOptionLabel$1; },\n/* harmony export */ c: function() { return /* binding */ createFilter; },\n/* harmony export */ d: function() { return /* binding */ defaultTheme; },\n/* harmony export */ g: function() { return /* binding */ getOptionValue$1; },\n/* harmony export */ m: function() { return /* binding */ mergeStyles; }\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_createSuper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createSuper */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createSuper.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./index-641ee5b8.esm.js */ \"(app-pages-browser)/./node_modules/react-select/dist/index-641ee5b8.esm.js\");\n/* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/react */ \"(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js\");\n/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! memoize-one */ \"(app-pages-browser)/./node_modules/memoize-one/dist/memoize-one.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\n// Assistive text to describe visual elements. Hidden for sighted users.\nvar _ref = false ? 0 : {\n name: \"1f43avz-a11yText-A11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPSSIsImZpbGUiOiJBMTF5VGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IEpTWCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLy8gQXNzaXN0aXZlIHRleHQgdG8gZGVzY3JpYmUgdmlzdWFsIGVsZW1lbnRzLiBIaWRkZW4gZm9yIHNpZ2h0ZWQgdXNlcnMuXG5jb25zdCBBMTF5VGV4dCA9IChwcm9wczogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ10pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2\n};\nvar A11yText = function A11yText(props) {\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"span\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n css: _ref\n }, props));\n};\nvar A11yText$1 = A11yText;\n\nvar defaultAriaLiveMessages = {\n guidance: function guidance(props) {\n var isSearchable = props.isSearchable,\n isMulti = props.isMulti,\n tabSelectsValue = props.tabSelectsValue,\n context = props.context,\n isInitialFocus = props.isInitialFocus;\n switch (context) {\n case 'menu':\n return \"Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu\".concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n case 'input':\n return isInitialFocus ? \"\".concat(props['aria-label'] || 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '') : '';\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n default:\n return '';\n }\n },\n onChange: function onChange(props) {\n var action = props.action,\n _props$label = props.label,\n label = _props$label === void 0 ? '' : _props$label,\n labels = props.labels,\n isDisabled = props.isDisabled;\n switch (action) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(label, \", deselected.\");\n case 'clear':\n return 'All selected options have been cleared.';\n case 'initial-input-focus':\n return \"option\".concat(labels.length > 1 ? 's' : '', \" \").concat(labels.join(','), \", selected.\");\n case 'select-option':\n return isDisabled ? \"option \".concat(label, \" is disabled. Select another option.\") : \"option \".concat(label, \", selected.\");\n default:\n return '';\n }\n },\n onFocus: function onFocus(props) {\n var context = props.context,\n focused = props.focused,\n options = props.options,\n _props$label2 = props.label,\n label = _props$label2 === void 0 ? '' : _props$label2,\n selectValue = props.selectValue,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n isAppleDevice = props.isAppleDevice;\n var getArrayIndex = function getArrayIndex(arr, item) {\n return arr && arr.length ? \"\".concat(arr.indexOf(item) + 1, \" of \").concat(arr.length) : '';\n };\n if (context === 'value' && selectValue) {\n return \"value \".concat(label, \" focused, \").concat(getArrayIndex(selectValue, focused), \".\");\n }\n if (context === 'menu' && isAppleDevice) {\n var disabled = isDisabled ? ' disabled' : '';\n var status = \"\".concat(isSelected ? ' selected' : '').concat(disabled);\n return \"\".concat(label).concat(status, \", \").concat(getArrayIndex(options, focused), \".\");\n }\n return '';\n },\n onFilter: function onFilter(props) {\n var inputValue = props.inputValue,\n resultsMessage = props.resultsMessage;\n return \"\".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n }\n};\n\nvar LiveRegion = function LiveRegion(props) {\n var ariaSelection = props.ariaSelection,\n focusedOption = props.focusedOption,\n focusedValue = props.focusedValue,\n focusableOptions = props.focusableOptions,\n isFocused = props.isFocused,\n selectValue = props.selectValue,\n selectProps = props.selectProps,\n id = props.id,\n isAppleDevice = props.isAppleDevice;\n var ariaLiveMessages = selectProps.ariaLiveMessages,\n getOptionLabel = selectProps.getOptionLabel,\n inputValue = selectProps.inputValue,\n isMulti = selectProps.isMulti,\n isOptionDisabled = selectProps.isOptionDisabled,\n isSearchable = selectProps.isSearchable,\n menuIsOpen = selectProps.menuIsOpen,\n options = selectProps.options,\n screenReaderStatus = selectProps.screenReaderStatus,\n tabSelectsValue = selectProps.tabSelectsValue,\n isLoading = selectProps.isLoading;\n var ariaLabel = selectProps['aria-label'];\n var ariaLive = selectProps['aria-live'];\n\n // Update aria live message configuration when prop changes\n var messages = (0,react__WEBPACK_IMPORTED_MODULE_7__.useMemo)(function () {\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, defaultAriaLiveMessages), ariaLiveMessages || {});\n }, [ariaLiveMessages]);\n\n // Update aria live selected option when prop changes\n var ariaSelected = (0,react__WEBPACK_IMPORTED_MODULE_7__.useMemo)(function () {\n var message = '';\n if (ariaSelection && messages.onChange) {\n var option = ariaSelection.option,\n selectedOptions = ariaSelection.options,\n removedValue = ariaSelection.removedValue,\n removedValues = ariaSelection.removedValues,\n value = ariaSelection.value;\n // select-option when !isMulti does not return option so we assume selected option is value\n var asOption = function asOption(val) {\n return !Array.isArray(val) ? val : null;\n };\n\n // If there is just one item from the action then get its label\n var selected = removedValue || option || asOption(value);\n var label = selected ? getOptionLabel(selected) : '';\n\n // If there are multiple items from the action then return an array of labels\n var multiSelected = selectedOptions || removedValues || undefined;\n var labels = multiSelected ? multiSelected.map(getOptionLabel) : [];\n var onChangeProps = (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n // multiSelected items are usually items that have already been selected\n // or set by the user as a default value so we assume they are not disabled\n isDisabled: selected && isOptionDisabled(selected, selectValue),\n label: label,\n labels: labels\n }, ariaSelection);\n message = messages.onChange(onChangeProps);\n }\n return message;\n }, [ariaSelection, messages, isOptionDisabled, selectValue, getOptionLabel]);\n var ariaFocused = (0,react__WEBPACK_IMPORTED_MODULE_7__.useMemo)(function () {\n var focusMsg = '';\n var focused = focusedOption || focusedValue;\n var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));\n if (focused && messages.onFocus) {\n var onFocusProps = {\n focused: focused,\n label: getOptionLabel(focused),\n isDisabled: isOptionDisabled(focused, selectValue),\n isSelected: isSelected,\n options: focusableOptions,\n context: focused === focusedOption ? 'menu' : 'value',\n selectValue: selectValue,\n isAppleDevice: isAppleDevice\n };\n focusMsg = messages.onFocus(onFocusProps);\n }\n return focusMsg;\n }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, focusableOptions, selectValue, isAppleDevice]);\n var ariaResults = (0,react__WEBPACK_IMPORTED_MODULE_7__.useMemo)(function () {\n var resultsMsg = '';\n if (menuIsOpen && options.length && !isLoading && messages.onFilter) {\n var resultsMessage = screenReaderStatus({\n count: focusableOptions.length\n });\n resultsMsg = messages.onFilter({\n inputValue: inputValue,\n resultsMessage: resultsMessage\n });\n }\n return resultsMsg;\n }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus, isLoading]);\n var isInitialFocus = (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus';\n var ariaGuidance = (0,react__WEBPACK_IMPORTED_MODULE_7__.useMemo)(function () {\n var guidanceMsg = '';\n if (messages.guidance) {\n var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';\n guidanceMsg = messages.guidance({\n 'aria-label': ariaLabel,\n context: context,\n isDisabled: focusedOption && isOptionDisabled(focusedOption, selectValue),\n isMulti: isMulti,\n isSearchable: isSearchable,\n tabSelectsValue: tabSelectsValue,\n isInitialFocus: isInitialFocus\n });\n }\n return guidanceMsg;\n }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, selectValue, tabSelectsValue, isInitialFocus]);\n var ScreenReaderText = (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(react__WEBPACK_IMPORTED_MODULE_7__.Fragment, null, (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"span\", {\n id: \"aria-selection\"\n }, ariaSelected), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"span\", {\n id: \"aria-focused\"\n }, ariaFocused), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"span\", {\n id: \"aria-results\"\n }, ariaResults), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"span\", {\n id: \"aria-guidance\"\n }, ariaGuidance));\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(react__WEBPACK_IMPORTED_MODULE_7__.Fragment, null, (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(A11yText$1, {\n id: id\n }, isInitialFocus && ScreenReaderText), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(A11yText$1, {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"false\",\n \"aria-relevant\": \"additions text\",\n role: \"log\"\n }, isFocused && !isInitialFocus && ScreenReaderText));\n};\nvar LiveRegion$1 = LiveRegion;\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nvar memoizedStripDiacriticsForInput = (0,memoize_one__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(stripDiacritics);\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n // eslint-disable-next-line no-underscore-dangle\n if (option.data.__isNew__) return true;\n var _ignoreCase$ignoreAcc = (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n if (ignoreAccents) {\n input = memoizedStripDiacriticsForInput(input);\n candidate = stripDiacritics(candidate);\n }\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nvar _excluded = [\"innerRef\"];\nfunction DummyInput(_ref) {\n var innerRef = _ref.innerRef,\n props = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_ref, _excluded);\n // Remove animation props not meant for HTML elements\n var filteredProps = (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.r)(props, 'onExited', 'in', 'enter', 'exit', 'appear');\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"input\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: innerRef\n }, filteredProps, {\n css: /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.css)({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n // important! this hides the flashing cursor\n caretColor: 'transparent',\n fontSize: 'inherit',\n gridArea: '1 / 1 / 2 / 3',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(.01)'\n }, false ? 0 : \";label:DummyInput;\", false ? 0 : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCTSIsImZpbGUiOiJEdW1teUlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgSlNYLCBSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyByZW1vdmVQcm9wcyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRHVtbXlJbnB1dCh7XG4gIGlubmVyUmVmLFxuICAuLi5wcm9wc1xufTogSlNYLkludHJpbnNpY0VsZW1lbnRzWydpbnB1dCddICYge1xuICByZWFkb25seSBpbm5lclJlZjogUmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xufSkge1xuICAvLyBSZW1vdmUgYW5pbWF0aW9uIHByb3BzIG5vdCBtZWFudCBmb3IgSFRNTCBlbGVtZW50c1xuICBjb25zdCBmaWx0ZXJlZFByb3BzID0gcmVtb3ZlUHJvcHMoXG4gICAgcHJvcHMsXG4gICAgJ29uRXhpdGVkJyxcbiAgICAnaW4nLFxuICAgICdlbnRlcicsXG4gICAgJ2V4aXQnLFxuICAgICdhcHBlYXInXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8aW5wdXRcbiAgICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgICB7Li4uZmlsdGVyZWRQcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgdGhpcyBoaWRlcyB0aGUgZmxhc2hpbmcgY3Vyc29yXG4gICAgICAgIGNhcmV0Q29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMycsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSguMDEpJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn1cbiJdfQ== */\")\n }));\n}\n\nvar cancelScroll = function cancelScroll(event) {\n if (event.cancelable) event.preventDefault();\n event.stopPropagation();\n};\nfunction useScrollCapture(_ref) {\n var isEnabled = _ref.isEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var isBottom = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(false);\n var isTop = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(false);\n var touchStart = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(0);\n var scrollTarget = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(null);\n var handleEventDelta = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (event, delta) {\n if (scrollTarget.current === null) return;\n var _scrollTarget$current = scrollTarget.current,\n scrollTop = _scrollTarget$current.scrollTop,\n scrollHeight = _scrollTarget$current.scrollHeight,\n clientHeight = _scrollTarget$current.clientHeight;\n var target = scrollTarget.current;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false;\n\n // reset bottom/top flags\n if (availableScroll > delta && isBottom.current) {\n if (onBottomLeave) onBottomLeave(event);\n isBottom.current = false;\n }\n if (isDeltaPositive && isTop.current) {\n if (onTopLeave) onTopLeave(event);\n isTop.current = false;\n }\n\n // bottom limit\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !isBottom.current) {\n onBottomArrive(event);\n }\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n isBottom.current = true;\n\n // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !isTop.current) {\n onTopArrive(event);\n }\n target.scrollTop = 0;\n shouldCancelScroll = true;\n isTop.current = true;\n }\n\n // cancel scroll\n if (shouldCancelScroll) {\n cancelScroll(event);\n }\n }, [onBottomArrive, onBottomLeave, onTopArrive, onTopLeave]);\n var onWheel = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (event) {\n handleEventDelta(event, event.deltaY);\n }, [handleEventDelta]);\n var onTouchStart = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (event) {\n // set touch start so we can calculate touchmove delta\n touchStart.current = event.changedTouches[0].clientY;\n }, []);\n var onTouchMove = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (event) {\n var deltaY = touchStart.current - event.changedTouches[0].clientY;\n handleEventDelta(event, deltaY);\n }, [handleEventDelta]);\n var startListening = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (el) {\n // bail early if no element is available to attach to\n if (!el) return;\n var notPassive = _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.s ? {\n passive: false\n } : false;\n el.addEventListener('wheel', onWheel, notPassive);\n el.addEventListener('touchstart', onTouchStart, notPassive);\n el.addEventListener('touchmove', onTouchMove, notPassive);\n }, [onTouchMove, onTouchStart, onWheel]);\n var stopListening = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (el) {\n // bail early if no element is available to detach from\n if (!el) return;\n el.removeEventListener('wheel', onWheel, false);\n el.removeEventListener('touchstart', onTouchStart, false);\n el.removeEventListener('touchmove', onTouchMove, false);\n }, [onTouchMove, onTouchStart, onWheel]);\n (0,react__WEBPACK_IMPORTED_MODULE_7__.useEffect)(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n startListening(element);\n return function () {\n stopListening(element);\n };\n }, [isEnabled, startListening, stopListening]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\nfunction preventTouchMove(e) {\n if (e.cancelable) e.preventDefault();\n}\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n}\n\n// `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar activeScrollLocks = 0;\nvar listenerOptions = {\n capture: false,\n passive: false\n};\nfunction useScrollLock(_ref) {\n var isEnabled = _ref.isEnabled,\n _ref$accountForScroll = _ref.accountForScrollbars,\n accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;\n var originalStyles = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)({});\n var scrollTarget = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(null);\n var addScrollLock = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n originalStyles.current[key] = val;\n });\n }\n\n // apply the lock styles and padding if this is the first scroll lock\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n }\n\n // account for touch devices\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, listenerOptions);\n\n // Allow scroll on provided target\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n\n // increment active scroll locks\n activeScrollLocks += 1;\n }, [accountForScrollbars]);\n var removeScrollLock = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n\n // safely decrement active scroll locks\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0);\n\n // reapply original body styles, if any\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = originalStyles.current[key];\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n }\n\n // remove touch listeners\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, listenerOptions);\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n }, [accountForScrollbars]);\n (0,react__WEBPACK_IMPORTED_MODULE_7__.useEffect)(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n addScrollLock(element);\n return function () {\n removeScrollLock(element);\n };\n }, [isEnabled, addScrollLock, removeScrollLock]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\nvar blurSelectInput = function blurSelectInput(event) {\n var element = event.target;\n return element.ownerDocument.activeElement && element.ownerDocument.activeElement.blur();\n};\nvar _ref2$1 = false ? 0 : {\n name: \"bp8cua-ScrollManager\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EVSIsImZpbGUiOiJTY3JvbGxNYW5hZ2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIFJlYWN0RWxlbWVudCwgUmVmQ2FsbGJhY2ssIE1vdXNlRXZlbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlU2Nyb2xsQ2FwdHVyZSBmcm9tICcuL3VzZVNjcm9sbENhcHR1cmUnO1xuaW1wb3J0IHVzZVNjcm9sbExvY2sgZnJvbSAnLi91c2VTY3JvbGxMb2NrJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgcmVhZG9ubHkgY2hpbGRyZW46IChyZWY6IFJlZkNhbGxiYWNrPEhUTUxFbGVtZW50PikgPT4gUmVhY3RFbGVtZW50O1xuICByZWFkb25seSBsb2NrRW5hYmxlZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgb25Cb3R0b21MZWF2ZT86IChldmVudDogV2hlZWxFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IG9uVG9wQXJyaXZlPzogKGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgb25Ub3BMZWF2ZT86IChldmVudDogV2hlZWxFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG59XG5cbmNvbnN0IGJsdXJTZWxlY3RJbnB1dCA9IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgcmV0dXJuIChcbiAgICBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJlxuICAgIChlbGVtZW50Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuYmx1cigpXG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTY3JvbGxNYW5hZ2VyKHtcbiAgY2hpbGRyZW4sXG4gIGxvY2tFbmFibGVkLFxuICBjYXB0dXJlRW5hYmxlZCA9IHRydWUsXG4gIG9uQm90dG9tQXJyaXZlLFxuICBvbkJvdHRvbUxlYXZlLFxuICBvblRvcEFycml2ZSxcbiAgb25Ub3BMZWF2ZSxcbn06IFByb3BzKSB7XG4gIGNvbnN0IHNldFNjcm9sbENhcHR1cmVUYXJnZXQgPSB1c2VTY3JvbGxDYXB0dXJlKHtcbiAgICBpc0VuYWJsZWQ6IGNhcHR1cmVFbmFibGVkLFxuICAgIG9uQm90dG9tQXJyaXZlLFxuICAgIG9uQm90dG9tTGVhdmUsXG4gICAgb25Ub3BBcnJpdmUsXG4gICAgb25Ub3BMZWF2ZSxcbiAgfSk7XG4gIGNvbnN0IHNldFNjcm9sbExvY2tUYXJnZXQgPSB1c2VTY3JvbGxMb2NrKHsgaXNFbmFibGVkOiBsb2NrRW5hYmxlZCB9KTtcblxuICBjb25zdCB0YXJnZXRSZWY6IFJlZkNhbGxiYWNrPEhUTUxFbGVtZW50PiA9IChlbGVtZW50KSA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\nfunction ScrollManager(_ref) {\n var children = _ref.children,\n lockEnabled = _ref.lockEnabled,\n _ref$captureEnabled = _ref.captureEnabled,\n captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var setScrollCaptureTarget = useScrollCapture({\n isEnabled: captureEnabled,\n onBottomArrive: onBottomArrive,\n onBottomLeave: onBottomLeave,\n onTopArrive: onTopArrive,\n onTopLeave: onTopLeave\n });\n var setScrollLockTarget = useScrollLock({\n isEnabled: lockEnabled\n });\n var targetRef = function targetRef(element) {\n setScrollCaptureTarget(element);\n setScrollLockTarget(element);\n };\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(react__WEBPACK_IMPORTED_MODULE_7__.Fragment, null, lockEnabled && (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"div\", {\n onClick: blurSelectInput,\n css: _ref2$1\n }), children(targetRef));\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\nvar _ref2 = false ? 0 : {\n name: \"5kkxb2-requiredInput-RequiredInput\",\n styles: \"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%;label:RequiredInput;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlcXVpcmVkSW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNJIiwiZmlsZSI6IlJlcXVpcmVkSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBGb2N1c0V2ZW50SGFuZGxlciwgRnVuY3Rpb25Db21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmNvbnN0IFJlcXVpcmVkSW5wdXQ6IEZ1bmN0aW9uQ29tcG9uZW50PHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgb25Gb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG59PiA9ICh7IG5hbWUsIG9uRm9jdXMgfSkgPT4gKFxuICA8aW5wdXRcbiAgICByZXF1aXJlZFxuICAgIG5hbWU9e25hbWV9XG4gICAgdGFiSW5kZXg9ey0xfVxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAncmVxdWlyZWRJbnB1dCcsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgIH19XG4gICAgLy8gUHJldmVudCBgU3dpdGNoaW5nIGZyb20gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWRgIGVycm9yXG4gICAgdmFsdWU9XCJcIlxuICAgIG9uQ2hhbmdlPXsoKSA9PiB7fX1cbiAgLz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFJlcXVpcmVkSW5wdXQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\nvar RequiredInput = function RequiredInput(_ref) {\n var name = _ref.name,\n onFocus = _ref.onFocus;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_9__.jsx)(\"input\", {\n required: true,\n name: name,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n onFocus: onFocus,\n css: _ref2\n // Prevent `Switching from uncontrolled to controlled` error\n ,\n value: \"\",\n onChange: function onChange() {}\n });\n};\nvar RequiredInput$1 = RequiredInput;\n\n/// <reference types=\"user-agent-data-types\" />\n\nfunction testPlatform(re) {\n var _window$navigator$use;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window$navigator$use = window.navigator['userAgentData']) === null || _window$navigator$use === void 0 ? void 0 : _window$navigator$use.platform) || window.navigator.platform) : false;\n}\nfunction isIPhone() {\n return testPlatform(/^iPhone/i);\n}\nfunction isMac() {\n return testPlatform(/^Mac/i);\n}\nfunction isIPad() {\n return testPlatform(/^iPad/i) ||\n // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n isMac() && navigator.maxTouchPoints > 1;\n}\nfunction isIOS() {\n return isIPhone() || isIPad();\n}\nfunction isAppleDevice() {\n return isMac() || isIOS();\n}\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\nvar getOptionLabel$1 = function getOptionLabel(option) {\n return option.label;\n};\nvar getOptionValue$1 = function getOptionValue(option) {\n return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.a,\n container: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.b,\n control: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.d,\n dropdownIndicator: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.e,\n group: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.g,\n groupHeading: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.f,\n indicatorsContainer: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.i,\n indicatorSeparator: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.h,\n input: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.j,\n loadingIndicator: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.l,\n loadingMessage: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.k,\n menu: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.m,\n menuList: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.n,\n menuPortal: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.o,\n multiValue: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.p,\n multiValueLabel: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.q,\n multiValueRemove: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.t,\n noOptionsMessage: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.u,\n option: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.v,\n placeholder: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.w,\n singleValue: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.x,\n valueContainer: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.y\n};\n// Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // initialize with source styles\n var styles = (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, source);\n\n // massage in target styles\n Object.keys(target).forEach(function (keyAsString) {\n var key = keyAsString;\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4;\n// Used to calculate consistent margin/padding on elements\nvar baseUnit = 4;\n// The minimum height of the control\nvar controlHeight = 38;\n// The amount of space between the control and menu */\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\n\nvar defaultProps = {\n 'aria-live': 'polite',\n backspaceRemovesValue: true,\n blurInputOnSelect: (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.z)(),\n captureMenuScroll: !(0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.z)(),\n classNames: {},\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel$1,\n getOptionValue: getOptionValue$1,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !(0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.A)(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: 0,\n tabSelectsValue: true,\n unstyled: false\n};\nfunction toCategorizedOption(props, option, selectValue, index) {\n var isDisabled = _isOptionDisabled(props, option, selectValue);\n var isSelected = _isOptionSelected(props, option, selectValue);\n var label = getOptionLabel(props, option);\n var value = getOptionValue(props, option);\n return {\n type: 'option',\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n label: label,\n value: value,\n index: index\n };\n}\nfunction buildCategorizedOptions(props, selectValue) {\n return props.options.map(function (groupOrOption, groupOrOptionIndex) {\n if ('options' in groupOrOption) {\n var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {\n return toCategorizedOption(props, option, selectValue, optionIndex);\n }).filter(function (categorizedOption) {\n return isFocusable(props, categorizedOption);\n });\n return categorizedOptions.length > 0 ? {\n type: 'group',\n data: groupOrOption,\n options: categorizedOptions,\n index: groupOrOptionIndex\n } : undefined;\n }\n var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);\n return isFocusable(props, categorizedOption) ? categorizedOption : undefined;\n }).filter(_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.K);\n}\nfunction buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(categorizedOption.options.map(function (option) {\n return option.data;\n })));\n } else {\n optionsAccumulator.push(categorizedOption.data);\n }\n return optionsAccumulator;\n }, []);\n}\nfunction buildFocusableOptionsWithIds(categorizedOptions, optionId) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(categorizedOption.options.map(function (option) {\n return {\n data: option.data,\n id: \"\".concat(optionId, \"-\").concat(categorizedOption.index, \"-\").concat(option.index)\n };\n })));\n } else {\n optionsAccumulator.push({\n data: categorizedOption.data,\n id: \"\".concat(optionId, \"-\").concat(categorizedOption.index)\n });\n }\n return optionsAccumulator;\n }, []);\n}\nfunction buildFocusableOptions(props, selectValue) {\n return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));\n}\nfunction isFocusable(props, categorizedOption) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;\n var data = categorizedOption.data,\n isSelected = categorizedOption.isSelected,\n label = categorizedOption.label,\n value = categorizedOption.value;\n return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {\n label: label,\n value: value,\n data: data\n }, inputValue);\n}\nfunction getNextFocusedValue(state, nextSelectValue) {\n var focusedValue = state.focusedValue,\n lastSelectValue = state.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n return null;\n}\nfunction getNextFocusedOption(state, options) {\n var lastFocusedOption = state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n}\nvar getFocusedOptionId = function getFocusedOptionId(focusableOptionsWithIds, focusedOption) {\n var _focusableOptionsWith;\n var focusedOptionId = (_focusableOptionsWith = focusableOptionsWithIds.find(function (option) {\n return option.data === focusedOption;\n })) === null || _focusableOptionsWith === void 0 ? void 0 : _focusableOptionsWith.id;\n return focusedOptionId || null;\n};\nvar getOptionLabel = function getOptionLabel(props, data) {\n return props.getOptionLabel(data);\n};\nvar getOptionValue = function getOptionValue(props, data) {\n return props.getOptionValue(data);\n};\nfunction _isOptionDisabled(props, option, selectValue) {\n return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;\n}\nfunction _isOptionSelected(props, option, selectValue) {\n if (selectValue.indexOf(option) > -1) return true;\n if (typeof props.isOptionSelected === 'function') {\n return props.isOptionSelected(option, selectValue);\n }\n var candidate = getOptionValue(props, option);\n return selectValue.some(function (i) {\n return getOptionValue(props, i) === candidate;\n });\n}\nfunction _filterOption(props, option, inputValue) {\n return props.filterOption ? props.filterOption(option, inputValue) : true;\n}\nvar shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {\n var hideSelectedOptions = props.hideSelectedOptions,\n isMulti = props.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n};\nvar instanceId = 1;\nvar Select = /*#__PURE__*/function (_Component) {\n (0,_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Select, _Component);\n var _super = (0,_babel_runtime_helpers_esm_createSuper__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Select);\n // Misc. Instance Properties\n // ------------------------------\n\n // TODO\n\n // Refs\n // ------------------------------\n\n // Lifecycle\n // ------------------------------\n\n function Select(_props) {\n var _this;\n (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, Select);\n _this = _super.call(this, _props);\n _this.state = {\n ariaSelection: null,\n focusedOption: null,\n focusedOptionId: null,\n focusableOptionsWithIds: [],\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n selectValue: [],\n clearFocusValueOnUpdate: false,\n prevWasFocused: false,\n inputIsHiddenAfterUpdate: undefined,\n prevProps: undefined,\n instancePrefix: '',\n isAppleDevice: false\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.commonProps = void 0;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n _this.focusedOptionRef = null;\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n _this.menuListRef = null;\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n _this.inputRef = null;\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n actionMeta.name = name;\n _this.ariaOnChange(newValue, actionMeta);\n onChange(newValue, actionMeta);\n };\n _this.setValue = function (newValue, action, option) {\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti,\n inputValue = _this$props2.inputValue;\n _this.onInputChange('', {\n action: 'set-value',\n prevInputValue: inputValue\n });\n if (closeMenuOnSelect) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n _this.onMenuClose();\n }\n // when the select value should change, we should reset focusedValue\n _this.setState({\n clearFocusValueOnUpdate: true\n });\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti,\n name = _this$props3.name;\n var selectValue = _this.state.selectValue;\n var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);\n var isDisabled = _this.isOptionDisabled(newValue, selectValue);\n if (deselected) {\n var candidate = _this.getOptionValue(newValue);\n _this.setValue((0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.B)(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n })), 'deselect-option', newValue);\n } else if (!isDisabled) {\n // Select option if option is not disabled\n if (isMulti) {\n _this.setValue((0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.B)([].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(selectValue), [newValue])), 'select-option', newValue);\n } else {\n _this.setValue((0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.C)(newValue), 'select-option');\n }\n } else {\n _this.ariaOnChange((0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.C)(newValue), {\n action: 'select-option',\n option: newValue,\n name: name\n });\n return;\n }\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n _this.removeValue = function (removedValue) {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var candidate = _this.getOptionValue(removedValue);\n var newValueArray = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n var newValue = (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.D)(isMulti, newValueArray, newValueArray[0] || null);\n _this.onChange(newValue, {\n action: 'remove-value',\n removedValue: removedValue\n });\n _this.focusInput();\n };\n _this.clearValue = function () {\n var selectValue = _this.state.selectValue;\n _this.onChange((0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.D)(_this.props.isMulti, [], null), {\n action: 'clear',\n removedValues: selectValue\n });\n };\n _this.popValue = function () {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValueArray = selectValue.slice(0, selectValue.length - 1);\n var newValue = (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.D)(isMulti, newValueArray, newValueArray[0] || null);\n if (lastSelectedValue) {\n _this.onChange(newValue, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n }\n };\n _this.getFocusedOptionId = function (focusedOption) {\n return getFocusedOptionId(_this.state.focusableOptionsWithIds, focusedOption);\n };\n _this.getFocusableOptionsWithIds = function () {\n return buildFocusableOptionsWithIds(buildCategorizedOptions(_this.props, _this.state.selectValue), _this.getElementId('option'));\n };\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.E.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n _this.getOptionLabel = function (data) {\n return getOptionLabel(_this.props, data);\n };\n _this.getOptionValue = function (data) {\n return getOptionValue(_this.props, data);\n };\n _this.getStyles = function (key, props) {\n var unstyled = _this.props.unstyled;\n var base = defaultStyles[key](props, unstyled);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n _this.getClassNames = function (key, props) {\n var _this$props$className, _this$props$className2;\n return (_this$props$className = (_this$props$className2 = _this.props.classNames)[key]) === null || _this$props$className === void 0 ? void 0 : _this$props$className.call(_this$props$className2, props);\n };\n _this.getElementId = function (element) {\n return \"\".concat(_this.state.instancePrefix, \"-\").concat(element);\n };\n _this.getComponents = function () {\n return (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.F)(_this.props);\n };\n _this.buildCategorizedOptions = function () {\n return buildCategorizedOptions(_this.props, _this.state.selectValue);\n };\n _this.getCategorizedOptions = function () {\n return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];\n };\n _this.buildFocusableOptions = function () {\n return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());\n };\n _this.getFocusableOptions = function () {\n return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];\n };\n _this.ariaOnChange = function (value, actionMeta) {\n _this.setState({\n ariaSelection: (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n value: value\n }, actionMeta)\n });\n };\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.stopPropagation();\n event.preventDefault();\n _this.focusInput();\n };\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n _this.onControlMouseDown = function (event) {\n // Event captured by dropdown indicator\n if (event.defaultPrevented) {\n return;\n }\n var openMenuOnClick = _this.props.openMenuOnClick;\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if (event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n if (event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n _this.focusInput();\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n event.preventDefault();\n };\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n _this.clearValue();\n event.preventDefault();\n _this.openAfterFocus = false;\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.G)(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n _this.onTouchStart = function (_ref2) {\n var touches = _ref2.touches;\n var touch = touches && touches.item(0);\n if (!touch) {\n return;\n }\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n _this.onTouchMove = function (_ref3) {\n var touches = _ref3.touches;\n var touch = touches && touches.item(0);\n if (!touch) {\n return;\n }\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n }\n\n // reset move vars\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n _this.onControlMouseDown(event);\n };\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n _this.onClearIndicatorMouseDown(event);\n };\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n _this.onDropdownIndicatorMouseDown(event);\n };\n _this.handleInputChange = function (event) {\n var prevInputValue = _this.props.inputValue;\n var inputValue = event.currentTarget.value;\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n _this.onInputChange(inputValue, {\n action: 'input-change',\n prevInputValue: prevInputValue\n });\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n _this.onInputFocus = function (event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n _this.setState({\n inputIsHiddenAfterUpdate: false,\n isFocused: true\n });\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n _this.openAfterFocus = false;\n };\n _this.onInputBlur = function (event) {\n var prevInputValue = _this.props.inputValue;\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n return;\n }\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n _this.onInputChange('', {\n action: 'input-blur',\n prevInputValue: prevInputValue\n });\n _this.onMenuClose();\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n var options = _this.getFocusableOptions();\n var focusedOptionIndex = options.indexOf(focusedOption);\n _this.setState({\n focusedOption: focusedOption,\n focusedOptionId: focusedOptionIndex > -1 ? _this.getFocusedOptionId(focusedOption) : null\n });\n };\n _this.shouldHideSelectedOptions = function () {\n return shouldHideSelectedOptions(_this.props);\n };\n _this.onValueInputFocus = function (e) {\n e.preventDefault();\n e.stopPropagation();\n _this.focus();\n };\n _this.onKeyDown = function (event) {\n var _this$props5 = _this.props,\n isMulti = _this$props5.isMulti,\n backspaceRemovesValue = _this$props5.backspaceRemovesValue,\n escapeClearsValue = _this$props5.escapeClearsValue,\n inputValue = _this$props5.inputValue,\n isClearable = _this$props5.isClearable,\n isDisabled = _this$props5.isDisabled,\n menuIsOpen = _this$props5.menuIsOpen,\n onKeyDown = _this$props5.onKeyDown,\n tabSelectsValue = _this$props5.tabSelectsValue,\n openMenuOnFocus = _this$props5.openMenuOnFocus;\n var _this$state = _this.state,\n focusedOption = _this$state.focusedOption,\n focusedValue = _this$state.focusedValue,\n selectValue = _this$state.selectValue;\n if (isDisabled) return;\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n // Block option hover events when the user has just pressed a key\n _this.blockOptionHover = true;\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n _this.focusValue('previous');\n break;\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n _this.focusValue('next');\n break;\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n break;\n case 'Tab':\n if (_this.isComposing) return;\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption ||\n // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n _this.selectOption(focusedOption);\n break;\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n _this.selectOption(focusedOption);\n break;\n }\n return;\n case 'Escape':\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n _this.onInputChange('', {\n action: 'menu-close',\n prevInputValue: inputValue\n });\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n break;\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n if (!menuIsOpen) {\n _this.openMenu('first');\n break;\n }\n if (!focusedOption) return;\n _this.selectOption(focusedOption);\n break;\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n break;\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n break;\n case 'PageUp':\n if (!menuIsOpen) return;\n _this.focusOption('pageup');\n break;\n case 'PageDown':\n if (!menuIsOpen) return;\n _this.focusOption('pagedown');\n break;\n case 'Home':\n if (!menuIsOpen) return;\n _this.focusOption('first');\n break;\n case 'End':\n if (!menuIsOpen) return;\n _this.focusOption('last');\n break;\n default:\n return;\n }\n event.preventDefault();\n };\n _this.state.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n _this.state.selectValue = (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.H)(_props.value);\n // Set focusedOption if menuIsOpen is set on init (e.g. defaultMenuIsOpen)\n if (_props.menuIsOpen && _this.state.selectValue.length) {\n var focusableOptionsWithIds = _this.getFocusableOptionsWithIds();\n var focusableOptions = _this.buildFocusableOptions();\n var optionIndex = focusableOptions.indexOf(_this.state.selectValue[0]);\n _this.state.focusableOptionsWithIds = focusableOptionsWithIds;\n _this.state.focusedOption = focusableOptions[optionIndex];\n _this.state.focusedOptionId = getFocusedOptionId(focusableOptionsWithIds, focusableOptions[optionIndex]);\n }\n return _this;\n }\n (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n if (this.props.autoFocus) {\n this.focusInput();\n }\n\n // Scroll focusedOption into view if menuIsOpen is set on mount (e.g. defaultMenuIsOpen)\n if (this.props.menuIsOpen && this.state.focusedOption && this.menuListRef && this.focusedOptionRef) {\n (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.I)(this.menuListRef, this.focusedOptionRef);\n }\n if (isAppleDevice()) {\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n isAppleDevice: true\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props6 = this.props,\n isDisabled = _this$props6.isDisabled,\n menuIsOpen = _this$props6.menuIsOpen;\n var isFocused = this.state.isFocused;\n if (\n // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled ||\n // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programmatically disabled while focused\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } else if (!isFocused && !isDisabled && prevProps.isDisabled && this.inputRef === document.activeElement) {\n // ensure select state gets focused in case Select is programatically re-enabled while focused (Firefox)\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n isFocused: true\n });\n }\n\n // scroll the focused option into view if necessary\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.I)(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n }\n\n // ==============================\n // Consumer Handlers\n // ==============================\n }, {\n key: \"onMenuOpen\",\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n this.onInputChange('', {\n action: 'menu-close',\n prevInputValue: this.props.inputValue\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n }\n\n // ==============================\n // Methods\n // ==============================\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n }\n\n // aliased for consumers\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n var _this$state2 = this.state,\n selectValue = _this$state2.selectValue,\n isFocused = _this$state2.isFocused;\n var focusableOptions = this.buildFocusableOptions();\n var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;\n if (!this.props.isMulti) {\n var selectedIndex = focusableOptions.indexOf(selectValue[0]);\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n }\n\n // only scroll if the menu isn't already open\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.setState({\n inputIsHiddenAfterUpdate: false,\n focusedValue: null,\n focusedOption: focusableOptions[openAtIndex],\n focusedOptionId: this.getFocusedOptionId(focusableOptions[openAtIndex])\n }, function () {\n return _this2.onMenuOpen();\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n focusedValue = _this$state3.focusedValue;\n\n // Only multiselects support value focusing\n if (!this.props.isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n if (!focusedValue) {\n focusedIndex = -1;\n }\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n break;\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n break;\n }\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var focusedOption = this.state.focusedOption;\n var options = this.getFocusableOptions();\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n var focusedIndex = options.indexOf(focusedOption);\n if (!focusedOption) {\n focusedIndex = -1;\n }\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null,\n focusedOptionId: this.getFocusedOptionId(options[nextFocus])\n });\n }\n }, {\n key: \"getTheme\",\n value:\n // ==============================\n // Getters\n // ==============================\n\n function getTheme() {\n // Use the default theme if there are no customisations.\n if (!this.props.theme) {\n return defaultTheme;\n }\n // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n }\n // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getClassNames = this.getClassNames,\n getValue = this.getValue,\n selectOption = this.selectOption,\n setValue = this.setValue,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n clearValue: clearValue,\n cx: cx,\n getStyles: getStyles,\n getClassNames: getClassNames,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n selectProps: props,\n setValue: setValue,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.getFocusableOptions().length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props7 = this.props,\n isClearable = _this$props7.isClearable,\n isMulti = _this$props7.isMulti;\n\n // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return _isOptionDisabled(this.props, option, selectValue);\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n return _isOptionSelected(this.props, option, selectValue);\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return _filterOption(this.props, option, inputValue);\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var _inputValue = this.props.inputValue;\n var _selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: _inputValue,\n selectValue: _selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n }\n\n // ==============================\n // Mouse Handlers\n // ==============================\n }, {\n key: \"startListeningComposition\",\n value:\n // ==============================\n // Composition Handlers\n // ==============================\n\n function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n value:\n // ==============================\n // Touch Handlers\n // ==============================\n\n function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"renderInput\",\n value:\n // ==============================\n // Renderers\n // ==============================\n function renderInput() {\n var _this$props8 = this.props,\n isDisabled = _this$props8.isDisabled,\n isSearchable = _this$props8.isSearchable,\n inputId = _this$props8.inputId,\n inputValue = _this$props8.inputValue,\n tabIndex = _this$props8.tabIndex,\n form = _this$props8.form,\n menuIsOpen = _this$props8.menuIsOpen,\n required = _this$props8.required;\n var _this$getComponents = this.getComponents(),\n Input = _this$getComponents.Input;\n var _this$state4 = this.state,\n inputIsHidden = _this$state4.inputIsHidden,\n ariaSelection = _this$state4.ariaSelection;\n var commonProps = this.commonProps;\n var id = inputId || this.getElementId('input');\n\n // aria attributes makes the JSX \"noisy\", separated for clarity\n var ariaAttributes = (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n 'aria-autocomplete': 'list',\n 'aria-expanded': menuIsOpen,\n 'aria-haspopup': true,\n 'aria-errormessage': this.props['aria-errormessage'],\n 'aria-invalid': this.props['aria-invalid'],\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby'],\n 'aria-required': required,\n role: 'combobox',\n 'aria-activedescendant': this.state.isAppleDevice ? undefined : this.state.focusedOptionId || ''\n }, menuIsOpen && {\n 'aria-controls': this.getElementId('listbox')\n }), !isSearchable && {\n 'aria-readonly': true\n }), this.hasValue() ? (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus' && {\n 'aria-describedby': this.getElementId('live-region')\n } : {\n 'aria-describedby': this.getElementId('placeholder')\n });\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(DummyInput, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.J,\n onFocus: this.onInputFocus,\n disabled: isDisabled,\n tabIndex: tabIndex,\n inputMode: \"none\",\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(Input, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this3 = this;\n var _this$getComponents2 = this.getComponents(),\n MultiValue = _this$getComponents2.MultiValue,\n MultiValueContainer = _this$getComponents2.MultiValueContainer,\n MultiValueLabel = _this$getComponents2.MultiValueLabel,\n MultiValueRemove = _this$getComponents2.MultiValueRemove,\n SingleValue = _this$getComponents2.SingleValue,\n Placeholder = _this$getComponents2.Placeholder;\n var commonProps = this.commonProps;\n var _this$props9 = this.props,\n controlShouldRenderValue = _this$props9.controlShouldRenderValue,\n isDisabled = _this$props9.isDisabled,\n isMulti = _this$props9.isMulti,\n inputValue = _this$props9.inputValue,\n placeholder = _this$props9.placeholder;\n var _this$state5 = this.state,\n selectValue = _this$state5.selectValue,\n focusedValue = _this$state5.focusedValue,\n isFocused = _this$state5.isFocused;\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(Placeholder, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused,\n innerProps: {\n id: this.getElementId('placeholder')\n }\n }), placeholder);\n }\n if (isMulti) {\n return selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n var key = \"\".concat(_this3.getOptionLabel(opt), \"-\").concat(_this3.getOptionValue(opt));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(MultiValue, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: key,\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this3.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this3.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n },\n data: opt\n }), _this3.formatOptionLabel(opt, 'value'));\n });\n }\n if (inputValue) {\n return null;\n }\n var singleValue = selectValue[0];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(SingleValue, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var _this$getComponents3 = this.getComponents(),\n ClearIndicator = _this$getComponents3.ClearIndicator;\n var commonProps = this.commonProps;\n var _this$props10 = this.props,\n isDisabled = _this$props10.isDisabled,\n isLoading = _this$props10.isLoading;\n var isFocused = this.state.isFocused;\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(ClearIndicator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var _this$getComponents4 = this.getComponents(),\n LoadingIndicator = _this$getComponents4.LoadingIndicator;\n var commonProps = this.commonProps;\n var _this$props11 = this.props,\n isDisabled = _this$props11.isDisabled,\n isLoading = _this$props11.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(LoadingIndicator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$getComponents5 = this.getComponents(),\n DropdownIndicator = _this$getComponents5.DropdownIndicator,\n IndicatorSeparator = _this$getComponents5.IndicatorSeparator;\n\n // separator doesn't make sense without the dropdown indicator\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(IndicatorSeparator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var _this$getComponents6 = this.getComponents(),\n DropdownIndicator = _this$getComponents6.DropdownIndicator;\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(DropdownIndicator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this4 = this;\n var _this$getComponents7 = this.getComponents(),\n Group = _this$getComponents7.Group,\n GroupHeading = _this$getComponents7.GroupHeading,\n Menu = _this$getComponents7.Menu,\n MenuList = _this$getComponents7.MenuList,\n MenuPortal = _this$getComponents7.MenuPortal,\n LoadingMessage = _this$getComponents7.LoadingMessage,\n NoOptionsMessage = _this$getComponents7.NoOptionsMessage,\n Option = _this$getComponents7.Option;\n var commonProps = this.commonProps;\n var focusedOption = this.state.focusedOption;\n var _this$props12 = this.props,\n captureMenuScroll = _this$props12.captureMenuScroll,\n inputValue = _this$props12.inputValue,\n isLoading = _this$props12.isLoading,\n loadingMessage = _this$props12.loadingMessage,\n minMenuHeight = _this$props12.minMenuHeight,\n maxMenuHeight = _this$props12.maxMenuHeight,\n menuIsOpen = _this$props12.menuIsOpen,\n menuPlacement = _this$props12.menuPlacement,\n menuPosition = _this$props12.menuPosition,\n menuPortalTarget = _this$props12.menuPortalTarget,\n menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,\n noOptionsMessage = _this$props12.noOptionsMessage,\n onMenuScrollToTop = _this$props12.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;\n if (!menuIsOpen) return null;\n\n // TODO: Internal Option Type here\n var render = function render(props, id) {\n var type = props.type,\n data = props.data,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n label = props.label,\n value = props.value;\n var isFocused = focusedOption === data;\n var onHover = isDisabled ? undefined : function () {\n return _this4.onOptionHover(data);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this4.selectOption(data);\n };\n var optionId = \"\".concat(_this4.getElementId('option'), \"-\").concat(id);\n var innerProps = {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1,\n role: 'option',\n 'aria-selected': _this4.state.isAppleDevice ? undefined : isSelected // is not supported on Apple devices\n };\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(Option, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n innerProps: innerProps,\n data: data,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: type,\n value: value,\n isFocused: isFocused,\n innerRef: isFocused ? _this4.getFocusedOptionRef : undefined\n }), _this4.formatOptionLabel(props.data, 'menu'));\n };\n var menuUI;\n if (this.hasOptions()) {\n menuUI = this.getCategorizedOptions().map(function (item) {\n if (item.type === 'group') {\n var _data = item.data,\n options = item.options,\n groupIndex = item.index;\n var groupId = \"\".concat(_this4.getElementId('group'), \"-\").concat(groupIndex);\n var headingId = \"\".concat(groupId, \"-heading\");\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(Group, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n key: groupId,\n data: _data,\n options: options,\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this4.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option, \"\".concat(groupIndex, \"-\").concat(option.index));\n }));\n } else if (item.type === 'option') {\n return render(item, \"\".concat(item.index));\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n if (_message === null) return null;\n menuUI = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(NoOptionsMessage, commonProps, _message);\n }\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.M, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, menuPlacementProps), function (_ref4) {\n var ref = _ref4.ref,\n _ref4$placerProps = _ref4.placerProps,\n placement = _ref4$placerProps.placement,\n maxHeight = _ref4$placerProps.maxHeight;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(Menu, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this4.onMenuMouseDown,\n onMouseMove: _this4.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(ScrollManager, {\n captureEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom,\n lockEnabled: menuShouldBlockScroll\n }, function (scrollTargetRef) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(MenuList, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n innerRef: function innerRef(instance) {\n _this4.getMenuListRef(instance);\n scrollTargetRef(instance);\n },\n innerProps: {\n role: 'listbox',\n 'aria-multiselectable': commonProps.isMulti,\n id: _this4.getElementId('listbox')\n },\n isLoading: isLoading,\n maxHeight: maxHeight,\n focusedOption: focusedOption\n }), menuUI);\n }));\n });\n\n // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(MenuPortal, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this5 = this;\n var _this$props13 = this.props,\n delimiter = _this$props13.delimiter,\n isDisabled = _this$props13.isDisabled,\n isMulti = _this$props13.isMulti,\n name = _this$props13.name,\n required = _this$props13.required;\n var selectValue = this.state.selectValue;\n if (required && !this.hasValue() && !isDisabled) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(RequiredInput$1, {\n name: name,\n onFocus: this.onValueInputFocus\n });\n }\n if (!name || isDisabled) return;\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this5.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this5.getOptionValue(opt)\n });\n }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: \"\"\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n var commonProps = this.commonProps;\n var _this$state6 = this.state,\n ariaSelection = _this$state6.ariaSelection,\n focusedOption = _this$state6.focusedOption,\n focusedValue = _this$state6.focusedValue,\n isFocused = _this$state6.isFocused,\n selectValue = _this$state6.selectValue;\n var focusableOptions = this.getFocusableOptions();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(LiveRegion$1, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n id: this.getElementId('live-region'),\n ariaSelection: ariaSelection,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n isFocused: isFocused,\n selectValue: selectValue,\n focusableOptions: focusableOptions,\n isAppleDevice: this.state.isAppleDevice\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getComponents8 = this.getComponents(),\n Control = _this$getComponents8.Control,\n IndicatorsContainer = _this$getComponents8.IndicatorsContainer,\n SelectContainer = _this$getComponents8.SelectContainer,\n ValueContainer = _this$getComponents8.ValueContainer;\n var _this$props14 = this.props,\n className = _this$props14.className,\n id = _this$props14.id,\n isDisabled = _this$props14.isDisabled,\n menuIsOpen = _this$props14.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(SelectContainer, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(Control, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(ValueContainer, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7__.createElement(IndicatorsContainer, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var prevProps = state.prevProps,\n clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,\n inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate,\n ariaSelection = state.ariaSelection,\n isFocused = state.isFocused,\n prevWasFocused = state.prevWasFocused,\n instancePrefix = state.instancePrefix;\n var options = props.options,\n value = props.value,\n menuIsOpen = props.menuIsOpen,\n inputValue = props.inputValue,\n isMulti = props.isMulti;\n var selectValue = (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.H)(value);\n var newMenuOptionsState = {};\n if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {\n var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];\n var focusableOptionsWithIds = menuIsOpen ? buildFocusableOptionsWithIds(buildCategorizedOptions(props, selectValue), \"\".concat(instancePrefix, \"-option\")) : [];\n var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;\n var focusedOption = getNextFocusedOption(state, focusableOptions);\n var focusedOptionId = getFocusedOptionId(focusableOptionsWithIds, focusedOption);\n newMenuOptionsState = {\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedOptionId: focusedOptionId,\n focusableOptionsWithIds: focusableOptionsWithIds,\n focusedValue: focusedValue,\n clearFocusValueOnUpdate: false\n };\n }\n // some updates should toggle the state of the input visibility\n var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {\n inputIsHidden: inputIsHiddenAfterUpdate,\n inputIsHiddenAfterUpdate: undefined\n } : {};\n var newAriaSelection = ariaSelection;\n var hasKeptFocus = isFocused && prevWasFocused;\n if (isFocused && !hasKeptFocus) {\n // If `value` or `defaultValue` props are not empty then announce them\n // when the Select is initially focused\n newAriaSelection = {\n value: (0,_index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_11__.D)(isMulti, selectValue, selectValue[0] || null),\n options: selectValue,\n action: 'initial-input-focus'\n };\n hasKeptFocus = !prevWasFocused;\n }\n\n // If the 'initial-input-focus' action has been set already\n // then reset the ariaSelection to null\n if ((ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus') {\n newAriaSelection = null;\n }\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, newMenuOptionsState), newInputIsHiddenState), {}, {\n prevProps: props,\n ariaSelection: newAriaSelection,\n prevWasFocused: hasKeptFocus\n });\n }\n }]);\n return Select;\n}(react__WEBPACK_IMPORTED_MODULE_7__.Component);\nSelect.defaultProps = defaultProps;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9TZWxlY3QtZWY3YzA0MjYuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTBEO0FBQ1c7QUFDRztBQUNOO0FBQ047QUFDTTtBQUNZO0FBQy9DO0FBQ3NEO0FBQ210QjtBQUM5dkI7QUFDTDtBQUNxRDs7QUFFMUYsZ0RBQWdEOztBQUVoRDtBQUNBLFdBQVcsTUFBcUMsR0FBRyxDQUdsRCxDQUFDO0FBQ0Y7QUFDQSwwQkFBMEIsYUFBYSxTQUFTLDhCQUE4QixXQUFXLFVBQVUsa0JBQWtCLGdCQUFnQixVQUFVLG1CQUFtQixlQUFlO0FBQ2pMLG1EQUFtRCxjQUFjO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBLFNBQVMsbURBQUcsU0FBUyw4RUFBUTtBQUM3QjtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQiw4Q0FBTztBQUN4QixXQUFXLG9GQUFhLENBQUMsb0ZBQWEsR0FBRyxrREFBa0Q7QUFDM0YsR0FBRzs7QUFFSDtBQUNBLHFCQUFxQiw4Q0FBTztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsb0ZBQWE7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsb0JBQW9CLDhDQUFPO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsb0JBQW9CLDhDQUFPO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EscUJBQXFCLDhDQUFPO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEdBQUc7QUFDSCx5QkFBeUIsbURBQUcsQ0FBQywyQ0FBUSxRQUFRLG1EQUFHO0FBQ2hEO0FBQ0EsR0FBRyxpQkFBaUIsbURBQUc7QUFDdkI7QUFDQSxHQUFHLGdCQUFnQixtREFBRztBQUN0QjtBQUNBLEdBQUcsZ0JBQWdCLG1EQUFHO0FBQ3RCO0FBQ0EsR0FBRztBQUNILFNBQVMsbURBQUcsQ0FBQywyQ0FBUSxRQUFRLG1EQUFHO0FBQ2hDO0FBQ0EsR0FBRyx1Q0FBdUMsbURBQUc7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxnQkFBZ0IsdUJBQXVCO0FBQ3ZDO0FBQ0Esa0JBQWtCLDhCQUE4QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsc0NBQXNDLHdEQUFVO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEVBQTBFLGFBQWE7QUFDdkY7QUFDQTtBQUNBLGFBQWEsc0RBQVU7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDBEQUFpQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsb0ZBQWE7QUFDcEM7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsMERBQWlCO0FBQ3BFO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkIsb0ZBQWEsQ0FBQyxvRkFBYSxDQUFDLG9GQUFhO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSw0QkFBNEIsZ0RBQW1CLGFBQWEsOEVBQVE7QUFDcEU7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNEQUFJO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDBCQUEwQixnREFBbUIsUUFBUSw4RUFBUSxHQUFHO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxnREFBbUIsY0FBYyw4RUFBUSxHQUFHO0FBQzVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGdEQUFtQixhQUFhLDhFQUFRLEdBQUc7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0RBQW1CLGNBQWMsOEVBQVEsR0FBRztBQUN0RTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0RBQW1CLGlCQUFpQiw4RUFBUSxHQUFHO0FBQ3pFO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0RBQW1CLG1CQUFtQiw4RUFBUSxHQUFHO0FBQzNFO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0RBQW1CLHFCQUFxQiw4RUFBUSxHQUFHO0FBQzdFO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0RBQW1CLG9CQUFvQiw4RUFBUSxHQUFHO0FBQzVFO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0QkFBNEIsZ0RBQW1CLFNBQVMsOEVBQVEsR0FBRztBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxnREFBbUIsUUFBUSw4RUFBUSxHQUFHO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsYUFBYTtBQUNiLFlBQVk7QUFDWjtBQUNBO0FBQ0EsU0FBUztBQUNULFFBQVE7QUFDUjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsOEJBQThCLGdEQUFtQjtBQUNqRCxRQUFRO0FBQ1I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDhCQUE4QixnREFBbUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxnREFBbUIsQ0FBQyxzREFBVSxFQUFFLDhFQUFRLEdBQUc7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsZ0RBQW1CLE9BQU8sOEVBQVEsR0FBRztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUyxnQkFBZ0IsZ0RBQW1CO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULDhCQUE4QixnREFBbUIsV0FBVyw4RUFBUSxHQUFHO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0EseUVBQXlFLGdEQUFtQixhQUFhLDhFQUFRLEdBQUc7QUFDcEg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixnREFBbUI7QUFDL0M7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsOEJBQThCLGdEQUFtQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsVUFBVTtBQUNWO0FBQ0EsZ0NBQWdDLGdEQUFtQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixXQUFXLGlCQUFpQixnREFBbUI7QUFDL0M7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLDhCQUE4QixnREFBbUI7QUFDakQ7QUFDQSxRQUFRO0FBQ1I7QUFDQSw0QkFBNEIsZ0RBQW1CO0FBQy9DO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGdEQUFtQixlQUFlLDhFQUFRLEdBQUc7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGdEQUFtQixrQkFBa0IsOEVBQVEsR0FBRztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTyx5Q0FBeUMsZ0RBQW1CLFVBQVUsOEVBQVEsR0FBRztBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPLGdCQUFnQixnREFBbUIsaUJBQWlCLDhFQUFRLEdBQUc7QUFDdEU7QUFDQSxPQUFPLHNFQUFzRSxnREFBbUIsc0JBQXNCLDhFQUFRLEdBQUc7QUFDakk7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwwREFBVTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiwwREFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG9GQUFhLENBQUMsb0ZBQWEsQ0FBQyxvRkFBYSxHQUFHLGtEQUFrRDtBQUMzRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDLENBQUMsNENBQVM7QUFDWDs7QUFFZ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNlbGVjdC9kaXN0L1NlbGVjdC1lZjdjMDQyNi5lc20uanM/YTlhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcyc7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyJztcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY2xhc3NDYWxsQ2hlY2snO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVDbGFzcyc7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2luaGVyaXRzJztcbmltcG9ydCBfY3JlYXRlU3VwZXIgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlU3VwZXInO1xuaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheSc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VNZW1vLCBGcmFnbWVudCwgdXNlUmVmLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByIGFzIHJlbW92ZVByb3BzLCBzIGFzIHN1cHBvcnRzUGFzc2l2ZUV2ZW50cywgYSBhcyBjbGVhckluZGljYXRvckNTUywgYiBhcyBjb250YWluZXJDU1MsIGQgYXMgY3NzJDEsIGUgYXMgZHJvcGRvd25JbmRpY2F0b3JDU1MsIGcgYXMgZ3JvdXBDU1MsIGYgYXMgZ3JvdXBIZWFkaW5nQ1NTLCBpIGFzIGluZGljYXRvcnNDb250YWluZXJDU1MsIGggYXMgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTLCBqIGFzIGlucHV0Q1NTLCBsIGFzIGxvYWRpbmdJbmRpY2F0b3JDU1MsIGsgYXMgbG9hZGluZ01lc3NhZ2VDU1MsIG0gYXMgbWVudUNTUywgbiBhcyBtZW51TGlzdENTUywgbyBhcyBtZW51UG9ydGFsQ1NTLCBwIGFzIG11bHRpVmFsdWVDU1MsIHEgYXMgbXVsdGlWYWx1ZUxhYmVsQ1NTLCB0IGFzIG11bHRpVmFsdWVSZW1vdmVDU1MsIHUgYXMgbm9PcHRpb25zTWVzc2FnZUNTUywgdiBhcyBvcHRpb25DU1MsIHcgYXMgcGxhY2Vob2xkZXJDU1MsIHggYXMgY3NzJDIsIHkgYXMgdmFsdWVDb250YWluZXJDU1MsIHogYXMgaXNUb3VjaENhcGFibGUsIEEgYXMgaXNNb2JpbGVEZXZpY2UsIEIgYXMgbXVsdGlWYWx1ZUFzVmFsdWUsIEMgYXMgc2luZ2xlVmFsdWVBc1ZhbHVlLCBEIGFzIHZhbHVlVGVybmFyeSwgRSBhcyBjbGFzc05hbWVzLCBGIGFzIGRlZmF1bHRDb21wb25lbnRzLCBHIGFzIGlzRG9jdW1lbnRFbGVtZW50LCBIIGFzIGNsZWFuVmFsdWUsIEkgYXMgc2Nyb2xsSW50b1ZpZXcsIEogYXMgbm9vcCwgTSBhcyBNZW51UGxhY2VyLCBLIGFzIG5vdE51bGxpc2ggfSBmcm9tICcuL2luZGV4LTY0MWVlNWI4LmVzbS5qcyc7XG5pbXBvcnQgeyBqc3gsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBtZW1vaXplT25lIGZyb20gJ21lbW9pemUtb25lJztcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyQyKCkgeyByZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7IH1cblxuLy8gQXNzaXN0aXZlIHRleHQgdG8gZGVzY3JpYmUgdmlzdWFsIGVsZW1lbnRzLiBIaWRkZW4gZm9yIHNpZ2h0ZWQgdXNlcnMuXG52YXIgX3JlZiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCI3cGcwY2otYTExeVRleHRcIixcbiAgc3R5bGVzOiBcImxhYmVsOmExMXlUZXh0O3otaW5kZXg6OTk5OTtib3JkZXI6MDtjbGlwOnJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtoZWlnaHQ6MXB4O3dpZHRoOjFweDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcFwiXG59IDoge1xuICBuYW1lOiBcIjFmNDNhdnotYTExeVRleHQtQTExeVRleHRcIixcbiAgc3R5bGVzOiBcImxhYmVsOmExMXlUZXh0O3otaW5kZXg6OTk5OTtib3JkZXI6MDtjbGlwOnJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtoZWlnaHQ6MXB4O3dpZHRoOjFweDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcDtsYWJlbDpBMTF5VGV4dDtcIixcbiAgbWFwOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrRXhNWGxVWlhoMExuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZQU1NJc0ltWnBiR1VpT2lKQk1URjVWR1Y0ZEM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lvZ1FHcHplQ0JxYzNnZ0tpOWNibWx0Y0c5eWRDQjdJRXBUV0NCOUlHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUdwemVDQjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JseHVMeThnUVhOemFYTjBhWFpsSUhSbGVIUWdkRzhnWkdWelkzSnBZbVVnZG1semRXRnNJR1ZzWlcxbGJuUnpMaUJJYVdSa1pXNGdabTl5SUhOcFoyaDBaV1FnZFhObGNuTXVYRzVqYjI1emRDQkJNVEY1VkdWNGRDQTlJQ2h3Y205d2N6b2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lkemNHRnVKMTBwSUQwK0lDaGNiaUFnUEhOd1lXNWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR3hoWW1Wc09pQW5ZVEV4ZVZSbGVIUW5MRnh1SUNBZ0lDQWdla2x1WkdWNE9pQTVPVGs1TEZ4dUlDQWdJQ0FnWW05eVpHVnlPaUF3TEZ4dUlDQWdJQ0FnWTJ4cGNEb2dKM0psWTNRb01YQjRMQ0F4Y0hnc0lERndlQ3dnTVhCNEtTY3NYRzRnSUNBZ0lDQm9aV2xuYUhRNklERXNYRzRnSUNBZ0lDQjNhV1IwYURvZ01TeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdiM1psY21ac2IzYzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0lDQWdJSGRvYVhSbFUzQmhZMlU2SUNkdWIzZHlZWEFuTEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnUVRFeGVWUmxlSFE3WEc0aVhYMD0gKi9cIixcbiAgdG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fJDJcbn07XG52YXIgQTExeVRleHQgPSBmdW5jdGlvbiBBMTF5VGV4dChwcm9wcykge1xuICByZXR1cm4ganN4KFwic3BhblwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOiBfcmVmXG4gIH0sIHByb3BzKSk7XG59O1xudmFyIEExMXlUZXh0JDEgPSBBMTF5VGV4dDtcblxudmFyIGRlZmF1bHRBcmlhTGl2ZU1lc3NhZ2VzID0ge1xuICBndWlkYW5jZTogZnVuY3Rpb24gZ3VpZGFuY2UocHJvcHMpIHtcbiAgICB2YXIgaXNTZWFyY2hhYmxlID0gcHJvcHMuaXNTZWFyY2hhYmxlLFxuICAgICAgaXNNdWx0aSA9IHByb3BzLmlzTXVsdGksXG4gICAgICB0YWJTZWxlY3RzVmFsdWUgPSBwcm9wcy50YWJTZWxlY3RzVmFsdWUsXG4gICAgICBjb250ZXh0ID0gcHJvcHMuY29udGV4dCxcbiAgICAgIGlzSW5pdGlhbEZvY3VzID0gcHJvcHMuaXNJbml0aWFsRm9jdXM7XG4gICAgc3dpdGNoIChjb250ZXh0KSB7XG4gICAgICBjYXNlICdtZW51JzpcbiAgICAgICAgcmV0dXJuIFwiVXNlIFVwIGFuZCBEb3duIHRvIGNob29zZSBvcHRpb25zLCBwcmVzcyBFbnRlciB0byBzZWxlY3QgdGhlIGN1cnJlbnRseSBmb2N1c2VkIG9wdGlvbiwgcHJlc3MgRXNjYXBlIHRvIGV4aXQgdGhlIG1lbnVcIi5jb25jYXQodGFiU2VsZWN0c1ZhbHVlID8gJywgcHJlc3MgVGFiIHRvIHNlbGVjdCB0aGUgb3B0aW9uIGFuZCBleGl0IHRoZSBtZW51JyA6ICcnLCBcIi5cIik7XG4gICAgICBjYXNlICdpbnB1dCc6XG4gICAgICAgIHJldHVybiBpc0luaXRpYWxGb2N1cyA/IFwiXCIuY29uY2F0KHByb3BzWydhcmlhLWxhYmVsJ10gfHwgJ1NlbGVjdCcsIFwiIGlzIGZvY3VzZWQgXCIpLmNvbmNhdChpc1NlYXJjaGFibGUgPyAnLHR5cGUgdG8gcmVmaW5lIGxpc3QnIDogJycsIFwiLCBwcmVzcyBEb3duIHRvIG9wZW4gdGhlIG1lbnUsIFwiKS5jb25jYXQoaXNNdWx0aSA/ICcgcHJlc3MgbGVmdCB0byBmb2N1cyBzZWxlY3RlZCB2YWx1ZXMnIDogJycpIDogJyc7XG4gICAgICBjYXNlICd2YWx1ZSc6XG4gICAgICAgIHJldHVybiAnVXNlIGxlZnQgYW5kIHJpZ2h0IHRvIHRvZ2dsZSBiZXR3ZWVuIGZvY3VzZWQgdmFsdWVzLCBwcmVzcyBCYWNrc3BhY2UgdG8gcmVtb3ZlIHRoZSBjdXJyZW50bHkgZm9jdXNlZCB2YWx1ZSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9LFxuICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UocHJvcHMpIHtcbiAgICB2YXIgYWN0aW9uID0gcHJvcHMuYWN0aW9uLFxuICAgICAgX3Byb3BzJGxhYmVsID0gcHJvcHMubGFiZWwsXG4gICAgICBsYWJlbCA9IF9wcm9wcyRsYWJlbCA9PT0gdm9pZCAwID8gJycgOiBfcHJvcHMkbGFiZWwsXG4gICAgICBsYWJlbHMgPSBwcm9wcy5sYWJlbHMsXG4gICAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZDtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAnZGVzZWxlY3Qtb3B0aW9uJzpcbiAgICAgIGNhc2UgJ3BvcC12YWx1ZSc6XG4gICAgICBjYXNlICdyZW1vdmUtdmFsdWUnOlxuICAgICAgICByZXR1cm4gXCJvcHRpb24gXCIuY29uY2F0KGxhYmVsLCBcIiwgZGVzZWxlY3RlZC5cIik7XG4gICAgICBjYXNlICdjbGVhcic6XG4gICAgICAgIHJldHVybiAnQWxsIHNlbGVjdGVkIG9wdGlvbnMgaGF2ZSBiZWVuIGNsZWFyZWQuJztcbiAgICAgIGNhc2UgJ2luaXRpYWwtaW5wdXQtZm9jdXMnOlxuICAgICAgICByZXR1cm4gXCJvcHRpb25cIi5jb25jYXQobGFiZWxzLmxlbmd0aCA+IDEgPyAncycgOiAnJywgXCIgXCIpLmNvbmNhdChsYWJlbHMuam9pbignLCcpLCBcIiwgc2VsZWN0ZWQuXCIpO1xuICAgICAgY2FzZSAnc2VsZWN0LW9wdGlvbic6XG4gICAgICAgIHJldHVybiBpc0Rpc2FibGVkID8gXCJvcHRpb24gXCIuY29uY2F0KGxhYmVsLCBcIiBpcyBkaXNhYmxlZC4gU2VsZWN0IGFub3RoZXIgb3B0aW9uLlwiKSA6IFwib3B0aW9uIFwiLmNvbmNhdChsYWJlbCwgXCIsIHNlbGVjdGVkLlwiKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH0sXG4gIG9uRm9jdXM6IGZ1bmN0aW9uIG9uRm9jdXMocHJvcHMpIHtcbiAgICB2YXIgY29udGV4dCA9IHByb3BzLmNvbnRleHQsXG4gICAgICBmb2N1c2VkID0gcHJvcHMuZm9jdXNlZCxcbiAgICAgIG9wdGlvbnMgPSBwcm9wcy5vcHRpb25zLFxuICAgICAgX3Byb3BzJGxhYmVsMiA9IHByb3BzLmxhYmVsLFxuICAgICAgbGFiZWwgPSBfcHJvcHMkbGFiZWwyID09PSB2b2lkIDAgPyAnJyA6IF9wcm9wcyRsYWJlbDIsXG4gICAgICBzZWxlY3RWYWx1ZSA9IHByb3BzLnNlbGVjdFZhbHVlLFxuICAgICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsXG4gICAgICBpc1NlbGVjdGVkID0gcHJvcHMuaXNTZWxlY3RlZCxcbiAgICAgIGlzQXBwbGVEZXZpY2UgPSBwcm9wcy5pc0FwcGxlRGV2aWNlO1xuICAgIHZhciBnZXRBcnJheUluZGV4ID0gZnVuY3Rpb24gZ2V0QXJyYXlJbmRleChhcnIsIGl0ZW0pIHtcbiAgICAgIHJldHVybiBhcnIgJiYgYXJyLmxlbmd0aCA/IFwiXCIuY29uY2F0KGFyci5pbmRleE9mKGl0ZW0pICsgMSwgXCIgb2YgXCIpLmNvbmNhdChhcnIubGVuZ3RoKSA6ICcnO1xuICAgIH07XG4gICAgaWYgKGNvbnRleHQgPT09ICd2YWx1ZScgJiYgc2VsZWN0VmFsdWUpIHtcbiAgICAgIHJldHVybiBcInZhbHVlIFwiLmNvbmNhdChsYWJlbCwgXCIgZm9jdXNlZCwgXCIpLmNvbmNhdChnZXRBcnJheUluZGV4KHNlbGVjdFZhbHVlLCBmb2N1c2VkKSwgXCIuXCIpO1xuICAgIH1cbiAgICBpZiAoY29udGV4dCA9PT0gJ21lbnUnICYmIGlzQXBwbGVEZXZpY2UpIHtcbiAgICAgIHZhciBkaXNhYmxlZCA9IGlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnO1xuICAgICAgdmFyIHN0YXR1cyA9IFwiXCIuY29uY2F0KGlzU2VsZWN0ZWQgPyAnIHNlbGVjdGVkJyA6ICcnKS5jb25jYXQoZGlzYWJsZWQpO1xuICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KGxhYmVsKS5jb25jYXQoc3RhdHVzLCBcIiwgXCIpLmNvbmNhdChnZXRBcnJheUluZGV4KG9wdGlvbnMsIGZvY3VzZWQpLCBcIi5cIik7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSxcbiAgb25GaWx0ZXI6IGZ1bmN0aW9uIG9uRmlsdGVyKHByb3BzKSB7XG4gICAgdmFyIGlucHV0VmFsdWUgPSBwcm9wcy5pbnB1dFZhbHVlLFxuICAgICAgcmVzdWx0c01lc3NhZ2UgPSBwcm9wcy5yZXN1bHRzTWVzc2FnZTtcbiAgICByZXR1cm4gXCJcIi5jb25jYXQocmVzdWx0c01lc3NhZ2UpLmNvbmNhdChpbnB1dFZhbHVlID8gJyBmb3Igc2VhcmNoIHRlcm0gJyArIGlucHV0VmFsdWUgOiAnJywgXCIuXCIpO1xuICB9XG59O1xuXG52YXIgTGl2ZVJlZ2lvbiA9IGZ1bmN0aW9uIExpdmVSZWdpb24ocHJvcHMpIHtcbiAgdmFyIGFyaWFTZWxlY3Rpb24gPSBwcm9wcy5hcmlhU2VsZWN0aW9uLFxuICAgIGZvY3VzZWRPcHRpb24gPSBwcm9wcy5mb2N1c2VkT3B0aW9uLFxuICAgIGZvY3VzZWRWYWx1ZSA9IHByb3BzLmZvY3VzZWRWYWx1ZSxcbiAgICBmb2N1c2FibGVPcHRpb25zID0gcHJvcHMuZm9jdXNhYmxlT3B0aW9ucyxcbiAgICBpc0ZvY3VzZWQgPSBwcm9wcy5pc0ZvY3VzZWQsXG4gICAgc2VsZWN0VmFsdWUgPSBwcm9wcy5zZWxlY3RWYWx1ZSxcbiAgICBzZWxlY3RQcm9wcyA9IHByb3BzLnNlbGVjdFByb3BzLFxuICAgIGlkID0gcHJvcHMuaWQsXG4gICAgaXNBcHBsZURldmljZSA9IHByb3BzLmlzQXBwbGVEZXZpY2U7XG4gIHZhciBhcmlhTGl2ZU1lc3NhZ2VzID0gc2VsZWN0UHJvcHMuYXJpYUxpdmVNZXNzYWdlcyxcbiAgICBnZXRPcHRpb25MYWJlbCA9IHNlbGVjdFByb3BzLmdldE9wdGlvbkxhYmVsLFxuICAgIGlucHV0VmFsdWUgPSBzZWxlY3RQcm9wcy5pbnB1dFZhbHVlLFxuICAgIGlzTXVsdGkgPSBzZWxlY3RQcm9wcy5pc011bHRpLFxuICAgIGlzT3B0aW9uRGlzYWJsZWQgPSBzZWxlY3RQcm9wcy5pc09wdGlvbkRpc2FibGVkLFxuICAgIGlzU2VhcmNoYWJsZSA9IHNlbGVjdFByb3BzLmlzU2VhcmNoYWJsZSxcbiAgICBtZW51SXNPcGVuID0gc2VsZWN0UHJvcHMubWVudUlzT3BlbixcbiAgICBvcHRpb25zID0gc2VsZWN0UHJvcHMub3B0aW9ucyxcbiAgICBzY3JlZW5SZWFkZXJTdGF0dXMgPSBzZWxlY3RQcm9wcy5zY3JlZW5SZWFkZXJTdGF0dXMsXG4gICAgdGFiU2VsZWN0c1ZhbHVlID0gc2VsZWN0UHJvcHMudGFiU2VsZWN0c1ZhbHVlLFxuICAgIGlzTG9hZGluZyA9IHNlbGVjdFByb3BzLmlzTG9hZGluZztcbiAgdmFyIGFyaWFMYWJlbCA9IHNlbGVjdFByb3BzWydhcmlhLWxhYmVsJ107XG4gIHZhciBhcmlhTGl2ZSA9IHNlbGVjdFByb3BzWydhcmlhLWxpdmUnXTtcblxuICAvLyBVcGRhdGUgYXJpYSBsaXZlIG1lc3NhZ2UgY29uZmlndXJhdGlvbiB3aGVuIHByb3AgY2hhbmdlc1xuICB2YXIgbWVzc2FnZXMgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBkZWZhdWx0QXJpYUxpdmVNZXNzYWdlcyksIGFyaWFMaXZlTWVzc2FnZXMgfHwge30pO1xuICB9LCBbYXJpYUxpdmVNZXNzYWdlc10pO1xuXG4gIC8vIFVwZGF0ZSBhcmlhIGxpdmUgc2VsZWN0ZWQgb3B0aW9uIHdoZW4gcHJvcCBjaGFuZ2VzXG4gIHZhciBhcmlhU2VsZWN0ZWQgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbWVzc2FnZSA9ICcnO1xuICAgIGlmIChhcmlhU2VsZWN0aW9uICYmIG1lc3NhZ2VzLm9uQ2hhbmdlKSB7XG4gICAgICB2YXIgb3B0aW9uID0gYXJpYVNlbGVjdGlvbi5vcHRpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyA9IGFyaWFTZWxlY3Rpb24ub3B0aW9ucyxcbiAgICAgICAgcmVtb3ZlZFZhbHVlID0gYXJpYVNlbGVjdGlvbi5yZW1vdmVkVmFsdWUsXG4gICAgICAgIHJlbW92ZWRWYWx1ZXMgPSBhcmlhU2VsZWN0aW9uLnJlbW92ZWRWYWx1ZXMsXG4gICAgICAgIHZhbHVlID0gYXJpYVNlbGVjdGlvbi52YWx1ZTtcbiAgICAgIC8vIHNlbGVjdC1vcHRpb24gd2hlbiAhaXNNdWx0aSBkb2VzIG5vdCByZXR1cm4gb3B0aW9uIHNvIHdlIGFzc3VtZSBzZWxlY3RlZCBvcHRpb24gaXMgdmFsdWVcbiAgICAgIHZhciBhc09wdGlvbiA9IGZ1bmN0aW9uIGFzT3B0aW9uKHZhbCkge1xuICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFsKSA/IHZhbCA6IG51bGw7XG4gICAgICB9O1xuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBqdXN0IG9uZSBpdGVtIGZyb20gdGhlIGFjdGlvbiB0aGVuIGdldCBpdHMgbGFiZWxcbiAgICAgIHZhciBzZWxlY3RlZCA9IHJlbW92ZWRWYWx1ZSB8fCBvcHRpb24gfHwgYXNPcHRpb24odmFsdWUpO1xuICAgICAgdmFyIGxhYmVsID0gc2VsZWN0ZWQgPyBnZXRPcHRpb25MYWJlbChzZWxlY3RlZCkgOiAnJztcblxuICAgICAgLy8gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGl0ZW1zIGZyb20gdGhlIGFjdGlvbiB0aGVuIHJldHVybiBhbiBhcnJheSBvZiBsYWJlbHNcbiAgICAgIHZhciBtdWx0aVNlbGVjdGVkID0gc2VsZWN0ZWRPcHRpb25zIHx8IHJlbW92ZWRWYWx1ZXMgfHwgdW5kZWZpbmVkO1xuICAgICAgdmFyIGxhYmVscyA9IG11bHRpU2VsZWN0ZWQgPyBtdWx0aVNlbGVjdGVkLm1hcChnZXRPcHRpb25MYWJlbCkgOiBbXTtcbiAgICAgIHZhciBvbkNoYW5nZVByb3BzID0gX29iamVjdFNwcmVhZCh7XG4gICAgICAgIC8vIG11bHRpU2VsZWN0ZWQgaXRlbXMgYXJlIHVzdWFsbHkgaXRlbXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBzZWxlY3RlZFxuICAgICAgICAvLyBvciBzZXQgYnkgdGhlIHVzZXIgYXMgYSBkZWZhdWx0IHZhbHVlIHNvIHdlIGFzc3VtZSB0aGV5IGFyZSBub3QgZGlzYWJsZWRcbiAgICAgICAgaXNEaXNhYmxlZDogc2VsZWN0ZWQgJiYgaXNPcHRpb25EaXNhYmxlZChzZWxlY3RlZCwgc2VsZWN0VmFsdWUpLFxuICAgICAgICBsYWJlbDogbGFiZWwsXG4gICAgICAgIGxhYmVsczogbGFiZWxzXG4gICAgICB9LCBhcmlhU2VsZWN0aW9uKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlcy5vbkNoYW5nZShvbkNoYW5nZVByb3BzKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sIFthcmlhU2VsZWN0aW9uLCBtZXNzYWdlcywgaXNPcHRpb25EaXNhYmxlZCwgc2VsZWN0VmFsdWUsIGdldE9wdGlvbkxhYmVsXSk7XG4gIHZhciBhcmlhRm9jdXNlZCA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIHZhciBmb2N1c01zZyA9ICcnO1xuICAgIHZhciBmb2N1c2VkID0gZm9jdXNlZE9wdGlvbiB8fCBmb2N1c2VkVmFsdWU7XG4gICAgdmFyIGlzU2VsZWN0ZWQgPSAhIShmb2N1c2VkT3B0aW9uICYmIHNlbGVjdFZhbHVlICYmIHNlbGVjdFZhbHVlLmluY2x1ZGVzKGZvY3VzZWRPcHRpb24pKTtcbiAgICBpZiAoZm9jdXNlZCAmJiBtZXNzYWdlcy5vbkZvY3VzKSB7XG4gICAgICB2YXIgb25Gb2N1c1Byb3BzID0ge1xuICAgICAgICBmb2N1c2VkOiBmb2N1c2VkLFxuICAgICAgICBsYWJlbDogZ2V0T3B0aW9uTGFiZWwoZm9jdXNlZCksXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzT3B0aW9uRGlzYWJsZWQoZm9jdXNlZCwgc2VsZWN0VmFsdWUpLFxuICAgICAgICBpc1NlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICBvcHRpb25zOiBmb2N1c2FibGVPcHRpb25zLFxuICAgICAgICBjb250ZXh0OiBmb2N1c2VkID09PSBmb2N1c2VkT3B0aW9uID8gJ21lbnUnIDogJ3ZhbHVlJyxcbiAgICAgICAgc2VsZWN0VmFsdWU6IHNlbGVjdFZhbHVlLFxuICAgICAgICBpc0FwcGxlRGV2aWNlOiBpc0FwcGxlRGV2aWNlXG4gICAgICB9O1xuICAgICAgZm9jdXNNc2cgPSBtZXNzYWdlcy5vbkZvY3VzKG9uRm9jdXNQcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBmb2N1c01zZztcbiAgfSwgW2ZvY3VzZWRPcHRpb24sIGZvY3VzZWRWYWx1ZSwgZ2V0T3B0aW9uTGFiZWwsIGlzT3B0aW9uRGlzYWJsZWQsIG1lc3NhZ2VzLCBmb2N1c2FibGVPcHRpb25zLCBzZWxlY3RWYWx1ZSwgaXNBcHBsZURldmljZV0pO1xuICB2YXIgYXJpYVJlc3VsdHMgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzdWx0c01zZyA9ICcnO1xuICAgIGlmIChtZW51SXNPcGVuICYmIG9wdGlvbnMubGVuZ3RoICYmICFpc0xvYWRpbmcgJiYgbWVzc2FnZXMub25GaWx0ZXIpIHtcbiAgICAgIHZhciByZXN1bHRzTWVzc2FnZSA9IHNjcmVlblJlYWRlclN0YXR1cyh7XG4gICAgICAgIGNvdW50OiBmb2N1c2FibGVPcHRpb25zLmxlbmd0aFxuICAgICAgfSk7XG4gICAgICByZXN1bHRzTXNnID0gbWVzc2FnZXMub25GaWx0ZXIoe1xuICAgICAgICBpbnB1dFZhbHVlOiBpbnB1dFZhbHVlLFxuICAgICAgICByZXN1bHRzTWVzc2FnZTogcmVzdWx0c01lc3NhZ2VcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c01zZztcbiAgfSwgW2ZvY3VzYWJsZU9wdGlvbnMsIGlucHV0VmFsdWUsIG1lbnVJc09wZW4sIG1lc3NhZ2VzLCBvcHRpb25zLCBzY3JlZW5SZWFkZXJTdGF0dXMsIGlzTG9hZGluZ10pO1xuICB2YXIgaXNJbml0aWFsRm9jdXMgPSAoYXJpYVNlbGVjdGlvbiA9PT0gbnVsbCB8fCBhcmlhU2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhcmlhU2VsZWN0aW9uLmFjdGlvbikgPT09ICdpbml0aWFsLWlucHV0LWZvY3VzJztcbiAgdmFyIGFyaWFHdWlkYW5jZSA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIHZhciBndWlkYW5jZU1zZyA9ICcnO1xuICAgIGlmIChtZXNzYWdlcy5ndWlkYW5jZSkge1xuICAgICAgdmFyIGNvbnRleHQgPSBmb2N1c2VkVmFsdWUgPyAndmFsdWUnIDogbWVudUlzT3BlbiA/ICdtZW51JyA6ICdpbnB1dCc7XG4gICAgICBndWlkYW5jZU1zZyA9IG1lc3NhZ2VzLmd1aWRhbmNlKHtcbiAgICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGZvY3VzZWRPcHRpb24gJiYgaXNPcHRpb25EaXNhYmxlZChmb2N1c2VkT3B0aW9uLCBzZWxlY3RWYWx1ZSksXG4gICAgICAgIGlzTXVsdGk6IGlzTXVsdGksXG4gICAgICAgIGlzU2VhcmNoYWJsZTogaXNTZWFyY2hhYmxlLFxuICAgICAgICB0YWJTZWxlY3RzVmFsdWU6IHRhYlNlbGVjdHNWYWx1ZSxcbiAgICAgICAgaXNJbml0aWFsRm9jdXM6IGlzSW5pdGlhbEZvY3VzXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGd1aWRhbmNlTXNnO1xuICB9LCBbYXJpYUxhYmVsLCBmb2N1c2VkT3B0aW9uLCBmb2N1c2VkVmFsdWUsIGlzTXVsdGksIGlzT3B0aW9uRGlzYWJsZWQsIGlzU2VhcmNoYWJsZSwgbWVudUlzT3BlbiwgbWVzc2FnZXMsIHNlbGVjdFZhbHVlLCB0YWJTZWxlY3RzVmFsdWUsIGlzSW5pdGlhbEZvY3VzXSk7XG4gIHZhciBTY3JlZW5SZWFkZXJUZXh0ID0ganN4KEZyYWdtZW50LCBudWxsLCBqc3goXCJzcGFuXCIsIHtcbiAgICBpZDogXCJhcmlhLXNlbGVjdGlvblwiXG4gIH0sIGFyaWFTZWxlY3RlZCksIGpzeChcInNwYW5cIiwge1xuICAgIGlkOiBcImFyaWEtZm9jdXNlZFwiXG4gIH0sIGFyaWFGb2N1c2VkKSwganN4KFwic3BhblwiLCB7XG4gICAgaWQ6IFwiYXJpYS1yZXN1bHRzXCJcbiAgfSwgYXJpYVJlc3VsdHMpLCBqc3goXCJzcGFuXCIsIHtcbiAgICBpZDogXCJhcmlhLWd1aWRhbmNlXCJcbiAgfSwgYXJpYUd1aWRhbmNlKSk7XG4gIHJldHVybiBqc3goRnJhZ21lbnQsIG51bGwsIGpzeChBMTF5VGV4dCQxLCB7XG4gICAgaWQ6IGlkXG4gIH0sIGlzSW5pdGlhbEZvY3VzICYmIFNjcmVlblJlYWRlclRleHQpLCBqc3goQTExeVRleHQkMSwge1xuICAgIFwiYXJpYS1saXZlXCI6IGFyaWFMaXZlLFxuICAgIFwiYXJpYS1hdG9taWNcIjogXCJmYWxzZVwiLFxuICAgIFwiYXJpYS1yZWxldmFudFwiOiBcImFkZGl0aW9ucyB0ZXh0XCIsXG4gICAgcm9sZTogXCJsb2dcIlxuICB9LCBpc0ZvY3VzZWQgJiYgIWlzSW5pdGlhbEZvY3VzICYmIFNjcmVlblJlYWRlclRleHQpKTtcbn07XG52YXIgTGl2ZVJlZ2lvbiQxID0gTGl2ZVJlZ2lvbjtcblxudmFyIGRpYWNyaXRpY3MgPSBbe1xuICBiYXNlOiAnQScsXG4gIGxldHRlcnM6IFwiQVxcdTI0QjZcXHVGRjIxXFx4QzBcXHhDMVxceEMyXFx1MUVBNlxcdTFFQTRcXHUxRUFBXFx1MUVBOFxceEMzXFx1MDEwMFxcdTAxMDJcXHUxRUIwXFx1MUVBRVxcdTFFQjRcXHUxRUIyXFx1MDIyNlxcdTAxRTBcXHhDNFxcdTAxREVcXHUxRUEyXFx4QzVcXHUwMUZBXFx1MDFDRFxcdTAyMDBcXHUwMjAyXFx1MUVBMFxcdTFFQUNcXHUxRUI2XFx1MUUwMFxcdTAxMDRcXHUwMjNBXFx1MkM2RlwiXG59LCB7XG4gIGJhc2U6ICdBQScsXG4gIGxldHRlcnM6IFwiXFx1QTczMlwiXG59LCB7XG4gIGJhc2U6ICdBRScsXG4gIGxldHRlcnM6IFwiXFx4QzZcXHUwMUZDXFx1MDFFMlwiXG59LCB7XG4gIGJhc2U6ICdBTycsXG4gIGxldHRlcnM6IFwiXFx1QTczNFwiXG59LCB7XG4gIGJhc2U6ICdBVScsXG4gIGxldHRlcnM6IFwiXFx1QTczNlwiXG59LCB7XG4gIGJhc2U6ICdBVicsXG4gIGxldHRlcnM6IFwiXFx1QTczOFxcdUE3M0FcIlxufSwge1xuICBiYXNlOiAnQVknLFxuICBsZXR0ZXJzOiBcIlxcdUE3M0NcIlxufSwge1xuICBiYXNlOiAnQicsXG4gIGxldHRlcnM6IFwiQlxcdTI0QjdcXHVGRjIyXFx1MUUwMlxcdTFFMDRcXHUxRTA2XFx1MDI0M1xcdTAxODJcXHUwMTgxXCJcbn0sIHtcbiAgYmFzZTogJ0MnLFxuICBsZXR0ZXJzOiBcIkNcXHUyNEI4XFx1RkYyM1xcdTAxMDZcXHUwMTA4XFx1MDEwQVxcdTAxMENcXHhDN1xcdTFFMDhcXHUwMTg3XFx1MDIzQlxcdUE3M0VcIlxufSwge1xuICBiYXNlOiAnRCcsXG4gIGxldHRlcnM6IFwiRFxcdTI0QjlcXHVGRjI0XFx1MUUwQVxcdTAxMEVcXHUxRTBDXFx1MUUxMFxcdTFFMTJcXHUxRTBFXFx1MDExMFxcdTAxOEJcXHUwMThBXFx1MDE4OVxcdUE3NzlcIlxufSwge1xuICBiYXNlOiAnRFonLFxuICBsZXR0ZXJzOiBcIlxcdTAxRjFcXHUwMUM0XCJcbn0sIHtcbiAgYmFzZTogJ0R6JyxcbiAgbGV0dGVyczogXCJcXHUwMUYyXFx1MDFDNVwiXG59LCB7XG4gIGJhc2U6ICdFJyxcbiAgbGV0dGVyczogXCJFXFx1MjRCQVxcdUZGMjVcXHhDOFxceEM5XFx4Q0FcXHUxRUMwXFx1MUVCRVxcdTFFQzRcXHUxRUMyXFx1MUVCQ1xcdTAxMTJcXHUxRTE0XFx1MUUxNlxcdTAxMTRcXHUwMTE2XFx4Q0JcXHUxRUJBXFx1MDExQVxcdTAyMDRcXHUwMjA2XFx1MUVCOFxcdTFFQzZcXHUwMjI4XFx1MUUxQ1xcdTAxMThcXHUxRTE4XFx1MUUxQVxcdTAxOTBcXHUwMThFXCJcbn0sIHtcbiAgYmFzZTogJ0YnLFxuICBsZXR0ZXJzOiBcIkZcXHUyNEJCXFx1RkYyNlxcdTFFMUVcXHUwMTkxXFx1QTc3QlwiXG59LCB7XG4gIGJhc2U6ICdHJyxcbiAgbGV0dGVyczogXCJHXFx1MjRCQ1xcdUZGMjdcXHUwMUY0XFx1MDExQ1xcdTFFMjBcXHUwMTFFXFx1MDEyMFxcdTAxRTZcXHUwMTIyXFx1MDFFNFxcdTAxOTNcXHVBN0EwXFx1QTc3RFxcdUE3N0VcIlxufSwge1xuICBiYXNlOiAnSCcsXG4gIGxldHRlcnM6IFwiSFxcdTI0QkRcXHVGRjI4XFx1MDEyNFxcdTFFMjJcXHUxRTI2XFx1MDIxRVxcdTFFMjRcXHUxRTI4XFx1MUUyQVxcdTAxMjZcXHUyQzY3XFx1MkM3NVxcdUE3OERcIlxufSwge1xuICBiYXNlOiAnSScsXG4gIGxldHRlcnM6IFwiSVxcdTI0QkVcXHVGRjI5XFx4Q0NcXHhDRFxceENFXFx1MDEyOFxcdTAxMkFcXHUwMTJDXFx1MDEzMFxceENGXFx1MUUyRVxcdTFFQzhcXHUwMUNGXFx1MDIwOFxcdTAyMEFcXHUxRUNBXFx1MDEyRVxcdTFFMkNcXHUwMTk3XCJcbn0sIHtcbiAgYmFzZTogJ0onLFxuICBsZXR0ZXJzOiBcIkpcXHUyNEJGXFx1RkYyQVxcdTAxMzRcXHUwMjQ4XCJcbn0sIHtcbiAgYmFzZTogJ0snLFxuICBsZXR0ZXJzOiBcIktcXHUyNEMwXFx1RkYyQlxcdTFFMzBcXHUwMUU4XFx1MUUzMlxcdTAxMzZcXHUxRTM0XFx1MDE5OFxcdTJDNjlcXHVBNzQwXFx1QTc0MlxcdUE3NDRcXHVBN0EyXCJcbn0sIHtcbiAgYmFzZTogJ0wnLFxuICBsZXR0ZXJzOiBcIkxcXHUyNEMxXFx1RkYyQ1xcdTAxM0ZcXHUwMTM5XFx1MDEzRFxcdTFFMzZcXHUxRTM4XFx1MDEzQlxcdTFFM0NcXHUxRTNBXFx1MDE0MVxcdTAyM0RcXHUyQzYyXFx1MkM2MFxcdUE3NDhcXHVBNzQ2XFx1QTc4MFwiXG59LCB7XG4gIGJhc2U6ICdMSicsXG4gIGxldHRlcnM6IFwiXFx1MDFDN1wiXG59LCB7XG4gIGJhc2U6ICdMaicsXG4gIGxldHRlcnM6IFwiXFx1MDFDOFwiXG59LCB7XG4gIGJhc2U6ICdNJyxcbiAgbGV0dGVyczogXCJNXFx1MjRDMlxcdUZGMkRcXHUxRTNFXFx1MUU0MFxcdTFFNDJcXHUyQzZFXFx1MDE5Q1wiXG59LCB7XG4gIGJhc2U6ICdOJyxcbiAgbGV0dGVyczogXCJOXFx1MjRDM1xcdUZGMkVcXHUwMUY4XFx1MDE0M1xceEQxXFx1MUU0NFxcdTAxNDdcXHUxRTQ2XFx1MDE0NVxcdTFFNEFcXHUxRTQ4XFx1MDIyMFxcdTAxOURcXHVBNzkwXFx1QTdBNFwiXG59LCB7XG4gIGJhc2U6ICdOSicsXG4gIGxldHRlcnM6IFwiXFx1MDFDQVwiXG59LCB7XG4gIGJhc2U6ICdOaicsXG4gIGxldHRlcnM6IFwiXFx1MDFDQlwiXG59LCB7XG4gIGJhc2U6ICdPJyxcbiAgbGV0dGVyczogXCJPXFx1MjRDNFxcdUZGMkZcXHhEMlxceEQzXFx4RDRcXHUxRUQyXFx1MUVEMFxcdTFFRDZcXHUxRUQ0XFx4RDVcXHUxRTRDXFx1MDIyQ1xcdTFFNEVcXHUwMTRDXFx1MUU1MFxcdTFFNTJcXHUwMTRFXFx1MDIyRVxcdTAyMzBcXHhENlxcdTAyMkFcXHUxRUNFXFx1MDE1MFxcdTAxRDFcXHUwMjBDXFx1MDIwRVxcdTAxQTBcXHUxRURDXFx1MUVEQVxcdTFFRTBcXHUxRURFXFx1MUVFMlxcdTFFQ0NcXHUxRUQ4XFx1MDFFQVxcdTAxRUNcXHhEOFxcdTAxRkVcXHUwMTg2XFx1MDE5RlxcdUE3NEFcXHVBNzRDXCJcbn0sIHtcbiAgYmFzZTogJ09JJyxcbiAgbGV0dGVyczogXCJcXHUwMUEyXCJcbn0sIHtcbiAgYmFzZTogJ09PJyxcbiAgbGV0dGVyczogXCJcXHVBNzRFXCJcbn0sIHtcbiAgYmFzZTogJ09VJyxcbiAgbGV0dGVyczogXCJcXHUwMjIyXCJcbn0sIHtcbiAgYmFzZTogJ1AnLFxuICBsZXR0ZXJzOiBcIlBcXHUyNEM1XFx1RkYzMFxcdTFFNTRcXHUxRTU2XFx1MDFBNFxcdTJDNjNcXHVBNzUwXFx1QTc1MlxcdUE3NTRcIlxufSwge1xuICBiYXNlOiAnUScsXG4gIGxldHRlcnM6IFwiUVxcdTI0QzZcXHVGRjMxXFx1QTc1NlxcdUE3NThcXHUwMjRBXCJcbn0sIHtcbiAgYmFzZTogJ1InLFxuICBsZXR0ZXJzOiBcIlJcXHUyNEM3XFx1RkYzMlxcdTAxNTRcXHUxRTU4XFx1MDE1OFxcdTAyMTBcXHUwMjEyXFx1MUU1QVxcdTFFNUNcXHUwMTU2XFx1MUU1RVxcdTAyNENcXHUyQzY0XFx1QTc1QVxcdUE3QTZcXHVBNzgyXCJcbn0sIHtcbiAgYmFzZTogJ1MnLFxuICBsZXR0ZXJzOiBcIlNcXHUyNEM4XFx1RkYzM1xcdTFFOUVcXHUwMTVBXFx1MUU2NFxcdTAxNUNcXHUxRTYwXFx1MDE2MFxcdTFFNjZcXHUxRTYyXFx1MUU2OFxcdTAyMThcXHUwMTVFXFx1MkM3RVxcdUE3QThcXHVBNzg0XCJcbn0sIHtcbiAgYmFzZTogJ1QnLFxuICBsZXR0ZXJzOiBcIlRcXHUyNEM5XFx1RkYzNFxcdTFFNkFcXHUwMTY0XFx1MUU2Q1xcdTAyMUFcXHUwMTYyXFx1MUU3MFxcdTFFNkVcXHUwMTY2XFx1MDFBQ1xcdTAxQUVcXHUwMjNFXFx1QTc4NlwiXG59LCB7XG4gIGJhc2U6ICdUWicsXG4gIGxldHRlcnM6IFwiXFx1QTcyOFwiXG59LCB7XG4gIGJhc2U6ICdVJyxcbiAgbGV0dGVyczogXCJVXFx1MjRDQVxcdUZGMzVcXHhEOVxceERBXFx4REJcXHUwMTY4XFx1MUU3OFxcdTAxNkFcXHUxRTdBXFx1MDE2Q1xceERDXFx1MDFEQlxcdTAxRDdcXHUwMUQ1XFx1MDFEOVxcdTFFRTZcXHUwMTZFXFx1MDE3MFxcdTAxRDNcXHUwMjE0XFx1MDIxNlxcdTAxQUZcXHUxRUVBXFx1MUVFOFxcdTFFRUVcXHUxRUVDXFx1MUVGMFxcdTFFRTRcXHUxRTcyXFx1MDE3MlxcdTFFNzZcXHUxRTc0XFx1MDI0NFwiXG59LCB7XG4gIGJhc2U6ICdWJyxcbiAgbGV0dGVyczogXCJWXFx1MjRDQlxcdUZGMzZcXHUxRTdDXFx1MUU3RVxcdTAxQjJcXHVBNzVFXFx1MDI0NVwiXG59LCB7XG4gIGJhc2U6ICdWWScsXG4gIGxldHRlcnM6IFwiXFx1QTc2MFwiXG59LCB7XG4gIGJhc2U6ICdXJyxcbiAgbGV0dGVyczogXCJXXFx1MjRDQ1xcdUZGMzdcXHUxRTgwXFx1MUU4MlxcdTAxNzRcXHUxRTg2XFx1MUU4NFxcdTFFODhcXHUyQzcyXCJcbn0sIHtcbiAgYmFzZTogJ1gnLFxuICBsZXR0ZXJzOiBcIlhcXHUyNENEXFx1RkYzOFxcdTFFOEFcXHUxRThDXCJcbn0sIHtcbiAgYmFzZTogJ1knLFxuICBsZXR0ZXJzOiBcIllcXHUyNENFXFx1RkYzOVxcdTFFRjJcXHhERFxcdTAxNzZcXHUxRUY4XFx1MDIzMlxcdTFFOEVcXHUwMTc4XFx1MUVGNlxcdTFFRjRcXHUwMUIzXFx1MDI0RVxcdTFFRkVcIlxufSwge1xuICBiYXNlOiAnWicsXG4gIGxldHRlcnM6IFwiWlxcdTI0Q0ZcXHVGRjNBXFx1MDE3OVxcdTFFOTBcXHUwMTdCXFx1MDE3RFxcdTFFOTJcXHUxRTk0XFx1MDFCNVxcdTAyMjRcXHUyQzdGXFx1MkM2QlxcdUE3NjJcIlxufSwge1xuICBiYXNlOiAnYScsXG4gIGxldHRlcnM6IFwiYVxcdTI0RDBcXHVGRjQxXFx1MUU5QVxceEUwXFx4RTFcXHhFMlxcdTFFQTdcXHUxRUE1XFx1MUVBQlxcdTFFQTlcXHhFM1xcdTAxMDFcXHUwMTAzXFx1MUVCMVxcdTFFQUZcXHUxRUI1XFx1MUVCM1xcdTAyMjdcXHUwMUUxXFx4RTRcXHUwMURGXFx1MUVBM1xceEU1XFx1MDFGQlxcdTAxQ0VcXHUwMjAxXFx1MDIwM1xcdTFFQTFcXHUxRUFEXFx1MUVCN1xcdTFFMDFcXHUwMTA1XFx1MkM2NVxcdTAyNTBcIlxufSwge1xuICBiYXNlOiAnYWEnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzNcIlxufSwge1xuICBiYXNlOiAnYWUnLFxuICBsZXR0ZXJzOiBcIlxceEU2XFx1MDFGRFxcdTAxRTNcIlxufSwge1xuICBiYXNlOiAnYW8nLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzVcIlxufSwge1xuICBiYXNlOiAnYXUnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzdcIlxufSwge1xuICBiYXNlOiAnYXYnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzlcXHVBNzNCXCJcbn0sIHtcbiAgYmFzZTogJ2F5JyxcbiAgbGV0dGVyczogXCJcXHVBNzNEXCJcbn0sIHtcbiAgYmFzZTogJ2InLFxuICBsZXR0ZXJzOiBcImJcXHUyNEQxXFx1RkY0MlxcdTFFMDNcXHUxRTA1XFx1MUUwN1xcdTAxODBcXHUwMTgzXFx1MDI1M1wiXG59LCB7XG4gIGJhc2U6ICdjJyxcbiAgbGV0dGVyczogXCJjXFx1MjREMlxcdUZGNDNcXHUwMTA3XFx1MDEwOVxcdTAxMEJcXHUwMTBEXFx4RTdcXHUxRTA5XFx1MDE4OFxcdTAyM0NcXHVBNzNGXFx1MjE4NFwiXG59LCB7XG4gIGJhc2U6ICdkJyxcbiAgbGV0dGVyczogXCJkXFx1MjREM1xcdUZGNDRcXHUxRTBCXFx1MDEwRlxcdTFFMERcXHUxRTExXFx1MUUxM1xcdTFFMEZcXHUwMTExXFx1MDE4Q1xcdTAyNTZcXHUwMjU3XFx1QTc3QVwiXG59LCB7XG4gIGJhc2U6ICdkeicsXG4gIGxldHRlcnM6IFwiXFx1MDFGM1xcdTAxQzZcIlxufSwge1xuICBiYXNlOiAnZScsXG4gIGxldHRlcnM6IFwiZVxcdTI0RDRcXHVGRjQ1XFx4RThcXHhFOVxceEVBXFx1MUVDMVxcdTFFQkZcXHUxRUM1XFx1MUVDM1xcdTFFQkRcXHUwMTEzXFx1MUUxNVxcdTFFMTdcXHUwMTE1XFx1MDExN1xceEVCXFx1MUVCQlxcdTAxMUJcXHUwMjA1XFx1MDIwN1xcdTFFQjlcXHUxRUM3XFx1MDIyOVxcdTFFMURcXHUwMTE5XFx1MUUxOVxcdTFFMUJcXHUwMjQ3XFx1MDI1QlxcdTAxRERcIlxufSwge1xuICBiYXNlOiAnZicsXG4gIGxldHRlcnM6IFwiZlxcdTI0RDVcXHVGRjQ2XFx1MUUxRlxcdTAxOTJcXHVBNzdDXCJcbn0sIHtcbiAgYmFzZTogJ2cnLFxuICBsZXR0ZXJzOiBcImdcXHUyNEQ2XFx1RkY0N1xcdTAxRjVcXHUwMTFEXFx1MUUyMVxcdTAxMUZcXHUwMTIxXFx1MDFFN1xcdTAxMjNcXHUwMUU1XFx1MDI2MFxcdUE3QTFcXHUxRDc5XFx1QTc3RlwiXG59LCB7XG4gIGJhc2U6ICdoJyxcbiAgbGV0dGVyczogXCJoXFx1MjREN1xcdUZGNDhcXHUwMTI1XFx1MUUyM1xcdTFFMjdcXHUwMjFGXFx1MUUyNVxcdTFFMjlcXHUxRTJCXFx1MUU5NlxcdTAxMjdcXHUyQzY4XFx1MkM3NlxcdTAyNjVcIlxufSwge1xuICBiYXNlOiAnaHYnLFxuICBsZXR0ZXJzOiBcIlxcdTAxOTVcIlxufSwge1xuICBiYXNlOiAnaScsXG4gIGxldHRlcnM6IFwiaVxcdTI0RDhcXHVGRjQ5XFx4RUNcXHhFRFxceEVFXFx1MDEyOVxcdTAxMkJcXHUwMTJEXFx4RUZcXHUxRTJGXFx1MUVDOVxcdTAxRDBcXHUwMjA5XFx1MDIwQlxcdTFFQ0JcXHUwMTJGXFx1MUUyRFxcdTAyNjhcXHUwMTMxXCJcbn0sIHtcbiAgYmFzZTogJ2onLFxuICBsZXR0ZXJzOiBcImpcXHUyNEQ5XFx1RkY0QVxcdTAxMzVcXHUwMUYwXFx1MDI0OVwiXG59LCB7XG4gIGJhc2U6ICdrJyxcbiAgbGV0dGVyczogXCJrXFx1MjREQVxcdUZGNEJcXHUxRTMxXFx1MDFFOVxcdTFFMzNcXHUwMTM3XFx1MUUzNVxcdTAxOTlcXHUyQzZBXFx1QTc0MVxcdUE3NDNcXHVBNzQ1XFx1QTdBM1wiXG59LCB7XG4gIGJhc2U6ICdsJyxcbiAgbGV0dGVyczogXCJsXFx1MjREQlxcdUZGNENcXHUwMTQwXFx1MDEzQVxcdTAxM0VcXHUxRTM3XFx1MUUzOVxcdTAxM0NcXHUxRTNEXFx1MUUzQlxcdTAxN0ZcXHUwMTQyXFx1MDE5QVxcdTAyNkJcXHUyQzYxXFx1QTc0OVxcdUE3ODFcXHVBNzQ3XCJcbn0sIHtcbiAgYmFzZTogJ2xqJyxcbiAgbGV0dGVyczogXCJcXHUwMUM5XCJcbn0sIHtcbiAgYmFzZTogJ20nLFxuICBsZXR0ZXJzOiBcIm1cXHUyNERDXFx1RkY0RFxcdTFFM0ZcXHUxRTQxXFx1MUU0M1xcdTAyNzFcXHUwMjZGXCJcbn0sIHtcbiAgYmFzZTogJ24nLFxuICBsZXR0ZXJzOiBcIm5cXHUyNEREXFx1RkY0RVxcdTAxRjlcXHUwMTQ0XFx4RjFcXHUxRTQ1XFx1MDE0OFxcdTFFNDdcXHUwMTQ2XFx1MUU0QlxcdTFFNDlcXHUwMTlFXFx1MDI3MlxcdTAxNDlcXHVBNzkxXFx1QTdBNVwiXG59LCB7XG4gIGJhc2U6ICduaicsXG4gIGxldHRlcnM6IFwiXFx1MDFDQ1wiXG59LCB7XG4gIGJhc2U6ICdvJyxcbiAgbGV0dGVyczogXCJvXFx1MjRERVxcdUZGNEZcXHhGMlxceEYzXFx4RjRcXHUxRUQzXFx1MUVEMVxcdTFFRDdcXHUxRUQ1XFx4RjVcXHUxRTREXFx1MDIyRFxcdTFFNEZcXHUwMTREXFx1MUU1MVxcdTFFNTNcXHUwMTRGXFx1MDIyRlxcdTAyMzFcXHhGNlxcdTAyMkJcXHUxRUNGXFx1MDE1MVxcdTAxRDJcXHUwMjBEXFx1MDIwRlxcdTAxQTFcXHUxRUREXFx1MUVEQlxcdTFFRTFcXHUxRURGXFx1MUVFM1xcdTFFQ0RcXHUxRUQ5XFx1MDFFQlxcdTAxRURcXHhGOFxcdTAxRkZcXHUwMjU0XFx1QTc0QlxcdUE3NERcXHUwMjc1XCJcbn0sIHtcbiAgYmFzZTogJ29pJyxcbiAgbGV0dGVyczogXCJcXHUwMUEzXCJcbn0sIHtcbiAgYmFzZTogJ291JyxcbiAgbGV0dGVyczogXCJcXHUwMjIzXCJcbn0sIHtcbiAgYmFzZTogJ29vJyxcbiAgbGV0dGVyczogXCJcXHVBNzRGXCJcbn0sIHtcbiAgYmFzZTogJ3AnLFxuICBsZXR0ZXJzOiBcInBcXHUyNERGXFx1RkY1MFxcdTFFNTVcXHUxRTU3XFx1MDFBNVxcdTFEN0RcXHVBNzUxXFx1QTc1M1xcdUE3NTVcIlxufSwge1xuICBiYXNlOiAncScsXG4gIGxldHRlcnM6IFwicVxcdTI0RTBcXHVGRjUxXFx1MDI0QlxcdUE3NTdcXHVBNzU5XCJcbn0sIHtcbiAgYmFzZTogJ3InLFxuICBsZXR0ZXJzOiBcInJcXHUyNEUxXFx1RkY1MlxcdTAxNTVcXHUxRTU5XFx1MDE1OVxcdTAyMTFcXHUwMjEzXFx1MUU1QlxcdTFFNURcXHUwMTU3XFx1MUU1RlxcdTAyNERcXHUwMjdEXFx1QTc1QlxcdUE3QTdcXHVBNzgzXCJcbn0sIHtcbiAgYmFzZTogJ3MnLFxuICBsZXR0ZXJzOiBcInNcXHUyNEUyXFx1RkY1M1xceERGXFx1MDE1QlxcdTFFNjVcXHUwMTVEXFx1MUU2MVxcdTAxNjFcXHUxRTY3XFx1MUU2M1xcdTFFNjlcXHUwMjE5XFx1MDE1RlxcdTAyM0ZcXHVBN0E5XFx1QTc4NVxcdTFFOUJcIlxufSwge1xuICBiYXNlOiAndCcsXG4gIGxldHRlcnM6IFwidFxcdTI0RTNcXHVGRjU0XFx1MUU2QlxcdTFFOTdcXHUwMTY1XFx1MUU2RFxcdTAyMUJcXHUwMTYzXFx1MUU3MVxcdTFFNkZcXHUwMTY3XFx1MDFBRFxcdTAyODhcXHUyQzY2XFx1QTc4N1wiXG59LCB7XG4gIGJhc2U6ICd0eicsXG4gIGxldHRlcnM6IFwiXFx1QTcyOVwiXG59LCB7XG4gIGJhc2U6ICd1JyxcbiAgbGV0dGVyczogXCJ1XFx1MjRFNFxcdUZGNTVcXHhGOVxceEZBXFx4RkJcXHUwMTY5XFx1MUU3OVxcdTAxNkJcXHUxRTdCXFx1MDE2RFxceEZDXFx1MDFEQ1xcdTAxRDhcXHUwMUQ2XFx1MDFEQVxcdTFFRTdcXHUwMTZGXFx1MDE3MVxcdTAxRDRcXHUwMjE1XFx1MDIxN1xcdTAxQjBcXHUxRUVCXFx1MUVFOVxcdTFFRUZcXHUxRUVEXFx1MUVGMVxcdTFFRTVcXHUxRTczXFx1MDE3M1xcdTFFNzdcXHUxRTc1XFx1MDI4OVwiXG59LCB7XG4gIGJhc2U6ICd2JyxcbiAgbGV0dGVyczogXCJ2XFx1MjRFNVxcdUZGNTZcXHUxRTdEXFx1MUU3RlxcdTAyOEJcXHVBNzVGXFx1MDI4Q1wiXG59LCB7XG4gIGJhc2U6ICd2eScsXG4gIGxldHRlcnM6IFwiXFx1QTc2MVwiXG59LCB7XG4gIGJhc2U6ICd3JyxcbiAgbGV0dGVyczogXCJ3XFx1MjRFNlxcdUZGNTdcXHUxRTgxXFx1MUU4M1xcdTAxNzVcXHUxRTg3XFx1MUU4NVxcdTFFOThcXHUxRTg5XFx1MkM3M1wiXG59LCB7XG4gIGJhc2U6ICd4JyxcbiAgbGV0dGVyczogXCJ4XFx1MjRFN1xcdUZGNThcXHUxRThCXFx1MUU4RFwiXG59LCB7XG4gIGJhc2U6ICd5JyxcbiAgbGV0dGVyczogXCJ5XFx1MjRFOFxcdUZGNTlcXHUxRUYzXFx4RkRcXHUwMTc3XFx1MUVGOVxcdTAyMzNcXHUxRThGXFx4RkZcXHUxRUY3XFx1MUU5OVxcdTFFRjVcXHUwMUI0XFx1MDI0RlxcdTFFRkZcIlxufSwge1xuICBiYXNlOiAneicsXG4gIGxldHRlcnM6IFwielxcdTI0RTlcXHVGRjVBXFx1MDE3QVxcdTFFOTFcXHUwMTdDXFx1MDE3RVxcdTFFOTNcXHUxRTk1XFx1MDFCNlxcdTAyMjVcXHUwMjQwXFx1MkM2Q1xcdUE3NjNcIlxufV07XG52YXIgYW55RGlhY3JpdGljID0gbmV3IFJlZ0V4cCgnWycgKyBkaWFjcml0aWNzLm1hcChmdW5jdGlvbiAoZCkge1xuICByZXR1cm4gZC5sZXR0ZXJzO1xufSkuam9pbignJykgKyAnXScsICdnJyk7XG52YXIgZGlhY3JpdGljVG9CYXNlID0ge307XG5mb3IgKHZhciBpID0gMDsgaSA8IGRpYWNyaXRpY3MubGVuZ3RoOyBpKyspIHtcbiAgdmFyIGRpYWNyaXRpYyA9IGRpYWNyaXRpY3NbaV07XG4gIGZvciAodmFyIGogPSAwOyBqIDwgZGlhY3JpdGljLmxldHRlcnMubGVuZ3RoOyBqKyspIHtcbiAgICBkaWFjcml0aWNUb0Jhc2VbZGlhY3JpdGljLmxldHRlcnNbal1dID0gZGlhY3JpdGljLmJhc2U7XG4gIH1cbn1cbnZhciBzdHJpcERpYWNyaXRpY3MgPSBmdW5jdGlvbiBzdHJpcERpYWNyaXRpY3Moc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZShhbnlEaWFjcml0aWMsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBkaWFjcml0aWNUb0Jhc2VbbWF0Y2hdO1xuICB9KTtcbn07XG5cbnZhciBtZW1vaXplZFN0cmlwRGlhY3JpdGljc0ZvcklucHV0ID0gbWVtb2l6ZU9uZShzdHJpcERpYWNyaXRpY3MpO1xudmFyIHRyaW1TdHJpbmcgPSBmdW5jdGlvbiB0cmltU3RyaW5nKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXHMrfFxccyskL2csICcnKTtcbn07XG52YXIgZGVmYXVsdFN0cmluZ2lmeSA9IGZ1bmN0aW9uIGRlZmF1bHRTdHJpbmdpZnkob3B0aW9uKSB7XG4gIHJldHVybiBcIlwiLmNvbmNhdChvcHRpb24ubGFiZWwsIFwiIFwiKS5jb25jYXQob3B0aW9uLnZhbHVlKTtcbn07XG52YXIgY3JlYXRlRmlsdGVyID0gZnVuY3Rpb24gY3JlYXRlRmlsdGVyKGNvbmZpZykge1xuICByZXR1cm4gZnVuY3Rpb24gKG9wdGlvbiwgcmF3SW5wdXQpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICBpZiAob3B0aW9uLmRhdGEuX19pc05ld19fKSByZXR1cm4gdHJ1ZTtcbiAgICB2YXIgX2lnbm9yZUNhc2UkaWdub3JlQWNjID0gX29iamVjdFNwcmVhZCh7XG4gICAgICAgIGlnbm9yZUNhc2U6IHRydWUsXG4gICAgICAgIGlnbm9yZUFjY2VudHM6IHRydWUsXG4gICAgICAgIHN0cmluZ2lmeTogZGVmYXVsdFN0cmluZ2lmeSxcbiAgICAgICAgdHJpbTogdHJ1ZSxcbiAgICAgICAgbWF0Y2hGcm9tOiAnYW55J1xuICAgICAgfSwgY29uZmlnKSxcbiAgICAgIGlnbm9yZUNhc2UgPSBfaWdub3JlQ2FzZSRpZ25vcmVBY2MuaWdub3JlQ2FzZSxcbiAgICAgIGlnbm9yZUFjY2VudHMgPSBfaWdub3JlQ2FzZSRpZ25vcmVBY2MuaWdub3JlQWNjZW50cyxcbiAgICAgIHN0cmluZ2lmeSA9IF9pZ25vcmVDYXNlJGlnbm9yZUFjYy5zdHJpbmdpZnksXG4gICAgICB0cmltID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLnRyaW0sXG4gICAgICBtYXRjaEZyb20gPSBfaWdub3JlQ2FzZSRpZ25vcmVBY2MubWF0Y2hGcm9tO1xuICAgIHZhciBpbnB1dCA9IHRyaW0gPyB0cmltU3RyaW5nKHJhd0lucHV0KSA6IHJhd0lucHV0O1xuICAgIHZhciBjYW5kaWRhdGUgPSB0cmltID8gdHJpbVN0cmluZyhzdHJpbmdpZnkob3B0aW9uKSkgOiBzdHJpbmdpZnkob3B0aW9uKTtcbiAgICBpZiAoaWdub3JlQ2FzZSkge1xuICAgICAgaW5wdXQgPSBpbnB1dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgY2FuZGlkYXRlID0gY2FuZGlkYXRlLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICAgIGlmIChpZ25vcmVBY2NlbnRzKSB7XG4gICAgICBpbnB1dCA9IG1lbW9pemVkU3RyaXBEaWFjcml0aWNzRm9ySW5wdXQoaW5wdXQpO1xuICAgICAgY2FuZGlkYXRlID0gc3RyaXBEaWFjcml0aWNzKGNhbmRpZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaEZyb20gPT09ICdzdGFydCcgPyBjYW5kaWRhdGUuc3Vic3RyKDAsIGlucHV0Lmxlbmd0aCkgPT09IGlucHV0IDogY2FuZGlkYXRlLmluZGV4T2YoaW5wdXQpID4gLTE7XG4gIH07XG59O1xuXG52YXIgX2V4Y2x1ZGVkID0gW1wiaW5uZXJSZWZcIl07XG5mdW5jdGlvbiBEdW1teUlucHV0KF9yZWYpIHtcbiAgdmFyIGlubmVyUmVmID0gX3JlZi5pbm5lclJlZixcbiAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBfZXhjbHVkZWQpO1xuICAvLyBSZW1vdmUgYW5pbWF0aW9uIHByb3BzIG5vdCBtZWFudCBmb3IgSFRNTCBlbGVtZW50c1xuICB2YXIgZmlsdGVyZWRQcm9wcyA9IHJlbW92ZVByb3BzKHByb3BzLCAnb25FeGl0ZWQnLCAnaW4nLCAnZW50ZXInLCAnZXhpdCcsICdhcHBlYXInKTtcbiAgcmV0dXJuIGpzeChcImlucHV0XCIsIF9leHRlbmRzKHtcbiAgICByZWY6IGlubmVyUmVmXG4gIH0sIGZpbHRlcmVkUHJvcHMsIHtcbiAgICBjc3M6IC8qI19fUFVSRV9fKi9jc3Moe1xuICAgICAgbGFiZWw6ICdkdW1teUlucHV0JyxcbiAgICAgIC8vIGdldCByaWQgb2YgYW55IGRlZmF1bHQgc3R5bGVzXG4gICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgLy8gaW1wb3J0YW50ISB0aGlzIGhpZGVzIHRoZSBmbGFzaGluZyBjdXJzb3JcbiAgICAgIGNhcmV0Q29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgZ3JpZEFyZWE6ICcxIC8gMSAvIDIgLyAzJyxcbiAgICAgIG91dGxpbmU6IDAsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgLy8gaW1wb3J0YW50ISB3aXRob3V0IGB3aWR0aGAgYnJvd3NlcnMgd29uJ3QgYWxsb3cgZm9jdXNcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgLy8gcmVtb3ZlIGN1cnNvciBvbiBkZXNrdG9wXG4gICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gbW9iaWxlIHdoaWxzdCBtYWludGFpbmluZyBcInNjcm9sbCBpbnRvIHZpZXdcIiBiZWhhdmlvdXJcbiAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICB0cmFuc2Zvcm06ICdzY2FsZSguMDEpJ1xuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIjtsYWJlbDpEdW1teUlucHV0O1wiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa1IxYlcxNVNXNXdkWFF1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFYbENUU0lzSW1acGJHVWlPaUpFZFcxdGVVbHVjSFYwTG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lCQWFuTjRJR3B6ZUNBcUwxeHVhVzF3YjNKMElIc2dTbE5ZTENCU1pXWWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2V5QnFjM2dnZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVwYlhCdmNuUWdleUJ5WlcxdmRtVlFjbTl3Y3lCOUlHWnliMjBnSnk0dUwzVjBhV3h6Snp0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1puVnVZM1JwYjI0Z1JIVnRiWGxKYm5CMWRDaDdYRzRnSUdsdWJtVnlVbVZtTEZ4dUlDQXVMaTV3Y205d2MxeHVmVG9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZHBibkIxZENkZElDWWdlMXh1SUNCeVpXRmtiMjVzZVNCcGJtNWxjbEpsWmpvZ1VtVm1QRWhVVFV4SmJuQjFkRVZzWlcxbGJuUStPMXh1ZlNrZ2UxeHVJQ0F2THlCU1pXMXZkbVVnWVc1cGJXRjBhVzl1SUhCeWIzQnpJRzV2ZENCdFpXRnVkQ0JtYjNJZ1NGUk5UQ0JsYkdWdFpXNTBjMXh1SUNCamIyNXpkQ0JtYVd4MFpYSmxaRkJ5YjNCeklEMGdjbVZ0YjNabFVISnZjSE1vWEc0Z0lDQWdjSEp2Y0hNc1hHNGdJQ0FnSjI5dVJYaHBkR1ZrSnl4Y2JpQWdJQ0FuYVc0bkxGeHVJQ0FnSUNkbGJuUmxjaWNzWEc0Z0lDQWdKMlY0YVhRbkxGeHVJQ0FnSUNkaGNIQmxZWEluWEc0Z0lDazdYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4YVc1d2RYUmNiaUFnSUNBZ0lISmxaajE3YVc1dVpYSlNaV1o5WEc0Z0lDQWdJQ0I3TGk0dVptbHNkR1Z5WldSUWNtOXdjMzFjYmlBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQnNZV0psYkRvZ0oyUjFiVzE1U1c1d2RYUW5MRnh1SUNBZ0lDQWdJQ0F2THlCblpYUWdjbWxrSUc5bUlHRnVlU0JrWldaaGRXeDBJSE4wZVd4bGMxeHVJQ0FnSUNBZ0lDQmlZV05yWjNKdmRXNWtPaUF3TEZ4dUlDQWdJQ0FnSUNCaWIzSmtaWEk2SURBc1hHNGdJQ0FnSUNBZ0lDOHZJR2x0Y0c5eWRHRnVkQ0VnZEdocGN5Qm9hV1JsY3lCMGFHVWdabXhoYzJocGJtY2dZM1Z5YzI5eVhHNGdJQ0FnSUNBZ0lHTmhjbVYwUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJQ0FnSUNBZ0lHWnZiblJUYVhwbE9pQW5hVzVvWlhKcGRDY3NYRzRnSUNBZ0lDQWdJR2R5YVdSQmNtVmhPaUFuTVNBdklERWdMeUF5SUM4Z015Y3NYRzRnSUNBZ0lDQWdJRzkxZEd4cGJtVTZJREFzWEc0Z0lDQWdJQ0FnSUhCaFpHUnBibWM2SURBc1hHNGdJQ0FnSUNBZ0lDOHZJR2x0Y0c5eWRHRnVkQ0VnZDJsMGFHOTFkQ0JnZDJsa2RHaGdJR0p5YjNkelpYSnpJSGR2YmlkMElHRnNiRzkzSUdadlkzVnpYRzRnSUNBZ0lDQWdJSGRwWkhSb09pQXhMRnh1WEc0Z0lDQWdJQ0FnSUM4dklISmxiVzkyWlNCamRYSnpiM0lnYjI0Z1pHVnphM1J2Y0Z4dUlDQWdJQ0FnSUNCamIyeHZjam9nSjNSeVlXNXpjR0Z5Wlc1MEp5eGNibHh1SUNBZ0lDQWdJQ0F2THlCeVpXMXZkbVVnWTNWeWMyOXlJRzl1SUcxdlltbHNaU0IzYUdsc2MzUWdiV0ZwYm5SaGFXNXBibWNnWENKelkzSnZiR3dnYVc1MGJ5QjJhV1YzWENJZ1ltVm9ZWFpwYjNWeVhHNGdJQ0FnSUNBZ0lHeGxablE2SUMweE1EQXNYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJREFzWEc0Z0lDQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUNBZ0lDQjBjbUZ1YzJadmNtMDZJQ2R6WTJGc1pTZ3VNREVwSnl4Y2JpQWdJQ0FnSUgxOVhHNGdJQ0FnTHo1Y2JpQWdLVHRjYm4xY2JpSmRmUT09ICovXCIpXG4gIH0pKTtcbn1cblxudmFyIGNhbmNlbFNjcm9sbCA9IGZ1bmN0aW9uIGNhbmNlbFNjcm9sbChldmVudCkge1xuICBpZiAoZXZlbnQuY2FuY2VsYWJsZSkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59O1xuZnVuY3Rpb24gdXNlU2Nyb2xsQ2FwdHVyZShfcmVmKSB7XG4gIHZhciBpc0VuYWJsZWQgPSBfcmVmLmlzRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSA9IF9yZWYub25Cb3R0b21BcnJpdmUsXG4gICAgb25Cb3R0b21MZWF2ZSA9IF9yZWYub25Cb3R0b21MZWF2ZSxcbiAgICBvblRvcEFycml2ZSA9IF9yZWYub25Ub3BBcnJpdmUsXG4gICAgb25Ub3BMZWF2ZSA9IF9yZWYub25Ub3BMZWF2ZTtcbiAgdmFyIGlzQm90dG9tID0gdXNlUmVmKGZhbHNlKTtcbiAgdmFyIGlzVG9wID0gdXNlUmVmKGZhbHNlKTtcbiAgdmFyIHRvdWNoU3RhcnQgPSB1c2VSZWYoMCk7XG4gIHZhciBzY3JvbGxUYXJnZXQgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBoYW5kbGVFdmVudERlbHRhID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50LCBkZWx0YSkge1xuICAgIGlmIChzY3JvbGxUYXJnZXQuY3VycmVudCA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIHZhciBfc2Nyb2xsVGFyZ2V0JGN1cnJlbnQgPSBzY3JvbGxUYXJnZXQuY3VycmVudCxcbiAgICAgIHNjcm9sbFRvcCA9IF9zY3JvbGxUYXJnZXQkY3VycmVudC5zY3JvbGxUb3AsXG4gICAgICBzY3JvbGxIZWlnaHQgPSBfc2Nyb2xsVGFyZ2V0JGN1cnJlbnQuc2Nyb2xsSGVpZ2h0LFxuICAgICAgY2xpZW50SGVpZ2h0ID0gX3Njcm9sbFRhcmdldCRjdXJyZW50LmNsaWVudEhlaWdodDtcbiAgICB2YXIgdGFyZ2V0ID0gc2Nyb2xsVGFyZ2V0LmN1cnJlbnQ7XG4gICAgdmFyIGlzRGVsdGFQb3NpdGl2ZSA9IGRlbHRhID4gMDtcbiAgICB2YXIgYXZhaWxhYmxlU2Nyb2xsID0gc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0IC0gc2Nyb2xsVG9wO1xuICAgIHZhciBzaG91bGRDYW5jZWxTY3JvbGwgPSBmYWxzZTtcblxuICAgIC8vIHJlc2V0IGJvdHRvbS90b3AgZmxhZ3NcbiAgICBpZiAoYXZhaWxhYmxlU2Nyb2xsID4gZGVsdGEgJiYgaXNCb3R0b20uY3VycmVudCkge1xuICAgICAgaWYgKG9uQm90dG9tTGVhdmUpIG9uQm90dG9tTGVhdmUoZXZlbnQpO1xuICAgICAgaXNCb3R0b20uY3VycmVudCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaXNEZWx0YVBvc2l0aXZlICYmIGlzVG9wLmN1cnJlbnQpIHtcbiAgICAgIGlmIChvblRvcExlYXZlKSBvblRvcExlYXZlKGV2ZW50KTtcbiAgICAgIGlzVG9wLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBib3R0b20gbGltaXRcbiAgICBpZiAoaXNEZWx0YVBvc2l0aXZlICYmIGRlbHRhID4gYXZhaWxhYmxlU2Nyb2xsKSB7XG4gICAgICBpZiAob25Cb3R0b21BcnJpdmUgJiYgIWlzQm90dG9tLmN1cnJlbnQpIHtcbiAgICAgICAgb25Cb3R0b21BcnJpdmUoZXZlbnQpO1xuICAgICAgfVxuICAgICAgdGFyZ2V0LnNjcm9sbFRvcCA9IHNjcm9sbEhlaWdodDtcbiAgICAgIHNob3VsZENhbmNlbFNjcm9sbCA9IHRydWU7XG4gICAgICBpc0JvdHRvbS5jdXJyZW50ID0gdHJ1ZTtcblxuICAgICAgLy8gdG9wIGxpbWl0XG4gICAgfSBlbHNlIGlmICghaXNEZWx0YVBvc2l0aXZlICYmIC1kZWx0YSA+IHNjcm9sbFRvcCkge1xuICAgICAgaWYgKG9uVG9wQXJyaXZlICYmICFpc1RvcC5jdXJyZW50KSB7XG4gICAgICAgIG9uVG9wQXJyaXZlKGV2ZW50KTtcbiAgICAgIH1cbiAgICAgIHRhcmdldC5zY3JvbGxUb3AgPSAwO1xuICAgICAgc2hvdWxkQ2FuY2VsU2Nyb2xsID0gdHJ1ZTtcbiAgICAgIGlzVG9wLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIGNhbmNlbCBzY3JvbGxcbiAgICBpZiAoc2hvdWxkQ2FuY2VsU2Nyb2xsKSB7XG4gICAgICBjYW5jZWxTY3JvbGwoZXZlbnQpO1xuICAgIH1cbiAgfSwgW29uQm90dG9tQXJyaXZlLCBvbkJvdHRvbUxlYXZlLCBvblRvcEFycml2ZSwgb25Ub3BMZWF2ZV0pO1xuICB2YXIgb25XaGVlbCA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCkge1xuICAgIGhhbmRsZUV2ZW50RGVsdGEoZXZlbnQsIGV2ZW50LmRlbHRhWSk7XG4gIH0sIFtoYW5kbGVFdmVudERlbHRhXSk7XG4gIHZhciBvblRvdWNoU3RhcnQgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAvLyBzZXQgdG91Y2ggc3RhcnQgc28gd2UgY2FuIGNhbGN1bGF0ZSB0b3VjaG1vdmUgZGVsdGFcbiAgICB0b3VjaFN0YXJ0LmN1cnJlbnQgPSBldmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZO1xuICB9LCBbXSk7XG4gIHZhciBvblRvdWNoTW92ZSA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCkge1xuICAgIHZhciBkZWx0YVkgPSB0b3VjaFN0YXJ0LmN1cnJlbnQgLSBldmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZO1xuICAgIGhhbmRsZUV2ZW50RGVsdGEoZXZlbnQsIGRlbHRhWSk7XG4gIH0sIFtoYW5kbGVFdmVudERlbHRhXSk7XG4gIHZhciBzdGFydExpc3RlbmluZyA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uIChlbCkge1xuICAgIC8vIGJhaWwgZWFybHkgaWYgbm8gZWxlbWVudCBpcyBhdmFpbGFibGUgdG8gYXR0YWNoIHRvXG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIHZhciBub3RQYXNzaXZlID0gc3VwcG9ydHNQYXNzaXZlRXZlbnRzID8ge1xuICAgICAgcGFzc2l2ZTogZmFsc2VcbiAgICB9IDogZmFsc2U7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBvbldoZWVsLCBub3RQYXNzaXZlKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0Jywgb25Ub3VjaFN0YXJ0LCBub3RQYXNzaXZlKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBvblRvdWNoTW92ZSwgbm90UGFzc2l2ZSk7XG4gIH0sIFtvblRvdWNoTW92ZSwgb25Ub3VjaFN0YXJ0LCBvbldoZWVsXSk7XG4gIHZhciBzdG9wTGlzdGVuaW5nID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGVsKSB7XG4gICAgLy8gYmFpbCBlYXJseSBpZiBubyBlbGVtZW50IGlzIGF2YWlsYWJsZSB0byBkZXRhY2ggZnJvbVxuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uV2hlZWwsIGZhbHNlKTtcbiAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0Jywgb25Ub3VjaFN0YXJ0LCBmYWxzZSk7XG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgb25Ub3VjaE1vdmUsIGZhbHNlKTtcbiAgfSwgW29uVG91Y2hNb3ZlLCBvblRvdWNoU3RhcnQsIG9uV2hlZWxdKTtcbiAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWlzRW5hYmxlZCkgcmV0dXJuO1xuICAgIHZhciBlbGVtZW50ID0gc2Nyb2xsVGFyZ2V0LmN1cnJlbnQ7XG4gICAgc3RhcnRMaXN0ZW5pbmcoZWxlbWVudCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHN0b3BMaXN0ZW5pbmcoZWxlbWVudCk7XG4gICAgfTtcbiAgfSwgW2lzRW5hYmxlZCwgc3RhcnRMaXN0ZW5pbmcsIHN0b3BMaXN0ZW5pbmddKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgc2Nyb2xsVGFyZ2V0LmN1cnJlbnQgPSBlbGVtZW50O1xuICB9O1xufVxuXG52YXIgU1RZTEVfS0VZUyA9IFsnYm94U2l6aW5nJywgJ2hlaWdodCcsICdvdmVyZmxvdycsICdwYWRkaW5nUmlnaHQnLCAncG9zaXRpb24nXTtcbnZhciBMT0NLX1NUWUxFUyA9IHtcbiAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gIC8vIGFjY291bnQgZm9yIHBvc3NpYmxlIGRlY2xhcmF0aW9uIGB3aWR0aDogMTAwJTtgIG9uIGJvZHlcbiAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgaGVpZ2h0OiAnMTAwJSdcbn07XG5mdW5jdGlvbiBwcmV2ZW50VG91Y2hNb3ZlKGUpIHtcbiAgaWYgKGUuY2FuY2VsYWJsZSkgZS5wcmV2ZW50RGVmYXVsdCgpO1xufVxuZnVuY3Rpb24gYWxsb3dUb3VjaE1vdmUoZSkge1xuICBlLnN0b3BQcm9wYWdhdGlvbigpO1xufVxuZnVuY3Rpb24gcHJldmVudEluZXJ0aWFTY3JvbGwoKSB7XG4gIHZhciB0b3AgPSB0aGlzLnNjcm9sbFRvcDtcbiAgdmFyIHRvdGFsU2Nyb2xsID0gdGhpcy5zY3JvbGxIZWlnaHQ7XG4gIHZhciBjdXJyZW50U2Nyb2xsID0gdG9wICsgdGhpcy5vZmZzZXRIZWlnaHQ7XG4gIGlmICh0b3AgPT09IDApIHtcbiAgICB0aGlzLnNjcm9sbFRvcCA9IDE7XG4gIH0gZWxzZSBpZiAoY3VycmVudFNjcm9sbCA9PT0gdG90YWxTY3JvbGwpIHtcbiAgICB0aGlzLnNjcm9sbFRvcCA9IHRvcCAtIDE7XG4gIH1cbn1cblxuLy8gYG9udG91Y2hzdGFydGAgY2hlY2sgd29ya3Mgb24gbW9zdCBicm93c2Vyc1xuLy8gYG1heFRvdWNoUG9pbnRzYCB3b3JrcyBvbiBJRTEwLzExIGFuZCBTdXJmYWNlXG5mdW5jdGlvbiBpc1RvdWNoRGV2aWNlKCkge1xuICByZXR1cm4gJ29udG91Y2hzdGFydCcgaW4gd2luZG93IHx8IG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cztcbn1cbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuZG9jdW1lbnQgJiYgd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO1xudmFyIGFjdGl2ZVNjcm9sbExvY2tzID0gMDtcbnZhciBsaXN0ZW5lck9wdGlvbnMgPSB7XG4gIGNhcHR1cmU6IGZhbHNlLFxuICBwYXNzaXZlOiBmYWxzZVxufTtcbmZ1bmN0aW9uIHVzZVNjcm9sbExvY2soX3JlZikge1xuICB2YXIgaXNFbmFibGVkID0gX3JlZi5pc0VuYWJsZWQsXG4gICAgX3JlZiRhY2NvdW50Rm9yU2Nyb2xsID0gX3JlZi5hY2NvdW50Rm9yU2Nyb2xsYmFycyxcbiAgICBhY2NvdW50Rm9yU2Nyb2xsYmFycyA9IF9yZWYkYWNjb3VudEZvclNjcm9sbCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9yZWYkYWNjb3VudEZvclNjcm9sbDtcbiAgdmFyIG9yaWdpbmFsU3R5bGVzID0gdXNlUmVmKHt9KTtcbiAgdmFyIHNjcm9sbFRhcmdldCA9IHVzZVJlZihudWxsKTtcbiAgdmFyIGFkZFNjcm9sbExvY2sgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAodG91Y2hTY3JvbGxUYXJnZXQpIHtcbiAgICBpZiAoIWNhblVzZURPTSkgcmV0dXJuO1xuICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5ib2R5O1xuICAgIHZhciB0YXJnZXRTdHlsZSA9IHRhcmdldCAmJiB0YXJnZXQuc3R5bGU7XG4gICAgaWYgKGFjY291bnRGb3JTY3JvbGxiYXJzKSB7XG4gICAgICAvLyBzdG9yZSBhbnkgc3R5bGVzIGFscmVhZHkgYXBwbGllZCB0byB0aGUgYm9keVxuICAgICAgU1RZTEVfS0VZUy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdmFyIHZhbCA9IHRhcmdldFN0eWxlICYmIHRhcmdldFN0eWxlW2tleV07XG4gICAgICAgIG9yaWdpbmFsU3R5bGVzLmN1cnJlbnRba2V5XSA9IHZhbDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIGFwcGx5IHRoZSBsb2NrIHN0eWxlcyBhbmQgcGFkZGluZyBpZiB0aGlzIGlzIHRoZSBmaXJzdCBzY3JvbGwgbG9ja1xuICAgIGlmIChhY2NvdW50Rm9yU2Nyb2xsYmFycyAmJiBhY3RpdmVTY3JvbGxMb2NrcyA8IDEpIHtcbiAgICAgIHZhciBjdXJyZW50UGFkZGluZyA9IHBhcnNlSW50KG9yaWdpbmFsU3R5bGVzLmN1cnJlbnQucGFkZGluZ1JpZ2h0LCAxMCkgfHwgMDtcbiAgICAgIHZhciBjbGllbnRXaWR0aCA9IGRvY3VtZW50LmJvZHkgPyBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDogMDtcbiAgICAgIHZhciBhZGp1c3RlZFBhZGRpbmcgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNsaWVudFdpZHRoICsgY3VycmVudFBhZGRpbmcgfHwgMDtcbiAgICAgIE9iamVjdC5rZXlzKExPQ0tfU1RZTEVTKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdmFyIHZhbCA9IExPQ0tfU1RZTEVTW2tleV07XG4gICAgICAgIGlmICh0YXJnZXRTdHlsZSkge1xuICAgICAgICAgIHRhcmdldFN0eWxlW2tleV0gPSB2YWw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHRhcmdldFN0eWxlKSB7XG4gICAgICAgIHRhcmdldFN0eWxlLnBhZGRpbmdSaWdodCA9IFwiXCIuY29uY2F0KGFkanVzdGVkUGFkZGluZywgXCJweFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhY2NvdW50IGZvciB0b3VjaCBkZXZpY2VzXG4gICAgaWYgKHRhcmdldCAmJiBpc1RvdWNoRGV2aWNlKCkpIHtcbiAgICAgIC8vIE1vYmlsZSBTYWZhcmkgaWdub3JlcyB7IG92ZXJmbG93OiBoaWRkZW4gfSBkZWNsYXJhdGlvbiBvbiB0aGUgYm9keS5cbiAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBwcmV2ZW50VG91Y2hNb3ZlLCBsaXN0ZW5lck9wdGlvbnMpO1xuXG4gICAgICAvLyBBbGxvdyBzY3JvbGwgb24gcHJvdmlkZWQgdGFyZ2V0XG4gICAgICBpZiAodG91Y2hTY3JvbGxUYXJnZXQpIHtcbiAgICAgICAgdG91Y2hTY3JvbGxUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHByZXZlbnRJbmVydGlhU2Nyb2xsLCBsaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgICB0b3VjaFNjcm9sbFRhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBhbGxvd1RvdWNoTW92ZSwgbGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbmNyZW1lbnQgYWN0aXZlIHNjcm9sbCBsb2Nrc1xuICAgIGFjdGl2ZVNjcm9sbExvY2tzICs9IDE7XG4gIH0sIFthY2NvdW50Rm9yU2Nyb2xsYmFyc10pO1xuICB2YXIgcmVtb3ZlU2Nyb2xsTG9jayA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgIGlmICghY2FuVXNlRE9NKSByZXR1cm47XG4gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmJvZHk7XG4gICAgdmFyIHRhcmdldFN0eWxlID0gdGFyZ2V0ICYmIHRhcmdldC5zdHlsZTtcblxuICAgIC8vIHNhZmVseSBkZWNyZW1lbnQgYWN0aXZlIHNjcm9sbCBsb2Nrc1xuICAgIGFjdGl2ZVNjcm9sbExvY2tzID0gTWF0aC5tYXgoYWN0aXZlU2Nyb2xsTG9ja3MgLSAxLCAwKTtcblxuICAgIC8vIHJlYXBwbHkgb3JpZ2luYWwgYm9keSBzdHlsZXMsIGlmIGFueVxuICAgIGlmIChhY2NvdW50Rm9yU2Nyb2xsYmFycyAmJiBhY3RpdmVTY3JvbGxMb2NrcyA8IDEpIHtcbiAgICAgIFNUWUxFX0tFWVMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciB2YWwgPSBvcmlnaW5hbFN0eWxlcy5jdXJyZW50W2tleV07XG4gICAgICAgIGlmICh0YXJnZXRTdHlsZSkge1xuICAgICAgICAgIHRhcmdldFN0eWxlW2tleV0gPSB2YWw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSB0b3VjaCBsaXN0ZW5lcnNcbiAgICBpZiAodGFyZ2V0ICYmIGlzVG91Y2hEZXZpY2UoKSkge1xuICAgICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHByZXZlbnRUb3VjaE1vdmUsIGxpc3RlbmVyT3B0aW9ucyk7XG4gICAgICBpZiAodG91Y2hTY3JvbGxUYXJnZXQpIHtcbiAgICAgICAgdG91Y2hTY3JvbGxUYXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHByZXZlbnRJbmVydGlhU2Nyb2xsLCBsaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgICB0b3VjaFNjcm9sbFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBhbGxvd1RvdWNoTW92ZSwgbGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthY2NvdW50Rm9yU2Nyb2xsYmFyc10pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm47XG4gICAgdmFyIGVsZW1lbnQgPSBzY3JvbGxUYXJnZXQuY3VycmVudDtcbiAgICBhZGRTY3JvbGxMb2NrKGVsZW1lbnQpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZW1vdmVTY3JvbGxMb2NrKGVsZW1lbnQpO1xuICAgIH07XG4gIH0sIFtpc0VuYWJsZWQsIGFkZFNjcm9sbExvY2ssIHJlbW92ZVNjcm9sbExvY2tdKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgc2Nyb2xsVGFyZ2V0LmN1cnJlbnQgPSBlbGVtZW50O1xuICB9O1xufVxuXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyQxKCkgeyByZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7IH1cbnZhciBibHVyU2VsZWN0SW5wdXQgPSBmdW5jdGlvbiBibHVyU2VsZWN0SW5wdXQoZXZlbnQpIHtcbiAgdmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQ7XG4gIHJldHVybiBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG59O1xudmFyIF9yZWYyJDEgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG4gIG5hbWU6IFwiMWtmZGIwZVwiLFxuICBzdHlsZXM6IFwicG9zaXRpb246Zml4ZWQ7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7dG9wOjBcIlxufSA6IHtcbiAgbmFtZTogXCJicDhjdWEtU2Nyb2xsTWFuYWdlclwiLFxuICBzdHlsZXM6IFwicG9zaXRpb246Zml4ZWQ7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7dG9wOjA7bGFiZWw6U2Nyb2xsTWFuYWdlcjtcIixcbiAgbWFwOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsTmpjbTlzYkUxaGJtRm5aWEl1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFXOUVWU0lzSW1acGJHVWlPaUpUWTNKdmJHeE5ZVzVoWjJWeUxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtpQkFhbk40SUdwemVDQXFMMXh1YVcxd2IzSjBJSHNnYW5ONElIMGdabkp2YlNBblFHVnRiM1JwYjI0dmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ1JuSmhaMjFsYm5Rc0lGSmxZV04wUld4bGJXVnVkQ3dnVW1WbVEyRnNiR0poWTJzc0lFMXZkWE5sUlhabGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2RYTmxVMk55YjJ4c1EyRndkSFZ5WlNCbWNtOXRJQ2N1TDNWelpWTmpjbTlzYkVOaGNIUjFjbVVuTzF4dWFXMXdiM0owSUhWelpWTmpjbTlzYkV4dlkyc2dabkp2YlNBbkxpOTFjMlZUWTNKdmJHeE1iMk5ySnp0Y2JseHVhVzUwWlhKbVlXTmxJRkJ5YjNCeklIdGNiaUFnY21WaFpHOXViSGtnWTJocGJHUnlaVzQ2SUNoeVpXWTZJRkpsWmtOaGJHeGlZV05yUEVoVVRVeEZiR1Z0Wlc1MFBpa2dQVDRnVW1WaFkzUkZiR1Z0Wlc1ME8xeHVJQ0J5WldGa2IyNXNlU0JzYjJOclJXNWhZbXhsWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdjbVZoWkc5dWJIa2dZMkZ3ZEhWeVpVVnVZV0pzWldRNklHSnZiMnhsWVc0N1hHNGdJSEpsWVdSdmJteDVJRzl1UW05MGRHOXRRWEp5YVhabFB6b2dLR1YyWlc1ME9pQlhhR1ZsYkVWMlpXNTBJSHdnVkc5MVkyaEZkbVZ1ZENrZ1BUNGdkbTlwWkR0Y2JpQWdjbVZoWkc5dWJIa2diMjVDYjNSMGIyMU1aV0YyWlQ4NklDaGxkbVZ1ZERvZ1YyaGxaV3hGZG1WdWRDQjhJRlJ2ZFdOb1JYWmxiblFwSUQwK0lIWnZhV1E3WEc0Z0lISmxZV1J2Ym14NUlHOXVWRzl3UVhKeWFYWmxQem9nS0dWMlpXNTBPaUJYYUdWbGJFVjJaVzUwSUh3Z1ZHOTFZMmhGZG1WdWRDa2dQVDRnZG05cFpEdGNiaUFnY21WaFpHOXViSGtnYjI1VWIzQk1aV0YyWlQ4NklDaGxkbVZ1ZERvZ1YyaGxaV3hGZG1WdWRDQjhJRlJ2ZFdOb1JYWmxiblFwSUQwK0lIWnZhV1E3WEc1OVhHNWNibU52Ym5OMElHSnNkWEpUWld4bFkzUkpibkIxZENBOUlDaGxkbVZ1ZERvZ1RXOTFjMlZGZG1WdWREeElWRTFNUkdsMlJXeGxiV1Z1ZEQ0cElEMCtJSHRjYmlBZ1kyOXVjM1FnWld4bGJXVnVkQ0E5SUdWMlpXNTBMblJoY21kbGRDQmhjeUJJVkUxTVJHbDJSV3hsYldWdWREdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQmxiR1Z0Wlc1MExtOTNibVZ5Ukc5amRXMWxiblF1WVdOMGFYWmxSV3hsYldWdWRDQW1KbHh1SUNBZ0lDaGxiR1Z0Wlc1MExtOTNibVZ5Ukc5amRXMWxiblF1WVdOMGFYWmxSV3hsYldWdWRDQmhjeUJJVkUxTVJXeGxiV1Z1ZENrdVlteDFjaWdwWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCbWRXNWpkR2x2YmlCVFkzSnZiR3hOWVc1aFoyVnlLSHRjYmlBZ1kyaHBiR1J5Wlc0c1hHNGdJR3h2WTJ0RmJtRmliR1ZrTEZ4dUlDQmpZWEIwZFhKbFJXNWhZbXhsWkNBOUlIUnlkV1VzWEc0Z0lHOXVRbTkwZEc5dFFYSnlhWFpsTEZ4dUlDQnZia0p2ZEhSdmJVeGxZWFpsTEZ4dUlDQnZibFJ2Y0VGeWNtbDJaU3hjYmlBZ2IyNVViM0JNWldGMlpTeGNibjA2SUZCeWIzQnpLU0I3WEc0Z0lHTnZibk4wSUhObGRGTmpjbTlzYkVOaGNIUjFjbVZVWVhKblpYUWdQU0IxYzJWVFkzSnZiR3hEWVhCMGRYSmxLSHRjYmlBZ0lDQnBjMFZ1WVdKc1pXUTZJR05oY0hSMWNtVkZibUZpYkdWa0xGeHVJQ0FnSUc5dVFtOTBkRzl0UVhKeWFYWmxMRnh1SUNBZ0lHOXVRbTkwZEc5dFRHVmhkbVVzWEc0Z0lDQWdiMjVVYjNCQmNuSnBkbVVzWEc0Z0lDQWdiMjVVYjNCTVpXRjJaU3hjYmlBZ2ZTazdYRzRnSUdOdmJuTjBJSE5sZEZOamNtOXNiRXh2WTJ0VVlYSm5aWFFnUFNCMWMyVlRZM0p2Ykd4TWIyTnJLSHNnYVhORmJtRmliR1ZrT2lCc2IyTnJSVzVoWW14bFpDQjlLVHRjYmx4dUlDQmpiMjV6ZENCMFlYSm5aWFJTWldZNklGSmxaa05oYkd4aVlXTnJQRWhVVFV4RmJHVnRaVzUwUGlBOUlDaGxiR1Z0Wlc1MEtTQTlQaUI3WEc0Z0lDQWdjMlYwVTJOeWIyeHNRMkZ3ZEhWeVpWUmhjbWRsZENobGJHVnRaVzUwS1R0Y2JpQWdJQ0J6WlhSVFkzSnZiR3hNYjJOclZHRnlaMlYwS0dWc1pXMWxiblFwTzF4dUlDQjlPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnZTJ4dlkydEZibUZpYkdWa0lDWW1JQ2hjYmlBZ0lDQWdJQ0FnUEdScGRseHVJQ0FnSUNBZ0lDQWdJRzl1UTJ4cFkyczllMkpzZFhKVFpXeGxZM1JKYm5CMWRIMWNiaUFnSUNBZ0lDQWdJQ0JqYzNNOWUzc2djRzl6YVhScGIyNDZJQ2RtYVhobFpDY3NJR3hsWm5RNklEQXNJR0p2ZEhSdmJUb2dNQ3dnY21sbmFIUTZJREFzSUhSdmNEb2dNQ0I5ZlZ4dUlDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lIdGphR2xzWkhKbGJpaDBZWEpuWlhSU1pXWXBmVnh1SUNBZ0lEd3ZSbkpoWjIxbGJuUStYRzRnSUNrN1hHNTlYRzRpWFgwPSAqL1wiLFxuICB0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18kMVxufTtcbmZ1bmN0aW9uIFNjcm9sbE1hbmFnZXIoX3JlZikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgIGxvY2tFbmFibGVkID0gX3JlZi5sb2NrRW5hYmxlZCxcbiAgICBfcmVmJGNhcHR1cmVFbmFibGVkID0gX3JlZi5jYXB0dXJlRW5hYmxlZCxcbiAgICBjYXB0dXJlRW5hYmxlZCA9IF9yZWYkY2FwdHVyZUVuYWJsZWQgPT09IHZvaWQgMCA/IHRydWUgOiBfcmVmJGNhcHR1cmVFbmFibGVkLFxuICAgIG9uQm90dG9tQXJyaXZlID0gX3JlZi5vbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlID0gX3JlZi5vbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlID0gX3JlZi5vblRvcEFycml2ZSxcbiAgICBvblRvcExlYXZlID0gX3JlZi5vblRvcExlYXZlO1xuICB2YXIgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldCA9IHVzZVNjcm9sbENhcHR1cmUoe1xuICAgIGlzRW5hYmxlZDogY2FwdHVyZUVuYWJsZWQsXG4gICAgb25Cb3R0b21BcnJpdmU6IG9uQm90dG9tQXJyaXZlLFxuICAgIG9uQm90dG9tTGVhdmU6IG9uQm90dG9tTGVhdmUsXG4gICAgb25Ub3BBcnJpdmU6IG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmU6IG9uVG9wTGVhdmVcbiAgfSk7XG4gIHZhciBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7XG4gICAgaXNFbmFibGVkOiBsb2NrRW5hYmxlZFxuICB9KTtcbiAgdmFyIHRhcmdldFJlZiA9IGZ1bmN0aW9uIHRhcmdldFJlZihlbGVtZW50KSB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuICByZXR1cm4ganN4KEZyYWdtZW50LCBudWxsLCBsb2NrRW5hYmxlZCAmJiBqc3goXCJkaXZcIiwge1xuICAgIG9uQ2xpY2s6IGJsdXJTZWxlY3RJbnB1dCxcbiAgICBjc3M6IF9yZWYyJDFcbiAgfSksIGNoaWxkcmVuKHRhcmdldFJlZikpO1xufVxuXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHsgcmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiOyB9XG52YXIgX3JlZjIgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG4gIG5hbWU6IFwiMWEwcm80bi1yZXF1aXJlZElucHV0XCIsXG4gIHN0eWxlczogXCJsYWJlbDpyZXF1aXJlZElucHV0O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCVcIlxufSA6IHtcbiAgbmFtZTogXCI1a2t4YjItcmVxdWlyZWRJbnB1dC1SZXF1aXJlZElucHV0XCIsXG4gIHN0eWxlczogXCJsYWJlbDpyZXF1aXJlZElucHV0O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bGFiZWw6UmVxdWlyZWRJbnB1dDtcIixcbiAgbWFwOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsSmxjWFZwY21Wa1NXNXdkWFF1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFXTkpJaXdpWm1sc1pTSTZJbEpsY1hWcGNtVmtTVzV3ZFhRdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcUlFQnFjM2dnYW5ONElDb3ZYRzVwYlhCdmNuUWdleUJHYjJOMWMwVjJaVzUwU0dGdVpHeGxjaXdnUm5WdVkzUnBiMjVEYjIxd2IyNWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUJxYzNnZ2ZTQm1jbTl0SUNkQVpXMXZkR2x2Ymk5eVpXRmpkQ2M3WEc1Y2JtTnZibk4wSUZKbGNYVnBjbVZrU1c1d2RYUTZJRVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBQSHRjYmlBZ2NtVmhaRzl1YkhrZ2JtRnRaVDg2SUhOMGNtbHVaenRjYmlBZ2NtVmhaRzl1YkhrZ2IyNUdiMk4xY3pvZ1JtOWpkWE5GZG1WdWRFaGhibVJzWlhJOFNGUk5URWx1Y0hWMFJXeGxiV1Z1ZEQ0N1hHNTlQaUE5SUNoN0lHNWhiV1VzSUc5dVJtOWpkWE1nZlNrZ1BUNGdLRnh1SUNBOGFXNXdkWFJjYmlBZ0lDQnlaWEYxYVhKbFpGeHVJQ0FnSUc1aGJXVTllMjVoYldWOVhHNGdJQ0FnZEdGaVNXNWtaWGc5ZXkweGZWeHVJQ0FnSUdGeWFXRXRhR2xrWkdWdVBWd2lkSEoxWlZ3aVhHNGdJQ0FnYjI1R2IyTjFjejE3YjI1R2IyTjFjMzFjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUd4aFltVnNPaUFuY21WeGRXbHlaV1JKYm5CMWRDY3NYRzRnSUNBZ0lDQnZjR0ZqYVhSNU9pQXdMRnh1SUNBZ0lDQWdjRzlwYm5SbGNrVjJaVzUwY3pvZ0oyNXZibVVuTEZ4dUlDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNCaWIzUjBiMjA2SURBc1hHNGdJQ0FnSUNCc1pXWjBPaUF3TEZ4dUlDQWdJQ0FnY21sbmFIUTZJREFzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0FnSUgxOVhHNGdJQ0FnTHk4Z1VISmxkbVZ1ZENCZ1UzZHBkR05vYVc1bklHWnliMjBnZFc1amIyNTBjbTlzYkdWa0lIUnZJR052Ym5SeWIyeHNaV1JnSUdWeWNtOXlYRzRnSUNBZ2RtRnNkV1U5WENKY0lseHVJQ0FnSUc5dVEyaGhibWRsUFhzb0tTQTlQaUI3ZlgxY2JpQWdMejVjYmlrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGSmxjWFZwY21Wa1NXNXdkWFE3WEc0aVhYMD0gKi9cIixcbiAgdG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59O1xudmFyIFJlcXVpcmVkSW5wdXQgPSBmdW5jdGlvbiBSZXF1aXJlZElucHV0KF9yZWYpIHtcbiAgdmFyIG5hbWUgPSBfcmVmLm5hbWUsXG4gICAgb25Gb2N1cyA9IF9yZWYub25Gb2N1cztcbiAgcmV0dXJuIGpzeChcImlucHV0XCIsIHtcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBuYW1lOiBuYW1lLFxuICAgIHRhYkluZGV4OiAtMSxcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgIG9uRm9jdXM6IG9uRm9jdXMsXG4gICAgY3NzOiBfcmVmMlxuICAgIC8vIFByZXZlbnQgYFN3aXRjaGluZyBmcm9tIHVuY29udHJvbGxlZCB0byBjb250cm9sbGVkYCBlcnJvclxuICAgICxcbiAgICB2YWx1ZTogXCJcIixcbiAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoKSB7fVxuICB9KTtcbn07XG52YXIgUmVxdWlyZWRJbnB1dCQxID0gUmVxdWlyZWRJbnB1dDtcblxuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ1c2VyLWFnZW50LWRhdGEtdHlwZXNcIiAvPlxuXG5mdW5jdGlvbiB0ZXN0UGxhdGZvcm0ocmUpIHtcbiAgdmFyIF93aW5kb3ckbmF2aWdhdG9yJHVzZTtcbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IgIT0gbnVsbCA/IHJlLnRlc3QoKChfd2luZG93JG5hdmlnYXRvciR1c2UgPSB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10pID09PSBudWxsIHx8IF93aW5kb3ckbmF2aWdhdG9yJHVzZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3dpbmRvdyRuYXZpZ2F0b3IkdXNlLnBsYXRmb3JtKSB8fCB3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSA6IGZhbHNlO1xufVxuZnVuY3Rpb24gaXNJUGhvbmUoKSB7XG4gIHJldHVybiB0ZXN0UGxhdGZvcm0oL15pUGhvbmUvaSk7XG59XG5mdW5jdGlvbiBpc01hYygpIHtcbiAgcmV0dXJuIHRlc3RQbGF0Zm9ybSgvXk1hYy9pKTtcbn1cbmZ1bmN0aW9uIGlzSVBhZCgpIHtcbiAgcmV0dXJuIHRlc3RQbGF0Zm9ybSgvXmlQYWQvaSkgfHxcbiAgLy8gaVBhZE9TIDEzIGxpZXMgYW5kIHNheXMgaXQncyBhIE1hYywgYnV0IHdlIGNhbiBkaXN0aW5ndWlzaCBieSBkZXRlY3RpbmcgdG91Y2ggc3VwcG9ydC5cbiAgaXNNYWMoKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxO1xufVxuZnVuY3Rpb24gaXNJT1MoKSB7XG4gIHJldHVybiBpc0lQaG9uZSgpIHx8IGlzSVBhZCgpO1xufVxuZnVuY3Rpb24gaXNBcHBsZURldmljZSgpIHtcbiAgcmV0dXJuIGlzTWFjKCkgfHwgaXNJT1MoKTtcbn1cblxudmFyIGZvcm1hdEdyb3VwTGFiZWwgPSBmdW5jdGlvbiBmb3JtYXRHcm91cExhYmVsKGdyb3VwKSB7XG4gIHJldHVybiBncm91cC5sYWJlbDtcbn07XG52YXIgZ2V0T3B0aW9uTGFiZWwkMSA9IGZ1bmN0aW9uIGdldE9wdGlvbkxhYmVsKG9wdGlvbikge1xuICByZXR1cm4gb3B0aW9uLmxhYmVsO1xufTtcbnZhciBnZXRPcHRpb25WYWx1ZSQxID0gZnVuY3Rpb24gZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSB7XG4gIHJldHVybiBvcHRpb24udmFsdWU7XG59O1xudmFyIGlzT3B0aW9uRGlzYWJsZWQgPSBmdW5jdGlvbiBpc09wdGlvbkRpc2FibGVkKG9wdGlvbikge1xuICByZXR1cm4gISFvcHRpb24uaXNEaXNhYmxlZDtcbn07XG5cbnZhciBkZWZhdWx0U3R5bGVzID0ge1xuICBjbGVhckluZGljYXRvcjogY2xlYXJJbmRpY2F0b3JDU1MsXG4gIGNvbnRhaW5lcjogY29udGFpbmVyQ1NTLFxuICBjb250cm9sOiBjc3MkMSxcbiAgZHJvcGRvd25JbmRpY2F0b3I6IGRyb3Bkb3duSW5kaWNhdG9yQ1NTLFxuICBncm91cDogZ3JvdXBDU1MsXG4gIGdyb3VwSGVhZGluZzogZ3JvdXBIZWFkaW5nQ1NTLFxuICBpbmRpY2F0b3JzQ29udGFpbmVyOiBpbmRpY2F0b3JzQ29udGFpbmVyQ1NTLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IGluZGljYXRvclNlcGFyYXRvckNTUyxcbiAgaW5wdXQ6IGlucHV0Q1NTLFxuICBsb2FkaW5nSW5kaWNhdG9yOiBsb2FkaW5nSW5kaWNhdG9yQ1NTLFxuICBsb2FkaW5nTWVzc2FnZTogbG9hZGluZ01lc3NhZ2VDU1MsXG4gIG1lbnU6IG1lbnVDU1MsXG4gIG1lbnVMaXN0OiBtZW51TGlzdENTUyxcbiAgbWVudVBvcnRhbDogbWVudVBvcnRhbENTUyxcbiAgbXVsdGlWYWx1ZTogbXVsdGlWYWx1ZUNTUyxcbiAgbXVsdGlWYWx1ZUxhYmVsOiBtdWx0aVZhbHVlTGFiZWxDU1MsXG4gIG11bHRpVmFsdWVSZW1vdmU6IG11bHRpVmFsdWVSZW1vdmVDU1MsXG4gIG5vT3B0aW9uc01lc3NhZ2U6IG5vT3B0aW9uc01lc3NhZ2VDU1MsXG4gIG9wdGlvbjogb3B0aW9uQ1NTLFxuICBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXJDU1MsXG4gIHNpbmdsZVZhbHVlOiBjc3MkMixcbiAgdmFsdWVDb250YWluZXI6IHZhbHVlQ29udGFpbmVyQ1NTXG59O1xuLy8gTWVyZ2UgVXRpbGl0eVxuLy8gQWxsb3dzIGNvbnN1bWVycyB0byBleHRlbmQgYSBiYXNlIFNlbGVjdCB3aXRoIGFkZGl0aW9uYWwgc3R5bGVzXG5cbmZ1bmN0aW9uIG1lcmdlU3R5bGVzKHNvdXJjZSkge1xuICB2YXIgdGFyZ2V0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgLy8gaW5pdGlhbGl6ZSB3aXRoIHNvdXJjZSBzdHlsZXNcbiAgdmFyIHN0eWxlcyA9IF9vYmplY3RTcHJlYWQoe30sIHNvdXJjZSk7XG5cbiAgLy8gbWFzc2FnZSBpbiB0YXJnZXQgc3R5bGVzXG4gIE9iamVjdC5rZXlzKHRhcmdldCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5QXNTdHJpbmcpIHtcbiAgICB2YXIga2V5ID0ga2V5QXNTdHJpbmc7XG4gICAgaWYgKHNvdXJjZVtrZXldKSB7XG4gICAgICBzdHlsZXNba2V5XSA9IGZ1bmN0aW9uIChyc0NzcywgcHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldKHNvdXJjZVtrZXldKHJzQ3NzLCBwcm9wcyksIHByb3BzKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlc1trZXldID0gdGFyZ2V0W2tleV07XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHN0eWxlcztcbn1cblxudmFyIGNvbG9ycyA9IHtcbiAgcHJpbWFyeTogJyMyNjg0RkYnLFxuICBwcmltYXJ5NzU6ICcjNEM5QUZGJyxcbiAgcHJpbWFyeTUwOiAnI0IyRDRGRicsXG4gIHByaW1hcnkyNTogJyNERUVCRkYnLFxuICBkYW5nZXI6ICcjREUzNTBCJyxcbiAgZGFuZ2VyTGlnaHQ6ICcjRkZCREFEJyxcbiAgbmV1dHJhbDA6ICdoc2woMCwgMCUsIDEwMCUpJyxcbiAgbmV1dHJhbDU6ICdoc2woMCwgMCUsIDk1JSknLFxuICBuZXV0cmFsMTA6ICdoc2woMCwgMCUsIDkwJSknLFxuICBuZXV0cmFsMjA6ICdoc2woMCwgMCUsIDgwJSknLFxuICBuZXV0cmFsMzA6ICdoc2woMCwgMCUsIDcwJSknLFxuICBuZXV0cmFsNDA6ICdoc2woMCwgMCUsIDYwJSknLFxuICBuZXV0cmFsNTA6ICdoc2woMCwgMCUsIDUwJSknLFxuICBuZXV0cmFsNjA6ICdoc2woMCwgMCUsIDQwJSknLFxuICBuZXV0cmFsNzA6ICdoc2woMCwgMCUsIDMwJSknLFxuICBuZXV0cmFsODA6ICdoc2woMCwgMCUsIDIwJSknLFxuICBuZXV0cmFsOTA6ICdoc2woMCwgMCUsIDEwJSknXG59O1xudmFyIGJvcmRlclJhZGl1cyA9IDQ7XG4vLyBVc2VkIHRvIGNhbGN1bGF0ZSBjb25zaXN0ZW50IG1hcmdpbi9wYWRkaW5nIG9uIGVsZW1lbnRzXG52YXIgYmFzZVVuaXQgPSA0O1xuLy8gVGhlIG1pbmltdW0gaGVpZ2h0IG9mIHRoZSBjb250cm9sXG52YXIgY29udHJvbEhlaWdodCA9IDM4O1xuLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSBjb250cm9sIGFuZCBtZW51ICovXG52YXIgbWVudUd1dHRlciA9IGJhc2VVbml0ICogMjtcbnZhciBzcGFjaW5nID0ge1xuICBiYXNlVW5pdDogYmFzZVVuaXQsXG4gIGNvbnRyb2xIZWlnaHQ6IGNvbnRyb2xIZWlnaHQsXG4gIG1lbnVHdXR0ZXI6IG1lbnVHdXR0ZXJcbn07XG52YXIgZGVmYXVsdFRoZW1lID0ge1xuICBib3JkZXJSYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgY29sb3JzOiBjb2xvcnMsXG4gIHNwYWNpbmc6IHNwYWNpbmdcbn07XG5cbnZhciBkZWZhdWx0UHJvcHMgPSB7XG4gICdhcmlhLWxpdmUnOiAncG9saXRlJyxcbiAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlOiB0cnVlLFxuICBibHVySW5wdXRPblNlbGVjdDogaXNUb3VjaENhcGFibGUoKSxcbiAgY2FwdHVyZU1lbnVTY3JvbGw6ICFpc1RvdWNoQ2FwYWJsZSgpLFxuICBjbGFzc05hbWVzOiB7fSxcbiAgY2xvc2VNZW51T25TZWxlY3Q6IHRydWUsXG4gIGNsb3NlTWVudU9uU2Nyb2xsOiBmYWxzZSxcbiAgY29tcG9uZW50czoge30sXG4gIGNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZTogdHJ1ZSxcbiAgZXNjYXBlQ2xlYXJzVmFsdWU6IGZhbHNlLFxuICBmaWx0ZXJPcHRpb246IGNyZWF0ZUZpbHRlcigpLFxuICBmb3JtYXRHcm91cExhYmVsOiBmb3JtYXRHcm91cExhYmVsLFxuICBnZXRPcHRpb25MYWJlbDogZ2V0T3B0aW9uTGFiZWwkMSxcbiAgZ2V0T3B0aW9uVmFsdWU6IGdldE9wdGlvblZhbHVlJDEsXG4gIGlzRGlzYWJsZWQ6IGZhbHNlLFxuICBpc0xvYWRpbmc6IGZhbHNlLFxuICBpc011bHRpOiBmYWxzZSxcbiAgaXNSdGw6IGZhbHNlLFxuICBpc1NlYXJjaGFibGU6IHRydWUsXG4gIGlzT3B0aW9uRGlzYWJsZWQ6IGlzT3B0aW9uRGlzYWJsZWQsXG4gIGxvYWRpbmdNZXNzYWdlOiBmdW5jdGlvbiBsb2FkaW5nTWVzc2FnZSgpIHtcbiAgICByZXR1cm4gJ0xvYWRpbmcuLi4nO1xuICB9LFxuICBtYXhNZW51SGVpZ2h0OiAzMDAsXG4gIG1pbk1lbnVIZWlnaHQ6IDE0MCxcbiAgbWVudUlzT3BlbjogZmFsc2UsXG4gIG1lbnVQbGFjZW1lbnQ6ICdib3R0b20nLFxuICBtZW51UG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIG1lbnVTaG91bGRCbG9ja1Njcm9sbDogZmFsc2UsXG4gIG1lbnVTaG91bGRTY3JvbGxJbnRvVmlldzogIWlzTW9iaWxlRGV2aWNlKCksXG4gIG5vT3B0aW9uc01lc3NhZ2U6IGZ1bmN0aW9uIG5vT3B0aW9uc01lc3NhZ2UoKSB7XG4gICAgcmV0dXJuICdObyBvcHRpb25zJztcbiAgfSxcbiAgb3Blbk1lbnVPbkZvY3VzOiBmYWxzZSxcbiAgb3Blbk1lbnVPbkNsaWNrOiB0cnVlLFxuICBvcHRpb25zOiBbXSxcbiAgcGFnZVNpemU6IDUsXG4gIHBsYWNlaG9sZGVyOiAnU2VsZWN0Li4uJyxcbiAgc2NyZWVuUmVhZGVyU3RhdHVzOiBmdW5jdGlvbiBzY3JlZW5SZWFkZXJTdGF0dXMoX3JlZikge1xuICAgIHZhciBjb3VudCA9IF9yZWYuY291bnQ7XG4gICAgcmV0dXJuIFwiXCIuY29uY2F0KGNvdW50LCBcIiByZXN1bHRcIikuY29uY2F0KGNvdW50ICE9PSAxID8gJ3MnIDogJycsIFwiIGF2YWlsYWJsZVwiKTtcbiAgfSxcbiAgc3R5bGVzOiB7fSxcbiAgdGFiSW5kZXg6IDAsXG4gIHRhYlNlbGVjdHNWYWx1ZTogdHJ1ZSxcbiAgdW5zdHlsZWQ6IGZhbHNlXG59O1xuZnVuY3Rpb24gdG9DYXRlZ29yaXplZE9wdGlvbihwcm9wcywgb3B0aW9uLCBzZWxlY3RWYWx1ZSwgaW5kZXgpIHtcbiAgdmFyIGlzRGlzYWJsZWQgPSBfaXNPcHRpb25EaXNhYmxlZChwcm9wcywgb3B0aW9uLCBzZWxlY3RWYWx1ZSk7XG4gIHZhciBpc1NlbGVjdGVkID0gX2lzT3B0aW9uU2VsZWN0ZWQocHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpO1xuICB2YXIgbGFiZWwgPSBnZXRPcHRpb25MYWJlbChwcm9wcywgb3B0aW9uKTtcbiAgdmFyIHZhbHVlID0gZ2V0T3B0aW9uVmFsdWUocHJvcHMsIG9wdGlvbik7XG4gIHJldHVybiB7XG4gICAgdHlwZTogJ29wdGlvbicsXG4gICAgZGF0YTogb3B0aW9uLFxuICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgaXNTZWxlY3RlZDogaXNTZWxlY3RlZCxcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIGluZGV4OiBpbmRleFxuICB9O1xufVxuZnVuY3Rpb24gYnVpbGRDYXRlZ29yaXplZE9wdGlvbnMocHJvcHMsIHNlbGVjdFZhbHVlKSB7XG4gIHJldHVybiBwcm9wcy5vcHRpb25zLm1hcChmdW5jdGlvbiAoZ3JvdXBPck9wdGlvbiwgZ3JvdXBPck9wdGlvbkluZGV4KSB7XG4gICAgaWYgKCdvcHRpb25zJyBpbiBncm91cE9yT3B0aW9uKSB7XG4gICAgICB2YXIgY2F0ZWdvcml6ZWRPcHRpb25zID0gZ3JvdXBPck9wdGlvbi5vcHRpb25zLm1hcChmdW5jdGlvbiAob3B0aW9uLCBvcHRpb25JbmRleCkge1xuICAgICAgICByZXR1cm4gdG9DYXRlZ29yaXplZE9wdGlvbihwcm9wcywgb3B0aW9uLCBzZWxlY3RWYWx1ZSwgb3B0aW9uSW5kZXgpO1xuICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uIChjYXRlZ29yaXplZE9wdGlvbikge1xuICAgICAgICByZXR1cm4gaXNGb2N1c2FibGUocHJvcHMsIGNhdGVnb3JpemVkT3B0aW9uKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNhdGVnb3JpemVkT3B0aW9ucy5sZW5ndGggPiAwID8ge1xuICAgICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgICBkYXRhOiBncm91cE9yT3B0aW9uLFxuICAgICAgICBvcHRpb25zOiBjYXRlZ29yaXplZE9wdGlvbnMsXG4gICAgICAgIGluZGV4OiBncm91cE9yT3B0aW9uSW5kZXhcbiAgICAgIH0gOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHZhciBjYXRlZ29yaXplZE9wdGlvbiA9IHRvQ2F0ZWdvcml6ZWRPcHRpb24ocHJvcHMsIGdyb3VwT3JPcHRpb24sIHNlbGVjdFZhbHVlLCBncm91cE9yT3B0aW9uSW5kZXgpO1xuICAgIHJldHVybiBpc0ZvY3VzYWJsZShwcm9wcywgY2F0ZWdvcml6ZWRPcHRpb24pID8gY2F0ZWdvcml6ZWRPcHRpb24gOiB1bmRlZmluZWQ7XG4gIH0pLmZpbHRlcihub3ROdWxsaXNoKTtcbn1cbmZ1bmN0aW9uIGJ1aWxkRm9jdXNhYmxlT3B0aW9uc0Zyb21DYXRlZ29yaXplZE9wdGlvbnMoY2F0ZWdvcml6ZWRPcHRpb25zKSB7XG4gIHJldHVybiBjYXRlZ29yaXplZE9wdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChvcHRpb25zQWNjdW11bGF0b3IsIGNhdGVnb3JpemVkT3B0aW9uKSB7XG4gICAgaWYgKGNhdGVnb3JpemVkT3B0aW9uLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgIG9wdGlvbnNBY2N1bXVsYXRvci5wdXNoLmFwcGx5KG9wdGlvbnNBY2N1bXVsYXRvciwgX3RvQ29uc3VtYWJsZUFycmF5KGNhdGVnb3JpemVkT3B0aW9uLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbi5kYXRhO1xuICAgICAgfSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9uc0FjY3VtdWxhdG9yLnB1c2goY2F0ZWdvcml6ZWRPcHRpb24uZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zQWNjdW11bGF0b3I7XG4gIH0sIFtdKTtcbn1cbmZ1bmN0aW9uIGJ1aWxkRm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMoY2F0ZWdvcml6ZWRPcHRpb25zLCBvcHRpb25JZCkge1xuICByZXR1cm4gY2F0ZWdvcml6ZWRPcHRpb25zLnJlZHVjZShmdW5jdGlvbiAob3B0aW9uc0FjY3VtdWxhdG9yLCBjYXRlZ29yaXplZE9wdGlvbikge1xuICAgIGlmIChjYXRlZ29yaXplZE9wdGlvbi50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICBvcHRpb25zQWNjdW11bGF0b3IucHVzaC5hcHBseShvcHRpb25zQWNjdW11bGF0b3IsIF90b0NvbnN1bWFibGVBcnJheShjYXRlZ29yaXplZE9wdGlvbi5vcHRpb25zLm1hcChmdW5jdGlvbiAob3B0aW9uKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogb3B0aW9uLmRhdGEsXG4gICAgICAgICAgaWQ6IFwiXCIuY29uY2F0KG9wdGlvbklkLCBcIi1cIikuY29uY2F0KGNhdGVnb3JpemVkT3B0aW9uLmluZGV4LCBcIi1cIikuY29uY2F0KG9wdGlvbi5pbmRleClcbiAgICAgICAgfTtcbiAgICAgIH0pKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnNBY2N1bXVsYXRvci5wdXNoKHtcbiAgICAgICAgZGF0YTogY2F0ZWdvcml6ZWRPcHRpb24uZGF0YSxcbiAgICAgICAgaWQ6IFwiXCIuY29uY2F0KG9wdGlvbklkLCBcIi1cIikuY29uY2F0KGNhdGVnb3JpemVkT3B0aW9uLmluZGV4KVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zQWNjdW11bGF0b3I7XG4gIH0sIFtdKTtcbn1cbmZ1bmN0aW9uIGJ1aWxkRm9jdXNhYmxlT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpIHtcbiAgcmV0dXJuIGJ1aWxkRm9jdXNhYmxlT3B0aW9uc0Zyb21DYXRlZ29yaXplZE9wdGlvbnMoYnVpbGRDYXRlZ29yaXplZE9wdGlvbnMocHJvcHMsIHNlbGVjdFZhbHVlKSk7XG59XG5mdW5jdGlvbiBpc0ZvY3VzYWJsZShwcm9wcywgY2F0ZWdvcml6ZWRPcHRpb24pIHtcbiAgdmFyIF9wcm9wcyRpbnB1dFZhbHVlID0gcHJvcHMuaW5wdXRWYWx1ZSxcbiAgICBpbnB1dFZhbHVlID0gX3Byb3BzJGlucHV0VmFsdWUgPT09IHZvaWQgMCA/ICcnIDogX3Byb3BzJGlucHV0VmFsdWU7XG4gIHZhciBkYXRhID0gY2F0ZWdvcml6ZWRPcHRpb24uZGF0YSxcbiAgICBpc1NlbGVjdGVkID0gY2F0ZWdvcml6ZWRPcHRpb24uaXNTZWxlY3RlZCxcbiAgICBsYWJlbCA9IGNhdGVnb3JpemVkT3B0aW9uLmxhYmVsLFxuICAgIHZhbHVlID0gY2F0ZWdvcml6ZWRPcHRpb24udmFsdWU7XG4gIHJldHVybiAoIXNob3VsZEhpZGVTZWxlY3RlZE9wdGlvbnMocHJvcHMpIHx8ICFpc1NlbGVjdGVkKSAmJiBfZmlsdGVyT3B0aW9uKHByb3BzLCB7XG4gICAgbGFiZWw6IGxhYmVsLFxuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBkYXRhOiBkYXRhXG4gIH0sIGlucHV0VmFsdWUpO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEZvY3VzZWRWYWx1ZShzdGF0ZSwgbmV4dFNlbGVjdFZhbHVlKSB7XG4gIHZhciBmb2N1c2VkVmFsdWUgPSBzdGF0ZS5mb2N1c2VkVmFsdWUsXG4gICAgbGFzdFNlbGVjdFZhbHVlID0gc3RhdGUuc2VsZWN0VmFsdWU7XG4gIHZhciBsYXN0Rm9jdXNlZEluZGV4ID0gbGFzdFNlbGVjdFZhbHVlLmluZGV4T2YoZm9jdXNlZFZhbHVlKTtcbiAgaWYgKGxhc3RGb2N1c2VkSW5kZXggPiAtMSkge1xuICAgIHZhciBuZXh0Rm9jdXNlZEluZGV4ID0gbmV4dFNlbGVjdFZhbHVlLmluZGV4T2YoZm9jdXNlZFZhbHVlKTtcbiAgICBpZiAobmV4dEZvY3VzZWRJbmRleCA+IC0xKSB7XG4gICAgICAvLyB0aGUgZm9jdXNlZCB2YWx1ZSBpcyBzdGlsbCBpbiB0aGUgc2VsZWN0VmFsdWUsIHJldHVybiBpdFxuICAgICAgcmV0dXJuIGZvY3VzZWRWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKGxhc3RGb2N1c2VkSW5kZXggPCBuZXh0U2VsZWN0VmFsdWUubGVuZ3RoKSB7XG4gICAgICAvLyB0aGUgZm9jdXNlZFZhbHVlIGlzIG5vdCBwcmVzZW50IGluIHRoZSBuZXh0IHNlbGVjdFZhbHVlIGFycmF5IGJ5XG4gICAgICAvLyByZWZlcmVuY2UsIHNvIHJldHVybiB0aGUgbmV3IHZhbHVlIGF0IHRoZSBzYW1lIGluZGV4XG4gICAgICByZXR1cm4gbmV4dFNlbGVjdFZhbHVlW2xhc3RGb2N1c2VkSW5kZXhdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldE5leHRGb2N1c2VkT3B0aW9uKHN0YXRlLCBvcHRpb25zKSB7XG4gIHZhciBsYXN0Rm9jdXNlZE9wdGlvbiA9IHN0YXRlLmZvY3VzZWRPcHRpb247XG4gIHJldHVybiBsYXN0Rm9jdXNlZE9wdGlvbiAmJiBvcHRpb25zLmluZGV4T2YobGFzdEZvY3VzZWRPcHRpb24pID4gLTEgPyBsYXN0Rm9jdXNlZE9wdGlvbiA6IG9wdGlvbnNbMF07XG59XG52YXIgZ2V0Rm9jdXNlZE9wdGlvbklkID0gZnVuY3Rpb24gZ2V0Rm9jdXNlZE9wdGlvbklkKGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2VkT3B0aW9uKSB7XG4gIHZhciBfZm9jdXNhYmxlT3B0aW9uc1dpdGg7XG4gIHZhciBmb2N1c2VkT3B0aW9uSWQgPSAoX2ZvY3VzYWJsZU9wdGlvbnNXaXRoID0gZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMuZmluZChmdW5jdGlvbiAob3B0aW9uKSB7XG4gICAgcmV0dXJuIG9wdGlvbi5kYXRhID09PSBmb2N1c2VkT3B0aW9uO1xuICB9KSkgPT09IG51bGwgfHwgX2ZvY3VzYWJsZU9wdGlvbnNXaXRoID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZm9jdXNhYmxlT3B0aW9uc1dpdGguaWQ7XG4gIHJldHVybiBmb2N1c2VkT3B0aW9uSWQgfHwgbnVsbDtcbn07XG52YXIgZ2V0T3B0aW9uTGFiZWwgPSBmdW5jdGlvbiBnZXRPcHRpb25MYWJlbChwcm9wcywgZGF0YSkge1xuICByZXR1cm4gcHJvcHMuZ2V0T3B0aW9uTGFiZWwoZGF0YSk7XG59O1xudmFyIGdldE9wdGlvblZhbHVlID0gZnVuY3Rpb24gZ2V0T3B0aW9uVmFsdWUocHJvcHMsIGRhdGEpIHtcbiAgcmV0dXJuIHByb3BzLmdldE9wdGlvblZhbHVlKGRhdGEpO1xufTtcbmZ1bmN0aW9uIF9pc09wdGlvbkRpc2FibGVkKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgcHJvcHMuaXNPcHRpb25EaXNhYmxlZCA9PT0gJ2Z1bmN0aW9uJyA/IHByb3BzLmlzT3B0aW9uRGlzYWJsZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSkgOiBmYWxzZTtcbn1cbmZ1bmN0aW9uIF9pc09wdGlvblNlbGVjdGVkKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlKSB7XG4gIGlmIChzZWxlY3RWYWx1ZS5pbmRleE9mKG9wdGlvbikgPiAtMSkgcmV0dXJuIHRydWU7XG4gIGlmICh0eXBlb2YgcHJvcHMuaXNPcHRpb25TZWxlY3RlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBwcm9wcy5pc09wdGlvblNlbGVjdGVkKG9wdGlvbiwgc2VsZWN0VmFsdWUpO1xuICB9XG4gIHZhciBjYW5kaWRhdGUgPSBnZXRPcHRpb25WYWx1ZShwcm9wcywgb3B0aW9uKTtcbiAgcmV0dXJuIHNlbGVjdFZhbHVlLnNvbWUoZnVuY3Rpb24gKGkpIHtcbiAgICByZXR1cm4gZ2V0T3B0aW9uVmFsdWUocHJvcHMsIGkpID09PSBjYW5kaWRhdGU7XG4gIH0pO1xufVxuZnVuY3Rpb24gX2ZpbHRlck9wdGlvbihwcm9wcywgb3B0aW9uLCBpbnB1dFZhbHVlKSB7XG4gIHJldHVybiBwcm9wcy5maWx0ZXJPcHRpb24gPyBwcm9wcy5maWx0ZXJPcHRpb24ob3B0aW9uLCBpbnB1dFZhbHVlKSA6IHRydWU7XG59XG52YXIgc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyA9IGZ1bmN0aW9uIHNob3VsZEhpZGVTZWxlY3RlZE9wdGlvbnMocHJvcHMpIHtcbiAgdmFyIGhpZGVTZWxlY3RlZE9wdGlvbnMgPSBwcm9wcy5oaWRlU2VsZWN0ZWRPcHRpb25zLFxuICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpO1xuICBpZiAoaGlkZVNlbGVjdGVkT3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gaXNNdWx0aTtcbiAgcmV0dXJuIGhpZGVTZWxlY3RlZE9wdGlvbnM7XG59O1xudmFyIGluc3RhbmNlSWQgPSAxO1xudmFyIFNlbGVjdCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoU2VsZWN0LCBfQ29tcG9uZW50KTtcbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihTZWxlY3QpO1xuICAvLyBNaXNjLiBJbnN0YW5jZSBQcm9wZXJ0aWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFRPRE9cblxuICAvLyBSZWZzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIExpZmVjeWNsZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBmdW5jdGlvbiBTZWxlY3QoX3Byb3BzKSB7XG4gICAgdmFyIF90aGlzO1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTZWxlY3QpO1xuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgX3Byb3BzKTtcbiAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGFyaWFTZWxlY3Rpb246IG51bGwsXG4gICAgICBmb2N1c2VkT3B0aW9uOiBudWxsLFxuICAgICAgZm9jdXNlZE9wdGlvbklkOiBudWxsLFxuICAgICAgZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHM6IFtdLFxuICAgICAgZm9jdXNlZFZhbHVlOiBudWxsLFxuICAgICAgaW5wdXRJc0hpZGRlbjogZmFsc2UsXG4gICAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0VmFsdWU6IFtdLFxuICAgICAgY2xlYXJGb2N1c1ZhbHVlT25VcGRhdGU6IGZhbHNlLFxuICAgICAgcHJldldhc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiB1bmRlZmluZWQsXG4gICAgICBwcmV2UHJvcHM6IHVuZGVmaW5lZCxcbiAgICAgIGluc3RhbmNlUHJlZml4OiAnJyxcbiAgICAgIGlzQXBwbGVEZXZpY2U6IGZhbHNlXG4gICAgfTtcbiAgICBfdGhpcy5ibG9ja09wdGlvbkhvdmVyID0gZmFsc2U7XG4gICAgX3RoaXMuaXNDb21wb3NpbmcgPSBmYWxzZTtcbiAgICBfdGhpcy5jb21tb25Qcm9wcyA9IHZvaWQgMDtcbiAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gMDtcbiAgICBfdGhpcy5pbml0aWFsVG91Y2hZID0gMDtcbiAgICBfdGhpcy5vcGVuQWZ0ZXJGb2N1cyA9IGZhbHNlO1xuICAgIF90aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gZmFsc2U7XG4gICAgX3RoaXMudXNlcklzRHJhZ2dpbmcgPSB2b2lkIDA7XG4gICAgX3RoaXMuY29udHJvbFJlZiA9IG51bGw7XG4gICAgX3RoaXMuZ2V0Q29udHJvbFJlZiA9IGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgIF90aGlzLmNvbnRyb2xSZWYgPSByZWY7XG4gICAgfTtcbiAgICBfdGhpcy5mb2N1c2VkT3B0aW9uUmVmID0gbnVsbDtcbiAgICBfdGhpcy5nZXRGb2N1c2VkT3B0aW9uUmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMuZm9jdXNlZE9wdGlvblJlZiA9IHJlZjtcbiAgICB9O1xuICAgIF90aGlzLm1lbnVMaXN0UmVmID0gbnVsbDtcbiAgICBfdGhpcy5nZXRNZW51TGlzdFJlZiA9IGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgIF90aGlzLm1lbnVMaXN0UmVmID0gcmVmO1xuICAgIH07XG4gICAgX3RoaXMuaW5wdXRSZWYgPSBudWxsO1xuICAgIF90aGlzLmdldElucHV0UmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMuaW5wdXRSZWYgPSByZWY7XG4gICAgfTtcbiAgICBfdGhpcy5mb2N1cyA9IF90aGlzLmZvY3VzSW5wdXQ7XG4gICAgX3RoaXMuYmx1ciA9IF90aGlzLmJsdXJJbnB1dDtcbiAgICBfdGhpcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChuZXdWYWx1ZSwgYWN0aW9uTWV0YSkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgIG9uQ2hhbmdlID0gX3RoaXMkcHJvcHMub25DaGFuZ2UsXG4gICAgICAgIG5hbWUgPSBfdGhpcyRwcm9wcy5uYW1lO1xuICAgICAgYWN0aW9uTWV0YS5uYW1lID0gbmFtZTtcbiAgICAgIF90aGlzLmFyaWFPbkNoYW5nZShuZXdWYWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgICBvbkNoYW5nZShuZXdWYWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgfTtcbiAgICBfdGhpcy5zZXRWYWx1ZSA9IGZ1bmN0aW9uIChuZXdWYWx1ZSwgYWN0aW9uLCBvcHRpb24pIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczIgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgY2xvc2VNZW51T25TZWxlY3QgPSBfdGhpcyRwcm9wczIuY2xvc2VNZW51T25TZWxlY3QsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczIuaXNNdWx0aSxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzMi5pbnB1dFZhbHVlO1xuICAgICAgX3RoaXMub25JbnB1dENoYW5nZSgnJywge1xuICAgICAgICBhY3Rpb246ICdzZXQtdmFsdWUnLFxuICAgICAgICBwcmV2SW5wdXRWYWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgfSk7XG4gICAgICBpZiAoY2xvc2VNZW51T25TZWxlY3QpIHtcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogIWlzTXVsdGlcbiAgICAgICAgfSk7XG4gICAgICAgIF90aGlzLm9uTWVudUNsb3NlKCk7XG4gICAgICB9XG4gICAgICAvLyB3aGVuIHRoZSBzZWxlY3QgdmFsdWUgc2hvdWxkIGNoYW5nZSwgd2Ugc2hvdWxkIHJlc2V0IGZvY3VzZWRWYWx1ZVxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBjbGVhckZvY3VzVmFsdWVPblVwZGF0ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBfdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSwge1xuICAgICAgICBhY3Rpb246IGFjdGlvbixcbiAgICAgICAgb3B0aW9uOiBvcHRpb25cbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMuc2VsZWN0T3B0aW9uID0gZnVuY3Rpb24gKG5ld1ZhbHVlKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMzID0gX3RoaXMucHJvcHMsXG4gICAgICAgIGJsdXJJbnB1dE9uU2VsZWN0ID0gX3RoaXMkcHJvcHMzLmJsdXJJbnB1dE9uU2VsZWN0LFxuICAgICAgICBpc011bHRpID0gX3RoaXMkcHJvcHMzLmlzTXVsdGksXG4gICAgICAgIG5hbWUgPSBfdGhpcyRwcm9wczMubmFtZTtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgdmFyIGRlc2VsZWN0ZWQgPSBpc011bHRpICYmIF90aGlzLmlzT3B0aW9uU2VsZWN0ZWQobmV3VmFsdWUsIHNlbGVjdFZhbHVlKTtcbiAgICAgIHZhciBpc0Rpc2FibGVkID0gX3RoaXMuaXNPcHRpb25EaXNhYmxlZChuZXdWYWx1ZSwgc2VsZWN0VmFsdWUpO1xuICAgICAgaWYgKGRlc2VsZWN0ZWQpIHtcbiAgICAgICAgdmFyIGNhbmRpZGF0ZSA9IF90aGlzLmdldE9wdGlvblZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgX3RoaXMuc2V0VmFsdWUobXVsdGlWYWx1ZUFzVmFsdWUoc2VsZWN0VmFsdWUuZmlsdGVyKGZ1bmN0aW9uIChpKSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzLmdldE9wdGlvblZhbHVlKGkpICE9PSBjYW5kaWRhdGU7XG4gICAgICAgIH0pKSwgJ2Rlc2VsZWN0LW9wdGlvbicsIG5ld1ZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgLy8gU2VsZWN0IG9wdGlvbiBpZiBvcHRpb24gaXMgbm90IGRpc2FibGVkXG4gICAgICAgIGlmIChpc011bHRpKSB7XG4gICAgICAgICAgX3RoaXMuc2V0VmFsdWUobXVsdGlWYWx1ZUFzVmFsdWUoW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShzZWxlY3RWYWx1ZSksIFtuZXdWYWx1ZV0pKSwgJ3NlbGVjdC1vcHRpb24nLCBuZXdWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3RoaXMuc2V0VmFsdWUoc2luZ2xlVmFsdWVBc1ZhbHVlKG5ld1ZhbHVlKSwgJ3NlbGVjdC1vcHRpb24nKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX3RoaXMuYXJpYU9uQ2hhbmdlKHNpbmdsZVZhbHVlQXNWYWx1ZShuZXdWYWx1ZSksIHtcbiAgICAgICAgICBhY3Rpb246ICdzZWxlY3Qtb3B0aW9uJyxcbiAgICAgICAgICBvcHRpb246IG5ld1ZhbHVlLFxuICAgICAgICAgIG5hbWU6IG5hbWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChibHVySW5wdXRPblNlbGVjdCkge1xuICAgICAgICBfdGhpcy5ibHVySW5wdXQoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLnJlbW92ZVZhbHVlID0gZnVuY3Rpb24gKHJlbW92ZWRWYWx1ZSkge1xuICAgICAgdmFyIGlzTXVsdGkgPSBfdGhpcy5wcm9wcy5pc011bHRpO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgY2FuZGlkYXRlID0gX3RoaXMuZ2V0T3B0aW9uVmFsdWUocmVtb3ZlZFZhbHVlKTtcbiAgICAgIHZhciBuZXdWYWx1ZUFycmF5ID0gc2VsZWN0VmFsdWUuZmlsdGVyKGZ1bmN0aW9uIChpKSB7XG4gICAgICAgIHJldHVybiBfdGhpcy5nZXRPcHRpb25WYWx1ZShpKSAhPT0gY2FuZGlkYXRlO1xuICAgICAgfSk7XG4gICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1ZVRlcm5hcnkoaXNNdWx0aSwgbmV3VmFsdWVBcnJheSwgbmV3VmFsdWVBcnJheVswXSB8fCBudWxsKTtcbiAgICAgIF90aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlLCB7XG4gICAgICAgIGFjdGlvbjogJ3JlbW92ZS12YWx1ZScsXG4gICAgICAgIHJlbW92ZWRWYWx1ZTogcmVtb3ZlZFZhbHVlXG4gICAgICB9KTtcbiAgICAgIF90aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9O1xuICAgIF90aGlzLmNsZWFyVmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgc2VsZWN0VmFsdWUgPSBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICAgIF90aGlzLm9uQ2hhbmdlKHZhbHVlVGVybmFyeShfdGhpcy5wcm9wcy5pc011bHRpLCBbXSwgbnVsbCksIHtcbiAgICAgICAgYWN0aW9uOiAnY2xlYXInLFxuICAgICAgICByZW1vdmVkVmFsdWVzOiBzZWxlY3RWYWx1ZVxuICAgICAgfSk7XG4gICAgfTtcbiAgICBfdGhpcy5wb3BWYWx1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBpc011bHRpID0gX3RoaXMucHJvcHMuaXNNdWx0aTtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgdmFyIGxhc3RTZWxlY3RlZFZhbHVlID0gc2VsZWN0VmFsdWVbc2VsZWN0VmFsdWUubGVuZ3RoIC0gMV07XG4gICAgICB2YXIgbmV3VmFsdWVBcnJheSA9IHNlbGVjdFZhbHVlLnNsaWNlKDAsIHNlbGVjdFZhbHVlLmxlbmd0aCAtIDEpO1xuICAgICAgdmFyIG5ld1ZhbHVlID0gdmFsdWVUZXJuYXJ5KGlzTXVsdGksIG5ld1ZhbHVlQXJyYXksIG5ld1ZhbHVlQXJyYXlbMF0gfHwgbnVsbCk7XG4gICAgICBpZiAobGFzdFNlbGVjdGVkVmFsdWUpIHtcbiAgICAgICAgX3RoaXMub25DaGFuZ2UobmV3VmFsdWUsIHtcbiAgICAgICAgICBhY3Rpb246ICdwb3AtdmFsdWUnLFxuICAgICAgICAgIHJlbW92ZWRWYWx1ZTogbGFzdFNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBfdGhpcy5nZXRGb2N1c2VkT3B0aW9uSWQgPSBmdW5jdGlvbiAoZm9jdXNlZE9wdGlvbikge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRPcHRpb25JZChfdGhpcy5zdGF0ZS5mb2N1c2FibGVPcHRpb25zV2l0aElkcywgZm9jdXNlZE9wdGlvbik7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRGb2N1c2FibGVPcHRpb25zV2l0aElkcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBidWlsZEZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzKGJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKF90aGlzLnByb3BzLCBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZSksIF90aGlzLmdldEVsZW1lbnRJZCgnb3B0aW9uJykpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0VmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgfTtcbiAgICBfdGhpcy5jeCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNsYXNzTmFtZXMuYXBwbHkodm9pZCAwLCBbX3RoaXMucHJvcHMuY2xhc3NOYW1lUHJlZml4XS5jb25jYXQoYXJncykpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0T3B0aW9uTGFiZWwgPSBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgcmV0dXJuIGdldE9wdGlvbkxhYmVsKF90aGlzLnByb3BzLCBkYXRhKTtcbiAgICB9O1xuICAgIF90aGlzLmdldE9wdGlvblZhbHVlID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgIHJldHVybiBnZXRPcHRpb25WYWx1ZShfdGhpcy5wcm9wcywgZGF0YSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRTdHlsZXMgPSBmdW5jdGlvbiAoa2V5LCBwcm9wcykge1xuICAgICAgdmFyIHVuc3R5bGVkID0gX3RoaXMucHJvcHMudW5zdHlsZWQ7XG4gICAgICB2YXIgYmFzZSA9IGRlZmF1bHRTdHlsZXNba2V5XShwcm9wcywgdW5zdHlsZWQpO1xuICAgICAgYmFzZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCc7XG4gICAgICB2YXIgY3VzdG9tID0gX3RoaXMucHJvcHMuc3R5bGVzW2tleV07XG4gICAgICByZXR1cm4gY3VzdG9tID8gY3VzdG9tKGJhc2UsIHByb3BzKSA6IGJhc2U7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRDbGFzc05hbWVzID0gZnVuY3Rpb24gKGtleSwgcHJvcHMpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyRjbGFzc05hbWUsIF90aGlzJHByb3BzJGNsYXNzTmFtZTI7XG4gICAgICByZXR1cm4gKF90aGlzJHByb3BzJGNsYXNzTmFtZSA9IChfdGhpcyRwcm9wcyRjbGFzc05hbWUyID0gX3RoaXMucHJvcHMuY2xhc3NOYW1lcylba2V5XSkgPT09IG51bGwgfHwgX3RoaXMkcHJvcHMkY2xhc3NOYW1lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyRwcm9wcyRjbGFzc05hbWUuY2FsbChfdGhpcyRwcm9wcyRjbGFzc05hbWUyLCBwcm9wcyk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRFbGVtZW50SWQgPSBmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KF90aGlzLnN0YXRlLmluc3RhbmNlUHJlZml4LCBcIi1cIikuY29uY2F0KGVsZW1lbnQpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0Q29tcG9uZW50cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0Q29tcG9uZW50cyhfdGhpcy5wcm9wcyk7XG4gICAgfTtcbiAgICBfdGhpcy5idWlsZENhdGVnb3JpemVkT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBidWlsZENhdGVnb3JpemVkT3B0aW9ucyhfdGhpcy5wcm9wcywgX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWUpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0Q2F0ZWdvcml6ZWRPcHRpb25zID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLnByb3BzLm1lbnVJc09wZW4gPyBfdGhpcy5idWlsZENhdGVnb3JpemVkT3B0aW9ucygpIDogW107XG4gICAgfTtcbiAgICBfdGhpcy5idWlsZEZvY3VzYWJsZU9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gYnVpbGRGb2N1c2FibGVPcHRpb25zRnJvbUNhdGVnb3JpemVkT3B0aW9ucyhfdGhpcy5idWlsZENhdGVnb3JpemVkT3B0aW9ucygpKTtcbiAgICB9O1xuICAgIF90aGlzLmdldEZvY3VzYWJsZU9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gX3RoaXMucHJvcHMubWVudUlzT3BlbiA/IF90aGlzLmJ1aWxkRm9jdXNhYmxlT3B0aW9ucygpIDogW107XG4gICAgfTtcbiAgICBfdGhpcy5hcmlhT25DaGFuZ2UgPSBmdW5jdGlvbiAodmFsdWUsIGFjdGlvbk1ldGEpIHtcbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgYXJpYVNlbGVjdGlvbjogX29iamVjdFNwcmVhZCh7XG4gICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH0sIGFjdGlvbk1ldGEpXG4gICAgICB9KTtcbiAgICB9O1xuICAgIF90aGlzLm9uTWVudU1vdXNlRG93biA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBfdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfTtcbiAgICBfdGhpcy5vbk1lbnVNb3VzZU1vdmUgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIF90aGlzLmJsb2NrT3B0aW9uSG92ZXIgPSBmYWxzZTtcbiAgICB9O1xuICAgIF90aGlzLm9uQ29udHJvbE1vdXNlRG93biA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgLy8gRXZlbnQgY2FwdHVyZWQgYnkgZHJvcGRvd24gaW5kaWNhdG9yXG4gICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgb3Blbk1lbnVPbkNsaWNrID0gX3RoaXMucHJvcHMub3Blbk1lbnVPbkNsaWNrO1xuICAgICAgaWYgKCFfdGhpcy5zdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICAgICAgaWYgKG9wZW5NZW51T25DbGljaykge1xuICAgICAgICAgIF90aGlzLm9wZW5BZnRlckZvY3VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBfdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICB9IGVsc2UgaWYgKCFfdGhpcy5wcm9wcy5tZW51SXNPcGVuKSB7XG4gICAgICAgIGlmIChvcGVuTWVudU9uQ2xpY2spIHtcbiAgICAgICAgICBfdGhpcy5vcGVuTWVudSgnZmlyc3QnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lICE9PSAnSU5QVVQnICYmIGV2ZW50LnRhcmdldC50YWdOYW1lICE9PSAnVEVYVEFSRUEnKSB7XG4gICAgICAgICAgX3RoaXMub25NZW51Q2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lICE9PSAnSU5QVVQnICYmIGV2ZW50LnRhcmdldC50YWdOYW1lICE9PSAnVEVYVEFSRUEnKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBfdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yTW91c2VEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAvLyBpZ25vcmUgbW91c2UgZXZlbnRzIHRoYXQgd2VyZW4ndCB0cmlnZ2VyZWQgYnkgdGhlIHByaW1hcnkgYnV0dG9uXG4gICAgICBpZiAoZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bicgJiYgZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChfdGhpcy5wcm9wcy5pc0Rpc2FibGVkKSByZXR1cm47XG4gICAgICB2YXIgX3RoaXMkcHJvcHM0ID0gX3RoaXMucHJvcHMsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczQuaXNNdWx0aSxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzNC5tZW51SXNPcGVuO1xuICAgICAgX3RoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgaWYgKG1lbnVJc09wZW4pIHtcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogIWlzTXVsdGlcbiAgICAgICAgfSk7XG4gICAgICAgIF90aGlzLm9uTWVudUNsb3NlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfdGhpcy5vcGVuTWVudSgnZmlyc3QnKTtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcbiAgICBfdGhpcy5vbkNsZWFySW5kaWNhdG9yTW91c2VEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAvLyBpZ25vcmUgbW91c2UgZXZlbnRzIHRoYXQgd2VyZW4ndCB0cmlnZ2VyZWQgYnkgdGhlIHByaW1hcnkgYnV0dG9uXG4gICAgICBpZiAoZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bicgJiYgZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIF90aGlzLmNsZWFyVmFsdWUoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBfdGhpcy5vcGVuQWZ0ZXJGb2N1cyA9IGZhbHNlO1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICd0b3VjaGVuZCcpIHtcbiAgICAgICAgX3RoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBfdGhpcy5vblNjcm9sbCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKHR5cGVvZiBfdGhpcy5wcm9wcy5jbG9zZU1lbnVPblNjcm9sbCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBpc0RvY3VtZW50RWxlbWVudChldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgX3RoaXMucHJvcHMub25NZW51Q2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgX3RoaXMucHJvcHMuY2xvc2VNZW51T25TY3JvbGwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKF90aGlzLnByb3BzLmNsb3NlTWVudU9uU2Nyb2xsKGV2ZW50KSkge1xuICAgICAgICAgIF90aGlzLnByb3BzLm9uTWVudUNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uQ29tcG9zaXRpb25TdGFydCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLmlzQ29tcG9zaW5nID0gdHJ1ZTtcbiAgICB9O1xuICAgIF90aGlzLm9uQ29tcG9zaXRpb25FbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5pc0NvbXBvc2luZyA9IGZhbHNlO1xuICAgIH07XG4gICAgX3RoaXMub25Ub3VjaFN0YXJ0ID0gZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgICB2YXIgdG91Y2hlcyA9IF9yZWYyLnRvdWNoZXM7XG4gICAgICB2YXIgdG91Y2ggPSB0b3VjaGVzICYmIHRvdWNoZXMuaXRlbSgwKTtcbiAgICAgIGlmICghdG91Y2gpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgX3RoaXMuaW5pdGlhbFRvdWNoWCA9IHRvdWNoLmNsaWVudFg7XG4gICAgICBfdGhpcy5pbml0aWFsVG91Y2hZID0gdG91Y2guY2xpZW50WTtcbiAgICAgIF90aGlzLnVzZXJJc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgfTtcbiAgICBfdGhpcy5vblRvdWNoTW92ZSA9IGZ1bmN0aW9uIChfcmVmMykge1xuICAgICAgdmFyIHRvdWNoZXMgPSBfcmVmMy50b3VjaGVzO1xuICAgICAgdmFyIHRvdWNoID0gdG91Y2hlcyAmJiB0b3VjaGVzLml0ZW0oMCk7XG4gICAgICBpZiAoIXRvdWNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBkZWx0YVggPSBNYXRoLmFicyh0b3VjaC5jbGllbnRYIC0gX3RoaXMuaW5pdGlhbFRvdWNoWCk7XG4gICAgICB2YXIgZGVsdGFZID0gTWF0aC5hYnModG91Y2guY2xpZW50WSAtIF90aGlzLmluaXRpYWxUb3VjaFkpO1xuICAgICAgdmFyIG1vdmVUaHJlc2hvbGQgPSA1O1xuICAgICAgX3RoaXMudXNlcklzRHJhZ2dpbmcgPSBkZWx0YVggPiBtb3ZlVGhyZXNob2xkIHx8IGRlbHRhWSA+IG1vdmVUaHJlc2hvbGQ7XG4gICAgfTtcbiAgICBfdGhpcy5vblRvdWNoRW5kID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAoX3RoaXMudXNlcklzRHJhZ2dpbmcpIHJldHVybjtcblxuICAgICAgLy8gY2xvc2UgdGhlIG1lbnUgaWYgdGhlIHVzZXIgdGFwcyBvdXRzaWRlXG4gICAgICAvLyB3ZSdyZSBjaGVja2luZyBvbiBldmVudC50YXJnZXQgaGVyZSBpbnN0ZWFkIG9mIGV2ZW50LmN1cnJlbnRUYXJnZXQsIGJlY2F1c2Ugd2Ugd2FudCB0byBhc3NlcnQgaW5mb3JtYXRpb25cbiAgICAgIC8vIG9uIGV2ZW50cyBvbiBjaGlsZCBlbGVtZW50cywgbm90IHRoZSBkb2N1bWVudCAod2hpY2ggd2UndmUgYXR0YWNoZWQgdGhpcyBoYW5kbGVyIHRvKS5cbiAgICAgIGlmIChfdGhpcy5jb250cm9sUmVmICYmICFfdGhpcy5jb250cm9sUmVmLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiYgX3RoaXMubWVudUxpc3RSZWYgJiYgIV90aGlzLm1lbnVMaXN0UmVmLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgX3RoaXMuYmx1cklucHV0KCk7XG4gICAgICB9XG5cbiAgICAgIC8vIHJlc2V0IG1vdmUgdmFyc1xuICAgICAgX3RoaXMuaW5pdGlhbFRvdWNoWCA9IDA7XG4gICAgICBfdGhpcy5pbml0aWFsVG91Y2hZID0gMDtcbiAgICB9O1xuICAgIF90aGlzLm9uQ29udHJvbFRvdWNoRW5kID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAoX3RoaXMudXNlcklzRHJhZ2dpbmcpIHJldHVybjtcbiAgICAgIF90aGlzLm9uQ29udHJvbE1vdXNlRG93bihldmVudCk7XG4gICAgfTtcbiAgICBfdGhpcy5vbkNsZWFySW5kaWNhdG9yVG91Y2hFbmQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy51c2VySXNEcmFnZ2luZykgcmV0dXJuO1xuICAgICAgX3RoaXMub25DbGVhckluZGljYXRvck1vdXNlRG93bihldmVudCk7XG4gICAgfTtcbiAgICBfdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yVG91Y2hFbmQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy51c2VySXNEcmFnZ2luZykgcmV0dXJuO1xuICAgICAgX3RoaXMub25Ecm9wZG93bkluZGljYXRvck1vdXNlRG93bihldmVudCk7XG4gICAgfTtcbiAgICBfdGhpcy5oYW5kbGVJbnB1dENoYW5nZSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIHByZXZJbnB1dFZhbHVlID0gX3RoaXMucHJvcHMuaW5wdXRWYWx1ZTtcbiAgICAgIHZhciBpbnB1dFZhbHVlID0gZXZlbnQuY3VycmVudFRhcmdldC52YWx1ZTtcbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBfdGhpcy5vbklucHV0Q2hhbmdlKGlucHV0VmFsdWUsIHtcbiAgICAgICAgYWN0aW9uOiAnaW5wdXQtY2hhbmdlJyxcbiAgICAgICAgcHJldklucHV0VmFsdWU6IHByZXZJbnB1dFZhbHVlXG4gICAgICB9KTtcbiAgICAgIGlmICghX3RoaXMucHJvcHMubWVudUlzT3Blbikge1xuICAgICAgICBfdGhpcy5vbk1lbnVPcGVuKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBfdGhpcy5vbklucHV0Rm9jdXMgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy5wcm9wcy5vbkZvY3VzKSB7XG4gICAgICAgIF90aGlzLnByb3BzLm9uRm9jdXMoZXZlbnQpO1xuICAgICAgfVxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IGZhbHNlLFxuICAgICAgICBpc0ZvY3VzZWQ6IHRydWVcbiAgICAgIH0pO1xuICAgICAgaWYgKF90aGlzLm9wZW5BZnRlckZvY3VzIHx8IF90aGlzLnByb3BzLm9wZW5NZW51T25Gb2N1cykge1xuICAgICAgICBfdGhpcy5vcGVuTWVudSgnZmlyc3QnKTtcbiAgICAgIH1cbiAgICAgIF90aGlzLm9wZW5BZnRlckZvY3VzID0gZmFsc2U7XG4gICAgfTtcbiAgICBfdGhpcy5vbklucHV0Qmx1ciA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIHByZXZJbnB1dFZhbHVlID0gX3RoaXMucHJvcHMuaW5wdXRWYWx1ZTtcbiAgICAgIGlmIChfdGhpcy5tZW51TGlzdFJlZiAmJiBfdGhpcy5tZW51TGlzdFJlZi5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICBfdGhpcy5pbnB1dFJlZi5mb2N1cygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoX3RoaXMucHJvcHMub25CbHVyKSB7XG4gICAgICAgIF90aGlzLnByb3BzLm9uQmx1cihldmVudCk7XG4gICAgICB9XG4gICAgICBfdGhpcy5vbklucHV0Q2hhbmdlKCcnLCB7XG4gICAgICAgIGFjdGlvbjogJ2lucHV0LWJsdXInLFxuICAgICAgICBwcmV2SW5wdXRWYWx1ZTogcHJldklucHV0VmFsdWVcbiAgICAgIH0pO1xuICAgICAgX3RoaXMub25NZW51Q2xvc2UoKTtcbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZm9jdXNlZFZhbHVlOiBudWxsLFxuICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9O1xuICAgIF90aGlzLm9uT3B0aW9uSG92ZXIgPSBmdW5jdGlvbiAoZm9jdXNlZE9wdGlvbikge1xuICAgICAgaWYgKF90aGlzLmJsb2NrT3B0aW9uSG92ZXIgfHwgX3RoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbiA9PT0gZm9jdXNlZE9wdGlvbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgb3B0aW9ucyA9IF90aGlzLmdldEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIHZhciBmb2N1c2VkT3B0aW9uSW5kZXggPSBvcHRpb25zLmluZGV4T2YoZm9jdXNlZE9wdGlvbik7XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGZvY3VzZWRPcHRpb246IGZvY3VzZWRPcHRpb24sXG4gICAgICAgIGZvY3VzZWRPcHRpb25JZDogZm9jdXNlZE9wdGlvbkluZGV4ID4gLTEgPyBfdGhpcy5nZXRGb2N1c2VkT3B0aW9uSWQoZm9jdXNlZE9wdGlvbikgOiBudWxsXG4gICAgICB9KTtcbiAgICB9O1xuICAgIF90aGlzLnNob3VsZEhpZGVTZWxlY3RlZE9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyhfdGhpcy5wcm9wcyk7XG4gICAgfTtcbiAgICBfdGhpcy5vblZhbHVlSW5wdXRGb2N1cyA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgX3RoaXMuZm9jdXMoKTtcbiAgICB9O1xuICAgIF90aGlzLm9uS2V5RG93biA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzNSA9IF90aGlzLnByb3BzLFxuICAgICAgICBpc011bHRpID0gX3RoaXMkcHJvcHM1LmlzTXVsdGksXG4gICAgICAgIGJhY2tzcGFjZVJlbW92ZXNWYWx1ZSA9IF90aGlzJHByb3BzNS5iYWNrc3BhY2VSZW1vdmVzVmFsdWUsXG4gICAgICAgIGVzY2FwZUNsZWFyc1ZhbHVlID0gX3RoaXMkcHJvcHM1LmVzY2FwZUNsZWFyc1ZhbHVlLFxuICAgICAgICBpbnB1dFZhbHVlID0gX3RoaXMkcHJvcHM1LmlucHV0VmFsdWUsXG4gICAgICAgIGlzQ2xlYXJhYmxlID0gX3RoaXMkcHJvcHM1LmlzQ2xlYXJhYmxlLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHM1LmlzRGlzYWJsZWQsXG4gICAgICAgIG1lbnVJc09wZW4gPSBfdGhpcyRwcm9wczUubWVudUlzT3BlbixcbiAgICAgICAgb25LZXlEb3duID0gX3RoaXMkcHJvcHM1Lm9uS2V5RG93bixcbiAgICAgICAgdGFiU2VsZWN0c1ZhbHVlID0gX3RoaXMkcHJvcHM1LnRhYlNlbGVjdHNWYWx1ZSxcbiAgICAgICAgb3Blbk1lbnVPbkZvY3VzID0gX3RoaXMkcHJvcHM1Lm9wZW5NZW51T25Gb2N1cztcbiAgICAgIHZhciBfdGhpcyRzdGF0ZSA9IF90aGlzLnN0YXRlLFxuICAgICAgICBmb2N1c2VkT3B0aW9uID0gX3RoaXMkc3RhdGUuZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGUuZm9jdXNlZFZhbHVlLFxuICAgICAgICBzZWxlY3RWYWx1ZSA9IF90aGlzJHN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgaWYgKGlzRGlzYWJsZWQpIHJldHVybjtcbiAgICAgIGlmICh0eXBlb2Ygb25LZXlEb3duID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEJsb2NrIG9wdGlvbiBob3ZlciBldmVudHMgd2hlbiB0aGUgdXNlciBoYXMganVzdCBwcmVzc2VkIGEga2V5XG4gICAgICBfdGhpcy5ibG9ja09wdGlvbkhvdmVyID0gdHJ1ZTtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgaWYgKCFpc011bHRpIHx8IGlucHV0VmFsdWUpIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c1ZhbHVlKCdwcmV2aW91cycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICBpZiAoIWlzTXVsdGkgfHwgaW5wdXRWYWx1ZSkgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzVmFsdWUoJ25leHQnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgICAgICBpZiAoaW5wdXRWYWx1ZSkgcmV0dXJuO1xuICAgICAgICAgIGlmIChmb2N1c2VkVmFsdWUpIHtcbiAgICAgICAgICAgIF90aGlzLnJlbW92ZVZhbHVlKGZvY3VzZWRWYWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghYmFja3NwYWNlUmVtb3Zlc1ZhbHVlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAoaXNNdWx0aSkge1xuICAgICAgICAgICAgICBfdGhpcy5wb3BWYWx1ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0NsZWFyYWJsZSkge1xuICAgICAgICAgICAgICBfdGhpcy5jbGVhclZhbHVlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdUYWInOlxuICAgICAgICAgIGlmIChfdGhpcy5pc0NvbXBvc2luZykgcmV0dXJuO1xuICAgICAgICAgIGlmIChldmVudC5zaGlmdEtleSB8fCAhbWVudUlzT3BlbiB8fCAhdGFiU2VsZWN0c1ZhbHVlIHx8ICFmb2N1c2VkT3B0aW9uIHx8XG4gICAgICAgICAgLy8gZG9uJ3QgY2FwdHVyZSB0aGUgZXZlbnQgaWYgdGhlIG1lbnUgb3BlbnMgb24gZm9jdXMgYW5kIHRoZSBmb2N1c2VkXG4gICAgICAgICAgLy8gb3B0aW9uIGlzIGFscmVhZHkgc2VsZWN0ZWQ7IGl0IGJyZWFrcyB0aGUgZmxvdyBvZiBuYXZpZ2F0aW9uXG4gICAgICAgICAgb3Blbk1lbnVPbkZvY3VzICYmIF90aGlzLmlzT3B0aW9uU2VsZWN0ZWQoZm9jdXNlZE9wdGlvbiwgc2VsZWN0VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIF90aGlzLnNlbGVjdE9wdGlvbihmb2N1c2VkT3B0aW9uKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSAyMjkpIHtcbiAgICAgICAgICAgIC8vIGlnbm9yZSB0aGUga2V5ZG93biBldmVudCBmcm9tIGFuIElucHV0IE1ldGhvZCBFZGl0b3IoSU1FKVxuICAgICAgICAgICAgLy8gcmVmLiBodHRwczovL3d3dy53My5vcmcvVFIvdWlldmVudHMvI2RldGVybWluZS1rZXlkb3duLWtleXVwLWtleUNvZGVcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICAgICAgaWYgKCFmb2N1c2VkT3B0aW9uKSByZXR1cm47XG4gICAgICAgICAgICBpZiAoX3RoaXMuaXNDb21wb3NpbmcpIHJldHVybjtcbiAgICAgICAgICAgIF90aGlzLnNlbGVjdE9wdGlvbihmb2N1c2VkT3B0aW9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgICAgaWYgKG1lbnVJc09wZW4pIHtcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBfdGhpcy5vbklucHV0Q2hhbmdlKCcnLCB7XG4gICAgICAgICAgICAgIGFjdGlvbjogJ21lbnUtY2xvc2UnLFxuICAgICAgICAgICAgICBwcmV2SW5wdXRWYWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBfdGhpcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNDbGVhcmFibGUgJiYgZXNjYXBlQ2xlYXJzVmFsdWUpIHtcbiAgICAgICAgICAgIF90aGlzLmNsZWFyVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgIC8vIHNwYWNlXG4gICAgICAgICAgaWYgKGlucHV0VmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFtZW51SXNPcGVuKSB7XG4gICAgICAgICAgICBfdGhpcy5vcGVuTWVudSgnZmlyc3QnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWZvY3VzZWRPcHRpb24pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5zZWxlY3RPcHRpb24oZm9jdXNlZE9wdGlvbik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgIGlmIChtZW51SXNPcGVuKSB7XG4gICAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbigndXAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMub3Blbk1lbnUoJ2xhc3QnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgICAgaWYgKG1lbnVJc09wZW4pIHtcbiAgICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCdkb3duJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnUGFnZVVwJzpcbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbigncGFnZXVwJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1BhZ2VEb3duJzpcbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbigncGFnZWRvd24nKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgICAgaWYgKCFtZW51SXNPcGVuKSByZXR1cm47XG4gICAgICAgICAgX3RoaXMuZm9jdXNPcHRpb24oJ2ZpcnN0Jyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgICAgaWYgKCFtZW51SXNPcGVuKSByZXR1cm47XG4gICAgICAgICAgX3RoaXMuZm9jdXNPcHRpb24oJ2xhc3QnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH07XG4gICAgX3RoaXMuc3RhdGUuaW5zdGFuY2VQcmVmaXggPSAncmVhY3Qtc2VsZWN0LScgKyAoX3RoaXMucHJvcHMuaW5zdGFuY2VJZCB8fCArK2luc3RhbmNlSWQpO1xuICAgIF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlID0gY2xlYW5WYWx1ZShfcHJvcHMudmFsdWUpO1xuICAgIC8vIFNldCBmb2N1c2VkT3B0aW9uIGlmIG1lbnVJc09wZW4gaXMgc2V0IG9uIGluaXQgKGUuZy4gZGVmYXVsdE1lbnVJc09wZW4pXG4gICAgaWYgKF9wcm9wcy5tZW51SXNPcGVuICYmIF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlLmxlbmd0aCkge1xuICAgICAgdmFyIGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzID0gX3RoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMoKTtcbiAgICAgIHZhciBmb2N1c2FibGVPcHRpb25zID0gX3RoaXMuYnVpbGRGb2N1c2FibGVPcHRpb25zKCk7XG4gICAgICB2YXIgb3B0aW9uSW5kZXggPSBmb2N1c2FibGVPcHRpb25zLmluZGV4T2YoX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWVbMF0pO1xuICAgICAgX3RoaXMuc3RhdGUuZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMgPSBmb2N1c2FibGVPcHRpb25zV2l0aElkcztcbiAgICAgIF90aGlzLnN0YXRlLmZvY3VzZWRPcHRpb24gPSBmb2N1c2FibGVPcHRpb25zW29wdGlvbkluZGV4XTtcbiAgICAgIF90aGlzLnN0YXRlLmZvY3VzZWRPcHRpb25JZCA9IGdldEZvY3VzZWRPcHRpb25JZChmb2N1c2FibGVPcHRpb25zV2l0aElkcywgZm9jdXNhYmxlT3B0aW9uc1tvcHRpb25JbmRleF0pO1xuICAgIH1cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cbiAgX2NyZWF0ZUNsYXNzKFNlbGVjdCwgW3tcbiAgICBrZXk6IFwiY29tcG9uZW50RGlkTW91bnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLnN0YXJ0TGlzdGVuaW5nQ29tcG9zaXRpb24oKTtcbiAgICAgIHRoaXMuc3RhcnRMaXN0ZW5pbmdUb1RvdWNoKCk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5jbG9zZU1lbnVPblNjcm9sbCAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIC8vIExpc3RlbiB0byBhbGwgc2Nyb2xsIGV2ZW50cywgYW5kIGZpbHRlciB0aGVtIG91dCBpbnNpZGUgb2YgJ29uU2Nyb2xsJ1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9Gb2N1cykge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2Nyb2xsIGZvY3VzZWRPcHRpb24gaW50byB2aWV3IGlmIG1lbnVJc09wZW4gaXMgc2V0IG9uIG1vdW50IChlLmcuIGRlZmF1bHRNZW51SXNPcGVuKVxuICAgICAgaWYgKHRoaXMucHJvcHMubWVudUlzT3BlbiAmJiB0aGlzLnN0YXRlLmZvY3VzZWRPcHRpb24gJiYgdGhpcy5tZW51TGlzdFJlZiAmJiB0aGlzLmZvY3VzZWRPcHRpb25SZWYpIHtcbiAgICAgICAgc2Nyb2xsSW50b1ZpZXcodGhpcy5tZW51TGlzdFJlZiwgdGhpcy5mb2N1c2VkT3B0aW9uUmVmKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FwcGxlRGV2aWNlKCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRpZC1tb3VudC1zZXQtc3RhdGVcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgaXNBcHBsZURldmljZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY29tcG9uZW50RGlkVXBkYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczYgPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHM2LmlzRGlzYWJsZWQsXG4gICAgICAgIG1lbnVJc09wZW4gPSBfdGhpcyRwcm9wczYubWVudUlzT3BlbjtcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIGlmIChcbiAgICAgIC8vIGVuc3VyZSBmb2N1cyBpcyByZXN0b3JlZCBjb3JyZWN0bHkgd2hlbiB0aGUgY29udHJvbCBiZWNvbWVzIGVuYWJsZWRcbiAgICAgIGlzRm9jdXNlZCAmJiAhaXNEaXNhYmxlZCAmJiBwcmV2UHJvcHMuaXNEaXNhYmxlZCB8fFxuICAgICAgLy8gZW5zdXJlIGZvY3VzIGlzIG9uIHRoZSBJbnB1dCB3aGVuIHRoZSBtZW51IG9wZW5zXG4gICAgICBpc0ZvY3VzZWQgJiYgbWVudUlzT3BlbiAmJiAhcHJldlByb3BzLm1lbnVJc09wZW4pIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICB9XG4gICAgICBpZiAoaXNGb2N1c2VkICYmIGlzRGlzYWJsZWQgJiYgIXByZXZQcm9wcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgIC8vIGVuc3VyZSBzZWxlY3Qgc3RhdGUgZ2V0cyBibHVycmVkIGluIGNhc2UgU2VsZWN0IGlzIHByb2dyYW1tYXRpY2FsbHkgZGlzYWJsZWQgd2hpbGUgZm9jdXNlZFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGlkLXVwZGF0ZS1zZXQtc3RhdGVcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgaXNGb2N1c2VkOiBmYWxzZVxuICAgICAgICB9LCB0aGlzLm9uTWVudUNsb3NlKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRm9jdXNlZCAmJiAhaXNEaXNhYmxlZCAmJiBwcmV2UHJvcHMuaXNEaXNhYmxlZCAmJiB0aGlzLmlucHV0UmVmID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgIC8vIGVuc3VyZSBzZWxlY3Qgc3RhdGUgZ2V0cyBmb2N1c2VkIGluIGNhc2UgU2VsZWN0IGlzIHByb2dyYW1hdGljYWxseSByZS1lbmFibGVkIHdoaWxlIGZvY3VzZWQgKEZpcmVmb3gpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtdXBkYXRlLXNldC1zdGF0ZVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBpc0ZvY3VzZWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHNjcm9sbCB0aGUgZm9jdXNlZCBvcHRpb24gaW50byB2aWV3IGlmIG5lY2Vzc2FyeVxuICAgICAgaWYgKHRoaXMubWVudUxpc3RSZWYgJiYgdGhpcy5mb2N1c2VkT3B0aW9uUmVmICYmIHRoaXMuc2Nyb2xsVG9Gb2N1c2VkT3B0aW9uT25VcGRhdGUpIHtcbiAgICAgICAgc2Nyb2xsSW50b1ZpZXcodGhpcy5tZW51TGlzdFJlZiwgdGhpcy5mb2N1c2VkT3B0aW9uUmVmKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0ZvY3VzZWRPcHRpb25PblVwZGF0ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb25lbnRXaWxsVW5tb3VudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMuc3RvcExpc3RlbmluZ0NvbXBvc2l0aW9uKCk7XG4gICAgICB0aGlzLnN0b3BMaXN0ZW5pbmdUb1RvdWNoKCk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBDb25zdW1lciBIYW5kbGVyc1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICB9LCB7XG4gICAga2V5OiBcIm9uTWVudU9wZW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25NZW51T3BlbigpIHtcbiAgICAgIHRoaXMucHJvcHMub25NZW51T3BlbigpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJvbk1lbnVDbG9zZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbk1lbnVDbG9zZSgpIHtcbiAgICAgIHRoaXMub25JbnB1dENoYW5nZSgnJywge1xuICAgICAgICBhY3Rpb246ICdtZW51LWNsb3NlJyxcbiAgICAgICAgcHJldklucHV0VmFsdWU6IHRoaXMucHJvcHMuaW5wdXRWYWx1ZVxuICAgICAgfSk7XG4gICAgICB0aGlzLnByb3BzLm9uTWVudUNsb3NlKCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIm9uSW5wdXRDaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25JbnB1dENoYW5nZShuZXdWYWx1ZSwgYWN0aW9uTWV0YSkge1xuICAgICAgdGhpcy5wcm9wcy5vbklucHV0Q2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBNZXRob2RzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJbnB1dFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0lucHV0KCkge1xuICAgICAgaWYgKCF0aGlzLmlucHV0UmVmKSByZXR1cm47XG4gICAgICB0aGlzLmlucHV0UmVmLmZvY3VzKCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImJsdXJJbnB1dFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBibHVySW5wdXQoKSB7XG4gICAgICBpZiAoIXRoaXMuaW5wdXRSZWYpIHJldHVybjtcbiAgICAgIHRoaXMuaW5wdXRSZWYuYmx1cigpO1xuICAgIH1cblxuICAgIC8vIGFsaWFzZWQgZm9yIGNvbnN1bWVyc1xuICB9LCB7XG4gICAga2V5OiBcIm9wZW5NZW51XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9wZW5NZW51KGZvY3VzT3B0aW9uKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTIgPSB0aGlzLnN0YXRlLFxuICAgICAgICBzZWxlY3RWYWx1ZSA9IF90aGlzJHN0YXRlMi5zZWxlY3RWYWx1ZSxcbiAgICAgICAgaXNGb2N1c2VkID0gX3RoaXMkc3RhdGUyLmlzRm9jdXNlZDtcbiAgICAgIHZhciBmb2N1c2FibGVPcHRpb25zID0gdGhpcy5idWlsZEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIHZhciBvcGVuQXRJbmRleCA9IGZvY3VzT3B0aW9uID09PSAnZmlyc3QnID8gMCA6IGZvY3VzYWJsZU9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgIGlmICghdGhpcy5wcm9wcy5pc011bHRpKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gZm9jdXNhYmxlT3B0aW9ucy5pbmRleE9mKHNlbGVjdFZhbHVlWzBdKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgIG9wZW5BdEluZGV4ID0gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBvbmx5IHNjcm9sbCBpZiB0aGUgbWVudSBpc24ndCBhbHJlYWR5IG9wZW5cbiAgICAgIHRoaXMuc2Nyb2xsVG9Gb2N1c2VkT3B0aW9uT25VcGRhdGUgPSAhKGlzRm9jdXNlZCAmJiB0aGlzLm1lbnVMaXN0UmVmKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IGZhbHNlLFxuICAgICAgICBmb2N1c2VkVmFsdWU6IG51bGwsXG4gICAgICAgIGZvY3VzZWRPcHRpb246IGZvY3VzYWJsZU9wdGlvbnNbb3BlbkF0SW5kZXhdLFxuICAgICAgICBmb2N1c2VkT3B0aW9uSWQ6IHRoaXMuZ2V0Rm9jdXNlZE9wdGlvbklkKGZvY3VzYWJsZU9wdGlvbnNbb3BlbkF0SW5kZXhdKVxuICAgICAgfSwgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMyLm9uTWVudU9wZW4oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c1ZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzVmFsdWUoZGlyZWN0aW9uKSB7XG4gICAgICB2YXIgX3RoaXMkc3RhdGUzID0gdGhpcy5zdGF0ZSxcbiAgICAgICAgc2VsZWN0VmFsdWUgPSBfdGhpcyRzdGF0ZTMuc2VsZWN0VmFsdWUsXG4gICAgICAgIGZvY3VzZWRWYWx1ZSA9IF90aGlzJHN0YXRlMy5mb2N1c2VkVmFsdWU7XG5cbiAgICAgIC8vIE9ubHkgbXVsdGlzZWxlY3RzIHN1cHBvcnQgdmFsdWUgZm9jdXNpbmdcbiAgICAgIGlmICghdGhpcy5wcm9wcy5pc011bHRpKSByZXR1cm47XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogbnVsbFxuICAgICAgfSk7XG4gICAgICB2YXIgZm9jdXNlZEluZGV4ID0gc2VsZWN0VmFsdWUuaW5kZXhPZihmb2N1c2VkVmFsdWUpO1xuICAgICAgaWYgKCFmb2N1c2VkVmFsdWUpIHtcbiAgICAgICAgZm9jdXNlZEluZGV4ID0gLTE7XG4gICAgICB9XG4gICAgICB2YXIgbGFzdEluZGV4ID0gc2VsZWN0VmFsdWUubGVuZ3RoIC0gMTtcbiAgICAgIHZhciBuZXh0Rm9jdXMgPSAtMTtcbiAgICAgIGlmICghc2VsZWN0VmFsdWUubGVuZ3RoKSByZXR1cm47XG4gICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICBjYXNlICdwcmV2aW91cyc6XG4gICAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gZG9uJ3QgY3ljbGUgZnJvbSB0aGUgc3RhcnQgdG8gdGhlIGVuZFxuICAgICAgICAgICAgbmV4dEZvY3VzID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZvY3VzZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIC8vIGlmIG5vdGhpbmcgaXMgZm9jdXNlZCwgZm9jdXMgdGhlIGxhc3QgdmFsdWUgZmlyc3RcbiAgICAgICAgICAgIG5leHRGb2N1cyA9IGxhc3RJbmRleDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV4dEZvY3VzID0gZm9jdXNlZEluZGV4IC0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgICAgIGlmIChmb2N1c2VkSW5kZXggPiAtMSAmJiBmb2N1c2VkSW5kZXggPCBsYXN0SW5kZXgpIHtcbiAgICAgICAgICAgIG5leHRGb2N1cyA9IGZvY3VzZWRJbmRleCArIDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlucHV0SXNIaWRkZW46IG5leHRGb2N1cyAhPT0gLTEsXG4gICAgICAgIGZvY3VzZWRWYWx1ZTogc2VsZWN0VmFsdWVbbmV4dEZvY3VzXVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzT3B0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzT3B0aW9uKCkge1xuICAgICAgdmFyIGRpcmVjdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJ2ZpcnN0JztcbiAgICAgIHZhciBwYWdlU2l6ZSA9IHRoaXMucHJvcHMucGFnZVNpemU7XG4gICAgICB2YXIgZm9jdXNlZE9wdGlvbiA9IHRoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbjtcbiAgICAgIHZhciBvcHRpb25zID0gdGhpcy5nZXRGb2N1c2FibGVPcHRpb25zKCk7XG4gICAgICBpZiAoIW9wdGlvbnMubGVuZ3RoKSByZXR1cm47XG4gICAgICB2YXIgbmV4dEZvY3VzID0gMDsgLy8gaGFuZGxlcyAnZmlyc3QnXG4gICAgICB2YXIgZm9jdXNlZEluZGV4ID0gb3B0aW9ucy5pbmRleE9mKGZvY3VzZWRPcHRpb24pO1xuICAgICAgaWYgKCFmb2N1c2VkT3B0aW9uKSB7XG4gICAgICAgIGZvY3VzZWRJbmRleCA9IC0xO1xuICAgICAgfVxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3VwJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggPiAwID8gZm9jdXNlZEluZGV4IC0gMSA6IG9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnZG93bicpIHtcbiAgICAgICAgbmV4dEZvY3VzID0gKGZvY3VzZWRJbmRleCArIDEpICUgb3B0aW9ucy5sZW5ndGg7XG4gICAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3BhZ2V1cCcpIHtcbiAgICAgICAgbmV4dEZvY3VzID0gZm9jdXNlZEluZGV4IC0gcGFnZVNpemU7XG4gICAgICAgIGlmIChuZXh0Rm9jdXMgPCAwKSBuZXh0Rm9jdXMgPSAwO1xuICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdwYWdlZG93bicpIHtcbiAgICAgICAgbmV4dEZvY3VzID0gZm9jdXNlZEluZGV4ICsgcGFnZVNpemU7XG4gICAgICAgIGlmIChuZXh0Rm9jdXMgPiBvcHRpb25zLmxlbmd0aCAtIDEpIG5leHRGb2N1cyA9IG9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnbGFzdCcpIHtcbiAgICAgICAgbmV4dEZvY3VzID0gb3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgfVxuICAgICAgdGhpcy5zY3JvbGxUb0ZvY3VzZWRPcHRpb25PblVwZGF0ZSA9IHRydWU7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogb3B0aW9uc1tuZXh0Rm9jdXNdLFxuICAgICAgICBmb2N1c2VkVmFsdWU6IG51bGwsXG4gICAgICAgIGZvY3VzZWRPcHRpb25JZDogdGhpcy5nZXRGb2N1c2VkT3B0aW9uSWQob3B0aW9uc1tuZXh0Rm9jdXNdKVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldFRoZW1lXCIsXG4gICAgdmFsdWU6XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gR2V0dGVyc1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgZnVuY3Rpb24gZ2V0VGhlbWUoKSB7XG4gICAgICAvLyBVc2UgdGhlIGRlZmF1bHQgdGhlbWUgaWYgdGhlcmUgYXJlIG5vIGN1c3RvbWlzYXRpb25zLlxuICAgICAgaWYgKCF0aGlzLnByb3BzLnRoZW1lKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VGhlbWU7XG4gICAgICB9XG4gICAgICAvLyBJZiB0aGUgdGhlbWUgcHJvcCBpcyBhIGZ1bmN0aW9uLCBhc3N1bWUgdGhlIGZ1bmN0aW9uXG4gICAgICAvLyBrbm93cyBob3cgdG8gbWVyZ2UgdGhlIHBhc3NlZC1pbiBkZWZhdWx0IHRoZW1lIHdpdGhcbiAgICAgIC8vIGl0cyBvd24gbW9kaWZpY2F0aW9ucy5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy50aGVtZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy50aGVtZShkZWZhdWx0VGhlbWUpO1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBpZiBhIHBsYWluIHRoZW1lIG9iamVjdCB3YXMgcGFzc2VkIGluLFxuICAgICAgLy8gb3ZlcmxheSBpdCB3aXRoIHRoZSBkZWZhdWx0IHRoZW1lLlxuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdFRoZW1lKSwgdGhpcy5wcm9wcy50aGVtZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldENvbW1vblByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldENvbW1vblByb3BzKCkge1xuICAgICAgdmFyIGNsZWFyVmFsdWUgPSB0aGlzLmNsZWFyVmFsdWUsXG4gICAgICAgIGN4ID0gdGhpcy5jeCxcbiAgICAgICAgZ2V0U3R5bGVzID0gdGhpcy5nZXRTdHlsZXMsXG4gICAgICAgIGdldENsYXNzTmFtZXMgPSB0aGlzLmdldENsYXNzTmFtZXMsXG4gICAgICAgIGdldFZhbHVlID0gdGhpcy5nZXRWYWx1ZSxcbiAgICAgICAgc2VsZWN0T3B0aW9uID0gdGhpcy5zZWxlY3RPcHRpb24sXG4gICAgICAgIHNldFZhbHVlID0gdGhpcy5zZXRWYWx1ZSxcbiAgICAgICAgcHJvcHMgPSB0aGlzLnByb3BzO1xuICAgICAgdmFyIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpLFxuICAgICAgICBpc1J0bCA9IHByb3BzLmlzUnRsLFxuICAgICAgICBvcHRpb25zID0gcHJvcHMub3B0aW9ucztcbiAgICAgIHZhciBoYXNWYWx1ZSA9IHRoaXMuaGFzVmFsdWUoKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNsZWFyVmFsdWU6IGNsZWFyVmFsdWUsXG4gICAgICAgIGN4OiBjeCxcbiAgICAgICAgZ2V0U3R5bGVzOiBnZXRTdHlsZXMsXG4gICAgICAgIGdldENsYXNzTmFtZXM6IGdldENsYXNzTmFtZXMsXG4gICAgICAgIGdldFZhbHVlOiBnZXRWYWx1ZSxcbiAgICAgICAgaGFzVmFsdWU6IGhhc1ZhbHVlLFxuICAgICAgICBpc011bHRpOiBpc011bHRpLFxuICAgICAgICBpc1J0bDogaXNSdGwsXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICAgIHNlbGVjdE9wdGlvbjogc2VsZWN0T3B0aW9uLFxuICAgICAgICBzZWxlY3RQcm9wczogcHJvcHMsXG4gICAgICAgIHNldFZhbHVlOiBzZXRWYWx1ZSxcbiAgICAgICAgdGhlbWU6IHRoaXMuZ2V0VGhlbWUoKVxuICAgICAgfTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaGFzVmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaGFzVmFsdWUoKSB7XG4gICAgICB2YXIgc2VsZWN0VmFsdWUgPSB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlLmxlbmd0aCA+IDA7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImhhc09wdGlvbnNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaGFzT3B0aW9ucygpIHtcbiAgICAgIHJldHVybiAhIXRoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucygpLmxlbmd0aDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaXNDbGVhcmFibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNDbGVhcmFibGUoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHM3ID0gdGhpcy5wcm9wcyxcbiAgICAgICAgaXNDbGVhcmFibGUgPSBfdGhpcyRwcm9wczcuaXNDbGVhcmFibGUsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczcuaXNNdWx0aTtcblxuICAgICAgLy8gc2luZ2xlIHNlbGVjdCwgYnkgZGVmYXVsdCwgSVMgTk9UIGNsZWFyYWJsZVxuICAgICAgLy8gbXVsdGkgc2VsZWN0LCBieSBkZWZhdWx0LCBJUyBjbGVhcmFibGVcbiAgICAgIGlmIChpc0NsZWFyYWJsZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gaXNNdWx0aTtcbiAgICAgIHJldHVybiBpc0NsZWFyYWJsZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaXNPcHRpb25EaXNhYmxlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc09wdGlvbkRpc2FibGVkKG9wdGlvbiwgc2VsZWN0VmFsdWUpIHtcbiAgICAgIHJldHVybiBfaXNPcHRpb25EaXNhYmxlZCh0aGlzLnByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaXNPcHRpb25TZWxlY3RlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc09wdGlvblNlbGVjdGVkKG9wdGlvbiwgc2VsZWN0VmFsdWUpIHtcbiAgICAgIHJldHVybiBfaXNPcHRpb25TZWxlY3RlZCh0aGlzLnByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZmlsdGVyT3B0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZpbHRlck9wdGlvbihvcHRpb24sIGlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybiBfZmlsdGVyT3B0aW9uKHRoaXMucHJvcHMsIG9wdGlvbiwgaW5wdXRWYWx1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZvcm1hdE9wdGlvbkxhYmVsXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdE9wdGlvbkxhYmVsKGRhdGEsIGNvbnRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5mb3JtYXRPcHRpb25MYWJlbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YXIgX2lucHV0VmFsdWUgPSB0aGlzLnByb3BzLmlucHV0VmFsdWU7XG4gICAgICAgIHZhciBfc2VsZWN0VmFsdWUgPSB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5mb3JtYXRPcHRpb25MYWJlbChkYXRhLCB7XG4gICAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgICBpbnB1dFZhbHVlOiBfaW5wdXRWYWx1ZSxcbiAgICAgICAgICBzZWxlY3RWYWx1ZTogX3NlbGVjdFZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3B0aW9uTGFiZWwoZGF0YSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZvcm1hdEdyb3VwTGFiZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0R3JvdXBMYWJlbChkYXRhKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5mb3JtYXRHcm91cExhYmVsKGRhdGEpO1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE1vdXNlIEhhbmRsZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIH0sIHtcbiAgICBrZXk6IFwic3RhcnRMaXN0ZW5pbmdDb21wb3NpdGlvblwiLFxuICAgIHZhbHVlOlxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIENvbXBvc2l0aW9uIEhhbmRsZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBmdW5jdGlvbiBzdGFydExpc3RlbmluZ0NvbXBvc2l0aW9uKCkge1xuICAgICAgaWYgKGRvY3VtZW50ICYmIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25zdGFydCcsIHRoaXMub25Db21wb3NpdGlvblN0YXJ0LCBmYWxzZSk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJywgdGhpcy5vbkNvbXBvc2l0aW9uRW5kLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInN0b3BMaXN0ZW5pbmdDb21wb3NpdGlvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdG9wTGlzdGVuaW5nQ29tcG9zaXRpb24oKSB7XG4gICAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0JywgdGhpcy5vbkNvbXBvc2l0aW9uU3RhcnQpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbmVuZCcsIHRoaXMub25Db21wb3NpdGlvbkVuZCk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInN0YXJ0TGlzdGVuaW5nVG9Ub3VjaFwiLFxuICAgIHZhbHVlOlxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIFRvdWNoIEhhbmRsZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBmdW5jdGlvbiBzdGFydExpc3RlbmluZ1RvVG91Y2goKSB7XG4gICAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoU3RhcnQsIGZhbHNlKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSwgZmFsc2UpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaEVuZCwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzdG9wTGlzdGVuaW5nVG9Ub3VjaFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdG9wTGlzdGVuaW5nVG9Ub3VjaCgpIHtcbiAgICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hTdGFydCk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaEVuZCk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlcklucHV0XCIsXG4gICAgdmFsdWU6XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gUmVuZGVyZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgZnVuY3Rpb24gcmVuZGVySW5wdXQoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHM4ID0gdGhpcy5wcm9wcyxcbiAgICAgICAgaXNEaXNhYmxlZCA9IF90aGlzJHByb3BzOC5pc0Rpc2FibGVkLFxuICAgICAgICBpc1NlYXJjaGFibGUgPSBfdGhpcyRwcm9wczguaXNTZWFyY2hhYmxlLFxuICAgICAgICBpbnB1dElkID0gX3RoaXMkcHJvcHM4LmlucHV0SWQsXG4gICAgICAgIGlucHV0VmFsdWUgPSBfdGhpcyRwcm9wczguaW5wdXRWYWx1ZSxcbiAgICAgICAgdGFiSW5kZXggPSBfdGhpcyRwcm9wczgudGFiSW5kZXgsXG4gICAgICAgIGZvcm0gPSBfdGhpcyRwcm9wczguZm9ybSxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzOC5tZW51SXNPcGVuLFxuICAgICAgICByZXF1aXJlZCA9IF90aGlzJHByb3BzOC5yZXF1aXJlZDtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIElucHV0ID0gX3RoaXMkZ2V0Q29tcG9uZW50cy5JbnB1dDtcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTQgPSB0aGlzLnN0YXRlLFxuICAgICAgICBpbnB1dElzSGlkZGVuID0gX3RoaXMkc3RhdGU0LmlucHV0SXNIaWRkZW4sXG4gICAgICAgIGFyaWFTZWxlY3Rpb24gPSBfdGhpcyRzdGF0ZTQuYXJpYVNlbGVjdGlvbjtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgaWQgPSBpbnB1dElkIHx8IHRoaXMuZ2V0RWxlbWVudElkKCdpbnB1dCcpO1xuXG4gICAgICAvLyBhcmlhIGF0dHJpYnV0ZXMgbWFrZXMgdGhlIEpTWCBcIm5vaXN5XCIsIHNlcGFyYXRlZCBmb3IgY2xhcml0eVxuICAgICAgdmFyIGFyaWFBdHRyaWJ1dGVzID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAnYXJpYS1hdXRvY29tcGxldGUnOiAnbGlzdCcsXG4gICAgICAgICdhcmlhLWV4cGFuZGVkJzogbWVudUlzT3BlbixcbiAgICAgICAgJ2FyaWEtaGFzcG9wdXAnOiB0cnVlLFxuICAgICAgICAnYXJpYS1lcnJvcm1lc3NhZ2UnOiB0aGlzLnByb3BzWydhcmlhLWVycm9ybWVzc2FnZSddLFxuICAgICAgICAnYXJpYS1pbnZhbGlkJzogdGhpcy5wcm9wc1snYXJpYS1pbnZhbGlkJ10sXG4gICAgICAgICdhcmlhLWxhYmVsJzogdGhpcy5wcm9wc1snYXJpYS1sYWJlbCddLFxuICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogdGhpcy5wcm9wc1snYXJpYS1sYWJlbGxlZGJ5J10sXG4gICAgICAgICdhcmlhLXJlcXVpcmVkJzogcmVxdWlyZWQsXG4gICAgICAgIHJvbGU6ICdjb21ib2JveCcsXG4gICAgICAgICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnOiB0aGlzLnN0YXRlLmlzQXBwbGVEZXZpY2UgPyB1bmRlZmluZWQgOiB0aGlzLnN0YXRlLmZvY3VzZWRPcHRpb25JZCB8fCAnJ1xuICAgICAgfSwgbWVudUlzT3BlbiAmJiB7XG4gICAgICAgICdhcmlhLWNvbnRyb2xzJzogdGhpcy5nZXRFbGVtZW50SWQoJ2xpc3Rib3gnKVxuICAgICAgfSksICFpc1NlYXJjaGFibGUgJiYge1xuICAgICAgICAnYXJpYS1yZWFkb25seSc6IHRydWVcbiAgICAgIH0pLCB0aGlzLmhhc1ZhbHVlKCkgPyAoYXJpYVNlbGVjdGlvbiA9PT0gbnVsbCB8fCBhcmlhU2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhcmlhU2VsZWN0aW9uLmFjdGlvbikgPT09ICdpbml0aWFsLWlucHV0LWZvY3VzJyAmJiB7XG4gICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogdGhpcy5nZXRFbGVtZW50SWQoJ2xpdmUtcmVnaW9uJylcbiAgICAgIH0gOiB7XG4gICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogdGhpcy5nZXRFbGVtZW50SWQoJ3BsYWNlaG9sZGVyJylcbiAgICAgIH0pO1xuICAgICAgaWYgKCFpc1NlYXJjaGFibGUpIHtcbiAgICAgICAgLy8gdXNlIGEgZHVtbXkgaW5wdXQgdG8gbWFpbnRhaW4gZm9jdXMvYmx1ciBmdW5jdGlvbmFsaXR5XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChEdW1teUlucHV0LCBfZXh0ZW5kcyh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIGlubmVyUmVmOiB0aGlzLmdldElucHV0UmVmLFxuICAgICAgICAgIG9uQmx1cjogdGhpcy5vbklucHV0Qmx1cixcbiAgICAgICAgICBvbkNoYW5nZTogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiB0aGlzLm9uSW5wdXRGb2N1cyxcbiAgICAgICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgICB0YWJJbmRleDogdGFiSW5kZXgsXG4gICAgICAgICAgaW5wdXRNb2RlOiBcIm5vbmVcIixcbiAgICAgICAgICBmb3JtOiBmb3JtLFxuICAgICAgICAgIHZhbHVlOiBcIlwiXG4gICAgICAgIH0sIGFyaWFBdHRyaWJ1dGVzKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXQsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBhdXRvQ2FwaXRhbGl6ZTogXCJub25lXCIsXG4gICAgICAgIGF1dG9Db21wbGV0ZTogXCJvZmZcIixcbiAgICAgICAgYXV0b0NvcnJlY3Q6IFwib2ZmXCIsXG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAgaW5uZXJSZWY6IHRoaXMuZ2V0SW5wdXRSZWYsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzSGlkZGVuOiBpbnB1dElzSGlkZGVuLFxuICAgICAgICBvbkJsdXI6IHRoaXMub25JbnB1dEJsdXIsXG4gICAgICAgIG9uQ2hhbmdlOiB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlLFxuICAgICAgICBvbkZvY3VzOiB0aGlzLm9uSW5wdXRGb2N1cyxcbiAgICAgICAgc3BlbGxDaGVjazogXCJmYWxzZVwiLFxuICAgICAgICB0YWJJbmRleDogdGFiSW5kZXgsXG4gICAgICAgIGZvcm06IGZvcm0sXG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB2YWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgfSwgYXJpYUF0dHJpYnV0ZXMpKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyUGxhY2Vob2xkZXJPclZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlclBsYWNlaG9sZGVyT3JWYWx1ZSgpIHtcbiAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHMyID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIE11bHRpVmFsdWUgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlLFxuICAgICAgICBNdWx0aVZhbHVlQ29udGFpbmVyID0gX3RoaXMkZ2V0Q29tcG9uZW50czIuTXVsdGlWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgTXVsdGlWYWx1ZUxhYmVsID0gX3RoaXMkZ2V0Q29tcG9uZW50czIuTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICBNdWx0aVZhbHVlUmVtb3ZlID0gX3RoaXMkZ2V0Q29tcG9uZW50czIuTXVsdGlWYWx1ZVJlbW92ZSxcbiAgICAgICAgU2luZ2xlVmFsdWUgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5TaW5nbGVWYWx1ZSxcbiAgICAgICAgUGxhY2Vob2xkZXIgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5QbGFjZWhvbGRlcjtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgX3RoaXMkcHJvcHM5ID0gdGhpcy5wcm9wcyxcbiAgICAgICAgY29udHJvbFNob3VsZFJlbmRlclZhbHVlID0gX3RoaXMkcHJvcHM5LmNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZSxcbiAgICAgICAgaXNEaXNhYmxlZCA9IF90aGlzJHByb3BzOS5pc0Rpc2FibGVkLFxuICAgICAgICBpc011bHRpID0gX3RoaXMkcHJvcHM5LmlzTXVsdGksXG4gICAgICAgIGlucHV0VmFsdWUgPSBfdGhpcyRwcm9wczkuaW5wdXRWYWx1ZSxcbiAgICAgICAgcGxhY2Vob2xkZXIgPSBfdGhpcyRwcm9wczkucGxhY2Vob2xkZXI7XG4gICAgICB2YXIgX3RoaXMkc3RhdGU1ID0gdGhpcy5zdGF0ZSxcbiAgICAgICAgc2VsZWN0VmFsdWUgPSBfdGhpcyRzdGF0ZTUuc2VsZWN0VmFsdWUsXG4gICAgICAgIGZvY3VzZWRWYWx1ZSA9IF90aGlzJHN0YXRlNS5mb2N1c2VkVmFsdWUsXG4gICAgICAgIGlzRm9jdXNlZCA9IF90aGlzJHN0YXRlNS5pc0ZvY3VzZWQ7XG4gICAgICBpZiAoIXRoaXMuaGFzVmFsdWUoKSB8fCAhY29udHJvbFNob3VsZFJlbmRlclZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpbnB1dFZhbHVlID8gbnVsbCA6IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFBsYWNlaG9sZGVyLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgICBrZXk6IFwicGxhY2Vob2xkZXJcIixcbiAgICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkLFxuICAgICAgICAgIGlubmVyUHJvcHM6IHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmdldEVsZW1lbnRJZCgncGxhY2Vob2xkZXInKVxuICAgICAgICAgIH1cbiAgICAgICAgfSksIHBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc011bHRpKSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RWYWx1ZS5tYXAoZnVuY3Rpb24gKG9wdCwgaW5kZXgpIHtcbiAgICAgICAgICB2YXIgaXNPcHRpb25Gb2N1c2VkID0gb3B0ID09PSBmb2N1c2VkVmFsdWU7XG4gICAgICAgICAgdmFyIGtleSA9IFwiXCIuY29uY2F0KF90aGlzMy5nZXRPcHRpb25MYWJlbChvcHQpLCBcIi1cIikuY29uY2F0KF90aGlzMy5nZXRPcHRpb25WYWx1ZShvcHQpKTtcbiAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTXVsdGlWYWx1ZSwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgIENvbnRhaW5lcjogTXVsdGlWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAgICAgTGFiZWw6IE11bHRpVmFsdWVMYWJlbCxcbiAgICAgICAgICAgICAgUmVtb3ZlOiBNdWx0aVZhbHVlUmVtb3ZlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNGb2N1c2VkOiBpc09wdGlvbkZvY3VzZWQsXG4gICAgICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICByZW1vdmVQcm9wczoge1xuICAgICAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfdGhpczMucmVtb3ZlVmFsdWUob3B0KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb25Ub3VjaEVuZDogZnVuY3Rpb24gb25Ub3VjaEVuZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXMzLnJlbW92ZVZhbHVlKG9wdCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9uTW91c2VEb3duOiBmdW5jdGlvbiBvbk1vdXNlRG93bihlKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGF0YTogb3B0XG4gICAgICAgICAgfSksIF90aGlzMy5mb3JtYXRPcHRpb25MYWJlbChvcHQsICd2YWx1ZScpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHZhciBzaW5nbGVWYWx1ZSA9IHNlbGVjdFZhbHVlWzBdO1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFNpbmdsZVZhbHVlLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgZGF0YTogc2luZ2xlVmFsdWUsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgICAgIH0pLCB0aGlzLmZvcm1hdE9wdGlvbkxhYmVsKHNpbmdsZVZhbHVlLCAndmFsdWUnKSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckNsZWFySW5kaWNhdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckNsZWFySW5kaWNhdG9yKCkge1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHMzID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIENsZWFySW5kaWNhdG9yID0gX3RoaXMkZ2V0Q29tcG9uZW50czMuQ2xlYXJJbmRpY2F0b3I7XG4gICAgICB2YXIgY29tbW9uUHJvcHMgPSB0aGlzLmNvbW1vblByb3BzO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTAgPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHMxMC5pc0Rpc2FibGVkLFxuICAgICAgICBpc0xvYWRpbmcgPSBfdGhpcyRwcm9wczEwLmlzTG9hZGluZztcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIGlmICghdGhpcy5pc0NsZWFyYWJsZSgpIHx8ICFDbGVhckluZGljYXRvciB8fCBpc0Rpc2FibGVkIHx8ICF0aGlzLmhhc1ZhbHVlKCkgfHwgaXNMb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdmFyIGlubmVyUHJvcHMgPSB7XG4gICAgICAgIG9uTW91c2VEb3duOiB0aGlzLm9uQ2xlYXJJbmRpY2F0b3JNb3VzZURvd24sXG4gICAgICAgIG9uVG91Y2hFbmQ6IHRoaXMub25DbGVhckluZGljYXRvclRvdWNoRW5kLFxuICAgICAgICAnYXJpYS1oaWRkZW4nOiAndHJ1ZSdcbiAgICAgIH07XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJbmRpY2F0b3IsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBpbm5lclByb3BzOiBpbm5lclByb3BzLFxuICAgICAgICBpc0ZvY3VzZWQ6IGlzRm9jdXNlZFxuICAgICAgfSkpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJMb2FkaW5nSW5kaWNhdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckxvYWRpbmdJbmRpY2F0b3IoKSB7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czQgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgTG9hZGluZ0luZGljYXRvciA9IF90aGlzJGdldENvbXBvbmVudHM0LkxvYWRpbmdJbmRpY2F0b3I7XG4gICAgICB2YXIgY29tbW9uUHJvcHMgPSB0aGlzLmNvbW1vblByb3BzO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTEgPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHMxMS5pc0Rpc2FibGVkLFxuICAgICAgICBpc0xvYWRpbmcgPSBfdGhpcyRwcm9wczExLmlzTG9hZGluZztcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIGlmICghTG9hZGluZ0luZGljYXRvciB8fCAhaXNMb2FkaW5nKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBpbm5lclByb3BzID0ge1xuICAgICAgICAnYXJpYS1oaWRkZW4nOiAndHJ1ZSdcbiAgICAgIH07XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckluZGljYXRvclNlcGFyYXRvclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJJbmRpY2F0b3JTZXBhcmF0b3IoKSB7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czUgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgRHJvcGRvd25JbmRpY2F0b3IgPSBfdGhpcyRnZXRDb21wb25lbnRzNS5Ecm9wZG93bkluZGljYXRvcixcbiAgICAgICAgSW5kaWNhdG9yU2VwYXJhdG9yID0gX3RoaXMkZ2V0Q29tcG9uZW50czUuSW5kaWNhdG9yU2VwYXJhdG9yO1xuXG4gICAgICAvLyBzZXBhcmF0b3IgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgdGhlIGRyb3Bkb3duIGluZGljYXRvclxuICAgICAgaWYgKCFEcm9wZG93bkluZGljYXRvciB8fCAhSW5kaWNhdG9yU2VwYXJhdG9yKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgaXNEaXNhYmxlZCA9IHRoaXMucHJvcHMuaXNEaXNhYmxlZDtcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbmRpY2F0b3JTZXBhcmF0b3IsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICBpc0ZvY3VzZWQ6IGlzRm9jdXNlZFxuICAgICAgfSkpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJEcm9wZG93bkluZGljYXRvclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJEcm9wZG93bkluZGljYXRvcigpIHtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzNiA9IHRoaXMuZ2V0Q29tcG9uZW50cygpLFxuICAgICAgICBEcm9wZG93bkluZGljYXRvciA9IF90aGlzJGdldENvbXBvbmVudHM2LkRyb3Bkb3duSW5kaWNhdG9yO1xuICAgICAgaWYgKCFEcm9wZG93bkluZGljYXRvcikgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgY29tbW9uUHJvcHMgPSB0aGlzLmNvbW1vblByb3BzO1xuICAgICAgdmFyIGlzRGlzYWJsZWQgPSB0aGlzLnByb3BzLmlzRGlzYWJsZWQ7XG4gICAgICB2YXIgaXNGb2N1c2VkID0gdGhpcy5zdGF0ZS5pc0ZvY3VzZWQ7XG4gICAgICB2YXIgaW5uZXJQcm9wcyA9IHtcbiAgICAgICAgb25Nb3VzZURvd246IHRoaXMub25Ecm9wZG93bkluZGljYXRvck1vdXNlRG93bixcbiAgICAgICAgb25Ub3VjaEVuZDogdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yVG91Y2hFbmQsXG4gICAgICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJ1xuICAgICAgfTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChEcm9wZG93bkluZGljYXRvciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlck1lbnVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyTWVudSgpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHM3ID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIEdyb3VwID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuR3JvdXAsXG4gICAgICAgIEdyb3VwSGVhZGluZyA9IF90aGlzJGdldENvbXBvbmVudHM3Lkdyb3VwSGVhZGluZyxcbiAgICAgICAgTWVudSA9IF90aGlzJGdldENvbXBvbmVudHM3Lk1lbnUsXG4gICAgICAgIE1lbnVMaXN0ID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuTWVudUxpc3QsXG4gICAgICAgIE1lbnVQb3J0YWwgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5NZW51UG9ydGFsLFxuICAgICAgICBMb2FkaW5nTWVzc2FnZSA9IF90aGlzJGdldENvbXBvbmVudHM3LkxvYWRpbmdNZXNzYWdlLFxuICAgICAgICBOb09wdGlvbnNNZXNzYWdlID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuTm9PcHRpb25zTWVzc2FnZSxcbiAgICAgICAgT3B0aW9uID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuT3B0aW9uO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBmb2N1c2VkT3B0aW9uID0gdGhpcy5zdGF0ZS5mb2N1c2VkT3B0aW9uO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTIgPSB0aGlzLnByb3BzLFxuICAgICAgICBjYXB0dXJlTWVudVNjcm9sbCA9IF90aGlzJHByb3BzMTIuY2FwdHVyZU1lbnVTY3JvbGwsXG4gICAgICAgIGlucHV0VmFsdWUgPSBfdGhpcyRwcm9wczEyLmlucHV0VmFsdWUsXG4gICAgICAgIGlzTG9hZGluZyA9IF90aGlzJHByb3BzMTIuaXNMb2FkaW5nLFxuICAgICAgICBsb2FkaW5nTWVzc2FnZSA9IF90aGlzJHByb3BzMTIubG9hZGluZ01lc3NhZ2UsXG4gICAgICAgIG1pbk1lbnVIZWlnaHQgPSBfdGhpcyRwcm9wczEyLm1pbk1lbnVIZWlnaHQsXG4gICAgICAgIG1heE1lbnVIZWlnaHQgPSBfdGhpcyRwcm9wczEyLm1heE1lbnVIZWlnaHQsXG4gICAgICAgIG1lbnVJc09wZW4gPSBfdGhpcyRwcm9wczEyLm1lbnVJc09wZW4sXG4gICAgICAgIG1lbnVQbGFjZW1lbnQgPSBfdGhpcyRwcm9wczEyLm1lbnVQbGFjZW1lbnQsXG4gICAgICAgIG1lbnVQb3NpdGlvbiA9IF90aGlzJHByb3BzMTIubWVudVBvc2l0aW9uLFxuICAgICAgICBtZW51UG9ydGFsVGFyZ2V0ID0gX3RoaXMkcHJvcHMxMi5tZW51UG9ydGFsVGFyZ2V0LFxuICAgICAgICBtZW51U2hvdWxkQmxvY2tTY3JvbGwgPSBfdGhpcyRwcm9wczEyLm1lbnVTaG91bGRCbG9ja1Njcm9sbCxcbiAgICAgICAgbWVudVNob3VsZFNjcm9sbEludG9WaWV3ID0gX3RoaXMkcHJvcHMxMi5tZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcsXG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2UgPSBfdGhpcyRwcm9wczEyLm5vT3B0aW9uc01lc3NhZ2UsXG4gICAgICAgIG9uTWVudVNjcm9sbFRvVG9wID0gX3RoaXMkcHJvcHMxMi5vbk1lbnVTY3JvbGxUb1RvcCxcbiAgICAgICAgb25NZW51U2Nyb2xsVG9Cb3R0b20gPSBfdGhpcyRwcm9wczEyLm9uTWVudVNjcm9sbFRvQm90dG9tO1xuICAgICAgaWYgKCFtZW51SXNPcGVuKSByZXR1cm4gbnVsbDtcblxuICAgICAgLy8gVE9ETzogSW50ZXJuYWwgT3B0aW9uIFR5cGUgaGVyZVxuICAgICAgdmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcihwcm9wcywgaWQpIHtcbiAgICAgICAgdmFyIHR5cGUgPSBwcm9wcy50eXBlLFxuICAgICAgICAgIGRhdGEgPSBwcm9wcy5kYXRhLFxuICAgICAgICAgIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkLFxuICAgICAgICAgIGlzU2VsZWN0ZWQgPSBwcm9wcy5pc1NlbGVjdGVkLFxuICAgICAgICAgIGxhYmVsID0gcHJvcHMubGFiZWwsXG4gICAgICAgICAgdmFsdWUgPSBwcm9wcy52YWx1ZTtcbiAgICAgICAgdmFyIGlzRm9jdXNlZCA9IGZvY3VzZWRPcHRpb24gPT09IGRhdGE7XG4gICAgICAgIHZhciBvbkhvdmVyID0gaXNEaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM0Lm9uT3B0aW9uSG92ZXIoZGF0YSk7XG4gICAgICAgIH07XG4gICAgICAgIHZhciBvblNlbGVjdCA9IGlzRGlzYWJsZWQgPyB1bmRlZmluZWQgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzNC5zZWxlY3RPcHRpb24oZGF0YSk7XG4gICAgICAgIH07XG4gICAgICAgIHZhciBvcHRpb25JZCA9IFwiXCIuY29uY2F0KF90aGlzNC5nZXRFbGVtZW50SWQoJ29wdGlvbicpLCBcIi1cIikuY29uY2F0KGlkKTtcbiAgICAgICAgdmFyIGlubmVyUHJvcHMgPSB7XG4gICAgICAgICAgaWQ6IG9wdGlvbklkLFxuICAgICAgICAgIG9uQ2xpY2s6IG9uU2VsZWN0LFxuICAgICAgICAgIG9uTW91c2VNb3ZlOiBvbkhvdmVyLFxuICAgICAgICAgIG9uTW91c2VPdmVyOiBvbkhvdmVyLFxuICAgICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAgICAgICAnYXJpYS1zZWxlY3RlZCc6IF90aGlzNC5zdGF0ZS5pc0FwcGxlRGV2aWNlID8gdW5kZWZpbmVkIDogaXNTZWxlY3RlZCAvLyBpcyBub3Qgc3VwcG9ydGVkIG9uIEFwcGxlIGRldmljZXNcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoT3B0aW9uLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgICBpbm5lclByb3BzOiBpbm5lclByb3BzLFxuICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgICBpc1NlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgIGtleTogb3B0aW9uSWQsXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxuICAgICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkLFxuICAgICAgICAgIGlubmVyUmVmOiBpc0ZvY3VzZWQgPyBfdGhpczQuZ2V0Rm9jdXNlZE9wdGlvblJlZiA6IHVuZGVmaW5lZFxuICAgICAgICB9KSwgX3RoaXM0LmZvcm1hdE9wdGlvbkxhYmVsKHByb3BzLmRhdGEsICdtZW51JykpO1xuICAgICAgfTtcbiAgICAgIHZhciBtZW51VUk7XG4gICAgICBpZiAodGhpcy5oYXNPcHRpb25zKCkpIHtcbiAgICAgICAgbWVudVVJID0gdGhpcy5nZXRDYXRlZ29yaXplZE9wdGlvbnMoKS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICBpZiAoaXRlbS50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICAgICAgICB2YXIgX2RhdGEgPSBpdGVtLmRhdGEsXG4gICAgICAgICAgICAgIG9wdGlvbnMgPSBpdGVtLm9wdGlvbnMsXG4gICAgICAgICAgICAgIGdyb3VwSW5kZXggPSBpdGVtLmluZGV4O1xuICAgICAgICAgICAgdmFyIGdyb3VwSWQgPSBcIlwiLmNvbmNhdChfdGhpczQuZ2V0RWxlbWVudElkKCdncm91cCcpLCBcIi1cIikuY29uY2F0KGdyb3VwSW5kZXgpO1xuICAgICAgICAgICAgdmFyIGhlYWRpbmdJZCA9IFwiXCIuY29uY2F0KGdyb3VwSWQsIFwiLWhlYWRpbmdcIik7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoR3JvdXAsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICAgICAgICBrZXk6IGdyb3VwSWQsXG4gICAgICAgICAgICAgIGRhdGE6IF9kYXRhLFxuICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxuICAgICAgICAgICAgICBIZWFkaW5nOiBHcm91cEhlYWRpbmcsXG4gICAgICAgICAgICAgIGhlYWRpbmdQcm9wczoge1xuICAgICAgICAgICAgICAgIGlkOiBoZWFkaW5nSWQsXG4gICAgICAgICAgICAgICAgZGF0YTogaXRlbS5kYXRhXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGxhYmVsOiBfdGhpczQuZm9ybWF0R3JvdXBMYWJlbChpdGVtLmRhdGEpXG4gICAgICAgICAgICB9KSwgaXRlbS5vcHRpb25zLm1hcChmdW5jdGlvbiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZW5kZXIob3B0aW9uLCBcIlwiLmNvbmNhdChncm91cEluZGV4LCBcIi1cIikuY29uY2F0KG9wdGlvbi5pbmRleCkpO1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09PSAnb3B0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHJlbmRlcihpdGVtLCBcIlwiLmNvbmNhdChpdGVtLmluZGV4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICAgIHZhciBtZXNzYWdlID0gbG9hZGluZ01lc3NhZ2Uoe1xuICAgICAgICAgIGlucHV0VmFsdWU6IGlucHV0VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChtZXNzYWdlID09PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgbWVudVVJID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ01lc3NhZ2UsIGNvbW1vblByb3BzLCBtZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBfbWVzc2FnZSA9IG5vT3B0aW9uc01lc3NhZ2Uoe1xuICAgICAgICAgIGlucHV0VmFsdWU6IGlucHV0VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChfbWVzc2FnZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgIG1lbnVVSSA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE5vT3B0aW9uc01lc3NhZ2UsIGNvbW1vblByb3BzLCBfbWVzc2FnZSk7XG4gICAgICB9XG4gICAgICB2YXIgbWVudVBsYWNlbWVudFByb3BzID0ge1xuICAgICAgICBtaW5NZW51SGVpZ2h0OiBtaW5NZW51SGVpZ2h0LFxuICAgICAgICBtYXhNZW51SGVpZ2h0OiBtYXhNZW51SGVpZ2h0LFxuICAgICAgICBtZW51UGxhY2VtZW50OiBtZW51UGxhY2VtZW50LFxuICAgICAgICBtZW51UG9zaXRpb246IG1lbnVQb3NpdGlvbixcbiAgICAgICAgbWVudVNob3VsZFNjcm9sbEludG9WaWV3OiBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXdcbiAgICAgIH07XG4gICAgICB2YXIgbWVudUVsZW1lbnQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChNZW51UGxhY2VyLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIG1lbnVQbGFjZW1lbnRQcm9wcyksIGZ1bmN0aW9uIChfcmVmNCkge1xuICAgICAgICB2YXIgcmVmID0gX3JlZjQucmVmLFxuICAgICAgICAgIF9yZWY0JHBsYWNlclByb3BzID0gX3JlZjQucGxhY2VyUHJvcHMsXG4gICAgICAgICAgcGxhY2VtZW50ID0gX3JlZjQkcGxhY2VyUHJvcHMucGxhY2VtZW50LFxuICAgICAgICAgIG1heEhlaWdodCA9IF9yZWY0JHBsYWNlclByb3BzLm1heEhlaWdodDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnUsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywgbWVudVBsYWNlbWVudFByb3BzLCB7XG4gICAgICAgICAgaW5uZXJSZWY6IHJlZixcbiAgICAgICAgICBpbm5lclByb3BzOiB7XG4gICAgICAgICAgICBvbk1vdXNlRG93bjogX3RoaXM0Lm9uTWVudU1vdXNlRG93bixcbiAgICAgICAgICAgIG9uTW91c2VNb3ZlOiBfdGhpczQub25NZW51TW91c2VNb3ZlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZyxcbiAgICAgICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudFxuICAgICAgICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoU2Nyb2xsTWFuYWdlciwge1xuICAgICAgICAgIGNhcHR1cmVFbmFibGVkOiBjYXB0dXJlTWVudVNjcm9sbCxcbiAgICAgICAgICBvblRvcEFycml2ZTogb25NZW51U2Nyb2xsVG9Ub3AsXG4gICAgICAgICAgb25Cb3R0b21BcnJpdmU6IG9uTWVudVNjcm9sbFRvQm90dG9tLFxuICAgICAgICAgIGxvY2tFbmFibGVkOiBtZW51U2hvdWxkQmxvY2tTY3JvbGxcbiAgICAgICAgfSwgZnVuY3Rpb24gKHNjcm9sbFRhcmdldFJlZikge1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChNZW51TGlzdCwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgICAgICBpbm5lclJlZjogZnVuY3Rpb24gaW5uZXJSZWYoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgX3RoaXM0LmdldE1lbnVMaXN0UmVmKGluc3RhbmNlKTtcbiAgICAgICAgICAgICAgc2Nyb2xsVGFyZ2V0UmVmKGluc3RhbmNlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbm5lclByb3BzOiB7XG4gICAgICAgICAgICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgICAgICAgICAgICAgJ2FyaWEtbXVsdGlzZWxlY3RhYmxlJzogY29tbW9uUHJvcHMuaXNNdWx0aSxcbiAgICAgICAgICAgICAgaWQ6IF90aGlzNC5nZXRFbGVtZW50SWQoJ2xpc3Rib3gnKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzTG9hZGluZzogaXNMb2FkaW5nLFxuICAgICAgICAgICAgbWF4SGVpZ2h0OiBtYXhIZWlnaHQsXG4gICAgICAgICAgICBmb2N1c2VkT3B0aW9uOiBmb2N1c2VkT3B0aW9uXG4gICAgICAgICAgfSksIG1lbnVVSSk7XG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBwb3NpdGlvbmluZyBiZWhhdmlvdXIgaXMgYWxtb3N0IGlkZW50aWNhbCBmb3IgcG9ydGFsbGVkIGFuZCBmaXhlZCxcbiAgICAgIC8vIHNvIHdlIHVzZSB0aGUgc2FtZSBjb21wb25lbnQuIHRoZSBhY3R1YWwgcG9ydGFsbGluZyBsb2dpYyBpcyBmb3JrZWRcbiAgICAgIC8vIHdpdGhpbiB0aGUgY29tcG9uZW50IGJhc2VkIG9uIGBtZW51UG9zaXRpb25gXG4gICAgICByZXR1cm4gbWVudVBvcnRhbFRhcmdldCB8fCBtZW51UG9zaXRpb24gPT09ICdmaXhlZCcgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChNZW51UG9ydGFsLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgYXBwZW5kVG86IG1lbnVQb3J0YWxUYXJnZXQsXG4gICAgICAgIGNvbnRyb2xFbGVtZW50OiB0aGlzLmNvbnRyb2xSZWYsXG4gICAgICAgIG1lbnVQbGFjZW1lbnQ6IG1lbnVQbGFjZW1lbnQsXG4gICAgICAgIG1lbnVQb3NpdGlvbjogbWVudVBvc2l0aW9uXG4gICAgICB9KSwgbWVudUVsZW1lbnQpIDogbWVudUVsZW1lbnQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckZvcm1GaWVsZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJGb3JtRmllbGQoKSB7XG4gICAgICB2YXIgX3RoaXM1ID0gdGhpcztcbiAgICAgIHZhciBfdGhpcyRwcm9wczEzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgZGVsaW1pdGVyID0gX3RoaXMkcHJvcHMxMy5kZWxpbWl0ZXIsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczEzLmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczEzLmlzTXVsdGksXG4gICAgICAgIG5hbWUgPSBfdGhpcyRwcm9wczEzLm5hbWUsXG4gICAgICAgIHJlcXVpcmVkID0gX3RoaXMkcHJvcHMxMy5yZXF1aXJlZDtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICBpZiAocmVxdWlyZWQgJiYgIXRoaXMuaGFzVmFsdWUoKSAmJiAhaXNEaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoUmVxdWlyZWRJbnB1dCQxLCB7XG4gICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICBvbkZvY3VzOiB0aGlzLm9uVmFsdWVJbnB1dEZvY3VzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCFuYW1lIHx8IGlzRGlzYWJsZWQpIHJldHVybjtcbiAgICAgIGlmIChpc011bHRpKSB7XG4gICAgICAgIGlmIChkZWxpbWl0ZXIpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBzZWxlY3RWYWx1ZS5tYXAoZnVuY3Rpb24gKG9wdCkge1xuICAgICAgICAgICAgcmV0dXJuIF90aGlzNS5nZXRPcHRpb25WYWx1ZShvcHQpO1xuICAgICAgICAgIH0pLmpvaW4oZGVsaW1pdGVyKTtcbiAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgdHlwZTogXCJoaWRkZW5cIixcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBpbnB1dCA9IHNlbGVjdFZhbHVlLmxlbmd0aCA+IDAgPyBzZWxlY3RWYWx1ZS5tYXAoZnVuY3Rpb24gKG9wdCwgaSkge1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICBrZXk6IFwiaS1cIi5jb25jYXQoaSksXG4gICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgIHR5cGU6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgIHZhbHVlOiBfdGhpczUuZ2V0T3B0aW9uVmFsdWUob3B0KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSkgOiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICB0eXBlOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgdmFsdWU6IFwiXCJcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgaW5wdXQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgX3ZhbHVlID0gc2VsZWN0VmFsdWVbMF0gPyB0aGlzLmdldE9wdGlvblZhbHVlKHNlbGVjdFZhbHVlWzBdKSA6ICcnO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICB0eXBlOiBcImhpZGRlblwiLFxuICAgICAgICAgIHZhbHVlOiBfdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckxpdmVSZWdpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyTGl2ZVJlZ2lvbigpIHtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgX3RoaXMkc3RhdGU2ID0gdGhpcy5zdGF0ZSxcbiAgICAgICAgYXJpYVNlbGVjdGlvbiA9IF90aGlzJHN0YXRlNi5hcmlhU2VsZWN0aW9uLFxuICAgICAgICBmb2N1c2VkT3B0aW9uID0gX3RoaXMkc3RhdGU2LmZvY3VzZWRPcHRpb24sXG4gICAgICAgIGZvY3VzZWRWYWx1ZSA9IF90aGlzJHN0YXRlNi5mb2N1c2VkVmFsdWUsXG4gICAgICAgIGlzRm9jdXNlZCA9IF90aGlzJHN0YXRlNi5pc0ZvY3VzZWQsXG4gICAgICAgIHNlbGVjdFZhbHVlID0gX3RoaXMkc3RhdGU2LnNlbGVjdFZhbHVlO1xuICAgICAgdmFyIGZvY3VzYWJsZU9wdGlvbnMgPSB0aGlzLmdldEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChMaXZlUmVnaW9uJDEsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBpZDogdGhpcy5nZXRFbGVtZW50SWQoJ2xpdmUtcmVnaW9uJyksXG4gICAgICAgIGFyaWFTZWxlY3Rpb246IGFyaWFTZWxlY3Rpb24sXG4gICAgICAgIGZvY3VzZWRPcHRpb246IGZvY3VzZWRPcHRpb24sXG4gICAgICAgIGZvY3VzZWRWYWx1ZTogZm9jdXNlZFZhbHVlLFxuICAgICAgICBpc0ZvY3VzZWQ6IGlzRm9jdXNlZCxcbiAgICAgICAgc2VsZWN0VmFsdWU6IHNlbGVjdFZhbHVlLFxuICAgICAgICBmb2N1c2FibGVPcHRpb25zOiBmb2N1c2FibGVPcHRpb25zLFxuICAgICAgICBpc0FwcGxlRGV2aWNlOiB0aGlzLnN0YXRlLmlzQXBwbGVEZXZpY2VcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzOCA9IHRoaXMuZ2V0Q29tcG9uZW50cygpLFxuICAgICAgICBDb250cm9sID0gX3RoaXMkZ2V0Q29tcG9uZW50czguQ29udHJvbCxcbiAgICAgICAgSW5kaWNhdG9yc0NvbnRhaW5lciA9IF90aGlzJGdldENvbXBvbmVudHM4LkluZGljYXRvcnNDb250YWluZXIsXG4gICAgICAgIFNlbGVjdENvbnRhaW5lciA9IF90aGlzJGdldENvbXBvbmVudHM4LlNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgVmFsdWVDb250YWluZXIgPSBfdGhpcyRnZXRDb21wb25lbnRzOC5WYWx1ZUNvbnRhaW5lcjtcbiAgICAgIHZhciBfdGhpcyRwcm9wczE0ID0gdGhpcy5wcm9wcyxcbiAgICAgICAgY2xhc3NOYW1lID0gX3RoaXMkcHJvcHMxNC5jbGFzc05hbWUsXG4gICAgICAgIGlkID0gX3RoaXMkcHJvcHMxNC5pZCxcbiAgICAgICAgaXNEaXNhYmxlZCA9IF90aGlzJHByb3BzMTQuaXNEaXNhYmxlZCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzMTQubWVudUlzT3BlbjtcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHMgPSB0aGlzLmdldENvbW1vblByb3BzKCk7XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udGFpbmVyLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIGlubmVyUHJvcHM6IHtcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgb25LZXlEb3duOiB0aGlzLm9uS2V5RG93blxuICAgICAgICB9LFxuICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICBpc0ZvY3VzZWQ6IGlzRm9jdXNlZFxuICAgICAgfSksIHRoaXMucmVuZGVyTGl2ZVJlZ2lvbigpLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChDb250cm9sLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaW5uZXJSZWY6IHRoaXMuZ2V0Q29udHJvbFJlZixcbiAgICAgICAgaW5uZXJQcm9wczoge1xuICAgICAgICAgIG9uTW91c2VEb3duOiB0aGlzLm9uQ29udHJvbE1vdXNlRG93bixcbiAgICAgICAgICBvblRvdWNoRW5kOiB0aGlzLm9uQ29udHJvbFRvdWNoRW5kXG4gICAgICAgIH0sXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkLFxuICAgICAgICBtZW51SXNPcGVuOiBtZW51SXNPcGVuXG4gICAgICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoVmFsdWVDb250YWluZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkXG4gICAgICB9KSwgdGhpcy5yZW5kZXJQbGFjZWhvbGRlck9yVmFsdWUoKSwgdGhpcy5yZW5kZXJJbnB1dCgpKSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoSW5kaWNhdG9yc0NvbnRhaW5lciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgICAgIH0pLCB0aGlzLnJlbmRlckNsZWFySW5kaWNhdG9yKCksIHRoaXMucmVuZGVyTG9hZGluZ0luZGljYXRvcigpLCB0aGlzLnJlbmRlckluZGljYXRvclNlcGFyYXRvcigpLCB0aGlzLnJlbmRlckRyb3Bkb3duSW5kaWNhdG9yKCkpKSwgdGhpcy5yZW5kZXJNZW51KCksIHRoaXMucmVuZGVyRm9ybUZpZWxkKCkpO1xuICAgIH1cbiAgfV0sIFt7XG4gICAga2V5OiBcImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICB2YXIgcHJldlByb3BzID0gc3RhdGUucHJldlByb3BzLFxuICAgICAgICBjbGVhckZvY3VzVmFsdWVPblVwZGF0ZSA9IHN0YXRlLmNsZWFyRm9jdXNWYWx1ZU9uVXBkYXRlLFxuICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGUgPSBzdGF0ZS5pbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGUsXG4gICAgICAgIGFyaWFTZWxlY3Rpb24gPSBzdGF0ZS5hcmlhU2VsZWN0aW9uLFxuICAgICAgICBpc0ZvY3VzZWQgPSBzdGF0ZS5pc0ZvY3VzZWQsXG4gICAgICAgIHByZXZXYXNGb2N1c2VkID0gc3RhdGUucHJldldhc0ZvY3VzZWQsXG4gICAgICAgIGluc3RhbmNlUHJlZml4ID0gc3RhdGUuaW5zdGFuY2VQcmVmaXg7XG4gICAgICB2YXIgb3B0aW9ucyA9IHByb3BzLm9wdGlvbnMsXG4gICAgICAgIHZhbHVlID0gcHJvcHMudmFsdWUsXG4gICAgICAgIG1lbnVJc09wZW4gPSBwcm9wcy5tZW51SXNPcGVuLFxuICAgICAgICBpbnB1dFZhbHVlID0gcHJvcHMuaW5wdXRWYWx1ZSxcbiAgICAgICAgaXNNdWx0aSA9IHByb3BzLmlzTXVsdGk7XG4gICAgICB2YXIgc2VsZWN0VmFsdWUgPSBjbGVhblZhbHVlKHZhbHVlKTtcbiAgICAgIHZhciBuZXdNZW51T3B0aW9uc1N0YXRlID0ge307XG4gICAgICBpZiAocHJldlByb3BzICYmICh2YWx1ZSAhPT0gcHJldlByb3BzLnZhbHVlIHx8IG9wdGlvbnMgIT09IHByZXZQcm9wcy5vcHRpb25zIHx8IG1lbnVJc09wZW4gIT09IHByZXZQcm9wcy5tZW51SXNPcGVuIHx8IGlucHV0VmFsdWUgIT09IHByZXZQcm9wcy5pbnB1dFZhbHVlKSkge1xuICAgICAgICB2YXIgZm9jdXNhYmxlT3B0aW9ucyA9IG1lbnVJc09wZW4gPyBidWlsZEZvY3VzYWJsZU9wdGlvbnMocHJvcHMsIHNlbGVjdFZhbHVlKSA6IFtdO1xuICAgICAgICB2YXIgZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMgPSBtZW51SXNPcGVuID8gYnVpbGRGb2N1c2FibGVPcHRpb25zV2l0aElkcyhidWlsZENhdGVnb3JpemVkT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpLCBcIlwiLmNvbmNhdChpbnN0YW5jZVByZWZpeCwgXCItb3B0aW9uXCIpKSA6IFtdO1xuICAgICAgICB2YXIgZm9jdXNlZFZhbHVlID0gY2xlYXJGb2N1c1ZhbHVlT25VcGRhdGUgPyBnZXROZXh0Rm9jdXNlZFZhbHVlKHN0YXRlLCBzZWxlY3RWYWx1ZSkgOiBudWxsO1xuICAgICAgICB2YXIgZm9jdXNlZE9wdGlvbiA9IGdldE5leHRGb2N1c2VkT3B0aW9uKHN0YXRlLCBmb2N1c2FibGVPcHRpb25zKTtcbiAgICAgICAgdmFyIGZvY3VzZWRPcHRpb25JZCA9IGdldEZvY3VzZWRPcHRpb25JZChmb2N1c2FibGVPcHRpb25zV2l0aElkcywgZm9jdXNlZE9wdGlvbik7XG4gICAgICAgIG5ld01lbnVPcHRpb25zU3RhdGUgPSB7XG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHNlbGVjdFZhbHVlLFxuICAgICAgICAgIGZvY3VzZWRPcHRpb246IGZvY3VzZWRPcHRpb24sXG4gICAgICAgICAgZm9jdXNlZE9wdGlvbklkOiBmb2N1c2VkT3B0aW9uSWQsXG4gICAgICAgICAgZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHM6IGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLFxuICAgICAgICAgIGZvY3VzZWRWYWx1ZTogZm9jdXNlZFZhbHVlLFxuICAgICAgICAgIGNsZWFyRm9jdXNWYWx1ZU9uVXBkYXRlOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgLy8gc29tZSB1cGRhdGVzIHNob3VsZCB0b2dnbGUgdGhlIHN0YXRlIG9mIHRoZSBpbnB1dCB2aXNpYmlsaXR5XG4gICAgICB2YXIgbmV3SW5wdXRJc0hpZGRlblN0YXRlID0gaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlICE9IG51bGwgJiYgcHJvcHMgIT09IHByZXZQcm9wcyA/IHtcbiAgICAgICAgaW5wdXRJc0hpZGRlbjogaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlLFxuICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IHVuZGVmaW5lZFxuICAgICAgfSA6IHt9O1xuICAgICAgdmFyIG5ld0FyaWFTZWxlY3Rpb24gPSBhcmlhU2VsZWN0aW9uO1xuICAgICAgdmFyIGhhc0tlcHRGb2N1cyA9IGlzRm9jdXNlZCAmJiBwcmV2V2FzRm9jdXNlZDtcbiAgICAgIGlmIChpc0ZvY3VzZWQgJiYgIWhhc0tlcHRGb2N1cykge1xuICAgICAgICAvLyBJZiBgdmFsdWVgIG9yIGBkZWZhdWx0VmFsdWVgIHByb3BzIGFyZSBub3QgZW1wdHkgdGhlbiBhbm5vdW5jZSB0aGVtXG4gICAgICAgIC8vIHdoZW4gdGhlIFNlbGVjdCBpcyBpbml0aWFsbHkgZm9jdXNlZFxuICAgICAgICBuZXdBcmlhU2VsZWN0aW9uID0ge1xuICAgICAgICAgIHZhbHVlOiB2YWx1ZVRlcm5hcnkoaXNNdWx0aSwgc2VsZWN0VmFsdWUsIHNlbGVjdFZhbHVlWzBdIHx8IG51bGwpLFxuICAgICAgICAgIG9wdGlvbnM6IHNlbGVjdFZhbHVlLFxuICAgICAgICAgIGFjdGlvbjogJ2luaXRpYWwtaW5wdXQtZm9jdXMnXG4gICAgICAgIH07XG4gICAgICAgIGhhc0tlcHRGb2N1cyA9ICFwcmV2V2FzRm9jdXNlZDtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdGhlICdpbml0aWFsLWlucHV0LWZvY3VzJyBhY3Rpb24gaGFzIGJlZW4gc2V0IGFscmVhZHlcbiAgICAgIC8vIHRoZW4gcmVzZXQgdGhlIGFyaWFTZWxlY3Rpb24gdG8gbnVsbFxuICAgICAgaWYgKChhcmlhU2VsZWN0aW9uID09PSBudWxsIHx8IGFyaWFTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFyaWFTZWxlY3Rpb24uYWN0aW9uKSA9PT0gJ2luaXRpYWwtaW5wdXQtZm9jdXMnKSB7XG4gICAgICAgIG5ld0FyaWFTZWxlY3Rpb24gPSBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBuZXdNZW51T3B0aW9uc1N0YXRlKSwgbmV3SW5wdXRJc0hpZGRlblN0YXRlKSwge30sIHtcbiAgICAgICAgcHJldlByb3BzOiBwcm9wcyxcbiAgICAgICAgYXJpYVNlbGVjdGlvbjogbmV3QXJpYVNlbGVjdGlvbixcbiAgICAgICAgcHJldldhc0ZvY3VzZWQ6IGhhc0tlcHRGb2N1c1xuICAgICAgfSk7XG4gICAgfVxuICB9XSk7XG4gIHJldHVybiBTZWxlY3Q7XG59KENvbXBvbmVudCk7XG5TZWxlY3QuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgeyBTZWxlY3QgYXMgUywgZGVmYXVsdFByb3BzIGFzIGEsIGdldE9wdGlvbkxhYmVsJDEgYXMgYiwgY3JlYXRlRmlsdGVyIGFzIGMsIGRlZmF1bHRUaGVtZSBhcyBkLCBnZXRPcHRpb25WYWx1ZSQxIGFzIGcsIG1lcmdlU3R5bGVzIGFzIG0gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-select/dist/Select-ef7c0426.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select/dist/index-641ee5b8.esm.js":
|
||
/*!**************************************************************!*\
|
||
!*** ./node_modules/react-select/dist/index-641ee5b8.esm.js ***!
|
||
\**************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ A: function() { return /* binding */ isMobileDevice; },\n/* harmony export */ B: function() { return /* binding */ multiValueAsValue; },\n/* harmony export */ C: function() { return /* binding */ singleValueAsValue; },\n/* harmony export */ D: function() { return /* binding */ valueTernary; },\n/* harmony export */ E: function() { return /* binding */ classNames; },\n/* harmony export */ F: function() { return /* binding */ defaultComponents; },\n/* harmony export */ G: function() { return /* binding */ isDocumentElement; },\n/* harmony export */ H: function() { return /* binding */ cleanValue; },\n/* harmony export */ I: function() { return /* binding */ scrollIntoView; },\n/* harmony export */ J: function() { return /* binding */ noop; },\n/* harmony export */ K: function() { return /* binding */ notNullish; },\n/* harmony export */ L: function() { return /* binding */ handleInputChange; },\n/* harmony export */ M: function() { return /* binding */ MenuPlacer; },\n/* harmony export */ a: function() { return /* binding */ clearIndicatorCSS; },\n/* harmony export */ b: function() { return /* binding */ containerCSS; },\n/* harmony export */ c: function() { return /* binding */ components; },\n/* harmony export */ d: function() { return /* binding */ css$1; },\n/* harmony export */ e: function() { return /* binding */ dropdownIndicatorCSS; },\n/* harmony export */ f: function() { return /* binding */ groupHeadingCSS; },\n/* harmony export */ g: function() { return /* binding */ groupCSS; },\n/* harmony export */ h: function() { return /* binding */ indicatorSeparatorCSS; },\n/* harmony export */ i: function() { return /* binding */ indicatorsContainerCSS; },\n/* harmony export */ j: function() { return /* binding */ inputCSS; },\n/* harmony export */ k: function() { return /* binding */ loadingMessageCSS; },\n/* harmony export */ l: function() { return /* binding */ loadingIndicatorCSS; },\n/* harmony export */ m: function() { return /* binding */ menuCSS; },\n/* harmony export */ n: function() { return /* binding */ menuListCSS; },\n/* harmony export */ o: function() { return /* binding */ menuPortalCSS; },\n/* harmony export */ p: function() { return /* binding */ multiValueCSS; },\n/* harmony export */ q: function() { return /* binding */ multiValueLabelCSS; },\n/* harmony export */ r: function() { return /* binding */ removeProps; },\n/* harmony export */ s: function() { return /* binding */ supportsPassiveEvents; },\n/* harmony export */ t: function() { return /* binding */ multiValueRemoveCSS; },\n/* harmony export */ u: function() { return /* binding */ noOptionsMessageCSS; },\n/* harmony export */ v: function() { return /* binding */ optionCSS; },\n/* harmony export */ w: function() { return /* binding */ placeholderCSS; },\n/* harmony export */ x: function() { return /* binding */ css; },\n/* harmony export */ y: function() { return /* binding */ valueContainerCSS; },\n/* harmony export */ z: function() { return /* binding */ isTouchCapable; }\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @emotion/react */ \"(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/taggedTemplateLiteral */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\n/* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @floating-ui/dom */ \"(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\");\n/* harmony import */ var use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! use-isomorphic-layout-effect */ \"(app-pages-browser)/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _excluded$4 = [\"className\", \"clearValue\", \"cx\", \"getStyles\", \"getClassNames\", \"getValue\", \"hasValue\", \"isMulti\", \"isRtl\", \"options\", \"selectOption\", \"selectProps\", \"setValue\", \"theme\"];\n// ==============================\n// NO OP\n// ==============================\n\nvar noop = function noop() {};\n\n// ==============================\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\nfunction classNames(prefix, state) {\n for (var _len = arguments.length, classNameList = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n classNameList[_key - 2] = arguments[_key];\n }\n var arr = [].concat(classNameList);\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n}\n// ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n if (isArray(value)) return value.filter(Boolean);\n if ((0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value) === 'object' && value !== null) return [value];\n return [];\n};\n\n// ==============================\n// Clean Common Props\n// ==============================\n\nvar cleanCommonProps = function cleanCommonProps(props) {\n //className\n props.className;\n props.clearValue;\n props.cx;\n props.getStyles;\n props.getClassNames;\n props.getValue;\n props.hasValue;\n props.isMulti;\n props.isRtl;\n props.options;\n props.selectOption;\n props.selectProps;\n props.setValue;\n props.theme;\n var innerProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(props, _excluded$4);\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, innerProps);\n};\n\n// ==============================\n// Get Style Props\n// ==============================\n\nvar getStyleProps = function getStyleProps(props, name, classNamesState) {\n var cx = props.cx,\n getStyles = props.getStyles,\n getClassNames = props.getClassNames,\n className = props.className;\n return {\n css: getStyles(name, props),\n className: cx(classNamesState !== null && classNamesState !== void 0 ? classNamesState : {}, getClassNames(name, props), className)\n };\n};\n\n// ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var _newValue = onInputChange(inputValue, actionMeta);\n if (typeof _newValue === 'string') return _newValue;\n }\n return inputValue;\n}\n\n// ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n}\n\n// Normalized Scroll Top\n// ------------------------------\n\nfunction normalizedHeight(el) {\n if (isDocumentElement(el)) {\n return window.innerHeight;\n }\n return el.clientHeight;\n}\n\n// Normalized scrollTo & scrollTop\n// ------------------------------\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n el.scrollTop = top;\n}\n\n// Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n if (style.position === 'fixed') return document.documentElement;\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n return document.documentElement;\n}\n\n// Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n animateScroll();\n}\n\n// Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n}\n\n// ==============================\n// Get bounding client object\n// ==============================\n\n// cannot get keys using array notation with DOMRect\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n}\n\n// ==============================\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n}\n\n// ==============================\n// Passive Event Detector\n// ==============================\n\n// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36\nvar passiveOptionAccessed = false;\nvar options = {\n get passive() {\n return passiveOptionAccessed = true;\n }\n};\n// check for SSR\nvar w = typeof window !== 'undefined' ? window : {};\nif (w.addEventListener && w.removeEventListener) {\n w.addEventListener('p', noop, options);\n w.removeEventListener('p', noop, false);\n}\nvar supportsPassiveEvents = passiveOptionAccessed;\nfunction notNullish(item) {\n return item != null;\n}\nfunction isArray(arg) {\n return Array.isArray(arg);\n}\nfunction valueTernary(isMulti, multiValue, singleValue) {\n return isMulti ? multiValue : singleValue;\n}\nfunction singleValueAsValue(singleValue) {\n return singleValue;\n}\nfunction multiValueAsValue(multiValue) {\n return multiValue;\n}\nvar removeProps = function removeProps(propsObj) {\n for (var _len2 = arguments.length, properties = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n properties[_key2 - 1] = arguments[_key2];\n }\n var propsMap = Object.entries(propsObj).filter(function (_ref) {\n var _ref2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref, 1),\n key = _ref2[0];\n return !properties.includes(key);\n });\n return propsMap.reduce(function (newProps, _ref3) {\n var _ref4 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref3, 2),\n key = _ref4[0],\n val = _ref4[1];\n newProps[key] = val;\n return newProps;\n }, {});\n};\n\nvar _excluded$3 = [\"children\", \"innerProps\"],\n _excluded2$1 = [\"children\", \"innerProps\"];\nfunction getMenuPlacement(_ref) {\n var preferredMaxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n preferredPlacement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n controlHeight = _ref.controlHeight;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: preferredMaxHeight\n };\n\n // something went wrong, return default state\n if (!menuEl || !menuEl.offsetParent) return defaultState;\n\n // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n var viewHeight = isFixedPosition ? window.innerHeight : normalizedHeight(scrollParent);\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n switch (preferredPlacement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: preferredMaxHeight\n };\n }\n\n // 2: the menu will fit, if scrolled\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n return {\n placement: 'bottom',\n maxHeight: preferredMaxHeight\n };\n }\n\n // 3: the menu will fit, if constrained\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n }\n\n // 4. Forked beviour when there isn't enough space below\n\n // AUTO: flip the menu, render above\n if (preferredPlacement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = preferredMaxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - controlHeight, preferredMaxHeight);\n }\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n }\n\n // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n if (preferredPlacement === 'bottom') {\n if (shouldScroll) {\n scrollTo(scrollParent, scrollDown);\n }\n return {\n placement: 'bottom',\n maxHeight: preferredMaxHeight\n };\n }\n break;\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: preferredMaxHeight\n };\n }\n\n // 2: the menu will fit, if scrolled\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n return {\n placement: 'top',\n maxHeight: preferredMaxHeight\n };\n }\n\n // 3: the menu will fit, if constrained\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = preferredMaxHeight;\n\n // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n }\n\n // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n return {\n placement: 'bottom',\n maxHeight: preferredMaxHeight\n };\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(preferredPlacement, \"\\\".\"));\n }\n return defaultState;\n}\n\n// Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\nvar menuCSS = function menuCSS(_ref2, unstyled) {\n var _objectSpread2;\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((_objectSpread2 = {\n label: 'menu'\n }, (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_objectSpread2, alignToControl(placement), '100%'), (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_objectSpread2, \"position\", 'absolute'), (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_objectSpread2, \"width\", '100%'), (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_objectSpread2, \"zIndex\", 1), _objectSpread2), unstyled ? {} : {\n backgroundColor: colors.neutral0,\n borderRadius: borderRadius,\n boxShadow: '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)',\n marginBottom: spacing.menuGutter,\n marginTop: spacing.menuGutter\n });\n};\nvar PortalPlacementContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_7__.createContext)(null);\n\n// NOTE: internal only\nvar MenuPlacer = function MenuPlacer(props) {\n var children = props.children,\n minMenuHeight = props.minMenuHeight,\n maxMenuHeight = props.maxMenuHeight,\n menuPlacement = props.menuPlacement,\n menuPosition = props.menuPosition,\n menuShouldScrollIntoView = props.menuShouldScrollIntoView,\n theme = props.theme;\n var _ref3 = (0,react__WEBPACK_IMPORTED_MODULE_7__.useContext)(PortalPlacementContext) || {},\n setPortalPlacement = _ref3.setPortalPlacement;\n var ref = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(null);\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_7__.useState)(maxMenuHeight),\n _useState2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState, 2),\n maxHeight = _useState2[0],\n setMaxHeight = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_7__.useState)(null),\n _useState4 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState3, 2),\n placement = _useState4[0],\n setPlacement = _useState4[1];\n var controlHeight = theme.spacing.controlHeight;\n (0,use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(function () {\n var menuEl = ref.current;\n if (!menuEl) return;\n\n // DO NOT scroll if position is fixed\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: menuEl,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n controlHeight: controlHeight\n });\n setMaxHeight(state.maxHeight);\n setPlacement(state.placement);\n setPortalPlacement === null || setPortalPlacement === void 0 ? void 0 : setPortalPlacement(state.placement);\n }, [maxMenuHeight, menuPlacement, menuPosition, menuShouldScrollIntoView, minMenuHeight, setPortalPlacement, controlHeight]);\n return children({\n ref: ref,\n placerProps: (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props), {}, {\n placement: placement || coercePlacement(menuPlacement),\n maxHeight: maxHeight\n })\n });\n};\nvar Menu = function Menu(props) {\n var children = props.children,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'menu', {\n menu: true\n }), {\n ref: innerRef\n }, innerProps), children);\n};\nvar Menu$1 = Menu;\n\n// ==============================\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4, unstyled) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n maxHeight: maxHeight,\n overflowY: 'auto',\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n }, unstyled ? {} : {\n paddingBottom: baseUnit,\n paddingTop: baseUnit\n });\n};\nvar MenuList = function MenuList(props) {\n var children = props.children,\n innerProps = props.innerProps,\n innerRef = props.innerRef,\n isMulti = props.isMulti;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'menuList', {\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }), {\n ref: innerRef\n }, innerProps), children);\n};\n\n// ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5, unstyled) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n textAlign: 'center'\n }, unstyled ? {} : {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\")\n });\n};\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(_ref6) {\n var _ref6$children = _ref6.children,\n children = _ref6$children === void 0 ? 'No options' : _ref6$children,\n innerProps = _ref6.innerProps,\n restProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_ref6, _excluded$3);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, restProps), {}, {\n children: children,\n innerProps: innerProps\n }), 'noOptionsMessage', {\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }), innerProps), children);\n};\nvar LoadingMessage = function LoadingMessage(_ref7) {\n var _ref7$children = _ref7.children,\n children = _ref7$children === void 0 ? 'Loading...' : _ref7$children,\n innerProps = _ref7.innerProps,\n restProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_ref7, _excluded2$1);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, restProps), {}, {\n children: children,\n innerProps: innerProps\n }), 'loadingMessage', {\n 'menu-notice': true,\n 'menu-notice--loading': true\n }), innerProps), children);\n};\n\n// ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref8) {\n var rect = _ref8.rect,\n offset = _ref8.offset,\n position = _ref8.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\nvar MenuPortal = function MenuPortal(props) {\n var appendTo = props.appendTo,\n children = props.children,\n controlElement = props.controlElement,\n innerProps = props.innerProps,\n menuPlacement = props.menuPlacement,\n menuPosition = props.menuPosition;\n var menuPortalRef = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(null);\n var cleanupRef = (0,react__WEBPACK_IMPORTED_MODULE_7__.useRef)(null);\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_7__.useState)(coercePlacement(menuPlacement)),\n _useState6 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState5, 2),\n placement = _useState6[0],\n setPortalPlacement = _useState6[1];\n var portalPlacementContext = (0,react__WEBPACK_IMPORTED_MODULE_7__.useMemo)(function () {\n return {\n setPortalPlacement: setPortalPlacement\n };\n }, []);\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_7__.useState)(null),\n _useState8 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState7, 2),\n computedPosition = _useState8[0],\n setComputedPosition = _useState8[1];\n var updateComputedPosition = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function () {\n if (!controlElement) return;\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = menuPosition === 'fixed' ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n if (offset !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset) || rect.left !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left) || rect.width !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width)) {\n setComputedPosition({\n offset: offset,\n rect: rect\n });\n }\n }, [controlElement, menuPosition, placement, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width]);\n (0,use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(function () {\n updateComputedPosition();\n }, [updateComputedPosition]);\n var runAutoUpdate = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function () {\n if (typeof cleanupRef.current === 'function') {\n cleanupRef.current();\n cleanupRef.current = null;\n }\n if (controlElement && menuPortalRef.current) {\n cleanupRef.current = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_11__.autoUpdate)(controlElement, menuPortalRef.current, updateComputedPosition, {\n elementResize: 'ResizeObserver' in window\n });\n }\n }, [controlElement, updateComputedPosition]);\n (0,use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(function () {\n runAutoUpdate();\n }, [runAutoUpdate]);\n var setMenuPortalElement = (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(function (menuPortalElement) {\n menuPortalRef.current = menuPortalElement;\n runAutoUpdate();\n }, [runAutoUpdate]);\n\n // bail early if required elements aren't present\n if (!appendTo && menuPosition !== 'fixed' || !computedPosition) return null;\n\n // same wrapper element whether fixed or portalled\n var menuWrapper = (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n ref: setMenuPortalElement\n }, getStyleProps((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props), {}, {\n offset: computedPosition.offset,\n position: menuPosition,\n rect: computedPosition.rect\n }), 'menuPortal', {\n 'menu-portal': true\n }), innerProps), children);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(PortalPlacementContext.Provider, {\n value: portalPlacementContext\n }, appendTo ? /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_8__.createPortal)(menuWrapper, appendTo) : menuWrapper);\n};\n\n// ==============================\n// Root Container\n// ==============================\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : undefined,\n pointerEvents: isDisabled ? 'none' : undefined,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'container', {\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }), innerProps), children);\n};\n\n// ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2, unstyled) {\n var spacing = _ref2.theme.spacing,\n isMulti = _ref2.isMulti,\n hasValue = _ref2.hasValue,\n controlShouldRenderValue = _ref2.selectProps.controlShouldRenderValue;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n alignItems: 'center',\n display: isMulti && hasValue && controlShouldRenderValue ? 'flex' : 'grid',\n flex: 1,\n flexWrap: 'wrap',\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n }, unstyled ? {} : {\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\")\n });\n};\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n innerProps = props.innerProps,\n isMulti = props.isMulti,\n hasValue = props.hasValue;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'valueContainer', {\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }), innerProps), children);\n};\n\n// ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'indicatorsContainer', {\n indicators: true\n }), innerProps), children);\n};\n\nvar _templateObject;\nvar _excluded$2 = [\"size\"],\n _excluded2 = [\"innerProps\", \"isRtl\", \"size\"];\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar _ref2 = false ? 0 : {\n name: \"tj5bde-Svg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCSSIsImZpbGUiOiJpbmRpY2F0b3JzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgSlNYLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHtcbiAgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWUsXG4gIENTU09iamVjdFdpdGhMYWJlbCxcbiAgR3JvdXBCYXNlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTdHlsZVByb3BzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBTdmcgPSAoe1xuICBzaXplLFxuICAuLi5wcm9wc1xufTogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzdmcnXSAmIHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3Jvc3NJY29uUHJvcHMgPSBKU1guSW50cmluc2ljRWxlbWVudHNbJ3N2ZyddICYgeyBzaXplPzogbnVtYmVyIH07XG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBDcm9zc0ljb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNMTQuMzQ4IDE0Ljg0OWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMGwtMi42NTEtMy4wMzAtMi42NTEgMy4wMjljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDAtMC40NjktMC40NjktMC40NjktMS4yMjkgMC0xLjY5N2wyLjc1OC0zLjE1LTIuNzU5LTMuMTUyYy0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOCAwLTEuNjk3czEuMjI4LTAuNDY5IDEuNjk3IDBsMi42NTIgMy4wMzEgMi42NTEtMy4wMzFjMC40NjktMC40NjkgMS4yMjgtMC40NjkgMS42OTcgMHMwLjQ2OSAxLjIyOSAwIDEuNjk3bC0yLjc1OCAzLjE1MiAyLjc1OCAzLjE1YzAuNDY5IDAuNDY5IDAuNDY5IDEuMjI5IDAgMS42OTh6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuZXhwb3J0IHR5cGUgRG93bkNoZXZyb25Qcm9wcyA9IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snc3ZnJ10gJiB7IHNpemU/OiBudW1iZXIgfTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogRG93bkNoZXZyb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxcbiAgT3B0aW9uID0gdW5rbm93bixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4gPSBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+ID0gR3JvdXBCYXNlPE9wdGlvbj5cbj4gZXh0ZW5kcyBDb21tb25Qcm9wc0FuZENsYXNzTmFtZTxPcHRpb24sIElzTXVsdGksIEdyb3VwPiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snZGl2J107XG4gIC8qKiBUaGUgZm9jdXNlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0LiAqL1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmNvbnN0IGJhc2VDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgdGhlbWU6IHtcbiAgICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICAgIGNvbG9ycyxcbiAgICB9LFxuICB9OlxuICAgIHwgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuICAgIHwgQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgLi4uKHVuc3R5bGVkXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnZHJvcGRvd25JbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENsZWFySW5kaWNhdG9yUHJvcHM8XG4gIE9wdGlvbiA9IHVua25vd24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbixcbiAgR3JvdXAgZXh0ZW5kcyBHcm91cEJhc2U8T3B0aW9uPiA9IEdyb3VwQmFzZTxPcHRpb24+XG4+IGV4dGVuZHMgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWU8T3B0aW9uLCBJc011bHRpLCBHcm91cD4ge1xuICAvKiogVGhlIGNoaWxkcmVuIHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgaW5kaWNhdG9yLiAqL1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnY2xlYXJJbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvclNlcGFyYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpbm5lclByb3BzPzogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ107XG59XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0Rpc2FibGVkLFxuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgICBjb2xvcnMsXG4gICAgfSxcbiAgfTogSW5kaWNhdG9yU2VwYXJhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD4sXG4gIHVuc3R5bGVkOiBib29sZWFuXG4pOiBDU1NPYmplY3RXaXRoTGFiZWwgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgd2lkdGg6IDEsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICAgICAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgICAgIH0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBJbmRpY2F0b3JTZXBhcmF0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHByb3BzOiBJbmRpY2F0b3JTZXBhcmF0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgey4uLmdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgICAgICdpbmRpY2F0b3Itc2VwYXJhdG9yJzogdHJ1ZSxcbiAgICAgIH0pfVxuICAgIC8+XG4gICk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBsb2FkaW5nRG90QW5pbWF0aW9ucyA9IGtleWZyYW1lc2BcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMTsgfVxuYDtcblxuZXhwb3J0IGNvbnN0IGxvYWRpbmdJbmRpY2F0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgc2l6ZSxcbiAgICB0aGVtZToge1xuICAgICAgY29sb3JzLFxuICAgICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIH0sXG4gIH06IExvYWRpbmdJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG4gIGFsaWduU2VsZjogJ2NlbnRlcicsXG4gIGZvbnRTaXplOiBzaXplLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBtYXJnaW5SaWdodDogc2l6ZSxcbiAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgICAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gICAgICB9KSxcbn0pO1xuXG5pbnRlcmZhY2UgTG9hZGluZ0RvdFByb3BzIHtcbiAgZGVsYXk6IG51bWJlcjtcbiAgb2Zmc2V0OiBib29sZWFuO1xufVxuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogTG9hZGluZ0RvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiB1bmRlZmluZWQsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ0luZGljYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgc2l6ZTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IExvYWRpbmdJbmRpY2F0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oe1xuICBpbm5lclByb3BzLFxuICBpc1J0bCxcbiAgc2l6ZSA9IDQsXG4gIC4uLnJlc3RQcm9wc1xufTogTG9hZGluZ0luZGljYXRvclByb3BzPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgey4uLmdldFN0eWxlUHJvcHMoXG4gICAgICAgIHsgLi4ucmVzdFByb3BzLCBpbm5lclByb3BzLCBpc1J0bCwgc2l6ZSB9LFxuICAgICAgICAnbG9hZGluZ0luZGljYXRvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgICAgICAgJ2xvYWRpbmctaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_ref, _excluded$2);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"svg\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\nvar CrossIcon = function CrossIcon(props) {\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(Svg, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n size: 20\n }, props), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\nvar DownChevron = function DownChevron(props) {\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(Svg, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n size: 20\n }, props), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n};\n\n// ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3, unstyled) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'indicatorContainer',\n display: 'flex',\n transition: 'color 150ms'\n }, unstyled ? {} : {\n color: isFocused ? colors.neutral60 : colors.neutral20,\n padding: baseUnit * 2,\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n });\n};\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'dropdownIndicator', {\n indicator: true,\n 'dropdown-indicator': true\n }), innerProps), children || (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'clearIndicator', {\n indicator: true,\n 'clear-indicator': true\n }), innerProps), children || (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(CrossIcon, null));\n};\n\n// ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4, unstyled) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n width: 1\n }, unstyled ? {} : {\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2\n });\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"span\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, innerProps, getStyleProps(props, 'indicatorSeparator', {\n 'indicator-separator': true\n })));\n};\n\n// ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.keyframes)(_templateObject || (_templateObject = (0,_babel_runtime_helpers_esm_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5__[\"default\"])([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5, unstyled) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'loadingIndicator',\n display: 'flex',\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n }, unstyled ? {} : {\n color: isFocused ? colors.neutral60 : colors.neutral20,\n padding: baseUnit * 2\n });\n};\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"span\", {\n css: /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.css)({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : undefined,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, false ? 0 : \";label:LoadingDot;\", false ? 0 : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1RSSIsImZpbGUiOiJpbmRpY2F0b3JzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgSlNYLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHtcbiAgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWUsXG4gIENTU09iamVjdFdpdGhMYWJlbCxcbiAgR3JvdXBCYXNlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTdHlsZVByb3BzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBTdmcgPSAoe1xuICBzaXplLFxuICAuLi5wcm9wc1xufTogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzdmcnXSAmIHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3Jvc3NJY29uUHJvcHMgPSBKU1guSW50cmluc2ljRWxlbWVudHNbJ3N2ZyddICYgeyBzaXplPzogbnVtYmVyIH07XG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBDcm9zc0ljb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNMTQuMzQ4IDE0Ljg0OWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMGwtMi42NTEtMy4wMzAtMi42NTEgMy4wMjljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDAtMC40NjktMC40NjktMC40NjktMS4yMjkgMC0xLjY5N2wyLjc1OC0zLjE1LTIuNzU5LTMuMTUyYy0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOCAwLTEuNjk3czEuMjI4LTAuNDY5IDEuNjk3IDBsMi42NTIgMy4wMzEgMi42NTEtMy4wMzFjMC40NjktMC40NjkgMS4yMjgtMC40NjkgMS42OTcgMHMwLjQ2OSAxLjIyOSAwIDEuNjk3bC0yLjc1OCAzLjE1MiAyLjc1OCAzLjE1YzAuNDY5IDAuNDY5IDAuNDY5IDEuMjI5IDAgMS42OTh6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuZXhwb3J0IHR5cGUgRG93bkNoZXZyb25Qcm9wcyA9IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snc3ZnJ10gJiB7IHNpemU/OiBudW1iZXIgfTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogRG93bkNoZXZyb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxcbiAgT3B0aW9uID0gdW5rbm93bixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4gPSBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+ID0gR3JvdXBCYXNlPE9wdGlvbj5cbj4gZXh0ZW5kcyBDb21tb25Qcm9wc0FuZENsYXNzTmFtZTxPcHRpb24sIElzTXVsdGksIEdyb3VwPiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snZGl2J107XG4gIC8qKiBUaGUgZm9jdXNlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0LiAqL1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmNvbnN0IGJhc2VDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgdGhlbWU6IHtcbiAgICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICAgIGNvbG9ycyxcbiAgICB9LFxuICB9OlxuICAgIHwgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuICAgIHwgQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgLi4uKHVuc3R5bGVkXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnZHJvcGRvd25JbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENsZWFySW5kaWNhdG9yUHJvcHM8XG4gIE9wdGlvbiA9IHVua25vd24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbixcbiAgR3JvdXAgZXh0ZW5kcyBHcm91cEJhc2U8T3B0aW9uPiA9IEdyb3VwQmFzZTxPcHRpb24+XG4+IGV4dGVuZHMgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWU8T3B0aW9uLCBJc011bHRpLCBHcm91cD4ge1xuICAvKiogVGhlIGNoaWxkcmVuIHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgaW5kaWNhdG9yLiAqL1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnY2xlYXJJbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvclNlcGFyYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpbm5lclByb3BzPzogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ107XG59XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0Rpc2FibGVkLFxuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgICBjb2xvcnMsXG4gICAgfSxcbiAgfTogSW5kaWNhdG9yU2VwYXJhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD4sXG4gIHVuc3R5bGVkOiBib29sZWFuXG4pOiBDU1NPYmplY3RXaXRoTGFiZWwgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgd2lkdGg6IDEsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICAgICAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgICAgIH0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBJbmRpY2F0b3JTZXBhcmF0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHByb3BzOiBJbmRpY2F0b3JTZXBhcmF0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgey4uLmdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgICAgICdpbmRpY2F0b3Itc2VwYXJhdG9yJzogdHJ1ZSxcbiAgICAgIH0pfVxuICAgIC8+XG4gICk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBsb2FkaW5nRG90QW5pbWF0aW9ucyA9IGtleWZyYW1lc2BcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMTsgfVxuYDtcblxuZXhwb3J0IGNvbnN0IGxvYWRpbmdJbmRpY2F0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgc2l6ZSxcbiAgICB0aGVtZToge1xuICAgICAgY29sb3JzLFxuICAgICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIH0sXG4gIH06IExvYWRpbmdJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG4gIGFsaWduU2VsZjogJ2NlbnRlcicsXG4gIGZvbnRTaXplOiBzaXplLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBtYXJnaW5SaWdodDogc2l6ZSxcbiAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgICAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gICAgICB9KSxcbn0pO1xuXG5pbnRlcmZhY2UgTG9hZGluZ0RvdFByb3BzIHtcbiAgZGVsYXk6IG51bWJlcjtcbiAgb2Zmc2V0OiBib29sZWFuO1xufVxuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogTG9hZGluZ0RvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiB1bmRlZmluZWQsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ0luZGljYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgc2l6ZTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IExvYWRpbmdJbmRpY2F0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oe1xuICBpbm5lclByb3BzLFxuICBpc1J0bCxcbiAgc2l6ZSA9IDQsXG4gIC4uLnJlc3RQcm9wc1xufTogTG9hZGluZ0luZGljYXRvclByb3BzPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgey4uLmdldFN0eWxlUHJvcHMoXG4gICAgICAgIHsgLi4ucmVzdFByb3BzLCBpbm5lclByb3BzLCBpc1J0bCwgc2l6ZSB9LFxuICAgICAgICAnbG9hZGluZ0luZGljYXRvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgICAgICAgJ2xvYWRpbmctaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0= */\")\n });\n};\nvar LoadingIndicator = function LoadingIndicator(_ref7) {\n var innerProps = _ref7.innerProps,\n isRtl = _ref7.isRtl,\n _ref7$size = _ref7.size,\n size = _ref7$size === void 0 ? 4 : _ref7$size,\n restProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_ref7, _excluded2);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, restProps), {}, {\n innerProps: innerProps,\n isRtl: isRtl,\n size: size\n }), 'loadingIndicator', {\n indicator: true,\n 'loading-indicator': true\n }), innerProps), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(LoadingDot, {\n delay: 160,\n offset: true\n }), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\n\nvar css$1 = function css(_ref, unstyled) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'control',\n alignItems: 'center',\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms'\n }, unstyled ? {} : {\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : undefined,\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n });\n};\nvar Control = function Control(props) {\n var children = props.children,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n ref: innerRef\n }, getStyleProps(props, 'control', {\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }), innerProps, {\n \"aria-disabled\": isDisabled || undefined\n }), children);\n};\nvar Control$1 = Control;\n\nvar _excluded$1 = [\"data\"];\nvar groupCSS = function groupCSS(_ref, unstyled) {\n var spacing = _ref.theme.spacing;\n return unstyled ? {} : {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\nvar Group = function Group(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n getClassNames = props.getClassNames,\n Heading = props.Heading,\n headingProps = props.headingProps,\n innerProps = props.innerProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'group', {\n group: true\n }), innerProps), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(Heading, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n getClassNames: getClassNames,\n cx: cx\n }), label), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", null, children));\n};\nvar groupHeadingCSS = function groupHeadingCSS(_ref2, unstyled) {\n var _ref2$theme = _ref2.theme,\n colors = _ref2$theme.colors,\n spacing = _ref2$theme.spacing;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'group',\n cursor: 'default',\n display: 'block'\n }, unstyled ? {} : {\n color: colors.neutral40,\n fontSize: '75%',\n fontWeight: 500,\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n });\n};\nvar GroupHeading = function GroupHeading(props) {\n var _cleanCommonProps = cleanCommonProps(props);\n _cleanCommonProps.data;\n var innerProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_cleanCommonProps, _excluded$1);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'groupHeading', {\n 'group-heading': true\n }), innerProps));\n};\nvar Group$1 = Group;\n\nvar _excluded = [\"innerRef\", \"isDisabled\", \"isHidden\", \"inputClassName\"];\nvar inputCSS = function inputCSS(_ref, unstyled) {\n var isDisabled = _ref.isDisabled,\n value = _ref.value,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n visibility: isDisabled ? 'hidden' : 'visible',\n // force css to recompute when value change due to @emotion bug.\n // We can remove it whenever the bug is fixed.\n transform: value ? 'translateZ(0)' : ''\n }, containerStyle), unstyled ? {} : {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n color: colors.neutral80\n });\n};\nvar spacingStyle = {\n gridArea: '1 / 2',\n font: 'inherit',\n minWidth: '2px',\n border: 0,\n margin: 0,\n outline: 0,\n padding: 0\n};\nvar containerStyle = {\n flex: '1 1 auto',\n display: 'inline-grid',\n gridArea: '1 / 1 / 2 / 3',\n gridTemplateColumns: '0 min-content',\n '&:after': (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n content: 'attr(data-value) \" \"',\n visibility: 'hidden',\n whiteSpace: 'pre'\n }, spacingStyle)\n};\nvar inputStyle = function inputStyle(isHidden) {\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'input',\n color: 'inherit',\n background: 0,\n opacity: isHidden ? 0 : 1,\n width: '100%'\n }, spacingStyle);\n};\nvar Input = function Input(props) {\n var cx = props.cx,\n value = props.value;\n var _cleanCommonProps = cleanCommonProps(props),\n innerRef = _cleanCommonProps.innerRef,\n isDisabled = _cleanCommonProps.isDisabled,\n isHidden = _cleanCommonProps.isHidden,\n inputClassName = _cleanCommonProps.inputClassName,\n innerProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_cleanCommonProps, _excluded);\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'input', {\n 'input-container': true\n }), {\n \"data-value\": value || ''\n }), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"input\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n className: cx({\n input: true\n }, inputClassName),\n ref: innerRef,\n style: inputStyle(isHidden),\n disabled: isDisabled\n }, innerProps)));\n};\nvar Input$1 = Input;\n\nvar multiValueCSS = function multiValueCSS(_ref, unstyled) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'multiValue',\n display: 'flex',\n minWidth: 0\n }, unstyled ? {} : {\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n margin: spacing.baseUnit / 2\n });\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2, unstyled) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n overflow: 'hidden',\n textOverflow: cropWithEllipsis || cropWithEllipsis === undefined ? 'ellipsis' : undefined,\n whiteSpace: 'nowrap'\n }, unstyled ? {} : {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n padding: 3,\n paddingLeft: 6\n });\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3, unstyled) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n alignItems: 'center',\n display: 'flex'\n }, unstyled ? {} : {\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused ? colors.dangerLight : undefined,\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n });\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n role: \"button\"\n }, innerProps), children || (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(CrossIcon, {\n size: 14\n }));\n}\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n components = props.components,\n data = props.data,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(Container, {\n data: data,\n innerProps: (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, getStyleProps(props, 'multiValue', {\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n })), innerProps),\n selectProps: selectProps\n }, (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(Label, {\n data: data,\n innerProps: (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, getStyleProps(props, 'multiValueLabel', {\n 'multi-value__label': true\n })),\n selectProps: selectProps\n }, children), (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(Remove, {\n data: data,\n innerProps: (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, getStyleProps(props, 'multiValueRemove', {\n 'multi-value__remove': true\n })), {}, {\n 'aria-label': \"Remove \".concat(children || 'option')\n }, removeProps),\n selectProps: selectProps\n }));\n};\nvar MultiValue$1 = MultiValue;\n\nvar optionCSS = function optionCSS(_ref, unstyled) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'option',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)'\n }, unstyled ? {} : {\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled ? isSelected ? colors.primary : colors.primary50 : undefined\n }\n });\n};\nvar Option = function Option(props) {\n var children = props.children,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'option', {\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }), {\n ref: innerRef,\n \"aria-disabled\": isDisabled\n }, innerProps), children);\n};\nvar Option$1 = Option;\n\nvar placeholderCSS = function placeholderCSS(_ref, unstyled) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'placeholder',\n gridArea: '1 / 1 / 2 / 3'\n }, unstyled ? {} : {\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2\n });\n};\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'placeholder', {\n placeholder: true\n }), innerProps), children);\n};\nvar Placeholder$1 = Placeholder;\n\nvar css = function css(_ref, unstyled) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n label: 'singleValue',\n gridArea: '1 / 1 / 2 / 3',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, unstyled ? {} : {\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2\n });\n};\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return (0,_emotion_react__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, getStyleProps(props, 'singleValue', {\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }), innerProps), children);\n};\nvar SingleValue$1 = SingleValue;\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control$1,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group$1,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input$1,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu$1,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue$1,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option$1,\n Placeholder: Placeholder$1,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue$1,\n ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, components), props.components);\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9pbmRleC02NDFlZTViOC5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFxRTtBQUNYO0FBQ0k7QUFDUTtBQUNvQjtBQUNsQztBQUM4QjtBQUNkO0FBQ2tCO0FBQ2pEO0FBQ0s7QUFDYTs7QUFFM0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDBCQUEwQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHLGFBQWE7QUFDL0c7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNLDZFQUFPO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsOEZBQXdCO0FBQzdDLFNBQVMsb0ZBQWEsR0FBRztBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRkFBK0Y7QUFDL0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLDhCQUE4QjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUdBQW1HLGVBQWU7QUFDbEg7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG9GQUFjO0FBQzlCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxnQkFBZ0Isb0ZBQWM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9GQUFhO0FBQ3RCO0FBQ0EsR0FBRyxFQUFFLHFGQUFlLHFEQUFxRCxxRkFBZSwwQ0FBMEMscUZBQWUsbUNB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QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9EQUFHLFFBQVEsOEVBQVEsR0FBRztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9GQUFhO0FBQ3RCO0FBQ0E7QUFDQSxHQUFHLGdCQUFnQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9EQUFHLFFBQVEsOEVBQVEsR0FBRztBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9GQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxvREFBRyxRQUFRLDhFQUFRLEdBQUc7QUFDL0I7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxvRkFBYSxDQUFDLG9GQUFhLEdBQUc7QUFDdkM7O0FBRWd6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2VsZWN0L2Rpc3QvaW5kZXgtNjQxZWU1YjguZXNtLmpzPzM5OGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMic7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcyc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcywgY3NzIGFzIGNzcyQyIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IF9zbGljZWRUb0FycmF5IGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NsaWNlZFRvQXJyYXknO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcyc7XG5pbXBvcnQgX3R5cGVvZiBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YnO1xuaW1wb3J0IF90YWdnZWRUZW1wbGF0ZUxpdGVyYWwgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdGFnZ2VkVGVtcGxhdGVMaXRlcmFsJztcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHknO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlTWVtbywgdXNlQ2FsbGJhY2ssIGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuaW1wb3J0IHVzZUxheW91dEVmZmVjdCBmcm9tICd1c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcblxudmFyIF9leGNsdWRlZCQ0ID0gW1wiY2xhc3NOYW1lXCIsIFwiY2xlYXJWYWx1ZVwiLCBcImN4XCIsIFwiZ2V0U3R5bGVzXCIsIFwiZ2V0Q2xhc3NOYW1lc1wiLCBcImdldFZhbHVlXCIsIFwiaGFzVmFsdWVcIiwgXCJpc011bHRpXCIsIFwiaXNSdGxcIiwgXCJvcHRpb25zXCIsIFwic2VsZWN0T3B0aW9uXCIsIFwic2VsZWN0UHJvcHNcIiwgXCJzZXRWYWx1ZVwiLCBcInRoZW1lXCJdO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOTyBPUFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBub29wID0gZnVuY3Rpb24gbm9vcCgpIHt9O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENsYXNzIE5hbWUgUHJlZml4ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgY29tcG9uZW50IHN0YXRlIGZvciBzdHlsaW5nIHdpdGggY2xhc3MgbmFtZXMuXG5cbiBFeHBlY3RzIGFuIGFycmF5IG9mIHN0cmluZ3MgT1IgYSBzdHJpbmcvb2JqZWN0IHBhaXI6XG4gLSBjbGFzc05hbWUoWydjb21wJywgJ2NvbXAtYXJnJywgJ2NvbXAtYXJnLTInXSlcbiAgIEByZXR1cm5zICdyZWFjdC1zZWxlY3RfX2NvbXAgcmVhY3Qtc2VsZWN0X19jb21wLWFyZyByZWFjdC1zZWxlY3RfX2NvbXAtYXJnLTInXG4gLSBjbGFzc05hbWUoJ2NvbXAnLCB7IHNvbWU6IHRydWUsIHN0YXRlOiBmYWxzZSB9KVxuICAgQHJldHVybnMgJ3JlYWN0LXNlbGVjdF9fY29tcCByZWFjdC1zZWxlY3RfX2NvbXAtLXNvbWUnXG4qL1xuZnVuY3Rpb24gYXBwbHlQcmVmaXhUb05hbWUocHJlZml4LCBuYW1lKSB7XG4gIGlmICghbmFtZSkge1xuICAgIHJldHVybiBwcmVmaXg7XG4gIH0gZWxzZSBpZiAobmFtZVswXSA9PT0gJy0nKSB7XG4gICAgcmV0dXJuIHByZWZpeCArIG5hbWU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHByZWZpeCArICdfXycgKyBuYW1lO1xuICB9XG59XG5mdW5jdGlvbiBjbGFzc05hbWVzKHByZWZpeCwgc3RhdGUpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGNsYXNzTmFtZUxpc3QgPSBuZXcgQXJyYXkoX2xlbiA+IDIgPyBfbGVuIC0gMiA6IDApLCBfa2V5ID0gMjsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGNsYXNzTmFtZUxpc3RbX2tleSAtIDJdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG4gIHZhciBhcnIgPSBbXS5jb25jYXQoY2xhc3NOYW1lTGlzdCk7XG4gIGlmIChzdGF0ZSAmJiBwcmVmaXgpIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gc3RhdGUpIHtcbiAgICAgIGlmIChzdGF0ZS5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHN0YXRlW2tleV0pIHtcbiAgICAgICAgYXJyLnB1c2goXCJcIi5jb25jYXQoYXBwbHlQcmVmaXhUb05hbWUocHJlZml4LCBrZXkpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBhcnIuZmlsdGVyKGZ1bmN0aW9uIChpKSB7XG4gICAgcmV0dXJuIGk7XG4gIH0pLm1hcChmdW5jdGlvbiAoaSkge1xuICAgIHJldHVybiBTdHJpbmcoaSkudHJpbSgpO1xuICB9KS5qb2luKCcgJyk7XG59XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENsZWFuIFZhbHVlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIGNsZWFuVmFsdWUgPSBmdW5jdGlvbiBjbGVhblZhbHVlKHZhbHVlKSB7XG4gIGlmIChpc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKF90eXBlb2YodmFsdWUpID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkgcmV0dXJuIFt2YWx1ZV07XG4gIHJldHVybiBbXTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2xlYW4gQ29tbW9uIFByb3BzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIGNsZWFuQ29tbW9uUHJvcHMgPSBmdW5jdGlvbiBjbGVhbkNvbW1vblByb3BzKHByb3BzKSB7XG4gIC8vY2xhc3NOYW1lXG4gIHByb3BzLmNsYXNzTmFtZTtcbiAgICBwcm9wcy5jbGVhclZhbHVlO1xuICAgIHByb3BzLmN4O1xuICAgIHByb3BzLmdldFN0eWxlcztcbiAgICBwcm9wcy5nZXRDbGFzc05hbWVzO1xuICAgIHByb3BzLmdldFZhbHVlO1xuICAgIHByb3BzLmhhc1ZhbHVlO1xuICAgIHByb3BzLmlzTXVsdGk7XG4gICAgcHJvcHMuaXNSdGw7XG4gICAgcHJvcHMub3B0aW9ucztcbiAgICBwcm9wcy5zZWxlY3RPcHRpb247XG4gICAgcHJvcHMuc2VsZWN0UHJvcHM7XG4gICAgcHJvcHMuc2V0VmFsdWU7XG4gICAgcHJvcHMudGhlbWU7XG4gICAgdmFyIGlubmVyUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIF9leGNsdWRlZCQ0KTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGlubmVyUHJvcHMpO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZXQgU3R5bGUgUHJvcHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgZ2V0U3R5bGVQcm9wcyA9IGZ1bmN0aW9uIGdldFN0eWxlUHJvcHMocHJvcHMsIG5hbWUsIGNsYXNzTmFtZXNTdGF0ZSkge1xuICB2YXIgY3ggPSBwcm9wcy5jeCxcbiAgICBnZXRTdHlsZXMgPSBwcm9wcy5nZXRTdHlsZXMsXG4gICAgZ2V0Q2xhc3NOYW1lcyA9IHByb3BzLmdldENsYXNzTmFtZXMsXG4gICAgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuICByZXR1cm4ge1xuICAgIGNzczogZ2V0U3R5bGVzKG5hbWUsIHByb3BzKSxcbiAgICBjbGFzc05hbWU6IGN4KGNsYXNzTmFtZXNTdGF0ZSAhPT0gbnVsbCAmJiBjbGFzc05hbWVzU3RhdGUgIT09IHZvaWQgMCA/IGNsYXNzTmFtZXNTdGF0ZSA6IHt9LCBnZXRDbGFzc05hbWVzKG5hbWUsIHByb3BzKSwgY2xhc3NOYW1lKVxuICB9O1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIYW5kbGUgSW5wdXQgQ2hhbmdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZnVuY3Rpb24gaGFuZGxlSW5wdXRDaGFuZ2UoaW5wdXRWYWx1ZSwgYWN0aW9uTWV0YSwgb25JbnB1dENoYW5nZSkge1xuICBpZiAob25JbnB1dENoYW5nZSkge1xuICAgIHZhciBfbmV3VmFsdWUgPSBvbklucHV0Q2hhbmdlKGlucHV0VmFsdWUsIGFjdGlvbk1ldGEpO1xuICAgIGlmICh0eXBlb2YgX25ld1ZhbHVlID09PSAnc3RyaW5nJykgcmV0dXJuIF9uZXdWYWx1ZTtcbiAgfVxuICByZXR1cm4gaW5wdXRWYWx1ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTY3JvbGwgSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZ1bmN0aW9uIGlzRG9jdW1lbnRFbGVtZW50KGVsKSB7XG4gIHJldHVybiBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBkb2N1bWVudC5ib2R5LCB3aW5kb3ddLmluZGV4T2YoZWwpID4gLTE7XG59XG5cbi8vIE5vcm1hbGl6ZWQgU2Nyb2xsIFRvcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZWRIZWlnaHQoZWwpIHtcbiAgaWYgKGlzRG9jdW1lbnRFbGVtZW50KGVsKSkge1xuICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gIH1cbiAgcmV0dXJuIGVsLmNsaWVudEhlaWdodDtcbn1cblxuLy8gTm9ybWFsaXplZCBzY3JvbGxUbyAmIHNjcm9sbFRvcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGdldFNjcm9sbFRvcChlbCkge1xuICBpZiAoaXNEb2N1bWVudEVsZW1lbnQoZWwpKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgfVxuICByZXR1cm4gZWwuc2Nyb2xsVG9wO1xufVxuZnVuY3Rpb24gc2Nyb2xsVG8oZWwsIHRvcCkge1xuICAvLyB3aXRoIGEgc2Nyb2xsIGRpc3RhbmNlLCB3ZSBwZXJmb3JtIHNjcm9sbCBvbiB0aGUgZWxlbWVudFxuICBpZiAoaXNEb2N1bWVudEVsZW1lbnQoZWwpKSB7XG4gICAgd2luZG93LnNjcm9sbFRvKDAsIHRvcCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGVsLnNjcm9sbFRvcCA9IHRvcDtcbn1cblxuLy8gR2V0IFNjcm9sbCBQYXJlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQoZWxlbWVudCkge1xuICB2YXIgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICB2YXIgZXhjbHVkZVN0YXRpY1BhcmVudCA9IHN0eWxlLnBvc2l0aW9uID09PSAnYWJzb2x1dGUnO1xuICB2YXIgb3ZlcmZsb3dSeCA9IC8oYXV0b3xzY3JvbGwpLztcbiAgaWYgKHN0eWxlLnBvc2l0aW9uID09PSAnZml4ZWQnKSByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICBmb3IgKHZhciBwYXJlbnQgPSBlbGVtZW50OyBwYXJlbnQgPSBwYXJlbnQucGFyZW50RWxlbWVudDspIHtcbiAgICBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUocGFyZW50KTtcbiAgICBpZiAoZXhjbHVkZVN0YXRpY1BhcmVudCAmJiBzdHlsZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAob3ZlcmZsb3dSeC50ZXN0KHN0eWxlLm92ZXJmbG93ICsgc3R5bGUub3ZlcmZsb3dZICsgc3R5bGUub3ZlcmZsb3dYKSkge1xuICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbn1cblxuLy8gQW5pbWF0ZWQgU2Nyb2xsIFRvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gIEBwYXJhbSB0OiB0aW1lIChlbGFwc2VkKVxuICBAcGFyYW0gYjogaW5pdGlhbCB2YWx1ZVxuICBAcGFyYW0gYzogYW1vdW50IG9mIGNoYW5nZVxuICBAcGFyYW0gZDogZHVyYXRpb25cbiovXG5mdW5jdGlvbiBlYXNlT3V0Q3ViaWModCwgYiwgYywgZCkge1xuICByZXR1cm4gYyAqICgodCA9IHQgLyBkIC0gMSkgKiB0ICogdCArIDEpICsgYjtcbn1cbmZ1bmN0aW9uIGFuaW1hdGVkU2Nyb2xsVG8oZWxlbWVudCwgdG8pIHtcbiAgdmFyIGR1cmF0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiAyMDA7XG4gIHZhciBjYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbm9vcDtcbiAgdmFyIHN0YXJ0ID0gZ2V0U2Nyb2xsVG9wKGVsZW1lbnQpO1xuICB2YXIgY2hhbmdlID0gdG8gLSBzdGFydDtcbiAgdmFyIGluY3JlbWVudCA9IDEwO1xuICB2YXIgY3VycmVudFRpbWUgPSAwO1xuICBmdW5jdGlvbiBhbmltYXRlU2Nyb2xsKCkge1xuICAgIGN1cnJlbnRUaW1lICs9IGluY3JlbWVudDtcbiAgICB2YXIgdmFsID0gZWFzZU91dEN1YmljKGN1cnJlbnRUaW1lLCBzdGFydCwgY2hhbmdlLCBkdXJhdGlvbik7XG4gICAgc2Nyb2xsVG8oZWxlbWVudCwgdmFsKTtcbiAgICBpZiAoY3VycmVudFRpbWUgPCBkdXJhdGlvbikge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlU2Nyb2xsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FsbGJhY2soZWxlbWVudCk7XG4gICAgfVxuICB9XG4gIGFuaW1hdGVTY3JvbGwoKTtcbn1cblxuLy8gU2Nyb2xsIEludG8gVmlld1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIHNjcm9sbEludG9WaWV3KG1lbnVFbCwgZm9jdXNlZEVsKSB7XG4gIHZhciBtZW51UmVjdCA9IG1lbnVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgdmFyIGZvY3VzZWRSZWN0ID0gZm9jdXNlZEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB2YXIgb3ZlclNjcm9sbCA9IGZvY3VzZWRFbC5vZmZzZXRIZWlnaHQgLyAzO1xuICBpZiAoZm9jdXNlZFJlY3QuYm90dG9tICsgb3ZlclNjcm9sbCA+IG1lbnVSZWN0LmJvdHRvbSkge1xuICAgIHNjcm9sbFRvKG1lbnVFbCwgTWF0aC5taW4oZm9jdXNlZEVsLm9mZnNldFRvcCArIGZvY3VzZWRFbC5jbGllbnRIZWlnaHQgLSBtZW51RWwub2Zmc2V0SGVpZ2h0ICsgb3ZlclNjcm9sbCwgbWVudUVsLnNjcm9sbEhlaWdodCkpO1xuICB9IGVsc2UgaWYgKGZvY3VzZWRSZWN0LnRvcCAtIG92ZXJTY3JvbGwgPCBtZW51UmVjdC50b3ApIHtcbiAgICBzY3JvbGxUbyhtZW51RWwsIE1hdGgubWF4KGZvY3VzZWRFbC5vZmZzZXRUb3AgLSBvdmVyU2Nyb2xsLCAwKSk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZXQgYm91bmRpbmcgY2xpZW50IG9iamVjdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGNhbm5vdCBnZXQga2V5cyB1c2luZyBhcnJheSBub3RhdGlvbiB3aXRoIERPTVJlY3RcbmZ1bmN0aW9uIGdldEJvdW5kaW5nQ2xpZW50T2JqKGVsZW1lbnQpIHtcbiAgdmFyIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4ge1xuICAgIGJvdHRvbTogcmVjdC5ib3R0b20sXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodCxcbiAgICBsZWZ0OiByZWN0LmxlZnQsXG4gICAgcmlnaHQ6IHJlY3QucmlnaHQsXG4gICAgdG9wOiByZWN0LnRvcCxcbiAgICB3aWR0aDogcmVjdC53aWR0aFxuICB9O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRvdWNoIENhcGFiaWxpdHkgRGV0ZWN0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5mdW5jdGlvbiBpc1RvdWNoQ2FwYWJsZSgpIHtcbiAgdHJ5IHtcbiAgICBkb2N1bWVudC5jcmVhdGVFdmVudCgnVG91Y2hFdmVudCcpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIERldmljZSBEZXRlY3RvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZ1bmN0aW9uIGlzTW9iaWxlRGV2aWNlKCkge1xuICB0cnkge1xuICAgIHJldHVybiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYXNzaXZlIEV2ZW50IERldGVjdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3JhZmdyYXBoL2RldGVjdC1pdC9ibG9iL21haW4vc3JjL2luZGV4LnRzI0wxOS1MMzZcbnZhciBwYXNzaXZlT3B0aW9uQWNjZXNzZWQgPSBmYWxzZTtcbnZhciBvcHRpb25zID0ge1xuICBnZXQgcGFzc2l2ZSgpIHtcbiAgICByZXR1cm4gcGFzc2l2ZU9wdGlvbkFjY2Vzc2VkID0gdHJ1ZTtcbiAgfVxufTtcbi8vIGNoZWNrIGZvciBTU1JcbnZhciB3ID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB7fTtcbmlmICh3LmFkZEV2ZW50TGlzdGVuZXIgJiYgdy5yZW1vdmVFdmVudExpc3RlbmVyKSB7XG4gIHcuYWRkRXZlbnRMaXN0ZW5lcigncCcsIG5vb3AsIG9wdGlvbnMpO1xuICB3LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3AnLCBub29wLCBmYWxzZSk7XG59XG52YXIgc3VwcG9ydHNQYXNzaXZlRXZlbnRzID0gcGFzc2l2ZU9wdGlvbkFjY2Vzc2VkO1xuZnVuY3Rpb24gbm90TnVsbGlzaChpdGVtKSB7XG4gIHJldHVybiBpdGVtICE9IG51bGw7XG59XG5mdW5jdGlvbiBpc0FycmF5KGFyZykge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShhcmcpO1xufVxuZnVuY3Rpb24gdmFsdWVUZXJuYXJ5KGlzTXVsdGksIG11bHRpVmFsdWUsIHNpbmdsZVZhbHVlKSB7XG4gIHJldHVybiBpc011bHRpID8gbXVsdGlWYWx1ZSA6IHNpbmdsZVZhbHVlO1xufVxuZnVuY3Rpb24gc2luZ2xlVmFsdWVBc1ZhbHVlKHNpbmdsZVZhbHVlKSB7XG4gIHJldHVybiBzaW5nbGVWYWx1ZTtcbn1cbmZ1bmN0aW9uIG11bHRpVmFsdWVBc1ZhbHVlKG11bHRpVmFsdWUpIHtcbiAgcmV0dXJuIG11bHRpVmFsdWU7XG59XG52YXIgcmVtb3ZlUHJvcHMgPSBmdW5jdGlvbiByZW1vdmVQcm9wcyhwcm9wc09iaikge1xuICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIHByb3BlcnRpZXMgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgIHByb3BlcnRpZXNbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gIH1cbiAgdmFyIHByb3BzTWFwID0gT2JqZWN0LmVudHJpZXMocHJvcHNPYmopLmZpbHRlcihmdW5jdGlvbiAoX3JlZikge1xuICAgIHZhciBfcmVmMiA9IF9zbGljZWRUb0FycmF5KF9yZWYsIDEpLFxuICAgICAga2V5ID0gX3JlZjJbMF07XG4gICAgcmV0dXJuICFwcm9wZXJ0aWVzLmluY2x1ZGVzKGtleSk7XG4gIH0pO1xuICByZXR1cm4gcHJvcHNNYXAucmVkdWNlKGZ1bmN0aW9uIChuZXdQcm9wcywgX3JlZjMpIHtcbiAgICB2YXIgX3JlZjQgPSBfc2xpY2VkVG9BcnJheShfcmVmMywgMiksXG4gICAgICBrZXkgPSBfcmVmNFswXSxcbiAgICAgIHZhbCA9IF9yZWY0WzFdO1xuICAgIG5ld1Byb3BzW2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIG5ld1Byb3BzO1xuICB9LCB7fSk7XG59O1xuXG52YXIgX2V4Y2x1ZGVkJDMgPSBbXCJjaGlsZHJlblwiLCBcImlubmVyUHJvcHNcIl0sXG4gIF9leGNsdWRlZDIkMSA9IFtcImNoaWxkcmVuXCIsIFwiaW5uZXJQcm9wc1wiXTtcbmZ1bmN0aW9uIGdldE1lbnVQbGFjZW1lbnQoX3JlZikge1xuICB2YXIgcHJlZmVycmVkTWF4SGVpZ2h0ID0gX3JlZi5tYXhIZWlnaHQsXG4gICAgbWVudUVsID0gX3JlZi5tZW51RWwsXG4gICAgbWluSGVpZ2h0ID0gX3JlZi5taW5IZWlnaHQsXG4gICAgcHJlZmVycmVkUGxhY2VtZW50ID0gX3JlZi5wbGFjZW1lbnQsXG4gICAgc2hvdWxkU2Nyb2xsID0gX3JlZi5zaG91bGRTY3JvbGwsXG4gICAgaXNGaXhlZFBvc2l0aW9uID0gX3JlZi5pc0ZpeGVkUG9zaXRpb24sXG4gICAgY29udHJvbEhlaWdodCA9IF9yZWYuY29udHJvbEhlaWdodDtcbiAgdmFyIHNjcm9sbFBhcmVudCA9IGdldFNjcm9sbFBhcmVudChtZW51RWwpO1xuICB2YXIgZGVmYXVsdFN0YXRlID0ge1xuICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgbWF4SGVpZ2h0OiBwcmVmZXJyZWRNYXhIZWlnaHRcbiAgfTtcblxuICAvLyBzb21ldGhpbmcgd2VudCB3cm9uZywgcmV0dXJuIGRlZmF1bHQgc3RhdGVcbiAgaWYgKCFtZW51RWwgfHwgIW1lbnVFbC5vZmZzZXRQYXJlbnQpIHJldHVybiBkZWZhdWx0U3RhdGU7XG5cbiAgLy8gd2UgY2FuJ3QgdHJ1c3QgYHNjcm9sbFBhcmVudC5zY3JvbGxIZWlnaHRgIC0tPiBpdCBtYXkgaW5jcmVhc2Ugd2hlblxuICAvLyB0aGUgbWVudSBpcyByZW5kZXJlZFxuICB2YXIgX3Njcm9sbFBhcmVudCRnZXRCb3VuID0gc2Nyb2xsUGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgIHNjcm9sbEhlaWdodCA9IF9zY3JvbGxQYXJlbnQkZ2V0Qm91bi5oZWlnaHQ7XG4gIHZhciBfbWVudUVsJGdldEJvdW5kaW5nQ2wgPSBtZW51RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgbWVudUJvdHRvbSA9IF9tZW51RWwkZ2V0Qm91bmRpbmdDbC5ib3R0b20sXG4gICAgbWVudUhlaWdodCA9IF9tZW51RWwkZ2V0Qm91bmRpbmdDbC5oZWlnaHQsXG4gICAgbWVudVRvcCA9IF9tZW51RWwkZ2V0Qm91bmRpbmdDbC50b3A7XG4gIHZhciBfbWVudUVsJG9mZnNldFBhcmVudCQgPSBtZW51RWwub2Zmc2V0UGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgIGNvbnRhaW5lclRvcCA9IF9tZW51RWwkb2Zmc2V0UGFyZW50JC50b3A7XG4gIHZhciB2aWV3SGVpZ2h0ID0gaXNGaXhlZFBvc2l0aW9uID8gd2luZG93LmlubmVySGVpZ2h0IDogbm9ybWFsaXplZEhlaWdodChzY3JvbGxQYXJlbnQpO1xuICB2YXIgc2Nyb2xsVG9wID0gZ2V0U2Nyb2xsVG9wKHNjcm9sbFBhcmVudCk7XG4gIHZhciBtYXJnaW5Cb3R0b20gPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKG1lbnVFbCkubWFyZ2luQm90dG9tLCAxMCk7XG4gIHZhciBtYXJnaW5Ub3AgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKG1lbnVFbCkubWFyZ2luVG9wLCAxMCk7XG4gIHZhciB2aWV3U3BhY2VBYm92ZSA9IGNvbnRhaW5lclRvcCAtIG1hcmdpblRvcDtcbiAgdmFyIHZpZXdTcGFjZUJlbG93ID0gdmlld0hlaWdodCAtIG1lbnVUb3A7XG4gIHZhciBzY3JvbGxTcGFjZUFib3ZlID0gdmlld1NwYWNlQWJvdmUgKyBzY3JvbGxUb3A7XG4gIHZhciBzY3JvbGxTcGFjZUJlbG93ID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gbWVudVRvcDtcbiAgdmFyIHNjcm9sbERvd24gPSBtZW51Qm90dG9tIC0gdmlld0hlaWdodCArIHNjcm9sbFRvcCArIG1hcmdpbkJvdHRvbTtcbiAgdmFyIHNjcm9sbFVwID0gc2Nyb2xsVG9wICsgbWVudVRvcCAtIG1hcmdpblRvcDtcbiAgdmFyIHNjcm9sbER1cmF0aW9uID0gMTYwO1xuICBzd2l0Y2ggKHByZWZlcnJlZFBsYWNlbWVudCkge1xuICAgIGNhc2UgJ2F1dG8nOlxuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAvLyAxOiB0aGUgbWVudSB3aWxsIGZpdCwgZG8gbm90aGluZ1xuICAgICAgaWYgKHZpZXdTcGFjZUJlbG93ID49IG1lbnVIZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIDI6IHRoZSBtZW51IHdpbGwgZml0LCBpZiBzY3JvbGxlZFxuICAgICAgaWYgKHNjcm9sbFNwYWNlQmVsb3cgPj0gbWVudUhlaWdodCAmJiAhaXNGaXhlZFBvc2l0aW9uKSB7XG4gICAgICAgIGlmIChzaG91bGRTY3JvbGwpIHtcbiAgICAgICAgICBhbmltYXRlZFNjcm9sbFRvKHNjcm9sbFBhcmVudCwgc2Nyb2xsRG93biwgc2Nyb2xsRHVyYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyAzOiB0aGUgbWVudSB3aWxsIGZpdCwgaWYgY29uc3RyYWluZWRcbiAgICAgIGlmICghaXNGaXhlZFBvc2l0aW9uICYmIHNjcm9sbFNwYWNlQmVsb3cgPj0gbWluSGVpZ2h0IHx8IGlzRml4ZWRQb3NpdGlvbiAmJiB2aWV3U3BhY2VCZWxvdyA+PSBtaW5IZWlnaHQpIHtcbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIGFuaW1hdGVkU2Nyb2xsVG8oc2Nyb2xsUGFyZW50LCBzY3JvbGxEb3duLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3ZSB3YW50IHRvIHByb3ZpZGUgYXMgbXVjaCBvZiB0aGUgbWVudSBhcyBwb3NzaWJsZSB0byB0aGUgdXNlcixcbiAgICAgICAgLy8gc28gZ2l2ZSB0aGVtIHdoYXRldmVyIGlzIGF2YWlsYWJsZSBiZWxvdyByYXRoZXIgdGhhbiB0aGUgbWluSGVpZ2h0LlxuICAgICAgICB2YXIgY29uc3RyYWluZWRIZWlnaHQgPSBpc0ZpeGVkUG9zaXRpb24gPyB2aWV3U3BhY2VCZWxvdyAtIG1hcmdpbkJvdHRvbSA6IHNjcm9sbFNwYWNlQmVsb3cgLSBtYXJnaW5Cb3R0b207XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IGNvbnN0cmFpbmVkSGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIDQuIEZvcmtlZCBiZXZpb3VyIHdoZW4gdGhlcmUgaXNuJ3QgZW5vdWdoIHNwYWNlIGJlbG93XG5cbiAgICAgIC8vIEFVVE86IGZsaXAgdGhlIG1lbnUsIHJlbmRlciBhYm92ZVxuICAgICAgaWYgKHByZWZlcnJlZFBsYWNlbWVudCA9PT0gJ2F1dG8nIHx8IGlzRml4ZWRQb3NpdGlvbikge1xuICAgICAgICAvLyBtYXkgbmVlZCB0byBiZSBjb25zdHJhaW5lZCBhZnRlciBmbGlwcGluZ1xuICAgICAgICB2YXIgX2NvbnN0cmFpbmVkSGVpZ2h0ID0gcHJlZmVycmVkTWF4SGVpZ2h0O1xuICAgICAgICB2YXIgc3BhY2VBYm92ZSA9IGlzRml4ZWRQb3NpdGlvbiA/IHZpZXdTcGFjZUFib3ZlIDogc2Nyb2xsU3BhY2VBYm92ZTtcbiAgICAgICAgaWYgKHNwYWNlQWJvdmUgPj0gbWluSGVpZ2h0KSB7XG4gICAgICAgICAgX2NvbnN0cmFpbmVkSGVpZ2h0ID0gTWF0aC5taW4oc3BhY2VBYm92ZSAtIG1hcmdpbkJvdHRvbSAtIGNvbnRyb2xIZWlnaHQsIHByZWZlcnJlZE1heEhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgICAgIG1heEhlaWdodDogX2NvbnN0cmFpbmVkSGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIEJPVFRPTTogYWxsb3cgYnJvd3NlciB0byBpbmNyZWFzZSBzY3JvbGxhYmxlIGFyZWEgYW5kIGltbWVkaWF0ZWx5IHNldCBzY3JvbGxcbiAgICAgIGlmIChwcmVmZXJyZWRQbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICAgIGlmIChzaG91bGRTY3JvbGwpIHtcbiAgICAgICAgICBzY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbERvd24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndG9wJzpcbiAgICAgIC8vIDE6IHRoZSBtZW51IHdpbGwgZml0LCBkbyBub3RoaW5nXG4gICAgICBpZiAodmlld1NwYWNlQWJvdmUgPj0gbWVudUhlaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBwcmVmZXJyZWRNYXhIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gMjogdGhlIG1lbnUgd2lsbCBmaXQsIGlmIHNjcm9sbGVkXG4gICAgICBpZiAoc2Nyb2xsU3BhY2VBYm92ZSA+PSBtZW51SGVpZ2h0ICYmICFpc0ZpeGVkUG9zaXRpb24pIHtcbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIGFuaW1hdGVkU2Nyb2xsVG8oc2Nyb2xsUGFyZW50LCBzY3JvbGxVcCwgc2Nyb2xsRHVyYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyAzOiB0aGUgbWVudSB3aWxsIGZpdCwgaWYgY29uc3RyYWluZWRcbiAgICAgIGlmICghaXNGaXhlZFBvc2l0aW9uICYmIHNjcm9sbFNwYWNlQWJvdmUgPj0gbWluSGVpZ2h0IHx8IGlzRml4ZWRQb3NpdGlvbiAmJiB2aWV3U3BhY2VBYm92ZSA+PSBtaW5IZWlnaHQpIHtcbiAgICAgICAgdmFyIF9jb25zdHJhaW5lZEhlaWdodDIgPSBwcmVmZXJyZWRNYXhIZWlnaHQ7XG5cbiAgICAgICAgLy8gd2Ugd2FudCB0byBwcm92aWRlIGFzIG11Y2ggb2YgdGhlIG1lbnUgYXMgcG9zc2libGUgdG8gdGhlIHVzZXIsXG4gICAgICAgIC8vIHNvIGdpdmUgdGhlbSB3aGF0ZXZlciBpcyBhdmFpbGFibGUgYmVsb3cgcmF0aGVyIHRoYW4gdGhlIG1pbkhlaWdodC5cbiAgICAgICAgaWYgKCFpc0ZpeGVkUG9zaXRpb24gJiYgc2Nyb2xsU3BhY2VBYm92ZSA+PSBtaW5IZWlnaHQgfHwgaXNGaXhlZFBvc2l0aW9uICYmIHZpZXdTcGFjZUFib3ZlID49IG1pbkhlaWdodCkge1xuICAgICAgICAgIF9jb25zdHJhaW5lZEhlaWdodDIgPSBpc0ZpeGVkUG9zaXRpb24gPyB2aWV3U3BhY2VBYm92ZSAtIG1hcmdpblRvcCA6IHNjcm9sbFNwYWNlQWJvdmUgLSBtYXJnaW5Ub3A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIGFuaW1hdGVkU2Nyb2xsVG8oc2Nyb2xsUGFyZW50LCBzY3JvbGxVcCwgc2Nyb2xsRHVyYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IF9jb25zdHJhaW5lZEhlaWdodDJcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gNC4gbm90IGVub3VnaCBzcGFjZSwgdGhlIGJyb3dzZXIgV0lMTCBOT1QgaW5jcmVhc2Ugc2Nyb2xsYWJsZSBhcmVhIHdoZW5cbiAgICAgIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVtZW50IHJlbmRlcmVkIGFib3ZlIHRoZSB2aWV3cG9ydCAob25seSBiZWxvdykuXG4gICAgICAvLyBGbGlwIHRoZSBtZW51LCByZW5kZXIgYmVsb3dcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHBsYWNlbWVudCBwcm92aWRlZCBcXFwiXCIuY29uY2F0KHByZWZlcnJlZFBsYWNlbWVudCwgXCJcXFwiLlwiKSk7XG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRTdGF0ZTtcbn1cblxuLy8gTWVudSBDb21wb25lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBhbGlnblRvQ29udHJvbChwbGFjZW1lbnQpIHtcbiAgdmFyIHBsYWNlbWVudFRvQ1NTUHJvcCA9IHtcbiAgICBib3R0b206ICd0b3AnLFxuICAgIHRvcDogJ2JvdHRvbSdcbiAgfTtcbiAgcmV0dXJuIHBsYWNlbWVudCA/IHBsYWNlbWVudFRvQ1NTUHJvcFtwbGFjZW1lbnRdIDogJ2JvdHRvbSc7XG59XG52YXIgY29lcmNlUGxhY2VtZW50ID0gZnVuY3Rpb24gY29lcmNlUGxhY2VtZW50KHApIHtcbiAgcmV0dXJuIHAgPT09ICdhdXRvJyA/ICdib3R0b20nIDogcDtcbn07XG52YXIgbWVudUNTUyA9IGZ1bmN0aW9uIG1lbnVDU1MoX3JlZjIsIHVuc3R5bGVkKSB7XG4gIHZhciBfb2JqZWN0U3ByZWFkMjtcbiAgdmFyIHBsYWNlbWVudCA9IF9yZWYyLnBsYWNlbWVudCxcbiAgICBfcmVmMiR0aGVtZSA9IF9yZWYyLnRoZW1lLFxuICAgIGJvcmRlclJhZGl1cyA9IF9yZWYyJHRoZW1lLmJvcmRlclJhZGl1cyxcbiAgICBzcGFjaW5nID0gX3JlZjIkdGhlbWUuc3BhY2luZyxcbiAgICBjb2xvcnMgPSBfcmVmMiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKChfb2JqZWN0U3ByZWFkMiA9IHtcbiAgICBsYWJlbDogJ21lbnUnXG4gIH0sIF9kZWZpbmVQcm9wZXJ0eShfb2JqZWN0U3ByZWFkMiwgYWxpZ25Ub0NvbnRyb2wocGxhY2VtZW50KSwgJzEwMCUnKSwgX2RlZmluZVByb3BlcnR5KF9vYmplY3RTcHJlYWQyLCBcInBvc2l0aW9uXCIsICdhYnNvbHV0ZScpLCBfZGVmaW5lUHJvcGVydHkoX29iamVjdFNwcmVhZDIsIFwid2lkdGhcIiwgJzEwMCUnKSwgX2RlZmluZVByb3BlcnR5KF9vYmplY3RTcHJlYWQyLCBcInpJbmRleFwiLCAxKSwgX29iamVjdFNwcmVhZDIpLCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLm5ldXRyYWwwLFxuICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgIGJveFNoYWRvdzogJzAgMCAwIDFweCBoc2xhKDAsIDAlLCAwJSwgMC4xKSwgMCA0cHggMTFweCBoc2xhKDAsIDAlLCAwJSwgMC4xKScsXG4gICAgbWFyZ2luQm90dG9tOiBzcGFjaW5nLm1lbnVHdXR0ZXIsXG4gICAgbWFyZ2luVG9wOiBzcGFjaW5nLm1lbnVHdXR0ZXJcbiAgfSk7XG59O1xudmFyIFBvcnRhbFBsYWNlbWVudENvbnRleHQgPSAvKiNfX1BVUkVfXyovY3JlYXRlQ29udGV4dChudWxsKTtcblxuLy8gTk9URTogaW50ZXJuYWwgb25seVxudmFyIE1lbnVQbGFjZXIgPSBmdW5jdGlvbiBNZW51UGxhY2VyKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIG1pbk1lbnVIZWlnaHQgPSBwcm9wcy5taW5NZW51SGVpZ2h0LFxuICAgIG1heE1lbnVIZWlnaHQgPSBwcm9wcy5tYXhNZW51SGVpZ2h0LFxuICAgIG1lbnVQbGFjZW1lbnQgPSBwcm9wcy5tZW51UGxhY2VtZW50LFxuICAgIG1lbnVQb3NpdGlvbiA9IHByb3BzLm1lbnVQb3NpdGlvbixcbiAgICBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcgPSBwcm9wcy5tZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcsXG4gICAgdGhlbWUgPSBwcm9wcy50aGVtZTtcbiAgdmFyIF9yZWYzID0gdXNlQ29udGV4dChQb3J0YWxQbGFjZW1lbnRDb250ZXh0KSB8fCB7fSxcbiAgICBzZXRQb3J0YWxQbGFjZW1lbnQgPSBfcmVmMy5zZXRQb3J0YWxQbGFjZW1lbnQ7XG4gIHZhciByZWYgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBfdXNlU3RhdGUgPSB1c2VTdGF0ZShtYXhNZW51SGVpZ2h0KSxcbiAgICBfdXNlU3RhdGUyID0gX3NsaWNlZFRvQXJyYXkoX3VzZVN0YXRlLCAyKSxcbiAgICBtYXhIZWlnaHQgPSBfdXNlU3RhdGUyWzBdLFxuICAgIHNldE1heEhlaWdodCA9IF91c2VTdGF0ZTJbMV07XG4gIHZhciBfdXNlU3RhdGUzID0gdXNlU3RhdGUobnVsbCksXG4gICAgX3VzZVN0YXRlNCA9IF9zbGljZWRUb0FycmF5KF91c2VTdGF0ZTMsIDIpLFxuICAgIHBsYWNlbWVudCA9IF91c2VTdGF0ZTRbMF0sXG4gICAgc2V0UGxhY2VtZW50ID0gX3VzZVN0YXRlNFsxXTtcbiAgdmFyIGNvbnRyb2xIZWlnaHQgPSB0aGVtZS5zcGFjaW5nLmNvbnRyb2xIZWlnaHQ7XG4gIHVzZUxheW91dEVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG1lbnVFbCA9IHJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUVsKSByZXR1cm47XG5cbiAgICAvLyBETyBOT1Qgc2Nyb2xsIGlmIHBvc2l0aW9uIGlzIGZpeGVkXG4gICAgdmFyIGlzRml4ZWRQb3NpdGlvbiA9IG1lbnVQb3NpdGlvbiA9PT0gJ2ZpeGVkJztcbiAgICB2YXIgc2hvdWxkU2Nyb2xsID0gbWVudVNob3VsZFNjcm9sbEludG9WaWV3ICYmICFpc0ZpeGVkUG9zaXRpb247XG4gICAgdmFyIHN0YXRlID0gZ2V0TWVudVBsYWNlbWVudCh7XG4gICAgICBtYXhIZWlnaHQ6IG1heE1lbnVIZWlnaHQsXG4gICAgICBtZW51RWw6IG1lbnVFbCxcbiAgICAgIG1pbkhlaWdodDogbWluTWVudUhlaWdodCxcbiAgICAgIHBsYWNlbWVudDogbWVudVBsYWNlbWVudCxcbiAgICAgIHNob3VsZFNjcm9sbDogc2hvdWxkU2Nyb2xsLFxuICAgICAgaXNGaXhlZFBvc2l0aW9uOiBpc0ZpeGVkUG9zaXRpb24sXG4gICAgICBjb250cm9sSGVpZ2h0OiBjb250cm9sSGVpZ2h0XG4gICAgfSk7XG4gICAgc2V0TWF4SGVpZ2h0KHN0YXRlLm1heEhlaWdodCk7XG4gICAgc2V0UGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gICAgc2V0UG9ydGFsUGxhY2VtZW50ID09PSBudWxsIHx8IHNldFBvcnRhbFBsYWNlbWVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2V0UG9ydGFsUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gIH0sIFttYXhNZW51SGVpZ2h0LCBtZW51UGxhY2VtZW50LCBtZW51UG9zaXRpb24sIG1lbnVTaG91bGRTY3JvbGxJbnRvVmlldywgbWluTWVudUhlaWdodCwgc2V0UG9ydGFsUGxhY2VtZW50LCBjb250cm9sSGVpZ2h0XSk7XG4gIHJldHVybiBjaGlsZHJlbih7XG4gICAgcmVmOiByZWYsXG4gICAgcGxhY2VyUHJvcHM6IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcHJvcHMpLCB7fSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQgfHwgY29lcmNlUGxhY2VtZW50KG1lbnVQbGFjZW1lbnQpLFxuICAgICAgbWF4SGVpZ2h0OiBtYXhIZWlnaHRcbiAgICB9KVxuICB9KTtcbn07XG52YXIgTWVudSA9IGZ1bmN0aW9uIE1lbnUocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJSZWYgPSBwcm9wcy5pbm5lclJlZixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ21lbnUnLCB7XG4gICAgbWVudTogdHJ1ZVxuICB9KSwge1xuICAgIHJlZjogaW5uZXJSZWZcbiAgfSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG52YXIgTWVudSQxID0gTWVudTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW51IExpc3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbWVudUxpc3RDU1MgPSBmdW5jdGlvbiBtZW51TGlzdENTUyhfcmVmNCwgdW5zdHlsZWQpIHtcbiAgdmFyIG1heEhlaWdodCA9IF9yZWY0Lm1heEhlaWdodCxcbiAgICBiYXNlVW5pdCA9IF9yZWY0LnRoZW1lLnNwYWNpbmcuYmFzZVVuaXQ7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBtYXhIZWlnaHQ6IG1heEhlaWdodCxcbiAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAvLyByZXF1aXJlZCBmb3Igb2Zmc2V0W0hlaWdodCwgVG9wXSA+IGtleWJvYXJkIHNjcm9sbFxuICAgIFdlYmtpdE92ZXJmbG93U2Nyb2xsaW5nOiAndG91Y2gnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgcGFkZGluZ0JvdHRvbTogYmFzZVVuaXQsXG4gICAgcGFkZGluZ1RvcDogYmFzZVVuaXRcbiAgfSk7XG59O1xudmFyIE1lbnVMaXN0ID0gZnVuY3Rpb24gTWVudUxpc3QocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHMsXG4gICAgaW5uZXJSZWYgPSBwcm9wcy5pbm5lclJlZixcbiAgICBpc011bHRpID0gcHJvcHMuaXNNdWx0aTtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ21lbnVMaXN0Jywge1xuICAgICdtZW51LWxpc3QnOiB0cnVlLFxuICAgICdtZW51LWxpc3QtLWlzLW11bHRpJzogaXNNdWx0aVxuICB9KSwge1xuICAgIHJlZjogaW5uZXJSZWZcbiAgfSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVudSBOb3RpY2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIG5vdGljZUNTUyA9IGZ1bmN0aW9uIG5vdGljZUNTUyhfcmVmNSwgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWY1JHRoZW1lID0gX3JlZjUudGhlbWUsXG4gICAgYmFzZVVuaXQgPSBfcmVmNSR0aGVtZS5zcGFjaW5nLmJhc2VVbml0LFxuICAgIGNvbG9ycyA9IF9yZWY1JHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIHRleHRBbGlnbjogJ2NlbnRlcidcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBjb2xvcjogY29sb3JzLm5ldXRyYWw0MCxcbiAgICBwYWRkaW5nOiBcIlwiLmNvbmNhdChiYXNlVW5pdCAqIDIsIFwicHggXCIpLmNvbmNhdChiYXNlVW5pdCAqIDMsIFwicHhcIilcbiAgfSk7XG59O1xudmFyIG5vT3B0aW9uc01lc3NhZ2VDU1MgPSBub3RpY2VDU1M7XG52YXIgbG9hZGluZ01lc3NhZ2VDU1MgPSBub3RpY2VDU1M7XG52YXIgTm9PcHRpb25zTWVzc2FnZSA9IGZ1bmN0aW9uIE5vT3B0aW9uc01lc3NhZ2UoX3JlZjYpIHtcbiAgdmFyIF9yZWY2JGNoaWxkcmVuID0gX3JlZjYuY2hpbGRyZW4sXG4gICAgY2hpbGRyZW4gPSBfcmVmNiRjaGlsZHJlbiA9PT0gdm9pZCAwID8gJ05vIG9wdGlvbnMnIDogX3JlZjYkY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IF9yZWY2LmlubmVyUHJvcHMsXG4gICAgcmVzdFByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWY2LCBfZXhjbHVkZWQkMyk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCByZXN0UHJvcHMpLCB7fSwge1xuICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICBpbm5lclByb3BzOiBpbm5lclByb3BzXG4gIH0pLCAnbm9PcHRpb25zTWVzc2FnZScsIHtcbiAgICAnbWVudS1ub3RpY2UnOiB0cnVlLFxuICAgICdtZW51LW5vdGljZS0tbm8tb3B0aW9ucyc6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xudmFyIExvYWRpbmdNZXNzYWdlID0gZnVuY3Rpb24gTG9hZGluZ01lc3NhZ2UoX3JlZjcpIHtcbiAgdmFyIF9yZWY3JGNoaWxkcmVuID0gX3JlZjcuY2hpbGRyZW4sXG4gICAgY2hpbGRyZW4gPSBfcmVmNyRjaGlsZHJlbiA9PT0gdm9pZCAwID8gJ0xvYWRpbmcuLi4nIDogX3JlZjckY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IF9yZWY3LmlubmVyUHJvcHMsXG4gICAgcmVzdFByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWY3LCBfZXhjbHVkZWQyJDEpO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcmVzdFByb3BzKSwge30sIHtcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wczogaW5uZXJQcm9wc1xuICB9KSwgJ2xvYWRpbmdNZXNzYWdlJywge1xuICAgICdtZW51LW5vdGljZSc6IHRydWUsXG4gICAgJ21lbnUtbm90aWNlLS1sb2FkaW5nJzogdHJ1ZVxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVudSBQb3J0YWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbWVudVBvcnRhbENTUyA9IGZ1bmN0aW9uIG1lbnVQb3J0YWxDU1MoX3JlZjgpIHtcbiAgdmFyIHJlY3QgPSBfcmVmOC5yZWN0LFxuICAgIG9mZnNldCA9IF9yZWY4Lm9mZnNldCxcbiAgICBwb3NpdGlvbiA9IF9yZWY4LnBvc2l0aW9uO1xuICByZXR1cm4ge1xuICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICBwb3NpdGlvbjogcG9zaXRpb24sXG4gICAgdG9wOiBvZmZzZXQsXG4gICAgd2lkdGg6IHJlY3Qud2lkdGgsXG4gICAgekluZGV4OiAxXG4gIH07XG59O1xudmFyIE1lbnVQb3J0YWwgPSBmdW5jdGlvbiBNZW51UG9ydGFsKHByb3BzKSB7XG4gIHZhciBhcHBlbmRUbyA9IHByb3BzLmFwcGVuZFRvLFxuICAgIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgY29udHJvbEVsZW1lbnQgPSBwcm9wcy5jb250cm9sRWxlbWVudCxcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBtZW51UGxhY2VtZW50ID0gcHJvcHMubWVudVBsYWNlbWVudCxcbiAgICBtZW51UG9zaXRpb24gPSBwcm9wcy5tZW51UG9zaXRpb247XG4gIHZhciBtZW51UG9ydGFsUmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgY2xlYW51cFJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIF91c2VTdGF0ZTUgPSB1c2VTdGF0ZShjb2VyY2VQbGFjZW1lbnQobWVudVBsYWNlbWVudCkpLFxuICAgIF91c2VTdGF0ZTYgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGU1LCAyKSxcbiAgICBwbGFjZW1lbnQgPSBfdXNlU3RhdGU2WzBdLFxuICAgIHNldFBvcnRhbFBsYWNlbWVudCA9IF91c2VTdGF0ZTZbMV07XG4gIHZhciBwb3J0YWxQbGFjZW1lbnRDb250ZXh0ID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldFBvcnRhbFBsYWNlbWVudDogc2V0UG9ydGFsUGxhY2VtZW50XG4gICAgfTtcbiAgfSwgW10pO1xuICB2YXIgX3VzZVN0YXRlNyA9IHVzZVN0YXRlKG51bGwpLFxuICAgIF91c2VTdGF0ZTggPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGU3LCAyKSxcbiAgICBjb21wdXRlZFBvc2l0aW9uID0gX3VzZVN0YXRlOFswXSxcbiAgICBzZXRDb21wdXRlZFBvc2l0aW9uID0gX3VzZVN0YXRlOFsxXTtcbiAgdmFyIHVwZGF0ZUNvbXB1dGVkUG9zaXRpb24gPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFjb250cm9sRWxlbWVudCkgcmV0dXJuO1xuICAgIHZhciByZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRPYmooY29udHJvbEVsZW1lbnQpO1xuICAgIHZhciBzY3JvbGxEaXN0YW5jZSA9IG1lbnVQb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgdmFyIG9mZnNldCA9IHJlY3RbcGxhY2VtZW50XSArIHNjcm9sbERpc3RhbmNlO1xuICAgIGlmIChvZmZzZXQgIT09IChjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ub2Zmc2V0KSB8fCByZWN0LmxlZnQgIT09IChjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC5sZWZ0KSB8fCByZWN0LndpZHRoICE9PSAoY29tcHV0ZWRQb3NpdGlvbiA9PT0gbnVsbCB8fCBjb21wdXRlZFBvc2l0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb21wdXRlZFBvc2l0aW9uLnJlY3Qud2lkdGgpKSB7XG4gICAgICBzZXRDb21wdXRlZFBvc2l0aW9uKHtcbiAgICAgICAgb2Zmc2V0OiBvZmZzZXQsXG4gICAgICAgIHJlY3Q6IHJlY3RcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2NvbnRyb2xFbGVtZW50LCBtZW51UG9zaXRpb24sIHBsYWNlbWVudCwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gbnVsbCB8fCBjb21wdXRlZFBvc2l0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb21wdXRlZFBvc2l0aW9uLm9mZnNldCwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gbnVsbCB8fCBjb21wdXRlZFBvc2l0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb21wdXRlZFBvc2l0aW9uLnJlY3QubGVmdCwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gbnVsbCB8fCBjb21wdXRlZFBvc2l0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb21wdXRlZFBvc2l0aW9uLnJlY3Qud2lkdGhdKTtcbiAgdXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICB1cGRhdGVDb21wdXRlZFBvc2l0aW9uKCk7XG4gIH0sIFt1cGRhdGVDb21wdXRlZFBvc2l0aW9uXSk7XG4gIHZhciBydW5BdXRvVXBkYXRlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIGlmICh0eXBlb2YgY2xlYW51cFJlZi5jdXJyZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjbGVhbnVwUmVmLmN1cnJlbnQoKTtcbiAgICAgIGNsZWFudXBSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICAgIGlmIChjb250cm9sRWxlbWVudCAmJiBtZW51UG9ydGFsUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNsZWFudXBSZWYuY3VycmVudCA9IGF1dG9VcGRhdGUoY29udHJvbEVsZW1lbnQsIG1lbnVQb3J0YWxSZWYuY3VycmVudCwgdXBkYXRlQ29tcHV0ZWRQb3NpdGlvbiwge1xuICAgICAgICBlbGVtZW50UmVzaXplOiAnUmVzaXplT2JzZXJ2ZXInIGluIHdpbmRvd1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBbY29udHJvbEVsZW1lbnQsIHVwZGF0ZUNvbXB1dGVkUG9zaXRpb25dKTtcbiAgdXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBydW5BdXRvVXBkYXRlKCk7XG4gIH0sIFtydW5BdXRvVXBkYXRlXSk7XG4gIHZhciBzZXRNZW51UG9ydGFsRWxlbWVudCA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uIChtZW51UG9ydGFsRWxlbWVudCkge1xuICAgIG1lbnVQb3J0YWxSZWYuY3VycmVudCA9IG1lbnVQb3J0YWxFbGVtZW50O1xuICAgIHJ1bkF1dG9VcGRhdGUoKTtcbiAgfSwgW3J1bkF1dG9VcGRhdGVdKTtcblxuICAvLyBiYWlsIGVhcmx5IGlmIHJlcXVpcmVkIGVsZW1lbnRzIGFyZW4ndCBwcmVzZW50XG4gIGlmICghYXBwZW5kVG8gJiYgbWVudVBvc2l0aW9uICE9PSAnZml4ZWQnIHx8ICFjb21wdXRlZFBvc2l0aW9uKSByZXR1cm4gbnVsbDtcblxuICAvLyBzYW1lIHdyYXBwZXIgZWxlbWVudCB3aGV0aGVyIGZpeGVkIG9yIHBvcnRhbGxlZFxuICB2YXIgbWVudVdyYXBwZXIgPSBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJlZjogc2V0TWVudVBvcnRhbEVsZW1lbnRcbiAgfSwgZ2V0U3R5bGVQcm9wcyhfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHByb3BzKSwge30sIHtcbiAgICBvZmZzZXQ6IGNvbXB1dGVkUG9zaXRpb24ub2Zmc2V0LFxuICAgIHBvc2l0aW9uOiBtZW51UG9zaXRpb24sXG4gICAgcmVjdDogY29tcHV0ZWRQb3NpdGlvbi5yZWN0XG4gIH0pLCAnbWVudVBvcnRhbCcsIHtcbiAgICAnbWVudS1wb3J0YWwnOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xuICByZXR1cm4ganN4KFBvcnRhbFBsYWNlbWVudENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogcG9ydGFsUGxhY2VtZW50Q29udGV4dFxuICB9LCBhcHBlbmRUbyA/IC8qI19fUFVSRV9fKi9jcmVhdGVQb3J0YWwobWVudVdyYXBwZXIsIGFwcGVuZFRvKSA6IG1lbnVXcmFwcGVyKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm9vdCBDb250YWluZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgY29udGFpbmVyQ1NTID0gZnVuY3Rpb24gY29udGFpbmVyQ1NTKF9yZWYpIHtcbiAgdmFyIGlzRGlzYWJsZWQgPSBfcmVmLmlzRGlzYWJsZWQsXG4gICAgaXNSdGwgPSBfcmVmLmlzUnRsO1xuICByZXR1cm4ge1xuICAgIGxhYmVsOiAnY29udGFpbmVyJyxcbiAgICBkaXJlY3Rpb246IGlzUnRsID8gJ3J0bCcgOiB1bmRlZmluZWQsXG4gICAgcG9pbnRlckV2ZW50czogaXNEaXNhYmxlZCA/ICdub25lJyA6IHVuZGVmaW5lZCxcbiAgICAvLyBjYW5jZWwgbW91c2UgZXZlbnRzIHdoZW4gZGlzYWJsZWRcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xuICB9O1xufTtcbnZhciBTZWxlY3RDb250YWluZXIgPSBmdW5jdGlvbiBTZWxlY3RDb250YWluZXIocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHMsXG4gICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsXG4gICAgaXNSdGwgPSBwcm9wcy5pc1J0bDtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ2NvbnRhaW5lcicsIHtcbiAgICAnLS1pcy1kaXNhYmxlZCc6IGlzRGlzYWJsZWQsXG4gICAgJy0taXMtcnRsJzogaXNSdGxcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZhbHVlIENvbnRhaW5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciB2YWx1ZUNvbnRhaW5lckNTUyA9IGZ1bmN0aW9uIHZhbHVlQ29udGFpbmVyQ1NTKF9yZWYyLCB1bnN0eWxlZCkge1xuICB2YXIgc3BhY2luZyA9IF9yZWYyLnRoZW1lLnNwYWNpbmcsXG4gICAgaXNNdWx0aSA9IF9yZWYyLmlzTXVsdGksXG4gICAgaGFzVmFsdWUgPSBfcmVmMi5oYXNWYWx1ZSxcbiAgICBjb250cm9sU2hvdWxkUmVuZGVyVmFsdWUgPSBfcmVmMi5zZWxlY3RQcm9wcy5jb250cm9sU2hvdWxkUmVuZGVyVmFsdWU7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBkaXNwbGF5OiBpc011bHRpICYmIGhhc1ZhbHVlICYmIGNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZSA/ICdmbGV4JyA6ICdncmlkJyxcbiAgICBmbGV4OiAxLFxuICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6ICd0b3VjaCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgcGFkZGluZzogXCJcIi5jb25jYXQoc3BhY2luZy5iYXNlVW5pdCAvIDIsIFwicHggXCIpLmNvbmNhdChzcGFjaW5nLmJhc2VVbml0ICogMiwgXCJweFwiKVxuICB9KTtcbn07XG52YXIgVmFsdWVDb250YWluZXIgPSBmdW5jdGlvbiBWYWx1ZUNvbnRhaW5lcihwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBpc011bHRpID0gcHJvcHMuaXNNdWx0aSxcbiAgICBoYXNWYWx1ZSA9IHByb3BzLmhhc1ZhbHVlO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAndmFsdWVDb250YWluZXInLCB7XG4gICAgJ3ZhbHVlLWNvbnRhaW5lcic6IHRydWUsXG4gICAgJ3ZhbHVlLWNvbnRhaW5lci0taXMtbXVsdGknOiBpc011bHRpLFxuICAgICd2YWx1ZS1jb250YWluZXItLWhhcy12YWx1ZSc6IGhhc1ZhbHVlXG4gIH0pLCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbmRpY2F0b3IgQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIGluZGljYXRvcnNDb250YWluZXJDU1MgPSBmdW5jdGlvbiBpbmRpY2F0b3JzQ29udGFpbmVyQ1NTKCkge1xuICByZXR1cm4ge1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4U2hyaW5rOiAwXG4gIH07XG59O1xudmFyIEluZGljYXRvcnNDb250YWluZXIgPSBmdW5jdGlvbiBJbmRpY2F0b3JzQ29udGFpbmVyKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnaW5kaWNhdG9yc0NvbnRhaW5lcicsIHtcbiAgICBpbmRpY2F0b3JzOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcblxudmFyIF90ZW1wbGF0ZU9iamVjdDtcbnZhciBfZXhjbHVkZWQkMiA9IFtcInNpemVcIl0sXG4gIF9leGNsdWRlZDIgPSBbXCJpbm5lclByb3BzXCIsIFwiaXNSdGxcIiwgXCJzaXplXCJdO1xuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7IHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjsgfVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxudmFyIF9yZWYyID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuICBuYW1lOiBcIjhtbWtjZ1wiLFxuICBzdHlsZXM6IFwiZGlzcGxheTppbmxpbmUtYmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7bGluZS1oZWlnaHQ6MTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDowXCJcbn0gOiB7XG4gIG5hbWU6IFwidGo1YmRlLVN2Z1wiLFxuICBzdHlsZXM6IFwiZGlzcGxheTppbmxpbmUtYmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7bGluZS1oZWlnaHQ6MTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDowO2xhYmVsOlN2ZztcIixcbiAgbWFwOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR2xqWVhSdmNuTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhsQ1NTSXNJbVpwYkdVaU9pSnBibVJwWTJGMGIzSnpMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJBYW5ONElHcHplQ0FxTDF4dWFXMXdiM0owSUhzZ1NsTllMQ0JTWldGamRFNXZaR1VnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUJxYzNnc0lHdGxlV1p5WVcxbGN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIdGNiaUFnUTI5dGJXOXVVSEp2Y0hOQmJtUkRiR0Z6YzA1aGJXVXNYRzRnSUVOVFUwOWlhbVZqZEZkcGRHaE1ZV0psYkN4Y2JpQWdSM0p2ZFhCQ1lYTmxMRnh1ZlNCbWNtOXRJQ2N1TGk5MGVYQmxjeWM3WEc1cGJYQnZjblFnZXlCblpYUlRkSGxzWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTR2ZFhScGJITW5PMXh1WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmk4dklFUnliM0JrYjNkdUlDWWdRMnhsWVhJZ1NXTnZibk5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1WEc1amIyNXpkQ0JUZG1jZ1BTQW9lMXh1SUNCemFYcGxMRnh1SUNBdUxpNXdjbTl3YzF4dWZUb2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lkemRtY25YU0FtSUhzZ2MybDZaVG9nYm5WdFltVnlJSDBwSUQwK0lDaGNiaUFnUEhOMloxeHVJQ0FnSUdobGFXZG9kRDE3YzJsNlpYMWNiaUFnSUNCM2FXUjBhRDE3YzJsNlpYMWNiaUFnSUNCMmFXVjNRbTk0UFZ3aU1DQXdJREl3SURJd1hDSmNiaUFnSUNCaGNtbGhMV2hwWkdSbGJqMWNJblJ5ZFdWY0lseHVJQ0FnSUdadlkzVnpZV0pzWlQxY0ltWmhiSE5sWENKY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHBibXhwYm1VdFlteHZZMnNuTEZ4dUlDQWdJQ0FnWm1sc2JEb2dKMk4xY25KbGJuUkRiMnh2Y2ljc1hHNGdJQ0FnSUNCc2FXNWxTR1ZwWjJoME9pQXhMRnh1SUNBZ0lDQWdjM1J5YjJ0bE9pQW5ZM1Z5Y21WdWRFTnZiRzl5Snl4Y2JpQWdJQ0FnSUhOMGNtOXJaVmRwWkhSb09pQXdMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1EzSnZjM05KWTI5dVVISnZjSE1nUFNCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKM04yWnlkZElDWWdleUJ6YVhwbFB6b2diblZ0WW1WeUlIMDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1EzSnZjM05KWTI5dUlEMGdLSEJ5YjNCek9pQkRjbTl6YzBsamIyNVFjbTl3Y3lrZ1BUNGdLRnh1SUNBOFUzWm5JSE5wZW1VOWV6SXdmU0I3TGk0dWNISnZjSE45UGx4dUlDQWdJRHh3WVhSb0lHUTlYQ0pOTVRRdU16UTRJREUwTGpnME9XTXRNQzQwTmprZ01DNDBOamt0TVM0eU1qa2dNQzQwTmprdE1TNDJPVGNnTUd3dE1pNDJOVEV0TXk0d016QXRNaTQyTlRFZ015NHdNamxqTFRBdU5EWTVJREF1TkRZNUxURXVNakk1SURBdU5EWTVMVEV1TmprM0lEQXRNQzQwTmprdE1DNDBOamt0TUM0ME5qa3RNUzR5TWprZ01DMHhMalk1TjJ3eUxqYzFPQzB6TGpFMUxUSXVOelU1TFRNdU1UVXlZeTB3TGpRMk9TMHdMalEyT1Mwd0xqUTJPUzB4TGpJeU9DQXdMVEV1TmprM2N6RXVNakk0TFRBdU5EWTVJREV1TmprM0lEQnNNaTQyTlRJZ015NHdNekVnTWk0Mk5URXRNeTR3TXpGak1DNDBOamt0TUM0ME5qa2dNUzR5TWpndE1DNDBOamtnTVM0Mk9UY2dNSE13TGpRMk9TQXhMakl5T1NBd0lERXVOamszYkMweUxqYzFPQ0F6TGpFMU1pQXlMamMxT0NBekxqRTFZekF1TkRZNUlEQXVORFk1SURBdU5EWTVJREV1TWpJNUlEQWdNUzQyT1RoNlhDSWdMejVjYmlBZ1BDOVRkbWMrWEc0cE8xeHVaWGh3YjNKMElIUjVjR1VnUkc5M2JrTm9aWFp5YjI1UWNtOXdjeUE5SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25jM1puSjEwZ0ppQjdJSE5wZW1VL09pQnVkVzFpWlhJZ2ZUdGNibVY0Y0c5eWRDQmpiMjV6ZENCRWIzZHVRMmhsZG5KdmJpQTlJQ2h3Y205d2N6b2dSRzkzYmtOb1pYWnliMjVRY205d2N5a2dQVDRnS0Z4dUlDQThVM1puSUhOcGVtVTllekl3ZlNCN0xpNHVjSEp2Y0hOOVBseHVJQ0FnSUR4d1lYUm9JR1E5WENKTk5DNDFNVFlnTnk0MU5EaGpNQzQwTXpZdE1DNDBORFlnTVM0d05ETXRNQzQwT0RFZ01TNDFOellnTUd3ekxqa3dPQ0F6TGpjME55QXpMamt3T0MwekxqYzBOMk13TGpVek15MHdMalE0TVNBeExqRTBNUzB3TGpRME5pQXhMalUzTkNBd0lEQXVORE0ySURBdU5EUTFJREF1TkRBNElERXVNVGszSURBZ01TNDJNVFV0TUM0ME1EWWdNQzQwTVRndE5DNDJPVFVnTkM0MU1ESXROQzQyT1RVZ05DNDFNREl0TUM0eU1UY2dNQzR5TWpNdE1DNDFNRElnTUM0ek16VXRNQzQzT0RjZ01DNHpNelZ6TFRBdU5UY3RNQzR4TVRJdE1DNDNPRGt0TUM0ek16VmpNQ0F3TFRRdU1qZzNMVFF1TURnMExUUXVOamsxTFRRdU5UQXljeTB3TGpRek5pMHhMakUzSURBdE1TNDJNVFY2WENJZ0x6NWNiaUFnUEM5VGRtYytYRzRwTzF4dVhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpOHZJRVJ5YjNCa2IzZHVJQ1lnUTJ4bFlYSWdRblYwZEc5dWMxeHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSSEp2Y0dSdmQyNUpibVJwWTJGMGIzSlFjbTl3Y3p4Y2JpQWdUM0IwYVc5dUlEMGdkVzVyYm05M2JpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNGdQU0JpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtJRDBnUjNKdmRYQkNZWE5sUEU5d2RHbHZiajVjYmo0Z1pYaDBaVzVrY3lCRGIyMXRiMjVRY205d2MwRnVaRU5zWVhOelRtRnRaVHhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BpQjdYRzRnSUM4cUtpQlVhR1VnWTJocGJHUnlaVzRnZEc4Z1ltVWdjbVZ1WkdWeVpXUWdhVzV6YVdSbElIUm9aU0JwYm1ScFkyRjBiM0l1SUNvdlhHNGdJR05vYVd4a2NtVnVQem9nVW1WaFkzUk9iMlJsTzF4dUlDQXZLaW9nVUhKdmNITWdkR2hoZENCM2FXeHNJR0psSUhCaGMzTmxaQ0J2YmlCMGJ5QjBhR1VnWTJocGJHUnlaVzR1SUNvdlhHNGdJR2x1Ym1WeVVISnZjSE02SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25aR2wySjEwN1hHNGdJQzhxS2lCVWFHVWdabTlqZFhObFpDQnpkR0YwWlNCdlppQjBhR1VnYzJWc1pXTjBMaUFxTDF4dUlDQnBjMFp2WTNWelpXUTZJR0p2YjJ4bFlXNDdYRzRnSUdselJHbHpZV0pzWldRNklHSnZiMnhsWVc0N1hHNTlYRzVjYm1OdmJuTjBJR0poYzJWRFUxTWdQU0E4WEc0Z0lFOXdkR2x2Yml4Y2JpQWdTWE5OZFd4MGFTQmxlSFJsYm1SeklHSnZiMnhsWVc0c1hHNGdJRWR5YjNWd0lHVjRkR1Z1WkhNZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNG9YRzRnSUh0Y2JpQWdJQ0JwYzBadlkzVnpaV1FzWEc0Z0lDQWdkR2hsYldVNklIdGNiaUFnSUNBZ0lITndZV05wYm1jNklIc2dZbUZ6WlZWdWFYUWdmU3hjYmlBZ0lDQWdJR052Ykc5eWN5eGNiaUFnSUNCOUxGeHVJQ0I5T2x4dUlDQWdJSHdnUkhKdmNHUnZkMjVKYm1ScFkyRjBiM0pRY205d2N6eFBjSFJwYjI0c0lFbHpUWFZzZEdrc0lFZHliM1Z3UGx4dUlDQWdJSHdnUTJ4bFlYSkpibVJwWTJGMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaXhjYmlBZ2RXNXpkSGxzWldRNklHSnZiMnhsWVc1Y2JpazZJRU5UVTA5aWFtVmpkRmRwZEdoTVlXSmxiQ0E5UGlBb2UxeHVJQ0JzWVdKbGJEb2dKMmx1WkdsallYUnZja052Ym5SaGFXNWxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdkSEpoYm5OcGRHbHZiam9nSjJOdmJHOXlJREUxTUcxekp5eGNiaUFnTGk0dUtIVnVjM1I1YkdWa1hHNGdJQ0FnUHlCN2ZWeHVJQ0FnSURvZ2UxeHVJQ0FnSUNBZ0lDQmpiMnh2Y2pvZ2FYTkdiMk4xYzJWa0lEOGdZMjlzYjNKekxtNWxkWFJ5WVd3Mk1DQTZJR052Ykc5eWN5NXVaWFYwY21Gc01qQXNYRzRnSUNBZ0lDQWdJSEJoWkdScGJtYzZJR0poYzJWVmJtbDBJQ29nTWl4Y2JpQWdJQ0FnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lDQWdJQ0JqYjJ4dmNqb2dhWE5HYjJOMWMyVmtJRDhnWTI5c2IzSnpMbTVsZFhSeVlXdzRNQ0E2SUdOdmJHOXljeTV1WlhWMGNtRnNOREFzWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCOUtTeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWkhKdmNHUnZkMjVKYm1ScFkyRjBiM0pEVTFNZ1BTQmlZWE5sUTFOVE8xeHVaWGh3YjNKMElHTnZibk4wSUVSeWIzQmtiM2R1U1c1a2FXTmhkRzl5SUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQndjbTl3Y3pvZ1JISnZjR1J2ZDI1SmJtUnBZMkYwYjNKUWNtOXdjenhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BseHVLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dZMmhwYkdSeVpXNHNJR2x1Ym1WeVVISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektIQnliM0J6TENBblpISnZjR1J2ZDI1SmJtUnBZMkYwYjNJbkxDQjdYRzRnSUNBZ0lDQWdJR2x1WkdsallYUnZjam9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdKMlJ5YjNCa2IzZHVMV2x1WkdsallYUnZjaWM2SUhSeWRXVXNYRzRnSUNBZ0lDQjlLWDFjYmlBZ0lDQWdJSHN1TGk1cGJtNWxjbEJ5YjNCemZWeHVJQ0FnSUQ1Y2JpQWdJQ0FnSUh0amFHbHNaSEpsYmlCOGZDQThSRzkzYmtOb1pYWnliMjRnTHo1OVhHNGdJQ0FnUEM5a2FYWStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVOc1pXRnlTVzVrYVdOaGRHOXlVSEp2Y0hNOFhHNGdJRTl3ZEdsdmJpQTlJSFZ1YTI1dmQyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVJRDBnWW05dmJHVmhiaXhjYmlBZ1IzSnZkWEFnWlhoMFpXNWtjeUJIY205MWNFSmhjMlU4VDNCMGFXOXVQaUE5SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0lHVjRkR1Z1WkhNZ1EyOXRiVzl1VUhKdmNITkJibVJEYkdGemMwNWhiV1U4VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENGdlMXh1SUNBdktpb2dWR2hsSUdOb2FXeGtjbVZ1SUhSdklHSmxJSEpsYm1SbGNtVmtJR2x1YzJsa1pTQjBhR1VnYVc1a2FXTmhkRzl5TGlBcUwxeHVJQ0JqYUdsc1pISmxiajg2SUZKbFlXTjBUbTlrWlR0Y2JpQWdMeW9xSUZCeWIzQnpJSFJvWVhRZ2QybHNiQ0JpWlNCd1lYTnpaV1FnYjI0Z2RHOGdkR2hsSUdOb2FXeGtjbVZ1TGlBcUwxeHVJQ0JwYm01bGNsQnliM0J6T2lCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKMlJwZGlkZE8xeHVJQ0F2S2lvZ1ZHaGxJR1p2WTNWelpXUWdjM1JoZEdVZ2IyWWdkR2hsSUhObGJHVmpkQzRnS2k5Y2JpQWdhWE5HYjJOMWMyVmtPaUJpYjI5c1pXRnVPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWTJ4bFlYSkpibVJwWTJGMGIzSkRVMU1nUFNCaVlYTmxRMU5UTzF4dVpYaHdiM0owSUdOdmJuTjBJRU5zWldGeVNXNWthV05oZEc5eUlEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0J3Y205d2N6b2dRMnhsWVhKSmJtUnBZMkYwYjNKUWNtOXdjenhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BseHVLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dZMmhwYkdSeVpXNHNJR2x1Ym1WeVVISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektIQnliM0J6TENBblkyeGxZWEpKYm1ScFkyRjBiM0luTENCN1hHNGdJQ0FnSUNBZ0lHbHVaR2xqWVhSdmNqb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0oyTnNaV0Z5TFdsdVpHbGpZWFJ2Y2ljNklIUnlkV1VzWEc0Z0lDQWdJQ0I5S1gxY2JpQWdJQ0FnSUhzdUxpNXBibTVsY2xCeWIzQnpmVnh1SUNBZ0lENWNiaUFnSUNBZ0lIdGphR2xzWkhKbGJpQjhmQ0E4UTNKdmMzTkpZMjl1SUM4K2ZWeHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVHRjYmx4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0dkx5QlRaWEJoY21GMGIzSmNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWx1WkdsallYUnZjbE5sY0dGeVlYUnZjbEJ5YjNCelBGeHVJQ0JQY0hScGIyNGdQU0IxYm10dWIzZHVMRnh1SUNCSmMwMTFiSFJwSUdWNGRHVnVaSE1nWW05dmJHVmhiaUE5SUdKdmIyeGxZVzRzWEc0Z0lFZHliM1Z3SUdWNGRHVnVaSE1nUjNKdmRYQkNZWE5sUEU5d2RHbHZiajRnUFNCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpQmxlSFJsYm1SeklFTnZiVzF2YmxCeWIzQnpRVzVrUTJ4aGMzTk9ZVzFsUEU5d2RHbHZiaXdnU1hOTmRXeDBhU3dnUjNKdmRYQStJSHRjYmlBZ2FYTkVhWE5oWW14bFpEb2dZbTl2YkdWaGJqdGNiaUFnYVhOR2IyTjFjMlZrT2lCaWIyOXNaV0Z1TzF4dUlDQnBibTVsY2xCeWIzQnpQem9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZHpjR0Z1SjEwN1hHNTlYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnBibVJwWTJGMGIzSlRaWEJoY21GMGIzSkRVMU1nUFNBOFhHNGdJRTl3ZEdsdmJpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNHNYRzRnSUVkeWIzVndJR1Y0ZEdWdVpITWdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNWNiajRvWEc0Z0lIdGNiaUFnSUNCcGMwUnBjMkZpYkdWa0xGeHVJQ0FnSUhSb1pXMWxPaUI3WEc0Z0lDQWdJQ0J6Y0dGamFXNW5PaUI3SUdKaGMyVlZibWwwSUgwc1hHNGdJQ0FnSUNCamIyeHZjbk1zWEc0Z0lDQWdmU3hjYmlBZ2ZUb2dTVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRzWEc0Z0lIVnVjM1I1YkdWa09pQmliMjlzWldGdVhHNHBPaUJEVTFOUFltcGxZM1JYYVhSb1RHRmlaV3dnUFQ0Z0tIdGNiaUFnYkdGaVpXdzZJQ2RwYm1ScFkyRjBiM0pUWlhCaGNtRjBiM0luTEZ4dUlDQmhiR2xuYmxObGJHWTZJQ2R6ZEhKbGRHTm9KeXhjYmlBZ2QybGtkR2c2SURFc1hHNGdJQzR1TGloMWJuTjBlV3hsWkZ4dUlDQWdJRDhnZTMxY2JpQWdJQ0E2SUh0Y2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCcGMwUnBjMkZpYkdWa0lEOGdZMjlzYjNKekxtNWxkWFJ5WVd3eE1DQTZJR052Ykc5eWN5NXVaWFYwY21Gc01qQXNYRzRnSUNBZ0lDQWdJRzFoY21kcGJrSnZkSFJ2YlRvZ1ltRnpaVlZ1YVhRZ0tpQXlMRnh1SUNBZ0lDQWdJQ0J0WVhKbmFXNVViM0E2SUdKaGMyVlZibWwwSUNvZ01peGNiaUFnSUNBZ0lIMHBMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtUnBZMkYwYjNKVFpYQmhjbUYwYjNJZ1BTQThYRzRnSUU5d2RHbHZiaXhjYmlBZ1NYTk5kV3gwYVNCbGVIUmxibVJ6SUdKdmIyeGxZVzRzWEc0Z0lFZHliM1Z3SUdWNGRHVnVaSE1nUjNKdmRYQkNZWE5sUEU5d2RHbHZiajVjYmo0b1hHNGdJSEJ5YjNCek9pQkpibVJwWTJGMGIzSlRaWEJoY21GMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQbHh1S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYVc1dVpYSlFjbTl3Y3lCOUlEMGdjSEp2Y0hNN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BITndZVzVjYmlBZ0lDQWdJSHN1TGk1cGJtNWxjbEJ5YjNCemZWeHVJQ0FnSUNBZ2V5NHVMbWRsZEZOMGVXeGxVSEp2Y0hNb2NISnZjSE1zSUNkcGJtUnBZMkYwYjNKVFpYQmhjbUYwYjNJbkxDQjdYRzRnSUNBZ0lDQWdJQ2RwYm1ScFkyRjBiM0l0YzJWd1lYSmhkRzl5SnpvZ2RISjFaU3hjYmlBZ0lDQWdJSDBwZlZ4dUlDQWdJQzgrWEc0Z0lDazdYRzU5TzF4dVhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpOHZJRXh2WVdScGJtZGNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVqYjI1emRDQnNiMkZrYVc1blJHOTBRVzVwYldGMGFXOXVjeUE5SUd0bGVXWnlZVzFsYzJCY2JpQWdNQ1VzSURnd0pTd2dNVEF3SlNCN0lHOXdZV05wZEhrNklEQTdJSDFjYmlBZ05EQWxJSHNnYjNCaFkybDBlVG9nTVRzZ2ZWeHVZRHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJR3h2WVdScGJtZEpibVJwWTJGMGIzSkRVMU1nUFNBOFhHNGdJRTl3ZEdsdmJpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNHNYRzRnSUVkeWIzVndJR1Y0ZEdWdVpITWdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNWNiajRvWEc0Z0lIdGNiaUFnSUNCcGMwWnZZM1Z6WldRc1hHNGdJQ0FnYzJsNlpTeGNiaUFnSUNCMGFHVnRaVG9nZTF4dUlDQWdJQ0FnWTI5c2IzSnpMRnh1SUNBZ0lDQWdjM0JoWTJsdVp6b2dleUJpWVhObFZXNXBkQ0I5TEZ4dUlDQWdJSDBzWEc0Z0lIMDZJRXh2WVdScGJtZEpibVJwWTJGMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaXhjYmlBZ2RXNXpkSGxzWldRNklHSnZiMnhsWVc1Y2JpazZJRU5UVTA5aWFtVmpkRmRwZEdoTVlXSmxiQ0E5UGlBb2UxeHVJQ0JzWVdKbGJEb2dKMnh2WVdScGJtZEpibVJwWTJGMGIzSW5MRnh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lIUnlZVzV6YVhScGIyNDZJQ2RqYjJ4dmNpQXhOVEJ0Y3ljc1hHNGdJR0ZzYVdkdVUyVnNaam9nSjJObGJuUmxjaWNzWEc0Z0lHWnZiblJUYVhwbE9pQnphWHBsTEZ4dUlDQnNhVzVsU0dWcFoyaDBPaUF4TEZ4dUlDQnRZWEpuYVc1U2FXZG9kRG9nYzJsNlpTeGNiaUFnZEdWNGRFRnNhV2R1T2lBblkyVnVkR1Z5Snl4Y2JpQWdkbVZ5ZEdsallXeEJiR2xuYmpvZ0oyMXBaR1JzWlNjc1hHNGdJQzR1TGloMWJuTjBlV3hsWkZ4dUlDQWdJRDhnZTMxY2JpQWdJQ0E2SUh0Y2JpQWdJQ0FnSUNBZ1kyOXNiM0k2SUdselJtOWpkWE5sWkNBL0lHTnZiRzl5Y3k1dVpYVjBjbUZzTmpBZ09pQmpiMnh2Y25NdWJtVjFkSEpoYkRJd0xGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1bk9pQmlZWE5sVlc1cGRDQXFJRElzWEc0Z0lDQWdJQ0I5S1N4Y2JuMHBPMXh1WEc1cGJuUmxjbVpoWTJVZ1RHOWhaR2x1WjBSdmRGQnliM0J6SUh0Y2JpQWdaR1ZzWVhrNklHNTFiV0psY2p0Y2JpQWdiMlptYzJWME9pQmliMjlzWldGdU8xeHVmVnh1WTI5dWMzUWdURzloWkdsdVowUnZkQ0E5SUNoN0lHUmxiR0Y1TENCdlptWnpaWFFnZlRvZ1RHOWhaR2x1WjBSdmRGQnliM0J6S1NBOVBpQW9YRzRnSUR4emNHRnVYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JoYm1sdFlYUnBiMjQ2SUdBa2UyeHZZV1JwYm1kRWIzUkJibWx0WVhScGIyNXpmU0F4Y3lCbFlYTmxMV2x1TFc5MWRDQWtlMlJsYkdGNWZXMXpJR2x1Wm1sdWFYUmxPMkFzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2RqZFhKeVpXNTBRMjlzYjNJbkxGeHVJQ0FnSUNBZ1ltOXlaR1Z5VW1Ga2FYVnpPaUFuTVdWdEp5eGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHBibXhwYm1VdFlteHZZMnNuTEZ4dUlDQWdJQ0FnYldGeVoybHVUR1ZtZERvZ2IyWm1jMlYwSUQ4Z0p6RmxiU2NnT2lCMWJtUmxabWx1WldRc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SUNjeFpXMG5MRnh1SUNBZ0lDQWdkbVZ5ZEdsallXeEJiR2xuYmpvZ0ozUnZjQ2NzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekZsYlNjc1hHNGdJQ0FnZlgxY2JpQWdMejVjYmlrN1hHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdURzloWkdsdVowbHVaR2xqWVhSdmNsQnliM0J6UEZ4dUlDQlBjSFJwYjI0Z1BTQjFibXR1YjNkdUxGeHVJQ0JKYzAxMWJIUnBJR1Y0ZEdWdVpITWdZbTl2YkdWaGJpQTlJR0p2YjJ4bFlXNHNYRzRnSUVkeWIzVndJR1Y0ZEdWdVpITWdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNGdQU0JIY205MWNFSmhjMlU4VDNCMGFXOXVQbHh1UGlCbGVIUmxibVJ6SUVOdmJXMXZibEJ5YjNCelFXNWtRMnhoYzNOT1lXMWxQRTl3ZEdsdmJpd2dTWE5OZFd4MGFTd2dSM0p2ZFhBK0lIdGNiaUFnTHlvcUlGQnliM0J6SUhSb1lYUWdkMmxzYkNCaVpTQndZWE56WldRZ2IyNGdkRzhnZEdobElHTm9hV3hrY21WdUxpQXFMMXh1SUNCcGJtNWxjbEJ5YjNCek9pQktVMWd1U1c1MGNtbHVjMmxqUld4bGJXVnVkSE5iSjJScGRpZGRPMXh1SUNBdktpb2dWR2hsSUdadlkzVnpaV1FnYzNSaGRHVWdiMllnZEdobElITmxiR1ZqZEM0Z0tpOWNiaUFnYVhOR2IyTjFjMlZrT2lCaWIyOXNaV0Z1TzF4dUlDQnBjMFJwYzJGaWJHVmtPaUJpYjI5c1pXRnVPMXh1SUNBdktpb2dVMlYwSUhOcGVtVWdiMllnZEdobElHTnZiblJoYVc1bGNpNGdLaTljYmlBZ2MybDZaVG9nYm5WdFltVnlPMXh1ZlZ4dVpYaHdiM0owSUdOdmJuTjBJRXh2WVdScGJtZEpibVJwWTJGMGIzSWdQU0E4WEc0Z0lFOXdkR2x2Yml4Y2JpQWdTWE5OZFd4MGFTQmxlSFJsYm1SeklHSnZiMnhsWVc0c1hHNGdJRWR5YjNWd0lHVjRkR1Z1WkhNZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNG9lMXh1SUNCcGJtNWxjbEJ5YjNCekxGeHVJQ0JwYzFKMGJDeGNiaUFnYzJsNlpTQTlJRFFzWEc0Z0lDNHVMbkpsYzNSUWNtOXdjMXh1ZlRvZ1RHOWhaR2x1WjBsdVpHbGpZWFJ2Y2xCeWIzQnpQRTl3ZEdsdmJpd2dTWE5OZFd4MGFTd2dSM0p2ZFhBK0tTQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ2V5NHVMbWRsZEZOMGVXeGxVSEp2Y0hNb1hHNGdJQ0FnSUNBZ0lIc2dMaTR1Y21WemRGQnliM0J6TENCcGJtNWxjbEJ5YjNCekxDQnBjMUowYkN3Z2MybDZaU0I5TEZ4dUlDQWdJQ0FnSUNBbmJHOWhaR2x1WjBsdVpHbGpZWFJ2Y2ljc1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnSjJ4dllXUnBibWN0YVc1a2FXTmhkRzl5SnpvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnS1gxY2JpQWdJQ0FnSUhzdUxpNXBibTVsY2xCeWIzQnpmVnh1SUNBZ0lENWNiaUFnSUNBZ0lEeE1iMkZrYVc1blJHOTBJR1JsYkdGNVBYc3dmU0J2Wm1aelpYUTllMmx6VW5Sc2ZTQXZQbHh1SUNBZ0lDQWdQRXh2WVdScGJtZEViM1FnWkdWc1lYazllekUyTUgwZ2IyWm1jMlYwSUM4K1hHNGdJQ0FnSUNBOFRHOWhaR2x1WjBSdmRDQmtaV3hoZVQxN016SXdmU0J2Wm1aelpYUTlleUZwYzFKMGJIMGdMejVjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4wN1hHNGlYWDA9ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufTtcbnZhciBTdmcgPSBmdW5jdGlvbiBTdmcoX3JlZikge1xuICB2YXIgc2l6ZSA9IF9yZWYuc2l6ZSxcbiAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBfZXhjbHVkZWQkMik7XG4gIHJldHVybiBqc3goXCJzdmdcIiwgX2V4dGVuZHMoe1xuICAgIGhlaWdodDogc2l6ZSxcbiAgICB3aWR0aDogc2l6ZSxcbiAgICB2aWV3Qm94OiBcIjAgMCAyMCAyMFwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgZm9jdXNhYmxlOiBcImZhbHNlXCIsXG4gICAgY3NzOiBfcmVmMlxuICB9LCBwcm9wcykpO1xufTtcbnZhciBDcm9zc0ljb24gPSBmdW5jdGlvbiBDcm9zc0ljb24ocHJvcHMpIHtcbiAgcmV0dXJuIGpzeChTdmcsIF9leHRlbmRzKHtcbiAgICBzaXplOiAyMFxuICB9LCBwcm9wcyksIGpzeChcInBhdGhcIiwge1xuICAgIGQ6IFwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiXG4gIH0pKTtcbn07XG52YXIgRG93bkNoZXZyb24gPSBmdW5jdGlvbiBEb3duQ2hldnJvbihwcm9wcykge1xuICByZXR1cm4ganN4KFN2ZywgX2V4dGVuZHMoe1xuICAgIHNpemU6IDIwXG4gIH0sIHByb3BzKSwganN4KFwicGF0aFwiLCB7XG4gICAgZDogXCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCJcbiAgfSkpO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgYmFzZUNTUyA9IGZ1bmN0aW9uIGJhc2VDU1MoX3JlZjMsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0ZvY3VzZWQgPSBfcmVmMy5pc0ZvY3VzZWQsXG4gICAgX3JlZjMkdGhlbWUgPSBfcmVmMy50aGVtZSxcbiAgICBiYXNlVW5pdCA9IF9yZWYzJHRoZW1lLnNwYWNpbmcuYmFzZVVuaXQsXG4gICAgY29sb3JzID0gX3JlZjMkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdpbmRpY2F0b3JDb250YWluZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAnOmhvdmVyJzoge1xuICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsODAgOiBjb2xvcnMubmV1dHJhbDQwXG4gICAgfVxuICB9KTtcbn07XG52YXIgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xudmFyIERyb3Bkb3duSW5kaWNhdG9yID0gZnVuY3Rpb24gRHJvcGRvd25JbmRpY2F0b3IocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdkcm9wZG93bkluZGljYXRvcicsIHtcbiAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbiB8fCBqc3goRG93bkNoZXZyb24sIG51bGwpKTtcbn07XG52YXIgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xudmFyIENsZWFySW5kaWNhdG9yID0gZnVuY3Rpb24gQ2xlYXJJbmRpY2F0b3IocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdjbGVhckluZGljYXRvcicsIHtcbiAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbiB8fCBqc3goQ3Jvc3NJY29uLCBudWxsKSk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlcGFyYXRvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSBmdW5jdGlvbiBpbmRpY2F0b3JTZXBhcmF0b3JDU1MoX3JlZjQsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZjQuaXNEaXNhYmxlZCxcbiAgICBfcmVmNCR0aGVtZSA9IF9yZWY0LnRoZW1lLFxuICAgIGJhc2VVbml0ID0gX3JlZjQkdGhlbWUuc3BhY2luZy5iYXNlVW5pdCxcbiAgICBjb2xvcnMgPSBfcmVmNCR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gICAgYWxpZ25TZWxmOiAnc3RyZXRjaCcsXG4gICAgd2lkdGg6IDFcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgICBtYXJnaW5Cb3R0b206IGJhc2VVbml0ICogMixcbiAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMlxuICB9KTtcbn07XG52YXIgSW5kaWNhdG9yU2VwYXJhdG9yID0gZnVuY3Rpb24gSW5kaWNhdG9yU2VwYXJhdG9yKHByb3BzKSB7XG4gIHZhciBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwgX2V4dGVuZHMoe30sIGlubmVyUHJvcHMsIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlXG4gIH0pKSk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXMoX3RlbXBsYXRlT2JqZWN0IHx8IChfdGVtcGxhdGVPYmplY3QgPSBfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsKFtcIlxcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cXG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cXG5cIl0pKSk7XG52YXIgbG9hZGluZ0luZGljYXRvckNTUyA9IGZ1bmN0aW9uIGxvYWRpbmdJbmRpY2F0b3JDU1MoX3JlZjUsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0ZvY3VzZWQgPSBfcmVmNS5pc0ZvY3VzZWQsXG4gICAgc2l6ZSA9IF9yZWY1LnNpemUsXG4gICAgX3JlZjUkdGhlbWUgPSBfcmVmNS50aGVtZSxcbiAgICBjb2xvcnMgPSBfcmVmNSR0aGVtZS5jb2xvcnMsXG4gICAgYmFzZVVuaXQgPSBfcmVmNSR0aGVtZS5zcGFjaW5nLmJhc2VVbml0O1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICAgIGZvbnRTaXplOiBzaXplLFxuICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDJcbiAgfSk7XG59O1xudmFyIExvYWRpbmdEb3QgPSBmdW5jdGlvbiBMb2FkaW5nRG90KF9yZWY2KSB7XG4gIHZhciBkZWxheSA9IF9yZWY2LmRlbGF5LFxuICAgIG9mZnNldCA9IF9yZWY2Lm9mZnNldDtcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwge1xuICAgIGNzczogLyojX19QVVJFX18qL2NzcyQyKHtcbiAgICAgIGFuaW1hdGlvbjogXCJcIi5jb25jYXQobG9hZGluZ0RvdEFuaW1hdGlvbnMsIFwiIDFzIGVhc2UtaW4tb3V0IFwiKS5jb25jYXQoZGVsYXksIFwibXMgaW5maW5pdGU7XCIpLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzFlbScsXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIG1hcmdpbkxlZnQ6IG9mZnNldCA/ICcxZW0nIDogdW5kZWZpbmVkLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOkxvYWRpbmdEb3Q7XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR2xqWVhSdmNuTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVcxUlNTSXNJbVpwYkdVaU9pSnBibVJwWTJGMGIzSnpMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJBYW5ONElHcHplQ0FxTDF4dWFXMXdiM0owSUhzZ1NsTllMQ0JTWldGamRFNXZaR1VnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUJxYzNnc0lHdGxlV1p5WVcxbGN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIdGNiaUFnUTI5dGJXOXVVSEp2Y0hOQmJtUkRiR0Z6YzA1aGJXVXNYRzRnSUVOVFUwOWlhbVZqZEZkcGRHaE1ZV0psYkN4Y2JpQWdSM0p2ZFhCQ1lYTmxMRnh1ZlNCbWNtOXRJQ2N1TGk5MGVYQmxjeWM3WEc1cGJYQnZjblFnZXlCblpYUlRkSGxzWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTR2ZFhScGJITW5PMXh1WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmk4dklFUnliM0JrYjNkdUlDWWdRMnhsWVhJZ1NXTnZibk5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1WEc1amIyNXpkQ0JUZG1jZ1BTQW9lMXh1SUNCemFYcGxMRnh1SUNBdUxpNXdjbTl3YzF4dWZUb2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lkemRtY25YU0FtSUhzZ2MybDZaVG9nYm5WdFltVnlJSDBwSUQwK0lDaGNiaUFnUEhOMloxeHVJQ0FnSUdobGFXZG9kRDE3YzJsNlpYMWNiaUFnSUNCM2FXUjBhRDE3YzJsNlpYMWNiaUFnSUNCMmFXVjNRbTk0UFZ3aU1DQXdJREl3SURJd1hDSmNiaUFnSUNCaGNtbGhMV2hwWkdSbGJqMWNJblJ5ZFdWY0lseHVJQ0FnSUdadlkzVnpZV0pzWlQxY0ltWmhiSE5sWENKY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHBibXhwYm1VdFlteHZZMnNuTEZ4dUlDQWdJQ0FnWm1sc2JEb2dKMk4xY25KbGJuUkRiMnh2Y2ljc1hHNGdJQ0FnSUNCc2FXNWxTR1ZwWjJoME9pQXhMRnh1SUNBZ0lDQWdjM1J5YjJ0bE9pQW5ZM1Z5Y21WdWRFTnZiRzl5Snl4Y2JpQWdJQ0FnSUhOMGNtOXJaVmRwWkhSb09pQXdMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1EzSnZjM05KWTI5dVVISnZjSE1nUFNCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKM04yWnlkZElDWWdleUJ6YVhwbFB6b2diblZ0WW1WeUlIMDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1EzSnZjM05KWTI5dUlEMGdLSEJ5YjNCek9pQkRjbTl6YzBsamIyNVFjbTl3Y3lrZ1BUNGdLRnh1SUNBOFUzWm5JSE5wZW1VOWV6SXdmU0I3TGk0dWNISnZjSE45UGx4dUlDQWdJRHh3WVhSb0lHUTlYQ0pOTVRRdU16UTRJREUwTGpnME9XTXRNQzQwTmprZ01DNDBOamt0TVM0eU1qa2dNQzQwTmprdE1TNDJPVGNnTUd3dE1pNDJOVEV0TXk0d016QXRNaTQyTlRFZ015NHdNamxqTFRBdU5EWTVJREF1TkRZNUxURXVNakk1SURBdU5EWTVMVEV1TmprM0lEQXRNQzQwTmprdE1DNDBOamt0TUM0ME5qa3RNUzR5TWprZ01DMHhMalk1TjJ3eUxqYzFPQzB6TGpFMUxUSXVOelU1TFRNdU1UVXlZeTB3TGpRMk9TMHdMalEyT1Mwd0xqUTJPUzB4TGpJeU9DQXdMVEV1TmprM2N6RXVNakk0TFRBdU5EWTVJREV1TmprM0lEQnNNaTQyTlRJZ015NHdNekVnTWk0Mk5URXRNeTR3TXpGak1DNDBOamt0TUM0ME5qa2dNUzR5TWpndE1DNDBOamtnTVM0Mk9UY2dNSE13TGpRMk9TQXhMakl5T1NBd0lERXVOamszYkMweUxqYzFPQ0F6TGpFMU1pQXlMamMxT0NBekxqRTFZekF1TkRZNUlEQXVORFk1SURBdU5EWTVJREV1TWpJNUlEQWdNUzQyT1RoNlhDSWdMejVjYmlBZ1BDOVRkbWMrWEc0cE8xeHVaWGh3YjNKMElIUjVjR1VnUkc5M2JrTm9aWFp5YjI1UWNtOXdjeUE5SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25jM1puSjEwZ0ppQjdJSE5wZW1VL09pQnVkVzFpWlhJZ2ZUdGNibVY0Y0c5eWRDQmpiMjV6ZENCRWIzZHVRMmhsZG5KdmJpQTlJQ2h3Y205d2N6b2dSRzkzYmtOb1pYWnliMjVRY205d2N5a2dQVDRnS0Z4dUlDQThVM1puSUhOcGVtVTllekl3ZlNCN0xpNHVjSEp2Y0hOOVBseHVJQ0FnSUR4d1lYUm9JR1E5WENKTk5DNDFNVFlnTnk0MU5EaGpNQzQwTXpZdE1DNDBORFlnTVM0d05ETXRNQzQwT0RFZ01TNDFOellnTUd3ekxqa3dPQ0F6TGpjME55QXpMamt3T0MwekxqYzBOMk13TGpVek15MHdMalE0TVNBeExqRTBNUzB3TGpRME5pQXhMalUzTkNBd0lEQXVORE0ySURBdU5EUTFJREF1TkRBNElERXVNVGszSURBZ01TNDJNVFV0TUM0ME1EWWdNQzQwTVRndE5DNDJPVFVnTkM0MU1ESXROQzQyT1RVZ05DNDFNREl0TUM0eU1UY2dNQzR5TWpNdE1DNDFNRElnTUM0ek16VXRNQzQzT0RjZ01DNHpNelZ6TFRBdU5UY3RNQzR4TVRJdE1DNDNPRGt0TUM0ek16VmpNQ0F3TFRRdU1qZzNMVFF1TURnMExUUXVOamsxTFRRdU5UQXljeTB3TGpRek5pMHhMakUzSURBdE1TNDJNVFY2WENJZ0x6NWNiaUFnUEM5VGRtYytYRzRwTzF4dVhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpOHZJRVJ5YjNCa2IzZHVJQ1lnUTJ4bFlYSWdRblYwZEc5dWMxeHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSSEp2Y0dSdmQyNUpibVJwWTJGMGIzSlFjbTl3Y3p4Y2JpQWdUM0IwYVc5dUlEMGdkVzVyYm05M2JpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNGdQU0JpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtJRDBnUjNKdmRYQkNZWE5sUEU5d2RHbHZiajVjYmo0Z1pYaDBaVzVrY3lCRGIyMXRiMjVRY205d2MwRnVaRU5zWVhOelRtRnRaVHhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BpQjdYRzRnSUM4cUtpQlVhR1VnWTJocGJHUnlaVzRnZEc4Z1ltVWdjbVZ1WkdWeVpXUWdhVzV6YVdSbElIUm9aU0JwYm1ScFkyRjBiM0l1SUNvdlhHNGdJR05vYVd4a2NtVnVQem9nVW1WaFkzUk9iMlJsTzF4dUlDQXZLaW9nVUhKdmNITWdkR2hoZENCM2FXeHNJR0psSUhCaGMzTmxaQ0J2YmlCMGJ5QjBhR1VnWTJocGJHUnlaVzR1SUNvdlhHNGdJR2x1Ym1WeVVISnZjSE02SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25aR2wySjEwN1hHNGdJQzhxS2lCVWFHVWdabTlqZFhObFpDQnpkR0YwWlNCdlppQjBhR1VnYzJWc1pXTjBMaUFxTDF4dUlDQnBjMFp2WTNWelpXUTZJR0p2YjJ4bFlXNDdYRzRnSUdselJHbHpZV0pzWldRNklHSnZiMnhsWVc0N1hHNTlYRzVjYm1OdmJuTjBJR0poYzJWRFUxTWdQU0E4WEc0Z0lFOXdkR2x2Yml4Y2JpQWdTWE5OZFd4MGFTQmxlSFJsYm1SeklHSnZiMnhsWVc0c1hHNGdJRWR5YjNWd0lHVjRkR1Z1WkhNZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNG9YRzRnSUh0Y2JpQWdJQ0JwYzBadlkzVnpaV1FzWEc0Z0lDQWdkR2hsYldVNklIdGNiaUFnSUNBZ0lITndZV05wYm1jNklIc2dZbUZ6WlZWdWFYUWdmU3hjYmlBZ0lDQWdJR052Ykc5eWN5eGNiaUFnSUNCOUxGeHVJQ0I5T2x4dUlDQWdJSHdnUkhKdmNHUnZkMjVKYm1ScFkyRjBiM0pRY205d2N6eFBjSFJwYjI0c0lFbHpUWFZzZEdrc0lFZHliM1Z3UGx4dUlDQWdJSHdnUTJ4bFlYSkpibVJwWTJGMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaXhjYmlBZ2RXNXpkSGxzWldRNklHSnZiMnhsWVc1Y2JpazZJRU5UVTA5aWFtVmpkRmRwZEdoTVlXSmxiQ0E5UGlBb2UxeHVJQ0JzWVdKbGJEb2dKMmx1WkdsallYUnZja052Ym5SaGFXNWxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdkSEpoYm5OcGRHbHZiam9nSjJOdmJHOXlJREUxTUcxekp5eGNiaUFnTGk0dUtIVnVjM1I1YkdWa1hHNGdJQ0FnUHlCN2ZWeHVJQ0FnSURvZ2UxeHVJQ0FnSUNBZ0lDQmpiMnh2Y2pvZ2FYTkdiMk4xYzJWa0lEOGdZMjlzYjNKekxtNWxkWFJ5WVd3Mk1DQTZJR052Ykc5eWN5NXVaWFYwY21Gc01qQXNYRzRnSUNBZ0lDQWdJSEJoWkdScGJtYzZJR0poYzJWVmJtbDBJQ29nTWl4Y2JpQWdJQ0FnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lDQWdJQ0JqYjJ4dmNqb2dhWE5HYjJOMWMyVmtJRDhnWTI5c2IzSnpMbTVsZFhSeVlXdzRNQ0E2SUdOdmJHOXljeTV1WlhWMGNtRnNOREFzWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCOUtTeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWkhKdmNHUnZkMjVKYm1ScFkyRjBiM0pEVTFNZ1BTQmlZWE5sUTFOVE8xeHVaWGh3YjNKMElHTnZibk4wSUVSeWIzQmtiM2R1U1c1a2FXTmhkRzl5SUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQndjbTl3Y3pvZ1JISnZjR1J2ZDI1SmJtUnBZMkYwYjNKUWNtOXdjenhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BseHVLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dZMmhwYkdSeVpXNHNJR2x1Ym1WeVVISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektIQnliM0J6TENBblpISnZjR1J2ZDI1SmJtUnBZMkYwYjNJbkxDQjdYRzRnSUNBZ0lDQWdJR2x1WkdsallYUnZjam9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdKMlJ5YjNCa2IzZHVMV2x1WkdsallYUnZjaWM2SUhSeWRXVXNYRzRnSUNBZ0lDQjlLWDFjYmlBZ0lDQWdJSHN1TGk1cGJtNWxjbEJ5YjNCemZWeHVJQ0FnSUQ1Y2JpQWdJQ0FnSUh0amFHbHNaSEpsYmlCOGZDQThSRzkzYmtOb1pYWnliMjRnTHo1OVhHNGdJQ0FnUEM5a2FYWStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVOc1pXRnlTVzVrYVdOaGRHOXlVSEp2Y0hNOFhHNGdJRTl3ZEdsdmJpQTlJSFZ1YTI1dmQyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVJRDBnWW05dmJHVmhiaXhjYmlBZ1IzSnZkWEFnWlhoMFpXNWtjeUJIY205MWNFSmhjMlU4VDNCMGFXOXVQaUE5SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0lHVjRkR1Z1WkhNZ1EyOXRiVzl1VUhKdmNITkJibVJEYkdGemMwNWhiV1U4VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENGdlMXh1SUNBdktpb2dWR2hsSUdOb2FXeGtjbVZ1SUhSdklHSmxJSEpsYm1SbGNtVmtJR2x1YzJsa1pTQjBhR1VnYVc1a2FXTmhkRzl5TGlBcUwxeHVJQ0JqYUdsc1pISmxiajg2SUZKbFlXTjBUbTlrWlR0Y2JpQWdMeW9xSUZCeWIzQnpJSFJvWVhRZ2QybHNiQ0JpWlNCd1lYTnpaV1FnYjI0Z2RHOGdkR2hsSUdOb2FXeGtjbVZ1TGlBcUwxeHVJQ0JwYm01bGNsQnliM0J6T2lCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKMlJwZGlkZE8xeHVJQ0F2S2lvZ1ZHaGxJR1p2WTNWelpXUWdjM1JoZEdVZ2IyWWdkR2hsSUhObGJHVmpkQzRnS2k5Y2JpQWdhWE5HYjJOMWMyVmtPaUJpYjI5c1pXRnVPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWTJ4bFlYSkpibVJwWTJGMGIzSkRVMU1nUFNCaVlYTmxRMU5UTzF4dVpYaHdiM0owSUdOdmJuTjBJRU5zWldGeVNXNWthV05oZEc5eUlEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0J3Y205d2N6b2dRMnhsWVhKSmJtUnBZMkYwYjNKUWNtOXdjenhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BseHVLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dZMmhwYkdSeVpXNHNJR2x1Ym1WeVVISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektIQnliM0J6TENBblkyeGxZWEpKYm1ScFkyRjBiM0luTENCN1hHNGdJQ0FnSUNBZ0lHbHVaR2xqWVhSdmNqb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0oyTnNaV0Z5TFdsdVpHbGpZWFJ2Y2ljNklIUnlkV1VzWEc0Z0lDQWdJQ0I5S1gxY2JpQWdJQ0FnSUhzdUxpNXBibTVsY2xCeWIzQnpmVnh1SUNBZ0lENWNiaUFnSUNBZ0lIdGphR2xzWkhKbGJpQjhmQ0E4UTNKdmMzTkpZMjl1SUM4K2ZWeHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVHRjYmx4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0dkx5QlRaWEJoY21GMGIzSmNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWx1WkdsallYUnZjbE5sY0dGeVlYUnZjbEJ5YjNCelBGeHVJQ0JQY0hScGIyNGdQU0IxYm10dWIzZHVMRnh1SUNCSmMwMTFiSFJwSUdWNGRHVnVaSE1nWW05dmJHVmhiaUE5SUdKdmIyeGxZVzRzWEc0Z0lFZHliM1Z3SUdWNGRHVnVaSE1nUjNKdmRYQkNZWE5sUEU5d2RHbHZiajRnUFNCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpQmxlSFJsYm1SeklFTnZiVzF2YmxCeWIzQnpRVzVrUTJ4aGMzTk9ZVzFsUEU5d2RHbHZiaXdnU1hOTmRXeDBhU3dnUjNKdmRYQStJSHRjYmlBZ2FYTkVhWE5oWW14bFpEb2dZbTl2YkdWaGJqdGNiaUFnYVhOR2IyTjFjMlZrT2lCaWIyOXNaV0Z1TzF4dUlDQnBibTVsY2xCeWIzQnpQem9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZHpjR0Z1SjEwN1hHNTlYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnBibVJwWTJGMGIzSlRaWEJoY21GMGIzSkRVMU1nUFNBOFhHNGdJRTl3ZEdsdmJpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNHNYRzRnSUVkeWIzVndJR1Y0ZEdWdVpITWdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNWNiajRvWEc0Z0lIdGNiaUFnSUNCcGMwUnBjMkZpYkdWa0xGeHVJQ0FnSUhSb1pXMWxPaUI3WEc0Z0lDQWdJQ0J6Y0dGamFXNW5PaUI3SUdKaGMyVlZibWwwSUgwc1hHNGdJQ0FnSUNCamIyeHZjbk1zWEc0Z0lDQWdmU3hjYmlBZ2ZUb2dTVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRzWEc0Z0lIVnVjM1I1YkdWa09pQmliMjlzWldGdVhHNHBPaUJEVTFOUFltcGxZM1JYYVhSb1RHRmlaV3dnUFQ0Z0tIdGNiaUFnYkdGaVpXdzZJQ2RwYm1ScFkyRjBiM0pUWlhCaGNtRjBiM0luTEZ4dUlDQmhiR2xuYmxObGJHWTZJQ2R6ZEhKbGRHTm9KeXhjYmlBZ2QybGtkR2c2SURFc1hHNGdJQzR1TGloMWJuTjBlV3hsWkZ4dUlDQWdJRDhnZTMxY2JpQWdJQ0E2SUh0Y2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCcGMwUnBjMkZpYkdWa0lEOGdZMjlzYjNKekxtNWxkWFJ5WVd3eE1DQTZJR052Ykc5eWN5NXVaWFYwY21Gc01qQXNYRzRnSUNBZ0lDQWdJRzFoY21kcGJrSnZkSFJ2YlRvZ1ltRnpaVlZ1YVhRZ0tpQXlMRnh1SUNBZ0lDQWdJQ0J0WVhKbmFXNVViM0E2SUdKaGMyVlZibWwwSUNvZ01peGNiaUFnSUNBZ0lIMHBMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtUnBZMkYwYjNKVFpYQmhjbUYwYjNJZ1BTQThYRzRnSUU5d2RHbHZiaXhjYmlBZ1NYTk5kV3gwYVNCbGVIUmxibVJ6SUdKdmIyeGxZVzRzWEc0Z0lFZHliM1Z3SUdWNGRHVnVaSE1nUjNKdmRYQkNZWE5sUEU5d2RHbHZiajVjYmo0b1hHNGdJSEJ5YjNCek9pQkpibVJwWTJGMGIzSlRaWEJoY21GMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQbHh1S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYVc1dVpYSlFjbTl3Y3lCOUlEMGdjSEp2Y0hNN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BITndZVzVjYmlBZ0lDQWdJSHN1TGk1cGJtNWxjbEJ5YjNCemZWeHVJQ0FnSUNBZ2V5NHVMbWRsZEZOMGVXeGxVSEp2Y0hNb2NISnZjSE1zSUNkcGJtUnBZMkYwYjNKVFpYQmhjbUYwYjNJbkxDQjdYRzRnSUNBZ0lDQWdJQ2RwYm1ScFkyRjBiM0l0YzJWd1lYSmhkRzl5SnpvZ2RISjFaU3hjYmlBZ0lDQWdJSDBwZlZ4dUlDQWdJQzgrWEc0Z0lDazdYRzU5TzF4dVhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpOHZJRXh2WVdScGJtZGNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVqYjI1emRDQnNiMkZrYVc1blJHOTBRVzVwYldGMGFXOXVjeUE5SUd0bGVXWnlZVzFsYzJCY2JpQWdNQ1VzSURnd0pTd2dNVEF3SlNCN0lHOXdZV05wZEhrNklEQTdJSDFjYmlBZ05EQWxJSHNnYjNCaFkybDBlVG9nTVRzZ2ZWeHVZRHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJR3h2WVdScGJtZEpibVJwWTJGMGIzSkRVMU1nUFNBOFhHNGdJRTl3ZEdsdmJpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNHNYRzRnSUVkeWIzVndJR1Y0ZEdWdVpITWdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNWNiajRvWEc0Z0lIdGNiaUFnSUNCcGMwWnZZM1Z6WldRc1hHNGdJQ0FnYzJsNlpTeGNiaUFnSUNCMGFHVnRaVG9nZTF4dUlDQWdJQ0FnWTI5c2IzSnpMRnh1SUNBZ0lDQWdjM0JoWTJsdVp6b2dleUJpWVhObFZXNXBkQ0I5TEZ4dUlDQWdJSDBzWEc0Z0lIMDZJRXh2WVdScGJtZEpibVJwWTJGMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaXhjYmlBZ2RXNXpkSGxzWldRNklHSnZiMnhsWVc1Y2JpazZJRU5UVTA5aWFtVmpkRmRwZEdoTVlXSmxiQ0E5UGlBb2UxeHVJQ0JzWVdKbGJEb2dKMnh2WVdScGJtZEpibVJwWTJGMGIzSW5MRnh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lIUnlZVzV6YVhScGIyNDZJQ2RqYjJ4dmNpQXhOVEJ0Y3ljc1hHNGdJR0ZzYVdkdVUyVnNaam9nSjJObGJuUmxjaWNzWEc0Z0lHWnZiblJUYVhwbE9pQnphWHBsTEZ4dUlDQnNhVzVsU0dWcFoyaDBPaUF4TEZ4dUlDQnRZWEpuYVc1U2FXZG9kRG9nYzJsNlpTeGNiaUFnZEdWNGRFRnNhV2R1T2lBblkyVnVkR1Z5Snl4Y2JpQWdkbVZ5ZEdsallXeEJiR2xuYmpvZ0oyMXBaR1JzWlNjc1hHNGdJQzR1TGloMWJuTjBlV3hsWkZ4dUlDQWdJRDhnZTMxY2JpQWdJQ0E2SUh0Y2JpQWdJQ0FnSUNBZ1kyOXNiM0k2SUdselJtOWpkWE5sWkNBL0lHTnZiRzl5Y3k1dVpYVjBjbUZzTmpBZ09pQmpiMnh2Y25NdWJtVjFkSEpoYkRJd0xGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1bk9pQmlZWE5sVlc1cGRDQXFJRElzWEc0Z0lDQWdJQ0I5S1N4Y2JuMHBPMXh1WEc1cGJuUmxjbVpoWTJVZ1RHOWhaR2x1WjBSdmRGQnliM0J6SUh0Y2JpQWdaR1ZzWVhrNklHNTFiV0psY2p0Y2JpQWdiMlptYzJWME9pQmliMjlzWldGdU8xeHVmVnh1WTI5dWMzUWdURzloWkdsdVowUnZkQ0E5SUNoN0lHUmxiR0Y1TENCdlptWnpaWFFnZlRvZ1RHOWhaR2x1WjBSdmRGQnliM0J6S1NBOVBpQW9YRzRnSUR4emNHRnVYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JoYm1sdFlYUnBiMjQ2SUdBa2UyeHZZV1JwYm1kRWIzUkJibWx0WVhScGIyNXpmU0F4Y3lCbFlYTmxMV2x1TFc5MWRDQWtlMlJsYkdGNWZXMXpJR2x1Wm1sdWFYUmxPMkFzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2RqZFhKeVpXNTBRMjlzYjNJbkxGeHVJQ0FnSUNBZ1ltOXlaR1Z5VW1Ga2FYVnpPaUFuTVdWdEp5eGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHBibXhwYm1VdFlteHZZMnNuTEZ4dUlDQWdJQ0FnYldGeVoybHVUR1ZtZERvZ2IyWm1jMlYwSUQ4Z0p6RmxiU2NnT2lCMWJtUmxabWx1WldRc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SUNjeFpXMG5MRnh1SUNBZ0lDQWdkbVZ5ZEdsallXeEJiR2xuYmpvZ0ozUnZjQ2NzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekZsYlNjc1hHNGdJQ0FnZlgxY2JpQWdMejVjYmlrN1hHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdURzloWkdsdVowbHVaR2xqWVhSdmNsQnliM0J6UEZ4dUlDQlBjSFJwYjI0Z1BTQjFibXR1YjNkdUxGeHVJQ0JKYzAxMWJIUnBJR1Y0ZEdWdVpITWdZbTl2YkdWaGJpQTlJR0p2YjJ4bFlXNHNYRzRnSUVkeWIzVndJR1Y0ZEdWdVpITWdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNGdQU0JIY205MWNFSmhjMlU4VDNCMGFXOXVQbHh1UGlCbGVIUmxibVJ6SUVOdmJXMXZibEJ5YjNCelFXNWtRMnhoYzNOT1lXMWxQRTl3ZEdsdmJpd2dTWE5OZFd4MGFTd2dSM0p2ZFhBK0lIdGNiaUFnTHlvcUlGQnliM0J6SUhSb1lYUWdkMmxzYkNCaVpTQndZWE56WldRZ2IyNGdkRzhnZEdobElHTm9hV3hrY21WdUxpQXFMMXh1SUNCcGJtNWxjbEJ5YjNCek9pQktVMWd1U1c1MGNtbHVjMmxqUld4bGJXVnVkSE5iSjJScGRpZGRPMXh1SUNBdktpb2dWR2hsSUdadlkzVnpaV1FnYzNSaGRHVWdiMllnZEdobElITmxiR1ZqZEM0Z0tpOWNiaUFnYVhOR2IyTjFjMlZrT2lCaWIyOXNaV0Z1TzF4dUlDQnBjMFJwYzJGaWJHVmtPaUJpYjI5c1pXRnVPMXh1SUNBdktpb2dVMlYwSUhOcGVtVWdiMllnZEdobElHTnZiblJoYVc1bGNpNGdLaTljYmlBZ2MybDZaVG9nYm5WdFltVnlPMXh1ZlZ4dVpYaHdiM0owSUdOdmJuTjBJRXh2WVdScGJtZEpibVJwWTJGMGIzSWdQU0E4WEc0Z0lFOXdkR2x2Yml4Y2JpQWdTWE5OZFd4MGFTQmxlSFJsYm1SeklHSnZiMnhsWVc0c1hHNGdJRWR5YjNWd0lHVjRkR1Z1WkhNZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNG9lMXh1SUNCcGJtNWxjbEJ5YjNCekxGeHVJQ0JwYzFKMGJDeGNiaUFnYzJsNlpTQTlJRFFzWEc0Z0lDNHVMbkpsYzNSUWNtOXdjMXh1ZlRvZ1RHOWhaR2x1WjBsdVpHbGpZWFJ2Y2xCeWIzQnpQRTl3ZEdsdmJpd2dTWE5OZFd4MGFTd2dSM0p2ZFhBK0tTQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ2V5NHVMbWRsZEZOMGVXeGxVSEp2Y0hNb1hHNGdJQ0FnSUNBZ0lIc2dMaTR1Y21WemRGQnliM0J6TENCcGJtNWxjbEJ5YjNCekxDQnBjMUowYkN3Z2MybDZaU0I5TEZ4dUlDQWdJQ0FnSUNBbmJHOWhaR2x1WjBsdVpHbGpZWFJ2Y2ljc1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnSjJ4dllXUnBibWN0YVc1a2FXTmhkRzl5SnpvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnS1gxY2JpQWdJQ0FnSUhzdUxpNXBibTVsY2xCeWIzQnpmVnh1SUNBZ0lENWNiaUFnSUNBZ0lEeE1iMkZrYVc1blJHOTBJR1JsYkdGNVBYc3dmU0J2Wm1aelpYUTllMmx6VW5Sc2ZTQXZQbHh1SUNBZ0lDQWdQRXh2WVdScGJtZEViM1FnWkdWc1lYazllekUyTUgwZ2IyWm1jMlYwSUM4K1hHNGdJQ0FnSUNBOFRHOWhaR2x1WjBSdmRDQmtaV3hoZVQxN016SXdmU0J2Wm1aelpYUTlleUZwYzFKMGJIMGdMejVjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4wN1hHNGlYWDA9ICovXCIpXG4gIH0pO1xufTtcbnZhciBMb2FkaW5nSW5kaWNhdG9yID0gZnVuY3Rpb24gTG9hZGluZ0luZGljYXRvcihfcmVmNykge1xuICB2YXIgaW5uZXJQcm9wcyA9IF9yZWY3LmlubmVyUHJvcHMsXG4gICAgaXNSdGwgPSBfcmVmNy5pc1J0bCxcbiAgICBfcmVmNyRzaXplID0gX3JlZjcuc2l6ZSxcbiAgICBzaXplID0gX3JlZjckc2l6ZSA9PT0gdm9pZCAwID8gNCA6IF9yZWY3JHNpemUsXG4gICAgcmVzdFByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWY3LCBfZXhjbHVkZWQyKTtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHJlc3RQcm9wcyksIHt9LCB7XG4gICAgaW5uZXJQcm9wczogaW5uZXJQcm9wcyxcbiAgICBpc1J0bDogaXNSdGwsXG4gICAgc2l6ZTogc2l6ZVxuICB9KSwgJ2xvYWRpbmdJbmRpY2F0b3InLCB7XG4gICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBqc3goTG9hZGluZ0RvdCwge1xuICAgIGRlbGF5OiAwLFxuICAgIG9mZnNldDogaXNSdGxcbiAgfSksIGpzeChMb2FkaW5nRG90LCB7XG4gICAgZGVsYXk6IDE2MCxcbiAgICBvZmZzZXQ6IHRydWVcbiAgfSksIGpzeChMb2FkaW5nRG90LCB7XG4gICAgZGVsYXk6IDMyMCxcbiAgICBvZmZzZXQ6ICFpc1J0bFxuICB9KSk7XG59O1xuXG52YXIgY3NzJDEgPSBmdW5jdGlvbiBjc3MoX3JlZiwgdW5zdHlsZWQpIHtcbiAgdmFyIGlzRGlzYWJsZWQgPSBfcmVmLmlzRGlzYWJsZWQsXG4gICAgaXNGb2N1c2VkID0gX3JlZi5pc0ZvY3VzZWQsXG4gICAgX3JlZiR0aGVtZSA9IF9yZWYudGhlbWUsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnMsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZiR0aGVtZS5ib3JkZXJSYWRpdXMsXG4gICAgc3BhY2luZyA9IF9yZWYkdGhlbWUuc3BhY2luZztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiAnY29udHJvbCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgY3Vyc29yOiAnZGVmYXVsdCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICBtaW5IZWlnaHQ6IHNwYWNpbmcuY29udHJvbEhlaWdodCxcbiAgICBvdXRsaW5lOiAnMCAhaW1wb3J0YW50JyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICB0cmFuc2l0aW9uOiAnYWxsIDEwMG1zJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogaXNEaXNhYmxlZCA/IGNvbG9ycy5uZXV0cmFsNSA6IGNvbG9ycy5uZXV0cmFsMCxcbiAgICBib3JkZXJDb2xvcjogaXNEaXNhYmxlZCA/IGNvbG9ycy5uZXV0cmFsMTAgOiBpc0ZvY3VzZWQgPyBjb2xvcnMucHJpbWFyeSA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgYm94U2hhZG93OiBpc0ZvY3VzZWQgPyBcIjAgMCAwIDFweCBcIi5jb25jYXQoY29sb3JzLnByaW1hcnkpIDogdW5kZWZpbmVkLFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgYm9yZGVyQ29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5wcmltYXJ5IDogY29sb3JzLm5ldXRyYWwzMFxuICAgIH1cbiAgfSk7XG59O1xudmFyIENvbnRyb2wgPSBmdW5jdGlvbiBDb250cm9sKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkLFxuICAgIGlzRm9jdXNlZCA9IHByb3BzLmlzRm9jdXNlZCxcbiAgICBpbm5lclJlZiA9IHByb3BzLmlubmVyUmVmLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzLFxuICAgIG1lbnVJc09wZW4gPSBwcm9wcy5tZW51SXNPcGVuO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICByZWY6IGlubmVyUmVmXG4gIH0sIGdldFN0eWxlUHJvcHMocHJvcHMsICdjb250cm9sJywge1xuICAgIGNvbnRyb2w6IHRydWUsXG4gICAgJ2NvbnRyb2wtLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZCxcbiAgICAnY29udHJvbC0taXMtZm9jdXNlZCc6IGlzRm9jdXNlZCxcbiAgICAnY29udHJvbC0tbWVudS1pcy1vcGVuJzogbWVudUlzT3BlblxuICB9KSwgaW5uZXJQcm9wcywge1xuICAgIFwiYXJpYS1kaXNhYmxlZFwiOiBpc0Rpc2FibGVkIHx8IHVuZGVmaW5lZFxuICB9KSwgY2hpbGRyZW4pO1xufTtcbnZhciBDb250cm9sJDEgPSBDb250cm9sO1xuXG52YXIgX2V4Y2x1ZGVkJDEgPSBbXCJkYXRhXCJdO1xudmFyIGdyb3VwQ1NTID0gZnVuY3Rpb24gZ3JvdXBDU1MoX3JlZiwgdW5zdHlsZWQpIHtcbiAgdmFyIHNwYWNpbmcgPSBfcmVmLnRoZW1lLnNwYWNpbmc7XG4gIHJldHVybiB1bnN0eWxlZCA/IHt9IDoge1xuICAgIHBhZGRpbmdCb3R0b206IHNwYWNpbmcuYmFzZVVuaXQgKiAyLFxuICAgIHBhZGRpbmdUb3A6IHNwYWNpbmcuYmFzZVVuaXQgKiAyXG4gIH07XG59O1xudmFyIEdyb3VwID0gZnVuY3Rpb24gR3JvdXAocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgY3ggPSBwcm9wcy5jeCxcbiAgICBnZXRTdHlsZXMgPSBwcm9wcy5nZXRTdHlsZXMsXG4gICAgZ2V0Q2xhc3NOYW1lcyA9IHByb3BzLmdldENsYXNzTmFtZXMsXG4gICAgSGVhZGluZyA9IHByb3BzLkhlYWRpbmcsXG4gICAgaGVhZGluZ1Byb3BzID0gcHJvcHMuaGVhZGluZ1Byb3BzLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzLFxuICAgIGxhYmVsID0gcHJvcHMubGFiZWwsXG4gICAgdGhlbWUgPSBwcm9wcy50aGVtZSxcbiAgICBzZWxlY3RQcm9wcyA9IHByb3BzLnNlbGVjdFByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnZ3JvdXAnLCB7XG4gICAgZ3JvdXA6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBqc3goSGVhZGluZywgX2V4dGVuZHMoe30sIGhlYWRpbmdQcm9wcywge1xuICAgIHNlbGVjdFByb3BzOiBzZWxlY3RQcm9wcyxcbiAgICB0aGVtZTogdGhlbWUsXG4gICAgZ2V0U3R5bGVzOiBnZXRTdHlsZXMsXG4gICAgZ2V0Q2xhc3NOYW1lczogZ2V0Q2xhc3NOYW1lcyxcbiAgICBjeDogY3hcbiAgfSksIGxhYmVsKSwganN4KFwiZGl2XCIsIG51bGwsIGNoaWxkcmVuKSk7XG59O1xudmFyIGdyb3VwSGVhZGluZ0NTUyA9IGZ1bmN0aW9uIGdyb3VwSGVhZGluZ0NTUyhfcmVmMiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYyJHRoZW1lID0gX3JlZjIudGhlbWUsXG4gICAgY29sb3JzID0gX3JlZjIkdGhlbWUuY29sb3JzLFxuICAgIHNwYWNpbmcgPSBfcmVmMiR0aGVtZS5zcGFjaW5nO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdncm91cCcsXG4gICAgY3Vyc29yOiAnZGVmYXVsdCcsXG4gICAgZGlzcGxheTogJ2Jsb2NrJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDQwLFxuICAgIGZvbnRTaXplOiAnNzUlJyxcbiAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgbWFyZ2luQm90dG9tOiAnMC4yNWVtJyxcbiAgICBwYWRkaW5nTGVmdDogc3BhY2luZy5iYXNlVW5pdCAqIDMsXG4gICAgcGFkZGluZ1JpZ2h0OiBzcGFjaW5nLmJhc2VVbml0ICogMyxcbiAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJ1xuICB9KTtcbn07XG52YXIgR3JvdXBIZWFkaW5nID0gZnVuY3Rpb24gR3JvdXBIZWFkaW5nKHByb3BzKSB7XG4gIHZhciBfY2xlYW5Db21tb25Qcm9wcyA9IGNsZWFuQ29tbW9uUHJvcHMocHJvcHMpO1xuICAgIF9jbGVhbkNvbW1vblByb3BzLmRhdGE7XG4gICAgdmFyIGlubmVyUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX2NsZWFuQ29tbW9uUHJvcHMsIF9leGNsdWRlZCQxKTtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ2dyb3VwSGVhZGluZycsIHtcbiAgICAnZ3JvdXAtaGVhZGluZyc6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpKTtcbn07XG52YXIgR3JvdXAkMSA9IEdyb3VwO1xuXG52YXIgX2V4Y2x1ZGVkID0gW1wiaW5uZXJSZWZcIiwgXCJpc0Rpc2FibGVkXCIsIFwiaXNIaWRkZW5cIiwgXCJpbnB1dENsYXNzTmFtZVwiXTtcbnZhciBpbnB1dENTUyA9IGZ1bmN0aW9uIGlucHV0Q1NTKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZi5pc0Rpc2FibGVkLFxuICAgIHZhbHVlID0gX3JlZi52YWx1ZSxcbiAgICBfcmVmJHRoZW1lID0gX3JlZi50aGVtZSxcbiAgICBzcGFjaW5nID0gX3JlZiR0aGVtZS5zcGFjaW5nLFxuICAgIGNvbG9ycyA9IF9yZWYkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHtcbiAgICB2aXNpYmlsaXR5OiBpc0Rpc2FibGVkID8gJ2hpZGRlbicgOiAndmlzaWJsZScsXG4gICAgLy8gZm9yY2UgY3NzIHRvIHJlY29tcHV0ZSB3aGVuIHZhbHVlIGNoYW5nZSBkdWUgdG8gQGVtb3Rpb24gYnVnLlxuICAgIC8vIFdlIGNhbiByZW1vdmUgaXQgd2hlbmV2ZXIgdGhlIGJ1ZyBpcyBmaXhlZC5cbiAgICB0cmFuc2Zvcm06IHZhbHVlID8gJ3RyYW5zbGF0ZVooMCknIDogJydcbiAgfSwgY29udGFpbmVyU3R5bGUpLCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIG1hcmdpbjogc3BhY2luZy5iYXNlVW5pdCAvIDIsXG4gICAgcGFkZGluZ0JvdHRvbTogc3BhY2luZy5iYXNlVW5pdCAvIDIsXG4gICAgcGFkZGluZ1RvcDogc3BhY2luZy5iYXNlVW5pdCAvIDIsXG4gICAgY29sb3I6IGNvbG9ycy5uZXV0cmFsODBcbiAgfSk7XG59O1xudmFyIHNwYWNpbmdTdHlsZSA9IHtcbiAgZ3JpZEFyZWE6ICcxIC8gMicsXG4gIGZvbnQ6ICdpbmhlcml0JyxcbiAgbWluV2lkdGg6ICcycHgnLFxuICBib3JkZXI6IDAsXG4gIG1hcmdpbjogMCxcbiAgb3V0bGluZTogMCxcbiAgcGFkZGluZzogMFxufTtcbnZhciBjb250YWluZXJTdHlsZSA9IHtcbiAgZmxleDogJzEgMSBhdXRvJyxcbiAgZGlzcGxheTogJ2lubGluZS1ncmlkJyxcbiAgZ3JpZEFyZWE6ICcxIC8gMSAvIDIgLyAzJyxcbiAgZ3JpZFRlbXBsYXRlQ29sdW1uczogJzAgbWluLWNvbnRlbnQnLFxuICAnJjphZnRlcic6IF9vYmplY3RTcHJlYWQoe1xuICAgIGNvbnRlbnQ6ICdhdHRyKGRhdGEtdmFsdWUpIFwiIFwiJyxcbiAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICB3aGl0ZVNwYWNlOiAncHJlJ1xuICB9LCBzcGFjaW5nU3R5bGUpXG59O1xudmFyIGlucHV0U3R5bGUgPSBmdW5jdGlvbiBpbnB1dFN0eWxlKGlzSGlkZGVuKSB7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ2lucHV0JyxcbiAgICBjb2xvcjogJ2luaGVyaXQnLFxuICAgIGJhY2tncm91bmQ6IDAsXG4gICAgb3BhY2l0eTogaXNIaWRkZW4gPyAwIDogMSxcbiAgICB3aWR0aDogJzEwMCUnXG4gIH0sIHNwYWNpbmdTdHlsZSk7XG59O1xudmFyIElucHV0ID0gZnVuY3Rpb24gSW5wdXQocHJvcHMpIHtcbiAgdmFyIGN4ID0gcHJvcHMuY3gsXG4gICAgdmFsdWUgPSBwcm9wcy52YWx1ZTtcbiAgdmFyIF9jbGVhbkNvbW1vblByb3BzID0gY2xlYW5Db21tb25Qcm9wcyhwcm9wcyksXG4gICAgaW5uZXJSZWYgPSBfY2xlYW5Db21tb25Qcm9wcy5pbm5lclJlZixcbiAgICBpc0Rpc2FibGVkID0gX2NsZWFuQ29tbW9uUHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc0hpZGRlbiA9IF9jbGVhbkNvbW1vblByb3BzLmlzSGlkZGVuLFxuICAgIGlucHV0Q2xhc3NOYW1lID0gX2NsZWFuQ29tbW9uUHJvcHMuaW5wdXRDbGFzc05hbWUsXG4gICAgaW5uZXJQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfY2xlYW5Db21tb25Qcm9wcywgX2V4Y2x1ZGVkKTtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ2lucHV0Jywge1xuICAgICdpbnB1dC1jb250YWluZXInOiB0cnVlXG4gIH0pLCB7XG4gICAgXCJkYXRhLXZhbHVlXCI6IHZhbHVlIHx8ICcnXG4gIH0pLCBqc3goXCJpbnB1dFwiLCBfZXh0ZW5kcyh7XG4gICAgY2xhc3NOYW1lOiBjeCh7XG4gICAgICBpbnB1dDogdHJ1ZVxuICAgIH0sIGlucHV0Q2xhc3NOYW1lKSxcbiAgICByZWY6IGlubmVyUmVmLFxuICAgIHN0eWxlOiBpbnB1dFN0eWxlKGlzSGlkZGVuKSxcbiAgICBkaXNhYmxlZDogaXNEaXNhYmxlZFxuICB9LCBpbm5lclByb3BzKSkpO1xufTtcbnZhciBJbnB1dCQxID0gSW5wdXQ7XG5cbnZhciBtdWx0aVZhbHVlQ1NTID0gZnVuY3Rpb24gbXVsdGlWYWx1ZUNTUyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZiR0aGVtZSA9IF9yZWYudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYkdGhlbWUuc3BhY2luZyxcbiAgICBib3JkZXJSYWRpdXMgPSBfcmVmJHRoZW1lLmJvcmRlclJhZGl1cyxcbiAgICBjb2xvcnMgPSBfcmVmJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiAnbXVsdGlWYWx1ZScsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIG1pbldpZHRoOiAwXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMubmV1dHJhbDEwLFxuICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzIC8gMixcbiAgICBtYXJnaW46IHNwYWNpbmcuYmFzZVVuaXQgLyAyXG4gIH0pO1xufTtcbnZhciBtdWx0aVZhbHVlTGFiZWxDU1MgPSBmdW5jdGlvbiBtdWx0aVZhbHVlTGFiZWxDU1MoX3JlZjIsIHVuc3R5bGVkKSB7XG4gIHZhciBfcmVmMiR0aGVtZSA9IF9yZWYyLnRoZW1lLFxuICAgIGJvcmRlclJhZGl1cyA9IF9yZWYyJHRoZW1lLmJvcmRlclJhZGl1cyxcbiAgICBjb2xvcnMgPSBfcmVmMiR0aGVtZS5jb2xvcnMsXG4gICAgY3JvcFdpdGhFbGxpcHNpcyA9IF9yZWYyLmNyb3BXaXRoRWxsaXBzaXM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgdGV4dE92ZXJmbG93OiBjcm9wV2l0aEVsbGlwc2lzIHx8IGNyb3BXaXRoRWxsaXBzaXMgPT09IHVuZGVmaW5lZCA/ICdlbGxpcHNpcycgOiB1bmRlZmluZWQsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBib3JkZXJSYWRpdXM6IGJvcmRlclJhZGl1cyAvIDIsXG4gICAgY29sb3I6IGNvbG9ycy5uZXV0cmFsODAsXG4gICAgZm9udFNpemU6ICc4NSUnLFxuICAgIHBhZGRpbmc6IDMsXG4gICAgcGFkZGluZ0xlZnQ6IDZcbiAgfSk7XG59O1xudmFyIG11bHRpVmFsdWVSZW1vdmVDU1MgPSBmdW5jdGlvbiBtdWx0aVZhbHVlUmVtb3ZlQ1NTKF9yZWYzLCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZjMkdGhlbWUgPSBfcmVmMy50aGVtZSxcbiAgICBzcGFjaW5nID0gX3JlZjMkdGhlbWUuc3BhY2luZyxcbiAgICBib3JkZXJSYWRpdXMgPSBfcmVmMyR0aGVtZS5ib3JkZXJSYWRpdXMsXG4gICAgY29sb3JzID0gX3JlZjMkdGhlbWUuY29sb3JzLFxuICAgIGlzRm9jdXNlZCA9IF9yZWYzLmlzRm9jdXNlZDtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4J1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzIC8gMixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5kYW5nZXJMaWdodCA6IHVuZGVmaW5lZCxcbiAgICBwYWRkaW5nTGVmdDogc3BhY2luZy5iYXNlVW5pdCxcbiAgICBwYWRkaW5nUmlnaHQ6IHNwYWNpbmcuYmFzZVVuaXQsXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLmRhbmdlckxpZ2h0LFxuICAgICAgY29sb3I6IGNvbG9ycy5kYW5nZXJcbiAgICB9XG4gIH0pO1xufTtcbnZhciBNdWx0aVZhbHVlR2VuZXJpYyA9IGZ1bmN0aW9uIE11bHRpVmFsdWVHZW5lcmljKF9yZWY0KSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWY0LmNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHMgPSBfcmVmNC5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIGlubmVyUHJvcHMsIGNoaWxkcmVuKTtcbn07XG52YXIgTXVsdGlWYWx1ZUNvbnRhaW5lciA9IE11bHRpVmFsdWVHZW5lcmljO1xudmFyIE11bHRpVmFsdWVMYWJlbCA9IE11bHRpVmFsdWVHZW5lcmljO1xuZnVuY3Rpb24gTXVsdGlWYWx1ZVJlbW92ZShfcmVmNSkge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmNS5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjUuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgcm9sZTogXCJidXR0b25cIlxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4gfHwganN4KENyb3NzSWNvbiwge1xuICAgIHNpemU6IDE0XG4gIH0pKTtcbn1cbnZhciBNdWx0aVZhbHVlID0gZnVuY3Rpb24gTXVsdGlWYWx1ZShwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBjb21wb25lbnRzID0gcHJvcHMuY29tcG9uZW50cyxcbiAgICBkYXRhID0gcHJvcHMuZGF0YSxcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICByZW1vdmVQcm9wcyA9IHByb3BzLnJlbW92ZVByb3BzLFxuICAgIHNlbGVjdFByb3BzID0gcHJvcHMuc2VsZWN0UHJvcHM7XG4gIHZhciBDb250YWluZXIgPSBjb21wb25lbnRzLkNvbnRhaW5lcixcbiAgICBMYWJlbCA9IGNvbXBvbmVudHMuTGFiZWwsXG4gICAgUmVtb3ZlID0gY29tcG9uZW50cy5SZW1vdmU7XG4gIHJldHVybiBqc3goQ29udGFpbmVyLCB7XG4gICAgZGF0YTogZGF0YSxcbiAgICBpbm5lclByb3BzOiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdtdWx0aVZhbHVlJywge1xuICAgICAgJ211bHRpLXZhbHVlJzogdHJ1ZSxcbiAgICAgICdtdWx0aS12YWx1ZS0taXMtZGlzYWJsZWQnOiBpc0Rpc2FibGVkXG4gICAgfSkpLCBpbm5lclByb3BzKSxcbiAgICBzZWxlY3RQcm9wczogc2VsZWN0UHJvcHNcbiAgfSwganN4KExhYmVsLCB7XG4gICAgZGF0YTogZGF0YSxcbiAgICBpbm5lclByb3BzOiBfb2JqZWN0U3ByZWFkKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbXVsdGlWYWx1ZUxhYmVsJywge1xuICAgICAgJ211bHRpLXZhbHVlX19sYWJlbCc6IHRydWVcbiAgICB9KSksXG4gICAgc2VsZWN0UHJvcHM6IHNlbGVjdFByb3BzXG4gIH0sIGNoaWxkcmVuKSwganN4KFJlbW92ZSwge1xuICAgIGRhdGE6IGRhdGEsXG4gICAgaW5uZXJQcm9wczogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbXVsdGlWYWx1ZVJlbW92ZScsIHtcbiAgICAgICdtdWx0aS12YWx1ZV9fcmVtb3ZlJzogdHJ1ZVxuICAgIH0pKSwge30sIHtcbiAgICAgICdhcmlhLWxhYmVsJzogXCJSZW1vdmUgXCIuY29uY2F0KGNoaWxkcmVuIHx8ICdvcHRpb24nKVxuICAgIH0sIHJlbW92ZVByb3BzKSxcbiAgICBzZWxlY3RQcm9wczogc2VsZWN0UHJvcHNcbiAgfSkpO1xufTtcbnZhciBNdWx0aVZhbHVlJDEgPSBNdWx0aVZhbHVlO1xuXG52YXIgb3B0aW9uQ1NTID0gZnVuY3Rpb24gb3B0aW9uQ1NTKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZi5pc0Rpc2FibGVkLFxuICAgIGlzRm9jdXNlZCA9IF9yZWYuaXNGb2N1c2VkLFxuICAgIGlzU2VsZWN0ZWQgPSBfcmVmLmlzU2VsZWN0ZWQsXG4gICAgX3JlZiR0aGVtZSA9IF9yZWYudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYkdGhlbWUuc3BhY2luZyxcbiAgICBjb2xvcnMgPSBfcmVmJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiAnb3B0aW9uJyxcbiAgICBjdXJzb3I6ICdkZWZhdWx0JyxcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gICAgV2Via2l0VGFwSGlnaGxpZ2h0Q29sb3I6ICdyZ2JhKDAsIDAsIDAsIDApJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogaXNTZWxlY3RlZCA/IGNvbG9ycy5wcmltYXJ5IDogaXNGb2N1c2VkID8gY29sb3JzLnByaW1hcnkyNSA6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDIwIDogaXNTZWxlY3RlZCA/IGNvbG9ycy5uZXV0cmFsMCA6ICdpbmhlcml0JyxcbiAgICBwYWRkaW5nOiBcIlwiLmNvbmNhdChzcGFjaW5nLmJhc2VVbml0ICogMiwgXCJweCBcIikuY29uY2F0KHNwYWNpbmcuYmFzZVVuaXQgKiAzLCBcInB4XCIpLFxuICAgIC8vIHByb3ZpZGUgc29tZSBhZmZvcmRhbmNlIG9uIHRvdWNoIGRldmljZXNcbiAgICAnOmFjdGl2ZSc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogIWlzRGlzYWJsZWQgPyBpc1NlbGVjdGVkID8gY29sb3JzLnByaW1hcnkgOiBjb2xvcnMucHJpbWFyeTUwIDogdW5kZWZpbmVkXG4gICAgfVxuICB9KTtcbn07XG52YXIgT3B0aW9uID0gZnVuY3Rpb24gT3B0aW9uKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkLFxuICAgIGlzRm9jdXNlZCA9IHByb3BzLmlzRm9jdXNlZCxcbiAgICBpc1NlbGVjdGVkID0gcHJvcHMuaXNTZWxlY3RlZCxcbiAgICBpbm5lclJlZiA9IHByb3BzLmlubmVyUmVmLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnb3B0aW9uJywge1xuICAgIG9wdGlvbjogdHJ1ZSxcbiAgICAnb3B0aW9uLS1pcy1kaXNhYmxlZCc6IGlzRGlzYWJsZWQsXG4gICAgJ29wdGlvbi0taXMtZm9jdXNlZCc6IGlzRm9jdXNlZCxcbiAgICAnb3B0aW9uLS1pcy1zZWxlY3RlZCc6IGlzU2VsZWN0ZWRcbiAgfSksIHtcbiAgICByZWY6IGlubmVyUmVmLFxuICAgIFwiYXJpYS1kaXNhYmxlZFwiOiBpc0Rpc2FibGVkXG4gIH0sIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xudmFyIE9wdGlvbiQxID0gT3B0aW9uO1xuXG52YXIgcGxhY2Vob2xkZXJDU1MgPSBmdW5jdGlvbiBwbGFjZWhvbGRlckNTUyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZiR0aGVtZSA9IF9yZWYudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYkdGhlbWUuc3BhY2luZyxcbiAgICBjb2xvcnMgPSBfcmVmJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiAncGxhY2Vob2xkZXInLFxuICAgIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMydcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBjb2xvcjogY29sb3JzLm5ldXRyYWw1MCxcbiAgICBtYXJnaW5MZWZ0OiBzcGFjaW5nLmJhc2VVbml0IC8gMixcbiAgICBtYXJnaW5SaWdodDogc3BhY2luZy5iYXNlVW5pdCAvIDJcbiAgfSk7XG59O1xudmFyIFBsYWNlaG9sZGVyID0gZnVuY3Rpb24gUGxhY2Vob2xkZXIocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdwbGFjZWhvbGRlcicsIHtcbiAgICBwbGFjZWhvbGRlcjogdHJ1ZVxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG52YXIgUGxhY2Vob2xkZXIkMSA9IFBsYWNlaG9sZGVyO1xuXG52YXIgY3NzID0gZnVuY3Rpb24gY3NzKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZi5pc0Rpc2FibGVkLFxuICAgIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ3NpbmdsZVZhbHVlJyxcbiAgICBncmlkQXJlYTogJzEgLyAxIC8gMiAvIDMnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWw0MCA6IGNvbG9ycy5uZXV0cmFsODAsXG4gICAgbWFyZ2luTGVmdDogc3BhY2luZy5iYXNlVW5pdCAvIDIsXG4gICAgbWFyZ2luUmlnaHQ6IHNwYWNpbmcuYmFzZVVuaXQgLyAyXG4gIH0pO1xufTtcbnZhciBTaW5nbGVWYWx1ZSA9IGZ1bmN0aW9uIFNpbmdsZVZhbHVlKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnc2luZ2xlVmFsdWUnLCB7XG4gICAgJ3NpbmdsZS12YWx1ZSc6IHRydWUsXG4gICAgJ3NpbmdsZS12YWx1ZS0taXMtZGlzYWJsZWQnOiBpc0Rpc2FibGVkXG4gIH0pLCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcbnZhciBTaW5nbGVWYWx1ZSQxID0gU2luZ2xlVmFsdWU7XG5cbnZhciBjb21wb25lbnRzID0ge1xuICBDbGVhckluZGljYXRvcjogQ2xlYXJJbmRpY2F0b3IsXG4gIENvbnRyb2w6IENvbnRyb2wkMSxcbiAgRHJvcGRvd25JbmRpY2F0b3I6IERyb3Bkb3duSW5kaWNhdG9yLFxuICBEb3duQ2hldnJvbjogRG93bkNoZXZyb24sXG4gIENyb3NzSWNvbjogQ3Jvc3NJY29uLFxuICBHcm91cDogR3JvdXAkMSxcbiAgR3JvdXBIZWFkaW5nOiBHcm91cEhlYWRpbmcsXG4gIEluZGljYXRvcnNDb250YWluZXI6IEluZGljYXRvcnNDb250YWluZXIsXG4gIEluZGljYXRvclNlcGFyYXRvcjogSW5kaWNhdG9yU2VwYXJhdG9yLFxuICBJbnB1dDogSW5wdXQkMSxcbiAgTG9hZGluZ0luZGljYXRvcjogTG9hZGluZ0luZGljYXRvcixcbiAgTWVudTogTWVudSQxLFxuICBNZW51TGlzdDogTWVudUxpc3QsXG4gIE1lbnVQb3J0YWw6IE1lbnVQb3J0YWwsXG4gIExvYWRpbmdNZXNzYWdlOiBMb2FkaW5nTWVzc2FnZSxcbiAgTm9PcHRpb25zTWVzc2FnZTogTm9PcHRpb25zTWVzc2FnZSxcbiAgTXVsdGlWYWx1ZTogTXVsdGlWYWx1ZSQxLFxuICBNdWx0aVZhbHVlQ29udGFpbmVyOiBNdWx0aVZhbHVlQ29udGFpbmVyLFxuICBNdWx0aVZhbHVlTGFiZWw6IE11bHRpVmFsdWVMYWJlbCxcbiAgTXVsdGlWYWx1ZVJlbW92ZTogTXVsdGlWYWx1ZVJlbW92ZSxcbiAgT3B0aW9uOiBPcHRpb24kMSxcbiAgUGxhY2Vob2xkZXI6IFBsYWNlaG9sZGVyJDEsXG4gIFNlbGVjdENvbnRhaW5lcjogU2VsZWN0Q29udGFpbmVyLFxuICBTaW5nbGVWYWx1ZTogU2luZ2xlVmFsdWUkMSxcbiAgVmFsdWVDb250YWluZXI6IFZhbHVlQ29udGFpbmVyXG59O1xudmFyIGRlZmF1bHRDb21wb25lbnRzID0gZnVuY3Rpb24gZGVmYXVsdENvbXBvbmVudHMocHJvcHMpIHtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgY29tcG9uZW50cyksIHByb3BzLmNvbXBvbmVudHMpO1xufTtcblxuZXhwb3J0IHsgaXNNb2JpbGVEZXZpY2UgYXMgQSwgbXVsdGlWYWx1ZUFzVmFsdWUgYXMgQiwgc2luZ2xlVmFsdWVBc1ZhbHVlIGFzIEMsIHZhbHVlVGVybmFyeSBhcyBELCBjbGFzc05hbWVzIGFzIEUsIGRlZmF1bHRDb21wb25lbnRzIGFzIEYsIGlzRG9jdW1lbnRFbGVtZW50IGFzIEcsIGNsZWFuVmFsdWUgYXMgSCwgc2Nyb2xsSW50b1ZpZXcgYXMgSSwgbm9vcCBhcyBKLCBub3ROdWxsaXNoIGFzIEssIGhhbmRsZUlucHV0Q2hhbmdlIGFzIEwsIE1lbnVQbGFjZXIgYXMgTSwgY2xlYXJJbmRpY2F0b3JDU1MgYXMgYSwgY29udGFpbmVyQ1NTIGFzIGIsIGNvbXBvbmVudHMgYXMgYywgY3NzJDEgYXMgZCwgZHJvcGRvd25JbmRpY2F0b3JDU1MgYXMgZSwgZ3JvdXBIZWFkaW5nQ1NTIGFzIGYsIGdyb3VwQ1NTIGFzIGcsIGluZGljYXRvclNlcGFyYXRvckNTUyBhcyBoLCBpbmRpY2F0b3JzQ29udGFpbmVyQ1NTIGFzIGksIGlucHV0Q1NTIGFzIGosIGxvYWRpbmdNZXNzYWdlQ1NTIGFzIGssIGxvYWRpbmdJbmRpY2F0b3JDU1MgYXMgbCwgbWVudUNTUyBhcyBtLCBtZW51TGlzdENTUyBhcyBuLCBtZW51UG9ydGFsQ1NTIGFzIG8sIG11bHRpVmFsdWVDU1MgYXMgcCwgbXVsdGlWYWx1ZUxhYmVsQ1NTIGFzIHEsIHJlbW92ZVByb3BzIGFzIHIsIHN1cHBvcnRzUGFzc2l2ZUV2ZW50cyBhcyBzLCBtdWx0aVZhbHVlUmVtb3ZlQ1NTIGFzIHQsIG5vT3B0aW9uc01lc3NhZ2VDU1MgYXMgdSwgb3B0aW9uQ1NTIGFzIHYsIHBsYWNlaG9sZGVyQ1NTIGFzIHcsIGNzcyBhcyB4LCB2YWx1ZUNvbnRhaW5lckNTUyBhcyB5LCBpc1RvdWNoQ2FwYWJsZSBhcyB6IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-select/dist/index-641ee5b8.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select/dist/react-select.esm.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/react-select/dist/react-select.esm.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NonceProvider: function() { return /* binding */ NonceProvider; },\n/* harmony export */ components: function() { return /* reexport safe */ _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_5__.c; },\n/* harmony export */ createFilter: function() { return /* reexport safe */ _Select_ef7c0426_esm_js__WEBPACK_IMPORTED_MODULE_3__.c; },\n/* harmony export */ \"default\": function() { return /* binding */ StateManagedSelect$1; },\n/* harmony export */ defaultTheme: function() { return /* reexport safe */ _Select_ef7c0426_esm_js__WEBPACK_IMPORTED_MODULE_3__.d; },\n/* harmony export */ mergeStyles: function() { return /* reexport safe */ _Select_ef7c0426_esm_js__WEBPACK_IMPORTED_MODULE_3__.m; },\n/* harmony export */ useStateManager: function() { return /* reexport safe */ _useStateManager_7e1e8489_esm_js__WEBPACK_IMPORTED_MODULE_0__.u; }\n/* harmony export */ });\n/* harmony import */ var _useStateManager_7e1e8489_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useStateManager-7e1e8489.esm.js */ \"(app-pages-browser)/./node_modules/react-select/dist/useStateManager-7e1e8489.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Select_ef7c0426_esm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Select-ef7c0426.esm.js */ \"(app-pages-browser)/./node_modules/react-select/dist/Select-ef7c0426.esm.js\");\n/* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @emotion/react */ \"(app-pages-browser)/./node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js\");\n/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/cache */ \"(app-pages-browser)/./node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js\");\n/* harmony import */ var _index_641ee5b8_esm_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index-641ee5b8.esm.js */ \"(app-pages-browser)/./node_modules/react-select/dist/index-641ee5b8.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_createSuper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babel/runtime/helpers/createSuper */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createSuper.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\n/* harmony import */ var use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! use-isomorphic-layout-effect */ \"(app-pages-browser)/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar StateManagedSelect = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_2__.forwardRef)(function (props, ref) {\n var baseSelectProps = (0,_useStateManager_7e1e8489_esm_js__WEBPACK_IMPORTED_MODULE_0__.u)(props);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_Select_ef7c0426_esm_js__WEBPACK_IMPORTED_MODULE_3__.S, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n ref: ref\n }, baseSelectProps));\n});\nvar StateManagedSelect$1 = StateManagedSelect;\n\nvar NonceProvider = (function (_ref) {\n var nonce = _ref.nonce,\n children = _ref.children,\n cacheKey = _ref.cacheKey;\n var emotionCache = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n return (0,_emotion_cache__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({\n key: cacheKey,\n nonce: nonce\n });\n }, [cacheKey, nonce]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_emotion_react__WEBPACK_IMPORTED_MODULE_19__.C, {\n value: emotionCache\n }, children);\n});\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9yZWFjdC1zZWxlY3QuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBeUU7QUFDQTtBQUNmO0FBQzNCO0FBQ2E7QUFDVztBQUMyQztBQUNuRDtBQUNOO0FBQ2lCO0FBQ1o7QUFDQTtBQUNVO0FBQ1Q7QUFDSDtBQUNIO0FBQ0c7QUFDTTtBQUM3QjtBQUNrQjtBQUNlO0FBQ1A7QUFDNUI7QUFDTztBQUNZOztBQUV0QyxzQ0FBc0MsaURBQVU7QUFDaEQsd0JBQXdCLG1FQUFlO0FBQ3ZDLHNCQUFzQixnREFBbUIsQ0FBQyxzREFBTSxFQUFFLDhFQUFRO0FBQzFEO0FBQ0EsR0FBRztBQUNILENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiw4Q0FBTztBQUM1QixXQUFXLDBEQUFXO0FBQ3RCO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNILHNCQUFzQixnREFBbUIsQ0FBQyw4Q0FBYTtBQUN2RDtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUV5RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2VsZWN0L2Rpc3QvcmVhY3Qtc2VsZWN0LmVzbS5qcz8wMjI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHUgYXMgdXNlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzJztcbmV4cG9ydCB7IHUgYXMgdXNlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGZvcndhcmRSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTIGFzIFNlbGVjdCB9IGZyb20gJy4vU2VsZWN0LWVmN2MwNDI2LmVzbS5qcyc7XG5leHBvcnQgeyBjIGFzIGNyZWF0ZUZpbHRlciwgZCBhcyBkZWZhdWx0VGhlbWUsIG0gYXMgbWVyZ2VTdHlsZXMgfSBmcm9tICcuL1NlbGVjdC1lZjdjMDQyNi5lc20uanMnO1xuaW1wb3J0IHsgQ2FjaGVQcm92aWRlciB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5leHBvcnQgeyBjIGFzIGNvbXBvbmVudHMgfSBmcm9tICcuL2luZGV4LTY0MWVlNWI4LmVzbS5qcyc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMic7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheSc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcyc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHMnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZVN1cGVyJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy90b0NvbnN1bWFibGVBcnJheSc7XG5pbXBvcnQgJ21lbW9pemUtb25lJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHknO1xuaW1wb3J0ICdyZWFjdC1kb20nO1xuaW1wb3J0ICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCAndXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5cbnZhciBTdGF0ZU1hbmFnZWRTZWxlY3QgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHJlZikge1xuICB2YXIgYmFzZVNlbGVjdFByb3BzID0gdXNlU3RhdGVNYW5hZ2VyKHByb3BzKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFNlbGVjdCwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmXG4gIH0sIGJhc2VTZWxlY3RQcm9wcykpO1xufSk7XG52YXIgU3RhdGVNYW5hZ2VkU2VsZWN0JDEgPSBTdGF0ZU1hbmFnZWRTZWxlY3Q7XG5cbnZhciBOb25jZVByb3ZpZGVyID0gKGZ1bmN0aW9uIChfcmVmKSB7XG4gIHZhciBub25jZSA9IF9yZWYubm9uY2UsXG4gICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgIGNhY2hlS2V5ID0gX3JlZi5jYWNoZUtleTtcbiAgdmFyIGVtb3Rpb25DYWNoZSA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBjcmVhdGVDYWNoZSh7XG4gICAgICBrZXk6IGNhY2hlS2V5LFxuICAgICAgbm9uY2U6IG5vbmNlXG4gICAgfSk7XG4gIH0sIFtjYWNoZUtleSwgbm9uY2VdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENhY2hlUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogZW1vdGlvbkNhY2hlXG4gIH0sIGNoaWxkcmVuKTtcbn0pO1xuXG5leHBvcnQgeyBOb25jZVByb3ZpZGVyLCBTdGF0ZU1hbmFnZWRTZWxlY3QkMSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-select/dist/react-select.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select/dist/useStateManager-7e1e8489.esm.js":
|
||
/*!************************************************************************!*\
|
||
!*** ./node_modules/react-select/dist/useStateManager-7e1e8489.esm.js ***!
|
||
\************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ u: function() { return /* binding */ useStateManager; }\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\nvar _excluded = [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\", \"inputValue\", \"menuIsOpen\", \"onChange\", \"onInputChange\", \"onMenuClose\", \"onMenuOpen\", \"value\"];\nfunction useStateManager(_ref) {\n var _ref$defaultInputValu = _ref.defaultInputValue,\n defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu,\n _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen,\n defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue,\n propsInputValue = _ref.inputValue,\n propsMenuIsOpen = _ref.menuIsOpen,\n propsOnChange = _ref.onChange,\n propsOnInputChange = _ref.onInputChange,\n propsOnMenuClose = _ref.onMenuClose,\n propsOnMenuOpen = _ref.onMenuOpen,\n propsValue = _ref.value,\n restSelectProps = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ref, _excluded);\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(propsInputValue !== undefined ? propsInputValue : defaultInputValue),\n _useState2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n stateInputValue = _useState2[0],\n setStateInputValue = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen),\n _useState4 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState3, 2),\n stateMenuIsOpen = _useState4[0],\n setStateMenuIsOpen = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(propsValue !== undefined ? propsValue : defaultValue),\n _useState6 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState5, 2),\n stateValue = _useState6[0],\n setStateValue = _useState6[1];\n var onChange = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(function (value, actionMeta) {\n if (typeof propsOnChange === 'function') {\n propsOnChange(value, actionMeta);\n }\n setStateValue(value);\n }, [propsOnChange]);\n var onInputChange = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(function (value, actionMeta) {\n var newValue;\n if (typeof propsOnInputChange === 'function') {\n newValue = propsOnInputChange(value, actionMeta);\n }\n setStateInputValue(newValue !== undefined ? newValue : value);\n }, [propsOnInputChange]);\n var onMenuOpen = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(function () {\n if (typeof propsOnMenuOpen === 'function') {\n propsOnMenuOpen();\n }\n setStateMenuIsOpen(true);\n }, [propsOnMenuOpen]);\n var onMenuClose = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(function () {\n if (typeof propsOnMenuClose === 'function') {\n propsOnMenuClose();\n }\n setStateMenuIsOpen(false);\n }, [propsOnMenuClose]);\n var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue;\n var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen;\n var value = propsValue !== undefined ? propsValue : stateValue;\n return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, restSelectProps), {}, {\n inputValue: inputValue,\n menuIsOpen: menuIsOpen,\n onChange: onChange,\n onInputChange: onInputChange,\n onMenuClose: onMenuClose,\n onMenuOpen: onMenuOpen,\n value: value\n });\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFxRTtBQUNDO0FBQ29CO0FBQzVDOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsOEZBQXdCO0FBQzlDLGtCQUFrQiwrQ0FBUTtBQUMxQixpQkFBaUIsb0ZBQWM7QUFDL0I7QUFDQTtBQUNBLG1CQUFtQiwrQ0FBUTtBQUMzQixpQkFBaUIsb0ZBQWM7QUFDL0I7QUFDQTtBQUNBLG1CQUFtQiwrQ0FBUTtBQUMzQixpQkFBaUIsb0ZBQWM7QUFDL0I7QUFDQTtBQUNBLGlCQUFpQixrREFBVztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxzQkFBc0Isa0RBQVc7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxtQkFBbUIsa0RBQVc7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsb0JBQW9CLGtEQUFXO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLFNBQVMsb0ZBQWEsQ0FBQyxvRkFBYSxHQUFHLHNCQUFzQjtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNlbGVjdC9kaXN0L3VzZVN0YXRlTWFuYWdlci03ZTFlODQ4OS5lc20uanM/NTk5MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyJztcbmltcG9ydCBfc2xpY2VkVG9BcnJheSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5JztcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG52YXIgX2V4Y2x1ZGVkID0gW1wiZGVmYXVsdElucHV0VmFsdWVcIiwgXCJkZWZhdWx0TWVudUlzT3BlblwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcImlucHV0VmFsdWVcIiwgXCJtZW51SXNPcGVuXCIsIFwib25DaGFuZ2VcIiwgXCJvbklucHV0Q2hhbmdlXCIsIFwib25NZW51Q2xvc2VcIiwgXCJvbk1lbnVPcGVuXCIsIFwidmFsdWVcIl07XG5mdW5jdGlvbiB1c2VTdGF0ZU1hbmFnZXIoX3JlZikge1xuICB2YXIgX3JlZiRkZWZhdWx0SW5wdXRWYWx1ID0gX3JlZi5kZWZhdWx0SW5wdXRWYWx1ZSxcbiAgICBkZWZhdWx0SW5wdXRWYWx1ZSA9IF9yZWYkZGVmYXVsdElucHV0VmFsdSA9PT0gdm9pZCAwID8gJycgOiBfcmVmJGRlZmF1bHRJbnB1dFZhbHUsXG4gICAgX3JlZiRkZWZhdWx0TWVudUlzT3BlID0gX3JlZi5kZWZhdWx0TWVudUlzT3BlbixcbiAgICBkZWZhdWx0TWVudUlzT3BlbiA9IF9yZWYkZGVmYXVsdE1lbnVJc09wZSA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGRlZmF1bHRNZW51SXNPcGUsXG4gICAgX3JlZiRkZWZhdWx0VmFsdWUgPSBfcmVmLmRlZmF1bHRWYWx1ZSxcbiAgICBkZWZhdWx0VmFsdWUgPSBfcmVmJGRlZmF1bHRWYWx1ZSA9PT0gdm9pZCAwID8gbnVsbCA6IF9yZWYkZGVmYXVsdFZhbHVlLFxuICAgIHByb3BzSW5wdXRWYWx1ZSA9IF9yZWYuaW5wdXRWYWx1ZSxcbiAgICBwcm9wc01lbnVJc09wZW4gPSBfcmVmLm1lbnVJc09wZW4sXG4gICAgcHJvcHNPbkNoYW5nZSA9IF9yZWYub25DaGFuZ2UsXG4gICAgcHJvcHNPbklucHV0Q2hhbmdlID0gX3JlZi5vbklucHV0Q2hhbmdlLFxuICAgIHByb3BzT25NZW51Q2xvc2UgPSBfcmVmLm9uTWVudUNsb3NlLFxuICAgIHByb3BzT25NZW51T3BlbiA9IF9yZWYub25NZW51T3BlbixcbiAgICBwcm9wc1ZhbHVlID0gX3JlZi52YWx1ZSxcbiAgICByZXN0U2VsZWN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgX2V4Y2x1ZGVkKTtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKHByb3BzSW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcHJvcHNJbnB1dFZhbHVlIDogZGVmYXVsdElucHV0VmFsdWUpLFxuICAgIF91c2VTdGF0ZTIgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGUsIDIpLFxuICAgIHN0YXRlSW5wdXRWYWx1ZSA9IF91c2VTdGF0ZTJbMF0sXG4gICAgc2V0U3RhdGVJbnB1dFZhbHVlID0gX3VzZVN0YXRlMlsxXTtcbiAgdmFyIF91c2VTdGF0ZTMgPSB1c2VTdGF0ZShwcm9wc01lbnVJc09wZW4gIT09IHVuZGVmaW5lZCA/IHByb3BzTWVudUlzT3BlbiA6IGRlZmF1bHRNZW51SXNPcGVuKSxcbiAgICBfdXNlU3RhdGU0ID0gX3NsaWNlZFRvQXJyYXkoX3VzZVN0YXRlMywgMiksXG4gICAgc3RhdGVNZW51SXNPcGVuID0gX3VzZVN0YXRlNFswXSxcbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4gPSBfdXNlU3RhdGU0WzFdO1xuICB2YXIgX3VzZVN0YXRlNSA9IHVzZVN0YXRlKHByb3BzVmFsdWUgIT09IHVuZGVmaW5lZCA/IHByb3BzVmFsdWUgOiBkZWZhdWx0VmFsdWUpLFxuICAgIF91c2VTdGF0ZTYgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGU1LCAyKSxcbiAgICBzdGF0ZVZhbHVlID0gX3VzZVN0YXRlNlswXSxcbiAgICBzZXRTdGF0ZVZhbHVlID0gX3VzZVN0YXRlNlsxXTtcbiAgdmFyIG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wc09uQ2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcm9wc09uQ2hhbmdlKHZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICB9XG4gICAgc2V0U3RhdGVWYWx1ZSh2YWx1ZSk7XG4gIH0sIFtwcm9wc09uQ2hhbmdlXSk7XG4gIHZhciBvbklucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgdmFyIG5ld1ZhbHVlO1xuICAgIGlmICh0eXBlb2YgcHJvcHNPbklucHV0Q2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBuZXdWYWx1ZSA9IHByb3BzT25JbnB1dENoYW5nZSh2YWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgfVxuICAgIHNldFN0YXRlSW5wdXRWYWx1ZShuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkID8gbmV3VmFsdWUgOiB2YWx1ZSk7XG4gIH0sIFtwcm9wc09uSW5wdXRDaGFuZ2VdKTtcbiAgdmFyIG9uTWVudU9wZW4gPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wc09uTWVudU9wZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BzT25NZW51T3BlbigpO1xuICAgIH1cbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4odHJ1ZSk7XG4gIH0sIFtwcm9wc09uTWVudU9wZW5dKTtcbiAgdmFyIG9uTWVudUNsb3NlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIGlmICh0eXBlb2YgcHJvcHNPbk1lbnVDbG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJvcHNPbk1lbnVDbG9zZSgpO1xuICAgIH1cbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4oZmFsc2UpO1xuICB9LCBbcHJvcHNPbk1lbnVDbG9zZV0pO1xuICB2YXIgaW5wdXRWYWx1ZSA9IHByb3BzSW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcHJvcHNJbnB1dFZhbHVlIDogc3RhdGVJbnB1dFZhbHVlO1xuICB2YXIgbWVudUlzT3BlbiA9IHByb3BzTWVudUlzT3BlbiAhPT0gdW5kZWZpbmVkID8gcHJvcHNNZW51SXNPcGVuIDogc3RhdGVNZW51SXNPcGVuO1xuICB2YXIgdmFsdWUgPSBwcm9wc1ZhbHVlICE9PSB1bmRlZmluZWQgPyBwcm9wc1ZhbHVlIDogc3RhdGVWYWx1ZTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcmVzdFNlbGVjdFByb3BzKSwge30sIHtcbiAgICBpbnB1dFZhbHVlOiBpbnB1dFZhbHVlLFxuICAgIG1lbnVJc09wZW46IG1lbnVJc09wZW4sXG4gICAgb25DaGFuZ2U6IG9uQ2hhbmdlLFxuICAgIG9uSW5wdXRDaGFuZ2U6IG9uSW5wdXRDaGFuZ2UsXG4gICAgb25NZW51Q2xvc2U6IG9uTWVudUNsb3NlLFxuICAgIG9uTWVudU9wZW46IG9uTWVudU9wZW4sXG4gICAgdmFsdWU6IHZhbHVlXG4gIH0pO1xufVxuXG5leHBvcnQgeyB1c2VTdGF0ZU1hbmFnZXIgYXMgdSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-select/dist/useStateManager-7e1e8489.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js":
|
||
/*!****************************************************************************************************!*\
|
||
!*** ./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js ***!
|
||
\****************************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ index; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar index = react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect ;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0L2Rpc3QvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdC5icm93c2VyLmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0M7O0FBRXhDLFlBQVksa0RBQWU7O0FBRUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QvZGlzdC91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0LmJyb3dzZXIuZXNtLmpzP2FmMDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG52YXIgaW5kZXggPSB1c2VMYXlvdXRFZmZlY3QgO1xuXG5leHBvcnQgeyBpbmRleCBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./app/dashboard/settings/page.tsx":
|
||
/*!*****************************************!*\
|
||
!*** ./app/dashboard/settings/page.tsx ***!
|
||
\*****************************************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LANGS: function() { return /* binding */ LANGS; },\n/* harmony export */ \"default\": function() { return /* binding */ Settings; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(app-pages-browser)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/building-2.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/bell.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/credit-card.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/file-text.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\");\n/* harmony import */ var _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Bell,Building2,CheckCircle2,CreditCard,FileText,Save,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/save.js\");\n/* harmony import */ var _lib_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/api */ \"(app-pages-browser)/./lib/api.ts\");\n/* harmony import */ var _barrel_optimize_names_Package_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Package!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/package.js\");\n/* harmony import */ var _components_UsersPanel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/UsersPanel */ \"(app-pages-browser)/./components/UsersPanel.tsx\");\n/* harmony import */ var _components_BrandsPanel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/BrandsPanel */ \"(app-pages-browser)/./components/BrandsPanel.tsx\");\n/* harmony import */ var react_select_country_list__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-select-country-list */ \"(app-pages-browser)/./node_modules/react-select-country-list/country-list.js\");\n/* harmony import */ var react_select_country_list__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_select_country_list__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_timezone_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-timezone-select */ \"(app-pages-browser)/./node_modules/react-timezone-select/dist/index.js\");\n/* harmony import */ var _contexts_LanguageContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/contexts/LanguageContext */ \"(app-pages-browser)/./contexts/LanguageContext.tsx\");\n/* harmony import */ var _barrel_optimize_names_Download_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=Download!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/download.js\");\n/* __next_internal_client_entry_do_not_use__ LANGS,default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst countries = react_select_country_list__WEBPACK_IMPORTED_MODULE_7___default()().getData();\nconst LANGS = [\n {\n code: \"en\",\n label: \"English\"\n },\n {\n code: \"hi\",\n label: \"हिन्दी\"\n },\n {\n code: \"kn\",\n label: \"ಕನ್ನಡ\"\n },\n {\n code: \"ta\",\n label: \"தமிழ்\"\n },\n {\n code: \"bn\",\n label: \"বাংলা\"\n }\n];\nfunction SettingsInner() {\n var _sub_plan;\n _s();\n const sp = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useSearchParams)();\n var _sp_get;\n const initial = (_sp_get = sp.get(\"section\")) !== null && _sp_get !== void 0 ? _sp_get : \"org\";\n const [active, setActive] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initial);\n const [org, setOrg] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [form, setForm] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const [saved, setSaved] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [sub, setSub] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [logs, setLogs] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [notif, setNotif] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n email: true,\n system: true,\n compliance: true,\n security: true\n });\n const { t, setLang } = (0,_contexts_LanguageContext__WEBPACK_IMPORTED_MODULE_9__.useLanguage)();\n const SECTIONS = [\n {\n id: \"org\",\n label: t.organization,\n icon: _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n {\n id: \"users\",\n label: t.users,\n icon: _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n },\n {\n id: \"brands\",\n label: t.brands,\n icon: _barrel_optimize_names_Package_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n {\n id: \"notifications\",\n label: t.notifications,\n icon: _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n {\n id: \"subscription\",\n label: t.subscription,\n icon: _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n {\n id: \"audit\",\n label: t.audit,\n icon: _barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"]\n }\n ];\n const [logoPreview, setLogoPreview] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [logoFileName, setLogoFileName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [filters, setFilters] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n user: \"\",\n module: \"\",\n from: \"\",\n to: \"\"\n });\n function downloadAuditLogs() {\n if (!logs.length) return;\n const rows = logs.map((l)=>{\n var _l_ip;\n return {\n Time: l.at ? new Date(l.at).toLocaleString(form.language || \"en\", {\n timeZone: form.timezone || \"Asia/Kolkata\"\n }) : \"\",\n User: l.user,\n Role: l.role,\n Action: l.action,\n Module: l.module,\n Details: l.details,\n IP: (_l_ip = l.ip) !== null && _l_ip !== void 0 ? _l_ip : \"\"\n };\n });\n const headers = Object.keys(rows[0]);\n const csv = [\n headers.join(\",\"),\n ...rows.map((r)=>headers.map((h)=>{\n var _r_h;\n return '\"'.concat(String((_r_h = r[h]) !== null && _r_h !== void 0 ? _r_h : \"\").replace(/\"/g, '\"\"'), '\"');\n }).join(\",\"))\n ].join(\"\\n\");\n const blob = new Blob([\n csv\n ], {\n type: \"text/csv;charset=utf-8;\"\n });\n const url = URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.href = url;\n link.download = \"audit_logs_\".concat(new Date().toISOString().slice(0, 10), \".csv\");\n link.click();\n URL.revokeObjectURL(url);\n }\n async function loadLogs() {\n const params = new URLSearchParams();\n if (filters.user) params.append(\"user\", filters.user);\n if (filters.module) params.append(\"module\", filters.module);\n if (filters.from) params.append(\"from_date\", filters.from);\n if (filters.to) params.append(\"to_date\", filters.to);\n const data = await (0,_lib_api__WEBPACK_IMPORTED_MODULE_4__.api)(\"/audit-logs?\".concat(params.toString()));\n setLogs(data);\n }\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_4__.api)(\"/organization\").then((o)=>{\n setOrg(o);\n setLogoPreview(o.logo_url || \"\");\n localStorage.setItem(\"timezone\", o.timezone);\n var _o_gstin, _o_pan, _o_address, _o_phone, _o_logo_url, _o_website, _o_timezone, _o_language, _o_contact_email, _o_country;\n setForm({\n name: o.name,\n gstin: (_o_gstin = o.gstin) !== null && _o_gstin !== void 0 ? _o_gstin : \"\",\n pan: (_o_pan = o.pan) !== null && _o_pan !== void 0 ? _o_pan : \"\",\n address: (_o_address = o.address) !== null && _o_address !== void 0 ? _o_address : \"\",\n phone: (_o_phone = o.phone) !== null && _o_phone !== void 0 ? _o_phone : \"\",\n logo_url: (_o_logo_url = o.logo_url) !== null && _o_logo_url !== void 0 ? _o_logo_url : \"\",\n website: (_o_website = o.website) !== null && _o_website !== void 0 ? _o_website : \"\",\n timezone: (_o_timezone = o.timezone) !== null && _o_timezone !== void 0 ? _o_timezone : \"Asia/Kolkata\",\n language: (_o_language = o.language) !== null && _o_language !== void 0 ? _o_language : \"en\",\n contact_email: (_o_contact_email = o.contact_email) !== null && _o_contact_email !== void 0 ? _o_contact_email : \"\",\n country: (_o_country = o.country) !== null && _o_country !== void 0 ? _o_country : \"\"\n });\n }).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_4__.api)(\"/billing/subscription\").then(setSub).catch(()=>{});\n loadLogs();\n }, []);\n async function uploadLogo(file) {\n const fd = new FormData();\n fd.append(\"file\", file);\n const token = localStorage.getItem(\"vp_token\");\n const res = await fetch(\"\".concat(_lib_api__WEBPACK_IMPORTED_MODULE_4__.apiBase, \"/brands/upload-logo\"), {\n method: \"POST\",\n headers: {\n Authorization: \"Bearer \".concat(token)\n },\n body: fd\n });\n const data = await res.json();\n setLogoPreview(data.url);\n setLogoFileName(file.name);\n setForm({\n ...form,\n logo_url: data.url\n });\n }\n async function saveOrg() {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_4__.api)(\"/organization\", {\n method: \"PUT\",\n body: JSON.stringify(form)\n });\n setLang(form.language);\n localStorage.setItem(\"timezone\", form.timezone);\n setSaved(true);\n setTimeout(()=>setSaved(false), 2000);\n }\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n loadLogs();\n }, [\n filters\n ]);\n var _sub_plan_name, _sub_status, _sub_days_remaining;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xl font-bold\",\n children: t.settings\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 170,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-[200px_1fr] gap-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"space-y-1\",\n children: SECTIONS.map((param)=>{\n let { id, label, icon: Icon } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setActive(id),\n className: \"w-full flex items-center gap-2 px-3 py-2 rounded-lg text-sm font-medium \".concat(active === id ? \"bg-brand-50 text-brand-700\" : \"text-slate-600 hover:bg-slate-50\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Icon, {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 176,\n columnNumber: 15\n }, this),\n \" \",\n label\n ]\n }, id, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 174,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n active === \"users\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_UsersPanel__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 182,\n columnNumber: 34\n }, this),\n active === \"brands\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BrandsPanel__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 183,\n columnNumber: 35\n }, this),\n active === \"org\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5 space-y-4 max-w-3xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold\",\n children: t.organization\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 187,\n columnNumber: 15\n }, this),\n saved && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-emerald-600 flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 188,\n columnNumber: 91\n }, this),\n \" Saved\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 188,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6 mb-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid lg:grid-cols-[260px_1fr] gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border rounded-xl p-6 bg-slate-50 flex flex-col items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-40 h-40 rounded-xl border bg-white overflow-hidden flex items-center justify-center\",\n children: logoPreview ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: logoPreview,\n alt: \"Organization Logo\",\n className: \"w-full h-full object-contain\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 199,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-400 text-sm\",\n children: \"No Logo\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 205,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 196,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"mt-5 w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"file\",\n accept: \"image/*\",\n className: \"hidden\",\n onChange: (e)=>{\n var _e_target_files;\n if ((_e_target_files = e.target.files) === null || _e_target_files === void 0 ? void 0 : _e_target_files[0]) {\n uploadLogo(e.target.files[0]);\n }\n }\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 214,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"cursor-pointer text-center bg-brand-600 text-white rounded-lg py-2 font-medium hover:bg-brand-700\",\n children: \"Upload Logo\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 225,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 212,\n columnNumber: 5\n }, this),\n logoFileName && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-3 text-xs text-slate-500 break-all text-center\",\n children: logoFileName\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 232,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 194,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"Organization Name\",\n value: form.name,\n onChange: (v)=>setForm({\n ...form,\n name: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 244,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"Website\",\n value: form.website,\n onChange: (v)=>setForm({\n ...form,\n website: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 250,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"GSTIN\",\n value: form.gstin,\n onChange: (v)=>setForm({\n ...form,\n gstin: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 256,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"PAN\",\n value: form.pan,\n onChange: (v)=>setForm({\n ...form,\n pan: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 262,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"Phone\",\n value: form.phone,\n onChange: (v)=>setForm({\n ...form,\n phone: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 268,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"Contact Email\",\n value: form.contact_email,\n onChange: (v)=>setForm({\n ...form,\n contact_email: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Country\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: form.country,\n onChange: (e)=>setForm({\n ...form,\n country: e.target.value\n }),\n className: \"mt-1 w-full border rounded-lg px-3 py-2\",\n children: countries.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: c.label,\n children: c.label\n }, c.value, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 289,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 280,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Language\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 297,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: form.language,\n onChange: (e)=>setForm({\n ...form,\n language: e.target.value\n }),\n className: \"mt-1 w-full border rounded-lg px-3 py-2\",\n children: LANGS.map((l)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: l.code,\n children: l.label\n }, l.code, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 305,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 299,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 296,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Timezone\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 314,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_timezone_select__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n value: form.timezone,\n onChange: (tz)=>setForm({\n ...form,\n timezone: tz.value\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 316,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 312,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"md:col-span-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Field, {\n label: \"Address\",\n value: form.address,\n onChange: (v)=>setForm({\n ...form,\n address: v\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 329,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 328,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 242,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 240,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 191,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 189,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: saveOrg,\n className: \"flex items-center gap-2 bg-brand-600 text-white px-5 py-2 rounded-lg text-sm font-semibold\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bell_Building2_CheckCircle2_CreditCard_FileText_Save_Users_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 343,\n columnNumber: 17\n }, this),\n \" \",\n t.save\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 342,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 186,\n columnNumber: 13\n }, this),\n active === \"notifications\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5 space-y-4 max-w-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold\",\n children: t.notifications\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 350,\n columnNumber: 15\n }, this),\n [\n [\n \"email\",\n \"Email notifications\"\n ],\n [\n \"system\",\n \"System alerts\"\n ],\n [\n \"compliance\",\n \"Compliance expiry alerts\"\n ],\n [\n \"security\",\n \"Security alerts\"\n ]\n ].map((param)=>{\n let [key, label] = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between py-2 border-b border-slate-100\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm text-slate-700\",\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 358,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setNotif({\n ...notif,\n [key]: !notif[key]\n }),\n className: \"w-11 h-6 rounded-full relative transition \".concat(notif[key] ? \"bg-emerald-500\" : \"bg-slate-300\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute top-0.5 h-5 w-5 rounded-full bg-white transition \".concat(notif[key] ? \"left-5\" : \"left-0.5\")\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 361,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 359,\n columnNumber: 19\n }, this)\n ]\n }, key, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 357,\n columnNumber: 17\n }, this);\n }),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-slate-400\",\n children: \"Preferences are illustrative in this build.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 365,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 349,\n columnNumber: 13\n }, this),\n active === \"subscription\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5 max-w-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-3\",\n children: t.subscription\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 371,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Row, {\n label: \"Current plan\",\n value: (_sub_plan_name = sub === null || sub === void 0 ? void 0 : (_sub_plan = sub.plan) === null || _sub_plan === void 0 ? void 0 : _sub_plan.name) !== null && _sub_plan_name !== void 0 ? _sub_plan_name : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 373,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Row, {\n label: \"Status\",\n value: (_sub_status = sub === null || sub === void 0 ? void 0 : sub.status) !== null && _sub_status !== void 0 ? _sub_status : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 374,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Row, {\n label: \"Days remaining\",\n value: (_sub_days_remaining = sub === null || sub === void 0 ? void 0 : sub.days_remaining) !== null && _sub_days_remaining !== void 0 ? _sub_days_remaining : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 375,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Row, {\n label: \"Auto-renewal\",\n value: (sub === null || sub === void 0 ? void 0 : sub.auto_renew) ? \"On\" : \"Off\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 376,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 372,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/dashboard/billing\",\n className: \"inline-block mt-4 bg-brand-600 text-white px-5 py-2 rounded-lg text-sm font-semibold\",\n children: \"Manage billing\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 378,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 370,\n columnNumber: 13\n }, this),\n active === \"audit\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card overflow-x-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center p-5 pb-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold\",\n children: \"Recent Activity\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 387,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: downloadAuditLogs,\n className: \"flex items-center gap-2 bg-brand-600 text-white px-4 py-2 rounded-lg hover:bg-brand-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 393,\n columnNumber: 5\n }, this),\n \"Download CSV\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 389,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 386,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-3 p-5 border-b\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"date\",\n value: filters.from,\n onChange: (e)=>setFilters({\n ...filters,\n from: e.target.value\n }),\n className: \"border rounded-lg px-3 py-2\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 399,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"date\",\n value: filters.to,\n onChange: (e)=>setFilters({\n ...filters,\n to: e.target.value\n }),\n className: \"border rounded-lg px-3 py-2\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 408,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: filters.module,\n onChange: (e)=>setFilters({\n ...filters,\n module: e.target.value\n }),\n className: \"border rounded-lg px-3 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n children: \"All Modules\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 424,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"organization\",\n children: \"Organization\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 425,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"products\",\n children: \"Product\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 426,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"branding\",\n children: \"Branding\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 427,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"users\",\n children: \"Users\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 428,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"compliance\",\n children: \"Compliance\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 429,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 417,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n placeholder: \"Search User\",\n value: filters.user,\n onChange: (e)=>setFilters({\n ...filters,\n user: e.target.value\n }),\n className: \"border rounded-lg px-3 py-2\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 432,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setFilters({\n user: \"\",\n module: \"\",\n from: \"\",\n to: \"\"\n }),\n className: \"px-4 py-2 rounded-lg bg-slate-200\",\n children: \"Clear\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 441,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 397,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"w-full text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n className: \"bg-slate-50 text-slate-500 text-left\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Time\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 459,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 460,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Action\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 461,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Details\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 462,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Module\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 463,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 458,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 457,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n className: \"divide-y divide-slate-100\",\n children: [\n logs.map((l, i)=>/*#__PURE__*/ {\n var _l_action;\n var _l_user, _l_role;\n return (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-slate-500\",\n children: l.at ? new Date(l.at).toLocaleString(form.language || \"en\", {\n timeZone: form.timezone || \"Asia/Kolkata\",\n dateStyle: \"medium\",\n timeStyle: \"short\"\n }) : \"\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 469,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-medium\",\n children: (_l_user = l.user) !== null && _l_user !== void 0 ? _l_user : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 479,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-slate-500 capitalize\",\n children: (_l_role = l.role) !== null && _l_role !== void 0 ? _l_role : \"User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 483,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 478,\n columnNumber: 22\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 capitalize\",\n children: (_l_action = l.action) === null || _l_action === void 0 ? void 0 : _l_action.replace(\".\", \" \")\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 487,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-slate-500\",\n children: l.details\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 488,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"px-2 py-1 rounded-full text-xs font-medium\\n \".concat(l.module === \"Product\" ? \"bg-blue-100 text-blue-700\" : l.module === \"Organization\" ? \"bg-green-100 text-green-700\" : l.module === \"Branding\" ? \"bg-purple-100 text-purple-700\" : l.module === \"Notification\" ? \"bg-yellow-100 text-yellow-700\" : \"bg-slate-100 text-slate-700\"),\n children: l.module\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 490,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 489,\n columnNumber: 23\n }, this)\n ]\n }, i, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 468,\n columnNumber: 21\n }, this);\n }),\n logs.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n colSpan: 4,\n className: \"px-4 py-10 text-center text-slate-400\",\n children: \"No activity yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 509,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 509,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 466,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 456,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 385,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 181,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 171,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 169,\n columnNumber: 5\n }, this);\n}\n_s(SettingsInner, \"+1CFbOTcVcsEaDdfW1RS4PrdWWg=\", false, function() {\n return [\n next_navigation__WEBPACK_IMPORTED_MODULE_3__.useSearchParams,\n _contexts_LanguageContext__WEBPACK_IMPORTED_MODULE_9__.useLanguage\n ];\n});\n_c = SettingsInner;\nfunction Settings() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {\n fallback: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-slate-400\",\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 522,\n columnNumber: 25\n }, void 0),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SettingsInner, {}, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 523,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 522,\n columnNumber: 5\n }, this);\n}\n_c1 = Settings;\nfunction Field(param) {\n let { label, value, onChange } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 531,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n value: value !== null && value !== void 0 ? value : \"\",\n onChange: (e)=>onChange(e.target.value),\n className: \"mt-1 w-full px-3 py-2 rounded-lg border border-slate-200 text-sm\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 532,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 530,\n columnNumber: 5\n }, this);\n}\n_c2 = Field;\nfunction Row(param) {\n let { label, value } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between border-b border-slate-100 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-500\",\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 540,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-slate-800 capitalize\",\n children: value\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 541,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\settings\\\\page.tsx\",\n lineNumber: 539,\n columnNumber: 5\n }, this);\n}\n_c3 = Row;\nvar _c, _c1, _c2, _c3;\n$RefreshReg$(_c, \"SettingsInner\");\n$RefreshReg$(_c1, \"Settings\");\n$RefreshReg$(_c2, \"Field\");\n$RefreshReg$(_c3, \"Row\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9kYXNoYm9hcmQvc2V0dGluZ3MvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNzRDtBQUN6QjtBQUNxQjtBQUc1QjtBQUNVO0FBQ087QUFDVTtBQUNFO0FBQ0M7QUFDRDtBQUVNO0FBQ3BCO0FBQ0c7QUFFeEMsTUFBTXNCLFlBQVlMLGdFQUFXQSxHQUFHTSxPQUFPO0FBQ2hDLE1BQU1DLFFBQVE7SUFDbkI7UUFBRUMsTUFBTTtRQUFNQyxPQUFPO0lBQVU7SUFDL0I7UUFBRUQsTUFBTTtRQUFNQyxPQUFPO0lBQVM7SUFDOUI7UUFBRUQsTUFBTTtRQUFNQyxPQUFPO0lBQVE7SUFDN0I7UUFBRUQsTUFBTTtRQUFNQyxPQUFPO0lBQVE7SUFDN0I7UUFBRUQsTUFBTTtRQUFNQyxPQUFPO0lBQVE7Q0FDOUIsQ0FBQztBQUlGLFNBQVNDO1FBdVZ3Q0M7O0lBdFYvQyxNQUFNQyxLQUFLekIsZ0VBQWVBO1FBQ1Z5QjtJQUFoQixNQUFNQyxVQUFVRCxDQUFBQSxVQUFBQSxHQUFHRSxHQUFHLENBQUMsd0JBQVBGLHFCQUFBQSxVQUFxQjtJQUNyQyxNQUFNLENBQUNHLFFBQVFDLFVBQVUsR0FBRy9CLCtDQUFRQSxDQUFDNEI7SUFDckMsTUFBTSxDQUFDSSxLQUFLQyxPQUFPLEdBQUdqQywrQ0FBUUEsQ0FBTTtJQUNwQyxNQUFNLENBQUNrQyxNQUFNQyxRQUFRLEdBQUduQywrQ0FBUUEsQ0FBTSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQ29DLE9BQU9DLFNBQVMsR0FBR3JDLCtDQUFRQSxDQUFDO0lBQ25DLE1BQU0sQ0FBQzBCLEtBQUtZLE9BQU8sR0FBR3RDLCtDQUFRQSxDQUFNO0lBQ3BDLE1BQU0sQ0FBQ3VDLE1BQU1DLFFBQVEsR0FBR3hDLCtDQUFRQSxDQUFRLEVBQUU7SUFDMUMsTUFBTSxDQUFDeUMsT0FBT0MsU0FBUyxHQUFHMUMsK0NBQVFBLENBQUM7UUFBRTJDLE9BQU87UUFBTUMs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UUFBL0IsRUFBRWxKLEtBQUssRUFBRW1KLEtBQUssRUFBRU4sUUFBUSxFQUFPLEdBQS9CO0lBQ2IscUJBQ0UsOERBQUM3STtRQUFNK0gsV0FBVTs7MEJBQ2YsOERBQUNXO2dCQUFLWCxXQUFVOzBCQUF1Qi9IOzs7Ozs7MEJBQ3ZDLDhEQUFDMkk7Z0JBQU1RLE9BQU9BLGtCQUFBQSxtQkFBQUEsUUFBUztnQkFBSU4sVUFBVSxDQUFDQyxJQUFNRCxTQUFTQyxFQUFFQyxNQUFNLENBQUNJLEtBQUs7Z0JBQ2pFcEIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2xCO01BUlNtQjtBQVNULFNBQVNTLElBQUksS0FBcUI7UUFBckIsRUFBRTNKLEtBQUssRUFBRW1KLEtBQUssRUFBTyxHQUFyQjtJQUNYLHFCQUNFLDhEQUFDckI7UUFBSUMsV0FBVTs7MEJBQ2IsOERBQUNXO2dCQUFLWCxXQUFVOzBCQUFrQi9IOzs7Ozs7MEJBQ2xDLDhEQUFDMEk7Z0JBQUtYLFdBQVU7MEJBQXlDb0I7Ozs7Ozs7Ozs7OztBQUcvRDtNQVBTUSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9hcHAvZGFzaGJvYXJkL3NldHRpbmdzL3BhZ2UudHN4P2I5ZTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5pbXBvcnQgeyBTdXNwZW5zZSwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xuaW1wb3J0IHtcbiAgQnVpbGRpbmcyLCBCZWxsLCBDcmVkaXRDYXJkLCBGaWxlVGV4dCwgU2F2ZSwgQ2hlY2tDaXJjbGUyLCBVc2VycyBhcyBVc2Vyc0ljb24sXG59IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL2xpYi9hcGlcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XG5pbXBvcnQgVXNlcnNQYW5lbCBmcm9tIFwiQC9jb21wb25lbnRzL1VzZXJzUGFuZWxcIjtcbmltcG9ydCBCcmFuZHNQYW5lbCBmcm9tIFwiQC9jb21wb25lbnRzL0JyYW5kc1BhbmVsXCI7XG5pbXBvcnQgY291bnRyeUxpc3QgZnJvbSBcInJlYWN0LXNlbGVjdC1jb3VudHJ5LWxpc3RcIjtcbmltcG9ydCBUaW1lem9uZVNlbGVjdCBmcm9tIFwicmVhY3QtdGltZXpvbmUtc2VsZWN0XCI7XG5pbXBvcnQgeyBULCBkZXRlY3RMYW5nIH0gZnJvbSBcIkAvbGliL2kxOG5cIjtcbmltcG9ydCB7IHVzZUxhbmd1YWdlIH0gZnJvbSBcIkAvY29udGV4dHMvTGFuZ3VhZ2VDb250ZXh0XCI7XG5pbXBvcnQgeyAgYXBpQmFzZSB9IGZyb20gXCJAL2xpYi9hcGlcIjtcbmltcG9ydCB7IERvd25sb2FkIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xuXG5jb25zdCBjb3VudHJpZXMgPSBjb3VudHJ5TGlzdCgpLmdldERhdGEoKTtcbmV4cG9ydCBjb25zdCBMQU5HUyA9IFtcbiAgeyBjb2RlOiBcImVuXCIsIGxhYmVsOiBcIkVuZ2xpc2hcIiB9LFxuICB7IGNvZGU6IFwiaGlcIiwgbGFiZWw6IFwi4KS54KS/4KSo4KWN4KSm4KWAXCIgfSxcbiAgeyBjb2RlOiBcImtuXCIsIGxhYmVsOiBcIuCyleCyqOCzjeCyqOCyoVwiIH0sXG4gIHsgY29kZTogXCJ0YVwiLCBsYWJlbDogXCLgrqTgrq7grr/grrTgr41cIiB9LFxuICB7IGNvZGU6IFwiYm5cIiwgbGFiZWw6IFwi4Kas4Ka+4KaC4Kay4Ka+XCIgfSxcbl07XG5cblxuXG5mdW5jdGlvbiBTZXR0aW5nc0lubmVyKCkge1xuICBjb25zdCBzcCA9IHVzZVNlYXJjaFBhcmFtcygpO1xuICBjb25zdCBpbml0aWFsID0gc3AuZ2V0KFwic2VjdGlvblwiKSA/PyBcIm9yZ1wiO1xuICBjb25zdCBbYWN0aXZlLCBzZXRBY3RpdmVdID0gdXNlU3RhdGUoaW5pdGlhbCk7XG4gIGNvbnN0IFtvcmcsIHNldE9yZ10gPSB1c2VTdGF0ZTxhbnk+KG51bGwpO1xuICBjb25zdCBbZm9ybSwgc2V0Rm9ybV0gPSB1c2VTdGF0ZTxhbnk+KHt9KTtcbiAgY29uc3QgW3NhdmVkLCBzZXRTYXZlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzdWIsIHNldFN1Yl0gPSB1c2VTdGF0ZTxhbnk+KG51bGwpO1xuICBjb25zdCBbbG9ncywgc2V0TG9nc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbbm90aWYsIHNldE5vdGlmXSA9IHVzZVN0YXRlKHsgZW1haWw6IHRydWUsIHN5c3RlbTogdHJ1ZSwgY29tcGxpYW5jZTogdHJ1ZSwgc2VjdXJpdHk6IHRydWUgfSk7XG4gIGNvbnN0IHsgdCwgc2V0TGFuZyB9ID0gdXNlTGFuZ3VhZ2UoKTtcbiAgIGNvbnN0IFNFQ1RJT05TID0gW1xuICAgIHsgaWQ6IFwib3JnXCIsIGxhYmVsOiB0Lm9yZ2FuaXphdGlvbiwgaWNvbjogQnVpbGRpbmcyIH0sXG4gICAgeyBpZDogXCJ1c2Vyc1wiLCBsYWJlbDogdC51c2VycywgaWNvbjogVXNlcnNJY29uIH0sXG4gICAgeyBpZDogXCJicmFuZHNcIiwgbGFiZWw6IHQuYnJhbmRzLCBpY29uOiBQYWNrYWdlIH0sXG4gICAgeyBpZDogXCJub3RpZmljYXRpb25zXCIsIGxhYmVsOiB0Lm5vdGlmaWNhdGlvbnMsIGljb246IEJlbGwgfSxcbiAgICB7IGlkOiBcInN1YnNjcmlwdGlvblwiLCBsYWJlbDogdC5zdWJzY3JpcHRpb24sIGljb246IENyZWRpdENhcmQgfSxcbiAgICB7IGlkOiBcImF1ZGl0XCIsIGxhYmVsOiB0LmF1ZGl0LCBpY29uOiBGaWxlVGV4dCB9LFxuICBdO1xuICBcbiAgY29uc3QgW2xvZ29QcmV2aWV3LCBzZXRMb2dvUHJldmlld10gPSB1c2VTdGF0ZShcIlwiKTtcbmNvbnN0IFtsb2dvRmlsZU5hbWUsIHNldExvZ29GaWxlTmFtZV0gPSB1c2VTdGF0ZShcIlwiKTtcbmNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlKHtcbiAgdXNlcjogXCJcIixcbiAgbW9kdWxlOiBcIlwiLFxuICBmcm9tOiBcIlwiLFxuICB0bzogXCJcIixcbn0pO1xuZnVuY3Rpb24gZG93bmxvYWRBdWRpdExvZ3MoKSB7XG4gIGlmICghbG9ncy5sZW5ndGgpIHJldHVybjtcblxuICBjb25zdCByb3dzID0gbG9ncy5tYXAoKGwpID0+ICh7XG4gICAgVGltZTogbC5hdFxuICAgICAgPyBuZXcgRGF0ZShsLmF0KS50b0xvY2FsZVN0cmluZyhmb3JtLmxhbmd1YWdlIHx8IFwiZW5cIiwge1xuICAgICAgICAgIHRpbWVab25lOiBmb3JtLnRpbWV6b25lIHx8IFwiQXNpYS9Lb2xrYXRhXCIsXG4gICAgICAgIH0pXG4gICAgICA6IFwiXCIsXG4gICAgVXNlcjogbC51c2VyLFxuICAgIFJvbGU6IGwucm9sZSxcbiAgICBBY3Rpb246IGwuYWN0aW9uLFxuICAgIE1vZHVsZTogbC5tb2R1bGUsXG4gICAgRGV0YWlsczogbC5kZXRhaWxzLFxuICAgIElQOiBsLmlwID8/IFwiXCIsXG4gIH0pKTtcblxuICBjb25zdCBoZWFkZXJzID0gT2JqZWN0LmtleXMocm93c1swXSk7XG5cbiAgY29uc3QgY3N2ID0gW1xuICAgIGhlYWRlcnMuam9pbihcIixcIiksXG4gICAgLi4ucm93cy5tYXAoKHIpID0+XG4gICAgICBoZWFkZXJzXG4gICAgICAgIC5tYXAoKGgpID0+IGBcIiR7U3RyaW5nKChyIGFzIGFueSlbaF0gPz8gXCJcIikucmVwbGFjZSgvXCIvZywgJ1wiXCInKX1cImApXG4gICAgICAgIC5qb2luKFwiLFwiKVxuICAgICksXG4gIF0uam9pbihcIlxcblwiKTtcblxuICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2Nzdl0sIHtcbiAgICB0eXBlOiBcInRleHQvY3N2O2NoYXJzZXQ9dXRmLTg7XCIsXG4gIH0pO1xuXG4gIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cbiAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICBsaW5rLmhyZWYgPSB1cmw7XG4gIGxpbmsuZG93bmxvYWQgPSBgYXVkaXRfbG9nc18ke25ldyBEYXRlKClcbiAgICAudG9JU09TdHJpbmcoKVxuICAgIC5zbGljZSgwLCAxMCl9LmNzdmA7XG5cbiAgbGluay5jbGljaygpO1xuXG4gIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRMb2dzKCkge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG5cbiAgaWYgKGZpbHRlcnMudXNlcikgcGFyYW1zLmFwcGVuZChcInVzZXJcIiwgZmlsdGVycy51c2VyKTtcbiAgaWYgKGZpbHRlcnMubW9kdWxlKSBwYXJhbXMuYXBwZW5kKFwibW9kdWxlXCIsIGZpbHRlcnMubW9kdWxlKTtcbiAgaWYgKGZpbHRlcnMuZnJvbSkgcGFyYW1zLmFwcGVuZChcImZyb21fZGF0ZVwiLCBmaWx0ZXJzLmZyb20pO1xuICBpZiAoZmlsdGVycy50bykgcGFyYW1zLmFwcGVuZChcInRvX2RhdGVcIiwgZmlsdGVycy50byk7XG5cbiAgY29uc3QgZGF0YSA9IGF3YWl0IGFwaShgL2F1ZGl0LWxvZ3M/JHtwYXJhbXMudG9TdHJpbmcoKX1gKTtcbiAgc2V0TG9ncyhkYXRhKTtcbn1cblxuXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhcGkoXCIvb3JnYW5pemF0aW9uXCIpLnRoZW4oKG8pID0+IHtcbiAgICAgIHNldE9yZyhvKTtcbiAgICAgc2V0TG9nb1ByZXZpZXcoby5sb2dvX3VybCB8fCBcIlwiKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidGltZXpvbmVcIiwgby50aW1lem9uZSk7XG4gICAgXG4gICAgICBzZXRGb3JtKHsgbmFtZTogby5uYW1lLCBnc3Rpbjogby5nc3RpbiA/PyBcIlwiLCBwYW46IG8ucGFuID8/IFwiXCIsYWRkcmVzczogby5hZGRyZXNzID8/IFwiXCIsIHBob25lOiBvLnBob25lID8/IFwiXCIsbG9nb191cmw6by5sb2dvX3VybCA/PyBcIlwiLFxuICAgICAgICB3ZWJzaXRlOiBvLndlYnNpdGUgPz8gXCJcIiwgdGltZXpvbmU6IG8udGltZXpvbmUgPz8gXCJBc2lhL0tvbGthdGFcIiwgbGFuZ3VhZ2U6IG8ubGFuZ3VhZ2UgPz8gXCJlblwiLCBjb250YWN0X2VtYWlsOiBvLmNvbnRhY3RfZW1haWwgPz8gXCJcIixjb3VudHJ5OiBvLmNvdW50cnkgPz8gXCJcIix9KTtcbiAgICB9KS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgXG4gICAgYXBpKFwiL2JpbGxpbmcvc3Vic2NyaXB0aW9uXCIpLnRoZW4oc2V0U3ViKS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgbG9hZExvZ3MoKTtcbiAgfSwgW10pO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHVwbG9hZExvZ28oZmlsZTogRmlsZSkge1xuICBjb25zdCBmZCA9IG5ldyBGb3JtRGF0YSgpO1xuICBmZC5hcHBlbmQoXCJmaWxlXCIsIGZpbGUpO1xuXG4gIGNvbnN0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ2cF90b2tlblwiKTtcblxuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHthcGlCYXNlfS9icmFuZHMvdXBsb2FkLWxvZ29gLCB7XG4gICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICBoZWFkZXJzOiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICB9LFxuICAgIGJvZHk6IGZkLFxuICB9KTtcblxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICBzZXRMb2dvUHJldmlldyhkYXRhLnVybCk7XG4gIHNldExvZ29GaWxlTmFtZShmaWxlLm5hbWUpO1xuXG4gIHNldEZvcm0oe1xuICAgIC4uLmZvcm0sXG4gICAgbG9nb191cmw6IGRhdGEudXJsLFxuICB9KTtcbn1cblxuICBhc3luYyBmdW5jdGlvbiBzYXZlT3JnKCkge1xuICAgIGF3YWl0IGFwaShcIi9vcmdhbml6YXRpb25cIiwgeyBtZXRob2Q6IFwiUFVUXCIsIGJvZHk6IEpTT04uc3RyaW5naWZ5KGZvcm0pIH0pO1xuICAgIHNldExhbmcoZm9ybS5sYW5ndWFnZSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJ0aW1lem9uZVwiLCBmb3JtLnRpbWV6b25lKTtcbiAgICBcbiAgICBzZXRTYXZlZCh0cnVlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHNldFNhdmVkKGZhbHNlKSwgMjAwMCk7XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICBsb2FkTG9ncygpO1xufSwgW2ZpbHRlcnNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS01XCI+XG4gICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGRcIj57dC5zZXR0aW5nc308L2gyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIG1kOmdyaWQtY29scy1bMjAwcHhfMWZyXSBnYXAtNVwiPlxuICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgIHtTRUNUSU9OUy5tYXAoKHsgaWQsIGxhYmVsLCBpY29uOiBJY29uIH0pID0+IChcbiAgICAgICAgICAgIDxidXR0b24ga2V5PXtpZH0gb25DbGljaz17KCkgPT4gc2V0QWN0aXZlKGlkKX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTMgcHktMiByb3VuZGVkLWxnIHRleHQtc20gZm9udC1tZWRpdW0gJHthY3RpdmUgPT09IGlkID8gXCJiZy1icmFuZC01MCB0ZXh0LWJyYW5kLTcwMFwiIDogXCJ0ZXh0LXNsYXRlLTYwMCBob3ZlcjpiZy1zbGF0ZS01MFwifWB9PlxuICAgICAgICAgICAgICA8SWNvbiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz4ge2xhYmVsfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvbmF2PlxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2FjdGl2ZSA9PT0gXCJ1c2Vyc1wiICYmIDxVc2Vyc1BhbmVsIC8+fVxuICAgICAgICAgIHthY3RpdmUgPT09IFwiYnJhbmRzXCIgJiYgPEJyYW5kc1BhbmVsIC8+fVxuXG4gICAgICAgICAge2FjdGl2ZSA9PT0gXCJvcmdcIiAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQgcC01IHNwYWNlLXktNCBtYXgtdy0zeGxcIj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtYm9sZFwiPnt0Lm9yZ2FuaXphdGlvbn08L2gzPlxuICAgICAgICAgICAgICB7c2F2ZWQgJiYgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZW1lcmFsZC02MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj48Q2hlY2tDaXJjbGUyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPiBTYXZlZDwvZGl2Pn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNiBtYi02XCI+XG5cbiAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGxnOmdyaWQtY29scy1bMjYwcHhfMWZyXSBnYXAtOFwiPlxuXG4gIHsvKiBMRUZUIFNJREUgKi99XG4gIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyIHJvdW5kZWQteGwgcC02IGJnLXNsYXRlLTUwIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCI+XG5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInctNDAgaC00MCByb3VuZGVkLXhsIGJvcmRlciBiZy13aGl0ZSBvdmVyZmxvdy1oaWRkZW4gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cblxuICAgICAge2xvZ29QcmV2aWV3ID8gKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgc3JjPXtsb2dvUHJldmlld31cbiAgICAgICAgICBhbHQ9XCJPcmdhbml6YXRpb24gTG9nb1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY29udGFpblwiXG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNsYXRlLTQwMCB0ZXh0LXNtXCI+XG4gICAgICAgICAgTm8gTG9nb1xuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuXG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWwgY2xhc3NOYW1lPVwibXQtNSB3LWZ1bGxcIj5cblxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXG4gICAgICAgIGNsYXNzTmFtZT1cImhpZGRlblwiXG4gICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgIGlmIChlLnRhcmdldC5maWxlcz8uWzBdKSB7XG4gICAgICAgICAgICB1cGxvYWRMb2dvKGUudGFyZ2V0LmZpbGVzWzBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAvPlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHRleHQtY2VudGVyIGJnLWJyYW5kLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgcHktMiBmb250LW1lZGl1bSBob3ZlcjpiZy1icmFuZC03MDBcIj5cbiAgICAgICAgVXBsb2FkIExvZ29cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9sYWJlbD5cblxuICAgIHtsb2dvRmlsZU5hbWUgJiYgKFxuICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMyB0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIGJyZWFrLWFsbCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICB7bG9nb0ZpbGVOYW1lfVxuICAgICAgPC9wPlxuICAgICl9XG5cbiAgPC9kaXY+XG5cbiAgey8qIFJJR0hUIFNJREUgKi99XG4gIDxkaXY+XG5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTRcIj5cblxuICAgICAgPEZpZWxkXG4gICAgICAgIGxhYmVsPVwiT3JnYW5pemF0aW9uIE5hbWVcIlxuICAgICAgICB2YWx1ZT17Zm9ybS5uYW1lfVxuICAgICAgICBvbkNoYW5nZT17KHY6c3RyaW5nKT0+c2V0Rm9ybSh7Li4uZm9ybSxuYW1lOnZ9KX1cbiAgICAgIC8+XG5cbiAgICAgIDxGaWVsZFxuICAgICAgICBsYWJlbD1cIldlYnNpdGVcIlxuICAgICAgICB2YWx1ZT17Zm9ybS53ZWJzaXRlfVxuICAgICAgICBvbkNoYW5nZT17KHY6c3RyaW5nKT0+c2V0Rm9ybSh7Li4uZm9ybSx3ZWJzaXRlOnZ9KX1cbiAgICAgIC8+XG5cbiAgICAgIDxGaWVsZFxuICAgICAgICBsYWJlbD1cIkdTVElOXCJcbiAgICAgICAgdmFsdWU9e2Zvcm0uZ3N0aW59XG4gICAgICAgIG9uQ2hhbmdlPXsodjpzdHJpbmcpPT5zZXRGb3JtKHsuLi5mb3JtLGdzdGluOnZ9KX1cbiAgICAgIC8+XG5cbiAgICAgIDxGaWVsZFxuICAgICAgICBsYWJlbD1cIlBBTlwiXG4gICAgICAgIHZhbHVlPXtmb3JtLnBhbn1cbiAgICAgICAgb25DaGFuZ2U9eyh2OnN0cmluZyk9PnNldEZvcm0oey4uLmZvcm0scGFuOnZ9KX1cbiAgICAgIC8+XG5cbiAgICAgIDxGaWVsZFxuICAgICAgICBsYWJlbD1cIlBob25lXCJcbiAgICAgICAgdmFsdWU9e2Zvcm0ucGhvbmV9XG4gICAgICAgIG9uQ2hhbmdlPXsodjpzdHJpbmcpPT5zZXRGb3JtKHsuLi5mb3JtLHBob25lOnZ9KX1cbiAgICAgIC8+XG5cbiAgICAgIDxGaWVsZFxuICAgICAgICBsYWJlbD1cIkNvbnRhY3QgRW1haWxcIlxuICAgICAgICB2YWx1ZT17Zm9ybS5jb250YWN0X2VtYWlsfVxuICAgICAgICBvbkNoYW5nZT17KHY6c3RyaW5nKT0+c2V0Rm9ybSh7Li4uZm9ybSxjb250YWN0X2VtYWlsOnZ9KX1cbiAgICAgIC8+XG5cbiAgICAgIDxsYWJlbD5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPkNvdW50cnk8L3NwYW4+XG5cbiAgICAgICAgPHNlbGVjdFxuICAgICAgICAgIHZhbHVlPXtmb3JtLmNvdW50cnl9XG4gICAgICAgICAgb25DaGFuZ2U9eyhlKT0+c2V0Rm9ybSh7Li4uZm9ybSxjb3VudHJ5OmUudGFyZ2V0LnZhbHVlfSl9XG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtMSB3LWZ1bGwgYm9yZGVyIHJvdW5kZWQtbGcgcHgtMyBweS0yXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtjb3VudHJpZXMubWFwKChjKT0+KFxuICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2MudmFsdWV9IHZhbHVlPXtjLmxhYmVsfT5cbiAgICAgICAgICAgICAge2MubGFiZWx9XG4gICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICA8L2xhYmVsPlxuXG4gICAgICA8bGFiZWw+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj5MYW5ndWFnZTwvc3Bhbj5cblxuICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgdmFsdWU9e2Zvcm0ubGFuZ3VhZ2V9XG4gICAgICAgICAgb25DaGFuZ2U9eyhlKT0+c2V0Rm9ybSh7Li4uZm9ybSxsYW5ndWFnZTplLnRhcmdldC52YWx1ZX0pfVxuICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTEgdy1mdWxsIGJvcmRlciByb3VuZGVkLWxnIHB4LTMgcHktMlwiXG4gICAgICAgID5cbiAgICAgICAgICB7TEFOR1MubWFwKChsKT0+KFxuICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2wuY29kZX0gdmFsdWU9e2wuY29kZX0+XG4gICAgICAgICAgICAgIHtsLmxhYmVsfVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtZDpjb2wtc3Bhbi0yXCI+XG4gICAgICAgIDxsYWJlbD5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+VGltZXpvbmU8L3NwYW4+XG5cbiAgICAgICAgICA8VGltZXpvbmVTZWxlY3RcbiAgICAgICAgICAgIHZhbHVlPXtmb3JtLnRpbWV6b25lfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyh0ejphbnkpPT5cbiAgICAgICAgICAgICAgc2V0Rm9ybSh7XG4gICAgICAgICAgICAgICAgLi4uZm9ybSxcbiAgICAgICAgICAgICAgICB0aW1lem9uZTp0ei52YWx1ZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWQ6Y29sLXNwYW4tMlwiPlxuICAgICAgICA8RmllbGRcbiAgICAgICAgICBsYWJlbD1cIkFkZHJlc3NcIlxuICAgICAgICAgIHZhbHVlPXtmb3JtLmFkZHJlc3N9XG4gICAgICAgICAgb25DaGFuZ2U9eyh2OnN0cmluZyk9PnNldEZvcm0oey4uLmZvcm0sYWRkcmVzczp2fSl9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbjwvZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9e3NhdmVPcmd9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGJnLWJyYW5kLTYwMCB0ZXh0LXdoaXRlIHB4LTUgcHktMiByb3VuZGVkLWxnIHRleHQtc20gZm9udC1zZW1pYm9sZFwiPlxuICAgICAgICAgICAgICAgIDxTYXZlIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPiB7dC5zYXZlfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7YWN0aXZlID09PSBcIm5vdGlmaWNhdGlvbnNcIiAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQgcC01IHNwYWNlLXktNCBtYXgtdy14bFwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZm9udC1ib2xkXCI+e3Qubm90aWZpY2F0aW9uc308L2gzPlxuICAgICAgICAgICAgICB7W1xuICAgICAgICAgICAgICAgIFtcImVtYWlsXCIsIFwiRW1haWwgbm90aWZpY2F0aW9uc1wiXSxcbiAgICAgICAgICAgICAgICBbXCJzeXN0ZW1cIiwgXCJTeXN0ZW0gYWxlcnRzXCJdLFxuICAgICAgICAgICAgICAgIFtcImNvbXBsaWFuY2VcIiwgXCJDb21wbGlhbmNlIGV4cGlyeSBhbGVydHNcIl0sXG4gICAgICAgICAgICAgICAgW1wic2VjdXJpdHlcIiwgXCJTZWN1cml0eSBhbGVydHNcIl0sXG4gICAgICAgICAgICAgIF0ubWFwKChba2V5LCBsYWJlbF0pID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17a2V5fSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMiBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtc2xhdGUtNzAwXCI+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gc2V0Tm90aWYoeyAuLi5ub3RpZiwgW2tleV06ICEobm90aWYgYXMgYW55KVtrZXldIH0pfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2B3LTExIGgtNiByb3VuZGVkLWZ1bGwgcmVsYXRpdmUgdHJhbnNpdGlvbiAkeyhub3RpZiBhcyBhbnkpW2tleV0gPyBcImJnLWVtZXJhbGQtNTAwXCIgOiBcImJnLXNsYXRlLTMwMFwifWB9PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2BhYnNvbHV0ZSB0b3AtMC41IGgtNSB3LTUgcm91bmRlZC1mdWxsIGJnLXdoaXRlIHRyYW5zaXRpb24gJHsobm90aWYgYXMgYW55KVtrZXldID8gXCJsZWZ0LTVcIiA6IFwibGVmdC0wLjVcIn1gfSAvPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwXCI+UHJlZmVyZW5jZXMgYXJlIGlsbHVzdHJhdGl2ZSBpbiB0aGlzIGJ1aWxkLjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7YWN0aXZlID09PSBcInN1YnNjcmlwdGlvblwiICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBwLTUgbWF4LXcteGxcIj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtYm9sZCBtYi0zXCI+e3Quc3Vic2NyaXB0aW9ufTwvaDM+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICA8Um93IGxhYmVsPVwiQ3VycmVudCBwbGFuXCIgdmFsdWU9e3N1Yj8ucGxhbj8ubmFtZSA/PyBcIuKAlFwifSAvPlxuICAgICAgICAgICAgICAgIDxSb3cgbGFiZWw9XCJTdGF0dXNcIiB2YWx1ZT17c3ViPy5zdGF0dXMgPz8gXCLigJRcIn0gLz5cbiAgICAgICAgICAgICAgICA8Um93IGxhYmVsPVwiRGF5cyByZW1haW5pbmdcIiB2YWx1ZT17c3ViPy5kYXlzX3JlbWFpbmluZyA/PyBcIuKAlFwifSAvPlxuICAgICAgICAgICAgICAgIDxSb3cgbGFiZWw9XCJBdXRvLXJlbmV3YWxcIiB2YWx1ZT17c3ViPy5hdXRvX3JlbmV3ID8gXCJPblwiIDogXCJPZmZcIn0gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JpbGxpbmdcIiBjbGFzc05hbWU9XCJpbmxpbmUtYmxvY2sgbXQtNCBiZy1icmFuZC02MDAgdGV4dC13aGl0ZSBweC01IHB5LTIgcm91bmRlZC1sZyB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIj5cbiAgICAgICAgICAgICAgICBNYW5hZ2UgYmlsbGluZ1xuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2FjdGl2ZSA9PT0gXCJhdWRpdFwiICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBvdmVyZmxvdy14LWF1dG9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgcC01IHBiLTNcIj5cbiAgPGgzIGNsYXNzTmFtZT1cImZvbnQtYm9sZFwiPlJlY2VudCBBY3Rpdml0eTwvaDM+XG5cbiAgPGJ1dHRvblxuICAgIG9uQ2xpY2s9e2Rvd25sb2FkQXVkaXRMb2dzfVxuICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGJnLWJyYW5kLTYwMCB0ZXh0LXdoaXRlIHB4LTQgcHktMiByb3VuZGVkLWxnIGhvdmVyOmJnLWJyYW5kLTcwMFwiXG4gID5cbiAgICA8RG93bmxvYWQgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XG4gICAgRG93bmxvYWQgQ1NWXG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTMgcC01IGJvcmRlci1iXCI+XG5cbiAgPGlucHV0XG4gICAgdHlwZT1cImRhdGVcIlxuICAgIHZhbHVlPXtmaWx0ZXJzLmZyb219XG4gICAgb25DaGFuZ2U9eyhlKSA9PlxuICAgICAgc2V0RmlsdGVycyh7IC4uLmZpbHRlcnMsIGZyb206IGUudGFyZ2V0LnZhbHVlIH0pXG4gICAgfVxuICAgIGNsYXNzTmFtZT1cImJvcmRlciByb3VuZGVkLWxnIHB4LTMgcHktMlwiXG4gIC8+XG5cbiAgPGlucHV0XG4gICAgdHlwZT1cImRhdGVcIlxuICAgIHZhbHVlPXtmaWx0ZXJzLnRvfVxuICAgIG9uQ2hhbmdlPXsoZSkgPT5cbiAgICAgIHNldEZpbHRlcnMoeyAuLi5maWx0ZXJzLCB0bzogZS50YXJnZXQudmFsdWUgfSlcbiAgICB9XG4gICAgY2xhc3NOYW1lPVwiYm9yZGVyIHJvdW5kZWQtbGcgcHgtMyBweS0yXCJcbiAgLz5cblxuICA8c2VsZWN0XG4gICAgdmFsdWU9e2ZpbHRlcnMubW9kdWxlfVxuICAgIG9uQ2hhbmdlPXsoZSkgPT5cbiAgICAgIHNldEZpbHRlcnMoeyAuLi5maWx0ZXJzLCBtb2R1bGU6IGUudGFyZ2V0LnZhbHVlIH0pXG4gICAgfVxuICAgIGNsYXNzTmFtZT1cImJvcmRlciByb3VuZGVkLWxnIHB4LTMgcHktMlwiXG4gID5cbiAgICA8b3B0aW9uIHZhbHVlPVwiXCI+QWxsIE1vZHVsZXM8L29wdGlvbj5cbiAgICA8b3B0aW9uIHZhbHVlPVwib3JnYW5pemF0aW9uXCI+T3JnYW5pemF0aW9uPC9vcHRpb24+XG4gICAgPG9wdGlvbiB2YWx1ZT1cInByb2R1Y3RzXCI+UHJvZHVjdDwvb3B0aW9uPlxuICAgIDxvcHRpb24gdmFsdWU9XCJicmFuZGluZ1wiPkJyYW5kaW5nPC9vcHRpb24+XG4gICAgPG9wdGlvbiB2YWx1ZT1cInVzZXJzXCI+VXNlcnM8L29wdGlvbj5cbiAgICA8b3B0aW9uIHZhbHVlPVwiY29tcGxpYW5jZVwiPkNvbXBsaWFuY2U8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG5cbiAgPGlucHV0XG4gICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggVXNlclwiXG4gICAgdmFsdWU9e2ZpbHRlcnMudXNlcn1cbiAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICBzZXRGaWx0ZXJzKHsgLi4uZmlsdGVycywgdXNlcjogZS50YXJnZXQudmFsdWUgfSlcbiAgICB9XG4gICAgY2xhc3NOYW1lPVwiYm9yZGVyIHJvdW5kZWQtbGcgcHgtMyBweS0yXCJcbiAgLz5cblxuICA8YnV0dG9uXG4gICAgb25DbGljaz17KCkgPT5cbiAgICAgIHNldEZpbHRlcnMoe1xuICAgICAgICB1c2VyOiBcIlwiLFxuICAgICAgICBtb2R1bGU6IFwiXCIsXG4gICAgICAgIGZyb206IFwiXCIsXG4gICAgICAgIHRvOiBcIlwiLFxuICAgICAgfSlcbiAgICB9XG4gICAgY2xhc3NOYW1lPVwicHgtNCBweS0yIHJvdW5kZWQtbGcgYmctc2xhdGUtMjAwXCJcbiAgPlxuICAgIENsZWFyXG4gIDwvYnV0dG9uPlxuXG48L2Rpdj5cbiAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cInctZnVsbCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgPHRoZWFkIGNsYXNzTmFtZT1cImJnLXNsYXRlLTUwIHRleHQtc2xhdGUtNTAwIHRleHQtbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNCBweS0zIGZvbnQtbWVkaXVtXCI+VGltZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj5Vc2VyPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTQgcHktMyBmb250LW1lZGl1bVwiPkFjdGlvbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj5EZXRhaWxzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTQgcHktMyBmb250LW1lZGl1bVwiPk1vZHVsZTwvdGg+XG4gICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzTmFtZT1cImRpdmlkZS15IGRpdmlkZS1zbGF0ZS0xMDBcIj5cbiAgICAgICAgICAgICAgICAgIHtsb2dzLm1hcCgobCwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8dHIga2V5PXtpfT5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICB7bC5hdFxuICAgICAgICA/IG5ldyBEYXRlKGwuYXQpLnRvTG9jYWxlU3RyaW5nKGZvcm0ubGFuZ3VhZ2UgfHwgXCJlblwiLCB7XG4gICAgICAgICAgICB0aW1lWm9uZTogZm9ybS50aW1lem9uZSB8fCBcIkFzaWEvS29sa2F0YVwiLFxuICAgICAgICAgICAgZGF0ZVN0eWxlOiBcIm1lZGl1bVwiLFxuICAgICAgICAgICAgdGltZVN0eWxlOiBcInNob3J0XCIsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBcIlwifVxuICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zXCI+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPlxuICAgICAgICB7bC51c2VyID8/IFwi4oCUXCJ9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1zbGF0ZS01MDAgY2FwaXRhbGl6ZVwiPlxuICAgICAgICB7bC5yb2xlID8/IFwiVXNlclwifVxuICAgIDwvZGl2PlxuPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIGNhcGl0YWxpemVcIj57bC5hY3Rpb24/LnJlcGxhY2UoXCIuXCIsIFwiIFwiKX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJweC00IHB5LTMgdGV4dC1zbGF0ZS01MDBcIj57bC5kZXRhaWxzfTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTQgcHktM1wiPlxuICA8c3BhblxuICAgIGNsYXNzTmFtZT17YHB4LTIgcHktMSByb3VuZGVkLWZ1bGwgdGV4dC14cyBmb250LW1lZGl1bVxuICAgICAgJHtcbiAgICAgICAgbC5tb2R1bGUgPT09IFwiUHJvZHVjdFwiXG4gICAgICAgICAgPyBcImJnLWJsdWUtMTAwIHRleHQtYmx1ZS03MDBcIlxuICAgICAgICAgIDogbC5tb2R1bGUgPT09IFwiT3JnYW5pemF0aW9uXCJcbiAgICAgICAgICA/IFwiYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tNzAwXCJcbiAgICAgICAgICA6IGwubW9kdWxlID09PSBcIkJyYW5kaW5nXCJcbiAgICAgICAgICA/IFwiYmctcHVycGxlLTEwMCB0ZXh0LXB1cnBsZS03MDBcIlxuICAgICAgICAgIDogbC5tb2R1bGUgPT09IFwiTm90aWZpY2F0aW9uXCJcbiAgICAgICAgICA/IFwiYmcteWVsbG93LTEwMCB0ZXh0LXllbGxvdy03MDBcIlxuICAgICAgICAgIDogXCJiZy1zbGF0ZS0xMDAgdGV4dC1zbGF0ZS03MDBcIlxuICAgICAgfWB9XG4gID5cbiAgICB7bC5tb2R1bGV9XG4gIDwvc3Bhbj5cbjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIHtsb2dzLmxlbmd0aCA9PT0gMCAmJiA8dHI+PHRkIGNvbFNwYW49ezR9IGNsYXNzTmFtZT1cInB4LTQgcHktMTAgdGV4dC1jZW50ZXIgdGV4dC1zbGF0ZS00MDBcIj5ObyBhY3Rpdml0eSB5ZXQuPC90ZD48L3RyPn1cbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2V0dGluZ3MoKSB7XG4gIHJldHVybiAoXG4gICAgPFN1c3BlbnNlIGZhbGxiYWNrPXs8ZGl2IGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNDAwXCI+TG9hZGluZ+KApjwvZGl2Pn0+XG4gICAgICA8U2V0dGluZ3NJbm5lciAvPlxuICAgIDwvU3VzcGVuc2U+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEZpZWxkKHsgbGFiZWwsIHZhbHVlLCBvbkNoYW5nZSB9OiBhbnkpIHtcbiAgcmV0dXJuIChcbiAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2tcIj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj57bGFiZWx9PC9zcGFuPlxuICAgICAgPGlucHV0IHZhbHVlPXt2YWx1ZSA/PyBcIlwifSBvbkNoYW5nZT17KGUpID0+IG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgY2xhc3NOYW1lPVwibXQtMSB3LWZ1bGwgcHgtMyBweS0yIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgdGV4dC1zbVwiIC8+XG4gICAgPC9sYWJlbD5cbiAgKTtcbn1cbmZ1bmN0aW9uIFJvdyh7IGxhYmVsLCB2YWx1ZSB9OiBhbnkpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgcHktMlwiPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbGF0ZS01MDBcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS04MDAgY2FwaXRhbGl6ZVwiPnt2YWx1ZX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsiU3VzcGVuc2UiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkxpbmsiLCJ1c2VTZWFyY2hQYXJhbXMiLCJCdWlsZGluZzIiLCJCZWxsIiwiQ3JlZGl0Q2FyZCIsIkZpbGVUZXh0IiwiU2F2ZSIsIkNoZWNrQ2lyY2xlMiIsIlVzZXJzIiwiVXNlcnNJY29uIiwiYXBpIiwiUGFja2FnZSIsIlVzZXJzUGFuZWwiLCJCcmFuZHNQYW5lbCIsImNvdW50cnlMaXN0IiwiVGltZXpvbmVTZWxlY3QiLCJ1c2VMYW5ndWFnZSIsImFwaUJhc2UiLCJEb3dubG9hZCIsImNvdW50cmllcyIsImdldERhdGEiLCJMQU5HUyIsImNvZGUiLCJsYWJlbCIsIlNldHRpbmdzSW5uZXIiLCJzdWIiLCJzcCIsImluaXRpYWwiLCJnZXQiLCJhY3RpdmUiLCJzZXRBY3RpdmUiLCJvcmciLCJzZXRPcmciLCJmb3JtIiwic2V0Rm9ybSIsInNhdmVkIiwic2V0U2F2ZWQiLCJzZXRTdWIiLCJsb2dzIiwic2V0TG9ncyIsIm5vdGlmIiwic2V0Tm90aWYiLCJlbWFpbCIsInN5c3RlbSIsImNvbXBsaWFuY2UiLCJzZWN1cml0eSIsInQiLCJzZXRMYW5nIiwiU0VDVElPTlMiLCJpZCIsIm9yZ2FuaXphdGlvbiIsImljb24iLCJ1c2VycyIsImJyYW5kcyIsIm5vdGlmaWNhdGlvbnMiLCJzdWJzY3JpcHRpb24iLCJhdWRpdCIsImxvZ29QcmV2aWV3Iiwic2V0TG9nb1ByZXZpZXciLCJsb2dvRmlsZU5hbWUiLCJzZXRMb2dvRmlsZU5hbWUiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsInVzZXIiLCJtb2R1bGUiLCJmcm9tIiwidG8iLCJkb3dubG9hZEF1ZGl0TG9ncyIsImxlbmd0aCIsInJvd3MiLCJtYXAiLCJsIiwiVGltZSIsImF0IiwiRGF0ZSIsInRvTG9jYWxlU3RyaW5nIiwibGFuZ3VhZ2UiLCJ0aW1lWm9uZSIsInRpbWV6b25lIiwiVXNlciIsIlJvbGUiLCJyb2xlIiwiQWN0aW9uIiwiYWN0aW9uIiwiTW9kdWxlIiwiRGV0YWlscyIsImRldGFpbHMiLCJJUCIsImlwIiwiaGVhZGVycyIsIk9iamVjdCIsImtleXMiLCJjc3YiLCJqb2luIiwiciIsImgiLCJTdHJpbmciLCJyZXBsYWNlIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwibGluayIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImhyZWYiLCJkb3dubG9hZCIsInRvSVNPU3RyaW5nIiwic2xpY2UiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsImxvYWRMb2dzIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiZGF0YSIsInRvU3RyaW5nIiwidGhlbiIsIm8iLCJsb2dvX3VybCIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJuYW1lIiwiZ3N0aW4iLCJwYW4iLCJhZGRyZXNzIiwicGhvbmUiLCJ3ZWJzaXRlIiwiY29udGFjdF9lbWFpbCIsImNvdW50cnkiLCJjYXRjaCIsInVwbG9hZExvZ28iLCJmaWxlIiwiZmQiLCJGb3JtRGF0YSIsInRva2VuIiwiZ2V0SXRlbSIsInJlcyIsImZldGNoIiwibWV0aG9kIiwiQXV0aG9yaXphdGlvbiIsImJvZHkiLCJqc29uIiwic2F2ZU9yZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXRUaW1lb3V0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJzZXR0aW5ncyIsIm5hdiIsIkljb24iLCJidXR0b24iLCJvbkNsaWNrIiwiaDMiLCJpbWciLCJzcmMiLCJhbHQiLCJzcGFuIiwiaW5wdXQiLCJhY2NlcHQiLCJvbkNoYW5nZSIsImUiLCJ0YXJnZXQiLCJmaWxlcyIsInAiLCJGaWVsZCIsInZhbHVlIiwidiIsInNlbGVjdCIsImMiLCJvcHRpb24iLCJ0eiIsInNhdmUiLCJrZXkiLCJSb3ciLCJwbGFuIiwic3RhdHVzIiwiZGF5c19yZW1haW5pbmciLCJhdXRvX3JlbmV3IiwicGxhY2Vob2xkZXIiLCJ0YWJsZSIsInRoZWFkIiwidHIiLCJ0aCIsInRib2R5IiwiaSIsInRkIiwiZGF0ZVN0eWxlIiwidGltZVN0eWxlIiwiY29sU3BhbiIsIlNldHRpbmdzIiwiZmFsbGJhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/dashboard/settings/page.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/BrandsPanel.tsx":
|
||
/*!************************************!*\
|
||
!*** ./components/BrandsPanel.tsx ***!
|
||
\************************************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ BrandsPanel; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,Package,Pencil,Plus,Trash2,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/package.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,Package,Pencil,Plus,Trash2,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,Package,Pencil,Plus,Trash2,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/eye.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,Package,Pencil,Plus,Trash2,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/pencil.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,Package,Pencil,Plus,Trash2,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,Package,Pencil,Plus,Trash2,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _lib_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/api */ \"(app-pages-browser)/./lib/api.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\nfunction BrandsPanel() {\n _s();\n const empty = {\n name: \"\",\n logo_url: \"\",\n description: \"\"\n };\n const [brands, setBrands] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [show, setShow] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [editing, setEditing] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [form, setForm] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(empty);\n const [logoFile, setLogoFile] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [viewOpen, setViewOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [brandProducts, setBrandProducts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [brandName, setBrandName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n async function loadBrands() {\n try {\n const data = await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/brands\");\n setBrands(data);\n } catch (err) {\n console.error(err);\n }\n }\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n loadBrands();\n }, []);\n function openAdd() {\n setEditing(null);\n setForm(empty);\n setShow(true);\n }\n async function viewProducts(brand) {\n try {\n const data = await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/brands/\".concat(brand.id));\n setBrandName(data.name);\n setBrandProducts(data.products || []);\n setViewOpen(true);\n } catch (err) {\n console.error(err);\n }\n }\n function openEdit(brand) {\n setEditing(brand);\n var _brand_name, _brand_logo_url, _brand_description;\n setForm({\n name: (_brand_name = brand.name) !== null && _brand_name !== void 0 ? _brand_name : \"\",\n logo_url: (_brand_logo_url = brand.logo_url) !== null && _brand_logo_url !== void 0 ? _brand_logo_url : \"\",\n description: (_brand_description = brand.description) !== null && _brand_description !== void 0 ? _brand_description : \"\"\n });\n setShow(true);\n }\n async function uploadLogo() {\n if (!logoFile) return form.logo_url;\n const data = new FormData();\n data.append(\"file\", logoFile);\n const res = await fetch(\"http://localhost:8000/brands/upload-logo\", {\n method: \"POST\",\n body: data\n });\n const json = await res.json();\n return json.url;\n }\n async function save() {\n const logo_url = await uploadLogo();\n const body = {\n ...form,\n logo_url\n };\n if (editing) {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/brands/\".concat(editing.id), {\n method: \"PUT\",\n body: JSON.stringify(body)\n });\n } else {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/brands\", {\n method: \"POST\",\n body: JSON.stringify(body)\n });\n }\n setShow(false);\n loadBrands();\n }\n async function remove(id) {\n if (!confirm(\"Delete this brand?\")) return;\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/brands/\".concat(id), {\n method: \"DELETE\"\n });\n loadBrands();\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xl font-bold flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"w-6 h-6 text-brand-600\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 128,\n columnNumber: 13\n }, this),\n \"Brands\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 127,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-slate-500 mt-1\",\n children: \"Manage all organization brands.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 132,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: openAdd,\n className: \"flex items-center gap-2 rounded-lg bg-brand-600 px-4 py-2 text-white font-medium hover:bg-brand-700 transition\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n size: 18\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 141,\n columnNumber: 11\n }, this),\n \"Add Brand\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 124,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"min-w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n className: \"bg-slate-50 border-b\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-6 py-4 text-left text-sm font-semibold text-slate-600\",\n children: \"Brand\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 157,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-6 py-4 text-left text-sm font-semibold text-slate-600\",\n children: \"Description\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 161,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-6 py-4 text-center text-sm font-semibold text-slate-600\",\n children: \"Products\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 165,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-6 py-4 text-center text-sm font-semibold text-slate-600\",\n children: \"Actions\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 169,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 155,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 153,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: [\n brands.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n colSpan: 4,\n className: \"py-16 text-center text-slate-400\",\n children: \"No brands found.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 183,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 181,\n columnNumber: 15\n }, this),\n brands.map((brand)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n className: \"border-b last:border-b-0 hover:bg-slate-50 transition\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-6 py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 w-10 rounded-lg bg-brand-100 flex items-center justify-center\",\n children: brand.logo_url ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: brand.logo_url,\n alt: brand.name,\n className: \"h-10 w-10 rounded-lg object-cover\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 208,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-5 w-5 text-brand-600\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 214,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 205,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-semibold text-slate-800\",\n children: brand.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 221,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 219,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 203,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 201,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-6 py-4 text-sm text-slate-600 max-w-md\",\n children: brand.description || \"-\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 231,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-6 py-4 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"rounded-full bg-slate-100 px-3 py-1 text-xs font-semibold\",\n children: brand.product_count\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 236,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 235,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-6 py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>viewProducts(brand),\n className: \"rounded-lg border border-slate-200 p-2 hover:bg-green-50 hover:text-green-600 transition\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n size: 18\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 248,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 244,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>openEdit(brand),\n className: \"rounded-lg border border-slate-200 p-2 hover:bg-blue-50 hover:text-blue-600 transition\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n size: 18\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 255,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 251,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>remove(brand.id),\n className: \"rounded-lg border border-slate-200 p-2 hover:bg-red-50 hover:text-red-600 transition\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n size: 18\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 262,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 258,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 243,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 241,\n columnNumber: 17\n }, this)\n ]\n }, brand.id, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 196,\n columnNumber: 15\n }, this))\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 177,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 149,\n columnNumber: 7\n }, this),\n viewOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-6xl rounded-2xl bg-white shadow-2xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between border-b px-6 py-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xl font-bold text-slate-800\",\n children: [\n brandName,\n \" Products\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 291,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-slate-500\",\n children: [\n \"Total Products : \",\n brandProducts.length\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 295,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setViewOpen(false),\n className: \"rounded-lg p-2 hover:bg-slate-100\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n size: 20\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 305,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 301,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 287,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-h-[70vh] overflow-auto\",\n children: brandProducts.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"py-20 text-center text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"mx-auto mb-3 h-10 w-10 text-slate-300\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 318,\n columnNumber: 13\n }, this),\n \"No Products Found\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 316,\n columnNumber: 11\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"min-w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n className: \"sticky top-0 bg-slate-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-5 py-4 text-left text-sm font-semibold\",\n children: \"Image\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 332,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-5 py-4 text-left text-sm font-semibold\",\n children: \"Product\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 336,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-5 py-4 text-left text-sm font-semibold\",\n children: \"SKU\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 342,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-5 py-4 text-center text-sm font-semibold\",\n children: \"QRs\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 346,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-5 py-4 text-center text-sm font-semibold\",\n children: \"Status\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 350,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 330,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 328,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: brandProducts.map((p)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n className: \"border-b hover:bg-slate-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-5 py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-14 w-14 overflow-hidden rounded-lg border bg-slate-100\",\n children: p.image_url ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: p.image_url,\n alt: p.name,\n className: \"h-full w-full object-cover\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 375,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-full items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-6 w-6 text-slate-400\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 385,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 383,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 371,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 369,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-5 py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-semibold text-slate-800\",\n children: p.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 399,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 397,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-5 py-4 text-slate-600\",\n children: p.sku || \"-\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 413,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-5 py-4 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"rounded-full bg-purple-100 px-3 py-1 text-xs font-bold text-purple-700\",\n children: p.qr_count\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 423,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 421,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-5 py-4 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"rounded-full px-3 py-1 text-xs font-semibold \".concat(p.status === \"active\" ? \"bg-green-100 text-green-700\" : p.status === \"draft\" ? \"bg-yellow-100 text-yellow-700\" : \"bg-red-100 text-red-700\"),\n children: p.status\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 435,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 433,\n columnNumber: 19\n }, this)\n ]\n }, p.id, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 362,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 358,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 326,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 312,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end border-t px-6 py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setViewOpen(false),\n className: \"rounded-lg bg-brand-600 px-5 py-2 font-medium text-white hover:bg-brand-700\",\n children: \"Close\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 465,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 463,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 283,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 281,\n columnNumber: 3\n }, this),\n show && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-50 flex items-center justify-center bg-black/40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-lg rounded-xl bg-white shadow-xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between border-b px-6 py-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold\",\n children: editing ? \"Edit Brand\" : \"Add Brand\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 489,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShow(false),\n className: \"rounded-lg p-2 hover:bg-slate-100\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_Package_Pencil_Plus_Trash2_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n size: 18\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 497,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 493,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 487,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4 p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"mb-1 block text-sm font-medium\",\n children: \"Brand Name\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 506,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n value: form.name,\n onChange: (e)=>setForm({\n ...form,\n name: e.target.value\n }),\n className: \"w-full rounded-lg border border-slate-300 px-3 py-2 focus:border-brand-500 focus:outline-none\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 510,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 504,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"mb-1 block text-sm font-medium\",\n children: \"Brand Logo\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 521,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"file\",\n accept: \"image/*\",\n onChange: (e)=>{\n var _e_target_files;\n if ((_e_target_files = e.target.files) === null || _e_target_files === void 0 ? void 0 : _e_target_files.length) {\n setLogoFile(e.target.files[0]);\n }\n },\n className: \"w-full rounded-lg border border-slate-300 px-3 py-2\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 525,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 520,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"mb-1 block text-sm font-medium\",\n children: \"Description\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 539,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n rows: 4,\n value: form.description,\n onChange: (e)=>setForm({\n ...form,\n description: e.target.value\n }),\n className: \"w-full rounded-lg border border-slate-300 px-3 py-2 focus:border-brand-500 focus:outline-none\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 543,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 537,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 502,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end gap-3 border-t px-6 py-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShow(false),\n className: \"rounded-lg border border-slate-300 px-5 py-2 hover:bg-slate-100\",\n children: \"Cancel\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 561,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: save,\n className: \"rounded-lg bg-brand-600 px-5 py-2 font-medium text-white hover:bg-brand-700\",\n children: editing ? \"Update Brand\" : \"Create Brand\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 568,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 559,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 485,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 483,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\BrandsPanel.tsx\",\n lineNumber: 120,\n columnNumber: 5\n }, this);\n}\n_s(BrandsPanel, \"8Rl30zCL9MG9+cpMUJ/yktjXfVU=\");\n_c = BrandsPanel;\nvar _c;\n$RefreshReg$(_c, \"BrandsPanel\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvQnJhbmRzUGFuZWwudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNEM7QUFRdEI7QUFDVTtBQUVqQixTQUFTUzs7SUFDdEIsTUFBTUMsUUFBUTtRQUNaQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsYUFBYTtJQUNmO0lBRUEsTUFBTSxDQUFDQyxRQUFRQyxVQUFVLEdBQUdkLCtDQUFRQSxDQUFRLEVBQUU7SUFDOUMsTUFBTSxDQUFDZSxNQUFNQyxRQUFRLEdBQUdoQiwrQ0FBUUEsQ0FBQztJQUNqQyxNQUFNLENBQUNpQixTQUFTQyxXQUFXLEdBQUdsQiwrQ0FBUUEsQ0FBTTtJQUM1QyxNQUFNLENBQUNtQixNQUFNQyxRQUFRLEdBQUdwQiwrQ0FBUUEsQ0FBQ1M7SUFDakMsTUFBTSxDQUFDWSxVQUFVQyxZQUFZLEdBQUd0QiwrQ0FBUUEsQ0FBYztJQUN0RCxNQUFNLENBQUN1QixVQUFVQyxZQUFZLEdBQUd4QiwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNLENBQUN5QixlQUFlQyxpQkFBaUIsR0FBRzFCLCtDQUFRQSxDQUFRLEVBQUU7SUFDNUQsTUFBTSxDQUFDMkIsV0FBV0MsYUFBYSxHQUFHNUIsK0NBQVFBLENBQUM7SUFFekMsZUFBZTZCO1FBQ2IsSUFBSTtZQUNGLE1BQU1DLE9BQU8sTUFBTXZCLDZDQUFHQSxDQUFDO1lBQ3ZCTyxVQUFVZ0I7UUFDWixFQUFFLE9BQU9DLEtBQUs7WUFDWkMsUUFBUUMsS0FBSyxDQUFDRjtRQUNoQjtJQUNGO0lBRUFoQyxnREFBU0EsQ0FBQztRQUNSOEI7SUFDRixHQUFHLEVBQUU7SUFFTCxTQUFTSztRQUNQaEIsV0FBVztRQUNYRSxRQUFRWDtRQUNSTyxRQUFRO0lBQ1Y7SUFDQSxlQUFlbUIsYUFBYUMsS0FBVTtRQUN0QyxJQUFJO1lBQ0YsTUFBTU4sT0FBTyxNQUFNdkIsNkNBQUdBLENBQUMsV0FBb0IsT0FBVDZCLE1BQU1DLEVBQUU7WUFFMUNULGFBQWFF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SUFBSTs0Q0FDaEJ5RSxVQUFVLENBQUNDLElBQ1RoRSxRQUFRO29EQUFFLEdBQUdELElBQUk7b0RBQUVULE1BQU0wRSxFQUFFQyxNQUFNLENBQUNILEtBQUs7Z0RBQUM7NENBRTFDM0IsV0FBVTs7Ozs7Ozs7Ozs7OzhDQUtkLDhEQUFDRDs7c0RBQ2IsOERBQUMwQjs0Q0FBTXpCLFdBQVU7c0RBQWlDOzs7Ozs7c0RBSWxELDhEQUFDMEI7NENBQ0NLLE1BQUs7NENBQ0xDLFFBQU87NENBQ1BKLFVBQVUsQ0FBQ0M7b0RBQ0xBO2dEQUFKLEtBQUlBLGtCQUFBQSxFQUFFQyxNQUFNLENBQUNHLEtBQUssY0FBZEosc0NBQUFBLGdCQUFnQmxCLE1BQU0sRUFBRTtvREFDMUI1QyxZQUFZOEQsRUFBRUMsTUFBTSxDQUFDRyxLQUFLLENBQUMsRUFBRTtnREFDL0I7NENBQ0Y7NENBQ0FqQyxXQUFVOzs7Ozs7Ozs7Ozs7OENBSUEsOERBQUNEOztzREFFQyw4REFBQzBCOzRDQUFNekIsV0FBVTtzREFBaUM7Ozs7OztzREFJbEQsOERBQUNrQzs0Q0FDQ0MsTUFBTTs0Q0FDTlIsT0FBTy9ELEtBQUtQLFdBQVc7NENBQ3ZCdUUsVUFBVSxDQUFDQyxJQUNUaEUsUUFBUTtvREFDTixHQUFHRCxJQUFJO29EQUNQUCxhQUFhd0UsRUFBRUMsTUFBTSxDQUFDSCxLQUFLO2dEQUM3Qjs0Q0FFRjNCLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FPaEIsOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FFYiw4REFBQ0c7b0NBQ0NDLFNBQVMsSUFBTTNDLFFBQVE7b0NBQ3ZCdUMsV0FBVTs4Q0FDWDs7Ozs7OzhDQUlELDhEQUFDRztvQ0FDQ0MsU0FBU1Y7b0NBQ1RNLFdBQVU7OENBRVR0QyxVQUFVLGlCQUFpQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhNUM7R0EzakJ3QlQ7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9CcmFuZHNQYW5lbC50c3g/MTYxMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHtcclxuICBQbHVzLFxyXG4gIFBlbmNpbCxcclxuICBUcmFzaDIsXHJcbiAgWCxcclxuICBQYWNrYWdlLFxyXG4gIEV5ZSxcclxufSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL2xpYi9hcGlcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJyYW5kc1BhbmVsKCkge1xyXG4gIGNvbnN0IGVtcHR5ID0ge1xyXG4gICAgbmFtZTogXCJcIixcclxuICAgIGxvZ29fdXJsOiBcIlwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwiXCIsXHJcbiAgfTtcclxuXHJcbiAgY29uc3QgW2JyYW5kcywgc2V0QnJhbmRzXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XHJcbiAgY29uc3QgW3Nob3csIHNldFNob3ddID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IFtlZGl0aW5nLCBzZXRFZGl0aW5nXSA9IHVzZVN0YXRlPGFueT4obnVsbCk7XHJcbiAgY29uc3QgW2Zvcm0sIHNldEZvcm1dID0gdXNlU3RhdGUoZW1wdHkpO1xyXG4gIGNvbnN0IFtsb2dvRmlsZSwgc2V0TG9nb0ZpbGVdID0gdXNlU3RhdGU8RmlsZSB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFt2aWV3T3Blbiwgc2V0Vmlld09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5jb25zdCBbYnJhbmRQcm9kdWN0cywgc2V0QnJhbmRQcm9kdWN0c10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xyXG5jb25zdCBbYnJhbmROYW1lLCBzZXRCcmFuZE5hbWVdID0gdXNlU3RhdGUoXCJcIik7XHJcblxyXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRCcmFuZHMoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgYXBpKFwiL2JyYW5kc1wiKTtcclxuICAgICAgc2V0QnJhbmRzKGRhdGEpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBsb2FkQnJhbmRzKCk7XHJcbiAgfSwgW10pO1xyXG5cclxuICBmdW5jdGlvbiBvcGVuQWRkKCkge1xyXG4gICAgc2V0RWRpdGluZyhudWxsKTtcclxuICAgIHNldEZvcm0oZW1wdHkpO1xyXG4gICAgc2V0U2hvdyh0cnVlKTtcclxuICB9XHJcbiAgYXN5bmMgZnVuY3Rpb24gdmlld1Byb2R1Y3RzKGJyYW5kOiBhbnkpIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGFwaShgL2JyYW5kcy8ke2JyYW5kLmlkfWApO1xyXG5cclxuICAgIHNldEJyYW5kTmFtZShkYXRhLm5hbWUpO1xyXG4gICAgc2V0QnJhbmRQcm9kdWN0cyhkYXRhLnByb2R1Y3RzIHx8IFtdKTtcclxuICAgIHNldFZpZXdPcGVuKHRydWUpO1xyXG4gIH0gY2F0Y2ggKGVycikge1xyXG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gIH1cclxufVxyXG4gIGZ1bmN0aW9uIG9wZW5FZGl0KGJyYW5kOiBhbnkpIHtcclxuICAgIHNldEVkaXRpbmcoYnJhbmQpO1xyXG4gICAgc2V0Rm9ybSh7XHJcbiAgICAgIG5hbWU6IGJyYW5kLm5hbWUgPz8gXCJcIixcclxuICAgICAgbG9nb191cmw6IGJyYW5kLmxvZ29fdXJsID8/IFwiXCIsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBicmFuZC5kZXNjcmlwdGlvbiA/PyBcIlwiLFxyXG4gICAgfSk7XHJcbiAgICBzZXRTaG93KHRydWUpO1xyXG4gIH1cclxuICBhc3luYyBmdW5jdGlvbiB1cGxvYWRMb2dvKCkge1xyXG4gICAgaWYgKCFsb2dvRmlsZSkgcmV0dXJuIGZvcm0ubG9nb191cmw7XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZGF0YS5hcHBlbmQoXCJmaWxlXCIsIGxvZ29GaWxlKTtcclxuXHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChcImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9icmFuZHMvdXBsb2FkLWxvZ29cIiwge1xyXG4gICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgIGJvZHk6IGRhdGEsXHJcbn0pO1xyXG5cclxuICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXMuanNvbigpO1xyXG5cclxuICAgIHJldHVybiBqc29uLnVybDtcclxufVxyXG5cclxuICBhc3luYyBmdW5jdGlvbiBzYXZlKCkge1xyXG5cclxuICAgIGNvbnN0IGxvZ29fdXJsID0gYXdhaXQgdXBsb2FkTG9nbygpO1xyXG5cclxuICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgLi4uZm9ybSxcclxuICAgICAgICBsb2dvX3VybCxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKGVkaXRpbmcpIHtcclxuICAgICAgICBhd2FpdCBhcGkoYC9icmFuZHMvJHtlZGl0aW5nLmlkfWAsIHtcclxuICAgICAgICAgICAgbWV0aG9kOiBcIlBVVFwiLFxyXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgYXBpKFwiL2JyYW5kc1wiLCB7XHJcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNob3coZmFsc2UpO1xyXG4gICAgbG9hZEJyYW5kcygpO1xyXG59XHJcblxyXG4gIGFzeW5jIGZ1bmN0aW9uIHJlbW92ZShpZDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWNvbmZpcm0oXCJEZWxldGUgdGhpcyBicmFuZD9cIikpIHJldHVybjtcclxuXHJcbiAgICBhd2FpdCBhcGkoYC9icmFuZHMvJHtpZH1gLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgIH0pO1xyXG5cclxuICAgIGxvYWRCcmFuZHMoKTtcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxyXG5cclxuICAgICAgey8qIEhlYWRlciAqL31cclxuXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcblxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPFBhY2thZ2UgY2xhc3NOYW1lPVwidy02IGgtNiB0ZXh0LWJyYW5kLTYwMFwiIC8+XHJcbiAgICAgICAgICAgIEJyYW5kc1xyXG4gICAgICAgICAgPC9oMj5cclxuXHJcbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwIG10LTFcIj5cclxuICAgICAgICAgICAgTWFuYWdlIGFsbCBvcmdhbml6YXRpb24gYnJhbmRzLlxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXtvcGVuQWRkfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1sZyBiZy1icmFuZC02MDAgcHgtNCBweS0yIHRleHQtd2hpdGUgZm9udC1tZWRpdW0gaG92ZXI6YmctYnJhbmQtNzAwIHRyYW5zaXRpb25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxQbHVzIHNpemU9ezE4fSAvPlxyXG4gICAgICAgICAgQWRkIEJyYW5kXHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIHsvKiBUYWJsZSAqL31cclxuXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwib3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgYmctd2hpdGUgc2hhZG93LXNtXCI+XHJcblxyXG4gICAgICAgIDx0YWJsZSBjbGFzc05hbWU9XCJtaW4tdy1mdWxsXCI+XHJcblxyXG4gICAgICAgICAgPHRoZWFkIGNsYXNzTmFtZT1cImJnLXNsYXRlLTUwIGJvcmRlci1iXCI+XHJcblxyXG4gICAgICAgICAgICA8dHI+XHJcblxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC02IHB5LTQgdGV4dC1sZWZ0IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTYwMFwiPlxyXG4gICAgICAgICAgICAgICAgQnJhbmRcclxuICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNiBweS00IHRleHQtbGVmdCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS02MDBcIj5cclxuICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTYgcHktNCB0ZXh0LWNlbnRlciB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS02MDBcIj5cclxuICAgICAgICAgICAgICAgIFByb2R1Y3RzXHJcbiAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTYgcHktNCB0ZXh0LWNlbnRlciB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS02MDBcIj5cclxuICAgICAgICAgICAgICAgIEFjdGlvbnNcclxuICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICAgIDx0Ym9keT5cclxuXHJcbiAgICAgICAgICAgIHticmFuZHMubGVuZ3RoID09PSAwICYmIChcclxuXHJcbiAgICAgICAgICAgICAgPHRyPlxyXG5cclxuICAgICAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICAgICBjb2xTcGFuPXs0fVxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweS0xNiB0ZXh0LWNlbnRlciB0ZXh0LXNsYXRlLTQwMFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIE5vIGJyYW5kcyBmb3VuZC5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAge2JyYW5kcy5tYXAoKGJyYW5kKSA9PiAoXHJcblxyXG4gICAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAga2V5PXticmFuZC5pZH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJvcmRlci1iIGxhc3Q6Ym9yZGVyLWItMCBob3ZlcjpiZy1zbGF0ZS01MCB0cmFuc2l0aW9uXCJcclxuICAgICAgICAgICAgICA+XHJcblxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTYgcHktNFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMTAgdy0xMCByb3VuZGVkLWxnIGJnLWJyYW5kLTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIHticmFuZC5sb2dvX3VybCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17YnJhbmQubG9nb191cmx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXticmFuZC5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtMTAgdy0xMCByb3VuZGVkLWxnIG9iamVjdC1jb3ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8UGFja2FnZSBjbGFzc05hbWU9XCJoLTUgdy01IHRleHQtYnJhbmQtNjAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTgwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7YnJhbmQubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTYgcHktNCB0ZXh0LXNtIHRleHQtc2xhdGUtNjAwIG1heC13LW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIHticmFuZC5kZXNjcmlwdGlvbiB8fCBcIi1cIn1cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTYgcHktNCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyb3VuZGVkLWZ1bGwgYmctc2xhdGUtMTAwIHB4LTMgcHktMSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICB7YnJhbmQucHJvZHVjdF9jb3VudH1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNiBweS00XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgb25DbGljaz17KCkgPT4gdmlld1Byb2R1Y3RzKGJyYW5kKX1cclxuICBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHAtMiBob3ZlcjpiZy1ncmVlbi01MCBob3Zlcjp0ZXh0LWdyZWVuLTYwMCB0cmFuc2l0aW9uXCJcclxuPlxyXG4gIDxFeWUgc2l6ZT17MTh9IC8+XHJcbjwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvcGVuRWRpdChicmFuZCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHAtMiBob3ZlcjpiZy1ibHVlLTUwIGhvdmVyOnRleHQtYmx1ZS02MDAgdHJhbnNpdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPFBlbmNpbCBzaXplPXsxOH0gLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcmVtb3ZlKGJyYW5kLmlkKX1cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcC0yIGhvdmVyOmJnLXJlZC01MCBob3Zlcjp0ZXh0LXJlZC02MDAgdHJhbnNpdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPFRyYXNoMiBzaXplPXsxOH0gLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICApKX1cclxuXHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG5cclxuICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICB7LyogdmlldyBwb3B1cCAqL31cclxuICAgICAge3ZpZXdPcGVuICYmIChcclxuICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy1ibGFjay81MCBwLTRcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBtYXgtdy02eGwgcm91bmRlZC0yeGwgYmctd2hpdGUgc2hhZG93LTJ4bFwiPlxyXG5cclxuICAgICAgey8qIEhlYWRlciAqL31cclxuXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1iIHB4LTYgcHktNFwiPlxyXG5cclxuICAgICAgICA8ZGl2PlxyXG5cclxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTgwMFwiPlxyXG4gICAgICAgICAgICB7YnJhbmROYW1lfSBQcm9kdWN0c1xyXG4gICAgICAgICAgPC9oMj5cclxuXHJcbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwXCI+XHJcbiAgICAgICAgICAgIFRvdGFsIFByb2R1Y3RzIDoge2JyYW5kUHJvZHVjdHMubGVuZ3RofVxyXG4gICAgICAgICAgPC9wPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Vmlld09wZW4oZmFsc2UpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZC1sZyBwLTIgaG92ZXI6Ymctc2xhdGUtMTAwXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8WCBzaXplPXsyMH0gLz5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgey8qIEJvZHkgKi99XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC1oLVs3MHZoXSBvdmVyZmxvdy1hdXRvXCI+XHJcblxyXG4gICAgICAgIHticmFuZFByb2R1Y3RzLmxlbmd0aCA9PT0gMCA/IChcclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB5LTIwIHRleHQtY2VudGVyIHRleHQtc2xhdGUtNTAwXCI+XHJcblxyXG4gICAgICAgICAgICA8UGFja2FnZSBjbGFzc05hbWU9XCJteC1hdXRvIG1iLTMgaC0xMCB3LTEwIHRleHQtc2xhdGUtMzAwXCIgLz5cclxuXHJcbiAgICAgICAgICAgIE5vIFByb2R1Y3RzIEZvdW5kXHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICkgOiAoXHJcblxyXG4gICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cIm1pbi13LWZ1bGxcIj5cclxuXHJcbiAgICAgICAgICAgIDx0aGVhZCBjbGFzc05hbWU9XCJzdGlja3kgdG9wLTAgYmctc2xhdGUtNTBcIj5cclxuXHJcbiAgICAgICAgICAgICAgPHRyPlxyXG5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC01IHB5LTQgdGV4dC1sZWZ0IHRleHQtc20gZm9udC1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICBJbWFnZVxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNSBweS00IHRleHQtbGVmdCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgUHJvZHVjdFxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNSBweS00IHRleHQtbGVmdCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgU0tVXHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC01IHB5LTQgdGV4dC1jZW50ZXIgdGV4dC1zbSBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgIFFSc1xyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNSBweS00IHRleHQtY2VudGVyIHRleHQtc20gZm9udC1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICBTdGF0dXNcclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG5cclxuICAgICAgICAgICAgICB7YnJhbmRQcm9kdWN0cy5tYXAoKHA6IGFueSkgPT4gKFxyXG5cclxuICAgICAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAgICBrZXk9e3AuaWR9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJvcmRlci1iIGhvdmVyOmJnLXNsYXRlLTUwXCJcclxuICAgICAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHsvKiBQcm9kdWN0IEltYWdlICovfVxyXG5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTUgcHktNFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMTQgdy0xNCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1sZyBib3JkZXIgYmctc2xhdGUtMTAwXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAge3AuaW1hZ2VfdXJsID8gKFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17cC5pbWFnZV91cmx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtwLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaC1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8UGFja2FnZSBjbGFzc05hbWU9XCJoLTYgdy02IHRleHQtc2xhdGUtNDAwXCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHsvKiBQcm9kdWN0ICovfVxyXG5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTUgcHktNFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS04MDBcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICB7cC5uYW1lfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICB7LyogQnJhbmQgKi99XHJcblxyXG4gICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgIHsvKiBTS1UgKi99XHJcblxyXG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNSBweS00IHRleHQtc2xhdGUtNjAwXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHtwLnNrdSB8fCBcIi1cIn1cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICB7LyogUVIgQ291bnQgKi99XHJcblxyXG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNSBweS00IHRleHQtY2VudGVyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInJvdW5kZWQtZnVsbCBiZy1wdXJwbGUtMTAwIHB4LTMgcHktMSB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LXB1cnBsZS03MDBcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICB7cC5xcl9jb3VudH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHsvKiBTdGF0dXMgKi99XHJcblxyXG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNSBweS00IHRleHQtY2VudGVyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Byb3VuZGVkLWZ1bGwgcHgtMyBweS0xIHRleHQteHMgZm9udC1zZW1pYm9sZCAke1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLnN0YXR1cyA9PT0gXCJhY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi03MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogcC5zdGF0dXMgPT09IFwiZHJhZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJiZy15ZWxsb3ctMTAwIHRleHQteWVsbG93LTcwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcImJnLXJlZC0xMDAgdGV4dC1yZWQtNzAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIH1gfVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtwLnN0YXR1c31cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICAgICkpfVxyXG5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuXHJcbiAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICB7LyogRm9vdGVyICovfVxyXG5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktZW5kIGJvcmRlci10IHB4LTYgcHktNFwiPlxyXG5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRWaWV3T3BlbihmYWxzZSl9XHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJnLWJyYW5kLTYwMCBweC01IHB5LTIgZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1icmFuZC03MDBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIENsb3NlXHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbil9XHJcblxyXG4gICAgICB7LyogTW9kYWwgKi99XHJcblxyXG4gICAgICB7c2hvdyAmJiAoXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZml4ZWQgaW5zZXQtMCB6LTUwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLWJsYWNrLzQwXCI+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgbWF4LXctbGcgcm91bmRlZC14bCBiZy13aGl0ZSBzaGFkb3cteGxcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1iIHB4LTYgcHktNFwiPlxyXG5cclxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LWJvbGRcIj5cclxuICAgICAgICAgICAgICAgIHtlZGl0aW5nID8gXCJFZGl0IEJyYW5kXCIgOiBcIkFkZCBCcmFuZFwifVxyXG4gICAgICAgICAgICAgIDwvaDM+XHJcblxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3coZmFsc2UpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZC1sZyBwLTIgaG92ZXI6Ymctc2xhdGUtMTAwXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8WCBzaXplPXsxOH0gLz5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTQgcC02XCI+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cIm1iLTEgYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bVwiPlxyXG4gICAgICAgICAgICAgICAgICBCcmFuZCBOYW1lXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0Rm9ybSh7IC4uLmZvcm0sIG5hbWU6IGUudGFyZ2V0LnZhbHVlIH0pXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgcHgtMyBweS0yIGZvY3VzOmJvcmRlci1icmFuZC01MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gIDxsYWJlbCBjbGFzc05hbWU9XCJtYi0xIGJsb2NrIHRleHQtc20gZm9udC1tZWRpdW1cIj5cclxuICAgIEJyYW5kIExvZ29cclxuICA8L2xhYmVsPlxyXG5cclxuICA8aW5wdXRcclxuICAgIHR5cGU9XCJmaWxlXCJcclxuICAgIGFjY2VwdD1cImltYWdlLypcIlxyXG4gICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgIGlmIChlLnRhcmdldC5maWxlcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgc2V0TG9nb0ZpbGUoZS50YXJnZXQuZmlsZXNbMF0pO1xyXG4gICAgICB9XHJcbiAgICB9fVxyXG4gICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgcHgtMyBweS0yXCJcclxuICAvPlxyXG48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwibWItMSBibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgICByb3dzPXs0fVxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybS5kZXNjcmlwdGlvbn1cclxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHNldEZvcm0oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgLi4uZm9ybSxcclxuICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHB4LTMgcHktMiBmb2N1czpib3JkZXItYnJhbmQtNTAwIGZvY3VzOm91dGxpbmUtbm9uZVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktZW5kIGdhcC0zIGJvcmRlci10IHB4LTYgcHktNFwiPlxyXG5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93KGZhbHNlKX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgcHgtNSBweS0yIGhvdmVyOmJnLXNsYXRlLTEwMFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgQ2FuY2VsXHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3NhdmV9XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJnLWJyYW5kLTYwMCBweC01IHB5LTIgZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1icmFuZC03MDBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtlZGl0aW5nID8gXCJVcGRhdGUgQnJhbmRcIiA6IFwiQ3JlYXRlIEJyYW5kXCJ9XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICApfVxyXG5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn0iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJQbHVzIiwiUGVuY2lsIiwiVHJhc2gyIiwiWCIsIlBhY2thZ2UiLCJFeWUiLCJhcGkiLCJCcmFuZHNQYW5lbCIsImVtcHR5IiwibmFtZSIsImxvZ29fdXJsIiwiZGVzY3JpcHRpb24iLCJicmFuZHMiLCJzZXRCcmFuZHMiLCJzaG93Iiwic2V0U2hvdyIsImVkaXRpbmciLCJzZXRFZGl0aW5nIiwiZm9ybSIsInNldEZvcm0iLCJsb2dvRmlsZSIsInNldExvZ29GaWxlIiwidmlld09wZW4iLCJzZXRWaWV3T3BlbiIsImJyYW5kUHJvZHVjdHMiLCJzZXRCcmFuZFByb2R1Y3RzIiwiYnJhbmROYW1lIiwic2V0QnJhbmROYW1lIiwibG9hZEJyYW5kcyIsImRhdGEiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJvcGVuQWRkIiwidmlld1Byb2R1Y3RzIiwiYnJhbmQiLCJpZCIsInByb2R1Y3RzIiwib3BlbkVkaXQiLCJ1cGxvYWRMb2dvIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImJvZHkiLCJqc29uIiwidXJsIiwic2F2ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZW1vdmUiLCJjb25maXJtIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJwIiwiYnV0dG9uIiwib25DbGljayIsInNpemUiLCJ0YWJsZSIsInRoZWFkIiwidHIiLCJ0aCIsInRib2R5IiwibGVuZ3RoIiwidGQiLCJjb2xTcGFuIiwibWFwIiwiaW1nIiwic3JjIiwiYWx0Iiwic3BhbiIsInByb2R1Y3RfY291bnQiLCJpbWFnZV91cmwiLCJza3UiLCJxcl9jb3VudCIsInN0YXR1cyIsImgzIiwibGFiZWwiLCJpbnB1dCIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwidGFyZ2V0IiwidHlwZSIsImFjY2VwdCIsImZpbGVzIiwidGV4dGFyZWEiLCJyb3dzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/BrandsPanel.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/UsersPanel.tsx":
|
||
/*!***********************************!*\
|
||
!*** ./components/UsersPanel.tsx ***!
|
||
\***********************************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ UsersPanel; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=UserPlus,Users,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-plus.js\");\n/* harmony import */ var _barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=UserPlus,Users,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js\");\n/* harmony import */ var _barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=UserPlus,Users,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _lib_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/api */ \"(app-pages-browser)/./lib/api.ts\");\n/* harmony import */ var _contexts_LanguageContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/contexts/LanguageContext */ \"(app-pages-browser)/./contexts/LanguageContext.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nconst ROLES = [\n {\n role: \"admin\",\n label: \"Admin\",\n desc: \"Full access: products, QRs, batches, compliance, users, billing.\"\n },\n {\n role: \"finance\",\n label: \"Finance\",\n desc: \"Billing, invoices, payment methods, subscription only.\"\n },\n {\n role: \"user\",\n label: \"User\",\n desc: \"Create products, generate QRs, manage batches, view analytics.\"\n }\n];\nconst ROLE_BADGE = {\n admin: \"bg-red-100 text-red-700 border border-red-200\",\n finance: \"bg-violet-100 text-violet-700 border border-violet-200\",\n user: \"bg-blue-100 text-blue-700 border border-blue-200\",\n manager: \"bg-green-100 text-green-700 border border-green-200\",\n quality: \"bg-orange-100 text-orange-700 border border-orange-200\",\n production: \"bg-cyan-100 text-cyan-700 border border-cyan-200\"\n};\nconst STATUS_BADGE = {\n active: \"bg-emerald-50 text-emerald-700\",\n pending: \"bg-amber-50 text-amber-700\",\n disabled: \"bg-rose-50 text-rose-700\"\n};\nfunction UsersPanel() {\n var _data_items, _data_items1, _org_plan, _selectedUser_name_, _selectedUser_name;\n _s();\n const [tab, setTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"users\");\n const [data, setData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [org, setOrg] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [invite, setInvite] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n email: \"\",\n role: \"user\",\n department: \"\",\n password: \"\",\n name: \"\"\n });\n const [err, setErr] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const { t } = (0,_contexts_LanguageContext__WEBPACK_IMPORTED_MODULE_3__.useLanguage)();\n const [openMenu, setOpenMenu] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [editingUser, setEditingUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const menuRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [search, setSearch] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [filters, setFilters] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n role: \"\",\n status: \"\",\n department: \"\",\n joinedFrom: \"\",\n joinedTo: \"\"\n });\n const [detailTab, setDetailTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"profile\");\n const [activityLogs, setActivityLogs] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [selectedUser, setSelectedUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n var _data_items2;\n const filteredUsers = ((_data_items2 = data === null || data === void 0 ? void 0 : data.items) !== null && _data_items2 !== void 0 ? _data_items2 : []).filter((m)=>{\n var _m_name, _m_email;\n const keyword = search.toLowerCase();\n const matchesSearch = !search || ((_m_name = m.name) === null || _m_name === void 0 ? void 0 : _m_name.toLowerCase().includes(keyword)) || ((_m_email = m.email) === null || _m_email === void 0 ? void 0 : _m_email.toLowerCase().includes(keyword));\n const matchesRole = !filters.role || m.role === filters.role;\n const matchesStatus = !filters.status || m.status === filters.status;\n const matchesDepartment = !filters.department || m.department === filters.department;\n const joined = m.joined_at ? new Date(m.joined_at) : null;\n const from = !filters.joinedFrom || joined && joined >= new Date(filters.joinedFrom);\n const to = !filters.joinedTo || joined && joined <= new Date(filters.joinedTo + \"T23:59:59\");\n return matchesSearch && matchesRole && matchesStatus && matchesDepartment && from && to;\n });\n const [showFilters, setShowFilters] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selected, setSelected] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n function toggleSelectAll(checked) {\n if (checked) {\n var _data_items;\n setSelected(((_data_items = data === null || data === void 0 ? void 0 : data.items) !== null && _data_items !== void 0 ? _data_items : []).map((m)=>m.member_id));\n } else {\n setSelected([]);\n }\n }\n const toggleSelect = (memberId, checked)=>{\n if (checked) {\n setSelected((prev)=>prev.includes(memberId) ? prev : [\n ...prev,\n memberId\n ]);\n } else {\n setSelected((prev)=>prev.filter((id)=>id !== memberId));\n }\n };\n async function updateUser() {\n try {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/users/\".concat(editingUser.member_id), {\n method: \"PUT\",\n body: JSON.stringify({\n role: invite.role,\n department: invite.department\n })\n });\n setOpen(false);\n setEditingUser(null);\n setInvite({\n email: \"\",\n role: \"user\",\n department: \"\",\n name: \"\",\n password: \"\"\n });\n load();\n } catch (e) {\n console.error(e);\n }\n }\n function load() {\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/users\").then(setData).catch(()=>setData({\n items: [],\n kpis: {}\n }));\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/organization\").then(setOrg).catch(()=>{});\n }\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n load();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n function handleClickOutside(event) {\n if (menuRef.current && !menuRef.current.contains(event.target)) {\n setOpenMenu(null);\n }\n }\n document.addEventListener(\"mousedown\", handleClickOutside);\n return ()=>{\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, []);\n async function sendInvite() {\n setErr(\"\");\n try {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/users/invite\", {\n method: \"POST\",\n body: JSON.stringify(invite)\n });\n setOpen(false);\n setInvite({\n email: \"\",\n role: \"user\",\n department: \"\",\n password: \"\",\n name: \"\"\n });\n load();\n } catch (e) {\n setErr(typeof e.detail === \"object\" ? e.detail.message : e.detail || \"Invite failed\");\n }\n }\n async function setRole(member_id, role) {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/users/\".concat(member_id), {\n method: \"PUT\",\n body: JSON.stringify({\n role\n })\n });\n load();\n }\n async function setStatus(member_id, status) {\n await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/users/\".concat(member_id), {\n method: \"PUT\",\n body: JSON.stringify({\n status\n })\n });\n load();\n }\n var _data_kpis;\n const k = (_data_kpis = data === null || data === void 0 ? void 0 : data.kpis) !== null && _data_kpis !== void 0 ? _data_kpis : {};\n var _data_role_summary;\n const roleSummary = (_data_role_summary = data === null || data === void 0 ? void 0 : data.role_summary) !== null && _data_role_summary !== void 0 ? _data_role_summary : {};\n function Permission(param) {\n let { text } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-2 w-2 rounded-full bg-emerald-500\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 185,\n columnNumber: 13\n }, this),\n text\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this);\n }\n var _k_total, _k_active, _k_pending, _k_disabled, _selectedUser_email, _selectedUser_phone;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xl font-bold\",\n children: t.users_management\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 194,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setOpen(true),\n className: \"flex items-center gap-2 bg-brand-600 text-white px-4 py-2 rounded-lg text-sm font-semibold\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 201,\n columnNumber: 7\n }, this),\n t.invite_user\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 197,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: async ()=>{\n const token = localStorage.getItem(\"vp_token\");\n const res = await fetch(\"http://localhost:8000/users/export\", {\n headers: {\n Authorization: \"Bearer \".concat(token)\n }\n });\n const blob = await res.blob();\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = \"users.csv\";\n a.click();\n window.URL.revokeObjectURL(url);\n },\n className: \"flex items-center gap-2 border border-brand-600 text-brand-600 hover:bg-brand-50 px-4 py-2 rounded-lg text-sm font-semibold\",\n children: \"\\uD83D\\uDCE5 Export Users\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 205,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 196,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 193,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 sm:grid-cols-4 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Total Users\",\n value: \"\".concat((_k_total = k.total) !== null && _k_total !== void 0 ? _k_total : 0).concat(k.user_limit ? \" / \".concat(k.user_limit) : \"\")\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 236,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Active\",\n value: (_k_active = k.active) !== null && _k_active !== void 0 ? _k_active : 0\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Pending Invites\",\n value: (_k_pending = k.pending) !== null && _k_pending !== void 0 ? _k_pending : 0\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 238,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Disabled\",\n value: (_k_disabled = k.disabled) !== null && _k_disabled !== void 0 ? _k_disabled : 0\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 235,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-1 border-b border-slate-200\",\n children: [\n \"users\",\n \"roles\"\n ].map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setTab(t),\n className: \"px-4 py-2 text-sm font-medium capitalize border-b-2 -mb-px \".concat(tab === t ? \"border-brand-600 text-brand-700\" : \"border-transparent text-slate-500\"),\n children: t === \"roles\" ? \"Roles & Permissions\" : \"Users\"\n }, t, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 244,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 242,\n columnNumber: 7\n }, this),\n tab === \"users\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card overflow-visible\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4 flex flex-wrap items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n placeholder: \"Search user or email...\",\n value: search,\n onChange: (e)=>setSearch(e.target.value),\n className: \"w-72 rounded-lg border border-slate-300 px-3 py-2 text-sm\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 256,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: filters.role,\n onChange: (e)=>setFilters({\n ...filters,\n role: e.target.value\n }),\n className: \"rounded-lg border border-slate-300 px-3 py-2 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n children: \"All Roles\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 271,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"admin\",\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 272,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"finance\",\n children: \"Finance\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 273,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"user\",\n children: \"User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 274,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 264,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: filters.status,\n onChange: (e)=>setFilters({\n ...filters,\n status: e.target.value\n }),\n className: \"rounded-lg border border-slate-300 px-3 py-2 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n children: \"All Status\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 284,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"active\",\n children: \"Active\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 285,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"pending\",\n children: \"Pending\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 286,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"disabled\",\n children: \"Disabled\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 287,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 277,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: filters.department,\n onChange: (e)=>setFilters({\n ...filters,\n department: e.target.value\n }),\n className: \"rounded-lg border border-slate-300 px-3 py-2 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n children: \"All Departments\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 297,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Administration\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 298,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Finance\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 299,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Production\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 300,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Quality\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 301,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Warehouse\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 302,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Sales\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 303,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"HR\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 304,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n children: \"Marketing\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 305,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 290,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n setSearch(\"\");\n setFilters({\n role: \"\",\n status: \"\",\n department: \"\",\n joinedFrom: \"\",\n joinedTo: \"\"\n });\n },\n className: \"rounded-lg border border-slate-300 px-4 py-2 text-sm\",\n children: \"Reset\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 310,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 254,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"w-full text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n className: \"bg-slate-50 text-slate-500 text-left\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"w-12 px-4 py-3 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"checkbox\",\n checked: (data === null || data === void 0 ? void 0 : (_data_items = data.items) === null || _data_items === void 0 ? void 0 : _data_items.length) > 0 && selected.length === data.items.length,\n onChange: (e)=>toggleSelectAll(e.target.checked),\n className: \"h-4 w-4 rounded border-slate-300\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 332,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 331,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 330,\n columnNumber: 17\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: t.user\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 342,\n columnNumber: 22\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: t.role\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 343,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: t.department\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 344,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: t.status\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 345,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: t.last_login\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 346,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Joined On\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 347,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 text-right\",\n children: \"Action\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 348,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 329,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 328,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n className: \"divide-y divide-slate-100\",\n children: [\n filteredUsers.map((m, index)=>/*#__PURE__*/ {\n var _m_name;\n var _m_name_, _m_department;\n return (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n onClick: async ()=>{\n setSelectedUser(m);\n setDetailTab(\"profile\");\n try {\n const logs = await (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.api)(\"/users/\".concat(m.member_id, \"/activity\"));\n var _logs_items;\n setActivityLogs((_logs_items = logs.items) !== null && _logs_items !== void 0 ? _logs_items : []);\n } catch (e) {\n setActivityLogs([]);\n }\n },\n className: \"hover:bg-slate-50 cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"w-12 px-4 py-3 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"checkbox\",\n checked: selected.includes(m.member_id),\n onChange: (e)=>toggleSelect(m.member_id, e.target.checked),\n className: \"h-4 w-4 rounded border-slate-300\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 370,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 369,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 368,\n columnNumber: 18\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-9 w-9 rounded-full bg-brand-500 text-white grid place-items-center text-sm font-semibold\",\n children: ((_m_name_ = (_m_name = m.name) === null || _m_name === void 0 ? void 0 : _m_name[0]) !== null && _m_name_ !== void 0 ? _m_name_ : \"U\").toUpperCase()\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 382,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-medium text-slate-800\",\n children: m.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 386,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-slate-400\",\n children: m.email\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 387,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 385,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 381,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 380,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"px-3 py-1 rounded-full text-xs font-semibold capitalize \".concat(ROLE_BADGE[m.role]),\n children: m.role\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 392,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 391,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-slate-500\",\n children: (_m_department = m.department) !== null && _m_department !== void 0 ? _m_department : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 398,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs font-semibold px-2 py-0.5 rounded-full capitalize \".concat(STATUS_BADGE[m.status]),\n children: m.status\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 400,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 399,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-slate-500\",\n children: m.last_login ? new Date(m.last_login).toLocaleString() : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 402,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-slate-500\",\n children: m.joined_at ? new Date(m.joined_at).toLocaleString() : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 407,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-right\",\n onClick: (e)=>e.stopPropagation(),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative inline-block\",\n ref: menuRef,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setOpenMenu(openMenu === m.member_id ? null : m.member_id),\n className: \"rounded-md p-2 hover:bg-slate-100\",\n children: \"⋮\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 417,\n columnNumber: 5\n }, this),\n openMenu === m.member_id && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-full right-0 mb-2 w-44 rounded-lg border border-slate-200 bg-white shadow-xl z-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n var _m_department, _m_name, _m_password;\n setInvite({\n email: m.email,\n role: m.role,\n department: (_m_department = m.department) !== null && _m_department !== void 0 ? _m_department : \"\",\n name: (_m_name = m.name) !== null && _m_name !== void 0 ? _m_name : \"\",\n password: (_m_password = m.password) !== null && _m_password !== void 0 ? _m_password : \"\"\n });\n setEditingUser(m);\n setOpen(true);\n setOpenMenu(null);\n },\n className: \"w-full px-4 py-2 text-left text-sm hover:bg-slate-50\",\n children: \"✏️ Edit User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 429,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n setStatus(m.member_id, m.status === \"active\" ? \"disabled\" : \"active\");\n setOpenMenu(null);\n },\n className: \"w-full px-4 py-2 text-left text-sm hover:bg-slate-50\",\n children: m.status === \"active\" ? \"\\uD83D\\uDEAB Disable User\" : \"✅ Enable User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 447,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 427,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 416,\n columnNumber: 3\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 412,\n columnNumber: 18\n }, this)\n ]\n }, m.member_id, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 353,\n columnNumber: 17\n }, this);\n }),\n (data === null || data === void 0 ? void 0 : (_data_items1 = data.items) === null || _data_items1 === void 0 ? void 0 : _data_items1.length) === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n colSpan: 6,\n className: \"px-4 py-12 text-center text-slate-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-8 w-8 mx-auto mb-2 opacity-50\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 470,\n columnNumber: 19\n }, this),\n \" No team members yet.\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 469,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 469,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 351,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 327,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold mb-4\",\n children: \"Role Summary\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 478,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4\",\n children: ROLES.map((r)=>{\n var _data_items;\n const count = ((_data_items = data === null || data === void 0 ? void 0 : data.items) !== null && _data_items !== void 0 ? _data_items : []).filter((u)=>u.role === r.role).length;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-xl border bg-white p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex px-3 py-1 rounded-full text-xs font-semibold \".concat(ROLE_BADGE[r.role]),\n children: r.label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 493,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl font-bold mt-4\",\n children: count\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 499,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-slate-500 mt-2\",\n children: r.desc\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 503,\n columnNumber: 13\n }, this)\n ]\n }, r.role, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 489,\n columnNumber: 11\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 482,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true),\n org && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-3\",\n children: t.organization_profile\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 516,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid sm:grid-cols-2 gap-3 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Name\",\n value: org.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 518,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Org ID\",\n value: org.slug\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 519,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"GSTIN\",\n value: org.gstin\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 520,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Timezone\",\n value: org.timezone\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 521,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Plan\",\n value: (_org_plan = org.plan) === null || _org_plan === void 0 ? void 0 : _org_plan.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 522,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Language\",\n value: org.language\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 523,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Address\",\n value: org.address\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 524,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 517,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 515,\n columnNumber: 9\n }, this),\n selectedUser && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 bg-black/30 grid place-items-center z-50\",\n onClick: ()=>setSelectedUser(null),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white rounded-2xl w-full max-w-sm p-5 shadow-xl\",\n onClick: (e)=>e.stopPropagation(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold text-lg\",\n children: \"User Detail\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 540,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setSelectedUser(null),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-5 w-5 text-slate-400\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 545,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 544,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 539,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" h-12 w-12 rounded-full bg-brand-100 text-brand-700 grid place-items-center font-bold \",\n children: (_selectedUser_name = selectedUser.name) === null || _selectedUser_name === void 0 ? void 0 : (_selectedUser_name_ = _selectedUser_name[0]) === null || _selectedUser_name_ === void 0 ? void 0 : _selectedUser_name_.toUpperCase()\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 558,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-semibold text-base\",\n children: selectedUser.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 571,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-slate-500 mt-1\",\n children: selectedUser.role\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 575,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 570,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 556,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"\\n text-xs px-2 py-1 rounded-full\\n \".concat(STATUS_BADGE[selectedUser.status], \"\\n \"),\n children: selectedUser.status\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 584,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 554,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 space-y-2 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-500\",\n children: \"Email\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 599,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: (_selectedUser_email = selectedUser.email) !== null && _selectedUser_email !== void 0 ? _selectedUser_email : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 603,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 598,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-500\",\n children: \"Phone\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 610,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: (_selectedUser_phone = selectedUser.phone) !== null && _selectedUser_phone !== void 0 ? _selectedUser_phone : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 614,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 609,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 596,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 552,\n columnNumber: 1\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex border-b mt-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setDetailTab(\"profile\"),\n className: \"px-4 py-2 text-sm \".concat(detailTab === \"profile\" ? \"border-b-2 border-brand-600 font-semibold text-brand-700\" : \"text-slate-500\"),\n children: \"Profile\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 625,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setDetailTab(\"permissions\"),\n className: \"px-4 py-2 text-sm \".concat(detailTab === \"permissions\" ? \"border-b-2 border-brand-600 font-semibold text-brand-700\" : \"text-slate-500\"),\n children: \"Role & Permissions\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 636,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setDetailTab(\"activity\"),\n className: \"px-4 py-2 text-sm \".concat(detailTab === \"activity\" ? \"border-b-2 border-brand-600 font-semibold text-brand-700\" : \"text-slate-500\"),\n children: \"Activity Log\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 647,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 623,\n columnNumber: 6\n }, this),\n detailTab === \"profile\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Department\",\n value: selectedUser.department\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 666,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Joined On\",\n value: selectedUser.joined_at ? new Date(selectedUser.joined_at).toLocaleDateString() : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 667,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Last Login\",\n value: selectedUser.last_login ? new Date(selectedUser.last_login).toLocaleString() : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 676,\n columnNumber: 1\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Email\",\n value: selectedUser.email\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 684,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Phone\",\n value: selectedUser.phone\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 685,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Timezone\",\n value: org === null || org === void 0 ? void 0 : org.timezone\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 686,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Language\",\n value: org === null || org === void 0 ? void 0 : org.language\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 687,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true),\n detailTab === \"permissions\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4 mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Current Role\",\n value: selectedUser.role\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 696,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Info, {\n label: \"Department\",\n value: selectedUser.department\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 701,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold mb-2\",\n children: \"Permissions\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 708,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n selectedUser.role === \"admin\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Manage Products\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 716,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Manage Users\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 717,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Billing\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 718,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Generate QR Codes\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 719,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Compliance\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 720,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Organization Settings\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 721,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true),\n selectedUser.role === \"finance\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Invoices\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 727,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Subscription\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 728,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Payments\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 729,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true),\n selectedUser.role === \"user\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Products\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 735,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"QR Generation\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 736,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Batch Management\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 737,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Permission, {\n text: \"Analytics\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 738,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 712,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 706,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 694,\n columnNumber: 1\n }, this),\n detailTab === \"activity\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4\",\n children: activityLogs.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center text-slate-400 py-8\",\n children: \"No activity found\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 756,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3 max-h-72 overflow-y-auto\",\n children: activityLogs.map((log)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border rounded-lg p-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-medium text-sm\",\n children: log.action\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 771,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-slate-500 mt-1\",\n children: log.details\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 775,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-slate-400 mt-2\",\n children: new Date(log.created_at).toLocaleString()\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 779,\n columnNumber: 21\n }, this)\n ]\n }, log.id, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 766,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 762,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 752,\n columnNumber: 1\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 mt-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n var _selectedUser_department, _selectedUser_name, _selectedUser_password;\n setInvite({\n email: selectedUser.email,\n role: selectedUser.role,\n department: (_selectedUser_department = selectedUser.department) !== null && _selectedUser_department !== void 0 ? _selectedUser_department : \"\",\n name: (_selectedUser_name = selectedUser.name) !== null && _selectedUser_name !== void 0 ? _selectedUser_name : \"\",\n password: (_selectedUser_password = selectedUser.password) !== null && _selectedUser_password !== void 0 ? _selectedUser_password : \"\"\n });\n setEditingUser(selectedUser);\n setSelectedUser(null);\n setOpen(true);\n },\n className: \" flex-1 border rounded-lg py-2 text-sm \",\n children: \"✏️ Edit User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 797,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n setStatus(selectedUser.member_id, selectedUser.status === \"active\" ? \"disabled\" : \"active\");\n setSelectedUser(null);\n },\n className: \"\\nflex-1 border rounded-lg py-2 text-sm\\n\".concat(selectedUser.status === \"disabled\" ? \"border-emerald-200 text-emerald-600\" : \"border-red-200 text-red-600\", \"\\n\"),\n children: selectedUser.status === \"disabled\" ? \"✅ Enable User\" : \"\\uD83D\\uDEAB Disable User\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 818,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 795,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 533,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 529,\n columnNumber: 3\n }, this),\n open && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 bg-black/30 grid place-items-center z-50\",\n onClick: ()=>setOpen(false),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white rounded-2xl w-full max-w-md p-6\",\n onClick: (e)=>e.stopPropagation(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold text-lg\",\n children: editingUser ? \"Edit User\" : t.invite_user\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 855,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setOpen(false),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_UserPlus_Users_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-5 w-5 text-slate-400\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 858,\n columnNumber: 54\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 858,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 854,\n columnNumber: 13\n }, this),\n err && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-rose-600 mb-3\",\n children: err\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 860,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block mb-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Name\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 862,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n value: invite.name,\n onChange: (e)=>setInvite({\n ...invite,\n name: e.target.value\n }),\n className: \"mt-1 w-full rounded-lg border border-slate-200 px-3 py-2\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 863,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 861,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block mb-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Email\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 872,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n value: invite.email,\n disabled: !!editingUser,\n onChange: (e)=>setInvite({\n ...invite,\n email: e.target.value\n }),\n className: \"mt-1 w-full px-3 py-2 rounded-lg border border-slate-200 text-sm disabled:bg-slate-100\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 873,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 871,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block mb-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Role\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 883,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: invite.role,\n onChange: (e)=>setInvite({\n ...invite,\n role: e.target.value\n }),\n className: \"mt-1 w-full px-3 py-2 rounded-lg border border-slate-200 text-sm\",\n children: ROLES.map((r)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: r.role,\n children: r.label\n }, r.role, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 886,\n columnNumber: 35\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 884,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 882,\n columnNumber: 13\n }, this),\n !editingUser && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block mb-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Password\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 891,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"password\",\n value: invite.password,\n onChange: (e)=>setInvite({\n ...invite,\n password: e.target.value\n }),\n className: \"mt-1 w-full px-3 py-2 rounded-lg border\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 893,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 890,\n columnNumber: 1\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Department (optional)\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 904,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: invite.department,\n onChange: (e)=>setInvite({\n ...invite,\n department: e.target.value\n }),\n className: \"mt-1 w-full px-3 py-2 rounded-lg border border-slate-200 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n children: \"Select Department\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 912,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Administration\",\n children: \"Administration\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 913,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Production\",\n children: \"Production\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 914,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Quality\",\n children: \"Quality\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 915,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Warehouse\",\n children: \"Warehouse\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 916,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Sales\",\n children: \"Sales\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 917,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Finance\",\n children: \"Finance\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 918,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"HR\",\n children: \"HR\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 919,\n columnNumber: 3\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"Marketing\",\n children: \"Marketing\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 920,\n columnNumber: 3\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 905,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 903,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: editingUser ? updateUser : sendInvite,\n className: \"w-full bg-brand-600 text-white py-2.5 rounded-lg font-semibold\",\n children: editingUser ? \"Save Changes\" : \"Send Invite\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 923,\n columnNumber: 12\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 853,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 852,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 192,\n columnNumber: 5\n }, this);\n}\n_s(UsersPanel, \"WhYU8vxe+q9/CVz2cW1Eqnapxg8=\", false, function() {\n return [\n _contexts_LanguageContext__WEBPACK_IMPORTED_MODULE_3__.useLanguage\n ];\n});\n_c = UsersPanel;\nfunction Kpi(param) {\n let { label, value } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-slate-500\",\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 940,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-2xl font-extrabold mt-1\",\n children: value\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 941,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 939,\n columnNumber: 5\n }, this);\n}\n_c1 = Kpi;\nfunction Info(param) {\n let { label, value } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between border-b border-slate-100 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-500\",\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 948,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-slate-800\",\n children: value !== null && value !== void 0 ? value : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 949,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\components\\\\UsersPanel.tsx\",\n lineNumber: 947,\n columnNumber: 5\n }, this);\n}\n_c2 = Info;\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"UsersPanel\");\n$RefreshReg$(_c1, \"Kpi\");\n$RefreshReg$(_c2, \"Info\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvVXNlcnNQYW5lbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDbUQ7QUFDWTtBQUMvQjtBQUN5QjtBQUd6RCxNQUFNUyxRQUFRO0lBQ1o7UUFBRUMsTUFBTTtRQUFTQyxPQUFPO1FBQVNDLE1BQU07SUFBbUU7SUFDMUc7UUFBRUYsTUFBTTtRQUFXQyxPQUFPO1FBQVdDLE1BQU07SUFBeUQ7SUFDcEc7UUFBRUYsTUFBTTtRQUFRQyxPQUFPO1FBQVFDLE1BQU07SUFBaUU7Q0FDdkc7QUFFRCxNQUFNQyxhQUFxQztJQUN6Q0MsT0FBTztJQUNQQyxTQUFTO0lBQ1RDLE1BQU07SUFDTkMsU0FBUztJQUNUQyxTQUFTO0lBQ1RDLFlBQVk7QUFDZDtBQUNBLE1BQU1DLGVBQXVDO0lBQzNDQyxRQUFRO0lBQ1JDLFNBQVM7SUFDVEMsVUFBVTtBQUNaO0FBRWUsU0FBU0M7UUFtVGhCQyxhQXFJT0EsY0FzRHVCQyxXQTRDN0JDLHFCQUFBQTs7SUF6aEJQLE1BQU0sQ0FBQ0MsS0FBS0MsT0FBTyxHQUFHM0IsK0NBQVFBLENBQW9CO0lBQ2xELE1BQU0sQ0FBQ3VCLE1BQU1LLFFBQVEsR0FBRzVCLCtDQUFRQSxDQUFNO0lBQ3RDLE1BQU0sQ0FBQ3dCLEtBQUtLLE9BQU8sR0FBRzdCLCtDQUFRQSxDQUFNO0lBQ3BDLE1BQU0sQ0FBQzhCLE1BQU1DLFFBQVEsR0FBRy9CLCtDQUFRQSxDQUFDO0lBQ2pDLE1BQU0sQ0FBQ2dDLFFBQVFDLFVBQVUsR0FBR2pDLCtDQUFRQSxDQUFDO1FBQUVrQyxPQUFPO1FBQUkxQixNQUFNO1FBQVEyQixZQUFZO1FBQUdDLFVBQVU7UUFBR0MsTUFBTTtJQUFJO0lBQ3RHLE1BQU0sQ0FBQ0MsS0FBS0MsT0FBTyxHQUFHdkMsK0NBQVFBLENBQUM7SUFDL0IsTUFBTSxFQUFFd0MsQ0FBQyxFQUFFLEdBQUdsQyxzRUFBV0E7SUFDekIsTUFBTSxDQUFDbUMsVUFBVUMsWUFBWSxHQUFHMUMs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c0RBQ3hCLDhEQUFDUTs0Q0FBT1IsT0FBTTtzREFBSzs7Ozs7O3NEQUNuQiw4REFBQ1E7NENBQU9SLE9BQU07c0RBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FHakIsOERBQUN0Qjs0QkFDVkMsU0FBUzlFLGNBQWMyQyxhQUFhb0I7NEJBQ3BDVyxXQUFVO3NDQUVUMUUsY0FBYyxpQkFBaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUWxDO0dBMzRCd0JyQjs7UUFPUmhCLGtFQUFXQTs7O0tBUEhnQjtBQTY0QnhCLFNBQVN1SCxJQUFJLEtBQXFCO1FBQXJCLEVBQUVwSSxLQUFLLEVBQUVxSSxLQUFLLEVBQU8sR0FBckI7SUFDWCxxQkFDRSw4REFBQzFCO1FBQUlDLFdBQVU7OzBCQUNiLDhEQUFDRDtnQkFBSUMsV0FBVTswQkFBMEI1Rzs7Ozs7OzBCQUN6Qyw4REFBQzJHO2dCQUFJQyxXQUFVOzBCQUFnQ3lCOzs7Ozs7Ozs7Ozs7QUFHckQ7TUFQU0Q7QUFRVCxTQUFTK0IsS0FBSyxLQUFxQjtRQUFyQixFQUFFbkssS0FBSyxFQUFFcUksS0FBSyxFQUFPLEdBQXJCO0lBQ1oscUJBQ0UsOERBQUMxQjtRQUFJQyxXQUFVOzswQkFDYiw4REFBQzZDO2dCQUFLN0MsV0FBVTswQkFBa0I1Rzs7Ozs7OzBCQUNsQyw4REFBQ3lKO2dCQUFLN0MsV0FBVTswQkFBOEJ5QixrQkFBQUEsbUJBQUFBLFFBQVM7Ozs7Ozs7Ozs7OztBQUc3RDtNQVBTOEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9Vc2Vyc1BhbmVsLnRzeD9mYzNlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFVzZXJQbHVzLCBYLCBVc2VycyBhcyBVc2Vyc0ljb24gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XG5pbXBvcnQgeyBhcGkgfSBmcm9tIFwiQC9saWIvYXBpXCI7XG5pbXBvcnQgeyB1c2VMYW5ndWFnZSB9IGZyb20gXCJAL2NvbnRleHRzL0xhbmd1YWdlQ29udGV4dFwiO1xuXG5cbmNvbnN0IFJPTEVTID0gW1xuICB7IHJvbGU6IFwiYWRtaW5cIiwgbGFiZWw6IFwiQWRtaW5cIiwgZGVzYzogXCJGdWxsIGFjY2VzczogcHJvZHVjdHMsIFFScywgYmF0Y2hlcywgY29tcGxpYW5jZSwgdXNlcnMsIGJpbGxpbmcuXCIgfSxcbiAgeyByb2xlOiBcImZpbmFuY2VcIiwgbGFiZWw6IFwiRmluYW5jZVwiLCBkZXNjOiBcIkJpbGxpbmcsIGludm9pY2VzLCBwYXltZW50IG1ldGhvZHMsIHN1YnNjcmlwdGlvbiBvbmx5LlwiIH0sXG4gIHsgcm9sZTogXCJ1c2VyXCIsIGxhYmVsOiBcIlVzZXJcIiwgZGVzYzogXCJDcmVhdGUgcHJvZHVjdHMsIGdlbmVyYXRlIFFScywgbWFuYWdlIGJhdGNoZXMsIHZpZXcgYW5hbHl0aWNzLlwiIH0sXG5dO1xuXG5jb25zdCBST0xFX0JBREdFOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBhZG1pbjogXCJiZy1yZWQtMTAwIHRleHQtcmVkLTcwMCBib3JkZXIgYm9yZGVyLXJlZC0yMDBcIixcbiAgZmluYW5jZTogXCJiZy12aW9sZXQtMTAwIHRleHQtdmlvbGV0LTcwMCBib3JkZXIgYm9yZGVyLXZpb2xldC0yMDBcIixcbiAgdXNlcjogXCJiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIGJvcmRlciBib3JkZXItYmx1ZS0yMDBcIixcbiAgbWFuYWdlcjogXCJiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi03MDAgYm9yZGVyIGJvcmRlci1ncmVlbi0yMDBcIixcbiAgcXVhbGl0eTogXCJiZy1vcmFuZ2UtMTAwIHRleHQtb3JhbmdlLTcwMCBib3JkZXIgYm9yZGVyLW9yYW5nZS0yMDBcIixcbiAgcHJvZHVjdGlvbjogXCJiZy1jeWFuLTEwMCB0ZXh0LWN5YW4tNzAwIGJvcmRlciBib3JkZXItY3lhbi0yMDBcIixcbn07XG5jb25zdCBTVEFUVVNfQkFER0U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGFjdGl2ZTogXCJiZy1lbWVyYWxkLTUwIHRleHQtZW1lcmFsZC03MDBcIixcbiAgcGVuZGluZzogXCJiZy1hbWJlci01MCB0ZXh0LWFtYmVyLTcwMFwiLFxuICBkaXNhYmxlZDogXCJiZy1yb3NlLTUwIHRleHQtcm9zZS03MDBcIixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFVzZXJzUGFuZWwoKSB7XG4gIGNvbnN0IFt0YWIsIHNldFRhYl0gPSB1c2VTdGF0ZTxcInVzZXJzXCIgfCBcInJvbGVzXCI+KFwidXNlcnNcIik7XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPGFueT4obnVsbCk7XG4gIGNvbnN0IFtvcmcsIHNldE9yZ10gPSB1c2VTdGF0ZTxhbnk+KG51bGwpO1xuICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpbnZpdGUsIHNldEludml0ZV0gPSB1c2VTdGF0ZSh7IGVtYWlsOiBcIlwiLCByb2xlOiBcInVzZXJcIiwgZGVwYXJ0bWVudDogXCJcIixwYXNzd29yZDogXCJcIixuYW1lOiBcIlwiLCB9KTtcbiAgY29uc3QgW2Vyciwgc2V0RXJyXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCB7IHQgfSA9IHVzZUxhbmd1YWdlKCk7XG4gIGNvbnN0IFtvcGVuTWVudSwgc2V0T3Blbk1lbnVdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtlZGl0aW5nVXNlciwgc2V0RWRpdGluZ1VzZXJdID0gdXNlU3RhdGU8YW55PihudWxsKTtcbiAgY29uc3QgbWVudVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbc2VhcmNoLCBzZXRTZWFyY2hdID0gdXNlU3RhdGUoXCJcIik7XG5cbmNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlKHtcbiAgcm9sZTogXCJcIixcbiAgc3RhdHVzOiBcIlwiLFxuICBkZXBhcnRtZW50OiBcIlwiLFxuICBqb2luZWRGcm9tOiBcIlwiLFxuICBqb2luZWRUbzogXCJcIixcbn0pO1xuY29uc3QgW2RldGFpbFRhYiwgc2V0RGV0YWlsVGFiXSA9IHVzZVN0YXRlPFxuICBcInByb2ZpbGVcIiB8IFwicGVybWlzc2lvbnNcIiB8IFwiYWN0aXZpdHlcIlxuPihcInByb2ZpbGVcIik7XG5cbmNvbnN0IFthY3Rpdml0eUxvZ3MsIHNldEFjdGl2aXR5TG9nc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuY29uc3QgW3NlbGVjdGVkVXNlciwgc2V0U2VsZWN0ZWRVc2VyXSA9IHVzZVN0YXRlPGFueT4obnVsbCk7XG5jb25zdCBmaWx0ZXJlZFVzZXJzID0gKGRhdGE/Lml0ZW1zID8/IFtdKS5maWx0ZXIoKG06IGFueSkgPT4ge1xuXG4gIGNvbnN0IGtleXdvcmQgPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcblxuICBjb25zdCBtYXRjaGVzU2VhcmNoID1cbiAgICAhc2VhcmNoIHx8XG4gICAgbS5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQpIHx8XG4gICAgbS5lbWFpbD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrZXl3b3JkKTtcblxuICBjb25zdCBtYXRjaGVzUm9sZSA9XG4gICAgIWZpbHRlcnMucm9sZSB8fCBtLnJvbGUgPT09IGZpbHRlcnMucm9sZTtcblxuICBjb25zdCBtYXRjaGVzU3RhdHVzID1cbiAgICAhZmlsdGVycy5zdGF0dXMgfHwgbS5zdGF0dXMgPT09IGZpbHRlcnMuc3RhdHVzO1xuXG4gIGNvbnN0IG1hdGNoZXNEZXBhcnRtZW50ID1cbiAgICAhZmlsdGVycy5kZXBhcnRtZW50IHx8XG4gICAgbS5kZXBhcnRtZW50ID09PSBmaWx0ZXJzLmRlcGFydG1lbnQ7XG5cbiAgY29uc3Qgam9pbmVkID0gbS5qb2luZWRfYXRcbiAgICA/IG5ldyBEYXRlKG0uam9pbmVkX2F0KVxuICAgIDogbnVsbDtcblxuICBjb25zdCBmcm9tID1cbiAgICAhZmlsdGVycy5qb2luZWRGcm9tIHx8XG4gICAgKGpvaW5lZCAmJlxuICAgICAgam9pbmVkID49IG5ldyBEYXRlKGZpbHRlcnMuam9pbmVkRnJvbSkpO1xuXG4gIGNvbnN0IHRvID1cbiAgICAhZmlsdGVycy5qb2luZWRUbyB8fFxuICAgIChqb2luZWQgJiZcbiAgICAgIGpvaW5lZCA8PSBuZXcgRGF0ZShmaWx0ZXJzLmpvaW5lZFRvICsgXCJUMjM6NTk6NTlcIikpO1xuXG4gIHJldHVybiAoXG4gICAgbWF0Y2hlc1NlYXJjaCAmJlxuICAgIG1hdGNoZXNSb2xlICYmXG4gICAgbWF0Y2hlc1N0YXR1cyAmJlxuICAgIG1hdGNoZXNEZXBhcnRtZW50ICYmXG4gICAgZnJvbSAmJlxuICAgIHRvXG4gICk7XG59KTtcbmNvbnN0IFtzaG93RmlsdGVycywgc2V0U2hvd0ZpbHRlcnNdID0gdXNlU3RhdGUoZmFsc2UpO1xuY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xuZnVuY3Rpb24gdG9nZ2xlU2VsZWN0QWxsKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgaWYgKGNoZWNrZWQpIHtcbiAgICBzZXRTZWxlY3RlZCgoZGF0YT8uaXRlbXMgPz8gW10pLm1hcCgobTogYW55KSA9PiBtLm1lbWJlcl9pZCkpO1xuICB9IGVsc2Uge1xuICAgIHNldFNlbGVjdGVkKFtdKTtcbiAgfVxufVxuY29uc3QgdG9nZ2xlU2VsZWN0ID0gKG1lbWJlcklkOiBzdHJpbmcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgaWYgKGNoZWNrZWQpIHtcbiAgICBzZXRTZWxlY3RlZCgocHJldikgPT5cbiAgICAgIHByZXYuaW5jbHVkZXMobWVtYmVySWQpID8gcHJldiA6IFsuLi5wcmV2LCBtZW1iZXJJZF1cbiAgICApO1xuICB9IGVsc2Uge1xuICAgIHNldFNlbGVjdGVkKChwcmV2KSA9PiBwcmV2LmZpbHRlcigoaWQpID0+IGlkICE9PSBtZW1iZXJJZCkpO1xuICB9XG59O2FzeW5jIGZ1bmN0aW9uIHVwZGF0ZVVzZXIoKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgYXBpKGAvdXNlcnMvJHtlZGl0aW5nVXNlci5tZW1iZXJfaWR9YCwge1xuICAgICAgbWV0aG9kOiBcIlBVVFwiLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICByb2xlOiBpbnZpdGUucm9sZSxcbiAgICAgICAgZGVwYXJ0bWVudDogaW52aXRlLmRlcGFydG1lbnQsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIHNldEVkaXRpbmdVc2VyKG51bGwpO1xuICAgIHNldEludml0ZSh7XG4gICAgICBlbWFpbDogXCJcIixcbiAgICAgIHJvbGU6IFwidXNlclwiLFxuICAgICAgZGVwYXJ0bWVudDogXCJcIixcbiAgICAgIG5hbWU6IFwiXCIscGFzc3dvcmQ6IFwiXCIsXG4gICAgfSk7XG5cbiAgICBsb2FkKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGUpO1xuICB9XG59XG5cbiAgZnVuY3Rpb24gbG9hZCgpIHtcbiAgICBhcGkoXCIvdXNlcnNcIikudGhlbihzZXREYXRhKS5jYXRjaCgoKSA9PiBzZXREYXRhKHsgaXRlbXM6IFtdLCBrcGlzOiB7fSB9KSk7XG4gICAgYXBpKFwiL29yZ2FuaXphdGlvblwiKS50aGVuKHNldE9yZykuY2F0Y2goKCkgPT4ge30pO1xuICB9XG4gIHVzZUVmZmVjdCgoKSA9PiB7IGxvYWQoKTsgfSwgW10pO1xudXNlRWZmZWN0KCgpID0+IHtcbiAgZnVuY3Rpb24gaGFuZGxlQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgbWVudVJlZi5jdXJyZW50ICYmXG4gICAgICAhbWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICkge1xuICAgICAgc2V0T3Blbk1lbnUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBoYW5kbGVDbGlja091dHNpZGUpO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICB9O1xufSwgW10pO1xuICBhc3luYyBmdW5jdGlvbiBzZW5kSW52aXRlKCkge1xuICAgIHNldEVycihcIlwiKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYXBpKFwiL3VzZXJzL2ludml0ZVwiLCB7IG1ldGhvZDogXCJQT1NUXCIsIGJvZHk6IEpTT04uc3RyaW5naWZ5KGludml0ZSkgfSk7XG4gICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICAgIHNldEludml0ZSh7IGVtYWlsOiBcIlwiLCByb2xlOiBcInVzZXJcIiwgZGVwYXJ0bWVudDogXCJcIiAscGFzc3dvcmQ6IFwiXCIsbmFtZTogXCJcIix9KTtcbiAgICAgIGxvYWQoKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHNldEVycih0eXBlb2YgZS5kZXRhaWwgPT09IFwib2JqZWN0XCIgPyBlLmRldGFpbC5tZXNzYWdlIDogZS5kZXRhaWwgfHwgXCJJbnZpdGUgZmFpbGVkXCIpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHNldFJvbGUobWVtYmVyX2lkOiBzdHJpbmcsIHJvbGU6IHN0cmluZykge1xuICAgIGF3YWl0IGFwaShgL3VzZXJzLyR7bWVtYmVyX2lkfWAsIHsgbWV0aG9kOiBcIlBVVFwiLCBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHJvbGUgfSkgfSk7XG4gICAgbG9hZCgpO1xuICB9XG4gIGFzeW5jIGZ1bmN0aW9uIHNldFN0YXR1cyhtZW1iZXJfaWQ6IHN0cmluZywgc3RhdHVzOiBzdHJpbmcpIHtcbiAgICBhd2FpdCBhcGkoYC91c2Vycy8ke21lbWJlcl9pZH1gLCB7IG1ldGhvZDogXCJQVVRcIiwgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBzdGF0dXMgfSkgfSk7XG4gICAgbG9hZCgpO1xuICB9XG5cbiAgY29uc3QgayA9IGRhdGE/LmtwaXMgPz8ge307XG4gIGNvbnN0IHJvbGVTdW1tYXJ5ID0gZGF0YT8ucm9sZV9zdW1tYXJ5ID8/IHt9O1xuICBmdW5jdGlvbiBQZXJtaXNzaW9uKHsgdGV4dCB9OiB7IHRleHQ6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMiB3LTIgcm91bmRlZC1mdWxsIGJnLWVtZXJhbGQtNTAwXCI+PC9kaXY+XG4gICAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS01XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGRcIj57dC51c2Vyc19tYW5hZ2VtZW50fTwvaDI+XG5cbiAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgIDxidXR0b25cbiAgICAgIG9uQ2xpY2s9eygpID0+IHNldE9wZW4odHJ1ZSl9XG4gICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBiZy1icmFuZC02MDAgdGV4dC13aGl0ZSBweC00IHB5LTIgcm91bmRlZC1sZyB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIlxuICAgID5cbiAgICAgIDxVc2VyUGx1cyBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cbiAgICAgIHt0Lmludml0ZV91c2VyfVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidnBfdG9rZW5cIik7XG5cbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goXG4gICAgICAgICAgXCJodHRwOi8vbG9jYWxob3N0OjgwMDAvdXNlcnMvZXhwb3J0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCByZXMuYmxvYigpO1xuICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgIGEuaHJlZiA9IHVybDtcbiAgICAgICAgYS5kb3dubG9hZCA9IFwidXNlcnMuY3N2XCI7XG4gICAgICAgIGEuY2xpY2soKTtcblxuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgICAgfX1cbiAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGJvcmRlciBib3JkZXItYnJhbmQtNjAwIHRleHQtYnJhbmQtNjAwIGhvdmVyOmJnLWJyYW5kLTUwIHB4LTQgcHktMiByb3VuZGVkLWxnIHRleHQtc20gZm9udC1zZW1pYm9sZFwiXG4gICAgPlxuICAgICAg8J+TpSBFeHBvcnQgVXNlcnNcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0yIHNtOmdyaWQtY29scy00IGdhcC00XCI+XG4gICAgICAgIDxLcGkgbGFiZWw9XCJUb3RhbCBVc2Vyc1wiIHZhbHVlPXtgJHtrLnRvdGFsID8/IDB9JHtrLnVzZXJfbGltaXQgPyBgIC8gJHtrLnVzZXJfbGltaXR9YCA6IFwiXCJ9YH0gLz5cbiAgICAgICAgPEtwaSBsYWJlbD1cIkFjdGl2ZVwiIHZhbHVlPXtrLmFjdGl2ZSA/PyAwfSAvPlxuICAgICAgICA8S3BpIGxhYmVsPVwiUGVuZGluZyBJbnZpdGVzXCIgdmFsdWU9e2sucGVuZGluZyA/PyAwfSAvPlxuICAgICAgICA8S3BpIGxhYmVsPVwiRGlzYWJsZWRcIiB2YWx1ZT17ay5kaXNhYmxlZCA/PyAwfSAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMSBib3JkZXItYiBib3JkZXItc2xhdGUtMjAwXCI+XG4gICAgICAgIHsoW1widXNlcnNcIiwgXCJyb2xlc1wiXSBhcyBjb25zdCkubWFwKCh0KSA9PiAoXG4gICAgICAgICAgPGJ1dHRvbiBrZXk9e3R9IG9uQ2xpY2s9eygpID0+IHNldFRhYih0KX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17YHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIGNhcGl0YWxpemUgYm9yZGVyLWItMiAtbWItcHggJHt0YWIgPT09IHQgPyBcImJvcmRlci1icmFuZC02MDAgdGV4dC1icmFuZC03MDBcIiA6IFwiYm9yZGVyLXRyYW5zcGFyZW50IHRleHQtc2xhdGUtNTAwXCJ9YH0+XG4gICAgICAgICAgICB7dCA9PT0gXCJyb2xlc1wiID8gXCJSb2xlcyAmIFBlcm1pc3Npb25zXCIgOiBcIlVzZXJzXCJ9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHt0YWIgPT09IFwidXNlcnNcIiA/IChcbiAgICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBvdmVyZmxvdy12aXNpYmxlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi00IGZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuXG4gIDxpbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCB1c2VyIG9yIGVtYWlsLi4uXCJcbiAgICB2YWx1ZT17c2VhcmNofVxuICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0U2VhcmNoKGUudGFyZ2V0LnZhbHVlKX1cbiAgICBjbGFzc05hbWU9XCJ3LTcyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgcHgtMyBweS0yIHRleHQtc21cIlxuICAvPlxuXG4gIDxzZWxlY3RcbiAgICB2YWx1ZT17ZmlsdGVycy5yb2xlfVxuICAgIG9uQ2hhbmdlPXsoZSk9PlxuICAgICAgc2V0RmlsdGVycyh7Li4uZmlsdGVycyxyb2xlOmUudGFyZ2V0LnZhbHVlfSlcbiAgICB9XG4gICAgY2xhc3NOYW1lPVwicm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCBweC0zIHB5LTIgdGV4dC1zbVwiXG4gID5cbiAgICA8b3B0aW9uIHZhbHVlPVwiXCI+QWxsIFJvbGVzPC9vcHRpb24+XG4gICAgPG9wdGlvbiB2YWx1ZT1cImFkbWluXCI+QWRtaW48L29wdGlvbj5cbiAgICA8b3B0aW9uIHZhbHVlPVwiZmluYW5jZVwiPkZpbmFuY2U8L29wdGlvbj5cbiAgICA8b3B0aW9uIHZhbHVlPVwidXNlclwiPlVzZXI8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG5cbiAgPHNlbGVjdFxuICAgIHZhbHVlPXtmaWx0ZXJzLnN0YXR1c31cbiAgICBvbkNoYW5nZT17KGUpPT5cbiAgICAgIHNldEZpbHRlcnMoey4uLmZpbHRlcnMsc3RhdHVzOmUudGFyZ2V0LnZhbHVlfSlcbiAgICB9XG4gICAgY2xhc3NOYW1lPVwicm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCBweC0zIHB5LTIgdGV4dC1zbVwiXG4gID5cbiAgICA8b3B0aW9uIHZhbHVlPVwiXCI+QWxsIFN0YXR1czwvb3B0aW9uPlxuICAgIDxvcHRpb24gdmFsdWU9XCJhY3RpdmVcIj5BY3RpdmU8L29wdGlvbj5cbiAgICA8b3B0aW9uIHZhbHVlPVwicGVuZGluZ1wiPlBlbmRpbmc8L29wdGlvbj5cbiAgICA8b3B0aW9uIHZhbHVlPVwiZGlzYWJsZWRcIj5EaXNhYmxlZDwvb3B0aW9uPlxuICA8L3NlbGVjdD5cblxuICA8c2VsZWN0XG4gICAgdmFsdWU9e2ZpbHRlcnMuZGVwYXJ0bWVudH1cbiAgICBvbkNoYW5nZT17KGUpPT5cbiAgICAgIHNldEZpbHRlcnMoey4uLmZpbHRlcnMsZGVwYXJ0bWVudDplLnRhcmdldC52YWx1ZX0pXG4gICAgfVxuICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgcHgtMyBweS0yIHRleHQtc21cIlxuICA+XG4gICAgPG9wdGlvbiB2YWx1ZT1cIlwiPkFsbCBEZXBhcnRtZW50czwvb3B0aW9uPlxuICAgIDxvcHRpb24+QWRtaW5pc3RyYXRpb248L29wdGlvbj5cbiAgICA8b3B0aW9uPkZpbmFuY2U8L29wdGlvbj5cbiAgICA8b3B0aW9uPlByb2R1Y3Rpb248L29wdGlvbj5cbiAgICA8b3B0aW9uPlF1YWxpdHk8L29wdGlvbj5cbiAgICA8b3B0aW9uPldhcmVob3VzZTwvb3B0aW9uPlxuICAgIDxvcHRpb24+U2FsZXM8L29wdGlvbj5cbiAgICA8b3B0aW9uPkhSPC9vcHRpb24+XG4gICAgPG9wdGlvbj5NYXJrZXRpbmc8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG5cbiAgXG5cbiAgPGJ1dHRvblxuICAgIG9uQ2xpY2s9eygpPT57XG4gICAgICBzZXRTZWFyY2goXCJcIik7XG4gICAgICBzZXRGaWx0ZXJzKHtcbiAgICAgICAgcm9sZTpcIlwiLFxuICAgICAgICBzdGF0dXM6XCJcIixcbiAgICAgICAgZGVwYXJ0bWVudDpcIlwiLFxuICAgICAgICBqb2luZWRGcm9tOlwiXCIsXG4gICAgICAgIGpvaW5lZFRvOlwiXCIsXG4gICAgICB9KTtcbiAgICB9fVxuICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgcHgtNCBweS0yIHRleHQtc21cIlxuICA+XG4gICAgUmVzZXRcbiAgPC9idXR0b24+XG5cbjwvZGl2PlxuICAgICAgICAgIDx0YWJsZSBjbGFzc05hbWU9XCJ3LWZ1bGwgdGV4dC1zbVwiPlxuICAgICAgICAgICAgPHRoZWFkIGNsYXNzTmFtZT1cImJnLXNsYXRlLTUwIHRleHQtc2xhdGUtNTAwIHRleHQtbGVmdFwiPlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInctMTIgcHgtNCBweS0zIHRleHQtY2VudGVyXCI+XG4gIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWNlbnRlclwiPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIGNoZWNrZWQ9e1xuICAgICAgICBkYXRhPy5pdGVtcz8ubGVuZ3RoID4gMCAmJlxuICAgICAgICBzZWxlY3RlZC5sZW5ndGggPT09IGRhdGEuaXRlbXMubGVuZ3RoXG4gICAgICB9XG4gICAgICBvbkNoYW5nZT17KGUpID0+IHRvZ2dsZVNlbGVjdEFsbChlLnRhcmdldC5jaGVja2VkKX1cbiAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTQgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvdGg+ICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj57dC51c2VyfTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTQgcHktMyBmb250LW1lZGl1bVwiPnt0LnJvbGV9PC90aD5cbiAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNCBweS0zIGZvbnQtbWVkaXVtXCI+e3QuZGVwYXJ0bWVudH08L3RoPlxuICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj57dC5zdGF0dXN9PC90aD5cbiAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNCBweS0zIGZvbnQtbWVkaXVtXCI+e3QubGFzdF9sb2dpbn08L3RoPlxuICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj5Kb2luZWQgT248L3RoPlxuICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgdGV4dC1yaWdodFwiPkFjdGlvbjwvdGg+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzTmFtZT1cImRpdmlkZS15IGRpdmlkZS1zbGF0ZS0xMDBcIj5cbiAgICAgICAgICAgICAge2ZpbHRlcmVkVXNlcnMubWFwKChtOmFueSxpbmRleDpudW1iZXIpPT4oXG4gICAgICAgICAgICAgICAgPHRyXG4gIGtleT17bS5tZW1iZXJfaWR9XG4gIG9uQ2xpY2s9e2FzeW5jICgpID0+IHtcbiAgICBzZXRTZWxlY3RlZFVzZXIobSk7XG4gICAgc2V0RGV0YWlsVGFiKFwicHJvZmlsZVwiKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBsb2dzID0gYXdhaXQgYXBpKGAvdXNlcnMvJHttLm1lbWJlcl9pZH0vYWN0aXZpdHlgKTtcbiAgICAgIHNldEFjdGl2aXR5TG9ncyhsb2dzLml0ZW1zID8/IFtdKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHNldEFjdGl2aXR5TG9ncyhbXSk7XG4gICAgfVxuICB9fVxuICBjbGFzc05hbWU9XCJob3ZlcjpiZy1zbGF0ZS01MCBjdXJzb3ItcG9pbnRlclwiXG4+XG4gICAgICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJ3LTEyIHB4LTQgcHktMyB0ZXh0LWNlbnRlclwiPlxuICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1jZW50ZXJcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBjaGVja2VkPXtzZWxlY3RlZC5pbmNsdWRlcyhtLm1lbWJlcl9pZCl9XG4gICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgIHRvZ2dsZVNlbGVjdChtLm1lbWJlcl9pZCwgZS50YXJnZXQuY2hlY2tlZClcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTQgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtOSB3LTkgcm91bmRlZC1mdWxsIGJnLWJyYW5kLTUwMCB0ZXh0LXdoaXRlIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1zZW1pYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyhtLm5hbWU/LlswXSA/PyBcIlVcIikudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb250LW1lZGl1bSB0ZXh0LXNsYXRlLTgwMFwiPnttLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1zbGF0ZS00MDBcIj57bS5lbWFpbH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTQgcHktM1wiPlxuICA8c3BhblxuICAgIGNsYXNzTmFtZT17YHB4LTMgcHktMSByb3VuZGVkLWZ1bGwgdGV4dC14cyBmb250LXNlbWlib2xkIGNhcGl0YWxpemUgJHtST0xFX0JBREdFW20ucm9sZV19YH1cbiAgPlxuICAgIHttLnJvbGV9XG4gIDwvc3Bhbj5cbjwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIHRleHQtc2xhdGUtNTAwXCI+e20uZGVwYXJ0bWVudCA/PyBcIuKAlFwifTwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YHRleHQteHMgZm9udC1zZW1pYm9sZCBweC0yIHB5LTAuNSByb3VuZGVkLWZ1bGwgY2FwaXRhbGl6ZSAke1NUQVRVU19CQURHRVttLnN0YXR1c119YH0+e20uc3RhdHVzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIHRleHQtc2xhdGUtNTAwXCI+XG4gIHttLmxhc3RfbG9naW5cbiAgICA/IG5ldyBEYXRlKG0ubGFzdF9sb2dpbikudG9Mb2NhbGVTdHJpbmcoKVxuICAgIDogXCLigJRcIn1cbjwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIHRleHQtc2xhdGUtNTAwXCI+XG4gIHttLmpvaW5lZF9hdFxuICAgID8gbmV3IERhdGUobS5qb2luZWRfYXQpLnRvTG9jYWxlU3RyaW5nKClcbiAgICA6IFwi4oCUXCJ9XG48L3RkPlxuICAgICAgICAgICAgICAgICA8dGQgXG4gY2xhc3NOYW1lPVwicHgtNCBweS0zIHRleHQtcmlnaHRcIlxuIG9uQ2xpY2s9eyhlKT0+ZS5zdG9wUHJvcGFnYXRpb24oKX1cbj5cbiAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2tcIiByZWY9e21lbnVSZWZ9PlxuICAgIDxidXR0b25cbiAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgIHNldE9wZW5NZW51KG9wZW5NZW51ID09PSBtLm1lbWJlcl9pZCA/IG51bGwgOiBtLm1lbWJlcl9pZClcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgcC0yIGhvdmVyOmJnLXNsYXRlLTEwMFwiXG4gICAgPlxuICAgICAg4ouuXG4gICAgPC9idXR0b24+XG5cbiAgICB7b3Blbk1lbnUgPT09IG0ubWVtYmVyX2lkICYmIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLWZ1bGwgcmlnaHQtMCBtYi0yIHctNDQgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBiZy13aGl0ZSBzaGFkb3cteGwgei01MFwiPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRJbnZpdGUoe1xuICAgICAgICAgICAgICBlbWFpbDogbS5lbWFpbCxcbiAgICAgICAgICAgICAgcm9sZTogbS5yb2xlLFxuICAgICAgICAgICAgICBkZXBhcnRtZW50OiBtLmRlcGFydG1lbnQgPz8gXCJcIixcbiAgICAgICAgICAgICAgbmFtZTogbS5uYW1lID8/IFwiXCIsXG4gICAgICAgICAgICAgIHBhc3N3b3JkOiBtLnBhc3N3b3JkID8/IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldEVkaXRpbmdVc2VyKG0pO1xuICAgICAgICAgICAgc2V0T3Blbih0cnVlKTtcbiAgICAgICAgICAgIHNldE9wZW5NZW51KG51bGwpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHB4LTQgcHktMiB0ZXh0LWxlZnQgdGV4dC1zbSBob3ZlcjpiZy1zbGF0ZS01MFwiXG4gICAgICAgID5cbiAgICAgICAgICDinI/vuI8gRWRpdCBVc2VyXG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRTdGF0dXMoXG4gICAgICAgICAgICAgIG0ubWVtYmVyX2lkLFxuICAgICAgICAgICAgICBtLnN0YXR1cyA9PT0gXCJhY3RpdmVcIiA/IFwiZGlzYWJsZWRcIiA6IFwiYWN0aXZlXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzZXRPcGVuTWVudShudWxsKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBweC00IHB5LTIgdGV4dC1sZWZ0IHRleHQtc20gaG92ZXI6Ymctc2xhdGUtNTBcIlxuICAgICAgICA+XG4gICAgICAgICAge20uc3RhdHVzID09PSBcImFjdGl2ZVwiXG4gICAgICAgICAgICA/IFwi8J+aqyBEaXNhYmxlIFVzZXJcIlxuICAgICAgICAgICAgOiBcIuKchSBFbmFibGUgVXNlclwifVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgPC9kaXY+XG4gICAgKX1cbiAgPC9kaXY+XG48L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICB7ZGF0YT8uaXRlbXM/Lmxlbmd0aCA9PT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xTcGFuPXs2fSBjbGFzc05hbWU9XCJweC00IHB5LTEyIHRleHQtY2VudGVyIHRleHQtc2xhdGUtNDAwXCI+XG4gICAgICAgICAgICAgICAgICA8VXNlcnNJY29uIGNsYXNzTmFtZT1cImgtOCB3LTggbXgtYXV0byBtYi0yIG9wYWNpdHktNTBcIiAvPiBObyB0ZWFtIG1lbWJlcnMgeWV0LlxuICAgICAgICAgICAgICAgIDwvdGQ+PC90cj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICkgOiAoXG4gIDw+XG4gICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCBtYi00XCI+XG4gICAgICBSb2xlIFN1bW1hcnlcbiAgICA8L2gzPlxuXG4gICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIHhsOmdyaWQtY29scy00IGdhcC00XCI+XG4gICAgICB7Uk9MRVMubWFwKChyKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gKGRhdGE/Lml0ZW1zID8/IFtdKS5maWx0ZXIoXG4gICAgICAgICAgKHU6IGFueSkgPT4gdS5yb2xlID09PSByLnJvbGVcbiAgICAgICAgKS5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBrZXk9e3Iucm9sZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQteGwgYm9yZGVyIGJnLXdoaXRlIHAtNVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BpbmxpbmUtZmxleCBweC0zIHB5LTEgcm91bmRlZC1mdWxsIHRleHQteHMgZm9udC1zZW1pYm9sZCAke1JPTEVfQkFER0Vbci5yb2xlXX1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ci5sYWJlbH1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtYm9sZCBtdC00XCI+XG4gICAgICAgICAgICAgIHtjb3VudH1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1zbGF0ZS01MDAgbXQtMlwiPlxuICAgICAgICAgICAgICB7ci5kZXNjfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8L2Rpdj5cbiAgPC8+XG4pfVxuXG4gICAgICB7LyogT3JnIHByb2ZpbGUgKi99XG4gICAgICB7b3JnICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIHAtNVwiPlxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJmb250LWJvbGQgbWItM1wiPnt0Lm9yZ2FuaXphdGlvbl9wcm9maWxlfTwvaDM+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIHNtOmdyaWQtY29scy0yIGdhcC0zIHRleHQtc21cIj5cbiAgICAgICAgICAgIDxJbmZvIGxhYmVsPVwiTmFtZVwiIHZhbHVlPXtvcmcubmFtZX0gLz5cbiAgICAgICAgICAgIDxJbmZvIGxhYmVsPVwiT3JnIElEXCIgdmFsdWU9e29yZy5zbHVnfSAvPlxuICAgICAgICAgICAgPEluZm8gbGFiZWw9XCJHU1RJTlwiIHZhbHVlPXtvcmcuZ3N0aW59IC8+XG4gICAgICAgICAgICA8SW5mbyBsYWJlbD1cIlRpbWV6b25lXCIgdmFsdWU9e29yZy50aW1lem9uZX0gLz5cbiAgICAgICAgICAgIDxJbmZvIGxhYmVsPVwiUGxhblwiIHZhbHVlPXtvcmcucGxhbj8ubmFtZX0gLz5cbiAgICAgICAgICAgIDxJbmZvIGxhYmVsPVwiTGFuZ3VhZ2VcIiB2YWx1ZT17b3JnLmxhbmd1YWdlfSAvPlxuICAgICAgICAgICAgPEluZm8gbGFiZWw9XCJBZGRyZXNzXCIgdmFsdWU9e29yZy5hZGRyZXNzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG57c2VsZWN0ZWRVc2VyICYmIChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgYmctYmxhY2svMzAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgei01MFwiXG4gICAgb25DbGljaz17KCkgPT4gc2V0U2VsZWN0ZWRVc2VyKG51bGwpfVxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPVwiYmctd2hpdGUgcm91bmRlZC0yeGwgdy1mdWxsIG1heC13LXNtIHAtNSBzaGFkb3cteGxcIlxuICAgICAgb25DbGljaz17KGUpPT5lLnN0b3BQcm9wYWdhdGlvbigpfVxuICAgID5cblxuICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtc3RhcnRcIj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtYm9sZCB0ZXh0LWxnXCI+XG4gICAgICAgICAgVXNlciBEZXRhaWxcbiAgICAgICAgPC9oMz5cblxuICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpPT5zZXRTZWxlY3RlZFVzZXIobnVsbCl9PlxuICAgICAgICAgIDxYIGNsYXNzTmFtZT1cImgtNSB3LTUgdGV4dC1zbGF0ZS00MDBcIi8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgey8qIFByb2ZpbGUgKi99XG4gICAgICB7LyogUHJvZmlsZSAqL31cbjxkaXYgY2xhc3NOYW1lPVwibXQtNFwiPlxuXG4gIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwiXG4gICAgICAgIGgtMTIgdy0xMiByb3VuZGVkLWZ1bGxcbiAgICAgICAgYmctYnJhbmQtMTAwIHRleHQtYnJhbmQtNzAwXG4gICAgICAgIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyXG4gICAgICAgIGZvbnQtYm9sZFxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICB7c2VsZWN0ZWRVc2VyLm5hbWU/LlswXT8udG9VcHBlckNhc2UoKX1cbiAgICAgIDwvZGl2PlxuXG5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWJhc2VcIj5cbiAgICAgICAgICB7c2VsZWN0ZWRVc2VyLm5hbWV9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXNsYXRlLTUwMCBtdC0xXCI+XG4gICAgICAgICAge3NlbGVjdGVkVXNlci5yb2xlfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cblxuICAgIHsvKiBFbmFibGUgLyBEaXNhYmxlIGJ1dHRvbiAqL31cbiAgICA8c3BhbiBjbGFzc05hbWU9e2BcbiAgICAgICAgICAgIHRleHQteHMgcHgtMiBweS0xIHJvdW5kZWQtZnVsbFxuICAgICAgICAgICAgJHtTVEFUVVNfQkFER0Vbc2VsZWN0ZWRVc2VyLnN0YXR1c119XG4gICAgICAgICAgYH0+XG4gICAgICAgICAgICB7c2VsZWN0ZWRVc2VyLnN0YXR1c31cbiAgICAgICAgICA8L3NwYW4+XG5cblxuICA8L2Rpdj5cblxuXG4gIHsvKiBFbWFpbCArIFBob25lICovfVxuICA8ZGl2IGNsYXNzTmFtZT1cIm10LTQgc3BhY2UteS0yIHRleHQtc21cIj5cblxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgIEVtYWlsXG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+XG4gICAgICAgIHtzZWxlY3RlZFVzZXIuZW1haWwgPz8gXCLigJRcIn1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgUGhvbmVcbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3NlbGVjdGVkVXNlci5waG9uZSA/PyBcIuKAlFwifVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cblxuICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggYm9yZGVyLWIgbXQtNVwiPlxuXG4gIDxidXR0b25cbiAgICBvbkNsaWNrPXsoKSA9PiBzZXREZXRhaWxUYWIoXCJwcm9maWxlXCIpfVxuICAgIGNsYXNzTmFtZT17YHB4LTQgcHktMiB0ZXh0LXNtICR7XG4gICAgICBkZXRhaWxUYWIgPT09IFwicHJvZmlsZVwiXG4gICAgICAgID8gXCJib3JkZXItYi0yIGJvcmRlci1icmFuZC02MDAgZm9udC1zZW1pYm9sZCB0ZXh0LWJyYW5kLTcwMFwiXG4gICAgICAgIDogXCJ0ZXh0LXNsYXRlLTUwMFwiXG4gICAgfWB9XG4gID5cbiAgICBQcm9maWxlXG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICBvbkNsaWNrPXsoKSA9PiBzZXREZXRhaWxUYWIoXCJwZXJtaXNzaW9uc1wiKX1cbiAgICBjbGFzc05hbWU9e2BweC00IHB5LTIgdGV4dC1zbSAke1xuICAgICAgZGV0YWlsVGFiID09PSBcInBlcm1pc3Npb25zXCJcbiAgICAgICAgPyBcImJvcmRlci1iLTIgYm9yZGVyLWJyYW5kLTYwMCBmb250LXNlbWlib2xkIHRleHQtYnJhbmQtNzAwXCJcbiAgICAgICAgOiBcInRleHQtc2xhdGUtNTAwXCJcbiAgICB9YH1cbiAgPlxuICAgIFJvbGUgJiBQZXJtaXNzaW9uc1xuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uXG4gICAgb25DbGljaz17KCkgPT4gc2V0RGV0YWlsVGFiKFwiYWN0aXZpdHlcIil9XG4gICAgY2xhc3NOYW1lPXtgcHgtNCBweS0yIHRleHQtc20gJHtcbiAgICAgIGRldGFpbFRhYiA9PT0gXCJhY3Rpdml0eVwiXG4gICAgICAgID8gXCJib3JkZXItYi0yIGJvcmRlci1icmFuZC02MDAgZm9udC1zZW1pYm9sZCB0ZXh0LWJyYW5kLTcwMFwiXG4gICAgICAgIDogXCJ0ZXh0LXNsYXRlLTUwMFwiXG4gICAgfWB9XG4gID5cbiAgICBBY3Rpdml0eSBMb2dcbiAgPC9idXR0b24+XG5cbjwvZGl2PlxuXG5cbiAgICAgIHsvKiBEZXRhaWxzICovfVxuICAgICB7ZGV0YWlsVGFiID09PSBcInByb2ZpbGVcIiAmJiAoXG48PlxuICAgey8qIFlvdXIgZXhpc3RpbmcgSW5mbyBjb21wb25lbnRzICovfVxuXG4gICA8SW5mbyBsYWJlbD1cIkRlcGFydG1lbnRcIiB2YWx1ZT17c2VsZWN0ZWRVc2VyLmRlcGFydG1lbnR9IC8+XG4gICA8SW5mb1xuICBsYWJlbD1cIkpvaW5lZCBPblwiXG4gIHZhbHVlPXtcbiAgICBzZWxlY3RlZFVzZXIuam9pbmVkX2F0XG4gICAgICA/IG5ldyBEYXRlKHNlbGVjdGVkVXNlci5qb2luZWRfYXQpLnRvTG9jYWxlRGF0ZVN0cmluZygpXG4gICAgICA6IFwi4oCUXCJcbiAgfVxuLz5cblxuPEluZm9cbiAgbGFiZWw9XCJMYXN0IExvZ2luXCJcbiAgdmFsdWU9e1xuICAgIHNlbGVjdGVkVXNlci5sYXN0X2xvZ2luXG4gICAgICA/IG5ldyBEYXRlKHNlbGVjdGVkVXNlci5sYXN0X2xvZ2luKS50b0xvY2FsZVN0cmluZygpXG4gICAgICA6IFwi4oCUXCJcbiAgfVxuLz5cbiAgIDxJbmZvIGxhYmVsPVwiRW1haWxcIiB2YWx1ZT17c2VsZWN0ZWRVc2VyLmVtYWlsfSAvPlxuICAgPEluZm8gbGFiZWw9XCJQaG9uZVwiIHZhbHVlPXtzZWxlY3RlZFVzZXIucGhvbmV9IC8+XG4gICA8SW5mbyBsYWJlbD1cIlRpbWV6b25lXCIgdmFsdWU9e29yZz8udGltZXpvbmV9IC8+XG4gICA8SW5mbyBsYWJlbD1cIkxhbmd1YWdlXCIgdmFsdWU9e29yZz8ubGFuZ3VhZ2V9IC8+XG5cbjwvPlxuKX1cblxue2RldGFpbFRhYiA9PT0gXCJwZXJtaXNzaW9uc1wiICYmIChcblxuPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTQgbXQtNFwiPlxuXG4gICAgPEluZm9cbiAgICAgICAgbGFiZWw9XCJDdXJyZW50IFJvbGVcIlxuICAgICAgICB2YWx1ZT17c2VsZWN0ZWRVc2VyLnJvbGV9XG4gICAgLz5cblxuICAgIDxJbmZvXG4gICAgICAgIGxhYmVsPVwiRGVwYXJ0bWVudFwiXG4gICAgICAgIHZhbHVlPXtzZWxlY3RlZFVzZXIuZGVwYXJ0bWVudH1cbiAgICAvPlxuXG4gICAgPGRpdj5cblxuICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCBtYi0yXCI+XG4gICAgICAgICAgICBQZXJtaXNzaW9uc1xuICAgICAgICA8L2g0PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG5cbiAgICAgICAgICAgIHtzZWxlY3RlZFVzZXIucm9sZSA9PT0gXCJhZG1pblwiICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8UGVybWlzc2lvbiB0ZXh0PVwiTWFuYWdlIFByb2R1Y3RzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBlcm1pc3Npb24gdGV4dD1cIk1hbmFnZSBVc2Vyc1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxQZXJtaXNzaW9uIHRleHQ9XCJCaWxsaW5nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBlcm1pc3Npb24gdGV4dD1cIkdlbmVyYXRlIFFSIENvZGVzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBlcm1pc3Npb24gdGV4dD1cIkNvbXBsaWFuY2VcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8UGVybWlzc2lvbiB0ZXh0PVwiT3JnYW5pemF0aW9uIFNldHRpbmdzXCIgLz5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtzZWxlY3RlZFVzZXIucm9sZSA9PT0gXCJmaW5hbmNlXCIgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxQZXJtaXNzaW9uIHRleHQ9XCJJbnZvaWNlc1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxQZXJtaXNzaW9uIHRleHQ9XCJTdWJzY3JpcHRpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8UGVybWlzc2lvbiB0ZXh0PVwiUGF5bWVudHNcIiAvPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge3NlbGVjdGVkVXNlci5yb2xlID09PSBcInVzZXJcIiAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFBlcm1pc3Npb24gdGV4dD1cIlByb2R1Y3RzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBlcm1pc3Npb24gdGV4dD1cIlFSIEdlbmVyYXRpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8UGVybWlzc2lvbiB0ZXh0PVwiQmF0Y2ggTWFuYWdlbWVudFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxQZXJtaXNzaW9uIHRleHQ9XCJBbmFseXRpY3NcIiAvPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG48L2Rpdj5cblxuKX1cblxue2RldGFpbFRhYiA9PT0gXCJhY3Rpdml0eVwiICYmIChcblxuPGRpdiBjbGFzc05hbWU9XCJtdC00XCI+XG5cbiAgICB7YWN0aXZpdHlMb2dzLmxlbmd0aCA9PT0gMCA/IChcblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHRleHQtc2xhdGUtNDAwIHB5LThcIj5cbiAgICAgICAgICAgIE5vIGFjdGl2aXR5IGZvdW5kXG4gICAgICAgIDwvZGl2PlxuXG4gICAgKSA6IChcblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMyBtYXgtaC03MiBvdmVyZmxvdy15LWF1dG9cIj5cblxuICAgICAgICAgICAge2FjdGl2aXR5TG9ncy5tYXAoKGxvZykgPT4gKFxuXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBrZXk9e2xvZy5pZH1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYm9yZGVyIHJvdW5kZWQtbGcgcC0zXCJcbiAgICAgICAgICAgICAgICA+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb250LW1lZGl1bSB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bG9nLmFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIG10LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsb2cuZGV0YWlsc31cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwIG10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtuZXcgRGF0ZShsb2cuY3JlYXRlZF9hdCkudG9Mb2NhbGVTdHJpbmcoKX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgKSl9XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICApfVxuXG48L2Rpdj5cblxuKX1cbiAgICAgIHsvKiBCdXR0b25zICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yIG10LTVcIj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCk9PntcbiAgICAgICAgICAgIHNldEludml0ZSh7XG4gICAgICAgICAgICAgIGVtYWlsOnNlbGVjdGVkVXNlci5lbWFpbCxcbiAgICAgICAgICAgICAgcm9sZTpzZWxlY3RlZFVzZXIucm9sZSxcbiAgICAgICAgICAgICAgZGVwYXJ0bWVudDpzZWxlY3RlZFVzZXIuZGVwYXJ0bWVudCA/PyBcIlwiLFxuICAgICAgICAgICAgICBuYW1lOnNlbGVjdGVkVXNlci5uYW1lPz8gXCJcIixcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6c2VsZWN0ZWRVc2VyLnBhc3N3b3JkID8/IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldEVkaXRpbmdVc2VyKHNlbGVjdGVkVXNlcik7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFVzZXIobnVsbCk7XG4gICAgICAgICAgICBzZXRPcGVuKHRydWUpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgY2xhc3NOYW1lPVwiXG4gICAgICAgICAgZmxleC0xIGJvcmRlciByb3VuZGVkLWxnIHB5LTIgdGV4dC1zbVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICDinI/vuI8gRWRpdCBVc2VyXG4gICAgICAgIDwvYnV0dG9uPlxuXG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9eygpPT57XG4gICAgICAgICAgICBzZXRTdGF0dXMoXG4gICAgICAgICAgICAgIHNlbGVjdGVkVXNlci5tZW1iZXJfaWQsXG4gICAgICAgICAgICAgIHNlbGVjdGVkVXNlci5zdGF0dXM9PT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgID9cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgOlwiYWN0aXZlXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFVzZXIobnVsbCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgIGNsYXNzTmFtZT17YFxuZmxleC0xIGJvcmRlciByb3VuZGVkLWxnIHB5LTIgdGV4dC1zbVxuJHtcbnNlbGVjdGVkVXNlci5zdGF0dXM9PT1cImRpc2FibGVkXCJcbj9cImJvcmRlci1lbWVyYWxkLTIwMCB0ZXh0LWVtZXJhbGQtNjAwXCJcbjpcImJvcmRlci1yZWQtMjAwIHRleHQtcmVkLTYwMFwiXG59XG5gfVxuICAgICAgICA+XG4gICAgICAgICAge1xuIHNlbGVjdGVkVXNlci5zdGF0dXM9PT1cImRpc2FibGVkXCJcbiA/IFwi4pyFIEVuYWJsZSBVc2VyXCJcbiA6IFwi8J+aqyBEaXNhYmxlIFVzZXJcIlxufVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgPC9kaXY+XG5cblxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbil9XG4gICAgICB7LyogSW52aXRlIG1vZGFsICovfVxuICAgICAge29wZW4gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgYmctYmxhY2svMzAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgei01MFwiIG9uQ2xpY2s9eygpID0+IHNldE9wZW4oZmFsc2UpfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLXdoaXRlIHJvdW5kZWQtMnhsIHctZnVsbCBtYXgtdy1tZCBwLTZcIiBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi00XCI+XG4gICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1sZ1wiPlxuICB7ZWRpdGluZ1VzZXIgPyBcIkVkaXQgVXNlclwiIDogdC5pbnZpdGVfdXNlcn1cbjwvaDM+XG4gICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gc2V0T3BlbihmYWxzZSl9PjxYIGNsYXNzTmFtZT1cImgtNSB3LTUgdGV4dC1zbGF0ZS00MDBcIiAvPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7ZXJyICYmIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1yb3NlLTYwMCBtYi0zXCI+e2Vycn08L3A+fVxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIG1iLTNcIj5cbiAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPk5hbWU8L3NwYW4+XG4gIDxpbnB1dFxuICAgIHZhbHVlPXtpbnZpdGUubmFtZX1cbiAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICBzZXRJbnZpdGUoeyAuLi5pbnZpdGUsIG5hbWU6IGUudGFyZ2V0LnZhbHVlIH0pXG4gICAgfVxuICAgIGNsYXNzTmFtZT1cIm10LTEgdy1mdWxsIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcHgtMyBweS0yXCJcbiAgLz5cbjwvbGFiZWw+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgbWItM1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+RW1haWw8L3NwYW4+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICB2YWx1ZT17aW52aXRlLmVtYWlsfVxuICBkaXNhYmxlZD17ISFlZGl0aW5nVXNlcn1cbiAgb25DaGFuZ2U9eyhlKSA9PlxuICAgIHNldEludml0ZSh7IC4uLmludml0ZSwgZW1haWw6IGUudGFyZ2V0LnZhbHVlIH0pXG4gIH1cbiAgY2xhc3NOYW1lPVwibXQtMSB3LWZ1bGwgcHgtMyBweS0yIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgdGV4dC1zbSBkaXNhYmxlZDpiZy1zbGF0ZS0xMDBcIlxuLz5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgbWItM1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+Um9sZTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNlbGVjdCB2YWx1ZT17aW52aXRlLnJvbGV9IG9uQ2hhbmdlPXsoZSkgPT4gc2V0SW52aXRlKHsgLi4uaW52aXRlLCByb2xlOiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0xIHctZnVsbCBweC0zIHB5LTIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAge1JPTEVTLm1hcCgocikgPT4gPG9wdGlvbiBrZXk9e3Iucm9sZX0gdmFsdWU9e3Iucm9sZX0+e3IubGFiZWx9PC9vcHRpb24+KX1cbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgeyFlZGl0aW5nVXNlciAmJiAoXG48bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgbWItM1wiPlxuICAgPHNwYW4+UGFzc3dvcmQ8L3NwYW4+XG5cbiAgIDxpbnB1dFxuICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgIHZhbHVlPXtpbnZpdGUucGFzc3dvcmR9XG4gICAgICBvbkNoYW5nZT17KGUpPT5cbiAgICAgICAgIHNldEludml0ZSh7Li4uaW52aXRlLHBhc3N3b3JkOmUudGFyZ2V0LnZhbHVlfSlcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT1cIm10LTEgdy1mdWxsIHB4LTMgcHktMiByb3VuZGVkLWxnIGJvcmRlclwiXG4gICAvPlxuPC9sYWJlbD5cbil9XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgbWItNFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+RGVwYXJ0bWVudCAob3B0aW9uYWwpPC9zcGFuPlxuICAgICAgICAgICAgICA8c2VsZWN0XG4gIHZhbHVlPXtpbnZpdGUuZGVwYXJ0bWVudH1cbiAgb25DaGFuZ2U9eyhlKSA9PlxuICAgIHNldEludml0ZSh7IC4uLmludml0ZSwgZGVwYXJ0bWVudDogZS50YXJnZXQudmFsdWUgfSlcbiAgfVxuICBjbGFzc05hbWU9XCJtdC0xIHctZnVsbCBweC0zIHB5LTIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCB0ZXh0LXNtXCJcbj5cbiAgPG9wdGlvbiB2YWx1ZT1cIlwiPlNlbGVjdCBEZXBhcnRtZW50PC9vcHRpb24+XG4gIDxvcHRpb24gdmFsdWU9XCJBZG1pbmlzdHJhdGlvblwiPkFkbWluaXN0cmF0aW9uPC9vcHRpb24+XG4gIDxvcHRpb24gdmFsdWU9XCJQcm9kdWN0aW9uXCI+UHJvZHVjdGlvbjwvb3B0aW9uPlxuICA8b3B0aW9uIHZhbHVlPVwiUXVhbGl0eVwiPlF1YWxpdHk8L29wdGlvbj5cbiAgPG9wdGlvbiB2YWx1ZT1cIldhcmVob3VzZVwiPldhcmVob3VzZTwvb3B0aW9uPlxuICA8b3B0aW9uIHZhbHVlPVwiU2FsZXNcIj5TYWxlczwvb3B0aW9uPlxuICA8b3B0aW9uIHZhbHVlPVwiRmluYW5jZVwiPkZpbmFuY2U8L29wdGlvbj5cbiAgPG9wdGlvbiB2YWx1ZT1cIkhSXCI+SFI8L29wdGlvbj5cbiAgPG9wdGlvbiB2YWx1ZT1cIk1hcmtldGluZ1wiPk1hcmtldGluZzwvb3B0aW9uPlxuPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICA8YnV0dG9uXG4gIG9uQ2xpY2s9e2VkaXRpbmdVc2VyID8gdXBkYXRlVXNlciA6IHNlbmRJbnZpdGV9XG4gIGNsYXNzTmFtZT1cInctZnVsbCBiZy1icmFuZC02MDAgdGV4dC13aGl0ZSBweS0yLjUgcm91bmRlZC1sZyBmb250LXNlbWlib2xkXCJcbj5cbiAge2VkaXRpbmdVc2VyID8gXCJTYXZlIENoYW5nZXNcIiA6IFwiU2VuZCBJbnZpdGVcIn1cbjwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG4gIFxufVxuXG5mdW5jdGlvbiBLcGkoeyBsYWJlbCwgdmFsdWUgfTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIHAtNVwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwXCI+e2xhYmVsfTwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWV4dHJhYm9sZCBtdC0xXCI+e3ZhbHVlfTwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuZnVuY3Rpb24gSW5mbyh7IGxhYmVsLCB2YWx1ZSB9OiBhbnkpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgcHktMlwiPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbGF0ZS01MDBcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS04MDBcIj57dmFsdWUgPz8gXCLigJRcIn08L3NwYW4+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJVc2VyUGx1cyIsIlgiLCJVc2VycyIsIlVzZXJzSWNvbiIsImFwaSIsInVzZUxhbmd1YWdlIiwiUk9MRVMiLCJyb2xlIiwibGFiZWwiLCJkZXNjIiwiUk9MRV9CQURHRSIsImFkbWluIiwiZmluYW5jZSIsInVzZXIiLCJtYW5hZ2VyIiwicXVhbGl0eSIsInByb2R1Y3Rpb24iLCJTVEFUVVNfQkFER0UiLCJhY3RpdmUiLCJwZW5kaW5nIiwiZGlzYWJsZWQiLCJVc2Vyc1BhbmVsIiwiZGF0YSIsIm9yZyIsInNlbGVjdGVkVXNlciIsInRhYiIsInNldFRhYiIsInNldERhdGEiLCJzZXRPcmciLCJvcGVuIiwic2V0T3BlbiIsImludml0ZSIsInNldEludml0ZSIsImVtYWlsIiwiZGVwYXJ0bWVudCIsInBhc3N3b3JkIiwibmFtZSIsImVyciIsInNldEVyciIsInQiLCJvcGVuTWVudSIsInNldE9wZW5NZW51IiwiZWRpdGluZ1VzZXIiLCJzZXRFZGl0aW5nVXNlciIsIm1lbnVSZWYiLCJzZWFyY2giLCJzZXRTZWFyY2giLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsInN0YXR1cyIsImpvaW5lZEZyb20iLCJqb2luZWRUbyIsImRldGFpbFRhYiIsInNldERldGFpbFRhYiIsImFjdGl2aXR5TG9ncyIsInNldEFjdGl2aXR5TG9ncyIsInNldFNlbGVjdGVkVXNlciIsImZpbHRlcmVkVXNlcnMiLCJpdGVtcyIsImZpbHRlciIsIm0iLCJrZXl3b3JkIiwidG9Mb3dlckNhc2UiLCJtYXRjaGVzU2VhcmNoIiwiaW5jbHVkZXMiLCJtYXRjaGVzUm9sZSIsIm1hdGNoZXNTdGF0dXMiLCJtYXRjaGVzRGVwYXJ0bWVudCIsImpvaW5lZCIsImpvaW5lZF9hdCIsIkRhdGUiLCJmcm9tIiwidG8iLCJzaG93RmlsdGVycyIsInNldFNob3dGaWx0ZXJzIiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsInRvZ2dsZVNlbGVjdEFsbCIsImNoZWNrZWQiLCJtYXAiLCJtZW1iZXJfaWQiLCJ0b2dnbGVTZWxlY3QiLCJtZW1iZXJJZCIsInByZXYiLCJpZCIsInVwZGF0ZVVzZXIiLCJtZXRob2QiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImxvYWQiLCJlIiwiY29uc29sZSIsImVycm9yIiwidGhlbiIsImNhdGNoIiwia3BpcyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInNlbmRJbnZpdGUiLCJkZXRhaWwiLCJtZXNzYWdlIiwic2V0Um9sZSIsInNldFN0YXR1cyIsImsiLCJyb2xlU3VtbWFyeSIsInJvbGVfc3VtbWFyeSIsIlBlcm1pc3Npb24iLCJ0ZXh0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJ1c2Vyc19tYW5hZ2VtZW50IiwiYnV0dG9uIiwib25DbGljayIsImludml0ZV91c2VyIiwidG9rZW4iLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwicmVzIiwiZmV0Y2giLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsImJsb2IiLCJ1cmwiLCJ3aW5kb3ciLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJhIiwiY3JlYXRlRWxlbWVudCIsImhyZWYiLCJkb3dubG9hZCIsImNsaWNrIiwicmV2b2tlT2JqZWN0VVJMIiwiS3BpIiwidmFsdWUiLCJ0b3RhbCIsInVzZXJfbGltaXQiLCJpbnB1dCIsInR5cGUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwic2VsZWN0Iiwib3B0aW9uIiwidGFibGUiLCJ0aGVhZCIsInRyIiwidGgiLCJsZW5ndGgiLCJsYXN0X2xvZ2luIiwidGJvZHkiLCJpbmRleCIsImxvZ3MiLCJ0ZCIsInRvVXBwZXJDYXNlIiwic3BhbiIsInRvTG9jYWxlU3RyaW5nIiwic3RvcFByb3BhZ2F0aW9uIiwicmVmIiwiY29sU3BhbiIsImgzIiwiciIsImNvdW50IiwidSIsIm9yZ2FuaXphdGlvbl9wcm9maWxlIiwiSW5mbyIsInNsdWciLCJnc3RpbiIsInRpbWV6b25lIiwicGxhbiIsImxhbmd1YWdlIiwiYWRkcmVzcyIsInBob25lIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiaDQiLCJsb2ciLCJhY3Rpb24iLCJkZXRhaWxzIiwiY3JlYXRlZF9hdCIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/UsersPanel.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./contexts/LanguageContext.tsx":
|
||
/*!**************************************!*\
|
||
!*** ./contexts/LanguageContext.tsx ***!
|
||
\**************************************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LanguageProvider: function() { return /* binding */ LanguageProvider; },\n/* harmony export */ useLanguage: function() { return /* binding */ useLanguage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/i18n */ \"(app-pages-browser)/./lib/i18n.ts\");\n/* __next_internal_client_entry_do_not_use__ LanguageProvider,useLanguage auto */ \nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\n\nconst LanguageContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);\nfunction LanguageProvider(param) {\n let { children } = param;\n _s();\n const [lang, setLang] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"en\");\n const [loaded, setLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n async function loadLanguage() {\n try {\n // First check saved language\n const saved = localStorage.getItem(\"language\");\n if (saved) {\n setLang(saved);\n }\n // Then get organization language from database\n const API = \"http://localhost:8000\" || 0;\n const res = await fetch(\"\".concat(API, \"/organization\"), {\n headers: {\n Authorization: \"Bearer \".concat(localStorage.getItem(\"vp_token\"))\n }\n });\n if (res.ok) {\n const org = await res.json();\n if (org.language) {\n setLang(org.language);\n localStorage.setItem(\"language\", org.language);\n }\n }\n } catch (error) {\n console.log(\"Language loading error\", error);\n const saved = localStorage.getItem(\"language\");\n setLang(saved || (0,_lib_i18n__WEBPACK_IMPORTED_MODULE_2__.detectLang)());\n }\n setLoaded(true);\n }\n loadLanguage();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (loaded) {\n localStorage.setItem(\"language\", lang);\n }\n }, [\n lang,\n loaded\n ]);\n if (!loaded) {\n return null;\n }\n var _T_lang;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(LanguageContext.Provider, {\n value: {\n lang,\n setLang,\n t: (_T_lang = _lib_i18n__WEBPACK_IMPORTED_MODULE_2__.T[lang]) !== null && _T_lang !== void 0 ? _T_lang : _lib_i18n__WEBPACK_IMPORTED_MODULE_2__.T.en\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\contexts\\\\LanguageContext.tsx\",\n lineNumber: 104,\n columnNumber: 5\n }, this);\n}\n_s(LanguageProvider, \"rbmYExw5ROashsg6lZAoFdaGeM4=\");\n_c = LanguageProvider;\nfunction useLanguage() {\n _s1();\n return (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(LanguageContext);\n}\n_s1(useLanguage, \"gDsCjeeItUuvgOWf1v4qoK9RF6k=\");\nvar _c;\n$RefreshReg$(_c, \"LanguageProvider\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbnRleHRzL0xhbmd1YWdlQ29udGV4dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFPZTtBQUVrQztBQVVqRCxNQUFNTSxnQ0FBa0JOLG9EQUFhQSxDQUFjO0FBRTVDLFNBQVNPLGlCQUFpQixLQUloQztRQUpnQyxFQUMvQkMsUUFBUSxFQUdULEdBSmdDOztJQU0vQixNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBR1AsK0NBQVFBLENBQU87SUFDdkMsTUFBTSxDQUFDUSxRQUFRQyxVQUFVLEdBQUdULCtDQUFRQSxDQUFDO0lBR3JDRCxnREFBU0EsQ0FBQztRQUVSLGVBQWVXO1lBRWIsSUFBSTtnQkFFRiw2QkFBNkI7Z0JBQzdCLE1BQU1DLFFBQVFDLGFBQWFDLE9BQU8sQ0FBQztnQkFFbkMsSUFBSUYsT0FBTztvQkFDVEosUUFBUUk7Z0JBQ1Y7Z0JBR0EsK0NBQStDO2dCQUMvQyxNQUFNRyxNQUFNQyx1QkFBK0IsSUFBSSxDQUF1QjtnQkFFOUUsTUFBTUcsTUFBTSxNQUFNQyxNQUFNLEdBQU8sT0FBSkwsS0FBSSxrQkFBZ0I7b0JBQzNDTSxTQUFTO3dCQUNMQyxlQUFlLFVBQTJDLE9BQWpDVCxhQUFhQyxPQUFPLENBQUM7b0JBQ2xEO2dCQUNKO2dCQUVRLElBQUlLLElBQUlJLEVBQUUsRUFBRTtvQkFDVixNQUFNQyxNQUFNLE1BQU1MLElBQUlNLElBQUk7b0JBRTFCLElBQUlELElBQUlFLFFBQVEsRUFBRTt3QkFDaEJsQixRQUFRZ0IsSUFBSUUsUUFBUTt3QkFDcEJiLGFBQWFjLE9BQU8sQ0FDbEIsWUFDQUgsSUFBSUUsUUFBUTtvQkFFaEI7Z0JBQ0Y7WUFHRixFQUFFLE9BQU9FLE9BQU87Z0JBQ2RDLFFBQVFDLEdBQUcsQ0FBQywwQkFBMEJGO2dCQUV0QyxNQUFNaEIsUUFDSkMsYUFBYUMsT0FBTyxDQUFDO2dCQUV2Qk4sUUFBUUksU0FBU1QscURBQVVBO1lBQzdCO1lBRUFPLFVBQVU7UUFDWjtRQUdBQztJQUVGLEdBQUcsRUFBRTtJQUlMWCxnREFBU0EsQ0FBQztRQUNSLElBQUdTLFFBQU87WUFDUkksYUFBYWMsT0FBTyxDQUNsQixZQUNBcEI7UUFFSjtJQUNGLEdBQUc7UUFBQ0E7UUFBTUU7S0FBTztJQUlqQixJQUFHLENBQUNBLFFBQU87UUFDVCxPQUFPO0lBQ1Q7UUFRU1A7SUFMVCxxQkFDRSw4REFBQ0UsZ0JBQWdCMkIsUUFBUTtRQUN2QkMsT0FBTztZQUNMekI7WUFDQUM7WUFDQXlCLEdBQUcvQixDQUFBQSxVQUFBQSx3Q0FBQyxDQUFDSyxLQUFLLGNBQVBMLHFCQUFBQSxVQUFXQSx3Q0FBQ0EsQ0FBQ2dDLEVBQUU7UUFDcEI7a0JBRUM1Qjs7Ozs7O0FBR1A7R0E1RmdCRDtLQUFBQTtBQStGVCxTQUFTOEI7O0lBQ2QsT0FBT3BDLGlEQUFVQSxDQUFDSztBQUNwQjtJQUZnQitCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL2NvbnRleHRzL0xhbmd1YWdlQ29udGV4dC50c3g/ZjNmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgY3JlYXRlQ29udGV4dCxcclxuICB1c2VDb250ZXh0LFxyXG4gIHVzZUVmZmVjdCxcclxuICB1c2VTdGF0ZSxcclxufSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IFQsIGRldGVjdExhbmcsIExhbmcgfSBmcm9tIFwiQC9saWIvaTE4blwiO1xyXG5pbXBvcnQgeyBhcGkgfSBmcm9tIFwiQC9saWIvYXBpXCI7XHJcblxyXG50eXBlIENvbnRleHRUeXBlID0ge1xyXG4gIGxhbmc6IExhbmc7XHJcbiAgc2V0TGFuZzogKGw6IExhbmcpID0+IHZvaWQ7XHJcbiAgXHJcbiAgdDogdHlwZW9mIFQuZW47XHJcbn07XHJcblxyXG5jb25zdCBMYW5ndWFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PENvbnRleHRUeXBlPihudWxsISk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gTGFuZ3VhZ2VQcm92aWRlcih7XHJcbiAgY2hpbGRyZW4sXHJcbn06IHtcclxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59KSB7XHJcblxyXG4gIGNvbnN0IFtsYW5nLCBzZXRMYW5nXSA9IHVzZVN0YXRlPExhbmc+KFwiZW5cIik7XHJcbiAgY29uc3QgW2xvYWRlZCwgc2V0TG9hZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcblxyXG4gICAgYXN5bmMgZnVuY3Rpb24gbG9hZExhbmd1YWdlKCkge1xyXG5cclxuICAgICAgdHJ5IHtcclxuXHJcbiAgICAgICAgLy8gRmlyc3QgY2hlY2sgc2F2ZWQgbGFuZ3VhZ2VcclxuICAgICAgICBjb25zdCBzYXZlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgYXMgTGFuZyB8IG51bGw7XHJcblxyXG4gICAgICAgIGlmIChzYXZlZCkge1xyXG4gICAgICAgICAgc2V0TGFuZyhzYXZlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLy8gVGhlbiBnZXQgb3JnYW5pemF0aW9uIGxhbmd1YWdlIGZyb20gZGF0YWJhc2VcclxuICAgICAgICBjb25zdCBBUEkgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo4MDAwXCI7XHJcblxyXG5jb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUEl9L29yZ2FuaXphdGlvbmAsIHtcclxuICAgIGhlYWRlcnM6IHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7bG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ2cF90b2tlblwiKX1gLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4gICAgICAgIGlmIChyZXMub2spIHtcclxuICAgICAgICAgIGNvbnN0IG9yZyA9IGF3YWl0IHJlcy5qc29uKCk7XHJcblxyXG4gICAgICAgICAgaWYgKG9yZy5sYW5ndWFnZSkge1xyXG4gICAgICAgICAgICBzZXRMYW5nKG9yZy5sYW5ndWFnZSk7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgIFwibGFuZ3VhZ2VcIixcclxuICAgICAgICAgICAgICBvcmcubGFuZ3VhZ2VcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkxhbmd1YWdlIGxvYWRpbmcgZXJyb3JcIiwgZXJyb3IpO1xyXG5cclxuICAgICAgICBjb25zdCBzYXZlZCA9XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpIGFzIExhbmcgfCBudWxsO1xyXG5cclxuICAgICAgICBzZXRMYW5nKHNhdmVkIHx8IGRldGVjdExhbmcoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNldExvYWRlZCh0cnVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbG9hZExhbmd1YWdlKCk7XHJcblxyXG4gIH0sIFtdKTtcclxuXHJcblxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYobG9hZGVkKXtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgXCJsYW5ndWFnZVwiLFxyXG4gICAgICAgIGxhbmdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9LCBbbGFuZywgbG9hZGVkXSk7XHJcblxyXG5cclxuXHJcbiAgaWYoIWxvYWRlZCl7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPExhbmd1YWdlQ29udGV4dC5Qcm92aWRlclxyXG4gICAgICB2YWx1ZT17e1xyXG4gICAgICAgIGxhbmcsXHJcbiAgICAgICAgc2V0TGFuZyxcclxuICAgICAgICB0OiBUW2xhbmddID8/IFQuZW4sXHJcbiAgICAgIH19XHJcbiAgICA+XHJcbiAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvTGFuZ3VhZ2VDb250ZXh0LlByb3ZpZGVyPlxyXG4gICk7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlTGFuZ3VhZ2UoKSB7XHJcbiAgcmV0dXJuIHVzZUNvbnRleHQoTGFuZ3VhZ2VDb250ZXh0KTtcclxufSJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiVCIsImRldGVjdExhbmciLCJMYW5ndWFnZUNvbnRleHQiLCJMYW5ndWFnZVByb3ZpZGVyIiwiY2hpbGRyZW4iLCJsYW5nIiwic2V0TGFuZyIsImxvYWRlZCIsInNldExvYWRlZCIsImxvYWRMYW5ndWFnZSIsInNhdmVkIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsIkFQSSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwicmVzIiwiZmV0Y2giLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsIm9rIiwib3JnIiwianNvbiIsImxhbmd1YWdlIiwic2V0SXRlbSIsImVycm9yIiwiY29uc29sZSIsImxvZyIsIlByb3ZpZGVyIiwidmFsdWUiLCJ0IiwiZW4iLCJ1c2VMYW5ndWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./contexts/LanguageContext.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/api.ts":
|
||
/*!********************!*\
|
||
!*** ./lib/api.ts ***!
|
||
\********************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: function() { return /* binding */ api; },\n/* harmony export */ apiBase: function() { return /* binding */ apiBase; },\n/* harmony export */ clearToken: function() { return /* binding */ clearToken; },\n/* harmony export */ setToken: function() { return /* binding */ setToken; }\n/* harmony export */ });\nconst API = \"http://localhost:8000\" || 0;\nfunction getToken() {\n if (false) {}\n return window.localStorage.getItem(\"vp_token\");\n}\nfunction setToken(token) {\n window.localStorage.setItem(\"vp_token\", token);\n}\nfunction clearToken() {\n window.localStorage.removeItem(\"vp_token\");\n}\nasync function api(path) {\n let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n const token = getToken();\n const res = await fetch(\"\".concat(API).concat(path), {\n ...opts,\n headers: {\n \"Content-Type\": \"application/json\",\n ...token ? {\n Authorization: \"Bearer \".concat(token)\n } : {},\n ...opts.headers || {}\n }\n });\n if (!res.ok) {\n let detail = res.statusText;\n try {\n var _detail;\n detail = (_detail = (await res.json()).detail) !== null && _detail !== void 0 ? _detail : detail;\n } catch (e) {}\n throw {\n status: res.status,\n detail\n };\n }\n if (res.status === 204) return undefined;\n return res.json();\n}\nconst apiBase = API;\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9hcGkudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLE1BQU1DLHVCQUErQixJQUFJLENBQXVCO0FBR3RFLFNBQVNHO0lBQ1AsSUFBSSxLQUE2QixFQUFFLEVBQVk7SUFDL0MsT0FBT0MsT0FBT0MsWUFBWSxDQUFDQyxPQUFPLENBQUM7QUFDckM7QUFFTyxTQUFTQyxTQUFTQyxLQUFhO0lBQ3BDSixPQUFPQyxZQUFZLENBQUNJLE9BQU8sQ0FBQyxZQUFZRDtBQUMxQztBQUVPLFNBQVNFO0lBQ2ROLE9BQU9DLFlBQVksQ0FBQ00sVUFBVSxDQUFDO0FBQ2pDO0FBRU8sZUFBZUMsSUFDcEJDLElBQVk7UUFDWkMsT0FBQUEsaUVBQW9CLENBQUM7SUFFckIsTUFBTU4sUUFBUUw7SUFDZCxNQUFNWSxNQUFNLE1BQU1DLE1BQU0sR0FBU0gsT0FBTmQsS0FBVyxPQUFMYyxPQUFRO1FBQ3ZDLEdBQUdDLElBQUk7UUFDUEcsU0FBUztZQUNQLGdCQUFnQjtZQUNoQixHQUFJVCxRQUFRO2dCQUFFVSxlQUFlLFVBQWdCLE9BQU5WO1lBQVEsSUFBSSxDQUFDLENBQUM7WUFDckQsR0FBSU0sS0FBS0csT0FBTyxJQUFJLENBQUMsQ0FBQztRQUN4QjtJQUNGO0lBQ0EsSUFBSSxDQUFDRixJQUFJSSxFQUFFLEVBQUU7UUFDWCxJQUFJQyxTQUFjTCxJQUFJTSxVQUFVO1FBQ2hDLElBQUk7Z0JBQ087WUFBVEQsU0FBUyxZQUFDLE1BQU1MLElBQUlPLElBQUksRUFBQyxFQUFHRixNQUFNLGNBQXpCLCtCQUE2QkE7UUFDeEMsRUFBRSxVQUFNLENBQUM7UUFDVCxNQUFNO1lBQUVHLFFBQVFSLElBQUlRLE1BQU07WUFBRUg7UUFBTztJQUNyQztJQUNBLElBQUlMLElBQUlRLE1BQU0sS0FBSyxLQUFLLE9BQU9DO0lBQy9CLE9BQU9ULElBQUlPLElBQUk7QUFDakI7QUFFTyxNQUFNRyxVQUFVMUIsSUFBSSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9saWIvYXBpLnRzPzY4YTEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQVBJID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMFwiO1xuXG5cbmZ1bmN0aW9uIGdldFRva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIG51bGw7XG4gIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ2cF90b2tlblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidnBfdG9rZW5cIiwgdG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJUb2tlbigpIHtcbiAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwidnBfdG9rZW5cIik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcGk8VCA9IGFueT4oXG4gIHBhdGg6IHN0cmluZyxcbiAgb3B0czogUmVxdWVzdEluaXQgPSB7fVxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IHRva2VuID0gZ2V0VG9rZW4oKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJfSR7cGF0aH1gLCB7XG4gICAgLi4ub3B0cyxcbiAgICBoZWFkZXJzOiB7XG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIC4uLih0b2tlbiA/IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSA6IHt9KSxcbiAgICAgIC4uLihvcHRzLmhlYWRlcnMgfHwge30pLFxuICAgIH0sXG4gIH0pO1xuICBpZiAoIXJlcy5vaykge1xuICAgIGxldCBkZXRhaWw6IGFueSA9IHJlcy5zdGF0dXNUZXh0O1xuICAgIHRyeSB7XG4gICAgICBkZXRhaWwgPSAoYXdhaXQgcmVzLmpzb24oKSkuZGV0YWlsID8/IGRldGFpbDtcbiAgICB9IGNhdGNoIHt9XG4gICAgdGhyb3cgeyBzdGF0dXM6IHJlcy5zdGF0dXMsIGRldGFpbCB9O1xuICB9XG4gIGlmIChyZXMuc3RhdHVzID09PSAyMDQpIHJldHVybiB1bmRlZmluZWQgYXMgVDtcbiAgcmV0dXJuIHJlcy5qc29uKCk7XG59XG5cbmV4cG9ydCBjb25zdCBhcGlCYXNlID0gQVBJO1xuIl0sIm5hbWVzIjpbIkFQSSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiZ2V0VG9rZW4iLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwic2V0VG9rZW4iLCJ0b2tlbiIsInNldEl0ZW0iLCJjbGVhclRva2VuIiwicmVtb3ZlSXRlbSIsImFwaSIsInBhdGgiLCJvcHRzIiwicmVzIiwiZmV0Y2giLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsIm9rIiwiZGV0YWlsIiwic3RhdHVzVGV4dCIsImpzb24iLCJzdGF0dXMiLCJ1bmRlZmluZWQiLCJhcGlCYXNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/api.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/i18n.ts":
|
||
/*!*********************!*\
|
||
!*** ./lib/i18n.ts ***!
|
||
\*********************/
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LANGS: function() { return /* binding */ LANGS; },\n/* harmony export */ T: function() { return /* binding */ T; },\n/* harmony export */ detectLang: function() { return /* binding */ detectLang; }\n/* harmony export */ });\nconst LANGS = [\n {\n code: \"en\",\n label: \"English\"\n },\n {\n code: \"hi\",\n label: \"हिन्दी\"\n },\n {\n code: \"kn\",\n label: \"ಕನ್ನಡ\"\n },\n {\n code: \"ta\",\n label: \"தமிழ்\"\n },\n {\n code: \"bn\",\n label: \"বাংলা\"\n }\n];\nconst T = {\n en: {\n scan_on: \"Scanned on\",\n excellent: \"Excellent\",\n good: \"Good\",\n average: \"Average\",\n low: \"Low\",\n category: \"Category\",\n form_type: \"Form Type\",\n net_weight: \"Net Weight\",\n manufactured_by: \"Manufactured By\",\n company: \"Company\",\n plant: \"Plant\",\n country_origin: \"Country of Origin\",\n mfg_date: \"Mfg. Date\",\n expiry_date: \"Expiry Date\",\n gtin: \"GTIN / Barcode\",\n compliance_certifications: \"Compliance Certifications\",\n recycling_info: \"Recycling Information\",\n privacy_policy: \"Privacy Policy\",\n terms_of_use: \"Terms of Use\",\n help: \"Help\",\n email: \"Email\",\n call: \"Call\",\n verified_company: \"Verified Manufacturer\",\n settings: \"Settings\",\n organization: \"Organization\",\n save: \"Save Changes\",\n users: \"Users\",\n brands: \"Brands\",\n notifications: \"Notifications\",\n subscription: \"Subscription\",\n audit: \"Audit Logs\",\n users_management: \"Users & Organization\",\n invite_user: \"Invite User\",\n total_users: \"Total Users\",\n active: \"Active\",\n pending_invites: \"Pending Invites\",\n disabled: \"Disabled\",\n roles_permissions: \"Roles & Permissions\",\n user: \"User\",\n role: \"Role\",\n department: \"Department\",\n status: \"Status\",\n last_login: \"Last Login\",\n organization_profile: \"Organization Profile\",\n name: \"Name\",\n org_id: \"Org ID\",\n gstin: \"GSTIN\",\n timezone: \"Timezone\",\n plan: \"Plan\",\n language: \"Language\",\n address: \"Address\",\n phone: \"Phone\",\n website: \"Website\",\n contact_email: \"Contact Email\",\n country: \"Country\",\n disable: \"Disable\",\n enable: \"Enable\",\n tagline: \"Digital Trust for Every Product\",\n dashboard: \"Dashboard\",\n products: \"Products\",\n qr_management: \"QR Management\",\n analytics: \"Analytics\",\n billing: \"Billing\",\n settings_menu: \"Settings\",\n org_id_label: \"Org ID\",\n plan_label: \"Plan\",\n free: \"Free\",\n products_count: \"Products\",\n users_count: \"Users\",\n logout: \"Log out\",\n genuine: \"Genuine Product\",\n unverified: \"Authenticity Unverified\",\n not_found: \"Product Not Found\",\n recalled: \"Product Recalled\",\n genuine_msg: \"This product is verified authentic.\",\n unverified_msg: \"We could not verify this product. Contact the brand.\",\n not_found_msg: \"This QR code is not registered. Please check the code.\",\n recalled_msg: \"Do not use this product. It has been recalled.\",\n trust_score: \"Trust Score\",\n batch_info: \"Batch Information\",\n manufacturer: \"Manufacturer\",\n compliance: \"Compliance\",\n recycling: \"Recycling & Disposal\",\n report: \"Report Issue\",\n contact: \"Contact Brand\",\n share: \"Share\",\n download: \"Download Info\",\n batch_no: \"Batch No\",\n mfg: \"Mfg Date\",\n expiry: \"Expiry\",\n sku: \"SKU\",\n powered_by: \"Powered by VerifyPack\"\n },\n hi: {\n verifypack: \"VerifyPack\",\n tagline: \"हर उत्पाद के लिए डिजिटल विश्वास\",\n dashboard: \"डैशबोर्ड\",\n products: \"उत्पाद\",\n qr_management: \"QR प्रबंधन\",\n analytics: \"विश्लेषण\",\n billing: \"बिलिंग\",\n settings_menu: \"सेटिंग्स\",\n org_id_label: \"संगठन आईडी\",\n plan_label: \"योजना\",\n free: \"मुफ्त\",\n products_count: \"उत्पाद\",\n users_count: \"उपयोगकर्ता\",\n logout: \"लॉग आउट\",\n settings: \"सेटिंग्स\",\n organization: \"संगठन\",\n save: \"परिवर्तन सहेजें\",\n users: \"उपयोगकर्ता\",\n brands: \"ब्रांड\",\n notifications: \"सूचनाएँ\",\n subscription: \"सदस्यता\",\n audit: \"ऑडिट लॉग\",\n users_management: \"उपयोगकर्ता एवं संगठन\",\n invite_user: \"उपयोगकर्ता आमंत्रित करें\",\n total_users: \"कुल उपयोगकर्ता\",\n active: \"सक्रिय\",\n pending_invites: \"लंबित निमंत्रण\",\n disabled: \"अक्षम\",\n roles_permissions: \"भूमिकाएँ एवं अनुमतियाँ\",\n user: \"उपयोगकर्ता\",\n role: \"भूमिका\",\n department: \"विभाग\",\n status: \"स्थिति\",\n last_login: \"अंतिम लॉगिन\",\n organization_profile: \"संगठन प्रोफ़ाइल\",\n name: \"नाम\",\n org_id: \"संगठन आईडी\",\n gstin: \"GSTIN\",\n timezone: \"समय क्षेत्र\",\n plan: \"योजना\",\n language: \"भाषा\",\n address: \"पता\",\n phone: \"फ़ोन\",\n website: \"वेबसाइट\",\n contact_email: \"संपर्क ईमेल\",\n country: \"देश\",\n disable: \"अक्षम करें\",\n enable: \"सक्षम करें\",\n scan_on: \"स्कैन किया गया\",\n excellent: \"उत्कृष्ट\",\n good: \"अच्छा\",\n average: \"औसत\",\n low: \"कम\",\n category: \"श्रेणी\",\n form_type: \"उत्पाद प्रकार\",\n net_weight: \"शुद्ध वजन\",\n manufactured_by: \"निर्माता\",\n company: \"कंपनी\",\n plant: \"संयंत्र\",\n country_origin: \"मूल देश\",\n mfg_date: \"निर्माण तिथि\",\n expiry_date: \"समाप्ति तिथि\",\n gtin: \"GTIN / बारकोड\",\n compliance_certifications: \"अनुपालन प्रमाणपत्र\",\n recycling_info: \"रीसाइक्लिंग जानकारी\",\n privacy_policy: \"गोपनीयता नीति\",\n terms_of_use: \"उपयोग की शर्तें\",\n help: \"सहायता\",\n email: \"ईमेल\",\n call: \"कॉल\",\n verified_company: \"सत्यापित निर्माता\",\n genuine: \"असली उत्पाद\",\n unverified: \"प्रामाणिकता असत्यापित\",\n not_found: \"उत्पाद नहीं मिला\",\n recalled: \"उत्पाद वापस लिया गया\",\n genuine_msg: \"यह उत्पाद प्रमाणित रूप से असली है।\",\n unverified_msg: \"हम इस उत्पाद को सत्यापित नहीं कर सके। ब्रांड से संपर्क करें।\",\n not_found_msg: \"यह QR कोड पंजीकृत नहीं है। कृपया कोड जांचें।\",\n recalled_msg: \"इस उत्पाद का उपयोग न करें। इसे वापस ले लिया गया है।\",\n trust_score: \"विश्वास स्कोर\",\n batch_info: \"बैच जानकारी\",\n manufacturer: \"निर्माता\",\n compliance: \"अनुपालन\",\n recycling: \"रीसाइक्लिंग और निपटान\",\n report: \"समस्या की रिपोर्ट करें\",\n contact: \"ब्रांड से संपर्क करें\",\n share: \"साझा करें\",\n download: \"जानकारी डाउनलोड करें\",\n batch_no: \"बैच नं\",\n mfg: \"निर्माण तिथि\",\n expiry: \"समाप्ति\",\n sku: \"SKU\",\n powered_by: \"VerifyPack द्वारा संचालित\"\n },\n kn: {\n verifypack: \"VerifyPack\",\n tagline: \"ಪ್ರತಿ ಉತ್ಪನ್ನಕ್ಕೆ ಡಿಜಿಟಲ್ ನಂಬಿಕೆ\",\n dashboard: \"ಡ್ಯಾಶ್ಬೋರ್ಡ್\",\n products: \"ಉತ್ಪನ್ನಗಳು\",\n qr_management: \"QR ನಿರ್ವಹಣೆ\",\n analytics: \"ವಿಶ್ಲೇಷಣೆ\",\n billing: \"ಬಿಲ್ಲಿಂಗ್\",\n settings_menu: \"ಸೆಟ್ಟಿಂಗ್ಗಳು\",\n org_id_label: \"ಸಂಸ್ಥೆ ID\",\n plan_label: \"ಯೋಜನೆ\",\n free: \"ಉಚಿತ\",\n products_count: \"ಉತ್ಪನ್ನಗಳು\",\n users_count: \"ಬಳಕೆದಾರರು\",\n scan_on: \"ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ ದಿನಾಂಕ\",\n excellent: \"ಅತ್ಯುತ್ತಮ\",\n good: \"ಉತ್ತಮ\",\n average: \"ಸರಾಸರಿ\",\n low: \"ಕಡಿಮೆ\",\n category: \"ವರ್ಗ\",\n form_type: \"ಉತ್ಪನ್ನದ ವಿಧ\",\n net_weight: \"ನಿವ್ವಳ ತೂಕ\",\n manufactured_by: \"ತಯಾರಿಸಿದವರು\",\n company: \"ಕಂಪನಿ\",\n plant: \"ಕಾರ್ಖಾನೆ\",\n country_origin: \"ಮೂಲ ದೇಶ\",\n mfg_date: \"ತಯಾರಿಸಿದ ದಿನಾಂಕ\",\n expiry_date: \"ಅವಧಿ ಮುಕ್ತಾಯ ದಿನಾಂಕ\",\n gtin: \"GTIN / ಬಾರ್ಕೋಡ್\",\n compliance_certifications: \"ಅನುಸರಣೆ ಪ್ರಮಾಣಪತ್ರಗಳು\",\n recycling_info: \"ಮರುಬಳಕೆ ಮಾಹಿತಿ\",\n privacy_policy: \"ಗೌಪ್ಯತಾ ನೀತಿ\",\n terms_of_use: \"ಬಳಕೆಯ ನಿಯಮಗಳು\",\n help: \"ಸಹಾಯ\",\n email: \"ಇಮೇಲ್\",\n call: \"ಕರೆ\",\n verified_company: \"ದೃಢೀಕರಿಸಿದ ತಯಾರಕ\",\n logout: \"ಲಾಗ್ ಔಟ್\",\n settings: \"ಸೆಟ್ಟಿಂಗ್ಗಳು\",\n organization: \"ಸಂಸ್ಥೆ\",\n save: \"ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಿ\",\n brands: \"ಬ್ರ್ಯಾಂಡ್ಗಳು\",\n notifications: \"ಅಧಿಸೂಚನೆಗಳು\",\n subscription: \"ಚಂದಾದಾರಿಕೆ\",\n audit: \"ಆಡಿಟ್ ದಾಖಲೆಗಳು\",\n users_management: \"ಬಳಕೆದಾರರು ಮತ್ತು ಸಂಸ್ಥೆ\",\n invite_user: \"ಬಳಕೆದಾರರನ್ನು ಆಹ್ವಾನಿಸಿ\",\n total_users: \"ಒಟ್ಟು ಬಳಕೆದಾರರು\",\n active: \"ಸಕ್ರಿಯ\",\n pending_invites: \"ಬಾಕಿ ಆಹ್ವಾನಗಳು\",\n disabled: \"ನಿಷ್ಕ್ರಿಯ\",\n users: \"ಬಳಕೆದಾರರು\",\n roles_permissions: \"ಪಾತ್ರಗಳು ಮತ್ತು ಅನುಮತಿಗಳು\",\n user: \"ಬಳಕೆದಾರ\",\n role: \"ಪಾತ್ರ\",\n department: \"ವಿಭಾಗ\",\n status: \"ಸ್ಥಿತಿ\",\n last_login: \"ಕೊನೆಯ ಲಾಗಿನ್\",\n organization_profile: \"ಸಂಸ್ಥೆಯ ವಿವರ\",\n name: \"ಹೆಸರು\",\n org_id: \"ಸಂಸ್ಥೆ ID\",\n gstin: \"GSTIN\",\n timezone: \"ಸಮಯ ವಲಯ\",\n plan: \"ಯೋಜನೆ\",\n language: \"ಭಾಷೆ\",\n address: \"ವಿಳಾಸ\",\n phone: \"ದೂರವಾಣಿ\",\n website: \"ಜಾಲತಾಣ\",\n contact_email: \"ಸಂಪರ್ಕ ಇಮೇಲ್\",\n country: \"ದೇಶ\",\n disable: \"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ\",\n enable: \"ಸಕ್ರಿಯಗೊಳಿಸಿ\",\n genuine: \"ಅಸಲಿ ಉತ್ಪನ್ನ\",\n unverified: \"ದೃಢೀಕರಣ ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ\",\n not_found: \"ಉತ್ಪನ್ನ ಕಂಡುಬಂದಿಲ್ಲ\",\n recalled: \"ಉತ್ಪನ್ನ ಹಿಂಪಡೆಯಲಾಗಿದೆ\",\n genuine_msg: \"ಈ ಉತ್ಪನ್ನವು ಅಸಲಿ ಎಂದು ದೃಢೀಕರಿಸಲಾಗಿದೆ.\",\n unverified_msg: \"ಈ ಉತ್ಪನ್ನವನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ. ಬ್ರಾಂಡ್ ಸಂಪರ್ಕಿಸಿ.\",\n not_found_msg: \"ಈ QR ಕೋಡ್ ನೋಂದಾಯಿಸಿಲ್ಲ.\",\n recalled_msg: \"ಈ ಉತ್ಪನ್ನವನ್ನು ಬಳಸಬೇಡಿ. ಇದನ್ನು ಹಿಂಪಡೆಯಲಾಗಿದೆ.\",\n trust_score: \"ವಿಶ್ವಾಸ ಸ್ಕೋರ್\",\n batch_info: \"ಬ್ಯಾಚ್ ಮಾಹಿತಿ\",\n manufacturer: \"ತಯಾರಕ\",\n compliance: \"ಅನುಸರಣೆ\",\n recycling: \"ಮರುಬಳಕೆ\",\n report: \"ಸಮಸ್ಯೆ ವರದಿ\",\n contact: \"ಬ್ರಾಂಡ್ ಸಂಪರ್ಕಿಸಿ\",\n share: \"ಹಂಚಿಕೊಳ್ಳಿ\",\n download: \"ಮಾಹಿತಿ ಡೌನ್ಲೋಡ್\",\n batch_no: \"ಬ್ಯಾಚ್ ಸಂ\",\n mfg: \"ತಯಾರಿಕೆ\",\n expiry: \"ಮುಕ್ತಾಯ\",\n sku: \"SKU\",\n powered_by: \"VerifyPack ನಿಂದ\"\n },\n ta: {\n settings: \"அமைப்புகள்\",\n organization: \"நிறுவனம்\",\n save: \"மாற்றங்களை சேமி\",\n users: \"பயனர்கள்\",\n brands: \"பிராண்டுகள்\",\n notifications: \"அறிவிப்புகள்\",\n subscription: \"சந்தா\",\n audit: \"தணிக்கை பதிவுகள்\",\n users_management: \"பயனர்கள் & நிறுவனம்\",\n scan_on: \"ஸ்கேன் செய்யப்பட்ட தேதி\",\n excellent: \"மிகச் சிறந்தது\",\n good: \"நல்லது\",\n average: \"சராசரி\",\n low: \"குறைவு\",\n category: \"வகை\",\n form_type: \"வடிவம்\",\n net_weight: \"நிகர எடை\",\n manufactured_by: \"உற்பத்தி செய்தவர்\",\n company: \"நிறுவனம்\",\n plant: \"தொழிற்சாலை\",\n country_origin: \"தோற்ற நாடு\",\n mfg_date: \"உற்பத்தி தேதி\",\n expiry_date: \"காலாவதி தேதி\",\n gtin: \"GTIN / பார்கோடு\",\n compliance_certifications: \"இணக்கச் சான்றிதழ்கள்\",\n recycling_info: \"மறுசுழற்சி தகவல்\",\n privacy_policy: \"தனியுரிமைக் கொள்கை\",\n terms_of_use: \"பயன்பாட்டு விதிமுறைகள்\",\n help: \"உதவி\",\n email: \"மின்னஞ்சல்\",\n call: \"அழை\",\n verified_company: \"சரிபார்க்கப்பட்ட உற்பத்தியாளர்\",\n invite_user: \"பயனரை அழைக்கவும்\",\n total_users: \"மொத்த பயனர்கள்\",\n active: \"செயலில்\",\n pending_invites: \"நிலுவையில் உள்ள அழைப்புகள்\",\n disabled: \"முடக்கப்பட்டது\",\n verifypack: \"VerifyPack\",\n tagline: \"ஒவ்வொரு தயாரிப்பிற்கும் டிஜிட்டல் நம்பிக்கை\",\n dashboard: \"முகப்பு பலகை\",\n products: \"தயாரிப்புகள்\",\n qr_management: \"QR மேலாண்மை\",\n analytics: \"பகுப்பாய்வு\",\n billing: \"கட்டணம்\",\n settings_menu: \"அமைப்புகள்\",\n org_id_label: \"நிறுவன ID\",\n plan_label: \"திட்டம்\",\n free: \"இலவசம்\",\n products_count: \"தயாரிப்புகள்\",\n users_count: \"பயனர்கள்\",\n logout: \"வெளியேறு\",\n roles_permissions: \"பாத்திரங்கள் & அனுமதிகள்\",\n user: \"பயனர்\",\n role: \"பங்கு\",\n department: \"துறை\",\n status: \"நிலை\",\n last_login: \"கடைசி உள்நுழைவு\",\n organization_profile: \"நிறுவன விவரம்\",\n name: \"பெயர்\",\n org_id: \"நிறுவன ID\",\n gstin: \"GSTIN\",\n timezone: \"நேர மண்டலம்\",\n plan: \"திட்டம்\",\n language: \"மொழி\",\n address: \"முகவரி\",\n phone: \"தொலைபேசி\",\n website: \"இணையதளம்\",\n contact_email: \"தொடர்பு மின்னஞ்சல்\",\n country: \"நாடு\",\n disable: \"முடக்கு\",\n enable: \"இயக்கு\",\n genuine: \"உண்மையான தயாரிப்பு\",\n unverified: \"சரிபார்க்கப்படவில்லை\",\n not_found: \"தயாரிப்பு கிடைக்கவில்லை\",\n recalled: \"தயாரிப்பு திரும்பப் பெறப்பட்டது\",\n genuine_msg: \"இந்த தயாரிப்பு உண்மையானது என உறுதி செய்யப்பட்டது.\",\n unverified_msg: \"இந்த தயாரிப்பை சரிபார்க்க முடியவில்லை. பிராண்டைத் தொடர்பு கொள்ளவும்.\",\n not_found_msg: \"இந்த QR குறியீடு பதிவு செய்யப்படவில்லை.\",\n recalled_msg: \"இந்த தயாரிப்பைப் பயன்படுத்த வேண்டாம்.\",\n trust_score: \"நம்பிக்கை மதிப்பெண்\",\n batch_info: \"தொகுதி தகவல்\",\n manufacturer: \"உற்பத்தியாளர்\",\n compliance: \"இணக்கம்\",\n recycling: \"மறுசுழற்சி\",\n report: \"சிக்கலைப் புகாரளி\",\n contact: \"பிராண்டைத் தொடர்பு\",\n share: \"பகிர்\",\n download: \"தகவலைப் பதிவிறக்கு\",\n batch_no: \"தொகுதி எண்\",\n mfg: \"உற்பத்தி\",\n expiry: \"காலாவதி\",\n sku: \"SKU\",\n powered_by: \"VerifyPack மூலம்\"\n },\n bn: {\n settings: \"সেটিংস\",\n organization: \"প্রতিষ্ঠান\",\n save: \"পরিবর্তন সংরক্ষণ করুন\",\n brands: \"ব্র্যান্ড\",\n notifications: \"বিজ্ঞপ্তি\",\n subscription: \"সাবস্ক্রিপশন\",\n audit: \"অডিট লগ\",\n users_management: \"ব্যবহারকারী ও প্রতিষ্ঠান\",\n invite_user: \"ব্যবহারকারী আমন্ত্রণ করুন\",\n total_users: \"মোট ব্যবহারকারী\",\n active: \"সক্রিয়\",\n pending_invites: \"মুলতুবি আমন্ত্রণ\",\n disabled: \"নিষ্ক্রিয়\",\n users: \"ব্যবহারকারী\",\n roles_permissions: \"ভূমিকা ও অনুমতি\",\n user: \"ব্যবহারকারী\",\n role: \"ভূমিকা\",\n department: \"বিভাগ\",\n verifypack: \"VerifyPack\",\n tagline: \"প্রতিটি পণ্যের জন্য ডিজিটাল বিশ্বাস\",\n scan_on: \"স্ক্যান করা হয়েছে\",\n excellent: \"চমৎকার\",\n good: \"ভালো\",\n average: \"গড়\",\n low: \"কম\",\n category: \"বিভাগ\",\n form_type: \"পণ্যের ধরন\",\n net_weight: \"নিট ওজন\",\n manufactured_by: \"প্রস্তুতকারক\",\n company: \"কোম্পানি\",\n plant: \"কারখানা\",\n country_origin: \"উৎপত্তির দেশ\",\n mfg_date: \"উৎপাদনের তারিখ\",\n expiry_date: \"মেয়াদ শেষের তারিখ\",\n gtin: \"GTIN / বারকোড\",\n compliance_certifications: \"সম্মতি সনদ\",\n recycling_info: \"পুনর্ব্যবহার তথ্য\",\n privacy_policy: \"গোপনীয়তা নীতি\",\n terms_of_use: \"ব্যবহারের শর্তাবলী\",\n help: \"সহায়তা\",\n email: \"ইমেইল\",\n call: \"কল\",\n verified_company: \"যাচাইকৃত প্রস্তুতকারক\",\n dashboard: \"ড্যাশবোর্ড\",\n products: \"পণ্যসমূহ\",\n qr_management: \"QR ব্যবস্থাপনা\",\n analytics: \"বিশ্লেষণ\",\n billing: \"বিলিং\",\n settings_menu: \"সেটিংস\",\n org_id_label: \"প্রতিষ্ঠান ID\",\n plan_label: \"প্ল্যান\",\n free: \"ফ্রি\",\n products_count: \"পণ্য\",\n users_count: \"ব্যবহারকারী\",\n logout: \"লগ আউট\",\n status: \"অবস্থা\",\n last_login: \"সর্বশেষ লগইন\",\n organization_profile: \"প্রতিষ্ঠানের তথ্য\",\n name: \"নাম\",\n org_id: \"প্রতিষ্ঠান আইডি\",\n gstin: \"GSTIN\",\n timezone: \"সময় অঞ্চল\",\n plan: \"প্ল্যান\",\n language: \"ভাষা\",\n address: \"ঠিকানা\",\n phone: \"ফোন\",\n website: \"ওয়েবসাইট\",\n contact_email: \"যোগাযোগ ইমেইল\",\n country: \"দেশ\",\n disable: \"নিষ্ক্রিয় করুন\",\n enable: \"সক্রিয় করুন\",\n genuine: \"আসল পণ্য\",\n unverified: \"সত্যতা যাচাই করা হয়নি\",\n not_found: \"পণ্য পাওয়া যায়নি\",\n recalled: \"পণ্য প্রত্যাহার করা হয়েছে\",\n genuine_msg: \"এই পণ্যটি আসল হিসাবে যাচাই করা হয়েছে।\",\n unverified_msg: \"আমরা এই পণ্যটি যাচাই করতে পারিনি। ব্র্যান্ডের সাথে যোগাযোগ করুন।\",\n not_found_msg: \"এই QR কোডটি নিবন্ধিত নয়।\",\n recalled_msg: \"এই পণ্যটি ব্যবহার করবেন না। এটি প্রত্যাহার করা হয়েছে।\",\n trust_score: \"বিশ্বাস স্কোর\",\n batch_info: \"ব্যাচ তথ্য\",\n manufacturer: \"প্রস্তুতকারক\",\n compliance: \"সম্মতি\",\n recycling: \"পুনর্ব্যবহার\",\n report: \"সমস্যা রিপোর্ট\",\n contact: \"ব্র্যান্ডের সাথে যোগাযোগ\",\n share: \"শেয়ার\",\n download: \"তথ্য ডাউনলোড\",\n batch_no: \"ব্যাচ নং\",\n mfg: \"উৎপাদন\",\n expiry: \"মেয়াদ\",\n sku: \"SKU\",\n powered_by: \"VerifyPack দ্বারা চালিত\"\n }\n};\nfunction detectLang() {\n if (typeof navigator === \"undefined\") return \"en\";\n const l = navigator.language.slice(0, 2);\n return [\n \"en\",\n \"hi\",\n \"kn\",\n \"ta\",\n \"bn\"\n ].includes(l) ? l : \"en\";\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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UUFDVEMsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsU0FBUztRQUNUQyxTQUFTO1FBQ1RDLFFBQVE7UUFFSmMsU0FBUztRQUFZQyxZQUFZO1FBQ2pDQyxXQUFXO1FBQXNCQyxVQUFVO1FBQzNDQyxhQUFhO1FBQ2JDLGdCQUFnQjtRQUNoQkMsZUFBZTtRQUNmQyxjQUFjO1FBQ2RDLGFBQWE7UUFBaUJDLFlBQVk7UUFDMUNDLGNBQWM7UUFBZ0JDLFlBQVk7UUFDMUNDLFdBQVc7UUFBZ0JDLFFBQVE7UUFDbkNDLFNBQVM7UUFBNEJDLE9BQU87UUFBVUMsVUFBVTtRQUNoRUMsVUFBVTtRQUFZQyxLQUFLO1FBQVVDLFFBQVE7UUFBVUMsS0FBSztRQUM1REMsWUFBWTtJQUNkO0FBQ0YsRUFBRTtBQUVLLFNBQVNNO0lBQ2QsSUFBSSxPQUFPQyxjQUFjLGFBQWEsT0FBTztJQUM3QyxNQUFNQyxJQUFJRCxVQUFVakQsUUFBUSxDQUFDbUQsS0FBSyxDQUFDLEdBQUc7SUFDdEMsT0FBTztRQUFFO1FBQU07UUFBTTtRQUFNO1FBQU07S0FBSyxDQUFZQyxRQUFRLENBQUNGLEtBQWNBLElBQWE7QUFDeEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbGliL2kxOG4udHM/NDlhZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBMYW5nID0gXCJlblwiIHwgXCJoaVwiIHwgXCJrblwiIHwgXCJ0YVwiIHwgXCJiblwiO1xuXG5leHBvcnQgY29uc3QgTEFOR1M6IHsgY29kZTogTGFuZzsgbGFiZWw6IHN0cmluZyB9W10gPSBbXG4gIHsgY29kZTogXCJlblwiLCBsYWJlbDogXCJFbmdsaXNoXCIgfSxcbiAgeyBjb2RlOiBcImhpXCIsIGxhYmVsOiBcIuCkueCkv+CkqOCljeCkpuClgFwiIH0sXG4gIHsgY29kZTogXCJrblwiLCBsYWJlbDogXCLgspXgsqjgs43gsqjgsqFcIiB9LFxuICB7IGNvZGU6IFwidGFcIiwgbGFiZWw6IFwi4K6k4K6u4K6/4K604K+NXCIgfSxcbiAgeyBjb2RlOiBcImJuXCIsIGxhYmVsOiBcIuCmrOCmvuCmguCmsuCmvlwiIH0sXG5dO1xuXG50eXBlIERpY3QgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgY29uc3QgVDogUmVjb3JkPExhbmcsIERpY3Q+ID0ge1xuICBlbjoge1xuICAgIHNjYW5fb246IFwiU2Nhbm5lZCBvblwiLFxuZXhjZWxsZW50OiBcIkV4Y2VsbGVudFwiLFxuZ29vZDogXCJHb29kXCIsXG5hdmVyYWdlOiBcIkF2ZXJhZ2VcIixcbmxvdzogXCJMb3dcIixcblxuY2F0ZWdvcnk6IFwiQ2F0ZWdvcnlcIixcbmZvcm1fdHlwZTogXCJGb3JtIFR5cGVcIixcbm5ldF93ZWlnaHQ6IFwiTmV0IFdlaWdodFwiLFxuXG5tYW51ZmFjdHVyZWRfYnk6IFwiTWFudWZhY3R1cmVkIEJ5XCIsXG5jb21wYW55OiBcIkNvbXBhbnlcIixcbnBsYW50OiBcIlBsYW50XCIsXG5jb3VudHJ5X29yaWdpbjogXCJDb3VudHJ5IG9mIE9yaWdpblwiLFxuXG5tZmdfZGF0ZTogXCJNZmcuIERhdGVcIixcbmV4cGlyeV9kYXRlOiBcIkV4cGlyeSBEYXRlXCIsXG5ndGluOiBcIkdUSU4gLyBCYXJjb2RlXCIsXG5cbmNvbXBsaWFuY2VfY2VydGlmaWNhdGlvbnM6IFwiQ29tcGxpYW5jZSBDZXJ0aWZpY2F0aW9uc1wiLFxuXG5yZWN5Y2xpbmdfaW5mbzogXCJSZWN5Y2xpbmcgSW5mb3JtYXRpb25cIixcblxucHJpdmFjeV9wb2xpY3k6IFwiUHJpdmFjeSBQb2xpY3lcIixcbnRlcm1zX29mX3VzZTogXCJUZXJtcyBvZiBVc2VcIixcbmhlbHA6IFwiSGVscFwiLFxuXG5lbWFpbDogXCJFbWFpbFwiLFxuY2FsbDogXCJDYWxsXCIsXG5cbnZlcmlmaWVkX2NvbXBhbnk6IFwiVmVyaWZpZWQgTWFudWZhY3R1cmVyXCIsXG4gICAgc2V0dGluZ3M6IFwiU2V0dGluZ3NcIixcbiAgb3JnYW5pemF0aW9uOiBcIk9yZ2FuaXphdGlvblwiLFxuICBzYXZlOiBcIlNhdmUgQ2hhbmdlc1wiLFxuICB1c2VyczogXCJVc2Vyc1wiLFxuICBicmFuZHM6IFwiQnJhbmRzXCIsXG4gIG5vdGlmaWNhdGlvbnM6IFwiTm90aWZpY2F0aW9uc1wiLFxuICBzdWJzY3JpcHRpb246IFwiU3Vic2NyaXB0aW9uXCIsXG4gIGF1ZGl0OiBcIkF1ZGl0IExvZ3NcIix1c2Vyc19tYW5hZ2VtZW50OiBcIlVzZXJzICYgT3JnYW5pemF0aW9uXCIsXG5pbnZpdGVfdXNlcjogXCJJbnZpdGUgVXNlclwiLFxudG90YWxfdXNlcnM6IFwiVG90YWwgVXNlcnNcIixcbmFjdGl2ZTogXCJBY3RpdmVcIixcbnBlbmRpbmdfaW52aXRlczogXCJQZW5kaW5nIEludml0ZXNcIixcbmRpc2FibGVkOiBcIkRpc2FibGVkXCIsXG5cbnJvbGVzX3Blcm1pc3Npb25zOiBcIlJvbGVzICYgUGVybWlzc2lvbnNcIixcbnVzZXI6IFwiVXNlclwiLFxucm9sZTogXCJSb2xlXCIsXG5kZXBhcnRtZW50OiBcIkRlcGFydG1lbnRcIixcbnN0YXR1czogXCJTdGF0dXNcIixcbmxhc3RfbG9naW46IFwiTGFzdCBMb2dpblwiLFxub3JnYW5pemF0aW9uX3Byb2ZpbGU6IFwiT3JnYW5pemF0aW9uIFByb2ZpbGVcIixcbm5hbWU6IFwiTmFtZVwiLFxub3JnX2lkOiBcIk9yZyBJRFwiLFxuZ3N0aW46IFwiR1NUSU5cIixcbnRpbWV6b25lOiBcIlRpbWV6b25lXCIsXG5wbGFuOiBcIlBsYW5cIixcbmxhbmd1YWdlOiBcIkxhbmd1YWdlXCIsXG5hZGRyZXNzOiBcIkFkZHJlc3NcIixcbnBob25lOiBcIlBob25lXCIsXG53ZWJzaXRlOiBcIldlYnNpdGVcIixcbmNvbnRhY3RfZW1haWw6IFwiQ29udGFjdCBFbWFpbFwiLFxuY291bnRyeTogXCJDb3VudHJ5XCIsXG5kaXNhYmxlOiBcIkRpc2FibGVcIixcbmVuYWJsZTogXCJFbmFibGVcIixcbnRhZ2xpbmU6IFwiRGlnaXRhbCBUcnVzdCBmb3IgRXZlcnkgUHJvZHVjdFwiLFxuXG5kYXNoYm9hcmQ6IFwiRGFzaGJvYXJkXCIsXG5wcm9kdWN0czogXCJQcm9kdWN0c1wiLFxucXJfbWFuYWdlbWVudDogXCJRUiBNYW5hZ2VtZW50XCIsXG5cbmFuYWx5dGljczogXCJBbmFseXRpY3NcIixcbmJpbGxpbmc6IFwiQmlsbGluZ1wiLFxuc2V0dGluZ3NfbWVudTogXCJTZXR0aW5nc1wiLFxuXG5vcmdfaWRfbGFiZWw6IFwiT3JnIElEXCIsXG5wbGFuX2xhYmVsOiBcIlBsYW5cIixcbmZyZWU6IFwiRnJlZVwiLFxuXG5wcm9kdWN0c19jb3VudDogXCJQcm9kdWN0c1wiLFxudXNlcnNfY291bnQ6IFwiVXNlcnNcIixcblxubG9nb3V0OiBcIkxvZyBvdXRcIixcbiAgICBnZW51aW5lOiBcIkdlbnVpbmUgUHJvZHVjdFwiLCB1bnZlcmlmaWVkOiBcIkF1dGhlbnRpY2l0eSBVbnZlcmlmaWVkXCIsXG4gICAgbm90X2ZvdW5kOiBcIlByb2R1Y3QgTm90IEZvdW5kXCIsIHJlY2FsbGVkOiBcIlByb2R1Y3QgUmVjYWxsZWRcIixcbiAgICBnZW51aW5lX21zZzogXCJUaGlzIHByb2R1Y3QgaXMgdmVyaWZpZWQgYXV0aGVudGljLlwiLFxuICAgIHVudmVyaWZpZWRfbXNnOiBcIldlIGNvdWxkIG5vdCB2ZXJpZnkgdGhpcyBwcm9kdWN0LiBDb250YWN0IHRoZSBicmFuZC5cIixcbiAgICBub3RfZm91bmRfbXNnOiBcIlRoaXMgUVIgY29kZSBpcyBub3QgcmVnaXN0ZXJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb2RlLlwiLFxuICAgIHJlY2FsbGVkX21zZzogXCJEbyBub3QgdXNlIHRoaXMgcHJvZHVjdC4gSXQgaGFzIGJlZW4gcmVjYWxsZWQuXCIsXG4gICAgdHJ1c3Rfc2NvcmU6IFwiVHJ1c3QgU2NvcmVcIiwgYmF0Y2hfaW5mbzogXCJCYXRjaCBJbmZvcm1hdGlvblwiLFxuICAgIG1hbnVmYWN0dXJlcjogXCJNYW51ZmFjdHVyZXJcIiwgY29tcGxpYW5jZTogXCJDb21wbGlhbmNlXCIsXG4gICAgcmVjeWNsaW5nOiBcIlJlY3ljbGluZyAmIERpc3Bvc2FsXCIsIHJlcG9ydDogXCJSZXBvcnQgSXNzdWVcIixcbiAgICBjb250YWN0OiBcIkNvbnRhY3QgQnJhbmRcIiwgc2hhcmU6IFwiU2hhcmVcIiwgZG93bmxvYWQ6IFwiRG93bmxvYWQgSW5mb1wiLFxuICAgIGJhdGNoX25vOiBcIkJhdGNoIE5vXCIsIG1mZzogXCJNZmcgRGF0ZVwiLCBleHBpcnk6IFwiRXhwaXJ5XCIsIHNrdTogXCJTS1VcIixcbiAgICBwb3dlcmVkX2J5OiBcIlBvd2VyZWQgYnkgVmVyaWZ5UGFja1wiLFxuICB9LFxuICBoaToge1xuICAgIHZlcmlmeXBhY2s6IFwiVmVyaWZ5UGFja1wiLFxudGFnbGluZTogXCLgpLngpLAg4KSJ4KSk4KWN4KSq4KS+4KSmIOCkleClhyDgpLLgpL/gpI8g4KSh4KS/4KSc4KS/4KSf4KSyIOCkteCkv+CktuCljeCkteCkvuCkuFwiLFxuXG5kYXNoYm9hcmQ6IFwi4KSh4KWI4KS24KSs4KWL4KSw4KWN4KShXCIsXG5wcm9kdWN0czogXCLgpIngpKTgpY3gpKrgpL7gpKZcIixcbnFyX21hbmFnZW1lbnQ6IFwiUVIg4KSq4KWN4KSw4KSs4KSC4KSn4KSoXCIsXG5cbmFuYWx5dGljczogXCLgpLXgpL/gpLbgpY3gpLLgpYfgpLfgpKNcIixcbmJpbGxpbmc6IFwi4KSs4KS/4KSy4KS/4KSC4KSXXCIsXG5zZXR0aW5nc19tZW51OiBcIuCkuOClh+Ckn+Ckv+CkguCkl+CljeCkuFwiLFxuXG5vcmdfaWRfbGFiZWw6IFwi4KS44KSC4KSX4KSg4KSoIOCkhuCkiOCkoeClgFwiLFxucGxhbl9sYWJlbDogXCLgpK/gpYvgpJzgpKjgpL5cIixcbmZyZWU6IFwi4KSu4KWB4KSr4KWN4KSkXCIsXG5cbnByb2R1Y3RzX2NvdW50OiBcIuCkieCkpOCljeCkquCkvuCkplwiLFxudXNlcnNfY291bnQ6IFwi4KSJ4KSq4KSv4KWL4KSX4KSV4KSw4KWN4KSk4KS+XCIsXG5cbmxvZ291dDogXCLgpLLgpYngpJcg4KSG4KSJ4KSfXCIsXG4gICAgc2V0dGluZ3M6IFwi4KS44KWH4KSf4KS/4KSC4KSX4KWN4KS4XCIsXG4gIG9yZ2FuaXphdGlvbjogXCLgpLjgpILgpJfgpKDgpKhcIixcbiAgc2F2ZTogXCLgpKrgpLDgpL/gpLXgpLDgpY3gpKTgpKgg4KS44KS54KWH4KSc4KWH4KSCXCIsXG4gIHVzZXJzOiBcIuCkieCkquCkr+Cli+Ckl+CkleCksOCljeCkpOCkvlwiLFxuICBicmFuZHM6IFwi4KSs4KWN4KSw4KS+4KSC4KShXCIsXG4gIG5vdGlmaWNhdGlvbnM6IFwi4KS44KWC4KSa4KSo4KS+4KSP4KSBXCIsXG4gIHN1YnNjcmlwdGlvbjogXCLgpLjgpKbgpLjgpY3gpK/gpKTgpL5cIixcbiAgYXVkaXQ6IFwi4KSR4KSh4KS/4KSfIOCksuClieCkl1wiLFxuICB1c2Vyc19tYW5hZ2VtZW50OiBcIuCkieCkquCkr+Cli+Ckl+CkleCksOCljeCkpOCkviDgpI/gpLXgpIIg4KS44KSC4KSX4KSg4KSoXCIsXG5pbnZpdGVfdXNlcjogXCLgpIngpKrgpK/gpYvgpJfgpJXgpLDgpY3gpKTgpL4g4KSG4KSu4KSC4KSk4KWN4KSw4KS/4KSkIOCkleCksOClh+CkglwiLFxudG90YWxfdXNlcnM6IFwi4KSV4KWB4KSyIOCkieCkquCkr+Cli+Ckl+CkleCksOCljeCkpOCkvlwiLFxuYWN0aXZlOiBcIuCkuOCkleCljeCksOCkv+Ckr1wiLFxucGVuZGluZ19pbnZpdGVzOiBcIuCksuCkguCkrOCkv+CkpCDgpKjgpL/gpK7gpILgpKTgpY3gpLDgpKNcIixcbmRpc2FibGVkOiBcIuCkheCkleCljeCkt+CkrlwiLFxuXG5yb2xlc19wZXJtaXNzaW9uczogXCLgpK3gpYLgpK7gpL/gpJXgpL7gpI/gpIEg4KSP4KS14KSCIOCkheCkqOClgeCkruCkpOCkv+Ckr+CkvuCkgVwiLFxudXNlcjogXCLgpIngpKrgpK/gpYvgpJfgpJXgpLDgpY3gpKTgpL5cIixcbnJvbGU6IFwi4KSt4KWC4KSu4KS/4KSV4KS+XCIsXG5kZXBhcnRtZW50OiBcIuCkteCkv+CkreCkvuCkl1wiLFxuc3RhdHVzOiBcIuCkuOCljeCkpeCkv+CkpOCkv1wiLFxubGFzdF9sb2dpbjogXCLgpIXgpILgpKTgpL/gpK4g4KSy4KWJ4KSX4KS/4KSoXCIsXG5vcmdhbml6YXRpb25fcHJvZmlsZTogXCLgpLjgpILgpJfgpKDgpKgg4KSq4KWN4KSw4KWL4KSr4KS84KS+4KSH4KSyXCIsXG5uYW1lOiBcIuCkqOCkvuCkrlwiLFxub3JnX2lkOiBcIuCkuOCkguCkl+CkoOCkqCDgpIbgpIjgpKHgpYBcIixcbmdzdGluOiBcIkdTVElOXCIsXG50aW1lem9uZTogXCLgpLjgpK7gpK8g4KSV4KWN4KS34KWH4KSk4KWN4KSwXCIsXG5wbGFuOiBcIuCkr+Cli+CknOCkqOCkvlwiLFxubGFuZ3VhZ2U6IFwi4KSt4KS+4KS34KS+XCIsXG5hZGRyZXNzOiBcIuCkquCkpOCkvlwiLFxucGhvbmU6IFwi4KSr4KS84KWL4KSoXCIsXG53ZWJzaXRlOiBcIuCkteClh+CkrOCkuOCkvuCkh+Ckn1wiLFxuY29udGFjdF9lbWFpbDogXCLgpLjgpILgpKrgpLDgpY3gpJUg4KSI4KSu4KWH4KSyXCIsXG5jb3VudHJ5OiBcIuCkpuClh+CktlwiLFxuZGlzYWJsZTogXCLgpIXgpJXgpY3gpLfgpK4g4KSV4KSw4KWH4KSCXCIsXG5lbmFibGU6IFwi4KS44KSV4KWN4KS34KSuIOCkleCksOClh+CkglwiLFxuc2Nhbl9vbjogXCLgpLjgpY3gpJXgpYjgpKgg4KSV4KS/4KSv4KS+IOCkl+Ckr+CkvlwiLFxuZXhjZWxsZW50OiBcIuCkieCkpOCljeCkleClg+Ckt+CljeCkn1wiLFxuZ29vZDogXCLgpIXgpJrgpY3gpJvgpL5cIixcbmF2ZXJhZ2U6IFwi4KSU4KS44KSkXCIsXG5sb3c6IFwi4KSV4KSuXCIsXG5cbmNhdGVnb3J5OiBcIuCktuCljeCksOClh+Cko+ClgFwiLFxuZm9ybV90eXBlOiBcIuCkieCkpOCljeCkquCkvuCkpiDgpKrgpY3gpLDgpJXgpL7gpLBcIixcbm5ldF93ZWlnaHQ6IFwi4KS24KWB4KSm4KWN4KSnIOCkteCknOCkqFwiLFxuXG5tYW51ZmFjdHVyZWRfYnk6IFwi4KSo4KS/4KSw4KWN4KSu4KS+4KSk4KS+XCIsXG5jb21wYW55OiBcIuCkleCkguCkquCkqOClgFwiLFxucGxhbnQ6IFwi4KS44KSC4KSv4KSC4KSk4KWN4KSwXCIsXG5jb3VudHJ5X29yaWdpbjogXCLgpK7gpYLgpLIg4KSm4KWH4KS2XCIsXG5cbm1mZ19kYXRlOiBcIuCkqOCkv+CksOCljeCkruCkvuCkoyDgpKTgpL/gpKXgpL9cIixcbmV4cGlyeV9kYXRlOiBcIuCkuOCkruCkvuCkquCljeCkpOCkvyDgpKTgpL/gpKXgpL9cIixcbmd0aW46IFwiR1RJTiAvIOCkrOCkvuCksOCkleCli+CkoVwiLFxuXG5jb21wbGlhbmNlX2NlcnRpZmljYXRpb25zOiBcIuCkheCkqOClgeCkquCkvuCksuCkqCDgpKrgpY3gpLDgpK7gpL7gpKPgpKrgpKTgpY3gpLBcIixcblxucmVjeWNsaW5nX2luZm86IFwi4KSw4KWA4KS44KS+4KSH4KSV4KWN4KSy4KS/4KSC4KSXIOCknOCkvuCkqOCkleCkvuCksOClgFwiLFxuXG5wcml2YWN5X3BvbGljeTogXCLgpJfgpYvgpKrgpKjgpYDgpK/gpKTgpL4g4KSo4KWA4KSk4KS/XCIsXG50ZXJtc19vZl91c2U6IFwi4KSJ4KSq4KSv4KWL4KSXIOCkleClgCDgpLbgpLDgpY3gpKTgpYfgpIJcIixcbmhlbHA6IFwi4KS44KS54KS+4KSv4KSk4KS+XCIsXG5cbmVtYWlsOiBcIuCkiOCkruClh+CkslwiLFxuY2FsbDogXCLgpJXgpYngpLJcIixcblxudmVyaWZpZWRfY29tcGFueTogXCLgpLjgpKTgpY3gpK/gpL7gpKrgpL/gpKQg4KSo4KS/4KSw4KWN4KSu4KS+4KSk4KS+XCIsXG4gICAgZ2VudWluZTogXCLgpIXgpLjgpLLgpYAg4KSJ4KSk4KWN4KSq4KS+4KSmXCIsIHVudmVyaWZpZWQ6IFwi4KSq4KWN4KSw4KS+4KSu4KS+4KSj4KS/4KSV4KSk4KS+IOCkheCkuOCkpOCljeCkr+CkvuCkquCkv+CkpFwiLFxuICAgIG5vdF9mb3VuZDogXCLgpIngpKTgpY3gpKrgpL7gpKYg4KSo4KS54KWA4KSCIOCkruCkv+CksuCkvlwiLCByZWNhbGxlZDogXCLgpIngpKTgpY3gpKrgpL7gpKYg4KS14KS+4KSq4KS4IOCksuCkv+Ckr+CkviDgpJfgpK/gpL5cIixcbiAgICBnZW51aW5lX21zZzogXCLgpK/gpLkg4KSJ4KSk4KWN4KSq4KS+4KSmIOCkquCljeCksOCkruCkvuCko+Ckv+CkpCDgpLDgpYLgpKog4KS44KWHIOCkheCkuOCksuClgCDgpLngpYjgpaRcIixcbiAgICB1bnZlcmlmaWVkX21zZzogXCLgpLngpK4g4KSH4KS4IOCkieCkpOCljeCkquCkvuCkpiDgpJXgpYsg4KS44KSk4KWN4KSv4KS+4KSq4KS/4KSkIOCkqOCkueClgOCkgiDgpJXgpLAg4KS44KSV4KWH4KWkIOCkrOCljeCksOCkvuCkguCkoSDgpLjgpYcg4KS44KSC4KSq4KSw4KWN4KSVIOCkleCksOClh+CkguClpFwiLFxuICAgIG5vdF9mb3VuZF9tc2c6IFwi4KSv4KS5IFFSIOCkleCli+CkoSDgpKrgpILgpJzgpYDgpJXgpYPgpKQg4KSo4KS54KWA4KSCIOCkueCliOClpCDgpJXgpYPgpKrgpK/gpL4g4KSV4KWL4KShIOCknOCkvuCkguCkmuClh+CkguClpFwiLFxuICAgIHJlY2FsbGVkX21zZzogXCLgpIfgpLgg4KSJ4KSk4KWN4KSq4KS+4KSmIOCkleCkviDgpIngpKrgpK/gpYvgpJcg4KSoIOCkleCksOClh+CkguClpCDgpIfgpLjgpYcg4KS14KS+4KSq4KS4IOCksuClhyDgpLLgpL/gpK/gpL4g4KSX4KSv4KS+IOCkueCliOClpFwiLFxuICAgIHRydXN0X3Njb3JlOiBcIuCkteCkv+CktuCljeCkteCkvuCkuCDgpLjgpY3gpJXgpYvgpLBcIiwgYmF0Y2hfaW5mbzogXCLgpKzgpYjgpJog4KSc4KS+4KSo4KSV4KS+4KSw4KWAXCIsXG4gICAgbWFudWZhY3R1cmVyOiBcIuCkqOCkv+CksOCljeCkruCkvuCkpOCkvlwiLCBjb21wbGlhbmNlOiBcIuCkheCkqOClgeCkquCkvuCksuCkqFwiLFxuICAgIHJlY3ljbGluZzogXCLgpLDgpYDgpLjgpL7gpIfgpJXgpY3gpLLgpL/gpILgpJcg4KSU4KSwIOCkqOCkv+CkquCkn+CkvuCkqFwiLCByZXBvcnQ6IFwi4KS44KSu4KS44KWN4KSv4KS+IOCkleClgCDgpLDgpL/gpKrgpYvgpLDgpY3gpJ8g4KSV4KSw4KWH4KSCXCIsXG4gICAgY29udGFjdDogXCLgpKzgpY3gpLDgpL7gpILgpKEg4KS44KWHIOCkuOCkguCkquCksOCljeCklSDgpJXgpLDgpYfgpIJcIiwgc2hhcmU6IFwi4KS44KS+4KSd4KS+IOCkleCksOClh+CkglwiLCBkb3dubG9hZDogXCLgpJzgpL7gpKjgpJXgpL7gpLDgpYAg4KSh4KS+4KSJ4KSo4KSy4KWL4KShIOCkleCksOClh+CkglwiLFxuICAgIGJhdGNoX25vOiBcIuCkrOCliOCkmiDgpKjgpIJcIiwgbWZnOiBcIuCkqOCkv+CksOCljeCkruCkvuCkoyDgpKTgpL/gpKXgpL9cIiwgZXhwaXJ5OiBcIuCkuOCkruCkvuCkquCljeCkpOCkv1wiLCBza3U6IFwiU0tVXCIsXG4gICAgcG93ZXJlZF9ieTogXCJWZXJpZnlQYWNrIOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKRcIixcbiAgfSxcbiAga246IHtcbiAgICB2ZXJpZnlwYWNrOiBcIlZlcmlmeVBhY2tcIixcbnRhZ2xpbmU6IFwi4LKq4LON4LKw4LKk4LK/IOCyieCypOCzjeCyquCyqOCzjeCyqOCyleCzjeCyleCzhiDgsqHgsr/gspzgsr/gsp/gsrLgs40g4LKo4LKC4LKs4LK/4LKV4LOGXCIsXG5cbmRhc2hib2FyZDogXCLgsqHgs43gsq/gsr7gsrbgs43igIzgsqzgs4vgsrDgs43gsqHgs41cIixcbnByb2R1Y3RzOiBcIuCyieCypOCzjeCyquCyqOCzjeCyqOCyl+Cys+CzgVwiLFxucXJfbWFuYWdlbWVudDogXCJRUiDgsqjgsr/gsrDgs43gsrXgsrngsqPgs4ZcIixcblxuYW5hbHl0aWNzOiBcIuCyteCyv+CytuCzjeCysuCzh+Cyt+Cyo+CzhlwiLFxuYmlsbGluZzogXCLgsqzgsr/gsrLgs43gsrLgsr/gsoLgspfgs41cIixcbnNldHRpbmdzX21lbnU6IFwi4LK44LOG4LKf4LON4LKf4LK/4LKC4LKX4LON4oCM4LKX4LKz4LOBXCIsXG5cbm9yZ19pZF9sYWJlbDogXCLgsrjgsoLgsrjgs43gsqXgs4YgSURcIixcbnBsYW5fbGFiZWw6IFwi4LKv4LOL4LKc4LKo4LOGXCIsXG5mcmVlOiBcIuCyieCymuCyv+CypFwiLFxuXG5wcm9kdWN0c19jb3VudDogXCLgsongsqTgs43gsqrgsqjgs43gsqjgspfgsrPgs4FcIixcbnVzZXJzX2NvdW50OiBcIuCyrOCys+CyleCzhuCypuCyvuCysOCysOCzgVwiLFxuc2Nhbl9vbjogXCLgsrjgs43gspXgs43gsq/gsr7gsqjgs40g4LKu4LK+4LKh4LK/4LKmIOCypuCyv+CyqOCyvuCyguCylVwiLFxuZXhjZWxsZW50OiBcIuCyheCypOCzjeCyr+CzgeCypOCzjeCypOCyrlwiLFxuZ29vZDogXCLgsongsqTgs43gsqTgsq5cIixcbmF2ZXJhZ2U6IFwi4LK44LKw4LK+4LK44LKw4LK/XCIsXG5sb3c6IFwi4LKV4LKh4LK/4LKu4LOGXCIsXG5cbmNhdGVnb3J5OiBcIuCyteCysOCzjeCyl1wiLFxuZm9ybV90eXBlOiBcIuCyieCypOCzjeCyquCyqOCzjeCyqOCypiDgsrXgsr/gsqdcIixcbm5ldF93ZWlnaHQ6IFwi4LKo4LK/4LK14LON4LK14LKzIOCypOCzguCylVwiLFxuXG5tYW51ZmFjdHVyZWRfYnk6IFwi4LKk4LKv4LK+4LKw4LK/4LK44LK/4LKm4LK14LKw4LOBXCIsXG5jb21wYW55OiBcIuCyleCyguCyquCyqOCyv1wiLFxucGxhbnQ6IFwi4LKV4LK+4LKw4LON4LKW4LK+4LKo4LOGXCIsXG5jb3VudHJ5X29yaWdpbjogXCLgsq7gs4LgsrIg4LKm4LOH4LK2XCIsXG5cbm1mZ19kYXRlOiBcIuCypOCyr+CyvuCysOCyv+CyuOCyv+CypiDgsqbgsr/gsqjgsr7gsoLgspVcIixcbmV4cGlyeV9kYXRlOiBcIuCyheCyteCyp+CyvyDgsq7gs4HgspXgs43gsqTgsr7gsq8g4LKm4LK/4LKo4LK+4LKC4LKVXCIsXG5ndGluOiBcIkdUSU4gLyDgsqzgsr7gsrDgs43igIzgspXgs4vgsqHgs41cIixcblxuY29tcGxpYW5jZV9jZXJ0aWZpY2F0aW9uczogXCLgsoXgsqjgs4HgsrjgsrDgsqPgs4Yg4LKq4LON4LKw4LKu4LK+4LKj4LKq4LKk4LON4LKw4LKX4LKz4LOBXCIsXG5cbnJlY3ljbGluZ19pbmZvOiBcIuCyruCysOCzgeCyrOCys+CyleCzhiDgsq7gsr7gsrngsr/gsqTgsr9cIixcblxucHJpdmFjeV9wb2xpY3k6IFwi4LKX4LOM4LKq4LON4LKv4LKk4LK+IOCyqOCzgOCypOCyv1wiLFxudGVybXNfb2ZfdXNlOiBcIuCyrOCys+CyleCzhuCyryDgsqjgsr/gsq/gsq7gspfgsrPgs4FcIixcbmhlbHA6IFwi4LK44LK54LK+4LKvXCIsXG5cbmVtYWlsOiBcIuCyh+CyruCzh+CysuCzjVwiLFxuY2FsbDogXCLgspXgsrDgs4ZcIixcblxudmVyaWZpZWRfY29tcGFueTogXCLgsqbgs4PgsqLgs4DgspXgsrDgsr/gsrjgsr/gsqYg4LKk4LKv4LK+4LKw4LKVXCIsXG5cbmxvZ291dDogXCLgsrLgsr7gspfgs40g4LKU4LKf4LONXCIsXG4gICAgc2V0dGluZ3M6IFwi4LK44LOG4LKf4LON4LKf4LK/4LKC4LKX4LON4oCM4LKX4LKz4LOBXCIsXG4gIG9yZ2FuaXphdGlvbjogXCLgsrjgsoLgsrjgs43gsqXgs4ZcIixcbiAgc2F2ZTogXCLgsqzgsqbgsrLgsr7gsrXgsqPgs4bgspfgsrPgsqjgs43gsqjgs4Eg4LKJ4LKz4LK/4LK44LK/XCIsXG4gIFxuICBicmFuZHM6IFwi4LKs4LON4LKw4LON4LKv4LK+4LKC4LKh4LON4oCM4LKX4LKz4LOBXCIsXG4gIG5vdGlmaWNhdGlvbnM6IFwi4LKF4LKn4LK/4LK44LOC4LKa4LKo4LOG4LKX4LKz4LOBXCIsXG4gIHN1YnNjcmlwdGlvbjogXCLgsprgsoLgsqbgsr7gsqbgsr7gsrDgsr/gspXgs4ZcIixcbiAgYXVkaXQ6IFwi4LKG4LKh4LK/4LKf4LONIOCypuCyvuCyluCysuCzhuCyl+Cys+CzgVwiLFxuICB1c2Vyc19tYW5hZ2VtZW50OiBcIuCyrOCys+CyleCzhuCypuCyvuCysOCysOCzgSDgsq7gsqTgs43gsqTgs4Eg4LK44LKC4LK44LON4LKl4LOGXCIsXG5pbnZpdGVfdXNlcjogXCLgsqzgsrPgspXgs4bgsqbgsr7gsrDgsrDgsqjgs43gsqjgs4Eg4LKG4LK54LON4LK14LK+4LKo4LK/4LK44LK/XCIsXG50b3RhbF91c2VyczogXCLgspLgsp/gs43gsp/gs4Eg4LKs4LKz4LKV4LOG4LKm4LK+4LKw4LKw4LOBXCIsXG5hY3RpdmU6IFwi4LK44LKV4LON4LKw4LK/4LKvXCIsXG5wZW5kaW5nX2ludml0ZXM6IFwi4LKs4LK+4LKV4LK/IOCyhuCyueCzjeCyteCyvuCyqOCyl+Cys+CzgVwiLFxuZGlzYWJsZWQ6IFwi4LKo4LK/4LK34LON4LKV4LON4LKw4LK/4LKvXCIsXG51c2VyczogXCLgsqzgsrPgspXgs4bgsqbgsr7gsrDgsrDgs4FcIixcbnJvbGVzX3Blcm1pc3Npb25zOiBcIuCyquCyvuCypOCzjeCysOCyl+Cys+CzgSDgsq7gsqTgs43gsqTgs4Eg4LKF4LKo4LOB4LKu4LKk4LK/4LKX4LKz4LOBXCIsXG51c2VyOiBcIuCyrOCys+CyleCzhuCypuCyvuCysFwiLFxucm9sZTogXCLgsqrgsr7gsqTgs43gsrBcIixcbmRlcGFydG1lbnQ6IFwi4LK14LK/4LKt4LK+4LKXXCIsXG5zdGF0dXM6IFwi4LK44LON4LKl4LK/4LKk4LK/XCIsXG5sYXN0X2xvZ2luOiBcIuCyleCziuCyqOCzhuCyryDgsrLgsr7gspfgsr/gsqjgs41cIixcbm9yZ2FuaXphdGlvbl9wcm9maWxlOiBcIuCyuOCyguCyuOCzjeCypeCzhuCyryDgsrXgsr/gsrXgsrBcIixcbm5hbWU6IFwi4LK54LOG4LK44LKw4LOBXCIsXG5vcmdfaWQ6IFwi4LK44LKC4LK44LON4LKl4LOGIElEXCIsXG5nc3RpbjogXCJHU1RJTlwiLFxudGltZXpvbmU6IFwi4LK44LKu4LKvIOCyteCysuCyr1wiLFxucGxhbjogXCLgsq/gs4vgspzgsqjgs4ZcIixcbmxhbmd1YWdlOiBcIuCyreCyvuCyt+CzhlwiLFxuYWRkcmVzczogXCLgsrXgsr/gsrPgsr7gsrhcIixcbnBob25lOiBcIuCypuCzguCysOCyteCyvuCyo+Cyv1wiLFxud2Vic2l0ZTogXCLgspzgsr7gsrLgsqTgsr7gsqNcIixcbmNvbnRhY3RfZW1haWw6IFwi4LK44LKC4LKq4LKw4LON4LKVIOCyh+CyruCzh+CysuCzjVwiLFxuY291bnRyeTogXCLgsqbgs4fgsrZcIixcbmRpc2FibGU6IFwi4LKo4LK/4LK34LON4LKV4LON4LKw4LK/4LKv4LKX4LOK4LKz4LK/4LK44LK/XCIsXG5lbmFibGU6IFwi4LK44LKV4LON4LKw4LK/4LKv4LKX4LOK4LKz4LK/4LK44LK/XCIsXG4gICAgZ2VudWluZTogXCLgsoXgsrjgsrLgsr8g4LKJ4LKk4LON4LKq4LKo4LON4LKoXCIsIHVudmVyaWZpZWQ6IFwi4LKm4LOD4LKi4LOA4LKV4LKw4LKjIOCyquCysOCyv+CytuCzgOCysuCyv+CyuOCysuCyvuCyl+Cyv+CysuCzjeCyslwiLFxuICAgIG5vdF9mb3VuZDogXCLgsongsqTgs43gsqrgsqjgs43gsqgg4LKV4LKC4LKh4LOB4LKs4LKC4LKm4LK/4LKy4LON4LKyXCIsIHJlY2FsbGVkOiBcIuCyieCypOCzjeCyquCyqOCzjeCyqCDgsrngsr/gsoLgsqrgsqHgs4bgsq/gsrLgsr7gspfgsr/gsqbgs4ZcIixcbiAgICBnZW51aW5lX21zZzogXCLgsogg4LKJ4LKk4LON4LKq4LKo4LON4LKo4LK14LOBIOCyheCyuOCysuCyvyDgso7gsoLgsqbgs4Eg4LKm4LOD4LKi4LOA4LKV4LKw4LK/4LK44LKy4LK+4LKX4LK/4LKm4LOGLlwiLFxuICAgIHVudmVyaWZpZWRfbXNnOiBcIuCyiCDgsongsqTgs43gsqrgsqjgs43gsqjgsrXgsqjgs43gsqjgs4Eg4LKq4LKw4LK/4LK24LOA4LKy4LK/4LK44LKy4LK+4LKX4LK/4LKy4LON4LKyLiDgsqzgs43gsrDgsr7gsoLgsqHgs40g4LK44LKC4LKq4LKw4LON4LKV4LK/4LK44LK/LlwiLFxuICAgIG5vdF9mb3VuZF9tc2c6IFwi4LKIIFFSIOCyleCzi+CyoeCzjSDgsqjgs4vgsoLgsqbgsr7gsq/gsr/gsrjgsr/gsrLgs43gsrIuXCIsXG4gICAgcmVjYWxsZWRfbXNnOiBcIuCyiCDgsongsqTgs43gsqrgsqjgs43gsqjgsrXgsqjgs43gsqjgs4Eg4LKs4LKz4LK44LKs4LOH4LKh4LK/LiDgsofgsqbgsqjgs43gsqjgs4Eg4LK54LK/4LKC4LKq4LKh4LOG4LKv4LKy4LK+4LKX4LK/4LKm4LOGLlwiLFxuICAgIHRydXN0X3Njb3JlOiBcIuCyteCyv+CytuCzjeCyteCyvuCyuCDgsrjgs43gspXgs4vgsrDgs41cIiwgYmF0Y2hfaW5mbzogXCLgsqzgs43gsq/gsr7gsprgs40g4LKu4LK+4LK54LK/4LKk4LK/XCIsXG4gICAgbWFudWZhY3R1cmVyOiBcIuCypOCyr+CyvuCysOCylVwiLCBjb21wbGlhbmNlOiBcIuCyheCyqOCzgeCyuOCysOCyo+CzhlwiLFxuICAgIHJlY3ljbGluZzogXCLgsq7gsrDgs4HgsqzgsrPgspXgs4ZcIiwgcmVwb3J0OiBcIuCyuOCyruCyuOCzjeCyr+CzhiDgsrXgsrDgsqbgsr9cIixcbiAgICBjb250YWN0OiBcIuCyrOCzjeCysOCyvuCyguCyoeCzjSDgsrjgsoLgsqrgsrDgs43gspXgsr/gsrjgsr9cIiwgc2hhcmU6IFwi4LK54LKC4LKa4LK/4LKV4LOK4LKz4LON4LKz4LK/XCIsIGRvd25sb2FkOiBcIuCyruCyvuCyueCyv+CypOCyvyDgsqHgs4zgsqjgs43igIzgsrLgs4vgsqHgs41cIixcbiAgICBiYXRjaF9ubzogXCLgsqzgs43gsq/gsr7gsprgs40g4LK44LKCXCIsIG1mZzogXCLgsqTgsq/gsr7gsrDgsr/gspXgs4ZcIiwgZXhwaXJ5OiBcIuCyruCzgeCyleCzjeCypOCyvuCyr1wiLCBza3U6IFwiU0tVXCIsXG4gICAgcG93ZXJlZF9ieTogXCJWZXJpZnlQYWNrIOCyqOCyv+CyguCyplwiLFxuICB9LFxuICB0YToge1xuICAgIHNldHRpbmdzOiBcIuCuheCuruCviOCuquCvjeCuquCvgeCuleCus+CvjVwiLFxuICBvcmdhbml6YXRpb246IFwi4K6o4K6/4K6x4K+B4K614K6p4K6u4K+NXCIsXG4gIHNhdmU6IFwi4K6u4K6+4K6x4K+N4K6x4K6Z4K+N4K6V4K6z4K+IIOCumuCvh+CuruCuv1wiLFxuICB1c2VyczogXCLgrqrgrq/grqngrrDgr43grpXgrrPgr41cIixcbiAgYnJhbmRzOiBcIuCuquCuv+CusOCuvuCuo+CvjeCun+CvgeCuleCus+CvjVwiLFxuICBub3RpZmljYXRpb25zOiBcIuCuheCuseCuv+CuteCuv+CuquCvjeCuquCvgeCuleCus+CvjVwiLFxuICBzdWJzY3JpcHRpb246IFwi4K6a4K6o4K+N4K6k4K6+XCIsXG4gIGF1ZGl0OiBcIuCupOCuo+Cuv+CuleCvjeCuleCviCDgrqrgrqTgrr/grrXgr4HgrpXgrrPgr41cIix1c2Vyc19tYW5hZ2VtZW50OiBcIuCuquCur+CuqeCusOCvjeCuleCus+CvjSAmIOCuqOCuv+CuseCvgeCuteCuqeCuruCvjVwiLFxuICBzY2FuX29uOiBcIuCuuOCvjeCuleCvh+CuqeCvjSDgrprgr4bgrq/gr43grq/grqrgr43grqrgrp/gr43grp8g4K6k4K+H4K6k4K6/XCIsXG5leGNlbGxlbnQ6IFwi4K6u4K6/4K6V4K6a4K+NIOCumuCuv+CuseCuqOCvjeCupOCupOCvgVwiLFxuZ29vZDogXCLgrqjgrrLgr43grrLgrqTgr4FcIixcbmF2ZXJhZ2U6IFwi4K6a4K6w4K6+4K6a4K6w4K6/XCIsXG5sb3c6IFwi4K6V4K+B4K6x4K+I4K614K+BXCIsXG5cbmNhdGVnb3J5OiBcIuCuteCuleCviFwiLFxuZm9ybV90eXBlOiBcIuCuteCun+Cuv+CuteCuruCvjVwiLFxubmV0X3dlaWdodDogXCLgrqjgrr/grpXgrrAg4K6O4K6f4K+IXCIsXG5cbm1hbnVmYWN0dXJlZF9ieTogXCLgrongrrHgr43grqrgrqTgr43grqTgrr8g4K6a4K+G4K6v4K+N4K6k4K614K6w4K+NXCIsXG5jb21wYW55OiBcIuCuqOCuv+CuseCvgeCuteCuqeCuruCvjVwiLFxucGxhbnQ6IFwi4K6k4K+K4K604K6/4K6x4K+N4K6a4K6+4K6y4K+IXCIsXG5jb3VudHJ5X29yaWdpbjogXCLgrqTgr4vgrrHgr43grrEg4K6o4K6+4K6f4K+BXCIsXG5cbm1mZ19kYXRlOiBcIuCuieCuseCvjeCuquCupOCvjeCupOCuvyDgrqTgr4fgrqTgrr9cIixcbmV4cGlyeV9kYXRlOiBcIuCuleCuvuCusuCuvuCuteCupOCuvyDgrqTgr4fgrqTgrr9cIixcbmd0aW46IFwiR1RJTiAvIOCuquCuvuCusOCvjeCuleCvi+Cun+CvgVwiLFxuXG5jb21wbGlhbmNlX2NlcnRpZmljYXRpb25zOiBcIuCuh+Cuo+CuleCvjeCuleCumuCvjSDgrprgrr7grqngr43grrHgrr/grqTgrrTgr43grpXgrrPgr41cIixcblxucmVjeWNsaW5nX2luZm86IFwi4K6u4K6x4K+B4K6a4K+B4K604K6x4K+N4K6a4K6/IOCupOCuleCuteCusuCvjVwiLFxuXG5wcml2YWN5X3BvbGljeTogXCLgrqTgrqngrr/grq/gr4HgrrDgrr/grq7gr4jgrpXgr40g4K6V4K+K4K6z4K+N4K6V4K+IXCIsXG50ZXJtc19vZl91c2U6IFwi4K6q4K6v4K6p4K+N4K6q4K6+4K6f4K+N4K6f4K+BIOCuteCuv+CupOCuv+CuruCvgeCuseCviOCuleCus+CvjVwiLFxuaGVscDogXCLgrongrqTgrrXgrr9cIixcblxuZW1haWw6IFwi4K6u4K6/4K6p4K+N4K6p4K6e4K+N4K6a4K6y4K+NXCIsXG5jYWxsOiBcIuCuheCutOCviFwiLFxuXG52ZXJpZmllZF9jb21wYW55OiBcIuCumuCusOCuv+CuquCuvuCusOCvjeCuleCvjeCuleCuquCvjeCuquCun+CvjeCunyDgrongrrHgr43grqrgrqTgr43grqTgrr/grq/grr7grrPgrrDgr41cIixcbmludml0ZV91c2VyOiBcIuCuquCur+CuqeCusOCviCDgroXgrrTgr4jgrpXgr43grpXgrrXgr4Hgrq7gr41cIixcbnRvdGFsX3VzZXJzOiBcIuCuruCviuCupOCvjeCupCDgrqrgrq/grqngrrDgr43grpXgrrPgr41cIixcbmFjdGl2ZTogXCLgrprgr4bgrq/grrLgrr/grrLgr41cIixcbnBlbmRpbmdfaW52aXRlczogXCLgrqjgrr/grrLgr4HgrrXgr4jgrq/grr/grrLgr40g4K6J4K6z4K+N4K6zIOCuheCutOCviOCuquCvjeCuquCvgeCuleCus+CvjVwiLFxuZGlzYWJsZWQ6IFwi4K6u4K+B4K6f4K6V4K+N4K6V4K6q4K+N4K6q4K6f4K+N4K6f4K6k4K+BXCIsXG52ZXJpZnlwYWNrOiBcIlZlcmlmeVBhY2tcIixcbnRhZ2xpbmU6IFwi4K6S4K614K+N4K614K+K4K6w4K+BIOCupOCur+CuvuCusOCuv+CuquCvjeCuquCuv+CuseCvjeCuleCvgeCuruCvjSDgrp/grr/grpzgrr/grp/gr43grp/grrLgr40g4K6o4K6u4K+N4K6q4K6/4K6V4K+N4K6V4K+IXCIsXG5cbmRhc2hib2FyZDogXCLgrq7gr4HgrpXgrqrgr43grqrgr4Eg4K6q4K6y4K6V4K+IXCIsXG5wcm9kdWN0czogXCLgrqTgrq/grr7grrDgrr/grqrgr43grqrgr4HgrpXgrrPgr41cIixcbnFyX21hbmFnZW1lbnQ6IFwiUVIg4K6u4K+H4K6y4K6+4K6j4K+N4K6u4K+IXCIsXG5cbmFuYWx5dGljczogXCLgrqrgrpXgr4Hgrqrgr43grqrgrr7grq/gr43grrXgr4FcIixcbmJpbGxpbmc6IFwi4K6V4K6f4K+N4K6f4K6j4K6u4K+NXCIsXG5zZXR0aW5nc19tZW51OiBcIuCuheCuruCviOCuquCvjeCuquCvgeCuleCus+CvjVwiLFxuXG5vcmdfaWRfbGFiZWw6IFwi4K6o4K6/4K6x4K+B4K614K6pIElEXCIsXG5wbGFuX2xhYmVsOiBcIuCupOCuv+Cun+CvjeCun+CuruCvjVwiLFxuZnJlZTogXCLgrofgrrLgrrXgrprgrq7gr41cIixcblxucHJvZHVjdHNfY291bnQ6IFwi4K6k4K6v4K6+4K6w4K6/4K6q4K+N4K6q4K+B4K6V4K6z4K+NXCIsXG51c2Vyc19jb3VudDogXCLgrqrgrq/grqngrrDgr43grpXgrrPgr41cIixcblxubG9nb3V0OiBcIuCuteCvhuCus+Cuv+Cur+Cvh+CuseCvgVwiLFxuXG5yb2xlc19wZXJtaXNzaW9uczogXCLgrqrgrr7grqTgr43grqTgrr/grrDgrpngr43grpXgrrPgr40gJiDgroXgrqngr4Hgrq7grqTgrr/grpXgrrPgr41cIixcbnVzZXI6IFwi4K6q4K6v4K6p4K6w4K+NXCIsXG5yb2xlOiBcIuCuquCumeCvjeCuleCvgVwiLFxuZGVwYXJ0bWVudDogXCLgrqTgr4HgrrHgr4hcIixcbnN0YXR1czogXCLgrqjgrr/grrLgr4hcIixcbmxhc3RfbG9naW46IFwi4K6V4K6f4K+I4K6a4K6/IOCuieCus+CvjeCuqOCvgeCutOCviOCuteCvgVwiLFxub3JnYW5pemF0aW9uX3Byb2ZpbGU6IFwi4K6o4K6/4K6x4K+B4K614K6pIOCuteCuv+CuteCusOCuruCvjVwiLFxubmFtZTogXCLgrqrgr4bgrq/grrDgr41cIixcbm9yZ19pZDogXCLgrqjgrr/grrHgr4HgrrXgrqkgSURcIixcbmdzdGluOiBcIkdTVElOXCIsXG50aW1lem9uZTogXCLgrqjgr4fgrrAg4K6u4K6j4K+N4K6f4K6y4K6u4K+NXCIsXG5wbGFuOiBcIuCupOCuv+Cun+CvjeCun+CuruCvjVwiLFxubGFuZ3VhZ2U6IFwi4K6u4K+K4K604K6/XCIsXG5hZGRyZXNzOiBcIuCuruCvgeCuleCuteCusOCuv1wiLFxucGhvbmU6IFwi4K6k4K+K4K6y4K+I4K6q4K+H4K6a4K6/XCIsXG53ZWJzaXRlOiBcIuCuh+Cuo+CviOCur+CupOCus+CuruCvjVwiLFxuY29udGFjdF9lbWFpbDogXCLgrqTgr4rgrp/grrDgr43grqrgr4Eg4K6u4K6/4K6p4K+N4K6p4K6e4K+N4K6a4K6y4K+NXCIsXG5jb3VudHJ5OiBcIuCuqOCuvuCun+CvgVwiLFxuZGlzYWJsZTogXCLgrq7gr4Hgrp/grpXgr43grpXgr4FcIixcbmVuYWJsZTogXCLgrofgrq/grpXgr43grpXgr4FcIixcbiAgICBnZW51aW5lOiBcIuCuieCuo+CvjeCuruCviOCur+CuvuCuqSDgrqTgrq/grr7grrDgrr/grqrgr43grqrgr4FcIiwgdW52ZXJpZmllZDogXCLgrprgrrDgrr/grqrgrr7grrDgr43grpXgr43grpXgrqrgr43grqrgrp/grrXgrr/grrLgr43grrLgr4hcIixcbiAgICBub3RfZm91bmQ6IFwi4K6k4K6v4K6+4K6w4K6/4K6q4K+N4K6q4K+BIOCuleCuv+Cun+CviOCuleCvjeCuleCuteCuv+CusuCvjeCusuCviFwiLCByZWNhbGxlZDogXCLgrqTgrq/grr7grrDgrr/grqrgr43grqrgr4Eg4K6k4K6/4K6w4K+B4K6u4K+N4K6q4K6q4K+NIOCuquCvhuCuseCuquCvjeCuquCun+CvjeCun+CupOCvgVwiLFxuICAgIGdlbnVpbmVfbXNnOiBcIuCuh+CuqOCvjeCupCDgrqTgrq/grr7grrDgrr/grqrgr43grqrgr4Eg4K6J4K6j4K+N4K6u4K+I4K6v4K6+4K6p4K6k4K+BIOCujuCuqSDgrongrrHgr4HgrqTgrr8g4K6a4K+G4K6v4K+N4K6v4K6q4K+N4K6q4K6f4K+N4K6f4K6k4K+BLlwiLFxuICAgIHVudmVyaWZpZWRfbXNnOiBcIuCuh+CuqOCvjeCupCDgrqTgrq/grr7grrDgrr/grqrgr43grqrgr4gg4K6a4K6w4K6/4K6q4K6+4K6w4K+N4K6V4K+N4K6VIOCuruCvgeCun+Cuv+Cur+CuteCuv+CusuCvjeCusuCviC4g4K6q4K6/4K6w4K6+4K6j4K+N4K6f4K+I4K6k4K+NIOCupOCviuCun+CusOCvjeCuquCvgSDgrpXgr4rgrrPgr43grrPgrrXgr4Hgrq7gr40uXCIsXG4gICAgbm90X2ZvdW5kX21zZzogXCLgrofgrqjgr43grqQgUVIg4K6V4K+B4K6x4K6/4K6v4K+A4K6f4K+BIOCuquCupOCuv+CuteCvgSDgrprgr4bgrq/gr43grq/grqrgr43grqrgrp/grrXgrr/grrLgr43grrLgr4guXCIsXG4gICAgcmVjYWxsZWRfbXNnOiBcIuCuh+CuqOCvjeCupCDgrqTgrq/grr7grrDgrr/grqrgr43grqrgr4jgrqrgr40g4K6q4K6v4K6p4K+N4K6q4K6f4K+B4K6k4K+N4K6kIOCuteCvh+Cuo+CvjeCun+CuvuCuruCvjS5cIixcbiAgICB0cnVzdF9zY29yZTogXCLgrqjgrq7gr43grqrgrr/grpXgr43grpXgr4gg4K6u4K6k4K6/4K6q4K+N4K6q4K+G4K6j4K+NXCIsIGJhdGNoX2luZm86IFwi4K6k4K+K4K6V4K+B4K6k4K6/IOCupOCuleCuteCusuCvjVwiLFxuICAgIG1hbnVmYWN0dXJlcjogXCLgrongrrHgr43grqrgrqTgr43grqTgrr/grq/grr7grrPgrrDgr41cIiwgY29tcGxpYW5jZTogXCLgrofgrqPgrpXgr43grpXgrq7gr41cIixcbiAgICByZWN5Y2xpbmc6IFwi4K6u4K6x4K+B4K6a4K+B4K604K6x4K+N4K6a4K6/XCIsIHJlcG9ydDogXCLgrprgrr/grpXgr43grpXgrrLgr4jgrqrgr40g4K6q4K+B4K6V4K6+4K6w4K6z4K6/XCIsXG4gICAgY29udGFjdDogXCLgrqrgrr/grrDgrr7grqPgr43grp/gr4jgrqTgr40g4K6k4K+K4K6f4K6w4K+N4K6q4K+BXCIsIHNoYXJlOiBcIuCuquCuleCuv+CusOCvjVwiLCBkb3dubG9hZDogXCLgrqTgrpXgrrXgrrLgr4jgrqrgr40g4K6q4K6k4K6/4K614K6/4K6x4K6V4K+N4K6V4K+BXCIsXG4gICAgYmF0Y2hfbm86IFwi4K6k4K+K4K6V4K+B4K6k4K6/IOCujuCuo+CvjVwiLCBtZmc6IFwi4K6J4K6x4K+N4K6q4K6k4K+N4K6k4K6/XCIsIGV4cGlyeTogXCLgrpXgrr7grrLgrr7grrXgrqTgrr9cIiwgc2t1OiBcIlNLVVwiLFxuICAgIHBvd2VyZWRfYnk6IFwiVmVyaWZ5UGFjayDgrq7gr4LgrrLgrq7gr41cIixcbiAgfSxcbiAgYm46IHtcbiAgICBzZXR0aW5nczogXCLgprjgp4fgpp/gpr/gpoLgprhcIixcbiAgb3JnYW5pemF0aW9uOiBcIuCmquCnjeCmsOCmpOCmv+Cmt+CnjeCmoOCmvuCmqFwiLFxuICBzYXZlOiBcIuCmquCmsOCmv+CmrOCmsOCnjeCmpOCmqCDgprjgpoLgprDgppXgp43gprfgpqMg4KaV4Kaw4KeB4KaoXCIsXG4gIFxuICBicmFuZHM6IFwi4Kas4KeN4Kaw4KeN4Kav4Ka+4Kao4KeN4KahXCIsXG4gIG5vdGlmaWNhdGlvbnM6IFwi4Kas4Ka/4Kac4KeN4Kae4Kaq4KeN4Kak4Ka/XCIsXG4gIHN1YnNjcmlwdGlvbjogXCLgprjgpr7gpqzgprjgp43gppXgp43gprDgpr/gpqrgprbgpqhcIixcbiAgYXVkaXQ6IFwi4KaF4Kah4Ka/4KafIOCmsuCml1wiLFxuICB1c2Vyc19tYW5hZ2VtZW50OiBcIuCmrOCnjeCmr+CmrOCmueCmvuCmsOCmleCmvuCmsOCngCDgppMg4Kaq4KeN4Kaw4Kak4Ka/4Ka34KeN4Kag4Ka+4KaoXCIsXG5pbnZpdGVfdXNlcjogXCLgpqzgp43gpq/gpqzgprngpr7gprDgppXgpr7gprDgp4Ag4KaG4Kau4Kao4KeN4Kak4KeN4Kaw4KajIOCmleCmsOCngeCmqFwiLFxudG90YWxfdXNlcnM6IFwi4Kau4KeL4KafIOCmrOCnjeCmr+CmrOCmueCmvuCmsOCmleCmvuCmsOCngFwiLFxuYWN0aXZlOiBcIuCmuOCmleCnjeCmsOCmv+Cmr+CmvFwiLFxucGVuZGluZ19pbnZpdGVzOiBcIuCmruCngeCmsuCmpOCngeCmrOCmvyDgpobgpq7gpqjgp43gpqTgp43gprDgpqNcIixcbmRpc2FibGVkOiBcIuCmqOCmv+Cmt+CnjeCmleCnjeCmsOCmv+Cmr+CmvFwiLFxudXNlcnM6IFwi4Kas4KeN4Kav4Kas4Ka54Ka+4Kaw4KaV4Ka+4Kaw4KeAXCIsXG5yb2xlc19wZXJtaXNzaW9uczogXCLgpq3gp4Lgpq7gpr/gppXgpr4g4KaTIOCmheCmqOCngeCmruCmpOCmv1wiLFxudXNlcjogXCLgpqzgp43gpq/gpqzgprngpr7gprDgppXgpr7gprDgp4BcIixcbnJvbGU6IFwi4Kat4KeC4Kau4Ka/4KaV4Ka+XCIsXG5kZXBhcnRtZW50OiBcIuCmrOCmv+CmreCmvuCml1wiLFxudmVyaWZ5cGFjazogXCJWZXJpZnlQYWNrXCIsXG50YWdsaW5lOiBcIuCmquCnjeCmsOCmpOCmv+Cmn+CmvyDgpqrgpqPgp43gpq/gp4fgprAg4Kac4Kao4KeN4KavIOCmoeCmv+CmnOCmv+Cmn+CmvuCmsiDgpqzgpr/gprbgp43gpqzgpr7gprhcIixcbnNjYW5fb246IFwi4Ka44KeN4KaV4KeN4Kav4Ka+4KaoIOCmleCmsOCmviDgprngpq/gprzgp4fgppvgp4dcIixcbmV4Y2VsbGVudDogXCLgpprgpq7gp47gppXgpr7gprBcIixcbmdvb2Q6IFwi4Kat4Ka+4Kay4KeLXCIsXG5hdmVyYWdlOiBcIuCml+CmoeCmvFwiLFxubG93OiBcIuCmleCmrlwiLFxuXG5jYXRlZ29yeTogXCLgpqzgpr/gpq3gpr7gppdcIixcbmZvcm1fdHlwZTogXCLgpqrgpqPgp43gpq/gp4fgprAg4Kan4Kaw4KaoXCIsXG5uZXRfd2VpZ2h0OiBcIuCmqOCmv+CmnyDgppPgppzgpqhcIixcblxubWFudWZhY3R1cmVkX2J5OiBcIuCmquCnjeCmsOCmuOCnjeCmpOCngeCmpOCmleCmvuCmsOCmlVwiLFxuY29tcGFueTogXCLgppXgp4vgpq7gp43gpqrgpr7gpqjgpr9cIixcbnBsYW50OiBcIuCmleCmvuCmsOCmluCmvuCmqOCmvlwiLFxuY291bnRyeV9vcmlnaW46IFwi4KaJ4KeO4Kaq4Kak4KeN4Kak4Ka/4KawIOCmpuCnh+CmtlwiLFxuXG5tZmdfZGF0ZTogXCLgpongp47gpqrgpr7gpqbgpqjgp4fgprAg4Kak4Ka+4Kaw4Ka/4KaWXCIsXG5leHBpcnlfZGF0ZTogXCLgpq7gp4fgpq/gprzgpr7gpqYg4Ka24KeH4Ka34KeH4KawIOCmpOCmvuCmsOCmv+CmllwiLFxuZ3RpbjogXCJHVElOIC8g4Kas4Ka+4Kaw4KaV4KeL4KahXCIsXG5cbmNvbXBsaWFuY2VfY2VydGlmaWNhdGlvbnM6IFwi4Ka44Kau4KeN4Kau4Kak4Ka/IOCmuOCmqOCmplwiLFxuXG5yZWN5Y2xpbmdfaW5mbzogXCLgpqrgp4HgpqjgprDgp43gpqzgp43gpq/gpqzgprngpr7gprAg4Kak4Kal4KeN4KavXCIsXG5cbnByaXZhY3lfcG9saWN5OiBcIuCml+Cni+CmquCmqOCngOCmr+CmvOCmpOCmviDgpqjgp4DgpqTgpr9cIixcbnRlcm1zX29mX3VzZTogXCLgpqzgp43gpq/gpqzgprngpr7gprDgp4fgprAg4Ka24Kaw4KeN4Kak4Ka+4Kas4Kay4KeAXCIsXG5oZWxwOiBcIuCmuOCmueCmvuCmr+CmvOCmpOCmvlwiLFxuXG5lbWFpbDogXCLgpofgpq7gp4fgpofgprJcIixcbmNhbGw6IFwi4KaV4KayXCIsXG5cbnZlcmlmaWVkX2NvbXBhbnk6IFwi4Kav4Ka+4Kaa4Ka+4KaH4KaV4KeD4KakIOCmquCnjeCmsOCmuOCnjeCmpOCngeCmpOCmleCmvuCmsOCmlVwiLFxuXG5kYXNoYm9hcmQ6IFwi4Kah4KeN4Kav4Ka+4Ka24Kas4KeL4Kaw4KeN4KahXCIsXG5wcm9kdWN0czogXCLgpqrgpqPgp43gpq/gprjgpq7gp4LgprlcIixcbnFyX21hbmFnZW1lbnQ6IFwiUVIg4Kas4KeN4Kav4Kas4Ka44KeN4Kal4Ka+4Kaq4Kao4Ka+XCIsXG5cbmFuYWx5dGljczogXCLgpqzgpr/gprbgp43gprLgp4fgprfgpqNcIixcbmJpbGxpbmc6IFwi4Kas4Ka/4Kay4Ka/4KaCXCIsXG5zZXR0aW5nc19tZW51OiBcIuCmuOCnh+Cmn+Cmv+CmguCmuFwiLFxuXG5vcmdfaWRfbGFiZWw6IFwi4Kaq4KeN4Kaw4Kak4Ka/4Ka34KeN4Kag4Ka+4KaoIElEXCIsXG5wbGFuX2xhYmVsOiBcIuCmquCnjeCmsuCnjeCmr+CmvuCmqFwiLFxuZnJlZTogXCLgpqvgp43gprDgpr9cIixcblxucHJvZHVjdHNfY291bnQ6IFwi4Kaq4Kaj4KeN4KavXCIsXG51c2Vyc19jb3VudDogXCLgpqzgp43gpq/gpqzgprngpr7gprDgppXgpr7gprDgp4BcIixcblxubG9nb3V0OiBcIuCmsuCmlyDgpobgpongpp9cIixcbnN0YXR1czogXCLgpoXgpqzgprjgp43gpqXgpr5cIixcbmxhc3RfbG9naW46IFwi4Ka44Kaw4KeN4Kas4Ka24KeH4Ka3IOCmsuCml+Cmh+CmqFwiLFxub3JnYW5pemF0aW9uX3Byb2ZpbGU6IFwi4Kaq4KeN4Kaw4Kak4Ka/4Ka34KeN4Kag4Ka+4Kao4KeH4KawIOCmpOCmpeCnjeCmr1wiLFxubmFtZTogXCLgpqjgpr7gpq5cIixcbm9yZ19pZDogXCLgpqrgp43gprDgpqTgpr/gprfgp43gpqDgpr7gpqgg4KaG4KaH4Kah4Ka/XCIsXG5nc3RpbjogXCJHU1RJTlwiLFxudGltZXpvbmU6IFwi4Ka44Kau4Kav4Ka8IOCmheCmnuCnjeCmmuCmslwiLFxucGxhbjogXCLgpqrgp43gprLgp43gpq/gpr7gpqhcIixcbmxhbmd1YWdlOiBcIuCmreCmvuCmt+CmvlwiLFxuYWRkcmVzczogXCLgpqDgpr/gppXgpr7gpqjgpr5cIixcbnBob25lOiBcIuCmq+Cni+CmqFwiLFxud2Vic2l0ZTogXCLgppPgpq/gprzgp4fgpqzgprjgpr7gpofgpp9cIixcbmNvbnRhY3RfZW1haWw6IFwi4Kav4KeL4KaX4Ka+4Kav4KeL4KaXIOCmh+CmruCnh+Cmh+CmslwiLFxuY291bnRyeTogXCLgpqbgp4fgprZcIixcbmRpc2FibGU6IFwi4Kao4Ka/4Ka34KeN4KaV4KeN4Kaw4Ka/4Kav4Ka8IOCmleCmsOCngeCmqFwiLFxuZW5hYmxlOiBcIuCmuOCmleCnjeCmsOCmv+Cmr+CmvCDgppXgprDgp4HgpqhcIixcblxuICAgIGdlbnVpbmU6IFwi4KaG4Ka44KayIOCmquCmo+CnjeCmr1wiLCB1bnZlcmlmaWVkOiBcIuCmuOCmpOCnjeCmr+CmpOCmviDgpq/gpr7gpprgpr7gpocg4KaV4Kaw4Ka+IOCmueCmr+CmvOCmqOCmv1wiLFxuICAgIG5vdF9mb3VuZDogXCLgpqrgpqPgp43gpq8g4Kaq4Ka+4KaT4Kav4Ka84Ka+IOCmr+CmvuCmr+CmvOCmqOCmv1wiLCByZWNhbGxlZDogXCLgpqrgpqPgp43gpq8g4Kaq4KeN4Kaw4Kak4KeN4Kav4Ka+4Ka54Ka+4KawIOCmleCmsOCmviDgprngpq/gprzgp4fgppvgp4dcIixcbiAgICBnZW51aW5lX21zZzogXCLgpo/gpocg4Kaq4Kaj4KeN4Kav4Kaf4Ka/IOCmhuCmuOCmsiDgprngpr/gprjgpr7gpqzgp4cg4Kav4Ka+4Kaa4Ka+4KaHIOCmleCmsOCmviDgprngpq/gprzgp4fgppvgp4fgpaRcIixcbiAgICB1bnZlcmlmaWVkX21zZzogXCLgpobgpq7gprDgpr4g4KaP4KaHIOCmquCmo+CnjeCmr+Cmn+CmvyDgpq/gpr7gpprgpr7gpocg4KaV4Kaw4Kak4KeHIOCmquCmvuCmsOCmv+CmqOCmv+ClpCDgpqzgp43gprDgp43gpq/gpr7gpqjgp43gpqHgp4fgprAg4Ka44Ka+4Kal4KeHIOCmr+Cni+Cml+CmvuCmr+Cni+CmlyDgppXgprDgp4HgpqjgpaRcIixcbiAgICBub3RfZm91bmRfbXNnOiBcIuCmj+CmhyBRUiDgppXgp4vgpqHgpp/gpr8g4Kao4Ka/4Kas4Kao4KeN4Kan4Ka/4KakIOCmqOCmr+CmvOClpFwiLFxuICAgIHJlY2FsbGVkX21zZzogXCLgpo/gpocg4Kaq4Kaj4KeN4Kav4Kaf4Ka/IOCmrOCnjeCmr+CmrOCmueCmvuCmsCDgppXgprDgpqzgp4fgpqgg4Kao4Ka+4KWkIOCmj+Cmn+CmvyDgpqrgp43gprDgpqTgp43gpq/gpr7gprngpr7gprAg4KaV4Kaw4Ka+IOCmueCmr+CmvOCnh+Cmm+Cnh+ClpFwiLFxuICAgIHRydXN0X3Njb3JlOiBcIuCmrOCmv+CmtuCnjeCmrOCmvuCmuCDgprjgp43gppXgp4vgprBcIiwgYmF0Y2hfaW5mbzogXCLgpqzgp43gpq/gpr7gppog4Kak4Kal4KeN4KavXCIsXG4gICAgbWFudWZhY3R1cmVyOiBcIuCmquCnjeCmsOCmuOCnjeCmpOCngeCmpOCmleCmvuCmsOCmlVwiLCBjb21wbGlhbmNlOiBcIuCmuOCmruCnjeCmruCmpOCmv1wiLFxuICAgIHJlY3ljbGluZzogXCLgpqrgp4HgpqjgprDgp43gpqzgp43gpq/gpqzgprngpr7gprBcIiwgcmVwb3J0OiBcIuCmuOCmruCmuOCnjeCmr+CmviDgprDgpr/gpqrgp4vgprDgp43gpp9cIixcbiAgICBjb250YWN0OiBcIuCmrOCnjeCmsOCnjeCmr+CmvuCmqOCnjeCmoeCnh+CmsCDgprjgpr7gpqXgp4cg4Kav4KeL4KaX4Ka+4Kav4KeL4KaXXCIsIHNoYXJlOiBcIuCmtuCnh+Cmr+CmvOCmvuCmsFwiLCBkb3dubG9hZDogXCLgpqTgpqXgp43gpq8g4Kah4Ka+4KaJ4Kao4Kay4KeL4KahXCIsXG4gICAgYmF0Y2hfbm86IFwi4Kas4KeN4Kav4Ka+4KaaIOCmqOCmglwiLCBtZmc6IFwi4KaJ4KeO4Kaq4Ka+4Kam4KaoXCIsIGV4cGlyeTogXCLgpq7gp4fgpq/gprzgpr7gpqZcIiwgc2t1OiBcIlNLVVwiLFxuICAgIHBvd2VyZWRfYnk6IFwiVmVyaWZ5UGFjayDgpqbgp43gpqzgpr7gprDgpr4g4Kaa4Ka+4Kay4Ka/4KakXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0TGFuZygpOiBMYW5nIHtcbiAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBcImVuXCI7XG4gIGNvbnN0IGwgPSBuYXZpZ2F0b3IubGFuZ3VhZ2Uuc2xpY2UoMCwgMik7XG4gIHJldHVybiAoW1wiZW5cIiwgXCJoaVwiLCBcImtuXCIsIFwidGFcIiwgXCJiblwiXSBhcyBMYW5nW10pLmluY2x1ZGVzKGwgYXMgTGFuZykgPyAobCBhcyBMYW5nKSA6IFwiZW5cIjtcbn1cbiJdLCJuYW1lcyI6WyJMQU5HUyIsImNvZGUiLCJsYWJlbCIsIlQiLCJlbiIsInNjYW5fb24iLCJleGNlbGxlbnQiLCJnb29kIiwiYXZlcmFnZSIsImxvdyIsImNhdGVnb3J5IiwiZm9ybV90eXBlIiwibmV0X3dlaWdodCIsIm1hbnVmYWN0dXJlZF9ieSIsImNvbXBhbnkiLCJwbGFudCIsImNvdW50cnlfb3JpZ2luIiwibWZnX2RhdGUiLCJleHBpcnlfZGF0ZSIsImd0aW4iLCJjb21wbGlhbmNlX2NlcnRpZmljYXRpb25zIiwicmVjeWNsaW5nX2luZm8iLCJwcml2YWN5X3BvbGljeSIsInRlcm1zX29mX3VzZSIsImhlbHAiLCJlbWFpbCIsImNhbGwiLCJ2ZXJpZmllZF9jb21wYW55Iiwic2V0dGluZ3MiLCJvcmdhbml6YXRpb24iLCJzYXZlIiwidXNlcnMiLCJicmFuZHMiLCJub3RpZmljYXRpb25zIiwic3Vic2NyaXB0aW9uIiwiYXVkaXQiLCJ1c2Vyc19tYW5hZ2VtZW50IiwiaW52aXRlX3VzZXIiLCJ0b3RhbF91c2VycyIsImFjdGl2ZSIsInBlbmRpbmdfaW52aXRlcyIsImRpc2FibGVkIiwicm9sZXNfcGVybWlzc2lvbnMiLCJ1c2VyIiwicm9sZSIsImRlcGFydG1lbnQiLCJzdGF0dXMiLCJsYXN0X2xvZ2luIiwib3JnYW5pemF0aW9uX3Byb2ZpbGUiLCJuYW1lIiwib3JnX2lkIiwiZ3N0aW4iLCJ0aW1lem9uZSIsInBsYW4iLCJsYW5ndWFnZSIsImFkZHJlc3MiLCJwaG9uZSIsIndlYnNpdGUiLCJjb250YWN0X2VtYWlsIiwiY291bnRyeSIsImRpc2FibGUiLCJlbmFibGUiLCJ0YWdsaW5lIiwiZGFzaGJvYXJkIiwicHJvZHVjdHMiLCJxcl9tYW5hZ2VtZW50IiwiYW5hbHl0aWNzIiwiYmlsbGluZyIsInNldHRpbmdzX21lbnUiLCJvcmdfaWRfbGFiZWwiLCJwbGFuX2xhYmVsIiwiZnJlZSIsInByb2R1Y3RzX2NvdW50IiwidXNlcnNfY291bnQiLCJsb2dvdXQiLCJnZW51aW5lIiwidW52ZXJpZmllZCIsIm5vdF9mb3VuZCIsInJlY2FsbGVkIiwiZ2VudWluZV9tc2ciLCJ1bnZlcmlmaWVkX21zZyIsIm5vdF9mb3VuZF9tc2ciLCJyZWNhbGxlZF9tc2ciLCJ0cnVzdF9zY29yZSIsImJhdGNoX2luZm8iLCJtYW51ZmFjdHVyZXIiLCJjb21wbGlhbmNlIiwicmVjeWNsaW5nIiwicmVwb3J0IiwiY29udGFjdCIsInNoYXJlIiwiZG93bmxvYWQiLCJiYXRjaF9ubyIsIm1mZyIsImV4cGlyeSIsInNrdSIsInBvd2VyZWRfYnkiLCJoaSIsInZlcmlmeXBhY2siLCJrbiIsInRhIiwiYm4iLCJkZXRlY3RMYW5nIiwibmF2aWdhdG9yIiwibCIsInNsaWNlIiwiaW5jbHVkZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/i18n.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-locale.js":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/next/dist/client/add-locale.js ***!
|
||
\*****************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FHYUE7OztlQUFBQTs7O29EQUY4QjtBQUVwQyxNQUFNQSxZQUF1QixTQUFDQyxJQUFBQTtxQ0FBU0MsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsSUFBQUEsT0FBQUEsSUFBQUEsSUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQzVDLElBQUlDLEtBQStCLEVBQUUsRUFJckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/next/dist/client/get-domain-locale.js ***!
|
||
\************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBT2dCQTs7O2VBQUFBOzs7b0RBSjJCO0FBRTNDLE1BQU1DLFdBQVdDLE1BQW1DLElBQWU7QUFFNUQsU0FBU0YsZ0JBQ2RLLElBQVksRUFDWkMsTUFBdUIsRUFDdkJDLE9BQWtCLEVBQ2xCQyxhQUE4QjtJQUU5QixJQUFJTixLQUErQixFQUFFLEVBZ0JyQyxNQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/client/link.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/next/dist/client/link.js ***!
|
||
\***********************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (typeof window === \"undefined\") {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const doPrefetch = async ()=>{\n if (isAppRouter) {\n // note that `appRouter.prefetch()` is currently sync,\n // so we have to wrap this call in an async function to be able to catch() errors below.\n return router.prefetch(href, appOptions);\n } else {\n return router.prefetch(href, as, options);\n }\n };\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n doPrefetch().catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7NkJBUzRCQSx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDRDt3Q0FDRDt1Q0FDSTs7Ozt1Q0FRRUEsbUJBQUFBLENBQUE7NkNBQ0E7NkNBQ0o7O0FBMkY1QixNQUFNQyxzQkFBaUJDLG1CQUFBQSxDQUFBQSwrSkFBQUE7QUFVdkIsTUFBQUQsYUFDRUUsSUFBQUE7U0FPSUMsU0FBT0MsTUFBQUEsRUFBV0MsSUFBQSxFQUFBQyxFQUFBLEVBQUFDLE9BQWEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBO1FBQ2pDLE9BQUFMLFdBQUE7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFLLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtVQUNFRyxhQUFJUDtZQUNGQSxhQUFBO1lBQ0E7WUFDQSx3RkFBb0REO1lBQ3RELE9BQU9OLE9BQUFDLFFBQUEsQ0FBQUUsTUFBQUc7ZUFDTDtZQUNGLE9BQUFOLE9BQUFDLFFBQUEsQ0FBQUUsTUFBQUMsSUFBQUM7UUFDRjtJQUVBO0lBQ0E7SUFDQSwwREFBc0Q7SUFDdEQ7SUFDQVMseURBQW9CQztpQkFDZEMsS0FBUUMsQ0FBRyxDQUFDQztZ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Y0FBQTVGLE9BQUFDLE9BQUEsQ0FBQTRGLFlBQUEsQ0FBQXJDLE9BQUF3QixjQUFBLGtCQUFBYyxZQUFBQyxHQUFBO1FBQUcsR0FBR2YsU0FBQUE7cUJBQ25CekU7O0lBR1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvbGluay50c3g/YWNmMCJdLCJuYW1lcyI6WyJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfIiwicmVxdWlyZSIsInByZWZldGNoZWQiLCJTZXQiLCJyb3V0ZXIiLCJwcmVmZXRjaCIsIndpbmRvdyIsImhyZWYiLCJhcyIsIm9wdGlvbnMiLCJhcHBPcHRpb25zIiwiaXNBcHBSb3V0ZXIiLCJfaXNsb2NhbHVybCIsImlzTG9jYWxVUkwiLCJsb2NhbGUiLCJwcmVmZXRjaGVkS2V5IiwiaGFzIiwiYWRkIiwiZG9QcmVmZXRjaCIsImVyciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTW9kaWZpZWRFdmVudCIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImV2ZW50VGFyZ2V0IiwibmF0aXZlRXZlbnQiLCJ3aGljaCIsIm1ldGFLZXkiLCJjdHJsS2V5Iiwic2hpZnRLZXkiLCJhbHRLZXkiLCJsaW5rQ2xpY2tlZCIsImUiLCJyZXBsYWNlIiwic2hhbGxvdyIsInNjcm9sbCIsIm5vZGVOYW1lIiwiaXNBbmNob3JOb2RlTmFtZSIsInByZXZlbnREZWZhdWx0IiwibmF2aWdhdGUiLCJyb3V0ZXJTY3JvbGwiLCJSZWFjdCIsIl9yZWFjdCIsImRlZmF1bHQiLCJzdGFydFRyYW5zaXRpb24iLCJmb3JtYXRTdHJpbmdPclVybCIsInVybE9iak9yU3RyaW5nIiwiX2Zvcm1hdHVybCIsImZvcm1hdFVybCIsImNoaWxkcmVuIiwiY2hpbGRyZW5Qcm9wIiwibGVnYWN5QmVoYXZpb3IiLCJhIiwiYXBwUm91dGVyIiwidXNlQ29udGV4dCIsIkFwcFJvdXRlckNvbnRleHQiLCJwYWdlc1JvdXRlciIsInByZWZldGNoRW5hYmxlZCIsInByZWZldGNoUHJvcCIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJQcmVmZXRjaEtpbmQiLCJBVVRPIiwiRlVMTCIsImFyZ3MiLCJjcmVhdGVQcm9wRXJyb3IiLCJFcnJvciIsImtleSIsImV4cGVjdGVkIiwiYWN0dWFsIiwicmVxdWlyZWRQcm9wcyIsIk9iamVjdCIsInByb3BzIiwicGFzc0hyZWYiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwib25Ub3VjaFN0YXJ0Iiwib3B0aW9uYWxQcm9wcyIsInZhbFR5cGUiLCJoYXNXYXJuZWQiLCJjdXJyZW50IiwiY29uc29sZSIsIndhcm4iLCJhc1Byb3AiLCJocmVmUHJvcCIsInBhdGhuYW1lIiwiaGFzRHluYW1pY1NlZ21lbnQiLCJzcGxpdCIsInNvbWUiLCJzZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwidXNlTWVtbyIsInJlc29sdmVkSHJlZiIsInJlc29sdmVkQXMiLCJfcmVzb2x2ZWhyZWYiLCJyZXNvbHZlSHJlZiIsInByZXZpb3VzQXMiLCJ1c2VSZWYiLCJjaGlsZCIsIkNoaWxkcmVuIiwib25seSIsInR5cGUiLCJjaGlsZFJlZiIsInNldEludGVyc2VjdGlvblJlZiIsImlzVmlzaWJsZSIsInJlc2V0VmlzaWJsZSIsInVzZUludGVyc2VjdGlvbiIsInJvb3RNYXJnaW4iLCJfdXNlaW50ZXJzZWN0aW9uIiwic2V0UmVmIiwidXNlQ2FsbGJhY2siLCJlbCIsInByZXZpb3VzSHJlZiIsInVzZUVmZmVjdCIsImFwcFByZWZldGNoS2luZCIsInJlZiIsImRlZmF1bHRQcmV2ZW50ZWQiLCJvbk1vdXNlRW50ZXJQcm9wIiwicHJpb3JpdHkiLCJieXBhc3NQcmVmZXRjaGVkQ2hlY2siLCJvblRvdWNoU3RhcnRQcm9wIiwidW5kZWZpbmVkIiwiY2hpbGRQcm9wcyIsImN1ckxvY2FsZSIsImlzTG9jYWxlRG9tYWluIiwibG9jYWxlRG9tYWluIiwiYWRkQmFzZVBhdGgiLCJhZGRMb2NhbGUiLCJfZ2V0ZG9tYWlubG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX2FkZGJhc2VwYXRoIiwiX2FkZGxvY2FsZSIsInJlc3RQcm9wcyIsImNsb25lRWxlbWVudCIsIl9qc3hydW50aW1lIiwianN4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/link.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/next/dist/client/request-idle-callback.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQmFBLG9CQUFrQjtlQUFsQkE7O0lBaEJBQyxxQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxPQUFRQyxTQUFTLGVBQ2ZBLEtBQUtELG1CQUFtQixJQUN4QkMsS0FBS0QsbUJBQW1CLENBQUNFLElBQUksQ0FBQ0MsV0FDaEMsU0FBVUMsRUFBdUI7SUFDL0IsSUFBSUMsUUFBUUMsS0FBS0MsR0FBRztJQUNwQixPQUFPTixLQUFLTyxVQUFVLENBQUM7UUFDckJKLEdBQUc7WUFDREssWUFBWTtZQUNaQyxlQUFlO2dCQUNiLE9BQU9DLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLEtBQU1OLENBQUFBLEtBQUtDLEdBQUcsS0FBS0YsS0FBQUE7WUFDeEM7UUFDRjtJQUNGLEdBQUc7QUFDTDtBQUVLLE1BQU1OLHFCQUNYLE9BQVFFLFNBQVMsZUFDZkEsS0FBS0Ysa0JBQWtCLElBQ3ZCRSxLQUFLRixrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDQyxXQUMvQixTQUFVVSxFQUFVO0lBQ2xCLE9BQU9DLGFBQWFEO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js":
|
||
/*!*******************************************************!*\
|
||
!*** ./node_modules/next/dist/client/resolve-href.js ***!
|
||
\*******************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQXlCZ0JBOzs7ZUFBQUE7Ozt5Q0F2QnVCO3VDQUNGO2tDQUNoQjttQ0FDb0I7b0RBQ0U7d0NBQ2hCO29DQUNJOzJDQUNEO0FBZ0J2QixTQUFTQSxZQUNkQyxNQUFrQixFQUNsQkMsSUFBUyxFQUNUQyxTQUFtQjtJQUVuQiw0Q0FBNEM7SUFDNUMsSUFBSUM7SUFDSixJQUFJQyxjQUFjLE9BQU9ILFNBQVMsV0FBV0EsT0FBT0ksQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUNKO0lBRXpFLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFDdkJGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUN6Q047SUFFSixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBRS9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJSixLQUFLLENBQUMsY0FBYztRQUMxQ00sUUFBUUMsS0FBSyxDQUNYLG1CQUFpQlYsY0FBWSx1Q0FBb0NKLE9BQU9lLFFBQVEsR0FBQztRQUVuRixNQUFNQyxnQkFBZ0JDLENBQUFBLEdBQUFBLE9BQUFBLHdCQUF3QixFQUFDVDtRQUMvQ0osY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsTUFBTVU7SUFDMUQ7SUFFQSwyREFBMkQ7SUFDM0QsSUFBSSxDQUFDRSxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNkLGNBQWM7UUFDNUIsT0FBUUYsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3RDO0lBRUEsSUFBSTtRQUNGRCxPQUFPLElBQUlnQixJQUNUZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUM3RDtJQUVKLEVBQUUsT0FBT08sR0FBRztRQUNWLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN0QjtJQUVBLElBQUk7UUFDRixNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSx3QkFBQUEsMEJBQTBCLEVBQUNELFNBQVNSLFFBQVE7UUFDaEUsSUFBSVUsaUJBQWlCO1FBRXJCLElBQ0VDLENBQUFBLEdBQUFBLFFBQUFBLGNBQWMsRUFBQ0gsU0FBU1IsUUFBUSxLQUNoQ1EsU0FBU0ksWUFBWSxJQUNyQnpCLFdBQ0E7WUFDQSxNQUFNMEIsUUFBUUMsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOLFNBQVNJLFlBQVk7WUFFMUQsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQ3RDVCxTQUFTUixRQUFRLEVBQ2pCUSxTQUFTUixRQUFRLEVBQ2pCYTtZQUdGLElBQUlFLFFBQVE7Z0JBQ1ZMLGlCQUFpQnBCLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDO29CQUNwQ1UsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPTSxDQUFBQSxHQUFBQSxNQUFBQSxJQUFJLEVBQUNOLE9BQU9HO2dCQUNyQjtZQUNGO1FBQ0Y7UUFFQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFDSlosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FDM0JiLFNBQVN0QixJQUFJLENBQUNRLEtBQUssQ0FBQ2MsU0FBU2EsTUFBTSxDQUFDMUIsTUFBTSxJQUMxQ2EsU0FBU3RCLElBQUk7UUFFbkIsT0FBT0MsWUFDSDtZQUFDaUM7WUFBY1Ysa0JBQWtCVTtTQUFhLEdBQzlDQTtJQUNOLEVBQUUsT0FBT2IsR0FBRztRQUNWLE9BQU9wQixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDckM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/next/dist/client/use-intersection.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OzttREErRmdCQTs7O2VBQUFBOzs7bUNBL0Z5QztpREFJbEQ7QUFxQlAsTUFBTUMsMEJBQTBCLE9BQU9DLHlCQUF5QjtBQUVoRSxNQUFNQyxZQUFZLElBQUlDO0FBQ3RCLE1BQU1DLFNBQXVCLEVBQUU7QUFFL0IsU0FBU0MsZUFBZUMsT0FBb0M7SUFDMUQsTUFBTUMsS0FBSztRQUNUQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNoQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FDMUIsQ0FBQ0MsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtJQUUzRCxJQUFJSztJQUVKLElBQUlILFVBQVU7UUFDWkcsV0FBV1osVUFBVWEsR0FBRyxDQUFDSjtRQUN6QixJQUFJRyxVQUFVO1lBQ1osT0FBT0E7UUFDVDtJQUNGO0lBRUEsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCO1FBQ3pDQSxRQUFRQyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixNQUFNQyxXQUFXTCxTQUFTRCxHQUFHLENBQUNLLE1BQU1FLE1BQU07WUFDMUMsTUFBTUMsWUFBWUgsTUFBTUksY0FBYyxJQUFJSixNQUFNSyxpQkFBaUIsR0FBRztZQUNwRSxJQUFJSixZQUFZRSxXQUFXO2dCQUN6QkYsU0FBU0U7WUFDWDtRQUNGO0lBQ0YsR0FBR2pCO0lBQ0hRLFdBQVc7UUFDVFA7UUFDQVU7UUFDQUQ7SUFDRjtJQUVBWixPQUFPc0IsSUFBSSxDQUFDbkI7SUFDWkwsVUFBVXlCLEdBQUcsQ0FBQ3BCLElBQUlPO0lBQ2xCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTYyxRQUNQQyxPQUFnQixFQUNoQlIsUUFBeUIsRUFDekJmLE9BQW9DO0lBRXBDLE1BQU0sRUFBRUMsRUFBRSxFQUFFVSxRQUFRLEVBQUVELFFBQVEsRUFBRSxHQUFHWCxlQUFlQztJQUNsRFUsU0FBU1csR0FBRyxDQUFDRSxTQUFTUjtJQUV0QkosU0FBU1csT0FBTyxDQUFDQztJQUNqQixPQUFPLFNBQVNDO1FBQ2RkLFNBQVNlLE1BQU0sQ0FBQ0Y7UUFDaEJaLFNBQVNhLFNBQVMsQ0FBQ0Q7UUFFbkIsdURBQXVEO1FBQ3ZELElBQUliLFNBQVNnQixJQUFJLEtBQUssR0FBRztZQUN2QmYsU0FBU2dCLFVBQVU7WUFDbkIvQixVQUFVNkIsTUFBTSxDQUFDeEI7WUFDakIsTUFBTTJCLFFBQVE5QixPQUFPK0IsU0FBUyxDQUM1QixDQUFDdEIsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtZQUUzRCxJQUFJeUIsUUFBUSxDQUFDLEdBQUc7Z0JBQ2Q5QixPQUFPZ0MsTUFBTSxDQUFDRixPQUFPO1lBQ3ZCO1FBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU25DLGdCQUFtQ3NDLEtBSWpDO0lBSmlDLE1BQ2pEQyxPQUFPLEVBQ1A1QixVQUFVLEVBQ1Y2QixRQUFRLEVBQ1EsR0FKaUNGO0lBS2pELE1BQU1HLGFBQXNCRCxZQUFZLENBQUN2QztJQUV6QyxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBQztJQUN2QyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBQVc7SUFDcEMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNsQjtRQUM5QmUsV0FBV0ksT0FBTyxHQUFHbkI7SUFDdkIsR0FBRyxFQUFFO0lBRUxvQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJakQseUJBQXlCO1lBQzNCLElBQUl3QyxjQUFjQyxTQUFTO1lBRTNCLE1BQU1aLFVBQVVlLFdBQVdJLE9BQU87WUFDbEMsSUFBSW5CLFdBQVdBLFFBQVFxQixPQUFPLEVBQUU7Z0JBQzlCLE1BQU1wQixZQUFZRixRQUNoQkMsU0FDQSxDQUFDTixZQUFjQSxhQUFhbUIsV0FBV25CLFlBQ3ZDO29CQUFFZixNQUFNOEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1UsT0FBTztvQkFBRXRDO2dCQUFXO2dCQUd2QyxPQUFPb0I7WUFDVDtRQUNGLE9BQU87WUFDTCxJQUFJLENBQUNXLFNBQVM7Z0JBQ1osTUFBTVUsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQU1WLFdBQVc7Z0JBQzFELE9BQU8sSUFBTVcsQ0FBQUEsR0FBQUEscUJBQUFBLGtCQUFrQixFQUFDRjtZQUNsQztRQUNGO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1g7UUFBWTlCO1FBQVk0QjtRQUFTRztRQUFTRyxXQUFXSSxPQUFPO0tBQUM7SUFFakUsTUFBTU0sZUFBZVAsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CTCxXQUFXO0lBQ2IsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFDSTtRQUFZTDtRQUFTYTtLQUFhO0FBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***!
|
||
\************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzIiwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTs7Ozs7c0RBSTFEQTs7O2VBQUFBOzs7QUFIaEIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxrQkFBa0I7QUFFakIsU0FBU0YsbUJBQW1CRyxHQUFXO0lBQzVDLCtHQUErRztJQUMvRyxJQUFJRixZQUFZRyxJQUFJLENBQUNELE1BQU07UUFDekIsT0FBT0EsSUFBSUUsT0FBTyxDQUFDSCxpQkFBaUI7SUFDdEM7SUFDQSxPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js":
|
||
/*!****************************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***!
|
||
\****************************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFDdkMsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBQ2hFLHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEUsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSw2REFBNkQ7QUFDN0QsNEVBQTRFO0FBQzVFLDJFQUEyRTtBQUMzRSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBQzVFLHlDQUF5Qzs7Ozs7Ozs7Ozs7OztJQVF6QkEsV0FBUztlQUFUQTs7SUE2REFDLHNCQUFvQjtlQUFwQkE7O0lBZkhDLGVBQWE7ZUFBYkE7Ozs7bUZBbERnQjtBQUU3QixNQUFNQyxtQkFBbUI7QUFFbEIsU0FBU0gsVUFBVUksTUFBaUI7SUFDekMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHRjtJQUN6QixJQUFJRyxXQUFXSCxPQUFPRyxRQUFRLElBQUk7SUFDbEMsSUFBSUMsV0FBV0osT0FBT0ksUUFBUSxJQUFJO0lBQ2xDLElBQUlDLE9BQU9MLE9BQU9LLElBQUksSUFBSTtJQUMxQixJQUFJQyxRQUFRTixPQUFPTSxLQUFLLElBQUk7SUFDNUIsSUFBSUMsT0FBdUI7SUFFM0JOLE9BQU9BLE9BQU9PLG1CQUFtQlAsTUFBTVEsT0FBTyxDQUFDLFFBQVEsT0FBTyxNQUFNO0lBRXBFLElBQUlULE9BQU9PLElBQUksRUFBRTtRQUNmQSxPQUFPTixPQUFPRCxPQUFPTyxJQUFJO0lBQzNCLE9BQU8sSUFBSUwsVUFBVTtRQUNuQkssT0FBT04sT0FBUSxFQUFDQyxTQUFTUSxPQUFPLENBQUMsT0FBTyxNQUFJUixXQUFTLE1BQUtBLFFBQUFBO1FBQzFELElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsTUFBSUEsU0FBWTtJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ2IsQ0FBQyxDQUFDZCxZQUFZSixpQkFBaUJtQixJQUFJLENBQUNmLFNBQUFBLEtBQWNJLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRO1FBQ3ZCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUN4RCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNoQkEsT0FBTztJQUNUO0lBRUEsSUFBSUYsUUFBUUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxPQUFPLE1BQU1BO0lBQzFDLElBQUlVLFVBQVVBLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBS0EsU0FBUyxNQUFNQTtJQUVoRFgsV0FBV0EsU0FBU0ssT0FBTyxDQUFDLFNBQVNEO0lBQ3JDTyxTQUFTQSxPQUFPTixPQUFPLENBQUMsS0FBSztJQUU3QixPQUFPLEtBQUdOLFdBQVdJLE9BQU9ILFdBQVdXLFNBQVNWO0FBQ2xEO0FBRU8sTUFBTVAsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0QscUJBQXFCc0IsR0FBYztJQUNqRCxJQUFJQyxJQUF5QixFQUFlO1FBQzFDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDM0NFLE9BQU9DLElBQUksQ0FBQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUNDO2dCQUN4QixJQUFJLENBQUMxQixjQUFjMkIsUUFBUSxDQUFDRCxNQUFNO29CQUNoQ0UsUUFBUUMsSUFBSSxDQUNWLHVEQUFxREg7Z0JBRXpEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBTzVCLFVBQVV1QjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/YTBiMyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***!
|
||
\*****************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLGlCQUFlO2VBQWZBLGNBQUFBLGVBQWU7O0lBQ2ZDLGdCQUFjO2VBQWRBLFdBQUFBLGNBQWM7OzswQ0FEUzt1Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzg3YmIiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js":
|
||
/*!**************************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***!
|
||
\**************************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFLZ0JBOzs7ZUFBQUE7OzswQ0FIZ0I7d0NBQ0Y7QUFFdkIsU0FBU0EsY0FDZEMsS0FBYSxFQUNiQyxVQUFrQixFQUNsQkMsS0FBcUI7SUFFckIsSUFBSUMsb0JBQW9CO0lBRXhCLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLFlBQUFBLGFBQWEsRUFBQ0w7SUFDbkMsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUVIUCxDQUFBQSxlQUFlRCxRQUFRUyxDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUNMLGNBQWNILGNBQWMsT0FDcEUsZ0RBQWdEO0lBQ2hELHNFQUFzRTtJQUN0RUM7SUFFRkMsb0JBQW9CSDtJQUNwQixNQUFNVSxTQUFTQyxPQUFPQyxJQUFJLENBQUNOO0lBRTNCLElBQ0UsQ0FBQ0ksT0FBT0csS0FBSyxDQUFDLENBQUNDO1FBQ2IsSUFBSUMsUUFBUVAsY0FBYyxDQUFDTSxNQUFNLElBQUk7UUFDckMsTUFBTSxFQUFFRSxNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHWCxhQUFhLENBQUNRLE1BQU07UUFFakQsaUNBQWlDO1FBQ2pDLDBEQUEwRDtRQUMxRCxJQUFJSSxXQUFXLE1BQUlGLENBQUFBLFNBQVMsUUFBUSxNQUFLRixRQUFNO1FBQy9DLElBQUlHLFVBQVU7WUFDWkMsV0FBVyxDQUFHLENBQUNILFFBQVEsTUFBTSxNQUFHLE1BQUdHLFdBQVM7UUFDOUM7UUFDQSxJQUFJRixVQUFVLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0wsUUFBUUEsUUFBUTtZQUFDQTtTQUFNO1FBRXBELE9BQ0UsQ0FBQ0UsWUFBWUgsU0FBU04sY0FBQUEsS0FDdEIsNkNBQTZDO1FBQzVDTCxDQUFBQSxvQkFDQ0Esa0JBQW1Ca0IsT0FBTyxDQUN4QkgsVUFDQUYsU0FDSUQsTUFDR08sR0FBRyxDQUVGLHVEQUF1RDtRQUN2RCxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLENBQUNDLFVBQVlDLG1CQUFtQkQsVUFFakNFLElBQUksQ0FBQyxPQUNSRCxtQkFBbUJULFdBQ3BCO0lBRVgsSUFDQTtRQUNBWixvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTFELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDcEQ7SUFDQSxPQUFPO1FBQ0xPO1FBQ0FnQixRQUFRdkI7SUFDVjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/NGYzYiJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFnQkE7OztlQUFBQTs7O2dEQUxUO0FBRVAscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFFWixTQUFTRCxlQUFlRSxLQUFhO0lBQzFDLElBQUlDLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0QsUUFBUTtRQUNyQ0EsUUFBUUUsQ0FBQUEsR0FBQUEsb0JBQUFBLG1DQUFtQyxFQUFDRixPQUFPRyxnQkFBZ0I7SUFDckU7SUFFQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz85ZTM1Il0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js":
|
||
/*!************************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***!
|
||
\************************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBTWdCQTs7O2VBQUFBOzs7bUNBTmlDO3lDQUNyQjtBQUtyQixTQUFTQSxXQUFXQyxHQUFXO0lBQ3BDLGdFQUFnRTtJQUNoRSxJQUFJLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGFBQWEsRUFBQ0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBaUI7UUFDeEMsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUFDSCxTQUFTSSxRQUFRO0lBQzVFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzZmYTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsTUFBUyxFQUNUQyxJQUFTO0lBRVQsTUFBTUMsVUFBc0MsQ0FBQztJQUM3Q0MsT0FBT0YsSUFBSSxDQUFDRCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSSxDQUFDSixLQUFLSyxRQUFRLENBQUNELE1BQVc7WUFDNUJILE9BQU8sQ0FBQ0csSUFBSSxHQUFHTCxNQUFNLENBQUNLLElBQUk7UUFDNUI7SUFDRjtJQUNBLE9BQU9IO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2Y2ZDUiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***!
|
||
\***********************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNENnQkEsUUFBTTtlQUFOQTs7SUExQ0FDLHdCQUFzQjtlQUF0QkE7O0lBNEJBQyx3QkFBc0I7ZUFBdEJBOzs7QUE1QlQsU0FBU0QsdUJBQ2RFLFlBQTZCO0lBRTdCLE1BQU1DLFFBQXdCLENBQUM7SUFDL0JELGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztRQUMzQixJQUFJLE9BQU9ILEtBQUssQ0FBQ0csSUFBSSxLQUFLLGFBQWE7WUFDckNILEtBQUssQ0FBQ0csSUFBSSxHQUFHRDtRQUNmLE9BQU8sSUFBSUUsTUFBTUMsT0FBTyxDQUFDTCxLQUFLLENBQUNHLElBQUksR0FBRztZQUNsQ0gsS0FBSyxDQUFDRyxJQUFJLENBQWNHLElBQUksQ0FBQ0o7UUFDakMsT0FBTztZQUNMRixLQUFLLENBQUNHLElBQUksR0FBRztnQkFBQ0gsS0FBSyxDQUFDRyxJQUFJO2dCQUFZRDthQUFNO1FBQzVDO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUO0FBRUEsU0FBU08sdUJBQXVCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNoQixPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNWLHVCQUNkYSxRQUF3QjtJQUV4QixNQUFNQyxTQUFTLElBQUlDO0lBQ25CQyxPQUFPQyxPQUFPLENBQUNKLFVBQVVWLE9BQU8sQ0FBQyxDQUFBTztZQUFDLENBQUNMLEtBQUtELE1BQU0sR0FBQU07UUFDNUMsSUFBSUosTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1lBQ3hCQSxNQUFNRCxPQUFPLENBQUMsQ0FBQ2UsT0FBU0osT0FBT0ssTUFBTSxDQUFDZCxLQUFLSSx1QkFBdUJTO1FBQ3BFLE9BQU87WUFDTEosT0FBT00sR0FBRyxDQUFDZixLQUFLSSx1QkFBdUJMO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPVTtBQUNUO0FBRU8sU0FBU2hCLE9BQ2R1QixNQUF1QjtJQUN2QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLG1CQUFBLElBQUFuQixNQUFBZ0IsT0FBQSxJQUFBQSxPQUFBLFFBQUFJLE9BQUEsR0FBQUEsT0FBQUosTUFBQUksT0FBQTtRQUFHRCxnQkFBQUEsQ0FBSEMsT0FBQSxLQUFBSCxTQUFBLENBQUFHLEtBQXNDOztJQUV0Q0QsaUJBQWlCdEIsT0FBTyxDQUFDLENBQUNGO1FBQ3hCSyxNQUFNcUIsSUFBSSxDQUFDMUIsYUFBYTJCLElBQUksSUFBSXpCLE9BQU8sQ0FBQyxDQUFDRSxNQUFRZ0IsT0FBT1EsTUFBTSxDQUFDeEI7UUFDL0RKLGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQyxNQUFRZ0IsT0FBT0YsTUFBTSxDQUFDZCxLQUFLRDtJQUMxRDtJQUNBLE9BQU9pQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/NzRkMyJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js":
|
||
/*!*************************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***!
|
||
\*************************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVdnQkE7OztlQUFBQTs7O21DQVZZO0FBVXJCLFNBQVNBLGdCQUFnQkMsS0FBMEI7SUFBMUIsTUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQWMsR0FBMUJGO0lBQzlCLE9BQU8sQ0FBQ0c7UUFDTixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNmLE9BQU87UUFDVDtRQUVBLE1BQU1FLFNBQVMsQ0FBQ047WUFDZCxJQUFJO2dCQUNGLE9BQU9PLG1CQUFtQlA7WUFDNUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNWLE1BQU0sSUFBSUMsT0FBQUEsV0FBVyxDQUFDO1lBQ3hCO1FBQ0Y7UUFDQSxNQUFNQyxTQUFxRCxDQUFDO1FBRTVEQyxPQUFPQyxJQUFJLENBQUNWLFFBQVFXLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixNQUFNQyxJQUFJYixNQUFNLENBQUNZLFNBQVM7WUFDMUIsTUFBTUUsSUFBSVosVUFBVSxDQUFDVyxFQUFFRSxHQUFHLENBQUM7WUFDM0IsSUFBSUQsTUFBTUUsV0FBVztnQkFDbkJSLE1BQU0sQ0FBQ0ksU0FBUyxHQUFHLENBQUNFLEVBQUVHLE9BQU8sQ0FBQyxPQUMxQkgsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVaEIsT0FBT2dCLFVBQ25DUCxFQUFFUSxNQUFNLEdBQ1I7b0JBQUNqQixPQUFPVTtpQkFBRyxHQUNYVixPQUFPVTtZQUNiO1FBQ0Y7UUFDQSxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzP2M1MDIiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***!
|
||
\***********************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMk5nQkEseUJBQXVCO2VBQXZCQTs7SUFoQkFDLG9CQUFrQjtlQUFsQkE7O0lBbklBQyxlQUFhO2VBQWJBOzs7Z0RBeEUyQjswQ0FDUjtpREFDQztBQUVwQyxNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsa0NBQWtDO0FBYXhDOzs7Ozs7O0NBT0MsR0FDRCxTQUFTQyxlQUFlQyxLQUFhO0lBQ25DLE1BQU1DLFdBQVdELE1BQU1FLFVBQVUsQ0FBQyxRQUFRRixNQUFNRyxRQUFRLENBQUM7SUFDekQsSUFBSUYsVUFBVTtRQUNaRCxRQUFRQSxNQUFNSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFCO0lBQ0EsTUFBTUMsU0FBU0wsTUFBTUUsVUFBVSxDQUFDO0lBQ2hDLElBQUlHLFFBQVE7UUFDVkwsUUFBUUEsTUFBTUksS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBTztRQUFFRSxLQUFLTjtRQUFPSztRQUFRSjtJQUFTO0FBQ3hDO0FBRUEsU0FBU00scUJBQXFCQyxLQUFhO0lBQ3pDLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ0YsT0FBT0osS0FBSyxDQUFDLEdBQUdPLEtBQUssQ0FBQztJQUMzRCxNQUFNQyxTQUF5QyxDQUFDO0lBQ2hELElBQUlDLGFBQWE7SUFDakIsT0FBTztRQUNMQyxvQkFBb0JMLFNBQ2pCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNQyxjQUFjQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUNuREosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUlMLGVBQWVJLGNBQWM7Z0JBQy9CLE1BQU0sRUFBRWYs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TSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzlCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVYsdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlQLDBCQUEwQlcsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8yZDNhIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js":
|
||
/*!*************************************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***!
|
||
\*************************************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQXFNZ0JBOzs7ZUFBQUE7OztBQXJNaEIsTUFBTUM7SUFPSkMsT0FBT0MsT0FBZSxFQUFRO1FBQzVCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN2RDtJQUVBQyxTQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUNyQjtJQUVRQSxRQUFRQyxNQUFvQixFQUFZO1FBQWhDQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFpQjtRQUMvQixNQUFNQyxnQkFBZ0I7ZUFBSSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUFHLENBQUNDLElBQUk7UUFDcEQsSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQzFCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3BEO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzlCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3ZEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDdENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDekQ7UUFFQSxNQUFNRyxTQUFTVCxjQUNaVSxHQUFHLENBQUMsQ0FBQ0MsSUFBTSxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csR0FBRyxDQUFDRCxHQUFJYixPQUFPLENBQUMsS0FBR0MsU0FBU1ksSUFBRSxNQUN2REUsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE9BQVM7bUJBQUlEO21CQUFTQzthQUFLLEVBQUUsRUFBRTtRQUVoRCxJQUFJLElBQUksQ0FBQ1gsUUFBUSxLQUFL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Q0FBQ3pCLFFBQVEsQ0FBQ3NDLEdBQUcsQ0FBQ2IsYUFBYSxJQUFJcEM7UUFDckM7UUFFQSxJQUFJLENBQUNXLFFBQVEsQ0FDVlcsR0FBRyxDQUFDYyxhQUNKakMsT0FBTyxDQUFDNkIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQzNDOzthQWpNQVAsV0FBQUEsR0FBdUI7YUFDdkJoQixRQUFBQSxHQUFpQyxJQUFJdUM7YUFDckNwQyxRQUFBQSxHQUEwQjthQUMxQkcsWUFBQUEsR0FBOEI7YUFDOUJDLG9CQUFBQSxHQUFzQzs7QUE4THhDO0FBRU8sU0FBU25CLGdCQUNkb0QsZUFBc0M7SUFFdEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFFM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBRWpCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQk4sT0FBTyxDQUFDLENBQUNRLFdBQWFELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNsRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzPzg3YTUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js":
|
||
/*!****************************************************!*\
|
||
!*** ./node_modules/next/dist/shared/lib/utils.js ***!
|
||
\****************************************************/
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvYWFBLGFBQVc7ZUFBWEE7O0lBb0JBQyx5QkFBdUI7ZUFBdkJBOztJQVBBQyxtQkFBaUI7ZUFBakJBOztJQVpBQyxnQkFBYztlQUFkQTs7SUFDQUMsbUJBQWlCO2VBQWpCQTs7SUFUQUMsSUFBRTtlQUFGQTs7SUFDQUMsSUFBRTtlQUFGQTs7SUFsWEFDLFlBQVU7ZUFBVkE7O0lBc1FHQyxVQUFRO2VBQVJBOztJQStCQUMsZ0JBQWM7ZUFBZEE7O0lBWEFDLG1CQUFpQjtlQUFqQkE7O0lBS0FDLFFBQU07ZUFBTkE7O0lBUEhDLGVBQWE7ZUFBYkE7O0lBbUJHQyxXQUFTO2VBQVRBOztJQWtCTUMscUJBQW1CO2VBQW5CQTs7SUFkTkMsMEJBQXdCO2VBQXhCQTs7SUErR0FDLGdCQUFjO2VBQWRBOzs7QUE5WlQsTUFBTVQsYUFBYTtJQUFDO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFPO0FBc1E5RCxTQUFTQyxTQUNkUyxFQUFLO0lBRUwsSUFBSUMsT0FBTztJQUNYLElBQUlDO0lBRUosT0FBUTt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1FBQ1YsSUFBSSxDQUFDRixNQUFNO1lBQ1RBLE9BQU87WUFDUEMsU0FBU0YsTUFBTUc7UUFDakI7UUFDQSxPQUFPRDtJQUNUO0FBQ0Y7QUFFQSwwREFBMEQ7QUFDMUQsZ0VBQWdFO0FBQ2hFLE1BQU1FLHFCQUFxQjtBQUNwQixNQUFNVCxnQkFBZ0IsQ0FBQ1UsTUFBZ0JELG1CQUFtQkUsSUFBSSxDQUFDRDtBQUUvRCxTQUFTWjtJQUNkLE1BQU0sRUFBRWMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFB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O0lBQ3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQXdDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNakQsZ0NBQWdDa0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU2xDLGVBQWVnRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
|
||
/*!****************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
|
||
\****************************************************************************************/
|
||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz84OTRlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/OTY3YSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
|
||
/*!*********************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
|
||
\*********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _arrayLikeToArray; }\n/* harmony export */ });\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsZ0NBQWdDLE9BQU87QUFDdkM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlMaWtlVG9BcnJheS5qcz85ZTYzIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KHIsIGEpIHtcbiAgKG51bGwgPT0gYSB8fCBhID4gci5sZW5ndGgpICYmIChhID0gci5sZW5ndGgpO1xuICBmb3IgKHZhciBlID0gMCwgbiA9IEFycmF5KGEpOyBlIDwgYTsgZSsrKSBuW2VdID0gcltlXTtcbiAgcmV0dXJuIG47XG59XG5leHBvcnQgeyBfYXJyYXlMaWtlVG9BcnJheSBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _arrayWithHoles; }\n/* harmony export */ });\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheVdpdGhIb2xlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheVdpdGhIb2xlcy5qcz82MzM5Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHIpKSByZXR1cm4gcjtcbn1cbmV4cG9ydCB7IF9hcnJheVdpdGhIb2xlcyBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _arrayWithoutHoles; }\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheVdpdGhvdXRIb2xlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFxRDtBQUNyRDtBQUNBLCtCQUErQixnRUFBZ0I7QUFDL0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FycmF5V2l0aG91dEhvbGVzLmpzP2NiNjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFycmF5TGlrZVRvQXJyYXkgZnJvbSBcIi4vYXJyYXlMaWtlVG9BcnJheS5qc1wiO1xuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKHIpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocikpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KHIpO1xufVxuZXhwb3J0IHsgX2FycmF5V2l0aG91dEhvbGVzIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
|
||
/*!**************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
|
||
\**************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _assertThisInitialized; }\n/* harmony export */ });\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQuanM/NmM4OSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKGUpIHtcbiAgaWYgKHZvaWQgMCA9PT0gZSkgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO1xuICByZXR1cm4gZTtcbn1cbmV4cG9ydCB7IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _classCallCheck; }\n/* harmony export */ });\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVjay5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVjay5qcz8zNzZiIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhhLCBuKSB7XG4gIGlmICghKGEgaW5zdGFuY2VvZiBuKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbn1cbmV4cG9ydCB7IF9jbGFzc0NhbGxDaGVjayBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createClass.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _createClass; }\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVDbGFzcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQztBQUMvQztBQUNBLGtCQUFrQixjQUFjO0FBQ2hDO0FBQ0Esd0hBQXdILDZEQUFhO0FBQ3JJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzLmpzP2Q4Y2YiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvUHJvcGVydHlLZXkgZnJvbSBcIi4vdG9Qcm9wZXJ0eUtleS5qc1wiO1xuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXMoZSwgcikge1xuICBmb3IgKHZhciB0ID0gMDsgdCA8IHIubGVuZ3RoOyB0KyspIHtcbiAgICB2YXIgbyA9IHJbdF07XG4gICAgby5lbnVtZXJhYmxlID0gby5lbnVtZXJhYmxlIHx8ICExLCBvLmNvbmZpZ3VyYWJsZSA9ICEwLCBcInZhbHVlXCIgaW4gbyAmJiAoby53cml0YWJsZSA9ICEwKSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIHRvUHJvcGVydHlLZXkoby5rZXkpLCBvKTtcbiAgfVxufVxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKGUsIHIsIHQpIHtcbiAgcmV0dXJuIHIgJiYgX2RlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsIHIpLCB0ICYmIF9kZWZpbmVQcm9wZXJ0aWVzKGUsIHQpLCBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgXCJwcm90b3R5cGVcIiwge1xuICAgIHdyaXRhYmxlOiAhMVxuICB9KSwgZTtcbn1cbmV4cG9ydCB7IF9jcmVhdGVDbGFzcyBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createClass.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createSuper.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/createSuper.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _createSuper; }\n/* harmony export */ });\n/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js\");\n/* harmony import */ var _possibleConstructorReturn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./possibleConstructorReturn.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n\n\n\nfunction _createSuper(t) {\n var r = (0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\n return function () {\n var e,\n o = (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t);\n if (r) {\n var s = (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return (0,_possibleConstructorReturn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, e);\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVTdXBlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWlEO0FBQ29CO0FBQ0U7QUFDdkU7QUFDQSxVQUFVLHdFQUF3QjtBQUNsQztBQUNBO0FBQ0EsVUFBVSw4REFBYztBQUN4QjtBQUNBLGNBQWMsOERBQWM7QUFDNUI7QUFDQSxNQUFNO0FBQ04sV0FBVyx5RUFBeUI7QUFDcEM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlU3VwZXIuanM/MzM3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0UHJvdG90eXBlT2YgZnJvbSBcIi4vZ2V0UHJvdG90eXBlT2YuanNcIjtcbmltcG9ydCBpc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgZnJvbSBcIi4vaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0LmpzXCI7XG5pbXBvcnQgcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiLi9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzXCI7XG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIodCkge1xuICB2YXIgciA9IGlzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBlLFxuICAgICAgbyA9IGdldFByb3RvdHlwZU9mKHQpO1xuICAgIGlmIChyKSB7XG4gICAgICB2YXIgcyA9IGdldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yO1xuICAgICAgZSA9IFJlZmxlY3QuY29uc3RydWN0KG8sIGFyZ3VtZW50cywgcyk7XG4gICAgfSBlbHNlIGUgPSBvLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgcmV0dXJuIHBvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgZSk7XG4gIH07XG59XG5leHBvcnQgeyBfY3JlYXRlU3VwZXIgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/createSuper.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _defineProperty; }\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperty(e, r, t) {\n return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQztBQUMvQztBQUNBLGNBQWMsNkRBQWE7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5LmpzP2YwZWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvUHJvcGVydHlLZXkgZnJvbSBcIi4vdG9Qcm9wZXJ0eUtleS5qc1wiO1xuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsIHIsIHQpIHtcbiAgcmV0dXJuIChyID0gdG9Qcm9wZXJ0eUtleShyKSkgaW4gZSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCByLCB7XG4gICAgdmFsdWU6IHQsXG4gICAgZW51bWVyYWJsZTogITAsXG4gICAgY29uZmlndXJhYmxlOiAhMCxcbiAgICB3cml0YWJsZTogITBcbiAgfSkgOiBlW3JdID0gdCwgZTtcbn1cbmV4cG9ydCB7IF9kZWZpbmVQcm9wZXJ0eSBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/defineProperty.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js":
|
||
/*!************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***!
|
||
\************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _extends; }\n/* harmony export */ });\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzLmpzPzFhODMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIHJldHVybiBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gPyBPYmplY3QuYXNzaWduLmJpbmQoKSA6IGZ1bmN0aW9uIChuKSB7XG4gICAgZm9yICh2YXIgZSA9IDE7IGUgPCBhcmd1bWVudHMubGVuZ3RoOyBlKyspIHtcbiAgICAgIHZhciB0ID0gYXJndW1lbnRzW2VdO1xuICAgICAgZm9yICh2YXIgciBpbiB0KSAoe30pLmhhc093blByb3BlcnR5LmNhbGwodCwgcikgJiYgKG5bcl0gPSB0W3JdKTtcbiAgICB9XG4gICAgcmV0dXJuIG47XG4gIH0sIF9leHRlbmRzLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG59XG5leHBvcnQgeyBfZXh0ZW5kcyBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/extends.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _getPrototypeOf; }\n/* harmony export */ });\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9nZXRQcm90b3R5cGVPZi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9nZXRQcm90b3R5cGVPZi5qcz82Y2Y0Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZih0KSB7XG4gIHJldHVybiBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YuYmluZCgpIDogZnVuY3Rpb24gKHQpIHtcbiAgICByZXR1cm4gdC5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO1xuICB9LCBfZ2V0UHJvdG90eXBlT2YodCk7XG59XG5leHBvcnQgeyBfZ2V0UHJvdG90eXBlT2YgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/inherits.js":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _inherits; }\n/* harmony export */ });\n/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\");\n\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t, e);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0cy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRyxRQUFRLDhEQUFjO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0cy5qcz9lN2NlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiO1xuZnVuY3Rpb24gX2luaGVyaXRzKHQsIGUpIHtcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSAmJiBudWxsICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7XG4gIHQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlICYmIGUucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiB0LFxuICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgY29uZmlndXJhYmxlOiAhMFxuICAgIH1cbiAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6ICExXG4gIH0pLCBlICYmIHNldFByb3RvdHlwZU9mKHQsIGUpO1xufVxuZXhwb3J0IHsgX2luaGVyaXRzIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/inherits.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js":
|
||
/*!*****************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***!
|
||
\*****************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _isNativeReflectConstruct; }\n/* harmony export */ });\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSx5RkFBeUY7QUFDekYsSUFBSTtBQUNKO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdC5qcz9mODM2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7XG4gIHRyeSB7XG4gICAgdmFyIHQgPSAhQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sIFtdLCBmdW5jdGlvbiAoKSB7fSkpO1xuICB9IGNhdGNoICh0KSB7fVxuICByZXR1cm4gKF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBmdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkge1xuICAgIHJldHVybiAhIXQ7XG4gIH0pKCk7XG59XG5leHBvcnQgeyBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _iterableToArray; }\n/* harmony export */ });\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXRlcmFibGVUb0FycmF5LmpzP2M5MGMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShyKSB7XG4gIGlmIChcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBTeW1ib2wgJiYgbnVsbCAhPSByW1N5bWJvbC5pdGVyYXRvcl0gfHwgbnVsbCAhPSByW1wiQEBpdGVyYXRvclwiXSkgcmV0dXJuIEFycmF5LmZyb20ocik7XG59XG5leHBvcnQgeyBfaXRlcmFibGVUb0FycmF5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js":
|
||
/*!*************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
|
||
\*************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _iterableToArrayLimit; }\n/* harmony export */ });\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXlMaW1pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsWUFBWSxrRUFBa0U7QUFDdEYsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXlMaW1pdC5qcz8yMTVlIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChyLCBsKSB7XG4gIHZhciB0ID0gbnVsbCA9PSByID8gbnVsbCA6IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFN5bWJvbCAmJiByW1N5bWJvbC5pdGVyYXRvcl0gfHwgcltcIkBAaXRlcmF0b3JcIl07XG4gIGlmIChudWxsICE9IHQpIHtcbiAgICB2YXIgZSxcbiAgICAgIG4sXG4gICAgICBpLFxuICAgICAgdSxcbiAgICAgIGEgPSBbXSxcbiAgICAgIGYgPSAhMCxcbiAgICAgIG8gPSAhMTtcbiAgICB0cnkge1xuICAgICAgaWYgKGkgPSAodCA9IHQuY2FsbChyKSkubmV4dCwgMCA9PT0gbCkge1xuICAgICAgICBpZiAoT2JqZWN0KHQpICE9PSB0KSByZXR1cm47XG4gICAgICAgIGYgPSAhMTtcbiAgICAgIH0gZWxzZSBmb3IgKDsgIShmID0gKGUgPSBpLmNhbGwodCkpLmRvbmUpICYmIChhLnB1c2goZS52YWx1ZSksIGEubGVuZ3RoICE9PSBsKTsgZiA9ICEwKTtcbiAgICB9IGNhdGNoIChyKSB7XG4gICAgICBvID0gITAsIG4gPSByO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIWYgJiYgbnVsbCAhPSB0W1wicmV0dXJuXCJdICYmICh1ID0gdFtcInJldHVyblwiXSgpLCBPYmplY3QodSkgIT09IHUpKSByZXR1cm47XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAobykgdGhyb3cgbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGE7XG4gIH1cbn1cbmV4cG9ydCB7IF9pdGVyYWJsZVRvQXJyYXlMaW1pdCBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
|
||
\********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _nonIterableRest; }\n/* harmony export */ });\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9ub25JdGVyYWJsZVJlc3QuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzP2ZkOWEiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cbmV4cG9ydCB7IF9ub25JdGVyYWJsZVJlc3QgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _nonIterableSpread; }\n/* harmony export */ });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9ub25JdGVyYWJsZVNwcmVhZC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9ub25JdGVyYWJsZVNwcmVhZC5qcz8xMWMyIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5leHBvcnQgeyBfbm9uSXRlcmFibGVTcHJlYWQgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _objectSpread2; }\n/* harmony export */ });\n/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n (0,_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlEO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTtBQUNBLE1BQU0sOERBQWM7QUFDcEIsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcz80MTAwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWZpbmVQcm9wZXJ0eSBmcm9tIFwiLi9kZWZpbmVQcm9wZXJ0eS5qc1wiO1xuZnVuY3Rpb24gb3duS2V5cyhlLCByKSB7XG4gIHZhciB0ID0gT2JqZWN0LmtleXMoZSk7XG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIG8gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO1xuICAgIHIgJiYgKG8gPSBvLmZpbHRlcihmdW5jdGlvbiAocikge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgcikuZW51bWVyYWJsZTtcbiAgICB9KSksIHQucHVzaC5hcHBseSh0LCBvKTtcbiAgfVxuICByZXR1cm4gdDtcbn1cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQyKGUpIHtcbiAgZm9yICh2YXIgciA9IDE7IHIgPCBhcmd1bWVudHMubGVuZ3RoOyByKyspIHtcbiAgICB2YXIgdCA9IG51bGwgIT0gYXJndW1lbnRzW3JdID8gYXJndW1lbnRzW3JdIDoge307XG4gICAgciAlIDIgPyBvd25LZXlzKE9iamVjdCh0KSwgITApLmZvckVhY2goZnVuY3Rpb24gKHIpIHtcbiAgICAgIGRlZmluZVByb3BlcnR5KGUsIHIsIHRbcl0pO1xuICAgIH0pIDogT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0KSkgOiBvd25LZXlzKE9iamVjdCh0KSkuZm9yRWFjaChmdW5jdGlvbiAocikge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIHIsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwgcikpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBlO1xufVxuZXhwb3J0IHsgX29iamVjdFNwcmVhZDIgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js":
|
||
/*!****************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js ***!
|
||
\****************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _objectWithoutProperties; }\n/* harmony export */ });\n/* harmony import */ var _objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = (0,_objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2RTtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNEVBQTRCO0FBQ3BDO0FBQ0E7QUFDQSxnQkFBZ0IsY0FBYyx3Q0FBd0M7QUFDdEU7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcy5qcz9jOTdkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIGZyb20gXCIuL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UuanNcIjtcbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhlLCB0KSB7XG4gIGlmIChudWxsID09IGUpIHJldHVybiB7fTtcbiAgdmFyIG8sXG4gICAgcixcbiAgICBpID0gb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShlLCB0KTtcbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgbiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7XG4gICAgZm9yIChyID0gMDsgciA8IG4ubGVuZ3RoOyByKyspIG8gPSBuW3JdLCAtMSA9PT0gdC5pbmRleE9mKG8pICYmIHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgbykgJiYgKGlbb10gPSBlW29dKTtcbiAgfVxuICByZXR1cm4gaTtcbn1cbmV4cG9ydCB7IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js":
|
||
/*!*********************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***!
|
||
\*********************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _objectWithoutPropertiesLoose; }\n/* harmony export */ });\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZS5qcz8zYjhiIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHIsIGUpIHtcbiAgaWYgKG51bGwgPT0gcikgcmV0dXJuIHt9O1xuICB2YXIgdCA9IHt9O1xuICBmb3IgKHZhciBuIGluIHIpIGlmICh7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsIG4pKSB7XG4gICAgaWYgKC0xICE9PSBlLmluZGV4T2YobikpIGNvbnRpbnVlO1xuICAgIHRbbl0gPSByW25dO1xuICB9XG4gIHJldHVybiB0O1xufVxuZXhwb3J0IHsgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
|
||
/*!******************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
|
||
\******************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _possibleConstructorReturn; }\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n\n\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFrQztBQUM2QjtBQUMvRDtBQUNBLHdCQUF3QixzREFBTztBQUMvQjtBQUNBLFNBQVMscUVBQXFCO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzPzcxN2YiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5pbXBvcnQgYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCIuL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qc1wiO1xuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odCwgZSkge1xuICBpZiAoZSAmJiAoXCJvYmplY3RcIiA9PSBfdHlwZW9mKGUpIHx8IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZSkpIHJldHVybiBlO1xuICBpZiAodm9pZCAwICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRGVyaXZlZCBjb25zdHJ1Y3RvcnMgbWF5IG9ubHkgcmV0dXJuIG9iamVjdCBvciB1bmRlZmluZWRcIik7XG4gIHJldHVybiBhc3NlcnRUaGlzSW5pdGlhbGl6ZWQodCk7XG59XG5leHBvcnQgeyBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
|
||
/*!*******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
|
||
\*******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _setPrototypeOf; }\n/* harmony export */ });\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zZXRQcm90b3R5cGVPZi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zZXRQcm90b3R5cGVPZi5qcz81MzNjIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZih0LCBlKSB7XG4gIHJldHVybiBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpIDogZnVuY3Rpb24gKHQsIGUpIHtcbiAgICByZXR1cm4gdC5fX3Byb3RvX18gPSBlLCB0O1xuICB9LCBfc2V0UHJvdG90eXBlT2YodCwgZSk7XG59XG5leHBvcnQgeyBfc2V0UHJvdG90eXBlT2YgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _slicedToArray; }\n/* harmony export */ });\n/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\");\n/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\");\n\n\n\n\nfunction _slicedToArray(r, e) {\n return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(r, e) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(r, e) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWlEO0FBQ1k7QUFDWTtBQUN0QjtBQUNuRDtBQUNBLFNBQVMsOERBQWMsT0FBTyxvRUFBb0IsVUFBVSwwRUFBMEIsVUFBVSwrREFBZTtBQUMvRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vc2xpY2VkVG9BcnJheS5qcz83Nzk1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhcnJheVdpdGhIb2xlcyBmcm9tIFwiLi9hcnJheVdpdGhIb2xlcy5qc1wiO1xuaW1wb3J0IGl0ZXJhYmxlVG9BcnJheUxpbWl0IGZyb20gXCIuL2l0ZXJhYmxlVG9BcnJheUxpbWl0LmpzXCI7XG5pbXBvcnQgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanNcIjtcbmltcG9ydCBub25JdGVyYWJsZVJlc3QgZnJvbSBcIi4vbm9uSXRlcmFibGVSZXN0LmpzXCI7XG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShyLCBlKSB7XG4gIHJldHVybiBhcnJheVdpdGhIb2xlcyhyKSB8fCBpdGVyYWJsZVRvQXJyYXlMaW1pdChyLCBlKSB8fCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyLCBlKSB8fCBub25JdGVyYWJsZVJlc3QoKTtcbn1cbmV4cG9ydCB7IF9zbGljZWRUb0FycmF5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js":
|
||
/*!**************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js ***!
|
||
\**************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _taggedTemplateLiteral; }\n/* harmony export */ });\nfunction _taggedTemplateLiteral(e, t) {\n return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n raw: {\n value: Object.freeze(t)\n }\n }));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90YWdnZWRUZW1wbGF0ZUxpdGVyYWwuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbC5qcz84YzBhIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF90YWdnZWRUZW1wbGF0ZUxpdGVyYWwoZSwgdCkge1xuICByZXR1cm4gdCB8fCAodCA9IGUuc2xpY2UoMCkpLCBPYmplY3QuZnJlZXplKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsIHtcbiAgICByYXc6IHtcbiAgICAgIHZhbHVlOiBPYmplY3QuZnJlZXplKHQpXG4gICAgfVxuICB9KSk7XG59XG5leHBvcnQgeyBfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***!
|
||
\**********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _toConsumableArray; }\n/* harmony export */ });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(r) {\n return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF1RDtBQUNKO0FBQ3NCO0FBQ2xCO0FBQ3ZEO0FBQ0EsU0FBUyxpRUFBaUIsT0FBTywrREFBZSxPQUFPLDBFQUEwQixPQUFPLGlFQUFpQjtBQUN6RyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanM/NmY1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXJyYXlXaXRob3V0SG9sZXMgZnJvbSBcIi4vYXJyYXlXaXRob3V0SG9sZXMuanNcIjtcbmltcG9ydCBpdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5LmpzXCI7XG5pbXBvcnQgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanNcIjtcbmltcG9ydCBub25JdGVyYWJsZVNwcmVhZCBmcm9tIFwiLi9ub25JdGVyYWJsZVNwcmVhZC5qc1wiO1xuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KHIpIHtcbiAgcmV0dXJuIGFycmF5V2l0aG91dEhvbGVzKHIpIHx8IGl0ZXJhYmxlVG9BcnJheShyKSB8fCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyKSB8fCBub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuZXhwb3J0IHsgX3RvQ29uc3VtYWJsZUFycmF5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ toPrimitive; }\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\nfunction toPrimitive(t, r) {\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1ByaW1pdGl2ZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrQztBQUNsQztBQUNBLGtCQUFrQixzREFBTztBQUN6QjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isc0RBQU87QUFDM0I7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvUHJpbWl0aXZlLmpzP2ZhMzciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5mdW5jdGlvbiB0b1ByaW1pdGl2ZSh0LCByKSB7XG4gIGlmIChcIm9iamVjdFwiICE9IF90eXBlb2YodCkgfHwgIXQpIHJldHVybiB0O1xuICB2YXIgZSA9IHRbU3ltYm9sLnRvUHJpbWl0aXZlXTtcbiAgaWYgKHZvaWQgMCAhPT0gZSkge1xuICAgIHZhciBpID0gZS5jYWxsKHQsIHIgfHwgXCJkZWZhdWx0XCIpO1xuICAgIGlmIChcIm9iamVjdFwiICE9IF90eXBlb2YoaSkpIHJldHVybiBpO1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKTtcbiAgfVxuICByZXR1cm4gKFwic3RyaW5nXCIgPT09IHIgPyBTdHJpbmcgOiBOdW1iZXIpKHQpO1xufVxuZXhwb3J0IHsgdG9QcmltaXRpdmUgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
|
||
\******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ toPropertyKey; }\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction toPropertyKey(t) {\n var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t, \"string\");\n return \"symbol\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i) ? i : i + \"\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1Byb3BlcnR5S2V5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFrQztBQUNTO0FBQzNDO0FBQ0EsVUFBVSwyREFBVztBQUNyQixxQkFBcUIsc0RBQU87QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvUHJvcGVydHlLZXkuanM/NzE2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi90eXBlb2YuanNcIjtcbmltcG9ydCB0b1ByaW1pdGl2ZSBmcm9tIFwiLi90b1ByaW1pdGl2ZS5qc1wiO1xuZnVuY3Rpb24gdG9Qcm9wZXJ0eUtleSh0KSB7XG4gIHZhciBpID0gdG9QcmltaXRpdmUodCwgXCJzdHJpbmdcIik7XG4gIHJldHVybiBcInN5bWJvbFwiID09IF90eXBlb2YoaSkgPyBpIDogaSArIFwiXCI7XG59XG5leHBvcnQgeyB0b1Byb3BlcnR5S2V5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js":
|
||
/*!***********************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
|
||
\***********************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _typeof; }\n/* harmony export */ });\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdHlwZW9mLmpzPzliODYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3R5cGVvZihvKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICByZXR1cm4gX3R5cGVvZiA9IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIFwic3ltYm9sXCIgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA/IGZ1bmN0aW9uIChvKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvO1xuICB9IDogZnVuY3Rpb24gKG8pIHtcbiAgICByZXR1cm4gbyAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgbyAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2YgbztcbiAgfSwgX3R5cGVvZihvKTtcbn1cbmV4cG9ydCB7IF90eXBlb2YgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/typeof.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
|
||
/*!*******************************************************************************!*\
|
||
!*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
|
||
\*******************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ _unsupportedIterableToArray; }\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a) : void 0;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFxRDtBQUNyRDtBQUNBO0FBQ0EscUNBQXFDLGdFQUFnQjtBQUNyRCxjQUFjO0FBQ2QsK0xBQStMLGdFQUFnQjtBQUMvTTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qcz84NDhkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhcnJheUxpa2VUb0FycmF5IGZyb20gXCIuL2FycmF5TGlrZVRvQXJyYXkuanNcIjtcbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyLCBhKSB7XG4gIGlmIChyKSB7XG4gICAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIHIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KHIsIGEpO1xuICAgIHZhciB0ID0ge30udG9TdHJpbmcuY2FsbChyKS5zbGljZSg4LCAtMSk7XG4gICAgcmV0dXJuIFwiT2JqZWN0XCIgPT09IHQgJiYgci5jb25zdHJ1Y3RvciAmJiAodCA9IHIuY29uc3RydWN0b3IubmFtZSksIFwiTWFwXCIgPT09IHQgfHwgXCJTZXRcIiA9PT0gdCA/IEFycmF5LmZyb20ocikgOiBcIkFyZ3VtZW50c1wiID09PSB0IHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHQpID8gYXJyYXlMaWtlVG9BcnJheShyLCBhKSA6IHZvaWQgMDtcbiAgfVxufVxuZXhwb3J0IHsgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs":
|
||
/*!******************************************************************!*\
|
||
!*** ./node_modules/@floating-ui/core/dist/floating-ui.core.mjs ***!
|
||
\******************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: function() { return /* binding */ arrow; },\n/* harmony export */ autoPlacement: function() { return /* binding */ autoPlacement; },\n/* harmony export */ computePosition: function() { return /* binding */ computePosition; },\n/* harmony export */ detectOverflow: function() { return /* binding */ detectOverflow; },\n/* harmony export */ flip: function() { return /* binding */ flip; },\n/* harmony export */ hide: function() { return /* binding */ hide; },\n/* harmony export */ inline: function() { return /* binding */ inline; },\n/* harmony export */ limitShift: function() { return /* binding */ limitShift; },\n/* harmony export */ offset: function() { return /* binding */ offset; },\n/* harmony export */ rectToClientRect: function() { return /* reexport safe */ _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect; },\n/* harmony export */ shift: function() { return /* binding */ shift; },\n/* harmony export */ size: function() { return /* binding */ size; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n\n\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\n const alignmentAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentAxis)(placement);\n const alignLength = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAxisLength)(alignmentAxis);\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch ((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\n const coords = {\n x,\n y\n };\n const axis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentAxis)(placement);\n const length = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAxisLength)(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) === alignment), ...allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) !== alignment)] : allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) === alignment || (autoAlignment ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAlignmentPlacement)(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentSides)(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const initialSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(initialPlacement);\n const isBasePlacement = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositePlacement)(initialPlacement)] : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getExpandedPlacements)(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxisPlacements)(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentSides)(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...rects.map(rect => rect.left));\n const minY = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...rects.map(rect => rect.top));\n const maxX = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...rects.map(rect => rect.right));\n const maxY = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(getBoundingRect(nativeClientRects));\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if ((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === 'left';\n const maxRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...clientRects.map(rect => rect.right));\n const minLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\n const isVertical = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\n const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\n const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\n const isYAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, 0);\n const xMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.right, 0);\n const yMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, 0);\n const yMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvY29yZS9kaXN0L2Zsb2F0aW5nLXVpLmNvcmUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBc1U7QUFDaFI7O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLG1CQUFtQiwrREFBVztBQUM5Qix3QkFBd0Isb0VBQWdCO0FBQ3hDLHNCQUFzQixpRUFBYTtBQUNuQyxlQUFlLDJEQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsZ0VBQVk7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxFQUFFLDREQUFRO0FBQ2Qsd0JBQXdCLG9FQUFnQjtBQUN4QztBQUNBO0FBQ0EsNkJBQTZCLG9FQUFnQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixvRUFBZ0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FB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USxFQUFFLDREQUFRO0FBQ2xCO0FBQ0EsbUJBQW1CLDJEQUFPO0FBQzFCLHdCQUF3QixnRUFBWTtBQUNwQyxzQkFBc0IsK0RBQVc7QUFDakM7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyx1REFBRztBQUN6QyxxQ0FBcUMsdURBQUc7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsdURBQUc7QUFDeEIscUJBQXFCLHVEQUFHO0FBQ3hCLHFCQUFxQix1REFBRztBQUN4QixxQkFBcUIsdURBQUc7QUFDeEI7QUFDQSxpRkFBaUYsdURBQUc7QUFDcEYsVUFBVTtBQUNWLG1GQUFtRix1REFBRztBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVzSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2NvcmUvZGlzdC9mbG9hdGluZy11aS5jb3JlLm1qcz83MjUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNpZGVBeGlzLCBnZXRBbGlnbm1lbnRBeGlzLCBnZXRBeGlzTGVuZ3RoLCBnZXRTaWRlLCBnZXRBbGlnbm1lbnQsIGV2YWx1YXRlLCBnZXRQYWRkaW5nT2JqZWN0LCByZWN0VG9DbGllbnRSZWN0LCBtaW4sIGNsYW1wLCBwbGFjZW1lbnRzLCBnZXRBbGlnbm1lbnRTaWRlcywgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQsIGdldE9wcG9zaXRlUGxhY2VtZW50LCBnZXRFeHBhbmRlZFBsYWNlbWVudHMsIGdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMsIHNpZGVzLCBtYXgsIGdldE9wcG9zaXRlQXhpcyB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscyc7XG5leHBvcnQgeyByZWN0VG9DbGllbnRSZWN0IH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcblxuZnVuY3Rpb24gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQoX3JlZiwgcGxhY2VtZW50LCBydGwpIHtcbiAgbGV0IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmdcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IHNpZGVBeGlzID0gZ2V0U2lkZUF4aXMocGxhY2VtZW50KTtcbiAgY29uc3QgYWxpZ25tZW50QXhpcyA9IGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KTtcbiAgY29uc3QgYWxpZ25MZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGFsaWdubWVudEF4aXMpO1xuICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xuICBjb25zdCBpc1ZlcnRpY2FsID0gc2lkZUF4aXMgPT09ICd5JztcbiAgY29uc3QgY29tbW9uWCA9IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoIC8gMiAtIGZsb2F0aW5nLndpZHRoIC8gMjtcbiAgY29uc3QgY29tbW9uWSA9IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodCAvIDIgLSBmbG9hdGluZy5oZWlnaHQgLyAyO1xuICBjb25zdCBjb21tb25BbGlnbiA9IHJlZmVyZW5jZVthbGlnbkxlbmd0aF0gLyAyIC0gZmxvYXRpbmdbYWxpZ25MZW5ndGhdIC8gMjtcbiAgbGV0IGNvb3JkcztcbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSAndG9wJzpcbiAgICAgIGNvb3JkcyA9IHtcbiAgICAgICAgeDogY29tbW9uWCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnkgLSBmbG9hdGluZy5oZWlnaHRcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdib3R0b20nOlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHRcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdyaWdodCc6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnbGVmdCc6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54IC0gZmxvYXRpbmcud2lkdGgsXG4gICAgICAgIHk6IGNvbW1vbllcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnlcbiAgICAgIH07XG4gIH1cbiAgc3dpdGNoIChnZXRBbGlnbm1lbnQocGxhY2VtZW50KSkge1xuICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgIGNvb3Jkc1thbGlnbm1lbnRBeGlzXSAtPSBjb21tb25BbGlnbiAqIChydGwgJiYgaXNWZXJ0aWNhbCA/IC0xIDogMSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlbmQnOlxuICAgICAgY29vcmRzW2FsaWdubWVudEF4aXNdICs9IGNvbW1vbkFsaWduICogKHJ0bCAmJiBpc1ZlcnRpY2FsID8gLTEgOiAxKTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiBjb29yZHM7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2l0aCBhbiBvYmplY3Qgb2Ygb3ZlcmZsb3cgc2lkZSBvZmZzZXRzIHRoYXQgZGV0ZXJtaW5lIGhvdyBtdWNoIHRoZVxuICogZWxlbWVudCBpcyBvdmVyZmxvd2luZyBhIGdpdmVuIGNsaXBwaW5nIGJvdW5kYXJ5IG9uIGVhY2ggc2lkZS5cbiAqIC0gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgYm91bmRhcnkgYnkgdGhhdCBudW1iZXIgb2YgcGl4ZWxzXG4gKiAtIG5lZ2F0aXZlID0gaG93IG1hbnkgcGl4ZWxzIGxlZnQgYmVmb3JlIGl0IHdpbGwgb3ZlcmZsb3dcbiAqIC0gMCA9IGxpZXMgZmx1c2ggd2l0aCB0aGUgYm91bmRhcnlcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9kZXRlY3RPdmVyZmxvd1xuICovXG5hc3luYyBmdW5jdGlvbiBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgb3B0aW9ucykge1xuICB2YXIgX2F3YWl0JHBsYXRmb3JtJGlzRWxlO1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICB4LFxuICAgIHksXG4gICAgcGxhdGZvcm0sXG4gICAgcmVjdHMsXG4gICAgZWxlbWVudHMsXG4gICAgc3RyYXRlZ3lcbiAgfSA9IHN0YXRlO1xuICBjb25zdCB7XG4gICAgYm91bmRhcnkgPSAnY2xpcHBpbmdBbmNlc3RvcnMnLFxuICAgIHJvb3RCb3VuZGFyeSA9ICd2aWV3cG9ydCcsXG4gICAgZWxlbWVudENvbnRleHQgPSAnZmxvYXRpbmcnLFxuICAgIGFsdEJvdW5kYXJ5ID0gZmFsc2UsXG4gICAgcGFkZGluZyA9IDBcbiAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgY29uc3QgcGFkZGluZ09iamVjdCA9IGdldFBhZGRpbmdPYmplY3QocGFkZGluZyk7XG4gIGNvbnN0IGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gJ2Zsb2F0aW5nJyA/ICdyZWZlcmVuY2UnIDogJ2Zsb2F0aW5nJztcbiAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2FsdEJvdW5kYXJ5ID8gYWx0Q29udGV4dCA6IGVsZW1lbnRDb250ZXh0XTtcbiAgY29uc3QgY2xpcHBpbmdDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChhd2FpdCBwbGF0Zm9ybS5nZXRDbGlwcGluZ1JlY3Qoe1xuICAgIGVsZW1lbnQ6ICgoX2F3YWl0JHBsYXRmb3JtJGlzRWxlID0gYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KGVsZW1lbnQpKSkgIT0gbnVsbCA/IF9hd2FpdCRwbGF0Zm9ybSRpc0VsZSA6IHRydWUpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgKGF3YWl0IChwbGF0Zm9ybS5nZXREb2N1bWVudEVsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldERvY3VtZW50RWxlbWVudChlbGVtZW50cy5mbG9hdGluZykpKSxcbiAgICBib3VuZGFyeSxcbiAgICByb290Qm91bmRhcnksXG4gICAgc3RyYXRlZ3lcbiAgfSkpO1xuICBjb25zdCByZWN0ID0gZWxlbWVudENvbnRleHQgPT09ICdmbG9hdGluZycgPyB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoOiByZWN0cy5mbG9hdGluZy53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3RzLmZsb2F0aW5nLmhlaWdodFxuICB9IDogcmVjdHMucmVmZXJlbmNlO1xuICBjb25zdCBvZmZzZXRQYXJlbnQgPSBhd2FpdCAocGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQoZWxlbWVudHMuZmxvYXRpbmcpKTtcbiAgY29uc3Qgb2Zmc2V0U2NhbGUgPSAoYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KG9mZnNldFBhcmVudCkpKSA/IChhd2FpdCAocGxhdGZvcm0uZ2V0U2NhbGUgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldFNjYWxlKG9mZnNldFBhcmVudCkpKSB8fCB7XG4gICAgeDogMSxcbiAgICB5OiAxXG4gIH0gOiB7XG4gICAgeDogMSxcbiAgICB5OiAxXG4gIH07XG4gIGNvbnN0IGVsZW1lbnRDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChwbGF0Zm9ybS5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCA/IGF3YWl0IHBsYXRmb3JtLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KHtcbiAgICBlbGVtZW50cyxcbiAgICByZWN0LFxuICAgIG9mZnNldFBhcmVudCxcbiAgICBzdHJhdGVneVxuICB9KSA6IHJlY3QpO1xuICByZXR1cm4ge1xuICAgIHRvcDogKGNsaXBwaW5nQ2xpZW50UmVjdC50b3AgLSBlbGVtZW50Q2xpZW50UmVjdC50b3AgKyBwYWRkaW5nT2JqZWN0LnRvcCkgLyBvZmZzZXRTY2FsZS55LFxuICAgIGJvdHRvbTogKGVsZW1lbnRDbGllbnRSZWN0LmJvdHRvbSAtIGNsaXBwaW5nQ2xpZW50UmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSkgLyBvZmZzZXRTY2FsZS55LFxuICAgIGxlZnQ6IChjbGlwcGluZ0NsaWVudFJlY3QubGVmdCAtIGVsZW1lbnRDbGllbnRSZWN0LmxlZnQgKyBwYWRkaW5nT2JqZWN0LmxlZnQpIC8gb2Zmc2V0U2NhbGUueCxcbiAgICByaWdodDogKGVsZW1lbnRDbGllbnRSZWN0LnJpZ2h0IC0gY2xpcHBpbmdDbGllbnRSZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodCkgLyBvZmZzZXRTY2FsZS54XG4gIH07XG59XG5cbi8vIE1heGltdW0gbnVtYmVyIG9mIHJlc2V0cyB0aGF0IGNhbiBvY2N1ciBiZWZvcmUgYmFpbGluZyB0byBhdm9pZCBpbmZpbml0ZSByZXNldCBsb29wcy5cbmNvbnN0IE1BWF9SRVNFVF9DT1VOVCA9IDUwO1xuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBgeGAgYW5kIGB5YCBjb29yZGluYXRlcyB0aGF0IHdpbGwgcGxhY2UgdGhlIGZsb2F0aW5nIGVsZW1lbnRcbiAqIG5leHQgdG8gYSBnaXZlbiByZWZlcmVuY2UgZWxlbWVudC5cbiAqXG4gKiBUaGlzIGV4cG9ydCBkb2VzIG5vdCBoYXZlIGFueSBgcGxhdGZvcm1gIGludGVyZmFjZSBsb2dpYy4gWW91IHdpbGwgbmVlZCB0b1xuICogd3JpdGUgb25lIGZvciB0aGUgcGxhdGZvcm0geW91IGFyZSB1c2luZyBGbG9hdGluZyBVSSB3aXRoLlxuICovXG5jb25zdCBjb21wdXRlUG9zaXRpb24gPSBhc3luYyAocmVmZXJlbmNlLCBmbG9hdGluZywgY29uZmlnKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcbiAgICBzdHJhdGVneSA9ICdhYnNvbHV0ZScsXG4gICAgbWlkZGxld2FyZSA9IFtdLFxuICAgIHBsYXRmb3JtXG4gIH0gPSBjb25maWc7XG4gIGNvbnN0IHBsYXRmb3JtV2l0aERldGVjdE92ZXJmbG93ID0gcGxhdGZvcm0uZGV0ZWN0T3ZlcmZsb3cgPyBwbGF0Zm9ybSA6IHtcbiAgICAuLi5wbGF0Zm9ybSxcbiAgICBkZXRlY3RPdmVyZmxvd1xuICB9O1xuICBjb25zdCBydGwgPSBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGZsb2F0aW5nKSk7XG4gIGxldCByZWN0cyA9IGF3YWl0IHBsYXRmb3JtLmdldEVsZW1lbnRSZWN0cyh7XG4gICAgcmVmZXJlbmNlLFxuICAgIGZsb2F0aW5nLFxuICAgIHN0cmF0ZWd5XG4gIH0pO1xuICBsZXQge1xuICAgIHgsXG4gICAgeVxuICB9ID0gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQocmVjdHMsIHBsYWNlbWVudCwgcnRsKTtcbiAgbGV0IHN0YXRlZnVsUGxhY2VtZW50ID0gcGxhY2VtZW50O1xuICBsZXQgcmVzZXRDb3VudCA9IDA7XG4gIGNvbnN0IG1pZGRsZXdhcmVEYXRhID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWlkZGxld2FyZS5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGN1cnJlbnRNaWRkbGV3YXJlID0gbWlkZGxld2FyZVtpXTtcbiAgICBpZiAoIWN1cnJlbnRNaWRkbGV3YXJlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qge1xuICAgICAgbmFtZSxcbiAgICAgIGZuXG4gICAgfSA9IGN1cnJlbnRNaWRkbGV3YXJlO1xuICAgIGNvbnN0IHtcbiAgICAgIHg6IG5leHRYLFxuICAgICAgeTogbmV4dFksXG4gICAgICBkYXRhLFxuICAgICAgcmVzZXRcbiAgICB9ID0gYXdhaXQgZm4oe1xuICAgICAgeCxcbiAgICAgIHksXG4gICAgICBpbml0aWFsUGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBwbGFjZW1lbnQ6IHN0YXRlZnVsUGxhY2VtZW50LFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICBtaWRkbGV3YXJlRGF0YSxcbiAgICAgIHJlY3RzLFxuICAgICAgcGxhdGZvcm06IHBsYXRmb3JtV2l0aERldGVjdE92ZXJmbG93LFxuICAgICAgZWxlbWVudHM6IHtcbiAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICBmbG9hdGluZ1xuICAgICAgfVxuICAgIH0pO1xuICAgIHggPSBuZXh0WCAhPSBudWxsID8gbmV4dFggOiB4O1xuICAgIHkgPSBuZXh0WSAhPSBudWxsID8gbmV4dFkgOiB5O1xuICAgIG1pZGRsZXdhcmVEYXRhW25hbWVdID0ge1xuICAgICAgLi4ubWlkZGxld2FyZURhdGFbbmFtZV0sXG4gICAgICAuLi5kYXRhXG4gICAgfTtcbiAgICBpZiAocmVzZXQgJiYgcmVzZXRDb3VudCA8IE1BWF9SRVNFVF9DT1VOVCkge1xuICAgICAgcmVzZXRDb3VudCsrO1xuICAgICAgaWYgKHR5cGVvZiByZXNldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHJlc2V0LnBsYWNlbWVudCkge1xuICAgICAgICAgIHN0YXRlZnVsUGxhY2VtZW50ID0gcmVzZXQucGxhY2VtZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNldC5yZWN0cykge1xuICAgICAgICAgIHJlY3RzID0gcmVzZXQucmVjdHMgPT09IHRydWUgPyBhd2FpdCBwbGF0Zm9ybS5nZXRFbGVtZW50UmVjdHMoe1xuICAgICAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICAgICAgZmxvYXRpbmcsXG4gICAgICAgICAgICBzdHJhdGVneVxuICAgICAgICAgIH0pIDogcmVzZXQucmVjdHM7XG4gICAgICAgIH1cbiAgICAgICAgKHtcbiAgICAgICAgICB4LFxuICAgICAgICAgIHlcbiAgICAgICAgfSA9IGNvbXB1dGVDb29yZHNGcm9tUGxhY2VtZW50KHJlY3RzLCBzdGF0ZWZ1bFBsYWNlbWVudCwgcnRsKSk7XG4gICAgICB9XG4gICAgICBpID0gLTE7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgeCxcbiAgICB5LFxuICAgIHBsYWNlbWVudDogc3RhdGVmdWxQbGFjZW1lbnQsXG4gICAgc3RyYXRlZ3ksXG4gICAgbWlkZGxld2FyZURhdGFcbiAgfTtcbn07XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93ID0gb3B0aW9ucyA9PiAoe1xuICBuYW1lOiAnYXJyb3cnLFxuICBvcHRpb25zLFxuICBhc3luYyBmbihzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIHgsXG4gICAgICB5LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgcmVjdHMsXG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgbWlkZGxld2FyZURhdGFcbiAgICB9ID0gc3RhdGU7XG4gICAgLy8gU2luY2UgYGVsZW1lbnRgIGlzIHJlcXVpcmVkLCB3ZSBkb24ndCBQYXJ0aWFsPD4gdGhlIHR5cGUuXG4gICAgY29uc3Qge1xuICAgICAgZWxlbWVudCxcbiAgICAgIHBhZGRpbmcgPSAwXG4gICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKSB8fCB7fTtcbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHBhZGRpbmdPYmplY3QgPSBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpO1xuICAgIGNvbnN0IGNvb3JkcyA9IHtcbiAgICAgIHgsXG4gICAgICB5XG4gICAgfTtcbiAgICBjb25zdCBheGlzID0gZ2V0QWxpZ25tZW50QXhpcyhwbGFjZW1lbnQpO1xuICAgIGNvbnN0IGxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYXhpcyk7XG4gICAgY29uc3QgYXJyb3dEaW1lbnNpb25zID0gYXdhaXQgcGxhdGZvcm0uZ2V0RGltZW5zaW9ucyhlbGVtZW50KTtcbiAgICBjb25zdCBpc1lBeGlzID0gYXhpcyA9PT0gJ3knO1xuICAgIGNvbnN0IG1pblByb3AgPSBpc1lBeGlzID8gJ3RvcCcgOiAnbGVmdCc7XG4gICAgY29uc3QgbWF4UHJvcCA9IGlzWUF4aXMgPyAnYm90dG9tJyA6ICdyaWdodCc7XG4gICAgY29uc3QgY2xpZW50UHJvcCA9IGlzWUF4aXMgPyAnY2xpZW50SGVpZ2h0JyA6ICdjbGllbnRXaWR0aCc7XG4gICAgY29uc3QgZW5kRGlmZiA9IHJlY3RzLnJlZmVyZW5jZVtsZW5ndGhdICsgcmVjdHMucmVmZXJlbmNlW2F4aXNdIC0gY29vcmRzW2F4aXNdIC0gcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXTtcbiAgICBjb25zdCBzdGFydERpZmYgPSBjb29yZHNbYXhpc10gLSByZWN0cy5yZWZlcmVuY2VbYXhpc107XG4gICAgY29uc3QgYXJyb3dPZmZzZXRQYXJlbnQgPSBhd2FpdCAocGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkpO1xuICAgIGxldCBjbGllbnRTaXplID0gYXJyb3dPZmZzZXRQYXJlbnQgPyBhcnJvd09mZnNldFBhcmVudFtjbGllbnRQcm9wXSA6IDA7XG5cbiAgICAvLyBET00gcGxhdGZvcm0gY2FuIHJldHVybiBgd2luZG93YCBhcyB0aGUgYG9mZnNldFBhcmVudGAuXG4gICAgaWYgKCFjbGllbnRTaXplIHx8ICEoYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KGFycm93T2Zmc2V0UGFyZW50KSkpKSB7XG4gICAgICBjbGllbnRTaXplID0gZWxlbWVudHMuZmxvYXRpbmdbY2xpZW50UHJvcF0gfHwgcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXTtcbiAgICB9XG4gICAgY29uc3QgY2VudGVyVG9SZWZlcmVuY2UgPSBlbmREaWZmIC8gMiAtIHN0YXJ0RGlmZiAvIDI7XG5cbiAgICAvLyBJZiB0aGUgcGFkZGluZyBpcyBsYXJnZSBlbm91Z2ggdGhhdCBpdCBjYXVzZXMgdGhlIGFycm93IHRvIG5vIGxvbmdlciBiZVxuICAgIC8vIGNlbnRlcmVkLCBtb2RpZnkgdGhlIHBhZGRpbmcgc28gdGhhdCBpdCBpcyBjZW50ZXJlZC5cbiAgICBjb25zdCBsYXJnZXN0UG9zc2libGVQYWRkaW5nID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAvIDIgLSAxO1xuICAgIGNvbnN0IG1pblBhZGRpbmcgPSBtaW4ocGFkZGluZ09iamVjdFttaW5Qcm9wXSwgbGFyZ2VzdFBvc3NpYmxlUGFkZGluZyk7XG4gICAgY29uc3QgbWF4UGFkZGluZyA9IG1pbihwYWRkaW5nT2JqZWN0W21heFByb3BdLCBsYXJnZXN0UG9zc2libGVQYWRkaW5nKTtcblxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lc24ndCBvdmVyZmxvdyB0aGUgZmxvYXRpbmcgZWxlbWVudCBpZiB0aGUgY2VudGVyXG4gICAgLy8gcG9pbnQgaXMgb3V0c2lkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCdzIGJvdW5kcy5cbiAgICBjb25zdCBtaW4kMSA9IG1pblBhZGRpbmc7XG4gICAgY29uc3QgbWF4ID0gY2xpZW50U2l6ZSAtIGFycm93RGltZW5zaW9uc1tsZW5ndGhdIC0gbWF4UGFkZGluZztcbiAgICBjb25zdCBjZW50ZXIgPSBjbGllbnRTaXplIC8gMiAtIGFycm93RGltZW5zaW9uc1tsZW5ndGhdIC8gMiArIGNlbnRlclRvUmVmZXJlbmNlO1xuICAgIGNvbnN0IG9mZnNldCA9IGNsYW1wKG1pbiQxLCBjZW50ZXIsIG1heCk7XG5cbiAgICAvLyBJZiB0aGUgcmVmZXJlbmNlIGlzIHNtYWxsIGVub3VnaCB0aGF0IHRoZSBhcnJvdydzIHBhZGRpbmcgY2F1c2VzIGl0IHRvXG4gICAgLy8gdG8gcG9pbnQgdG8gbm90aGluZyBmb3IgYW4gYWxpZ25lZCBwbGFjZW1lbnQsIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHRoZVxuICAgIC8vIGZsb2F0aW5nIGVsZW1lbnQgaXRzZWxmLiBUbyBlbnN1cmUgYHNoaWZ0KClgIGNvbnRpbnVlcyB0byB0YWtlIGFjdGlvbixcbiAgICAvLyBhIHNpbmdsZSByZXNldCBpcyBwZXJmb3JtZWQgd2hlbiB0aGlzIGlzIHRydWUuXG4gICAgY29uc3Qgc2hvdWxkQWRkT2Zmc2V0ID0gIW1pZGRsZXdhcmVEYXRhLmFycm93ICYmIGdldEFsaWdubWVudChwbGFjZW1lbnQpICE9IG51bGwgJiYgY2VudGVyICE9PSBvZmZzZXQgJiYgcmVjdHMucmVmZXJlbmNlW2xlbmd0aF0gLyAyIC0gKGNlbnRlciA8IG1pbiQxID8gbWluUGFkZGluZyA6IG1heFBhZGRpbmcpIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLyAyIDwgMDtcbiAgICBjb25zdCBhbGlnbm1lbnRPZmZzZXQgPSBzaG91bGRBZGRPZmZzZXQgPyBjZW50ZXIgPCBtaW4kMSA/IGNlbnRlciAtIG1pbiQxIDogY2VudGVyIC0gbWF4IDogMDtcbiAgICByZXR1cm4ge1xuICAgICAgW2F4aXNdOiBjb29yZHNbYXhpc10gKyBhbGlnbm1lbnRPZmZzZXQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIFtheGlzXTogb2Zmc2V0LFxuICAgICAgICBjZW50ZXJPZmZzZXQ6IGNlbnRlciAtIG9mZnNldCAtIGFsaWdubWVudE9mZnNldCxcbiAgICAgICAgLi4uKHNob3VsZEFkZE9mZnNldCAmJiB7XG4gICAgICAgICAgYWxpZ25tZW50T2Zmc2V0XG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcmVzZXQ6IHNob3VsZEFkZE9mZnNldFxuICAgIH07XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBnZXRQbGFjZW1lbnRMaXN0KGFsaWdubWVudCwgYXV0b0FsaWdubWVudCwgYWxsb3dlZFBsYWNlbWVudHMpIHtcbiAgY29uc3QgYWxsb3dlZFBsYWNlbWVudHNTb3J0ZWRCeUFsaWdubWVudCA9IGFsaWdubWVudCA/IFsuLi5hbGxvd2VkUGxhY2VtZW50cy5maWx0ZXIocGxhY2VtZW50ID0+IGdldEFsaWdubWVudChwbGFjZW1lbnQpID09PSBhbGlnbm1lbnQpLCAuLi5hbGxvd2VkUGxhY2VtZW50cy5maWx0ZXIocGxhY2VtZW50ID0+IGdldEFsaWdubWVudChwbGFjZW1lbnQpICE9PSBhbGlnbm1lbnQpXSA6IGFsbG93ZWRQbGFjZW1lbnRzLmZpbHRlcihwbGFjZW1lbnQgPT4gZ2V0U2lkZShwbGFjZW1lbnQpID09PSBwbGFjZW1lbnQpO1xuICByZXR1cm4gYWxsb3dlZFBsYWNlbWVudHNTb3J0ZWRCeUFsaWdubWVudC5maWx0ZXIocGxhY2VtZW50ID0+IHtcbiAgICBpZiAoYWxpZ25tZW50KSB7XG4gICAgICByZXR1cm4gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkgPT09IGFsaWdubWVudCB8fCAoYXV0b0FsaWdubWVudCA/IGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KHBsYWNlbWVudCkgIT09IHBsYWNlbWVudCA6IGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xufVxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgY2hvb3NpbmcgdGhlIHBsYWNlbWVudFxuICogdGhhdCBoYXMgdGhlIG1vc3Qgc3BhY2UgYXZhaWxhYmxlIGF1dG9tYXRpY2FsbHksIHdpdGhvdXQgbmVlZGluZyB0byBzcGVjaWZ5IGFcbiAqIHByZWZlcnJlZCBwbGFjZW1lbnQuIEFsdGVybmF0aXZlIHRvIGBmbGlwYC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hdXRvUGxhY2VtZW50XG4gKi9cbmNvbnN0IGF1dG9QbGFjZW1lbnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2F1dG9QbGFjZW1lbnQnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkYXV0b1AsIF9taWRkbGV3YXJlRGF0YSRhdXRvUDIsIF9wbGFjZW1lbnRzVGhhdEZpdE9uRTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhLFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBjcm9zc0F4aXMgPSBmYWxzZSxcbiAgICAgICAgYWxpZ25tZW50LFxuICAgICAgICBhbGxvd2VkUGxhY2VtZW50cyA9IHBsYWNlbWVudHMsXG4gICAgICAgIGF1dG9BbGlnbm1lbnQgPSB0cnVlLFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBwbGFjZW1lbnRzJDEgPSBhbGlnbm1lbnQgIT09IHVuZGVmaW5lZCB8fCBhbGxvd2VkUGxhY2VtZW50cyA9PT0gcGxhY2VtZW50cyA/IGdldFBsYWNlbWVudExpc3QoYWxpZ25tZW50IHx8IG51bGwsIGF1dG9BbGlnbm1lbnQsIGFsbG93ZWRQbGFjZW1lbnRzKSA6IGFsbG93ZWRQbGFjZW1lbnRzO1xuICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBwbGF0Zm9ybS5kZXRlY3RPdmVyZmxvdyhzdGF0ZSwgZGV0ZWN0T3ZlcmZsb3dPcHRpb25zKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9ICgoX21pZGRsZXdhcmVEYXRhJGF1dG9QID0gbWlkZGxld2FyZURhdGEuYXV0b1BsYWNlbWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRhdXRvUC5pbmRleCkgfHwgMDtcbiAgICAgIGNvbnN0IGN1cnJlbnRQbGFjZW1lbnQgPSBwbGFjZW1lbnRzJDFbY3VycmVudEluZGV4XTtcbiAgICAgIGlmIChjdXJyZW50UGxhY2VtZW50ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgY29uc3QgYWxpZ25tZW50U2lkZXMgPSBnZXRBbGlnbm1lbnRTaWRlcyhjdXJyZW50UGxhY2VtZW50LCByZWN0cywgYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpKTtcblxuICAgICAgLy8gTWFrZSBgY29tcHV0ZUNvb3Jkc2Agc3RhcnQgZnJvbSB0aGUgcmlnaHQgcGxhY2UuXG4gICAgICBpZiAocGxhY2VtZW50ICE9PSBjdXJyZW50UGxhY2VtZW50KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50cyQxWzBdXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3QgY3VycmVudE92ZXJmbG93cyA9IFtvdmVyZmxvd1tnZXRTaWRlKGN1cnJlbnRQbGFjZW1lbnQpXSwgb3ZlcmZsb3dbYWxpZ25tZW50U2lkZXNbMF1dLCBvdmVyZmxvd1thbGlnbm1lbnRTaWRlc1sxXV1dO1xuICAgICAgY29uc3QgYWxsT3ZlcmZsb3dzID0gWy4uLigoKF9taWRkbGV3YXJlRGF0YSRhdXRvUDIgPSBtaWRkbGV3YXJlRGF0YS5hdXRvUGxhY2VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGF1dG9QMi5vdmVyZmxvd3MpIHx8IFtdKSwge1xuICAgICAgICBwbGFjZW1lbnQ6IGN1cnJlbnRQbGFjZW1lbnQsXG4gICAgICAgIG92ZXJmbG93czogY3VycmVudE92ZXJmbG93c1xuICAgICAgfV07XG4gICAgICBjb25zdCBuZXh0UGxhY2VtZW50ID0gcGxhY2VtZW50cyQxW2N1cnJlbnRJbmRleCArIDFdO1xuXG4gICAgICAvLyBUaGVyZSBhcmUgbW9yZSBwbGFjZW1lbnRzIHRvIGNoZWNrLlxuICAgICAgaWYgKG5leHRQbGFjZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBpbmRleDogY3VycmVudEluZGV4ICsgMSxcbiAgICAgICAgICAgIG92ZXJmbG93czogYWxsT3ZlcmZsb3dzXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcGxhY2VtZW50OiBuZXh0UGxhY2VtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3QgcGxhY2VtZW50c1NvcnRlZEJ5TW9zdFNwYWNlID0gYWxsT3ZlcmZsb3dzLm1hcChkID0+IHtcbiAgICAgICAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KGQucGxhY2VtZW50KTtcbiAgICAgICAgcmV0dXJuIFtkLnBsYWNlbWVudCwgYWxpZ25tZW50ICYmIGNyb3NzQXhpcyA/XG4gICAgICAgIC8vIENoZWNrIGFsb25nIHRoZSBtYWluQXhpcyBhbmQgbWFpbiBjcm9zc0F4aXMgc2lkZS5cbiAgICAgICAgZC5vdmVyZmxvd3Muc2xpY2UoMCwgMikucmVkdWNlKChhY2MsIHYpID0+IGFjYyArIHYsIDApIDpcbiAgICAgICAgLy8gQ2hlY2sgb25seSB0aGUgbWFpbkF4aXMuXG4gICAgICAgIGQub3ZlcmZsb3dzWzBdLCBkLm92ZXJmbG93c107XG4gICAgICB9KS5zb3J0KChhLCBiKSA9PiBhWzFdIC0gYlsxXSk7XG4gICAgICBjb25zdCBwbGFjZW1lbnRzVGhhdEZpdE9uRWFjaFNpZGUgPSBwbGFjZW1lbnRzU29ydGVkQnlNb3N0U3BhY2UuZmlsdGVyKGQgPT4gZFsyXS5zbGljZSgwLFxuICAgICAgLy8gQWxpZ25lZCBwbGFjZW1lbnRzIHNob3VsZCBub3QgY2hlY2sgdGhlaXIgb3Bwb3NpdGUgY3Jvc3NBeGlzXG4gICAgICAvLyBzaWRlLlxuICAgICAgZ2V0QWxpZ25tZW50KGRbMF0pID8gMiA6IDMpLmV2ZXJ5KHYgPT4gdiA8PSAwKSk7XG4gICAgICBjb25zdCByZXNldFBsYWNlbWVudCA9ICgoX3BsYWNlbWVudHNUaGF0Rml0T25FID0gcGxhY2VtZW50c1RoYXRGaXRPbkVhY2hTaWRlWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX3BsYWNlbWVudHNUaGF0Rml0T25FWzBdKSB8fCBwbGFjZW1lbnRzU29ydGVkQnlNb3N0U3BhY2VbMF1bMF07XG4gICAgICBpZiAocmVzZXRQbGFjZW1lbnQgIT09IHBsYWNlbWVudCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXggKyAxLFxuICAgICAgICAgICAgb3ZlcmZsb3dzOiBhbGxPdmVyZmxvd3NcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICBwbGFjZW1lbnQ6IHJlc2V0UGxhY2VtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGZsaXBwaW5nIHRoZSBgcGxhY2VtZW50YFxuICogaW4gb3JkZXIgdG8ga2VlcCBpdCBpbiB2aWV3IHdoZW4gdGhlIHByZWZlcnJlZCBwbGFjZW1lbnQocykgd2lsbCBvdmVyZmxvdyB0aGVcbiAqIGNsaXBwaW5nIGJvdW5kYXJ5LiBBbHRlcm5hdGl2ZSB0byBgYXV0b1BsYWNlbWVudGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZmxpcFxuICovXG5jb25zdCBmbGlwID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdmbGlwJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICB2YXIgX21pZGRsZXdhcmVEYXRhJGFycm93LCBfbWlkZGxld2FyZURhdGEkZmxpcDtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBtaWRkbGV3YXJlRGF0YSxcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIGluaXRpYWxQbGFjZW1lbnQsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSB0cnVlLFxuICAgICAgICBmYWxsYmFja1BsYWNlbWVudHM6IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyxcbiAgICAgICAgZmFsbGJhY2tTdHJhdGVneSA9ICdiZXN0Rml0JyxcbiAgICAgICAgZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiA9ICdub25lJyxcbiAgICAgICAgZmxpcEFsaWdubWVudCA9IHRydWUsXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcblxuICAgICAgLy8gSWYgYSByZXNldCBieSB0aGUgYXJyb3cgd2FzIGNhdXNlZCBkdWUgdG8gYW4gYWxpZ25tZW50IG9mZnNldCBiZWluZ1xuICAgICAgLy8gYWRkZWQsIHdlIHNob3VsZCBza2lwIGFueSBsb2dpYyBub3cgc2luY2UgYGZsaXAoKWAgaGFzIGFscmVhZHkgZG9uZSBpdHNcbiAgICAgIC8vIHdvcmsuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzI1NDkjaXNzdWVjb21tZW50LTE3MTk2MDE2NDNcbiAgICAgIGlmICgoX21pZGRsZXdhcmVEYXRhJGFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3cpICE9IG51bGwgJiYgX21pZGRsZXdhcmVEYXRhJGFycm93LmFsaWdubWVudE9mZnNldCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xuICAgICAgY29uc3QgaW5pdGlhbFNpZGVBeGlzID0gZ2V0U2lkZUF4aXMoaW5pdGlhbFBsYWNlbWVudCk7XG4gICAgICBjb25zdCBpc0Jhc2VQbGFjZW1lbnQgPSBnZXRTaWRlKGluaXRpYWxQbGFjZW1lbnQpID09PSBpbml0aWFsUGxhY2VtZW50O1xuICAgICAgY29uc3QgcnRsID0gYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpO1xuICAgICAgY29uc3QgZmFsbGJhY2tQbGFjZW1lbnRzID0gc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzIHx8IChpc0Jhc2VQbGFjZW1lbnQgfHwgIWZsaXBBbGlnbm1lbnQgPyBbZ2V0T3Bwb3NpdGVQbGFjZW1lbnQoaW5pdGlhbFBsYWNlbWVudCldIDogZ2V0RXhwYW5kZWRQbGFjZW1lbnRzKGluaXRpYWxQbGFjZW1lbnQpKTtcbiAgICAgIGNvbnN0IGhhc0ZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24gPSBmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uICE9PSAnbm9uZSc7XG4gICAgICBpZiAoIXNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyAmJiBoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uKSB7XG4gICAgICAgIGZhbGxiYWNrUGxhY2VtZW50cy5wdXNoKC4uLmdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMoaW5pdGlhbFBsYWNlbWVudCwgZmxpcEFsaWdubWVudCwgZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiwgcnRsKSk7XG4gICAgICB9XG4gICAgICBjb25zdCBwbGFjZW1lbnRzID0gW2luaXRpYWxQbGFjZW1lbnQsIC4uLmZhbGxiYWNrUGxhY2VtZW50c107XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IHBsYXRmb3JtLmRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3Qgb3ZlcmZsb3dzID0gW107XG4gICAgICBsZXQgb3ZlcmZsb3dzRGF0YSA9ICgoX21pZGRsZXdhcmVEYXRhJGZsaXAgPSBtaWRkbGV3YXJlRGF0YS5mbGlwKSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGZsaXAub3ZlcmZsb3dzKSB8fCBbXTtcbiAgICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICAgIG92ZXJmbG93cy5wdXNoKG92ZXJmbG93W3NpZGVdKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGVja0Nyb3NzQXhpcykge1xuICAgICAgICBjb25zdCBzaWRlcyA9IGdldEFsaWdubWVudFNpZGVzKHBsYWNlbWVudCwgcmVjdHMsIHJ0bCk7XG4gICAgICAgIG92ZXJmbG93cy5wdXNoKG92ZXJmbG93W3NpZGVzWzBdXSwgb3ZlcmZsb3dbc2lkZXNbMV1dKTtcbiAgICAgIH1cbiAgICAgIG92ZXJmbG93c0RhdGEgPSBbLi4ub3ZlcmZsb3dzRGF0YSwge1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIG92ZXJmbG93c1xuICAgICAgfV07XG5cbiAgICAgIC8vIE9uZSBvciBtb3JlIHNpZGVzIGlzIG92ZXJmbG93aW5nLlxuICAgICAgaWYgKCFvdmVyZmxvd3MuZXZlcnkoc2lkZSA9PiBzaWRlIDw9IDApKSB7XG4gICAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkZmxpcDIsIF9vdmVyZmxvd3NEYXRhJGZpbHRlcjtcbiAgICAgICAgY29uc3QgbmV4dEluZGV4ID0gKCgoX21pZGRsZXdhcmVEYXRhJGZsaXAyID0gbWlkZGxld2FyZURhdGEuZmxpcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRmbGlwMi5pbmRleCkgfHwgMCkgKyAxO1xuICAgICAgICBjb25zdCBuZXh0UGxhY2VtZW50ID0gcGxhY2VtZW50c1tuZXh0SW5kZXhdO1xuICAgICAgICBpZiAobmV4dFBsYWNlbWVudCkge1xuICAgICAgICAgIGNvbnN0IGlnbm9yZUNyb3NzQXhpc092ZXJmbG93ID0gY2hlY2tDcm9zc0F4aXMgPT09ICdhbGlnbm1lbnQnID8gaW5pdGlhbFNpZGVBeGlzICE9PSBnZXRTaWRlQXhpcyhuZXh0UGxhY2VtZW50KSA6IGZhbHNlO1xuICAgICAgICAgIGlmICghaWdub3JlQ3Jvc3NBeGlzT3ZlcmZsb3cgfHxcbiAgICAgICAgICAvLyBXZSBsZWF2ZSB0aGUgY3VycmVudCBtYWluIGF4aXMgb25seSBpZiBldmVyeSBwbGFjZW1lbnQgb24gdGhhdCBheGlzXG4gICAgICAgICAgLy8gb3ZlcmZsb3dzIHRoZSBtYWluIGF4aXMuXG4gICAgICAgICAgb3ZlcmZsb3dzRGF0YS5ldmVyeShkID0+IGdldFNpZGVBeGlzKGQucGxhY2VtZW50KSA9PT0gaW5pdGlhbFNpZGVBeGlzID8gZC5vdmVyZmxvd3NbMF0gPiAwIDogdHJ1ZSkpIHtcbiAgICAgICAgICAgIC8vIFRyeSBuZXh0IHBsYWNlbWVudCBhbmQgcmUtcnVuIHRoZSBsaWZlY3ljbGUuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IG5leHRJbmRleCxcbiAgICAgICAgICAgICAgICBvdmVyZmxvd3M6IG92ZXJmbG93c0RhdGFcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IG5leHRQbGFjZW1lbnRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXJzdCwgZmluZCB0aGUgY2FuZGlkYXRlcyB0aGF0IGZpdCBvbiB0aGUgbWFpbkF4aXMgc2lkZSBvZiBvdmVyZmxvdyxcbiAgICAgICAgLy8gdGhlbiBmaW5kIHRoZSBwbGFjZW1lbnQgdGhhdCBmaXRzIHRoZSBiZXN0IG9uIHRoZSBtYWluIGNyb3NzQXhpcyBzaWRlLlxuICAgICAgICBsZXQgcmVzZXRQbGFjZW1lbnQgPSAoX292ZXJmbG93c0RhdGEkZmlsdGVyID0gb3ZlcmZsb3dzRGF0YS5maWx0ZXIoZCA9PiBkLm92ZXJmbG93c1swXSA8PSAwKS5zb3J0KChhLCBiKSA9PiBhLm92ZXJmbG93c1sxXSAtIGIub3ZlcmZsb3dzWzFdKVswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9vdmVyZmxvd3NEYXRhJGZpbHRlci5wbGFjZW1lbnQ7XG5cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGZhbGxiYWNrLlxuICAgICAgICBpZiAoIXJlc2V0UGxhY2VtZW50KSB7XG4gICAgICAgICAgc3dpdGNoIChmYWxsYmFja1N0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjYXNlICdiZXN0Rml0JzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhciBfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYWNlbWVudCA9IChfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyID0gb3ZlcmZsb3dzRGF0YS5maWx0ZXIoZCA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoaGFzRmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50U2lkZUF4aXMgPSBnZXRTaWRlQXhpcyhkLnBsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50U2lkZUF4aXMgPT09IGluaXRpYWxTaWRlQXhpcyB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBiaWFzIHRvIHRoZSBgeWAgc2lkZSBheGlzIGR1ZSB0byBob3Jpem9udGFsXG4gICAgICAgICAgICAgICAgICAgIC8vIHJlYWRpbmcgZGlyZWN0aW9ucyBmYXZvcmluZyBncmVhdGVyIHdpZHRoLlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2lkZUF4aXMgPT09ICd5JztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0pLm1hcChkID0+IFtkLnBsYWNlbWVudCwgZC5vdmVyZmxvd3MuZmlsdGVyKG92ZXJmbG93ID0+IG92ZXJmbG93ID4gMCkucmVkdWNlKChhY2MsIG92ZXJmbG93KSA9PiBhY2MgKyBvdmVyZmxvdywgMCldKS5zb3J0KChhLCBiKSA9PiBhWzFdIC0gYlsxXSlbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyWzBdO1xuICAgICAgICAgICAgICAgIGlmIChwbGFjZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgIHJlc2V0UGxhY2VtZW50ID0gcGxhY2VtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnaW5pdGlhbFBsYWNlbWVudCc6XG4gICAgICAgICAgICAgIHJlc2V0UGxhY2VtZW50ID0gaW5pdGlhbFBsYWNlbWVudDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwbGFjZW1lbnQgIT09IHJlc2V0UGxhY2VtZW50KSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICAgIHBsYWNlbWVudDogcmVzZXRQbGFjZW1lbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3QpIHtcbiAgcmV0dXJuIHtcbiAgICB0b3A6IG92ZXJmbG93LnRvcCAtIHJlY3QuaGVpZ2h0LFxuICAgIHJpZ2h0OiBvdmVyZmxvdy5yaWdodCAtIHJlY3Qud2lkdGgsXG4gICAgYm90dG9tOiBvdmVyZmxvdy5ib3R0b20gLSByZWN0LmhlaWdodCxcbiAgICBsZWZ0OiBvdmVyZmxvdy5sZWZ0IC0gcmVjdC53aWR0aFxuICB9O1xufVxuZnVuY3Rpb24gaXNBbnlTaWRlRnVsbHlDbGlwcGVkKG92ZXJmbG93KSB7XG4gIHJldHVybiBzaWRlcy5zb21lKHNpZGUgPT4gb3ZlcmZsb3dbc2lkZV0gPj0gMCk7XG59XG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gaGlkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbiBhcHBsaWNhYmxlIHNpdHVhdGlvbnMsIHN1Y2ggYXNcbiAqIHdoZW4gaXQgaXMgbm90IGluIHRoZSBzYW1lIGNsaXBwaW5nIGNvbnRleHQgYXMgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2hpZGVcbiAqL1xuY29uc3QgaGlkZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnaGlkZScsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICByZWN0cyxcbiAgICAgICAgcGxhdGZvcm1cbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3RyYXRlZ3kgPSAncmVmZXJlbmNlSGlkZGVuJyxcbiAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICAgICAgc3dpdGNoIChzdHJhdGVneSkge1xuICAgICAgICBjYXNlICdyZWZlcmVuY2VIaWRkZW4nOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgcGxhdGZvcm0uZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICAgICAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zLFxuICAgICAgICAgICAgICBlbGVtZW50Q29udGV4dDogJ3JlZmVyZW5jZSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0cy5yZWZlcmVuY2UpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZUhpZGRlbk9mZnNldHM6IG9mZnNldHMsXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlSGlkZGVuOiBpc0FueVNpZGVGdWxseUNsaXBwZWQob2Zmc2V0cylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2VzY2FwZWQnOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgcGxhdGZvcm0uZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICAgICAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zLFxuICAgICAgICAgICAgICBhbHRCb3VuZGFyeTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBvZmZzZXRzID0gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3RzLmZsb2F0aW5nKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBlc2NhcGVkT2Zmc2V0czogb2Zmc2V0cyxcbiAgICAgICAgICAgICAgICBlc2NhcGVkOiBpc0FueVNpZGVGdWxseUNsaXBwZWQob2Zmc2V0cylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBnZXRCb3VuZGluZ1JlY3QocmVjdHMpIHtcbiAgY29uc3QgbWluWCA9IG1pbiguLi5yZWN0cy5tYXAocmVjdCA9PiByZWN0LmxlZnQpKTtcbiAgY29uc3QgbWluWSA9IG1pbiguLi5yZWN0cy5tYXAocmVjdCA9PiByZWN0LnRvcCkpO1xuICBjb25zdCBtYXhYID0gbWF4KC4uLnJlY3RzLm1hcChyZWN0ID0+IHJlY3QucmlnaHQpKTtcbiAgY29uc3QgbWF4WSA9IG1heCguLi5yZWN0cy5tYXAocmVjdCA9PiByZWN0LmJvdHRvbSkpO1xuICByZXR1cm4ge1xuICAgIHg6IG1pblgsXG4gICAgeTogbWluWSxcbiAgICB3aWR0aDogbWF4WCAtIG1pblgsXG4gICAgaGVpZ2h0OiBtYXhZIC0gbWluWVxuICB9O1xufVxuZnVuY3Rpb24gZ2V0UmVjdHNCeUxpbmUocmVjdHMpIHtcbiAgY29uc3Qgc29ydGVkUmVjdHMgPSByZWN0cy5zbGljZSgpLnNvcnQoKGEsIGIpID0+IGEueSAtIGIueSk7XG4gIGNvbnN0IGdyb3VwcyA9IFtdO1xuICBsZXQgcHJldlJlY3QgPSBudWxsO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNvcnRlZFJlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcmVjdCA9IHNvcnRlZFJlY3RzW2ldO1xuICAgIGlmICghcHJldlJlY3QgfHwgcmVjdC55IC0gcHJldlJlY3QueSA+IHByZXZSZWN0LmhlaWdodCAvIDIpIHtcbiAgICAgIGdyb3Vwcy5wdXNoKFtyZWN0XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdyb3Vwc1tncm91cHMubGVuZ3RoIC0gMV0ucHVzaChyZWN0KTtcbiAgICB9XG4gICAgcHJldlJlY3QgPSByZWN0O1xuICB9XG4gIHJldHVybiBncm91cHMubWFwKHJlY3QgPT4gcmVjdFRvQ2xpZW50UmVjdChnZXRCb3VuZGluZ1JlY3QocmVjdCkpKTtcbn1cbi8qKlxuICogUHJvdmlkZXMgaW1wcm92ZWQgcG9zaXRpb25pbmcgZm9yIGlubGluZSByZWZlcmVuY2UgZWxlbWVudHMgdGhhdCBjYW4gc3BhblxuICogb3ZlciBtdWx0aXBsZSBsaW5lcywgc3VjaCBhcyBoeXBlcmxpbmtzIG9yIHJhbmdlIHNlbGVjdGlvbnMuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaW5saW5lXG4gKi9cbmNvbnN0IGlubGluZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnaW5saW5lJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgZWxlbWVudHMsXG4gICAgICAgIHJlY3RzLFxuICAgICAgICBwbGF0Zm9ybSxcbiAgICAgICAgc3RyYXRlZ3lcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIC8vIEEgTW91c2VFdmVudCdzIGNsaWVudHtYLFl9IGNvb3JkcyBjYW4gYmUgdXAgdG8gMiBwaXhlbHMgb2ZmIGFcbiAgICAgIC8vIENsaWVudFJlY3QncyBib3VuZHMsIGRlc3BpdGUgdGhlIGV2ZW50IGxpc3RlbmVyIGJlaW5nIHRyaWdnZXJlZC4gQVxuICAgICAgLy8gcGFkZGluZyBvZiAyIHNlZW1zIHRvIGhhbmRsZSB0aGlzIGlzc3VlLlxuICAgICAgY29uc3Qge1xuICAgICAgICBwYWRkaW5nID0gMixcbiAgICAgICAgeCxcbiAgICAgICAgeVxuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIGNvbnN0IG5hdGl2ZUNsaWVudFJlY3RzID0gQXJyYXkuZnJvbSgoYXdhaXQgKHBsYXRmb3JtLmdldENsaWVudFJlY3RzID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXRDbGllbnRSZWN0cyhlbGVtZW50cy5yZWZlcmVuY2UpKSkgfHwgW10pO1xuICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSBnZXRSZWN0c0J5TGluZShuYXRpdmVDbGllbnRSZWN0cyk7XG4gICAgICBjb25zdCBmYWxsYmFjayA9IHJlY3RUb0NsaWVudFJlY3QoZ2V0Qm91bmRpbmdSZWN0KG5hdGl2ZUNsaWVudFJlY3RzKSk7XG4gICAgICBjb25zdCBwYWRkaW5nT2JqZWN0ID0gZ2V0UGFkZGluZ09iamVjdChwYWRkaW5nKTtcbiAgICAgIGZ1bmN0aW9uIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcbiAgICAgICAgLy8gVGhlcmUgYXJlIHR3byByZWN0cyBhbmQgdGhleSBhcmUgZGlzam9pbmVkLlxuICAgICAgICBpZiAoY2xpZW50UmVjdHMubGVuZ3RoID09PSAyICYmIGNsaWVudFJlY3RzWzBdLmxlZnQgPiBjbGllbnRSZWN0c1sxXS5yaWdodCAmJiB4ICE9IG51bGwgJiYgeSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gRmluZCB0aGUgZmlyc3QgcmVjdCBpbiB3aGljaCB0aGUgcG9pbnQgaXMgZnVsbHkgaW5zaWRlLlxuICAgICAgICAgIHJldHVybiBjbGllbnRSZWN0cy5maW5kKHJlY3QgPT4geCA+IHJlY3QubGVmdCAtIHBhZGRpbmdPYmplY3QubGVmdCAmJiB4IDwgcmVjdC5yaWdodCArIHBhZGRpbmdPYmplY3QucmlnaHQgJiYgeSA+IHJlY3QudG9wIC0gcGFkZGluZ09iamVjdC50b3AgJiYgeSA8IHJlY3QuYm90dG9tICsgcGFkZGluZ09iamVjdC5ib3R0b20pIHx8IGZhbGxiYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlcmUgYXJlIDIgb3IgbW9yZSBjb25uZWN0ZWQgcmVjdHMuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cy5sZW5ndGggPj0gMikge1xuICAgICAgICAgIGlmIChnZXRTaWRlQXhpcyhwbGFjZW1lbnQpID09PSAneScpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0UmVjdCA9IGNsaWVudFJlY3RzWzBdO1xuICAgICAgICAgICAgY29uc3QgbGFzdFJlY3QgPSBjbGllbnRSZWN0c1tjbGllbnRSZWN0cy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGNvbnN0IGlzVG9wID0gZ2V0U2lkZShwbGFjZW1lbnQpID09PSAndG9wJztcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGZpcnN0UmVjdC50b3A7XG4gICAgICAgICAgICBjb25zdCBib3R0b20gPSBsYXN0UmVjdC5ib3R0b207XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gaXNUb3AgPyBmaXJzdFJlY3QubGVmdCA6IGxhc3RSZWN0LmxlZnQ7XG4gICAgICAgICAgICBjb25zdCByaWdodCA9IGlzVG9wID8gZmlyc3RSZWN0LnJpZ2h0IDogbGFzdFJlY3QucmlnaHQ7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHJpZ2h0IC0gbGVmdDtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHRvcCxcbiAgICAgICAgICAgICAgYm90dG9tLFxuICAgICAgICAgICAgICBsZWZ0LFxuICAgICAgICAgICAgICByaWdodCxcbiAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgICAgeDogbGVmdCxcbiAgICAgICAgICAgICAgeTogdG9wXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBpc0xlZnRTaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpID09PSAnbGVmdCc7XG4gICAgICAgICAgY29uc3QgbWF4UmlnaHQgPSBtYXgoLi4uY2xpZW50UmVjdHMubWFwKHJlY3QgPT4gcmVjdC5yaWdodCkpO1xuICAgICAgICAgIGNvbnN0IG1pbkxlZnQgPSBtaW4oLi4uY2xpZW50UmVjdHMubWFwKHJlY3QgPT4gcmVjdC5sZWZ0KSk7XG4gICAgICAgICAgY29uc3QgbWVhc3VyZVJlY3RzID0gY2xpZW50UmVjdHMuZmlsdGVyKHJlY3QgPT4gaXNMZWZ0U2lkZSA/IHJlY3QubGVmdCA9PT0gbWluTGVmdCA6IHJlY3QucmlnaHQgPT09IG1heFJpZ2h0KTtcbiAgICAgICAgICBjb25zdCB0b3AgPSBtZWFzdXJlUmVjdHNbMF0udG9wO1xuICAgICAgICAgIGNvbnN0IGJvdHRvbSA9IG1lYXN1cmVSZWN0c1ttZWFzdXJlUmVjdHMubGVuZ3RoIC0gMV0uYm90dG9tO1xuICAgICAgICAgIGNvbnN0IGxlZnQgPSBtaW5MZWZ0O1xuICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gbWF4UmlnaHQ7XG4gICAgICAgICAgY29uc3Qgd2lkdGggPSByaWdodCAtIGxlZnQ7XG4gICAgICAgICAgY29uc3QgaGVpZ2h0ID0gYm90dG9tIC0gdG9wO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3AsXG4gICAgICAgICAgICBib3R0b20sXG4gICAgICAgICAgICBsZWZ0LFxuICAgICAgICAgICAgcmlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHg6IGxlZnQsXG4gICAgICAgICAgICB5OiB0b3BcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxsYmFjaztcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc2V0UmVjdHMgPSBhd2FpdCBwbGF0Zm9ybS5nZXRFbGVtZW50UmVjdHMoe1xuICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICBnZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAgICAgICAgfSxcbiAgICAgICAgZmxvYXRpbmc6IGVsZW1lbnRzLmZsb2F0aW5nLFxuICAgICAgICBzdHJhdGVneVxuICAgICAgfSk7XG4gICAgICBpZiAocmVjdHMucmVmZXJlbmNlLnggIT09IHJlc2V0UmVjdHMucmVmZXJlbmNlLnggfHwgcmVjdHMucmVmZXJlbmNlLnkgIT09IHJlc2V0UmVjdHMucmVmZXJlbmNlLnkgfHwgcmVjdHMucmVmZXJlbmNlLndpZHRoICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS53aWR0aCB8fCByZWN0cy5yZWZlcmVuY2UuaGVpZ2h0ICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS5oZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcmVjdHM6IHJlc2V0UmVjdHNcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9O1xufTtcblxuY29uc3Qgb3JpZ2luU2lkZXMgPSAvKiNfX1BVUkVfXyovbmV3IFNldChbJ2xlZnQnLCAndG9wJ10pO1xuXG4vLyBGb3IgdHlwZSBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSwgdGhlIGBPZmZzZXRPcHRpb25zYCB0eXBlIHdhcyBhbHNvXG4vLyBEZXJpdmFibGUuXG5cbmFzeW5jIGZ1bmN0aW9uIGNvbnZlcnRWYWx1ZVRvQ29vcmRzKHN0YXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHtcbiAgICBwbGFjZW1lbnQsXG4gICAgcGxhdGZvcm0sXG4gICAgZWxlbWVudHNcbiAgfSA9IHN0YXRlO1xuICBjb25zdCBydGwgPSBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGVsZW1lbnRzLmZsb2F0aW5nKSk7XG4gIGNvbnN0IHNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBjb25zdCBpc1ZlcnRpY2FsID0gZ2V0U2lkZUF4aXMocGxhY2VtZW50KSA9PT0gJ3knO1xuICBjb25zdCBtYWluQXhpc011bHRpID0gb3JpZ2luU2lkZXMuaGFzKHNpZGUpID8gLTEgOiAxO1xuICBjb25zdCBjcm9zc0F4aXNNdWx0aSA9IHJ0bCAmJiBpc1ZlcnRpY2FsID8gLTEgOiAxO1xuICBjb25zdCByYXdWYWx1ZSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gIGxldCB7XG4gICAgbWFpbkF4aXMsXG4gICAgY3Jvc3NBeGlzLFxuICAgIGFsaWdubWVudEF4aXNcbiAgfSA9IHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcicgPyB7XG4gICAgbWFpbkF4aXM6IHJhd1ZhbHVlLFxuICAgIGNyb3NzQXhpczogMCxcbiAgICBhbGlnbm1lbnRBeGlzOiBudWxsXG4gIH0gOiB7XG4gICAgbWFpbkF4aXM6IHJhd1ZhbHVlLm1haW5BeGlzIHx8IDAsXG4gICAgY3Jvc3NBeGlzOiByYXdWYWx1ZS5jcm9zc0F4aXMgfHwgMCxcbiAgICBhbGlnbm1lbnRBeGlzOiByYXdWYWx1ZS5hbGlnbm1lbnRBeGlzXG4gIH07XG4gIGlmIChhbGlnbm1lbnQgJiYgdHlwZW9mIGFsaWdubWVudEF4aXMgPT09ICdudW1iZXInKSB7XG4gICAgY3Jvc3NBeGlzID0gYWxpZ25tZW50ID09PSAnZW5kJyA/IGFsaWdubWVudEF4aXMgKiAtMSA6IGFsaWdubWVudEF4aXM7XG4gIH1cbiAgcmV0dXJuIGlzVmVydGljYWwgPyB7XG4gICAgeDogY3Jvc3NBeGlzICogY3Jvc3NBeGlzTXVsdGksXG4gICAgeTogbWFpbkF4aXMgKiBtYWluQXhpc011bHRpXG4gIH0gOiB7XG4gICAgeDogbWFpbkF4aXMgKiBtYWluQXhpc011bHRpLFxuICAgIHk6IGNyb3NzQXhpcyAqIGNyb3NzQXhpc011bHRpXG4gIH07XG59XG5cbi8qKlxuICogTW9kaWZpZXMgdGhlIHBsYWNlbWVudCBieSB0cmFuc2xhdGluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbG9uZyB0aGVcbiAqIHNwZWNpZmllZCBheGVzLlxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxuICogb2JqZWN0IG1heSBiZSBwYXNzZWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gKi9cbmNvbnN0IG9mZnNldCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0gMDtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdvZmZzZXQnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkb2Zmc2UsIF9taWRkbGV3YXJlRGF0YSRhcnJvdztcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBtaWRkbGV3YXJlRGF0YVxuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3QgZGlmZkNvb3JkcyA9IGF3YWl0IGNvbnZlcnRWYWx1ZVRvQ29vcmRzKHN0YXRlLCBvcHRpb25zKTtcblxuICAgICAgLy8gSWYgdGhlIHBsYWNlbWVudCBpcyB0aGUgc2FtZSBhbmQgdGhlIGFycm93IGNhdXNlZCBhbiBhbGlnbm1lbnQgb2Zmc2V0XG4gICAgICAvLyB0aGVuIHdlIGRvbid0IG5lZWQgdG8gY2hhbmdlIHRoZSBwb3NpdGlvbmluZyBjb29yZGluYXRlcy5cbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICgoX21pZGRsZXdhcmVEYXRhJG9mZnNlID0gbWlkZGxld2FyZURhdGEub2Zmc2V0KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJG9mZnNlLnBsYWNlbWVudCkgJiYgKF9taWRkbGV3YXJlRGF0YSRhcnJvdyA9IG1pZGRsZXdhcmVEYXRhLmFycm93KSAhPSBudWxsICYmIF9taWRkbGV3YXJlRGF0YSRhcnJvdy5hbGlnbm1lbnRPZmZzZXQpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogeCArIGRpZmZDb29yZHMueCxcbiAgICAgICAgeTogeSArIGRpZmZDb29yZHMueSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIC4uLmRpZmZDb29yZHMsXG4gICAgICAgICAgcGxhY2VtZW50XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cbiAqIGtlZXAgaXQgaW4gdmlldyB3aGVuIGl0IHdpbGwgb3ZlcmZsb3cgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NoaWZ0XG4gKi9cbmNvbnN0IHNoaWZ0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdzaGlmdCcsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHBsYXRmb3JtXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIG1haW5BeGlzOiBjaGVja01haW5BeGlzID0gdHJ1ZSxcbiAgICAgICAgY3Jvc3NBeGlzOiBjaGVja0Nyb3NzQXhpcyA9IGZhbHNlLFxuICAgICAgICBsaW1pdGVyID0ge1xuICAgICAgICAgIGZuOiBfcmVmID0+IHtcbiAgICAgICAgICAgIGxldCB7XG4gICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgIHlcbiAgICAgICAgICAgIH0gPSBfcmVmO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIGNvbnN0IGNvb3JkcyA9IHtcbiAgICAgICAgeCxcbiAgICAgICAgeVxuICAgICAgfTtcbiAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgcGxhdGZvcm0uZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XG4gICAgICBjb25zdCBjcm9zc0F4aXMgPSBnZXRTaWRlQXhpcyhnZXRTaWRlKHBsYWNlbWVudCkpO1xuICAgICAgY29uc3QgbWFpbkF4aXMgPSBnZXRPcHBvc2l0ZUF4aXMoY3Jvc3NBeGlzKTtcbiAgICAgIGxldCBtYWluQXhpc0Nvb3JkID0gY29vcmRzW21haW5BeGlzXTtcbiAgICAgIGxldCBjcm9zc0F4aXNDb29yZCA9IGNvb3Jkc1tjcm9zc0F4aXNdO1xuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICAgICAgY29uc3QgbWluU2lkZSA9IG1haW5BeGlzID09PSAneScgPyAndG9wJyA6ICdsZWZ0JztcbiAgICAgICAgY29uc3QgbWF4U2lkZSA9IG1haW5BeGlzID09PSAneScgPyAnYm90dG9tJyA6ICdyaWdodCc7XG4gICAgICAgIGNvbnN0IG1pbiA9IG1haW5BeGlzQ29vcmQgKyBvdmVyZmxvd1ttaW5TaWRlXTtcbiAgICAgICAgY29uc3QgbWF4ID0gbWFpbkF4aXNDb29yZCAtIG92ZXJmbG93W21heFNpZGVdO1xuICAgICAgICBtYWluQXhpc0Nvb3JkID0gY2xhbXAobWluLCBtYWluQXhpc0Nvb3JkLCBtYXgpO1xuICAgICAgfVxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XG4gICAgICAgIGNvbnN0IG1pblNpZGUgPSBjcm9zc0F4aXMgPT09ICd5JyA/ICd0b3AnIDogJ2xlZnQnO1xuICAgICAgICBjb25zdCBtYXhTaWRlID0gY3Jvc3NBeGlzID09PSAneScgPyAnYm90dG9tJyA6ICdyaWdodCc7XG4gICAgICAgIGNvbnN0IG1pbiA9IGNyb3NzQXhpc0Nvb3JkICsgb3ZlcmZsb3dbbWluU2lkZV07XG4gICAgICAgIGNvbnN0IG1heCA9IGNyb3NzQXhpc0Nvb3JkIC0gb3ZlcmZsb3dbbWF4U2lkZV07XG4gICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gY2xhbXAobWluLCBjcm9zc0F4aXNDb29yZCwgbWF4KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxpbWl0ZWRDb29yZHMgPSBsaW1pdGVyLmZuKHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIFttYWluQXhpc106IG1haW5BeGlzQ29vcmQsXG4gICAgICAgIFtjcm9zc0F4aXNdOiBjcm9zc0F4aXNDb29yZFxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5saW1pdGVkQ29vcmRzLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgeDogbGltaXRlZENvb3Jkcy54IC0geCxcbiAgICAgICAgICB5OiBsaW1pdGVkQ29vcmRzLnkgLSB5LFxuICAgICAgICAgIGVuYWJsZWQ6IHtcbiAgICAgICAgICAgIFttYWluQXhpc106IGNoZWNrTWFpbkF4aXMsXG4gICAgICAgICAgICBbY3Jvc3NBeGlzXTogY2hlY2tDcm9zc0F4aXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgb3B0aW9ucyxcbiAgICBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHJlY3RzLFxuICAgICAgICBtaWRkbGV3YXJlRGF0YVxuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBvZmZzZXQgPSAwLFxuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSB0cnVlXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICAgICAgY29uc3QgY29vcmRzID0ge1xuICAgICAgICB4LFxuICAgICAgICB5XG4gICAgICB9O1xuICAgICAgY29uc3QgY3Jvc3NBeGlzID0gZ2V0U2lkZUF4aXMocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IG1haW5BeGlzID0gZ2V0T3Bwb3NpdGVBeGlzKGNyb3NzQXhpcyk7XG4gICAgICBsZXQgbWFpbkF4aXNDb29yZCA9IGNvb3Jkc1ttYWluQXhpc107XG4gICAgICBsZXQgY3Jvc3NBeGlzQ29vcmQgPSBjb29yZHNbY3Jvc3NBeGlzXTtcbiAgICAgIGNvbnN0IHJhd09mZnNldCA9IGV2YWx1YXRlKG9mZnNldCwgc3RhdGUpO1xuICAgICAgY29uc3QgY29tcHV0ZWRPZmZzZXQgPSB0eXBlb2YgcmF3T2Zmc2V0ID09PSAnbnVtYmVyJyA/IHtcbiAgICAgICAgbWFpbkF4aXM6IHJhd09mZnNldCxcbiAgICAgICAgY3Jvc3NBeGlzOiAwXG4gICAgICB9IDoge1xuICAgICAgICBtYWluQXhpczogMCxcbiAgICAgICAgY3Jvc3NBeGlzOiAwLFxuICAgICAgICAuLi5yYXdPZmZzZXRcbiAgICAgIH07XG4gICAgICBpZiAoY2hlY2tNYWluQXhpcykge1xuICAgICAgICBjb25zdCBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgICAgICBjb25zdCBsaW1pdE1pbiA9IHJlY3RzLnJlZmVyZW5jZVttYWluQXhpc10gLSByZWN0cy5mbG9hdGluZ1tsZW5dICsgY29tcHV0ZWRPZmZzZXQubWFpbkF4aXM7XG4gICAgICAgIGNvbnN0IGxpbWl0TWF4ID0gcmVjdHMucmVmZXJlbmNlW21haW5BeGlzXSArIHJlY3RzLnJlZmVyZW5jZVtsZW5dIC0gY29tcHV0ZWRPZmZzZXQubWFpbkF4aXM7XG4gICAgICAgIGlmIChtYWluQXhpc0Nvb3JkIDwgbGltaXRNaW4pIHtcbiAgICAgICAgICBtYWluQXhpc0Nvb3JkID0gbGltaXRNaW47XG4gICAgICAgIH0gZWxzZSBpZiAobWFpbkF4aXNDb29yZCA+IGxpbWl0TWF4KSB7XG4gICAgICAgICAgbWFpbkF4aXNDb29yZCA9IGxpbWl0TWF4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2hlY2tDcm9zc0F4aXMpIHtcbiAgICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRvZmZzZSwgX21pZGRsZXdhcmVEYXRhJG9mZnNlMjtcbiAgICAgICAgY29uc3QgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICd3aWR0aCcgOiAnaGVpZ2h0JztcbiAgICAgICAgY29uc3QgaXNPcmlnaW5TaWRlID0gb3JpZ2luU2lkZXMuaGFzKGdldFNpZGUocGxhY2VtZW50KSk7XG4gICAgICAgIGNvbnN0IGxpbWl0TWluID0gcmVjdHMucmVmZXJlbmNlW2Nyb3NzQXhpc10gLSByZWN0cy5mbG9hdGluZ1tsZW5dICsgKGlzT3JpZ2luU2lkZSA/ICgoX21pZGRsZXdhcmVEYXRhJG9mZnNlID0gbWlkZGxld2FyZURhdGEub2Zmc2V0KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJG9mZnNlW2Nyb3NzQXhpc10pIHx8IDAgOiAwKSArIChpc09yaWdpblNpZGUgPyAwIDogY29tcHV0ZWRPZmZzZXQuY3Jvc3NBeGlzKTtcbiAgICAgICAgY29uc3QgbGltaXRNYXggPSByZWN0cy5yZWZlcmVuY2VbY3Jvc3NBeGlzXSArIHJlY3RzLnJlZmVyZW5jZVtsZW5dICsgKGlzT3JpZ2luU2lkZSA/IDAgOiAoKF9taWRkbGV3YXJlRGF0YSRvZmZzZTIgPSBtaWRkbGV3YXJlRGF0YS5vZmZzZXQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkb2Zmc2UyW2Nyb3NzQXhpc10pIHx8IDApIC0gKGlzT3JpZ2luU2lkZSA/IGNvbXB1dGVkT2Zmc2V0LmNyb3NzQXhpcyA6IDApO1xuICAgICAgICBpZiAoY3Jvc3NBeGlzQ29vcmQgPCBsaW1pdE1pbikge1xuICAgICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gbGltaXRNaW47XG4gICAgICAgIH0gZWxzZSBpZiAoY3Jvc3NBeGlzQ29vcmQgPiBsaW1pdE1heCkge1xuICAgICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gbGltaXRNYXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFttYWluQXhpc106IG1haW5BeGlzQ29vcmQsXG4gICAgICAgIFtjcm9zc0F4aXNdOiBjcm9zc0F4aXNDb29yZFxuICAgICAgfTtcbiAgICB9XG4gIH07XG59O1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdGhhdCBhbGxvd3MgeW91IHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCDigJRcbiAqIGZvciBpbnN0YW5jZSwgcHJldmVudCBpdCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjbGlwcGluZyBib3VuZGFyeSBvciBtYXRjaCB0aGVcbiAqIHdpZHRoIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaXplXG4gKi9cbmNvbnN0IHNpemUgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NpemUnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIHZhciBfc3RhdGUkbWlkZGxld2FyZURhdGEsIF9zdGF0ZSRtaWRkbGV3YXJlRGF0YTI7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBhcHBseSA9ICgpID0+IHt9LFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IHBsYXRmb3JtLmRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICAgICAgY29uc3QgaXNZQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5JztcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgICAgfSA9IHJlY3RzLmZsb2F0aW5nO1xuICAgICAgbGV0IGhlaWdodFNpZGU7XG4gICAgICBsZXQgd2lkdGhTaWRlO1xuICAgICAgaWYgKHNpZGUgPT09ICd0b3AnIHx8IHNpZGUgPT09ICdib3R0b20nKSB7XG4gICAgICAgIGhlaWdodFNpZGUgPSBzaWRlO1xuICAgICAgICB3aWR0aFNpZGUgPSBhbGlnbm1lbnQgPT09ICgoYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpKSA/ICdzdGFydCcgOiAnZW5kJykgPyAnbGVmdCcgOiAncmlnaHQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2lkdGhTaWRlID0gc2lkZTtcbiAgICAgICAgaGVpZ2h0U2lkZSA9IGFsaWdubWVudCA9PT0gJ2VuZCcgPyAndG9wJyA6ICdib3R0b20nO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nSGVpZ2h0ID0gaGVpZ2h0IC0gb3ZlcmZsb3cudG9wIC0gb3ZlcmZsb3cuYm90dG9tO1xuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nV2lkdGggPSB3aWR0aCAtIG92ZXJmbG93LmxlZnQgLSBvdmVyZmxvdy5yaWdodDtcbiAgICAgIGNvbnN0IG92ZXJmbG93QXZhaWxhYmxlSGVpZ2h0ID0gbWluKGhlaWdodCAtIG92ZXJmbG93W2hlaWdodFNpZGVdLCBtYXhpbXVtQ2xpcHBpbmdIZWlnaHQpO1xuICAgICAgY29uc3Qgb3ZlcmZsb3dBdmFpbGFibGVXaWR0aCA9IG1pbih3aWR0aCAtIG92ZXJmbG93W3dpZHRoU2lkZV0sIG1heGltdW1DbGlwcGluZ1dpZHRoKTtcbiAgICAgIGNvbnN0IG5vU2hpZnQgPSAhc3RhdGUubWlkZGxld2FyZURhdGEuc2hpZnQ7XG4gICAgICBsZXQgYXZhaWxhYmxlSGVpZ2h0ID0gb3ZlcmZsb3dBdmFpbGFibGVIZWlnaHQ7XG4gICAgICBsZXQgYXZhaWxhYmxlV2lkdGggPSBvdmVyZmxvd0F2YWlsYWJsZVdpZHRoO1xuICAgICAgaWYgKChfc3RhdGUkbWlkZGxld2FyZURhdGEgPSBzdGF0ZS5taWRkbGV3YXJlRGF0YS5zaGlmdCkgIT0gbnVsbCAmJiBfc3RhdGUkbWlkZGxld2FyZURhdGEuZW5hYmxlZC54KSB7XG4gICAgICAgIGF2YWlsYWJsZVdpZHRoID0gbWF4aW11bUNsaXBwaW5nV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoKF9zdGF0ZSRtaWRkbGV3YXJlRGF0YTIgPSBzdGF0ZS5taWRkbGV3YXJlRGF0YS5zaGlmdCkgIT0gbnVsbCAmJiBfc3RhdGUkbWlkZGxld2FyZURhdGEyLmVuYWJsZWQueSkge1xuICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBtYXhpbXVtQ2xpcHBpbmdIZWlnaHQ7XG4gICAgICB9XG4gICAgICBpZiAobm9TaGlmdCAmJiAhYWxpZ25tZW50KSB7XG4gICAgICAgIGNvbnN0IHhNaW4gPSBtYXgob3ZlcmZsb3cubGVmdCwgMCk7XG4gICAgICAgIGNvbnN0IHhNYXggPSBtYXgob3ZlcmZsb3cucmlnaHQsIDApO1xuICAgICAgICBjb25zdCB5TWluID0gbWF4KG92ZXJmbG93LnRvcCwgMCk7XG4gICAgICAgIGNvbnN0IHlNYXggPSBtYXgob3ZlcmZsb3cuYm90dG9tLCAwKTtcbiAgICAgICAgaWYgKGlzWUF4aXMpIHtcbiAgICAgICAgICBhdmFpbGFibGVXaWR0aCA9IHdpZHRoIC0gMiAqICh4TWluICE9PSAwIHx8IHhNYXggIT09IDAgPyB4TWluICsgeE1heCA6IG1heChvdmVyZmxvdy5sZWZ0LCBvdmVyZmxvdy5yaWdodCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IGhlaWdodCAtIDIgKiAoeU1pbiAhPT0gMCB8fCB5TWF4ICE9PSAwID8geU1pbiArIHlNYXggOiBtYXgob3ZlcmZsb3cudG9wLCBvdmVyZmxvdy5ib3R0b20pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYXdhaXQgYXBwbHkoe1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYXZhaWxhYmxlV2lkdGgsXG4gICAgICAgIGF2YWlsYWJsZUhlaWdodFxuICAgICAgfSk7XG4gICAgICBjb25zdCBuZXh0RGltZW5zaW9ucyA9IGF3YWl0IHBsYXRmb3JtLmdldERpbWVuc2lvbnMoZWxlbWVudHMuZmxvYXRpbmcpO1xuICAgICAgaWYgKHdpZHRoICE9PSBuZXh0RGltZW5zaW9ucy53aWR0aCB8fCBoZWlnaHQgIT09IG5leHREaW1lbnNpb25zLmhlaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICByZWN0czogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgeyBhcnJvdywgYXV0b1BsYWNlbWVudCwgY29tcHV0ZVBvc2l0aW9uLCBkZXRlY3RPdmVyZmxvdywgZmxpcCwgaGlkZSwgaW5saW5lLCBsaW1pdFNoaWZ0LCBvZmZzZXQsIHNoaWZ0LCBzaXplIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs":
|
||
/*!****************************************************************!*\
|
||
!*** ./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs ***!
|
||
\****************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: function() { return /* binding */ arrow; },\n/* harmony export */ autoPlacement: function() { return /* binding */ autoPlacement; },\n/* harmony export */ autoUpdate: function() { return /* binding */ autoUpdate; },\n/* harmony export */ computePosition: function() { return /* binding */ computePosition; },\n/* harmony export */ detectOverflow: function() { return /* binding */ detectOverflow; },\n/* harmony export */ flip: function() { return /* binding */ flip; },\n/* harmony export */ getOverflowAncestors: function() { return /* reexport safe */ _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors; },\n/* harmony export */ hide: function() { return /* binding */ hide; },\n/* harmony export */ inline: function() { return /* binding */ inline; },\n/* harmony export */ limitShift: function() { return /* binding */ limitShift; },\n/* harmony export */ offset: function() { return /* binding */ offset; },\n/* harmony export */ platform: function() { return /* binding */ platform; },\n/* harmony export */ shift: function() { return /* binding */ shift; },\n/* harmony export */ size: function() { return /* binding */ size; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/utils */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n/* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/core */ \"(app-pages-browser)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs\");\n/* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils/dom */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n\n\n\n\n\nfunction getCssDimensions(element) {\n const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(width) !== offsetWidth || (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(domElement)) {\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.width) : rect.width) / width;\n let y = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\nfunction getVisualOffsets(element) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n if (includeScale) {\n if (offsetParent) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(domElement);\n const offsetWin = offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent) ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getFrameElement)(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(currentIFrame);\n currentIFrame = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getFrameElement)(currentWin);\n }\n }\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\n const topLayer = elements ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\n scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n const scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element);\n const body = element.ownerDocument.body;\n const width = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(body).direction === 'rtl') {\n x += (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) ? getScale(element) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element));\n } else if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\n if (parentNode === stopNode || !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(parentNode) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(parentNode)) {\n return false;\n }\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(element, [], false).filter(el => (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(el) && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed';\n let currentNode = elementIsFixed ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(currentNode) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(currentNode)) {\n const computedStyle = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentNode);\n const currentNodeIsContaining = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(rect.top, top);\n right = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(rect.right, right);\n bottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(rect.bottom, bottom);\n left = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\n const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\n scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element)) {\n return win;\n }\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {\n let svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\n while (svgOffsetParent && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(svgOffsetParent)) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTableElement)(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(offsetParent) && isStaticPositioned(offsetParent) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(offsetParent)) {\n return win;\n }\n return offsetParent || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getContainingBlock)(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(top);\n const insetRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientWidth - (left + width));\n const insetBottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientHeight - (top + height));\n const insetLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(0, (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(referenceEl) : []), ...(floating ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.detectOverflow;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.offset;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.autoPlacement;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.shift;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.flip;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.size;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.hide;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.arrow;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.inline;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.limitShift;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.computePosition)(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvZG9tL2Rpc3QvZmxvYXRpbmctdWkuZG9tLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5VDtBQUMvTztBQUN3UTtBQUNwUjs7QUFFOUQ7QUFDQSxjQUFjLHdFQUFrQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxRUFBYTtBQUNqQztBQUNBO0FBQ0EseUJBQXlCLHlEQUFLLDJCQUEyQix5REFBSztBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVUsaUVBQVM7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLE9BQU8scUVBQWE7QUFDcEIsV0FBVyxnRUFBWTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZUFBZSx5REFBSztBQUNwQixlQUFlLHlEQUFLOztBQUVwQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtCQUErQixnRUFBWTtBQUMzQztBQUNBLGNBQWMsaUVBQVM7QUFDdkIsT0FBTyxnRUFBUTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUUsaUVBQVM7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxnRUFBWTtBQUMxQjtBQUNBO0FBQ0EsVUFBVSxpRUFBUztBQUNuQjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLDJIQUEySCxnRUFBWTtBQUN2STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlFQUFTO0FBQ3pCLHNDQUFzQyxpRUFBUyxpQkFBaUIsaUVBQVM7QUFDekU7QUFDQSx3QkFBd0IsdUVBQWU7QUFDdkM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHdFQUFrQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGlFQUFTO0FBQzVCLHNCQUFzQix1RUFBZTtBQUNyQztBQUNBO0FBQ0EsU0FBUyxvRUFBZ0I7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHFFQUFhO0FBQ2xDO0FBQ0EsaUNBQWlDLDBFQUFrQjtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLDBCQUEwQiwwRUFBa0I7QUFDNUMsOEJBQThCLGtFQUFVO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxnRUFBWTtBQUMxQixrQkFBa0IsZ0VBQVk7QUFDOUIsa0NBQWtDLHFFQUFhO0FBQy9DO0FBQ0EsUUFBUSxtRUFBVyw2QkFBNkIseUVBQWlCO0FBQ2pFLGVBQWUscUVBQWE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdIQUF3SCxnRUFBWTtBQUNwSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZSwwRUFBa0I7QUFDakMsaUJBQWlCLHFFQUFhO0FBQzlCO0FBQ0EsZ0JBQWdCLHVEQUFHO0FBQ25CLGlCQUFpQix1REFBRztBQUNwQjtBQUNBO0FBQ0EsTUFBTSx3RUFBa0I7QUFDeEIsU0FBUyx1REFBRztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsaUVBQVM7QUFDdkIsZUFBZSwwRUFBa0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxnRUFBUTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHFFQUFhLGdDQUFnQyxnRUFBWTtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osMkJBQTJCLDBFQUFrQjtBQUM3QyxJQUFJLFNBQVMsaUVBQVM7QUFDdEI7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsb0VBQWdCO0FBQ3pCO0FBQ0E7QUFDQSxxQkFBcUIscUVBQWE7QUFDbEMsa0NBQWtDLGlFQUFTLGdCQUFnQiw2RUFBcUI7QUFDaEY7QUFDQTtBQUNBLFNBQVMsd0VBQWtCO0FBQzNCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDRFQUFvQixrQ0FBa0MsaUVBQVMsUUFBUSxtRUFBVztBQUNqRztBQUNBLHlCQUF5Qix3RUFBa0I7QUFDM0MscUNBQXFDLHFFQUFhOztBQUVsRDtBQUNBLFNBQVMsaUVBQVMsa0JBQWtCLDZFQUFxQjtBQUN6RCwwQkFBMEIsd0VBQWtCO0FBQzVDLG9DQUFvQyx5RUFBaUI7QUFDckQ7QUFDQTtBQUNBO0FBQ0EsK1ZBQStWLHlFQUFpQjtBQUNoWDtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHFFQUFhO0FBQy9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osc0VBQXNFLGtFQUFVO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiw4QkFBOEI7QUFDaEQ7QUFDQSxVQUFVLHVEQUFHO0FBQ2IsWUFBWSx1REFBRztBQUNmLGFBQWEsdURBQUc7QUFDaEIsV0FBVyx1REFBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtDQUFrQyxxRUFBYTtBQUMvQywwQkFBMEIsMEVBQWtCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixnRUFBWTs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxtRUFBVyw2QkFBNkIseUVBQWlCO0FBQ2pFLGVBQWUscUVBQWE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3SEFBd0gsZ0VBQVk7QUFDcEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUyx3RUFBa0I7QUFDM0I7O0FBRUE7QUFDQSxPQUFPLHFFQUFhLGFBQWEsd0VBQWtCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMEVBQWtCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsaUVBQVM7QUFDdkIsTUFBTSxrRUFBVTtBQUNoQjtBQUNBO0FBQ0EsT0FBTyxxRUFBYTtBQUNwQiwwQkFBMEIscUVBQWE7QUFDdkMsK0JBQStCLDZFQUFxQjtBQUNwRCxVQUFVLGlFQUFTO0FBQ25CO0FBQ0E7QUFDQSx3QkFBd0IscUVBQWE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsc0VBQWM7QUFDdkM7QUFDQTtBQUNBLHNCQUFzQiw2RUFBcUIsdURBQXVELHlFQUFpQjtBQUNuSDtBQUNBO0FBQ0EseUJBQXlCLDBFQUFrQjtBQUMzQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUyx3RUFBa0I7QUFDM0I7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDBFQUFrQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQix5REFBSztBQUMxQix1QkFBdUIseURBQUs7QUFDNUIsd0JBQXdCLHlEQUFLO0FBQzdCLHNCQUFzQix5REFBSztBQUMzQjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdURBQUcsSUFBSSx1REFBRztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSwwRUFBMEUsNEVBQW9CLG9DQUFvQyw0RUFBb0I7QUFDdEo7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw2REFBZ0I7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxxREFBUTs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDREQUFlOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxvREFBTzs7QUFFckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtREFBTTs7QUFFbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtREFBTTs7QUFFbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsbURBQU07O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLG9EQUFPOztBQUVyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxxREFBUTs7QUFFdkI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHlEQUFZOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxrRUFBaUI7QUFDMUI7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFNEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS9kb20vZGlzdC9mbG9hdGluZy11aS5kb20ubWpzP2ZkMDAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVjdFRvQ2xpZW50UmVjdCwgYXJyb3cgYXMgYXJyb3ckMSwgYXV0b1BsYWNlbWVudCBhcyBhdXRvUGxhY2VtZW50JDEsIGRldGVjdE92ZXJmbG93IGFzIGRldGVjdE92ZXJmbG93JDEsIGZsaXAgYXMgZmxpcCQxLCBoaWRlIGFzIGhpZGUkMSwgaW5saW5lIGFzIGlubGluZSQxLCBsaW1pdFNoaWZ0IGFzIGxpbWl0U2hpZnQkMSwgb2Zmc2V0IGFzIG9mZnNldCQxLCBzaGlmdCBhcyBzaGlmdCQxLCBzaXplIGFzIHNpemUkMSwgY29tcHV0ZVBvc2l0aW9uIGFzIGNvbXB1dGVQb3NpdGlvbiQxIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2NvcmUnO1xuaW1wb3J0IHsgcm91bmQsIGNyZWF0ZUNvb3JkcywgbWF4LCBtaW4sIGZsb29yIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcbmltcG9ydCB7IGdldENvbXB1dGVkU3R5bGUgYXMgZ2V0Q29tcHV0ZWRTdHlsZSQxLCBpc0hUTUxFbGVtZW50LCBpc0VsZW1lbnQsIGdldFdpbmRvdywgaXNXZWJLaXQsIGdldEZyYW1lRWxlbWVudCwgZ2V0Tm9kZVNjcm9sbCwgZ2V0RG9jdW1lbnRFbGVtZW50LCBpc1RvcExheWVyLCBnZXROb2RlTmFtZSwgaXNPdmVyZmxvd0VsZW1lbnQsIGdldE92ZXJmbG93QW5jZXN0b3JzLCBnZXRQYXJlbnROb2RlLCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUsIGlzQ29udGFpbmluZ0Jsb2NrLCBpc1RhYmxlRWxlbWVudCwgZ2V0Q29udGFpbmluZ0Jsb2NrIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzL2RvbSc7XG5leHBvcnQgeyBnZXRPdmVyZmxvd0FuY2VzdG9ycyB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscy9kb20nO1xuXG5mdW5jdGlvbiBnZXRDc3NEaW1lbnNpb25zKGVsZW1lbnQpIHtcbiAgY29uc3QgY3NzID0gZ2V0Q29tcHV0ZWRTdHlsZSQxKGVsZW1lbnQpO1xuICAvLyBJbiB0ZXN0aW5nIGVudmlyb25tZW50cywgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIHByb3BlcnRpZXMgYXJlIGVtcHR5XG4gIC8vIHN0cmluZ3MgZm9yIFNWRyBlbGVtZW50cywgcmV0dXJuaW5nIE5hTi4gRmFsbGJhY2sgdG8gYDBgIGluIHRoaXMgY2FzZS5cbiAgbGV0IHdpZHRoID0gcGFyc2VGbG9hdChjc3Mud2lkdGgpIHx8IDA7XG4gIGxldCBoZWlnaHQgPSBwYXJzZUZsb2F0KGNzcy5oZWlnaHQpIHx8IDA7XG4gIGNvbnN0IGhhc09mZnNldCA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IG9mZnNldFdpZHRoID0gaGFzT2Zmc2V0ID8gZWxlbWVudC5vZmZzZXRXaWR0aCA6IHdpZHRoO1xuICBjb25zdCBvZmZzZXRIZWlnaHQgPSBoYXNPZmZzZXQgPyBlbGVtZW50Lm9mZnNldEhlaWdodCA6IGhlaWdodDtcbiAgY29uc3Qgc2hvdWxkRmFsbGJhY2sgPSByb3VuZCh3aWR0aCkgIT09IG9mZnNldFdpZHRoIHx8IHJvdW5kKGhlaWdodCkgIT09IG9mZnNldEhlaWdodDtcbiAgaWYgKHNob3VsZEZhbGxiYWNrKSB7XG4gICAgd2lkdGggPSBvZmZzZXRXaWR0aDtcbiAgICBoZWlnaHQgPSBvZmZzZXRIZWlnaHQ7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgJDogc2hvdWxkRmFsbGJhY2tcbiAgfTtcbn1cblxuZnVuY3Rpb24gdW53cmFwRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiAhaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudC5jb250ZXh0RWxlbWVudCA6IGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFNjYWxlKGVsZW1lbnQpIHtcbiAgY29uc3QgZG9tRWxlbWVudCA9IHVud3JhcEVsZW1lbnQoZWxlbWVudCk7XG4gIGlmICghaXNIVE1MRWxlbWVudChkb21FbGVtZW50KSkge1xuICAgIHJldHVybiBjcmVhdGVDb29yZHMoMSk7XG4gIH1cbiAgY29uc3QgcmVjdCA9IGRvbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgJFxuICB9ID0gZ2V0Q3NzRGltZW5zaW9ucyhkb21FbGVtZW50KTtcbiAgbGV0IHggPSAoJCA/IHJvdW5kKHJlY3Qud2lkdGgpIDogcmVjdC53aWR0aCkgLyB3aWR0aDtcbiAgbGV0IHkgPSAoJCA/IHJvdW5kKHJlY3QuaGVpZ2h0KSA6IHJlY3QuaGVpZ2h0KSAvIGhlaWdodDtcblxuICAvLyAwLCBOYU4sIG9yIEluZmluaXR5IHNob3VsZCBhbHdheXMgZmFsbGJhY2sgdG8gMS5cblxuICBpZiAoIXggfHwgIU51bWJlci5pc0Zpbml0ZSh4KSkge1xuICAgIHggPSAxO1xuICB9XG4gIGlmICgheSB8fCAhTnVtYmVyLmlzRmluaXRlKHkpKSB7XG4gICAgeSA9IDE7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuY29uc3Qgbm9PZmZzZXRzID0gLyojX19QVVJFX18qL2NyZWF0ZUNvb3JkcygwKTtcbmZ1bmN0aW9uIGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGlmICghaXNXZWJLaXQoKSB8fCAhd2luLnZpc3VhbFZpZXdwb3J0KSB7XG4gICAgcmV0dXJuIG5vT2Zmc2V0cztcbiAgfVxuICByZXR1cm4ge1xuICAgIHg6IHdpbi52aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0LFxuICAgIHk6IHdpbi52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3BcbiAgfTtcbn1cbmZ1bmN0aW9uIHNob3VsZEFkZFZpc3VhbE9mZnNldHMoZWxlbWVudCwgaXNGaXhlZCwgZmxvYXRpbmdPZmZzZXRQYXJlbnQpIHtcbiAgaWYgKGlzRml4ZWQgPT09IHZvaWQgMCkge1xuICAgIGlzRml4ZWQgPSBmYWxzZTtcbiAgfVxuICBpZiAoIWZsb2F0aW5nT2Zmc2V0UGFyZW50IHx8IGlzRml4ZWQgJiYgZmxvYXRpbmdPZmZzZXRQYXJlbnQgIT09IGdldFdpbmRvdyhlbGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gaXNGaXhlZDtcbn1cblxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIGluY2x1ZGVTY2FsZSwgaXNGaXhlZFN0cmF0ZWd5LCBvZmZzZXRQYXJlbnQpIHtcbiAgaWYgKGluY2x1ZGVTY2FsZSA9PT0gdm9pZCAwKSB7XG4gICAgaW5jbHVkZVNjYWxlID0gZmFsc2U7XG4gIH1cbiAgaWYgKGlzRml4ZWRTdHJhdGVneSA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZFN0cmF0ZWd5ID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGRvbUVsZW1lbnQgPSB1bndyYXBFbGVtZW50KGVsZW1lbnQpO1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGlmIChpbmNsdWRlU2NhbGUpIHtcbiAgICBpZiAob2Zmc2V0UGFyZW50KSB7XG4gICAgICBpZiAoaXNFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgICAgc2NhbGUgPSBnZXRTY2FsZShvZmZzZXRQYXJlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY2FsZSA9IGdldFNjYWxlKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBjb25zdCB2aXN1YWxPZmZzZXRzID0gc2hvdWxkQWRkVmlzdWFsT2Zmc2V0cyhkb21FbGVtZW50LCBpc0ZpeGVkU3RyYXRlZ3ksIG9mZnNldFBhcmVudCkgPyBnZXRWaXN1YWxPZmZzZXRzKGRvbUVsZW1lbnQpIDogY3JlYXRlQ29vcmRzKDApO1xuICBsZXQgeCA9IChjbGllbnRSZWN0LmxlZnQgKyB2aXN1YWxPZmZzZXRzLngpIC8gc2NhbGUueDtcbiAgbGV0IHkgPSAoY2xpZW50UmVjdC50b3AgKyB2aXN1YWxPZmZzZXRzLnkpIC8gc2NhbGUueTtcbiAgbGV0IHdpZHRoID0gY2xpZW50UmVjdC53aWR0aCAvIHNjYWxlLng7XG4gIGxldCBoZWlnaHQgPSBjbGllbnRSZWN0LmhlaWdodCAvIHNjYWxlLnk7XG4gIGlmIChkb21FbGVtZW50KSB7XG4gICAgY29uc3Qgd2luID0gZ2V0V2luZG93KGRvbUVsZW1lbnQpO1xuICAgIGNvbnN0IG9mZnNldFdpbiA9IG9mZnNldFBhcmVudCAmJiBpc0VsZW1lbnQob2Zmc2V0UGFyZW50KSA/IGdldFdpbmRvdyhvZmZzZXRQYXJlbnQpIDogb2Zmc2V0UGFyZW50O1xuICAgIGxldCBjdXJyZW50V2luID0gd2luO1xuICAgIGxldCBjdXJyZW50SUZyYW1lID0gZ2V0RnJhbWVFbGVtZW50KGN1cnJlbnRXaW4pO1xuICAgIHdoaWxlIChjdXJyZW50SUZyYW1lICYmIG9mZnNldFBhcmVudCAmJiBvZmZzZXRXaW4gIT09IGN1cnJlbnRXaW4pIHtcbiAgICAgIGNvbnN0IGlmcmFtZVNjYWxlID0gZ2V0U2NhbGUoY3VycmVudElGcmFtZSk7XG4gICAgICBjb25zdCBpZnJhbWVSZWN0ID0gY3VycmVudElGcmFtZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGNzcyA9IGdldENvbXB1dGVkU3R5bGUkMShjdXJyZW50SUZyYW1lKTtcbiAgICAgIGNvbnN0IGxlZnQgPSBpZnJhbWVSZWN0LmxlZnQgKyAoY3VycmVudElGcmFtZS5jbGllbnRMZWZ0ICsgcGFyc2VGbG9hdChjc3MucGFkZGluZ0xlZnQpKSAqIGlmcmFtZVNjYWxlLng7XG4gICAgICBjb25zdCB0b3AgPSBpZnJhbWVSZWN0LnRvcCArIChjdXJyZW50SUZyYW1lLmNsaWVudFRvcCArIHBhcnNlRmxvYXQoY3NzLnBhZGRpbmdUb3ApKSAqIGlmcmFtZVNjYWxlLnk7XG4gICAgICB4ICo9IGlmcmFtZVNjYWxlLng7XG4gICAgICB5ICo9IGlmcmFtZVNjYWxlLnk7XG4gICAgICB3aWR0aCAqPSBpZnJhbWVTY2FsZS54O1xuICAgICAgaGVpZ2h0ICo9IGlmcmFtZVNjYWxlLnk7XG4gICAgICB4ICs9IGxlZnQ7XG4gICAgICB5ICs9IHRvcDtcbiAgICAgIGN1cnJlbnRXaW4gPSBnZXRXaW5kb3coY3VycmVudElGcmFtZSk7XG4gICAgICBjdXJyZW50SUZyYW1lID0gZ2V0RnJhbWVFbGVtZW50KGN1cnJlbnRXaW4pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVjdFRvQ2xpZW50UmVjdCh7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9KTtcbn1cblxuLy8gSWYgPGh0bWw+IGhhcyBhIENTUyB3aWR0aCBncmVhdGVyIHRoYW4gdGhlIHZpZXdwb3J0LCB0aGVuIHRoaXMgd2lsbCBiZVxuLy8gaW5jb3JyZWN0IGZvciBSVEwuXG5mdW5jdGlvbiBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQsIHJlY3QpIHtcbiAgY29uc3QgbGVmdFNjcm9sbCA9IGdldE5vZGVTY3JvbGwoZWxlbWVudCkuc2Nyb2xsTGVmdDtcbiAgaWYgKCFyZWN0KSB7XG4gICAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBsZWZ0U2Nyb2xsO1xuICB9XG4gIHJldHVybiByZWN0LmxlZnQgKyBsZWZ0U2Nyb2xsO1xufVxuXG5mdW5jdGlvbiBnZXRIVE1MT2Zmc2V0KGRvY3VtZW50RWxlbWVudCwgc2Nyb2xsKSB7XG4gIGNvbnN0IGh0bWxSZWN0ID0gZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCB4ID0gaHRtbFJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC0gZ2V0V2luZG93U2Nyb2xsQmFyWChkb2N1bWVudEVsZW1lbnQsIGh0bWxSZWN0KTtcbiAgY29uc3QgeSA9IGh0bWxSZWN0LnRvcCArIHNjcm9sbC5zY3JvbGxUb3A7XG4gIHJldHVybiB7XG4gICAgeCxcbiAgICB5XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50cyxcbiAgICByZWN0LFxuICAgIG9mZnNldFBhcmVudCxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgaXNGaXhlZCA9IHN0cmF0ZWd5ID09PSAnZml4ZWQnO1xuICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgY29uc3QgdG9wTGF5ZXIgPSBlbGVtZW50cyA/IGlzVG9wTGF5ZXIoZWxlbWVudHMuZmxvYXRpbmcpIDogZmFsc2U7XG4gIGlmIChvZmZzZXRQYXJlbnQgPT09IGRvY3VtZW50RWxlbWVudCB8fCB0b3BMYXllciAmJiBpc0ZpeGVkKSB7XG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGNvbnN0IG9mZnNldHMgPSBjcmVhdGVDb29yZHMoMCk7XG4gIGNvbnN0IGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc09mZnNldFBhcmVudEFuRWxlbWVudCkge1xuICAgICAgY29uc3Qgb2Zmc2V0UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChvZmZzZXRQYXJlbnQpO1xuICAgICAgc2NhbGUgPSBnZXRTY2FsZShvZmZzZXRQYXJlbnQpO1xuICAgICAgb2Zmc2V0cy54ID0gb2Zmc2V0UmVjdC54ICsgb2Zmc2V0UGFyZW50LmNsaWVudExlZnQ7XG4gICAgICBvZmZzZXRzLnkgPSBvZmZzZXRSZWN0LnkgKyBvZmZzZXRQYXJlbnQuY2xpZW50VG9wO1xuICAgIH1cbiAgfVxuICBjb25zdCBodG1sT2Zmc2V0ID0gZG9jdW1lbnRFbGVtZW50ICYmICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCA/IGdldEhUTUxPZmZzZXQoZG9jdW1lbnRFbGVtZW50LCBzY3JvbGwpIDogY3JlYXRlQ29vcmRzKDApO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiByZWN0LndpZHRoICogc2NhbGUueCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0ICogc2NhbGUueSxcbiAgICB4OiByZWN0LnggKiBzY2FsZS54IC0gc2Nyb2xsLnNjcm9sbExlZnQgKiBzY2FsZS54ICsgb2Zmc2V0cy54ICsgaHRtbE9mZnNldC54LFxuICAgIHk6IHJlY3QueSAqIHNjYWxlLnkgLSBzY3JvbGwuc2Nyb2xsVG9wICogc2NhbGUueSArIG9mZnNldHMueSArIGh0bWxPZmZzZXQueVxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRDbGllbnRSZWN0cyhlbGVtZW50KSB7XG4gIHJldHVybiBBcnJheS5mcm9tKGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSk7XG59XG5cbi8vIEdldHMgdGhlIGVudGlyZSBzaXplIG9mIHRoZSBzY3JvbGxhYmxlIGRvY3VtZW50IGFyZWEsIGV2ZW4gZXh0ZW5kaW5nIG91dHNpZGVcbi8vIG9mIHRoZSBgPGh0bWw+YCBhbmQgYDxib2R5PmAgcmVjdCBib3VuZHMgaWYgaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUuXG5mdW5jdGlvbiBnZXREb2N1bWVudFJlY3QoZWxlbWVudCkge1xuICBjb25zdCBodG1sID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBjb25zdCBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKGVsZW1lbnQpO1xuICBjb25zdCBib2R5ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIGNvbnN0IHdpZHRoID0gbWF4KGh0bWwuc2Nyb2xsV2lkdGgsIGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuc2Nyb2xsV2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpO1xuICBjb25zdCBoZWlnaHQgPSBtYXgoaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwuY2xpZW50SGVpZ2h0LCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5jbGllbnRIZWlnaHQpO1xuICBsZXQgeCA9IC1zY3JvbGwuc2Nyb2xsTGVmdCArIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCk7XG4gIGNvbnN0IHkgPSAtc2Nyb2xsLnNjcm9sbFRvcDtcbiAgaWYgKGdldENvbXB1dGVkU3R5bGUkMShib2R5KS5kaXJlY3Rpb24gPT09ICdydGwnKSB7XG4gICAgeCArPSBtYXgoaHRtbC5jbGllbnRXaWR0aCwgYm9keS5jbGllbnRXaWR0aCkgLSB3aWR0aDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuLy8gU2FmZXR5IGNoZWNrOiBlbnN1cmUgdGhlIHNjcm9sbGJhciBzcGFjZSBpcyByZWFzb25hYmxlIGluIGNhc2UgdGhpc1xuLy8gY2FsY3VsYXRpb24gaXMgYWZmZWN0ZWQgYnkgdW51c3VhbCBzdHlsZXMuXG4vLyBNb3N0IHNjcm9sbGJhcnMgbGVhdmUgMTUtMThweCBvZiBzcGFjZS5cbmNvbnN0IFNDUk9MTEJBUl9NQVggPSAyNTtcbmZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICBsZXQgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICBsZXQgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIGxldCB4ID0gMDtcbiAgbGV0IHkgPSAwO1xuICBpZiAodmlzdWFsVmlld3BvcnQpIHtcbiAgICB3aWR0aCA9IHZpc3VhbFZpZXdwb3J0LndpZHRoO1xuICAgIGhlaWdodCA9IHZpc3VhbFZpZXdwb3J0LmhlaWdodDtcbiAgICBjb25zdCB2aXN1YWxWaWV3cG9ydEJhc2VkID0gaXNXZWJLaXQoKTtcbiAgICBpZiAoIXZpc3VhbFZpZXdwb3J0QmFzZWQgfHwgdmlzdWFsVmlld3BvcnRCYXNlZCAmJiBzdHJhdGVneSA9PT0gJ2ZpeGVkJykge1xuICAgICAgeCA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQ7XG4gICAgICB5ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wO1xuICAgIH1cbiAgfVxuICBjb25zdCB3aW5kb3dTY3JvbGxiYXJYID0gZ2V0V2luZG93U2Nyb2xsQmFyWChodG1sKTtcbiAgLy8gPGh0bWw+IGBvdmVyZmxvdzogaGlkZGVuYCArIGBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGVgIHJlZHVjZXMgdGhlXG4gIC8vIHZpc3VhbCB3aWR0aCBvZiB0aGUgPGh0bWw+IGJ1dCB0aGlzIGlzIG5vdCBjb25zaWRlcmVkIGluIHRoZSBzaXplXG4gIC8vIG9mIGBodG1sLmNsaWVudFdpZHRoYC5cbiAgaWYgKHdpbmRvd1Njcm9sbGJhclggPD0gMCkge1xuICAgIGNvbnN0IGRvYyA9IGh0bWwub3duZXJEb2N1bWVudDtcbiAgICBjb25zdCBib2R5ID0gZG9jLmJvZHk7XG4gICAgY29uc3QgYm9keVN0eWxlcyA9IGdldENvbXB1dGVkU3R5bGUoYm9keSk7XG4gICAgY29uc3QgYm9keU1hcmdpbklubGluZSA9IGRvYy5jb21wYXRNb2RlID09PSAnQ1NTMUNvbXBhdCcgPyBwYXJzZUZsb2F0KGJvZHlTdHlsZXMubWFyZ2luTGVmdCkgKyBwYXJzZUZsb2F0KGJvZHlTdHlsZXMubWFyZ2luUmlnaHQpIHx8IDAgOiAwO1xuICAgIGNvbnN0IGNsaXBwaW5nU3RhYmxlU2Nyb2xsYmFyV2lkdGggPSBNYXRoLmFicyhodG1sLmNsaWVudFdpZHRoIC0gYm9keS5jbGllbnRXaWR0aCAtIGJvZHlNYXJnaW5JbmxpbmUpO1xuICAgIGlmIChjbGlwcGluZ1N0YWJsZVNjcm9sbGJhcldpZHRoIDw9IFNDUk9MTEJBUl9NQVgpIHtcbiAgICAgIHdpZHRoIC09IGNsaXBwaW5nU3RhYmxlU2Nyb2xsYmFyV2lkdGg7XG4gICAgfVxuICB9IGVsc2UgaWYgKHdpbmRvd1Njcm9sbGJhclggPD0gU0NST0xMQkFSX01BWCkge1xuICAgIC8vIElmIHRoZSA8Ym9keT4gc2Nyb2xsYmFyIGlzIG9uIHRoZSBsZWZ0LCB0aGUgd2lkdGggbmVlZHMgdG8gYmUgZXh0ZW5kZWRcbiAgICAvLyBieSB0aGUgc2Nyb2xsYmFyIGFtb3VudCBzbyB0aGVyZSBpc24ndCBleHRyYSBzcGFjZSBvbiB0aGUgcmlnaHQuXG4gICAgd2lkdGggKz0gd2luZG93U2Nyb2xsYmFyWDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuLy8gUmV0dXJucyB0aGUgaW5uZXIgY2xpZW50IHJlY3QsIHN1YnRyYWN0aW5nIHNjcm9sbGJhcnMgaWYgcHJlc2VudC5cbmZ1bmN0aW9uIGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICBjb25zdCB0b3AgPSBjbGllbnRSZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICBjb25zdCBsZWZ0ID0gY2xpZW50UmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0O1xuICBjb25zdCBzY2FsZSA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRTY2FsZShlbGVtZW50KSA6IGNyZWF0ZUNvb3JkcygxKTtcbiAgY29uc3Qgd2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoICogc2NhbGUueDtcbiAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQgKiBzY2FsZS55O1xuICBjb25zdCB4ID0gbGVmdCAqIHNjYWxlLng7XG4gIGNvbnN0IHkgPSB0b3AgKiBzY2FsZS55O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkge1xuICBsZXQgcmVjdDtcbiAgaWYgKGNsaXBwaW5nQW5jZXN0b3IgPT09ICd2aWV3cG9ydCcpIHtcbiAgICByZWN0ID0gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KTtcbiAgfSBlbHNlIGlmIChjbGlwcGluZ0FuY2VzdG9yID09PSAnZG9jdW1lbnQnKSB7XG4gICAgcmVjdCA9IGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpO1xuICB9IGVsc2UgaWYgKGlzRWxlbWVudChjbGlwcGluZ0FuY2VzdG9yKSkge1xuICAgIHJlY3QgPSBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmlzdWFsT2Zmc2V0cyA9IGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCk7XG4gICAgcmVjdCA9IHtcbiAgICAgIHg6IGNsaXBwaW5nQW5jZXN0b3IueCAtIHZpc3VhbE9mZnNldHMueCxcbiAgICAgIHk6IGNsaXBwaW5nQW5jZXN0b3IueSAtIHZpc3VhbE9mZnNldHMueSxcbiAgICAgIHdpZHRoOiBjbGlwcGluZ0FuY2VzdG9yLndpZHRoLFxuICAgICAgaGVpZ2h0OiBjbGlwcGluZ0FuY2VzdG9yLmhlaWdodFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHJlY3RUb0NsaWVudFJlY3QocmVjdCk7XG59XG5mdW5jdGlvbiBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IoZWxlbWVudCwgc3RvcE5vZGUpIHtcbiAgY29uc3QgcGFyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gIGlmIChwYXJlbnROb2RlID09PSBzdG9wTm9kZSB8fCAhaXNFbGVtZW50KHBhcmVudE5vZGUpIHx8IGlzTGFzdFRyYXZlcnNhYmxlTm9kZShwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZSQxKHBhcmVudE5vZGUpLnBvc2l0aW9uID09PSAnZml4ZWQnIHx8IGhhc0ZpeGVkUG9zaXRpb25BbmNlc3RvcihwYXJlbnROb2RlLCBzdG9wTm9kZSk7XG59XG5cbi8vIEEgXCJjbGlwcGluZyBhbmNlc3RvclwiIGlzIGFuIGBvdmVyZmxvd2AgZWxlbWVudCB3aXRoIHRoZSBjaGFyYWN0ZXJpc3RpYyBvZlxuLy8gY2xpcHBpbmcgKG9yIGhpZGluZykgY2hpbGQgZWxlbWVudHMuIFRoaXMgcmV0dXJucyBhbGwgY2xpcHBpbmcgYW5jZXN0b3JzXG4vLyBvZiB0aGUgZ2l2ZW4gZWxlbWVudCB1cCB0aGUgdHJlZS5cbmZ1bmN0aW9uIGdldENsaXBwaW5nRWxlbWVudEFuY2VzdG9ycyhlbGVtZW50LCBjYWNoZSkge1xuICBjb25zdCBjYWNoZWRSZXN1bHQgPSBjYWNoZS5nZXQoZWxlbWVudCk7XG4gIGlmIChjYWNoZWRSZXN1bHQpIHtcbiAgICByZXR1cm4gY2FjaGVkUmVzdWx0O1xuICB9XG4gIGxldCByZXN1bHQgPSBnZXRPdmVyZmxvd0FuY2VzdG9ycyhlbGVtZW50LCBbXSwgZmFsc2UpLmZpbHRlcihlbCA9PiBpc0VsZW1lbnQoZWwpICYmIGdldE5vZGVOYW1lKGVsKSAhPT0gJ2JvZHknKTtcbiAgbGV0IGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gbnVsbDtcbiAgY29uc3QgZWxlbWVudElzRml4ZWQgPSBnZXRDb21wdXRlZFN0eWxlJDEoZWxlbWVudCkucG9zaXRpb24gPT09ICdmaXhlZCc7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSA6IGVsZW1lbnQ7XG5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcbiAgd2hpbGUgKGlzRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgIWlzTGFzdFRyYXZlcnNhYmxlTm9kZShjdXJyZW50Tm9kZSkpIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSQxKGN1cnJlbnROb2RlKTtcbiAgICBjb25zdCBjdXJyZW50Tm9kZUlzQ29udGFpbmluZyA9IGlzQ29udGFpbmluZ0Jsb2NrKGN1cnJlbnROb2RlKTtcbiAgICBpZiAoIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmIGNvbXB1dGVkU3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICAgIGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gbnVsbDtcbiAgICB9XG4gICAgY29uc3Qgc2hvdWxkRHJvcEN1cnJlbnROb2RlID0gZWxlbWVudElzRml4ZWQgPyAhY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgJiYgIWN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlIDogIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmIGNvbXB1dGVkU3R5bGUucG9zaXRpb24gPT09ICdzdGF0aWMnICYmICEhY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgJiYgKGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnYWJzb2x1dGUnIHx8IGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnZml4ZWQnKSB8fCBpc092ZXJmbG93RWxlbWVudChjdXJyZW50Tm9kZSkgJiYgIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmIGhhc0ZpeGVkUG9zaXRpb25BbmNlc3RvcihlbGVtZW50LCBjdXJyZW50Tm9kZSk7XG4gICAgaWYgKHNob3VsZERyb3BDdXJyZW50Tm9kZSkge1xuICAgICAgLy8gRHJvcCBub24tY29udGFpbmluZyBibG9ja3MuXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKGFuY2VzdG9yID0+IGFuY2VzdG9yICE9PSBjdXJyZW50Tm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlY29yZCBsYXN0IGNvbnRhaW5pbmcgYmxvY2sgZm9yIG5leHQgaXRlcmF0aW9uLlxuICAgICAgY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgPSBjb21wdXRlZFN0eWxlO1xuICAgIH1cbiAgICBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoY3VycmVudE5vZGUpO1xuICB9XG4gIGNhY2hlLnNldChlbGVtZW50LCByZXN1bHQpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBHZXRzIHRoZSBtYXhpbXVtIGFyZWEgdGhhdCB0aGUgZWxlbWVudCBpcyB2aXNpYmxlIGluIGR1ZSB0byBhbnkgbnVtYmVyIG9mXG4vLyBjbGlwcGluZyBhbmNlc3RvcnMuXG5mdW5jdGlvbiBnZXRDbGlwcGluZ1JlY3QoX3JlZikge1xuICBsZXQge1xuICAgIGVsZW1lbnQsXG4gICAgYm91bmRhcnksXG4gICAgcm9vdEJvdW5kYXJ5LFxuICAgIHN0cmF0ZWd5XG4gIH0gPSBfcmVmO1xuICBjb25zdCBlbGVtZW50Q2xpcHBpbmdBbmNlc3RvcnMgPSBib3VuZGFyeSA9PT0gJ2NsaXBwaW5nQW5jZXN0b3JzJyA/IGlzVG9wTGF5ZXIoZWxlbWVudCkgPyBbXSA6IGdldENsaXBwaW5nRWxlbWVudEFuY2VzdG9ycyhlbGVtZW50LCB0aGlzLl9jKSA6IFtdLmNvbmNhdChib3VuZGFyeSk7XG4gIGNvbnN0IGNsaXBwaW5nQW5jZXN0b3JzID0gWy4uLmVsZW1lbnRDbGlwcGluZ0FuY2VzdG9ycywgcm9vdEJvdW5kYXJ5XTtcbiAgY29uc3QgZmlyc3RSZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGNsaXBwaW5nQW5jZXN0b3JzWzBdLCBzdHJhdGVneSk7XG4gIGxldCB0b3AgPSBmaXJzdFJlY3QudG9wO1xuICBsZXQgcmlnaHQgPSBmaXJzdFJlY3QucmlnaHQ7XG4gIGxldCBib3R0b20gPSBmaXJzdFJlY3QuYm90dG9tO1xuICBsZXQgbGVmdCA9IGZpcnN0UmVjdC5sZWZ0O1xuICBmb3IgKGxldCBpID0gMTsgaSA8IGNsaXBwaW5nQW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcmVjdCA9IGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yc1tpXSwgc3RyYXRlZ3kpO1xuICAgIHRvcCA9IG1heChyZWN0LnRvcCwgdG9wKTtcbiAgICByaWdodCA9IG1pbihyZWN0LnJpZ2h0LCByaWdodCk7XG4gICAgYm90dG9tID0gbWluKHJlY3QuYm90dG9tLCBib3R0b20pO1xuICAgIGxlZnQgPSBtYXgocmVjdC5sZWZ0LCBsZWZ0KTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoOiByaWdodCAtIGxlZnQsXG4gICAgaGVpZ2h0OiBib3R0b20gLSB0b3AsXG4gICAgeDogbGVmdCxcbiAgICB5OiB0b3BcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGVsZW1lbnQsIG9mZnNldFBhcmVudCwgc3RyYXRlZ3kpIHtcbiAgY29uc3QgaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IGdldERvY3VtZW50RWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBjb25zdCBpc0ZpeGVkID0gc3RyYXRlZ3kgPT09ICdmaXhlZCc7XG4gIGNvbnN0IHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgaXNGaXhlZCwgb2Zmc2V0UGFyZW50KTtcbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuXG4gIC8vIElmIHRoZSA8Ym9keT4gc2Nyb2xsYmFyIGFwcGVhcnMgb24gdGhlIGxlZnQgKGUuZy4gUlRMIHN5c3RlbXMpLiBVc2VcbiAgLy8gRmlyZWZveCB3aXRoIGxheW91dC5zY3JvbGxiYXIuc2lkZSA9IDMgaW4gYWJvdXQ6Y29uZmlnIHRvIHRlc3QgdGhpcy5cbiAgZnVuY3Rpb24gc2V0TGVmdFJUTFNjcm9sbGJhck9mZnNldCgpIHtcbiAgICBvZmZzZXRzLnggPSBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCk7XG4gIH1cbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgaXNPdmVyZmxvd0VsZW1lbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50LCB0cnVlLCBpc0ZpeGVkLCBvZmZzZXRQYXJlbnQpO1xuICAgICAgb2Zmc2V0cy54ID0gb2Zmc2V0UmVjdC54ICsgb2Zmc2V0UGFyZW50LmNsaWVudExlZnQ7XG4gICAgICBvZmZzZXRzLnkgPSBvZmZzZXRSZWN0LnkgKyBvZmZzZXRQYXJlbnQuY2xpZW50VG9wO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICBzZXRMZWZ0UlRMU2Nyb2xsYmFyT2Zmc2V0KCk7XG4gICAgfVxuICB9XG4gIGlmIChpc0ZpeGVkICYmICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiBkb2N1bWVudEVsZW1lbnQpIHtcbiAgICBzZXRMZWZ0UlRMU2Nyb2xsYmFyT2Zmc2V0KCk7XG4gIH1cbiAgY29uc3QgaHRtbE9mZnNldCA9IGRvY3VtZW50RWxlbWVudCAmJiAhaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgJiYgIWlzRml4ZWQgPyBnZXRIVE1MT2Zmc2V0KGRvY3VtZW50RWxlbWVudCwgc2Nyb2xsKSA6IGNyZWF0ZUNvb3JkcygwKTtcbiAgY29uc3QgeCA9IHJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC0gb2Zmc2V0cy54IC0gaHRtbE9mZnNldC54O1xuICBjb25zdCB5ID0gcmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wIC0gb2Zmc2V0cy55IC0gaHRtbE9mZnNldC55O1xuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljUG9zaXRpb25lZChlbGVtZW50KSB7XG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlJDEoZWxlbWVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnO1xufVxuXG5mdW5jdGlvbiBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKSB7XG4gIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCBnZXRDb21wdXRlZFN0eWxlJDEoZWxlbWVudCkucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAocG9seWZpbGwpIHtcbiAgICByZXR1cm4gcG9seWZpbGwoZWxlbWVudCk7XG4gIH1cbiAgbGV0IHJhd09mZnNldFBhcmVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50O1xuXG4gIC8vIEZpcmVmb3ggcmV0dXJucyB0aGUgPGh0bWw+IGVsZW1lbnQgYXMgdGhlIG9mZnNldFBhcmVudCBpZiBpdCdzIG5vbi1zdGF0aWMsXG4gIC8vIHdoaWxlIENocm9tZSBhbmQgU2FmYXJpIHJldHVybiB0aGUgPGJvZHk+IGVsZW1lbnQuIFRoZSA8Ym9keT4gZWxlbWVudCBtdXN0XG4gIC8vIGJlIHVzZWQgdG8gcGVyZm9ybSB0aGUgY29ycmVjdCBjYWxjdWxhdGlvbnMgZXZlbiBpZiB0aGUgPGh0bWw+IGVsZW1lbnQgaXNcbiAgLy8gbm9uLXN0YXRpYy5cbiAgaWYgKGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSA9PT0gcmF3T2Zmc2V0UGFyZW50KSB7XG4gICAgcmF3T2Zmc2V0UGFyZW50ID0gcmF3T2Zmc2V0UGFyZW50Lm93bmVyRG9jdW1lbnQuYm9keTtcbiAgfVxuICByZXR1cm4gcmF3T2Zmc2V0UGFyZW50O1xufVxuXG4vLyBHZXRzIHRoZSBjbG9zZXN0IGFuY2VzdG9yIHBvc2l0aW9uZWQgZWxlbWVudC4gSGFuZGxlcyBzb21lIGVkZ2UgY2FzZXMsXG4vLyBzdWNoIGFzIHRhYmxlIGFuY2VzdG9ycyBhbmQgY3Jvc3MgYnJvd3NlciBidWdzLlxuZnVuY3Rpb24gZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKSB7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgaWYgKGlzVG9wTGF5ZXIoZWxlbWVudCkpIHtcbiAgICByZXR1cm4gd2luO1xuICB9XG4gIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSkge1xuICAgIGxldCBzdmdPZmZzZXRQYXJlbnQgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICAgIHdoaWxlIChzdmdPZmZzZXRQYXJlbnQgJiYgIWlzTGFzdFRyYXZlcnNhYmxlTm9kZShzdmdPZmZzZXRQYXJlbnQpKSB7XG4gICAgICBpZiAoaXNFbGVtZW50KHN2Z09mZnNldFBhcmVudCkgJiYgIWlzU3RhdGljUG9zaXRpb25lZChzdmdPZmZzZXRQYXJlbnQpKSB7XG4gICAgICAgIHJldHVybiBzdmdPZmZzZXRQYXJlbnQ7XG4gICAgICB9XG4gICAgICBzdmdPZmZzZXRQYXJlbnQgPSBnZXRQYXJlbnROb2RlKHN2Z09mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIHJldHVybiB3aW47XG4gIH1cbiAgbGV0IG9mZnNldFBhcmVudCA9IGdldFRydWVPZmZzZXRQYXJlbnQoZWxlbWVudCwgcG9seWZpbGwpO1xuICB3aGlsZSAob2Zmc2V0UGFyZW50ICYmIGlzVGFibGVFbGVtZW50KG9mZnNldFBhcmVudCkgJiYgaXNTdGF0aWNQb3NpdGlvbmVkKG9mZnNldFBhcmVudCkpIHtcbiAgICBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KG9mZnNldFBhcmVudCwgcG9seWZpbGwpO1xuICB9XG4gIGlmIChvZmZzZXRQYXJlbnQgJiYgaXNMYXN0VHJhdmVyc2FibGVOb2RlKG9mZnNldFBhcmVudCkgJiYgaXNTdGF0aWNQb3NpdGlvbmVkKG9mZnNldFBhcmVudCkgJiYgIWlzQ29udGFpbmluZ0Jsb2NrKG9mZnNldFBhcmVudCkpIHtcbiAgICByZXR1cm4gd2luO1xuICB9XG4gIHJldHVybiBvZmZzZXRQYXJlbnQgfHwgZ2V0Q29udGFpbmluZ0Jsb2NrKGVsZW1lbnQpIHx8IHdpbjtcbn1cblxuY29uc3QgZ2V0RWxlbWVudFJlY3RzID0gYXN5bmMgZnVuY3Rpb24gKGRhdGEpIHtcbiAgY29uc3QgZ2V0T2Zmc2V0UGFyZW50Rm4gPSB0aGlzLmdldE9mZnNldFBhcmVudCB8fCBnZXRPZmZzZXRQYXJlbnQ7XG4gIGNvbnN0IGdldERpbWVuc2lvbnNGbiA9IHRoaXMuZ2V0RGltZW5zaW9ucztcbiAgY29uc3QgZmxvYXRpbmdEaW1lbnNpb25zID0gYXdhaXQgZ2V0RGltZW5zaW9uc0ZuKGRhdGEuZmxvYXRpbmcpO1xuICByZXR1cm4ge1xuICAgIHJlZmVyZW5jZTogZ2V0UmVjdFJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoZGF0YS5yZWZlcmVuY2UsIGF3YWl0IGdldE9mZnNldFBhcmVudEZuKGRhdGEuZmxvYXRpbmcpLCBkYXRhLnN0cmF0ZWd5KSxcbiAgICBmbG9hdGluZzoge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDAsXG4gICAgICB3aWR0aDogZmxvYXRpbmdEaW1lbnNpb25zLndpZHRoLFxuICAgICAgaGVpZ2h0OiBmbG9hdGluZ0RpbWVuc2lvbnMuaGVpZ2h0XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gaXNSVEwoZWxlbWVudCkge1xuICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZSQxKGVsZW1lbnQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XG59XG5cbmNvbnN0IHBsYXRmb3JtID0ge1xuICBjb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCxcbiAgZ2V0RG9jdW1lbnRFbGVtZW50LFxuICBnZXRDbGlwcGluZ1JlY3QsXG4gIGdldE9mZnNldFBhcmVudCxcbiAgZ2V0RWxlbWVudFJlY3RzLFxuICBnZXRDbGllbnRSZWN0cyxcbiAgZ2V0RGltZW5zaW9ucyxcbiAgZ2V0U2NhbGUsXG4gIGlzRWxlbWVudCxcbiAgaXNSVExcbn07XG5cbmZ1bmN0aW9uIHJlY3RzQXJlRXF1YWwoYSwgYikge1xuICByZXR1cm4gYS54ID09PSBiLnggJiYgYS55ID09PSBiLnkgJiYgYS53aWR0aCA9PT0gYi53aWR0aCAmJiBhLmhlaWdodCA9PT0gYi5oZWlnaHQ7XG59XG5cbi8vIGh0dHBzOi8vc2FtdGhvci5hdS8yMDIxL29ic2VydmluZy1kb20vXG5mdW5jdGlvbiBvYnNlcnZlTW92ZShlbGVtZW50LCBvbk1vdmUpIHtcbiAgbGV0IGlvID0gbnVsbDtcbiAgbGV0IHRpbWVvdXRJZDtcbiAgY29uc3Qgcm9vdCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICB2YXIgX2lvO1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgIChfaW8gPSBpbykgPT0gbnVsbCB8fCBfaW8uZGlzY29ubmVjdCgpO1xuICAgIGlvID0gbnVsbDtcbiAgfVxuICBmdW5jdGlvbiByZWZyZXNoKHNraXAsIHRocmVzaG9sZCkge1xuICAgIGlmIChza2lwID09PSB2b2lkIDApIHtcbiAgICAgIHNraXAgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7XG4gICAgICB0aHJlc2hvbGQgPSAxO1xuICAgIH1cbiAgICBjbGVhbnVwKCk7XG4gICAgY29uc3QgZWxlbWVudFJlY3RGb3JSb290TWFyZ2luID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB7XG4gICAgICBsZWZ0LFxuICAgICAgdG9wLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gZWxlbWVudFJlY3RGb3JSb290TWFyZ2luO1xuICAgIGlmICghc2tpcCkge1xuICAgICAgb25Nb3ZlKCk7XG4gICAgfVxuICAgIGlmICghd2lkdGggfHwgIWhlaWdodCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbnNldFRvcCA9IGZsb29yKHRvcCk7XG4gICAgY29uc3QgaW5zZXRSaWdodCA9IGZsb29yKHJvb3QuY2xpZW50V2lkdGggLSAobGVmdCArIHdpZHRoKSk7XG4gICAgY29uc3QgaW5zZXRCb3R0b20gPSBmbG9vcihyb290LmNsaWVudEhlaWdodCAtICh0b3AgKyBoZWlnaHQpKTtcbiAgICBjb25zdCBpbnNldExlZnQgPSBmbG9vcihsZWZ0KTtcbiAgICBjb25zdCByb290TWFyZ2luID0gLWluc2V0VG9wICsgXCJweCBcIiArIC1pbnNldFJpZ2h0ICsgXCJweCBcIiArIC1pbnNldEJvdHRvbSArIFwicHggXCIgKyAtaW5zZXRMZWZ0ICsgXCJweFwiO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByb290TWFyZ2luLFxuICAgICAgdGhyZXNob2xkOiBtYXgoMCwgbWluKDEsIHRocmVzaG9sZCkpIHx8IDFcbiAgICB9O1xuICAgIGxldCBpc0ZpcnN0VXBkYXRlID0gdHJ1ZTtcbiAgICBmdW5jdGlvbiBoYW5kbGVPYnNlcnZlKGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHJhdGlvID0gZW50cmllc1swXS5pbnRlcnNlY3Rpb25SYXRpbztcbiAgICAgIGlmIChyYXRpbyAhPT0gdGhyZXNob2xkKSB7XG4gICAgICAgIGlmICghaXNGaXJzdFVwZGF0ZSkge1xuICAgICAgICAgIHJldHVybiByZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyYXRpbykge1xuICAgICAgICAgIC8vIElmIHRoZSByZWZlcmVuY2UgaXMgY2xpcHBlZCwgdGhlIHJhdGlvIGlzIDAuIFRocm90dGxlIHRoZSByZWZyZXNoXG4gICAgICAgICAgLy8gdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIHVwZGF0ZXMuXG4gICAgICAgICAgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoKGZhbHNlLCAxZS03KTtcbiAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWZyZXNoKGZhbHNlLCByYXRpbyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChyYXRpbyA9PT0gMSAmJiAhcmVjdHNBcmVFcXVhbChlbGVtZW50UmVjdEZvclJvb3RNYXJnaW4sIGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpKSB7XG4gICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCBldmVuIHRob3VnaCB0aGUgcmF0aW8gaXMgcmVwb3J0ZWQgYXMgMSwgdGhlXG4gICAgICAgIC8vIGVsZW1lbnQgaXMgbm90IGFjdHVhbGx5IGZ1bGx5IHdpdGhpbiB0aGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIncyByb290XG4gICAgICAgIC8vIGFyZWEgYW55bW9yZS4gVGhpcyBjYW4gaGFwcGVuIHVuZGVyIHBlcmZvcm1hbmNlIGNvbnN0cmFpbnRzLiBUaGlzIG1heVxuICAgICAgICAvLyBiZSBhIGJ1ZyBpbiB0aGUgYnJvd3NlcidzIEludGVyc2VjdGlvbk9ic2VydmVyIGltcGxlbWVudGF0aW9uLiBUb1xuICAgICAgICAvLyB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBjb21wYXJlIHRoZSBlbGVtZW50J3MgYm91bmRpbmcgcmVjdCBub3cgd2l0aFxuICAgICAgICAvLyB3aGF0IGl0IHdhcyBhdCB0aGUgdGltZSB3ZSBjcmVhdGVkIHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlci4gSWYgdGhleVxuICAgICAgICAvLyBhcmUgbm90IGVxdWFsIHRoZW4gdGhlIGVsZW1lbnQgbW92ZWQsIHNvIHdlIHJlZnJlc2guXG4gICAgICAgIHJlZnJlc2goKTtcbiAgICAgIH1cbiAgICAgIGlzRmlyc3RVcGRhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBPbGRlciBicm93c2VycyBkb24ndCBzdXBwb3J0IGEgYGRvY3VtZW50YCBhcyB0aGUgcm9vdCBhbmQgd2lsbCB0aHJvdyBhblxuICAgIC8vIGVycm9yLlxuICAgIHRyeSB7XG4gICAgICBpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihoYW5kbGVPYnNlcnZlLCB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC8vIEhhbmRsZSA8aWZyYW1lPnNcbiAgICAgICAgcm9vdDogcm9vdC5vd25lckRvY3VtZW50XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlT2JzZXJ2ZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlvLm9ic2VydmUoZWxlbWVudCk7XG4gIH1cbiAgcmVmcmVzaCh0cnVlKTtcbiAgcmV0dXJuIGNsZWFudXA7XG59XG5cbi8qKlxuICogQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIG5lY2Vzc2FyeS5cbiAqIFNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIG1vdW50ZWQgb24gdGhlIERPTSBvclxuICogdmlzaWJsZSBvbiB0aGUgc2NyZWVuLlxuICogQHJldHVybnMgY2xlYW51cCBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBpbnZva2VkIHdoZW4gdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXNcbiAqIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG9yIGhpZGRlbiBmcm9tIHRoZSBzY3JlZW4uXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1VwZGF0ZVxuICovXG5mdW5jdGlvbiBhdXRvVXBkYXRlKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHVwZGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBhbmNlc3RvclNjcm9sbCA9IHRydWUsXG4gICAgYW5jZXN0b3JSZXNpemUgPSB0cnVlLFxuICAgIGVsZW1lbnRSZXNpemUgPSB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgbGF5b3V0U2hpZnQgPSB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgYW5pbWF0aW9uRnJhbWUgPSBmYWxzZVxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgcmVmZXJlbmNlRWwgPSB1bndyYXBFbGVtZW50KHJlZmVyZW5jZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGFuY2VzdG9yU2Nyb2xsIHx8IGFuY2VzdG9yUmVzaXplID8gWy4uLihyZWZlcmVuY2VFbCA/IGdldE92ZXJmbG93QW5jZXN0b3JzKHJlZmVyZW5jZUVsKSA6IFtdKSwgLi4uKGZsb2F0aW5nID8gZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZmxvYXRpbmcpIDogW10pXSA6IFtdO1xuICBhbmNlc3RvcnMuZm9yRWFjaChhbmNlc3RvciA9PiB7XG4gICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlXG4gICAgfSk7XG4gICAgYW5jZXN0b3JSZXNpemUgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKTtcbiAgfSk7XG4gIGNvbnN0IGNsZWFudXBJbyA9IHJlZmVyZW5jZUVsICYmIGxheW91dFNoaWZ0ID8gb2JzZXJ2ZU1vdmUocmVmZXJlbmNlRWwsIHVwZGF0ZSkgOiBudWxsO1xuICBsZXQgcmVvYnNlcnZlRnJhbWUgPSAtMTtcbiAgbGV0IHJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgaWYgKGVsZW1lbnRSZXNpemUpIHtcbiAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihfcmVmID0+IHtcbiAgICAgIGxldCBbZmlyc3RFbnRyeV0gPSBfcmVmO1xuICAgICAgaWYgKGZpcnN0RW50cnkgJiYgZmlyc3RFbnRyeS50YXJnZXQgPT09IHJlZmVyZW5jZUVsICYmIHJlc2l6ZU9ic2VydmVyICYmIGZsb2F0aW5nKSB7XG4gICAgICAgIC8vIFByZXZlbnQgdXBkYXRlIGxvb3BzIHdoZW4gdXNpbmcgdGhlIGBzaXplYCBtaWRkbGV3YXJlLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzE3NDBcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmVvYnNlcnZlRnJhbWUpO1xuICAgICAgICByZW9ic2VydmVGcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdmFyIF9yZXNpemVPYnNlcnZlcjtcbiAgICAgICAgICAoX3Jlc2l6ZU9ic2VydmVyID0gcmVzaXplT2JzZXJ2ZXIpID09IG51bGwgfHwgX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmcpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZSgpO1xuICAgIH0pO1xuICAgIGlmIChyZWZlcmVuY2VFbCAmJiAhYW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUocmVmZXJlbmNlRWwpO1xuICAgIH1cbiAgICBpZiAoZmxvYXRpbmcpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmcpO1xuICAgIH1cbiAgfVxuICBsZXQgZnJhbWVJZDtcbiAgbGV0IHByZXZSZWZSZWN0ID0gYW5pbWF0aW9uRnJhbWUgPyBnZXRCb3VuZGluZ0NsaWVudFJlY3QocmVmZXJlbmNlKSA6IG51bGw7XG4gIGlmIChhbmltYXRpb25GcmFtZSkge1xuICAgIGZyYW1lTG9vcCgpO1xuICB9XG4gIGZ1bmN0aW9uIGZyYW1lTG9vcCgpIHtcbiAgICBjb25zdCBuZXh0UmVmUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChyZWZlcmVuY2UpO1xuICAgIGlmIChwcmV2UmVmUmVjdCAmJiAhcmVjdHNBcmVFcXVhbChwcmV2UmVmUmVjdCwgbmV4dFJlZlJlY3QpKSB7XG4gICAgICB1cGRhdGUoKTtcbiAgICB9XG4gICAgcHJldlJlZlJlY3QgPSBuZXh0UmVmUmVjdDtcbiAgICBmcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lTG9vcCk7XG4gIH1cbiAgdXBkYXRlKCk7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgdmFyIF9yZXNpemVPYnNlcnZlcjI7XG4gICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKTtcbiAgICAgIGFuY2VzdG9yUmVzaXplICYmIGFuY2VzdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSk7XG4gICAgfSk7XG4gICAgY2xlYW51cElvID09IG51bGwgfHwgY2xlYW51cElvKCk7XG4gICAgKF9yZXNpemVPYnNlcnZlcjIgPSByZXNpemVPYnNlcnZlcikgPT0gbnVsbCB8fCBfcmVzaXplT2JzZXJ2ZXIyLmRpc2Nvbm5lY3QoKTtcbiAgICByZXNpemVPYnNlcnZlciA9IG51bGw7XG4gICAgaWYgKGFuaW1hdGlvbkZyYW1lKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShmcmFtZUlkKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2l0aCBhbiBvYmplY3Qgb2Ygb3ZlcmZsb3cgc2lkZSBvZmZzZXRzIHRoYXQgZGV0ZXJtaW5lIGhvdyBtdWNoIHRoZVxuICogZWxlbWVudCBpcyBvdmVyZmxvd2luZyBhIGdpdmVuIGNsaXBwaW5nIGJvdW5kYXJ5IG9uIGVhY2ggc2lkZS5cbiAqIC0gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgYm91bmRhcnkgYnkgdGhhdCBudW1iZXIgb2YgcGl4ZWxzXG4gKiAtIG5lZ2F0aXZlID0gaG93IG1hbnkgcGl4ZWxzIGxlZnQgYmVmb3JlIGl0IHdpbGwgb3ZlcmZsb3dcbiAqIC0gMCA9IGxpZXMgZmx1c2ggd2l0aCB0aGUgYm91bmRhcnlcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9kZXRlY3RPdmVyZmxvd1xuICovXG5jb25zdCBkZXRlY3RPdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93JDE7XG5cbi8qKlxuICogTW9kaWZpZXMgdGhlIHBsYWNlbWVudCBieSB0cmFuc2xhdGluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbG9uZyB0aGVcbiAqIHNwZWNpZmllZCBheGVzLlxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxuICogb2JqZWN0IG1heSBiZSBwYXNzZWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gKi9cbmNvbnN0IG9mZnNldCA9IG9mZnNldCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBjaG9vc2luZyB0aGUgcGxhY2VtZW50XG4gKiB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseSwgd2l0aG91dCBuZWVkaW5nIHRvIHNwZWNpZnkgYVxuICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9QbGFjZW1lbnRcbiAqL1xuY29uc3QgYXV0b1BsYWNlbWVudCA9IGF1dG9QbGFjZW1lbnQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cbiAqIGtlZXAgaXQgaW4gdmlldyB3aGVuIGl0IHdpbGwgb3ZlcmZsb3cgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NoaWZ0XG4gKi9cbmNvbnN0IHNoaWZ0ID0gc2hpZnQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgZmxpcHBpbmcgdGhlIGBwbGFjZW1lbnRgXG4gKiBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcgd2hlbiB0aGUgcHJlZmVycmVkIHBsYWNlbWVudChzKSB3aWxsIG92ZXJmbG93IHRoZVxuICogY2xpcHBpbmcgYm91bmRhcnkuIEFsdGVybmF0aXZlIHRvIGBhdXRvUGxhY2VtZW50YC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9mbGlwXG4gKi9cbmNvbnN0IGZsaXAgPSBmbGlwJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0aGF0IGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IOKAlFxuICogZm9yIGluc3RhbmNlLCBwcmV2ZW50IGl0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5IG9yIG1hdGNoIHRoZVxuICogd2lkdGggb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NpemVcbiAqL1xuY29uc3Qgc2l6ZSA9IHNpemUkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIGhpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaW4gYXBwbGljYWJsZSBzaXR1YXRpb25zLCBzdWNoIGFzXG4gKiB3aGVuIGl0IGlzIG5vdCBpbiB0aGUgc2FtZSBjbGlwcGluZyBjb250ZXh0IGFzIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9oaWRlXG4gKi9cbmNvbnN0IGhpZGUgPSBoaWRlJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93ID0gYXJyb3ckMTtcblxuLyoqXG4gKiBQcm92aWRlcyBpbXByb3ZlZCBwb3NpdGlvbmluZyBmb3IgaW5saW5lIHJlZmVyZW5jZSBlbGVtZW50cyB0aGF0IGNhbiBzcGFuXG4gKiBvdmVyIG11bHRpcGxlIGxpbmVzLCBzdWNoIGFzIGh5cGVybGlua3Mgb3IgcmFuZ2Ugc2VsZWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbmxpbmVcbiAqL1xuY29uc3QgaW5saW5lID0gaW5saW5lJDE7XG5cbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSBsaW1pdFNoaWZ0JDE7XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGB4YCBhbmQgYHlgIGNvb3JkaW5hdGVzIHRoYXQgd2lsbCBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudFxuICogbmV4dCB0byBhIGdpdmVuIHJlZmVyZW5jZSBlbGVtZW50LlxuICovXG5jb25zdCBjb21wdXRlUG9zaXRpb24gPSAocmVmZXJlbmNlLCBmbG9hdGluZywgb3B0aW9ucykgPT4ge1xuICAvLyBUaGlzIGNhY2hlcyB0aGUgZXhwZW5zaXZlIGBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnNgIGZ1bmN0aW9uIHNvIHRoYXRcbiAgLy8gbXVsdGlwbGUgbGlmZWN5Y2xlIHJlc2V0cyByZS11c2UgdGhlIHNhbWUgcmVzdWx0LiBJdCBvbmx5IGxpdmVzIGZvciBhXG4gIC8vIHNpbmdsZSBjYWxsLiBJZiBvdGhlciBmdW5jdGlvbnMgYmVjb21lIGV4cGVuc2l2ZSwgd2UgY2FuIGFkZCB0aGVtIGFzIHdlbGwuXG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcCgpO1xuICBjb25zdCBtZXJnZWRPcHRpb25zID0ge1xuICAgIHBsYXRmb3JtLFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbiAgY29uc3QgcGxhdGZvcm1XaXRoQ2FjaGUgPSB7XG4gICAgLi4ubWVyZ2VkT3B0aW9ucy5wbGF0Zm9ybSxcbiAgICBfYzogY2FjaGVcbiAgfTtcbiAgcmV0dXJuIGNvbXB1dGVQb3NpdGlvbiQxKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHtcbiAgICAuLi5tZXJnZWRPcHRpb25zLFxuICAgIHBsYXRmb3JtOiBwbGF0Zm9ybVdpdGhDYWNoZVxuICB9KTtcbn07XG5cbmV4cG9ydCB7IGFycm93LCBhdXRvUGxhY2VtZW50LCBhdXRvVXBkYXRlLCBjb21wdXRlUG9zaXRpb24sIGRldGVjdE92ZXJmbG93LCBmbGlwLCBoaWRlLCBpbmxpbmUsIGxpbWl0U2hpZnQsIG9mZnNldCwgcGxhdGZvcm0sIHNoaWZ0LCBzaXplIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs":
|
||
/*!************************************************************************!*\
|
||
!*** ./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs ***!
|
||
\************************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getComputedStyle: function() { return /* binding */ getComputedStyle; },\n/* harmony export */ getContainingBlock: function() { return /* binding */ getContainingBlock; },\n/* harmony export */ getDocumentElement: function() { return /* binding */ getDocumentElement; },\n/* harmony export */ getFrameElement: function() { return /* binding */ getFrameElement; },\n/* harmony export */ getNearestOverflowAncestor: function() { return /* binding */ getNearestOverflowAncestor; },\n/* harmony export */ getNodeName: function() { return /* binding */ getNodeName; },\n/* harmony export */ getNodeScroll: function() { return /* binding */ getNodeScroll; },\n/* harmony export */ getOverflowAncestors: function() { return /* binding */ getOverflowAncestors; },\n/* harmony export */ getParentNode: function() { return /* binding */ getParentNode; },\n/* harmony export */ getWindow: function() { return /* binding */ getWindow; },\n/* harmony export */ isContainingBlock: function() { return /* binding */ isContainingBlock; },\n/* harmony export */ isElement: function() { return /* binding */ isElement; },\n/* harmony export */ isHTMLElement: function() { return /* binding */ isHTMLElement; },\n/* harmony export */ isLastTraversableNode: function() { return /* binding */ isLastTraversableNode; },\n/* harmony export */ isNode: function() { return /* binding */ isNode; },\n/* harmony export */ isOverflowElement: function() { return /* binding */ isOverflowElement; },\n/* harmony export */ isShadowRoot: function() { return /* binding */ isShadowRoot; },\n/* harmony export */ isTableElement: function() { return /* binding */ isTableElement; },\n/* harmony export */ isTopLayer: function() { return /* binding */ isTopLayer; },\n/* harmony export */ isWebKit: function() { return /* binding */ isWebKit; }\n/* harmony export */ });\nfunction hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5kb20ubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5kb20ubWpzPzMwNTciXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gaGFzV2luZG93KCkge1xuICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCc7XG59XG5mdW5jdGlvbiBnZXROb2RlTmFtZShub2RlKSB7XG4gIGlmIChpc05vZGUobm9kZSkpIHtcbiAgICByZXR1cm4gKG5vZGUubm9kZU5hbWUgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gIH1cbiAgLy8gTW9ja2VkIG5vZGVzIGluIHRlc3RpbmcgZW52aXJvbm1lbnRzIG1heSBub3QgYmUgaW5zdGFuY2VzIG9mIE5vZGUuIEJ5XG4gIC8vIHJldHVybmluZyBgI2RvY3VtZW50YCBhbiBpbmZpbml0ZSBsb29wIHdvbid0IG9jY3VyLlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzIzMTdcbiAgcmV0dXJuICcjZG9jdW1lbnQnO1xufVxuZnVuY3Rpb24gZ2V0V2luZG93KG5vZGUpIHtcbiAgdmFyIF9ub2RlJG93bmVyRG9jdW1lbnQ7XG4gIHJldHVybiAobm9kZSA9PSBudWxsIHx8IChfbm9kZSRvd25lckRvY3VtZW50ID0gbm9kZS5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldykgfHwgd2luZG93O1xufVxuZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50KG5vZGUpIHtcbiAgdmFyIF9yZWY7XG4gIHJldHVybiAoX3JlZiA9IChpc05vZGUobm9kZSkgPyBub2RlLm93bmVyRG9jdW1lbnQgOiBub2RlLmRvY3VtZW50KSB8fCB3aW5kb3cuZG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfcmVmLmRvY3VtZW50RWxlbWVudDtcbn1cbmZ1bmN0aW9uIGlzTm9kZSh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIE5vZGUgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLk5vZGU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpIHtcbiAgaWYgKCFoYXNXaW5kb3coKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5FbGVtZW50O1xufVxuZnVuY3Rpb24gaXNIVE1MRWxlbWVudCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5IVE1MRWxlbWVudDtcbn1cbmZ1bmN0aW9uIGlzU2hhZG93Um9vdCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpIHx8IHR5cGVvZiBTaGFkb3dSb290ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTaGFkb3dSb290IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5TaGFkb3dSb290O1xufVxuZnVuY3Rpb24gaXNPdmVyZmxvd0VsZW1lbnQoZWxlbWVudCkge1xuICBjb25zdCB7XG4gICAgb3ZlcmZsb3csXG4gICAgb3ZlcmZsb3dYLFxuICAgIG92ZXJmbG93WSxcbiAgICBkaXNwbGF5XG4gIH0gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICByZXR1cm4gL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVufGNsaXAvLnRlc3Qob3ZlcmZsb3cgKyBvdmVyZmxvd1kgKyBvdmVyZmxvd1gpICYmIGRpc3BsYXkgIT09ICdpbmxpbmUnICYmIGRpc3BsYXkgIT09ICdjb250ZW50cyc7XG59XG5mdW5jdGlvbiBpc1RhYmxlRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiAvXih0YWJsZXx0ZHx0aCkkLy50ZXN0KGdldE5vZGVOYW1lKGVsZW1lbnQpKTtcbn1cbmZ1bmN0aW9uIGlzVG9wTGF5ZXIoZWxlbWVudCkge1xuICB0cnkge1xuICAgIGlmIChlbGVtZW50Lm1hdGNoZXMoJzpwb3BvdmVyLW9wZW4nKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9IGNhdGNoIChfZSkge1xuICAgIC8vIG5vLW9wXG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCc6bW9kYWwnKTtcbiAgfSBjYXRjaCAoX2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmNvbnN0IHdpbGxDaGFuZ2VSZSA9IC90cmFuc2Zvcm18dHJhbnNsYXRlfHNjYWxlfHJvdGF0ZXxwZXJzcGVjdGl2ZXxmaWx0ZXIvO1xuY29uc3QgY29udGFpblJlID0gL3BhaW50fGxheW91dHxzdHJpY3R8Y29udGVudC87XG5jb25zdCBpc05vdE5vbmUgPSB2YWx1ZSA9PiAhIXZhbHVlICYmIHZhbHVlICE9PSAnbm9uZSc7XG5sZXQgaXNXZWJLaXRWYWx1ZTtcbmZ1bmN0aW9uIGlzQ29udGFpbmluZ0Jsb2NrKGVsZW1lbnRPckNzcykge1xuICBjb25zdCBjc3MgPSBpc0VsZW1lbnQoZWxlbWVudE9yQ3NzKSA/IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudE9yQ3NzKSA6IGVsZW1lbnRPckNzcztcblxuICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQ29udGFpbmluZ19ibG9jayNpZGVudGlmeWluZ190aGVfY29udGFpbmluZ19ibG9ja1xuICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMi8jaW5kaXZpZHVhbC10cmFuc2Zvcm1zXG4gIHJldHVybiBpc05vdE5vbmUoY3NzLnRyYW5zZm9ybSkgfHwgaXNOb3ROb25lKGNzcy50cmFuc2xhdGUpIHx8IGlzTm90Tm9uZShjc3Muc2NhbGUpIHx8IGlzTm90Tm9uZShjc3Mucm90YXRlKSB8fCBpc05vdE5vbmUoY3NzLnBlcnNwZWN0aXZlKSB8fCAhaXNXZWJLaXQoKSAmJiAoaXNOb3ROb25lKGNzcy5iYWNrZHJvcEZpbHRlcikgfHwgaXNOb3ROb25lKGNzcy5maWx0ZXIpKSB8fCB3aWxsQ2hhbmdlUmUudGVzdChjc3Mud2lsbENoYW5nZSB8fCAnJykgfHwgY29udGFpblJlLnRlc3QoY3NzLmNvbnRhaW4gfHwgJycpO1xufVxuZnVuY3Rpb24gZ2V0Q29udGFpbmluZ0Jsb2NrKGVsZW1lbnQpIHtcbiAgbGV0IGN1cnJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcbiAgd2hpbGUgKGlzSFRNTEVsZW1lbnQoY3VycmVudE5vZGUpICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUoY3VycmVudE5vZGUpKSB7XG4gICAgaWYgKGlzQ29udGFpbmluZ0Jsb2NrKGN1cnJlbnROb2RlKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnROb2RlO1xuICAgIH0gZWxzZSBpZiAoaXNUb3BMYXllcihjdXJyZW50Tm9kZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoY3VycmVudE5vZGUpO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gaXNXZWJLaXQoKSB7XG4gIGlmIChpc1dlYktpdFZhbHVlID09IG51bGwpIHtcbiAgICBpc1dlYktpdFZhbHVlID0gdHlwZW9mIENTUyAhPT0gJ3VuZGVmaW5lZCcgJiYgQ1NTLnN1cHBvcnRzICYmIENTUy5zdXBwb3J0cygnLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXInLCAnbm9uZScpO1xuICB9XG4gIHJldHVybiBpc1dlYktpdFZhbHVlO1xufVxuZnVuY3Rpb24gaXNMYXN0VHJhdmVyc2FibGVOb2RlKG5vZGUpIHtcbiAgcmV0dXJuIC9eKGh0bWx8Ym9keXwjZG9jdW1lbnQpJC8udGVzdChnZXROb2RlTmFtZShub2RlKSk7XG59XG5mdW5jdGlvbiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldFdpbmRvdyhlbGVtZW50KS5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xufVxuZnVuY3Rpb24gZ2V0Tm9kZVNjcm9sbChlbGVtZW50KSB7XG4gIGlmIChpc0VsZW1lbnQoZWxlbWVudCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgICAgc2Nyb2xsVG9wOiBlbGVtZW50LnNjcm9sbFRvcFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBzY3JvbGxMZWZ0OiBlbGVtZW50LnNjcm9sbFgsXG4gICAgc2Nyb2xsVG9wOiBlbGVtZW50LnNjcm9sbFlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhcmVudE5vZGUobm9kZSkge1xuICBpZiAoZ2V0Tm9kZU5hbWUobm9kZSkgPT09ICdodG1sJykge1xuICAgIHJldHVybiBub2RlO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9XG4gIC8vIFN0ZXAgaW50byB0aGUgc2hhZG93IERPTSBvZiB0aGUgcGFyZW50IG9mIGEgc2xvdHRlZCBub2RlLlxuICBub2RlLmFzc2lnbmVkU2xvdCB8fFxuICAvLyBET00gRWxlbWVudCBkZXRlY3RlZC5cbiAgbm9kZS5wYXJlbnROb2RlIHx8XG4gIC8vIFNoYWRvd1Jvb3QgZGV0ZWN0ZWQuXG4gIGlzU2hhZG93Um9vdChub2RlKSAmJiBub2RlLmhvc3QgfHxcbiAgLy8gRmFsbGJhY2suXG4gIGdldERvY3VtZW50RWxlbWVudChub2RlKTtcbiAgcmV0dXJuIGlzU2hhZG93Um9vdChyZXN1bHQpID8gcmVzdWx0Lmhvc3QgOiByZXN1bHQ7XG59XG5mdW5jdGlvbiBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3Rvcihub2RlKSB7XG4gIGNvbnN0IHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKG5vZGUpO1xuICBpZiAoaXNMYXN0VHJhdmVyc2FibGVOb2RlKHBhcmVudE5vZGUpKSB7XG4gICAgcmV0dXJuIG5vZGUub3duZXJEb2N1bWVudCA/IG5vZGUub3duZXJEb2N1bWVudC5ib2R5IDogbm9kZS5ib2R5O1xuICB9XG4gIGlmIChpc0hUTUxFbGVtZW50KHBhcmVudE5vZGUpICYmIGlzT3ZlcmZsb3dFbGVtZW50KHBhcmVudE5vZGUpKSB7XG4gICAgcmV0dXJuIHBhcmVudE5vZGU7XG4gIH1cbiAgcmV0dXJuIGdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yKHBhcmVudE5vZGUpO1xufVxuZnVuY3Rpb24gZ2V0T3ZlcmZsb3dBbmNlc3RvcnMobm9kZSwgbGlzdCwgdHJhdmVyc2VJZnJhbWVzKSB7XG4gIHZhciBfbm9kZSRvd25lckRvY3VtZW50MjtcbiAgaWYgKGxpc3QgPT09IHZvaWQgMCkge1xuICAgIGxpc3QgPSBbXTtcbiAgfVxuICBpZiAodHJhdmVyc2VJZnJhbWVzID09PSB2b2lkIDApIHtcbiAgICB0cmF2ZXJzZUlmcmFtZXMgPSB0cnVlO1xuICB9XG4gIGNvbnN0IHNjcm9sbGFibGVBbmNlc3RvciA9IGdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yKG5vZGUpO1xuICBjb25zdCBpc0JvZHkgPSBzY3JvbGxhYmxlQW5jZXN0b3IgPT09ICgoX25vZGUkb3duZXJEb2N1bWVudDIgPSBub2RlLm93bmVyRG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRvd25lckRvY3VtZW50Mi5ib2R5KTtcbiAgY29uc3Qgd2luID0gZ2V0V2luZG93KHNjcm9sbGFibGVBbmNlc3Rvcik7XG4gIGlmIChpc0JvZHkpIHtcbiAgICBjb25zdCBmcmFtZUVsZW1lbnQgPSBnZXRGcmFtZUVsZW1lbnQod2luKTtcbiAgICByZXR1cm4gbGlzdC5jb25jYXQod2luLCB3aW4udmlzdWFsVmlld3BvcnQgfHwgW10sIGlzT3ZlcmZsb3dFbGVtZW50KHNjcm9sbGFibGVBbmNlc3RvcikgPyBzY3JvbGxhYmxlQW5jZXN0b3IgOiBbXSwgZnJhbWVFbGVtZW50ICYmIHRyYXZlcnNlSWZyYW1lcyA/IGdldE92ZXJmbG93QW5jZXN0b3JzKGZyYW1lRWxlbWVudCkgOiBbXSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KHNjcm9sbGFibGVBbmNlc3RvciwgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoc2Nyb2xsYWJsZUFuY2VzdG9yLCBbXSwgdHJhdmVyc2VJZnJhbWVzKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldEZyYW1lRWxlbWVudCh3aW4pIHtcbiAgcmV0dXJuIHdpbi5wYXJlbnQgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHdpbi5wYXJlbnQpID8gd2luLmZyYW1lRWxlbWVudCA6IG51bGw7XG59XG5cbmV4cG9ydCB7IGdldENvbXB1dGVkU3R5bGUsIGdldENvbnRhaW5pbmdCbG9jaywgZ2V0RG9jdW1lbnRFbGVtZW50LCBnZXRGcmFtZUVsZW1lbnQsIGdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yLCBnZXROb2RlTmFtZSwgZ2V0Tm9kZVNjcm9sbCwgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMsIGdldFBhcmVudE5vZGUsIGdldFdpbmRvdywgaXNDb250YWluaW5nQmxvY2ssIGlzRWxlbWVudCwgaXNIVE1MRWxlbWVudCwgaXNMYXN0VHJhdmVyc2FibGVOb2RlLCBpc05vZGUsIGlzT3ZlcmZsb3dFbGVtZW50LCBpc1NoYWRvd1Jvb3QsIGlzVGFibGVFbGVtZW50LCBpc1RvcExheWVyLCBpc1dlYktpdCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs":
|
||
/*!********************************************************************!*\
|
||
!*** ./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs ***!
|
||
\********************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ alignments: function() { return /* binding */ alignments; },\n/* harmony export */ clamp: function() { return /* binding */ clamp; },\n/* harmony export */ createCoords: function() { return /* binding */ createCoords; },\n/* harmony export */ evaluate: function() { return /* binding */ evaluate; },\n/* harmony export */ expandPaddingObject: function() { return /* binding */ expandPaddingObject; },\n/* harmony export */ floor: function() { return /* binding */ floor; },\n/* harmony export */ getAlignment: function() { return /* binding */ getAlignment; },\n/* harmony export */ getAlignmentAxis: function() { return /* binding */ getAlignmentAxis; },\n/* harmony export */ getAlignmentSides: function() { return /* binding */ getAlignmentSides; },\n/* harmony export */ getAxisLength: function() { return /* binding */ getAxisLength; },\n/* harmony export */ getExpandedPlacements: function() { return /* binding */ getExpandedPlacements; },\n/* harmony export */ getOppositeAlignmentPlacement: function() { return /* binding */ getOppositeAlignmentPlacement; },\n/* harmony export */ getOppositeAxis: function() { return /* binding */ getOppositeAxis; },\n/* harmony export */ getOppositeAxisPlacements: function() { return /* binding */ getOppositeAxisPlacements; },\n/* harmony export */ getOppositePlacement: function() { return /* binding */ getOppositePlacement; },\n/* harmony export */ getPaddingObject: function() { return /* binding */ getPaddingObject; },\n/* harmony export */ getSide: function() { return /* binding */ getSide; },\n/* harmony export */ getSideAxis: function() { return /* binding */ getSideAxis; },\n/* harmony export */ max: function() { return /* binding */ max; },\n/* harmony export */ min: function() { return /* binding */ min; },\n/* harmony export */ placements: function() { return /* binding */ placements; },\n/* harmony export */ rectToClientRect: function() { return /* binding */ rectToClientRect; },\n/* harmony export */ round: function() { return /* binding */ round; },\n/* harmony export */ sides: function() { return /* binding */ sides; }\n/* harmony export */ });\n/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFeVciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS91dGlscy9kaXN0L2Zsb2F0aW5nLXVpLnV0aWxzLm1qcz81OTQ0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3VzdG9tIHBvc2l0aW9uaW5nIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3ZpcnR1YWwtZWxlbWVudHNcbiAqL1xuXG5jb25zdCBzaWRlcyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5jb25zdCBhbGlnbm1lbnRzID0gWydzdGFydCcsICdlbmQnXTtcbmNvbnN0IHBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovc2lkZXMucmVkdWNlKChhY2MsIHNpZGUpID0+IGFjYy5jb25jYXQoc2lkZSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1swXSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1sxXSksIFtdKTtcbmNvbnN0IG1pbiA9IE1hdGgubWluO1xuY29uc3QgbWF4ID0gTWF0aC5tYXg7XG5jb25zdCByb3VuZCA9IE1hdGgucm91bmQ7XG5jb25zdCBmbG9vciA9IE1hdGguZmxvb3I7XG5jb25zdCBjcmVhdGVDb29yZHMgPSB2ID0+ICh7XG4gIHg6IHYsXG4gIHk6IHZcbn0pO1xuY29uc3Qgb3Bwb3NpdGVTaWRlTWFwID0ge1xuICBsZWZ0OiAncmlnaHQnLFxuICByaWdodDogJ2xlZnQnLFxuICBib3R0b206ICd0b3AnLFxuICB0b3A6ICdib3R0b20nXG59O1xuZnVuY3Rpb24gY2xhbXAoc3RhcnQsIHZhbHVlLCBlbmQpIHtcbiAgcmV0dXJuIG1heChzdGFydCwgbWluKHZhbHVlLCBlbmQpKTtcbn1cbmZ1bmN0aW9uIGV2YWx1YXRlKHZhbHVlLCBwYXJhbSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gdmFsdWUocGFyYW0pIDogdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRTaWRlKHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQXhpcyhheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneCcgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBeGlzTGVuZ3RoKGF4aXMpIHtcbiAgcmV0dXJuIGF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbn1cbmZ1bmN0aW9uIGdldFNpZGVBeGlzKHBsYWNlbWVudCkge1xuICBjb25zdCBmaXJzdENoYXIgPSBwbGFjZW1lbnRbMF07XG4gIHJldHVybiBmaXJzdENoYXIgPT09ICd0JyB8fCBmaXJzdENoYXIgPT09ICdiJyA/ICd5JyA6ICd4Jztcbn1cbmZ1bmN0aW9uIGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KSB7XG4gIHJldHVybiBnZXRPcHBvc2l0ZUF4aXMoZ2V0U2lkZUF4aXMocGxhY2VtZW50KSk7XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnRTaWRlcyhwbGFjZW1lbnQsIHJlY3RzLCBydGwpIHtcbiAgaWYgKHJ0bCA9PT0gdm9pZCAwKSB7XG4gICAgcnRsID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWdubWVudEF4aXMgPSBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCk7XG4gIGNvbnN0IGxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYWxpZ25tZW50QXhpcyk7XG4gIGxldCBtYWluQWxpZ25tZW50U2lkZSA9IGFsaWdubWVudEF4aXMgPT09ICd4JyA/IGFsaWdubWVudCA9PT0gKHJ0bCA/ICdlbmQnIDogJ3N0YXJ0JykgPyAncmlnaHQnIDogJ2xlZnQnIDogYWxpZ25tZW50ID09PSAnc3RhcnQnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgaWYgKHJlY3RzLnJlZmVyZW5jZVtsZW5ndGhdID4gcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXSkge1xuICAgIG1haW5BbGlnbm1lbnRTaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpbkFsaWdubWVudFNpZGUpO1xuICB9XG4gIHJldHVybiBbbWFpbkFsaWdubWVudFNpZGUsIGdldE9wcG9zaXRlUGxhY2VtZW50KG1haW5BbGlnbm1lbnRTaWRlKV07XG59XG5mdW5jdGlvbiBnZXRFeHBhbmRlZFBsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGNvbnN0IG9wcG9zaXRlUGxhY2VtZW50ID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgcmV0dXJuIFtnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpLCBvcHBvc2l0ZVBsYWNlbWVudCwgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQob3Bwb3NpdGVQbGFjZW1lbnQpXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LmluY2x1ZGVzKCdzdGFydCcpID8gcGxhY2VtZW50LnJlcGxhY2UoJ3N0YXJ0JywgJ2VuZCcpIDogcGxhY2VtZW50LnJlcGxhY2UoJ2VuZCcsICdzdGFydCcpO1xufVxuY29uc3QgbHJQbGFjZW1lbnQgPSBbJ2xlZnQnLCAncmlnaHQnXTtcbmNvbnN0IHJsUGxhY2VtZW50ID0gWydyaWdodCcsICdsZWZ0J107XG5jb25zdCB0YlBsYWNlbWVudCA9IFsndG9wJywgJ2JvdHRvbSddO1xuY29uc3QgYnRQbGFjZW1lbnQgPSBbJ2JvdHRvbScsICd0b3AnXTtcbmZ1bmN0aW9uIGdldFNpZGVMaXN0KHNpZGUsIGlzU3RhcnQsIHJ0bCkge1xuICBzd2l0Y2ggKHNpZGUpIHtcbiAgICBjYXNlICd0b3AnOlxuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICBpZiAocnRsKSByZXR1cm4gaXNTdGFydCA/IHJsUGxhY2VtZW50IDogbHJQbGFjZW1lbnQ7XG4gICAgICByZXR1cm4gaXNTdGFydCA/IGxyUGxhY2VtZW50IDogcmxQbGFjZW1lbnQ7XG4gICAgY2FzZSAnbGVmdCc6XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgcmV0dXJuIGlzU3RhcnQgPyB0YlBsYWNlbWVudCA6IGJ0UGxhY2VtZW50O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gW107XG4gIH1cbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMocGxhY2VtZW50LCBmbGlwQWxpZ25tZW50LCBkaXJlY3Rpb24sIHJ0bCkge1xuICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQocGxhY2VtZW50KTtcbiAgbGV0IGxpc3QgPSBnZXRTaWRlTGlzdChnZXRTaWRlKHBsYWNlbWVudCksIGRpcmVjdGlvbiA9PT0gJ3N0YXJ0JywgcnRsKTtcbiAgaWYgKGFsaWdubWVudCkge1xuICAgIGxpc3QgPSBsaXN0Lm1hcChzaWRlID0+IHNpZGUgKyBcIi1cIiArIGFsaWdubWVudCk7XG4gICAgaWYgKGZsaXBBbGlnbm1lbnQpIHtcbiAgICAgIGxpc3QgPSBsaXN0LmNvbmNhdChsaXN0Lm1hcChnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbGlzdDtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xuICByZXR1cm4gb3Bwb3NpdGVTaWRlTWFwW3NpZGVdICsgcGxhY2VtZW50LnNsaWNlKHNpZGUubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIGV4cGFuZFBhZGRpbmdPYmplY3QocGFkZGluZykge1xuICByZXR1cm4ge1xuICAgIHRvcDogMCxcbiAgICByaWdodDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMCxcbiAgICAuLi5wYWRkaW5nXG4gIH07XG59XG5mdW5jdGlvbiBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IGV4cGFuZFBhZGRpbmdPYmplY3QocGFkZGluZykgOiB7XG4gICAgdG9wOiBwYWRkaW5nLFxuICAgIHJpZ2h0OiBwYWRkaW5nLFxuICAgIGJvdHRvbTogcGFkZGluZyxcbiAgICBsZWZ0OiBwYWRkaW5nXG4gIH07XG59XG5mdW5jdGlvbiByZWN0VG9DbGllbnRSZWN0KHJlY3QpIHtcbiAgY29uc3Qge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IHJlY3Q7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHRvcDogeSxcbiAgICBsZWZ0OiB4LFxuICAgIHJpZ2h0OiB4ICsgd2lkdGgsXG4gICAgYm90dG9tOiB5ICsgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5leHBvcnQgeyBhbGlnbm1lbnRzLCBjbGFtcCwgY3JlYXRlQ29vcmRzLCBldmFsdWF0ZSwgZXhwYW5kUGFkZGluZ09iamVjdCwgZmxvb3IsIGdldEFsaWdubWVudCwgZ2V0QWxpZ25tZW50QXhpcywgZ2V0QWxpZ25tZW50U2lkZXMsIGdldEF4aXNMZW5ndGgsIGdldEV4cGFuZGVkUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQsIGdldE9wcG9zaXRlQXhpcywgZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQsIGdldFBhZGRpbmdPYmplY3QsIGdldFNpZGUsIGdldFNpZGVBeGlzLCBtYXgsIG1pbiwgcGxhY2VtZW50cywgcmVjdFRvQ2xpZW50UmVjdCwgcm91bmQsIHNpZGVzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-timezone-select/dist/index.js":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/react-timezone-select/dist/index.js ***!
|
||
\**********************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ allTimezones: function() { return /* binding */ timezone_list_default; },\n/* harmony export */ \"default\": function() { return /* binding */ TimezoneSelect; },\n/* harmony export */ useTimezoneSelect: function() { return /* binding */ useTimezoneSelect; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-select */ \"(app-pages-browser)/./node_modules/react-select/dist/react-select.esm.js\");\n/* harmony import */ var spacetime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! spacetime */ \"(app-pages-browser)/./node_modules/spacetime/builds/spacetime.mjs\");\n/* harmony import */ var timezone_soft__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! timezone-soft */ \"(app-pages-browser)/./node_modules/timezone-soft/builds/timezone-soft.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ allTimezones,default,useTimezoneSelect auto */ var _s = $RefreshSig$(), _s1 = $RefreshSig$();\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value)=>key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n }) : obj[key] = value;\nvar __spreadValues = (a, b)=>{\n for(var prop in b || (b = {}))if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)){\n if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b)=>__defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude)=>{\n var target = {};\n for(var prop in source)if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)){\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\n// src/index.tsx\n\n\n\n\n// src/timezone-list.ts\nvar allTimezones = {\n \"Pacific/Midway\": \"Midway Island, Samoa\",\n \"Pacific/Honolulu\": \"Hawaii\",\n \"America/Juneau\": \"Alaska\",\n \"America/Boise\": \"Mountain Time\",\n \"America/Dawson\": \"Dawson, Yukon\",\n \"America/Chihuahua\": \"Chihuahua, La Paz, Mazatlan\",\n \"America/Phoenix\": \"Arizona\",\n \"America/Los_Angeles\": \"Pacific Time\",\n \"America/Chicago\": \"Central Time\",\n \"America/Regina\": \"Saskatchewan\",\n \"America/Mexico_City\": \"Guadalajara, Mexico City, Monterrey\",\n \"America/Belize\": \"Central America\",\n \"America/Detroit\": \"Eastern Time\",\n \"America/Bogota\": \"Bogota, Lima, Quito\",\n \"America/Caracas\": \"Caracas, La Paz\",\n \"America/Santiago\": \"Santiago\",\n \"America/St_Johns\": \"Newfoundland and Labrador\",\n \"America/Sao_Paulo\": \"Brasilia\",\n \"America/Tijuana\": \"Tijuana\",\n \"America/Montevideo\": \"Montevideo\",\n \"America/Argentina/Buenos_Aires\": \"Buenos Aires, Georgetown\",\n \"America/Godthab\": \"Greenland\",\n \"Atlantic/Azores\": \"Azores\",\n \"Atlantic/Cape_Verde\": \"Cape Verde Islands\",\n GMT: \"UTC\",\n \"Europe/London\": \"Edinburgh, London\",\n \"Europe/Dublin\": \"Dublin\",\n \"Europe/Lisbon\": \"Lisbon\",\n \"Africa/Casablanca\": \"Casablanca, Monrovia\",\n \"Atlantic/Canary\": \"Canary Islands\",\n \"Europe/Belgrade\": \"Belgrade, Bratislava, Budapest, Ljubljana, Prague\",\n \"Europe/Sarajevo\": \"Sarajevo, Skopje, Warsaw, Zagreb\",\n \"Europe/Brussels\": \"Brussels, Copenhagen, Madrid, Paris\",\n \"Europe/Amsterdam\": \"Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna\",\n \"Africa/Algiers\": \"West Central Africa\",\n \"Europe/Bucharest\": \"Bucharest\",\n \"Africa/Cairo\": \"Cairo\",\n \"Europe/Helsinki\": \"Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius\",\n \"Europe/Athens\": \"Athens\",\n \"Asia/Jerusalem\": \"Jerusalem\",\n \"Africa/Harare\": \"Harare, Pretoria\",\n \"Europe/Moscow\": \"Istanbul, Minsk, Moscow, St. Petersburg, Volgograd\",\n \"Asia/Kuwait\": \"Kuwait, Riyadh\",\n \"Africa/Nairobi\": \"Nairobi\",\n \"Asia/Baghdad\": \"Baghdad\",\n \"Asia/Tehran\": \"Tehran\",\n \"Asia/Dubai\": \"Abu Dhabi, Muscat\",\n \"Asia/Baku\": \"Baku, Tbilisi, Yerevan\",\n \"Asia/Kabul\": \"Kabul\",\n \"Asia/Yekaterinburg\": \"Ekaterinburg\",\n \"Asia/Karachi\": \"Islamabad, Karachi, Tashkent\",\n \"Asia/Kolkata\": \"Chennai, Kolkata, Mumbai, New Delhi\",\n \"Asia/Kathmandu\": \"Kathmandu\",\n \"Asia/Dhaka\": \"Astana, Dhaka\",\n \"Asia/Colombo\": \"Sri Jayawardenepura\",\n \"Asia/Almaty\": \"Almaty, Novosibirsk\",\n \"Asia/Rangoon\": \"Yangon Rangoon\",\n \"Asia/Bangkok\": \"Bangkok, Hanoi, Jakarta\",\n \"Asia/Krasnoyarsk\": \"Krasnoyarsk\",\n \"Asia/Shanghai\": \"Beijing, Chongqing, Hong Kong SAR, Urumqi\",\n \"Asia/Kuala_Lumpur\": \"Kuala Lumpur, Singapore\",\n \"Asia/Taipei\": \"Taipei\",\n \"Australia/Perth\": \"Perth\",\n \"Asia/Irkutsk\": \"Irkutsk, Ulaanbaatar\",\n \"Asia/Seoul\": \"Seoul\",\n \"Asia/Tokyo\": \"Osaka, Sapporo, Tokyo\",\n \"Asia/Yakutsk\": \"Yakutsk\",\n \"Australia/Darwin\": \"Darwin\",\n \"Australia/Adelaide\": \"Adelaide\",\n \"Australia/Sydney\": \"Canberra, Melbourne, Sydney\",\n \"Australia/Brisbane\": \"Brisbane\",\n \"Australia/Hobart\": \"Hobart\",\n \"Asia/Vladivostok\": \"Vladivostok\",\n \"Pacific/Guam\": \"Guam, Port Moresby\",\n \"Asia/Magadan\": \"Magadan, Solomon Islands, New Caledonia\",\n \"Asia/Kamchatka\": \"Kamchatka, Marshall Islands\",\n \"Pacific/Fiji\": \"Fiji Islands\",\n \"Pacific/Auckland\": \"Auckland, Wellington\",\n \"Pacific/Tongatapu\": \"Nuku'alofa\"\n};\nvar timezone_list_default = allTimezones;\n// src/index.tsx\n\nfunction useTimezoneSelect(param) {\n let { timezones = timezone_list_default, labelStyle = \"original\", displayValue = \"GMT\", currentDatetime } = param;\n _s();\n const allOptions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n return Object.entries(timezones).map((zone)=>{\n var _a, _b, _c, _d;\n try {\n const now = (currentDatetime ? (0,spacetime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(currentDatetime) : spacetime__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now()).goto(zone[0]);\n const isDstString = now.isDST() ? \"daylight\" : \"standard\";\n const tz = now.timezone();\n const tzStrings = (0,timezone_soft__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(zone[0]);\n const abbr = (_b = (_a = tzStrings == null ? void 0 : tzStrings[0]) == null ? void 0 : _a[isDstString]) == null ? void 0 : _b.abbr;\n const altName = (_d = (_c = tzStrings == null ? void 0 : tzStrings[0]) == null ? void 0 : _c[isDstString]) == null ? void 0 : _d.name;\n const min = tz.current.offset * 60;\n const hr = \"\".concat(min / 60 ^ 0, \":\").concat(min % 60 === 0 ? \"00\" : Math.abs(min % 60));\n const prefix = \"(\".concat(displayValue).concat(hr.includes(\"-\") ? hr : \"+\".concat(hr), \") \").concat(zone[1]);\n let label = \"\";\n switch(labelStyle){\n case \"original\":\n label = prefix;\n break;\n case \"altName\":\n label = \"\".concat(prefix, \" \").concat(altName ? \"(\".concat(altName, \")\") : \"\");\n break;\n case \"abbrev\":\n label = \"\".concat(prefix, \" \").concat(abbr ? \"(\".concat(abbr, \")\") : \"\");\n break;\n case \"offsetHidden\":\n label = \"\".concat(prefix.replace(/^\\(.*?\\)\\s*/, \"\"));\n break;\n default:\n label = \"\".concat(prefix);\n }\n return {\n value: tz.name,\n label,\n offset: tz.current.offset,\n abbrev: abbr,\n altName,\n hasDst: tz.hasDst\n };\n } catch (e) {\n return null;\n }\n }).filter(Boolean).sort((a, b)=>a.offset - b.offset);\n }, [\n labelStyle,\n timezones,\n currentDatetime\n ]);\n const customTimezoneKeys = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n const defaultKeys = new Set(Object.keys(timezone_list_default));\n return new Set(Object.keys(timezones).filter((key)=>!defaultKeys.has(key)));\n }, [\n timezones\n ]);\n const options = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n return allOptions.filter((item, idx, arr)=>{\n if (customTimezoneKeys.has(item.value)) return true;\n return arr.findIndex((t)=>t.offset === item.offset && t.hasDst === item.hasDst) === idx;\n }).map((_a)=>{\n var _b = _a, { hasDst: _ } = _b, item = __objRest(_b, [\n \"hasDst\"\n ]);\n return __spreadProps(__spreadValues({}, item), {\n searchTerms: allOptions.filter((t)=>t.offset === item.offset && t.hasDst === _).map((t)=>t.label).join(\" \")\n });\n });\n }, [\n allOptions,\n customTimezoneKeys\n ]);\n const filterOption = (option, inputValue)=>{\n var _a, _b, _c;\n const data = option.data;\n const term = inputValue.toLowerCase();\n return ((_a = data.label) == null ? void 0 : _a.toLowerCase().includes(term)) || ((_c = (_b = data.searchTerms) == null ? void 0 : _b.toLowerCase().includes(term)) != null ? _c : false);\n };\n const findFuzzyTz = (zone)=>{\n var _a, _b;\n let currentTime;\n try {\n currentTime = (currentDatetime ? (0,spacetime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(currentDatetime) : spacetime__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now()).goto(zone);\n } catch (err) {\n currentTime = (currentDatetime ? (0,spacetime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(currentDatetime) : spacetime__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now()).goto(\"GMT\");\n }\n return (_b = (_a = allOptions.filter((tz)=>tz.offset === currentTime.timezone().current.offset).map((tz)=>{\n let score = 0;\n if (currentTime.timezones[tz.value.toLowerCase()] && !!currentTime.timezones[tz.value.toLowerCase()].dst === currentTime.timezone().hasDst) {\n if (tz.value.toLowerCase().indexOf(currentTime.tz.substring(currentTime.tz.indexOf(\"/\") + 1)) !== -1) {\n score += 8;\n }\n if (tz.label.toLowerCase().indexOf(currentTime.tz.substring(currentTime.tz.indexOf(\"/\") + 1)) !== -1) {\n score += 4;\n }\n if (tz.value.toLowerCase().indexOf(currentTime.tz.substring(0, currentTime.tz.indexOf(\"/\"))) !== -1) {\n score += 2;\n }\n score += 1;\n } else if (tz.value === \"GMT\") {\n score += 1;\n }\n return {\n tz,\n score\n };\n }).sort((a, b)=>b.score - a.score)) == null ? void 0 : _a[0]) == null ? void 0 : _b.tz;\n };\n function isObject(item) {\n return typeof item === \"object\" && !Array.isArray(item) && item !== null;\n }\n const parseTimezone = (zone)=>{\n if (typeof zone === \"string\") {\n return allOptions.find((tz)=>tz.value === zone) || zone.indexOf(\"/\") !== -1 && findFuzzyTz(zone);\n } else if (isObject(zone) && !zone.label) {\n return allOptions.find((tz)=>tz.value === zone.value);\n } else {\n return zone;\n }\n };\n return {\n options,\n parseTimezone,\n filterOption\n };\n}\n_s(useTimezoneSelect, \"WMJ0tuwsEyLGK1zZsbRv+TrXVrU=\");\nvar TimezoneSelect = (_a)=>{\n _s1();\n var _b = _a, { value, onBlur, onChange, labelStyle, displayValue, timezones, currentDatetime } = _b, props = __objRest(_b, [\n \"value\",\n \"onBlur\",\n \"onChange\",\n \"labelStyle\",\n \"displayValue\",\n \"timezones\",\n \"currentDatetime\"\n ]);\n const { options, parseTimezone, filterOption } = useTimezoneSelect({\n timezones,\n labelStyle,\n displayValue,\n currentDatetime\n });\n const handleChange = (tz)=>{\n if (!onChange) return;\n const _a2 = tz, { searchTerms: _ } = _a2, rest = __objRest(_a2, [\n \"searchTerms\"\n ]);\n onChange(rest);\n };\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_select__WEBPACK_IMPORTED_MODULE_4__[\"default\"], __spreadValues({\n value: parseTimezone(value),\n onChange: handleChange,\n options,\n filterOption,\n onBlur\n }, props));\n};\n_s1(TimezoneSelect, \"IlmQHdwp6FO2WyKZE5oB1Q0GYL8=\", false, function() {\n return [\n useTimezoneSelect\n ];\n});\n_c = TimezoneSelect;\n\nvar _c;\n$RefreshReg$(_c, \"TimezoneSelect\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9yZWFjdC10aW1lem9uZS1zZWxlY3QvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSxJQUFJQSxZQUFZQyxPQUFPQyxjQUFjO0FBQ3JDLElBQUlDLGFBQWFGLE9BQU9HLGdCQUFnQjtBQUN4QyxJQUFJQyxvQkFBb0JKLE9BQU9LLHlCQUF5QjtBQUN4RCxJQUFJQyxzQkFBc0JOLE9BQU9PLHFCQUFxQjtBQUN0RCxJQUFJQyxlQUFlUixPQUFPUyxTQUFTLENBQUNDLGNBQWM7QUFDbEQsSUFBSUMsZUFBZVgsT0FBT1MsU0FBUyxDQUFDRyxvQkFBb0I7QUFDeEQsSUFBSUMsa0JBQWtCLENBQUNDLEtBQUtDLEtBQUtDLFFBQVVELE9BQU9ELE1BQU1mLFVBQVVlLEtBQUtDLEtBQUs7UUFBRUUsWUFBWTtRQUFNQyxjQUFjO1FBQU1DLFVBQVU7UUFBTUg7SUFBTSxLQUFLRixHQUFHLENBQUNDLElBQUksR0FBR0M7QUFDMUosSUFBSUksaUJBQWlCLENBQUNDLEdBQUdDO0lBQ3ZCLElBQUssSUFBSUMsUUFBUUQsS0FBTUEsQ0FBQUEsSUFBSSxDQUFDLEdBQzFCLElBQUlkLGFBQWFnQixJQUFJLENBQUNGLEdBQUdDLE9BQ3ZCVixnQkFBZ0JRLEdBQUdFLE1BQU1ELENBQUMsQ0FBQ0MsS0FBSztJQUNwQyxJQUFJakIscUJBQ0YsS0FBSyxJQUFJaUIsUUFBUWpCLG9CQUFvQmdCLEdBQUk7UUFDdkMsSUFBSVgsYUFBYWEsSUFBSSxDQUFDRixHQUFHQyxPQUN2QlYsZ0JBQWdCUSxHQUFHRSxNQUFNRCxDQUFDLENBQUNDLEtBQUs7SUFDcEM7SUFDRixPQUFPRjtBQUNUO0FBQ0EsSUFBSUksZ0JBQWdCLENBQUNKLEdBQUdDLElBQU1wQixXQUFXbUIsR0FBR2pCLGtCQUFrQmtCO0FBQzlELElBQUlJLFlBQVksQ0FBQ0MsUUFBUUM7SUFDdkIsSUFBSUMsU0FBUyxDQUFDO0lBQ2QsSUFBSyxJQUFJ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QUN6RDtRQUNwQixJQUFJLENBQUN1RCxVQUFVO1FBQ2YsTUFBTUcsTUFBTTFELElBQUksRUFBRWtDLGFBQWFELENBQUMsRUFBRSxHQUFHeUIsS0FBS0MsT0FBT3pGLFVBQVV3RixLQUFLO1lBQUM7U0FBYztRQUMvRUgsU0FBU0k7SUFDWDtJQUNBLE9BQU8sYUFBYSxHQUFHN0Usc0RBQUdBLENBQ3hCTixvREFBTUEsRUFDTlosZUFBZTtRQUNiSixPQUFPMkYsY0FBYzNGO1FBQ3JCK0YsVUFBVUU7UUFDVjlCO1FBQ0FTO1FBQ0FrQjtJQUNGLEdBQUdFO0FBRVA7SUF2Q0lIOztRQWtCK0N0RTs7O0tBbEIvQ3NFO0FBNENGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC10aW1lem9uZS1zZWxlY3QvZGlzdC9pbmRleC5qcz83ZWJlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZGVmUHJvcHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcztcbnZhciBfX2dldE93blByb3BEZXNjcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzO1xudmFyIF9fZ2V0T3duUHJvcFN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19wcm9wSXNFbnVtID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbnZhciBfX2RlZk5vcm1hbFByb3AgPSAob2JqLCBrZXksIHZhbHVlKSA9PiBrZXkgaW4gb2JqID8gX19kZWZQcm9wKG9iaiwga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlIH0pIDogb2JqW2tleV0gPSB2YWx1ZTtcbnZhciBfX3NwcmVhZFZhbHVlcyA9IChhLCBiKSA9PiB7XG4gIGZvciAodmFyIHByb3AgaW4gYiB8fCAoYiA9IHt9KSlcbiAgICBpZiAoX19oYXNPd25Qcm9wLmNhbGwoYiwgcHJvcCkpXG4gICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gIGlmIChfX2dldE93blByb3BTeW1ib2xzKVxuICAgIGZvciAodmFyIHByb3Agb2YgX19nZXRPd25Qcm9wU3ltYm9scyhiKSkge1xuICAgICAgaWYgKF9fcHJvcElzRW51bS5jYWxsKGIsIHByb3ApKVxuICAgICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gICAgfVxuICByZXR1cm4gYTtcbn07XG52YXIgX19zcHJlYWRQcm9wcyA9IChhLCBiKSA9PiBfX2RlZlByb3BzKGEsIF9fZ2V0T3duUHJvcERlc2NzKGIpKTtcbnZhciBfX29ialJlc3QgPSAoc291cmNlLCBleGNsdWRlKSA9PiB7XG4gIHZhciB0YXJnZXQgPSB7fTtcbiAgZm9yICh2YXIgcHJvcCBpbiBzb3VyY2UpXG4gICAgaWYgKF9faGFzT3duUHJvcC5jYWxsKHNvdXJjZSwgcHJvcCkgJiYgZXhjbHVkZS5pbmRleE9mKHByb3ApIDwgMClcbiAgICAgIHRhcmdldFtwcm9wXSA9IHNvdXJjZVtwcm9wXTtcbiAgaWYgKHNvdXJjZSAhPSBudWxsICYmIF9fZ2V0T3duUHJvcFN5bWJvbHMpXG4gICAgZm9yICh2YXIgcHJvcCBvZiBfX2dldE93blByb3BTeW1ib2xzKHNvdXJjZSkpIHtcbiAgICAgIGlmIChleGNsdWRlLmluZGV4T2YocHJvcCkgPCAwICYmIF9fcHJvcElzRW51bS5jYWxsKHNvdXJjZSwgcHJvcCkpXG4gICAgICAgIHRhcmdldFtwcm9wXSA9IHNvdXJjZVtwcm9wXTtcbiAgICB9XG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG4vLyBzcmMvaW5kZXgudHN4XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgU2VsZWN0IGZyb20gXCJyZWFjdC1zZWxlY3RcIjtcbmltcG9ydCBzcGFjZXRpbWUgZnJvbSBcInNwYWNldGltZVwiO1xuaW1wb3J0IHNvZnQgZnJvbSBcInRpbWV6b25lLXNvZnRcIjtcblxuLy8gc3JjL3RpbWV6b25lLWxpc3QudHNcbnZhciBhbGxUaW1lem9uZXMgPSB7XG4gIFwiUGFjaWZpYy9NaWR3YXlcIjogXCJNaWR3YXkgSXNsYW5kLCBTYW1vYVwiLFxuICBcIlBhY2lmaWMvSG9ub2x1bHVcIjogXCJIYXdhaWlcIixcbiAgXCJBbWVyaWNhL0p1bmVhdVwiOiBcIkFsYXNrYVwiLFxuICBcIkFtZXJpY2EvQm9pc2VcIjogXCJNb3VudGFpbiBUaW1lXCIsXG4gIFwiQW1lcmljYS9EYXdzb25cIjogXCJEYXdzb24sIFl1a29uXCIsXG4gIFwiQW1lcmljYS9DaGlodWFodWFcIjogXCJDaGlodWFodWEsIExhIFBheiwgTWF6YXRsYW5cIixcbiAgXCJBbWVyaWNhL1Bob2VuaXhcIjogXCJBcml6b25hXCIsXG4gIFwiQW1lcmljYS9Mb3NfQW5nZWxlc1wiOiBcIlBhY2lmaWMgVGltZVwiLFxuICBcIkFtZXJpY2EvQ2hpY2Fnb1wiOiBcIkNlbnRyYWwgVGltZVwiLFxuICBcIkFtZXJpY2EvUmVnaW5hXCI6IFwiU2Fza2F0Y2hld2FuXCIsXG4gIFwiQW1lcmljYS9NZXhpY29fQ2l0eVwiOiBcIkd1YWRhbGFqYXJhLCBNZXhpY28gQ2l0eSwgTW9udGVycmV5XCIsXG4gIFwiQW1lcmljYS9CZWxpemVcIjogXCJDZW50cmFsIEFtZXJpY2FcIixcbiAgXCJBbWVyaWNhL0RldHJvaXRcIjogXCJFYXN0ZXJuIFRpbWVcIixcbiAgXCJBbWVyaWNhL0JvZ290YVwiOiBcIkJvZ290YSwgTGltYSwgUXVpdG9cIixcbiAgXCJBbWVyaWNhL0NhcmFjYXNcIjogXCJDYXJhY2FzLCBMYSBQYXpcIixcbiAgXCJBbWVyaWNhL1NhbnRpYWdvXCI6IFwiU2FudGlhZ29cIixcbiAgXCJBbWVyaWNhL1N0X0pvaG5zXCI6IFwiTmV3Zm91bmRsYW5kIGFuZCBMYWJyYWRvclwiLFxuICBcIkFtZXJpY2EvU2FvX1BhdWxvXCI6IFwiQnJhc2lsaWFcIixcbiAgXCJBbWVyaWNhL1RpanVhbmFcIjogXCJUaWp1YW5hXCIsXG4gIFwiQW1lcmljYS9Nb250ZXZpZGVvXCI6IFwiTW9udGV2aWRlb1wiLFxuICBcIkFtZXJpY2EvQXJnZW50aW5hL0J1ZW5vc19BaXJlc1wiOiBcIkJ1ZW5vcyBBaXJlcywgR2VvcmdldG93blwiLFxuICBcIkFtZXJpY2EvR29kdGhhYlwiOiBcIkdyZWVubGFuZFwiLFxuICBcIkF0bGFudGljL0F6b3Jlc1wiOiBcIkF6b3Jlc1wiLFxuICBcIkF0bGFudGljL0NhcGVfVmVyZGVcIjogXCJDYXBlIFZlcmRlIElzbGFuZHNcIixcbiAgR01UOiBcIlVUQ1wiLFxuICBcIkV1cm9wZS9Mb25kb25cIjogXCJFZGluYnVyZ2gsIExvbmRvblwiLFxuICBcIkV1cm9wZS9EdWJsaW5cIjogXCJEdWJsaW5cIixcbiAgXCJFdXJvcGUvTGlzYm9uXCI6IFwiTGlzYm9uXCIsXG4gIFwiQWZyaWNhL0Nhc2FibGFuY2FcIjogXCJDYXNhYmxhbmNhLCBNb25yb3ZpYVwiLFxuICBcIkF0bGFudGljL0NhbmFyeVwiOiBcIkNhbmFyeSBJc2xhbmRzXCIsXG4gIFwiRXVyb3BlL0JlbGdyYWRlXCI6IFwiQmVsZ3JhZGUsIEJyYXRpc2xhdmEsIEJ1ZGFwZXN0LCBManVibGphbmEsIFByYWd1ZVwiLFxuICBcIkV1cm9wZS9TYXJhamV2b1wiOiBcIlNhcmFqZXZvLCBTa29wamUsIFdhcnNhdywgWmFncmViXCIsXG4gIFwiRXVyb3BlL0JydXNzZWxzXCI6IFwiQnJ1c3NlbHMsIENvcGVuaGFnZW4sIE1hZHJpZCwgUGFyaXNcIixcbiAgXCJFdXJvcGUvQW1zdGVyZGFtXCI6IFwiQW1zdGVyZGFtLCBCZXJsaW4sIEJlcm4sIFJvbWUsIFN0b2NraG9sbSwgVmllbm5hXCIsXG4gIFwiQWZyaWNhL0FsZ2llcnNcIjogXCJXZXN0IENlbnRyYWwgQWZyaWNhXCIsXG4gIFwiRXVyb3BlL0J1Y2hhcmVzdFwiOiBcIkJ1Y2hhcmVzdFwiLFxuICBcIkFmcmljYS9DYWlyb1wiOiBcIkNhaXJvXCIsXG4gIFwiRXVyb3BlL0hlbHNpbmtpXCI6IFwiSGVsc2lua2ksIEt5aXYsIFJpZ2EsIFNvZmlhLCBUYWxsaW5uLCBWaWxuaXVzXCIsXG4gIFwiRXVyb3BlL0F0aGVuc1wiOiBcIkF0aGVuc1wiLFxuICBcIkFzaWEvSmVydXNhbGVtXCI6IFwiSmVydXNhbGVtXCIsXG4gIFwiQWZyaWNhL0hhcmFyZVwiOiBcIkhhcmFyZSwgUHJldG9yaWFcIixcbiAgXCJFdXJvcGUvTW9zY293XCI6IFwiSXN0YW5idWwsIE1pbnNrLCBNb3Njb3csIFN0LiBQZXRlcnNidXJnLCBWb2xnb2dyYWRcIixcbiAgXCJBc2lhL0t1d2FpdFwiOiBcIkt1d2FpdCwgUml5YWRoXCIsXG4gIFwiQWZyaWNhL05haXJvYmlcIjogXCJOYWlyb2JpXCIsXG4gIFwiQXNpYS9CYWdoZGFkXCI6IFwiQmFnaGRhZFwiLFxuICBcIkFzaWEvVGVocmFuXCI6IFwiVGVocmFuXCIsXG4gIFwiQXNpYS9EdWJhaVwiOiBcIkFidSBEaGFiaSwgTXVzY2F0XCIsXG4gIFwiQXNpYS9CYWt1XCI6IFwiQmFrdSwgVGJpbGlzaSwgWWVyZXZhblwiLFxuICBcIkFzaWEvS2FidWxcIjogXCJLYWJ1bFwiLFxuICBcIkFzaWEvWWVrYXRlcmluYnVyZ1wiOiBcIkVrYXRlcmluYnVyZ1wiLFxuICBcIkFzaWEvS2FyYWNoaVwiOiBcIklzbGFtYWJhZCwgS2FyYWNoaSwgVGFzaGtlbnRcIixcbiAgXCJBc2lhL0tvbGthdGFcIjogXCJDaGVubmFpLCBLb2xrYXRhLCBNdW1iYWksIE5ldyBEZWxoaVwiLFxuICBcIkFzaWEvS2F0aG1hbmR1XCI6IFwiS2F0aG1hbmR1XCIsXG4gIFwiQXNpYS9EaGFrYVwiOiBcIkFzdGFuYSwgRGhha2FcIixcbiAgXCJBc2lhL0NvbG9tYm9cIjogXCJTcmkgSmF5YXdhcmRlbmVwdXJhXCIsXG4gIFwiQXNpYS9BbG1hdHlcIjogXCJBbG1hdHksIE5vdm9zaWJpcnNrXCIsXG4gIFwiQXNpYS9SYW5nb29uXCI6IFwiWWFuZ29uIFJhbmdvb25cIixcbiAgXCJBc2lhL0Jhbmdrb2tcIjogXCJCYW5na29rLCBIYW5vaSwgSmFrYXJ0YVwiLFxuICBcIkFzaWEvS3Jhc25veWFyc2tcIjogXCJLcmFzbm95YXJza1wiLFxuICBcIkFzaWEvU2hhbmdoYWlcIjogXCJCZWlqaW5nLCBDaG9uZ3FpbmcsIEhvbmcgS29uZyBTQVIsIFVydW1xaVwiLFxuICBcIkFzaWEvS3VhbGFfTHVtcHVyXCI6IFwiS3VhbGEgTHVtcHVyLCBTaW5nYXBvcmVcIixcbiAgXCJBc2lhL1RhaXBlaVwiOiBcIlRhaXBlaVwiLFxuICBcIkF1c3RyYWxpYS9QZXJ0aFwiOiBcIlBlcnRoXCIsXG4gIFwiQXNpYS9Jcmt1dHNrXCI6IFwiSXJrdXRzaywgVWxhYW5iYWF0YXJcIixcbiAgXCJBc2lhL1Nlb3VsXCI6IFwiU2VvdWxcIixcbiAgXCJBc2lhL1Rva3lvXCI6IFwiT3Nha2EsIFNhcHBvcm8sIFRva3lvXCIsXG4gIFwiQXNpYS9ZYWt1dHNrXCI6IFwiWWFrdXRza1wiLFxuICBcIkF1c3RyYWxpYS9EYXJ3aW5cIjogXCJEYXJ3aW5cIixcbiAgXCJBdXN0cmFsaWEvQWRlbGFpZGVcIjogXCJBZGVsYWlkZVwiLFxuICBcIkF1c3RyYWxpYS9TeWRuZXlcIjogXCJDYW5iZXJyYSwgTWVsYm91cm5lLCBTeWRuZXlcIixcbiAgXCJBdXN0cmFsaWEvQnJpc2JhbmVcIjogXCJCcmlzYmFuZVwiLFxuICBcIkF1c3RyYWxpYS9Ib2JhcnRcIjogXCJIb2JhcnRcIixcbiAgXCJBc2lhL1ZsYWRpdm9zdG9rXCI6IFwiVmxhZGl2b3N0b2tcIixcbiAgXCJQYWNpZmljL0d1YW1cIjogXCJHdWFtLCBQb3J0IE1vcmVzYnlcIixcbiAgXCJBc2lhL01hZ2FkYW5cIjogXCJNYWdhZGFuLCBTb2xvbW9uIElzbGFuZHMsIE5ldyBDYWxlZG9uaWFcIixcbiAgXCJBc2lhL0thbWNoYXRrYVwiOiBcIkthbWNoYXRrYSwgTWFyc2hhbGwgSXNsYW5kc1wiLFxuICBcIlBhY2lmaWMvRmlqaVwiOiBcIkZpamkgSXNsYW5kc1wiLFxuICBcIlBhY2lmaWMvQXVja2xhbmRcIjogXCJBdWNrbGFuZCwgV2VsbGluZ3RvblwiLFxuICBcIlBhY2lmaWMvVG9uZ2F0YXB1XCI6IFwiTnVrdSdhbG9mYVwiXG59O1xudmFyIHRpbWV6b25lX2xpc3RfZGVmYXVsdCA9IGFsbFRpbWV6b25lcztcblxuLy8gc3JjL2luZGV4LnRzeFxuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5mdW5jdGlvbiB1c2VUaW1lem9uZVNlbGVjdCh7XG4gIHRpbWV6b25lcyA9IHRpbWV6b25lX2xpc3RfZGVmYXVsdCxcbiAgbGFiZWxTdHlsZSA9IFwib3JpZ2luYWxcIixcbiAgZGlzcGxheVZhbHVlID0gXCJHTVRcIixcbiAgY3VycmVudERhdGV0aW1lXG59KSB7XG4gIGNvbnN0IGFsbE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGltZXpvbmVzKS5tYXAoKHpvbmUpID0+IHtcbiAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IChjdXJyZW50RGF0ZXRpbWUgPyBzcGFjZXRpbWUoY3VycmVudERhdGV0aW1lKSA6IHNwYWNldGltZS5ub3coKSkuZ290byh6b25lWzBdKTtcbiAgICAgICAgY29uc3QgaXNEc3RTdHJpbmcgPSBub3cuaXNEU1QoKSA/IFwiZGF5bGlnaHRcIiA6IFwic3RhbmRhcmRcIjtcbiAgICAgICAgY29uc3QgdHogPSBub3cudGltZXpvbmUoKTtcbiAgICAgICAgY29uc3QgdHpTdHJpbmdzID0gc29mdCh6b25lWzBdKTtcbiAgICAgICAgY29uc3QgYWJiciA9IChfYiA9IChfYSA9IHR6U3RyaW5ncyA9PSBudWxsID8gdm9pZCAwIDogdHpTdHJpbmdzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2FbaXNEc3RTdHJpbmddKSA9PSBudWxsID8gdm9pZCAwIDogX2IuYWJicjtcbiAgICAgICAgY29uc3QgYWx0TmFtZSA9IChfZCA9IChfYyA9IHR6U3RyaW5ncyA9PSBudWxsID8gdm9pZCAwIDogdHpTdHJpbmdzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2NbaXNEc3RTdHJpbmddKSA9PSBudWxsID8gdm9pZCAwIDogX2QubmFtZTtcbiAgICAgICAgY29uc3QgbWluID0gdHouY3VycmVudC5vZmZzZXQgKiA2MDtcbiAgICAgICAgY29uc3QgaHIgPSBgJHttaW4gLyA2MCBeIDB9OiR7bWluICUgNjAgPT09IDAgPyBcIjAwXCIgOiBNYXRoLmFicyhtaW4gJSA2MCl9YDtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYCgke2Rpc3BsYXlWYWx1ZX0ke2hyLmluY2x1ZGVzKFwiLVwiKSA/IGhyIDogYCske2hyfWB9KSAke3pvbmVbMV19YDtcbiAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcbiAgICAgICAgc3dpdGNoIChsYWJlbFN0eWxlKSB7XG4gICAgICAgICAgY2FzZSBcIm9yaWdpbmFsXCI6XG4gICAgICAgICAgICBsYWJlbCA9IHByZWZpeDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJhbHROYW1lXCI6XG4gICAgICAgICAgICBsYWJlbCA9IGAke3ByZWZpeH0gJHthbHROYW1lID8gYCgke2FsdE5hbWV9KWAgOiBcIlwifWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiYWJicmV2XCI6XG4gICAgICAgICAgICBsYWJlbCA9IGAke3ByZWZpeH0gJHthYmJyID8gYCgke2FiYnJ9KWAgOiBcIlwifWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwib2Zmc2V0SGlkZGVuXCI6XG4gICAgICAgICAgICBsYWJlbCA9IGAke3ByZWZpeC5yZXBsYWNlKC9eXFwoLio/XFwpXFxzKi8sIFwiXCIpfWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgbGFiZWwgPSBgJHtwcmVmaXh9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiB0ei5uYW1lLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIG9mZnNldDogdHouY3VycmVudC5vZmZzZXQsXG4gICAgICAgICAgYWJicmV2OiBhYmJyLFxuICAgICAgICAgIGFsdE5hbWUsXG4gICAgICAgICAgaGFzRHN0OiB0ei5oYXNEc3RcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSkuZmlsdGVyKEJvb2xlYW4pLnNvcnQoKGEsIGIpID0+IGEub2Zmc2V0IC0gYi5vZmZzZXQpO1xuICB9LCBbbGFiZWxTdHlsZSwgdGltZXpvbmVzLCBjdXJyZW50RGF0ZXRpbWVdKTtcbiAgY29uc3QgY3VzdG9tVGltZXpvbmVLZXlzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEtleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHRpbWV6b25lX2xpc3RfZGVmYXVsdCkpO1xuICAgIHJldHVybiBuZXcgU2V0KE9iamVjdC5rZXlzKHRpbWV6b25lcykuZmlsdGVyKChrZXkpID0+ICFkZWZhdWx0S2V5cy5oYXMoa2V5KSkpO1xuICB9LCBbdGltZXpvbmVzXSk7XG4gIGNvbnN0IG9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gYWxsT3B0aW9ucy5maWx0ZXIoKGl0ZW0sIGlkeCwgYXJyKSA9PiB7XG4gICAgICBpZiAoY3VzdG9tVGltZXpvbmVLZXlzLmhhcyhpdGVtLnZhbHVlKSkgcmV0dXJuIHRydWU7XG4gICAgICByZXR1cm4gYXJyLmZpbmRJbmRleCgodCkgPT4gdC5vZmZzZXQgPT09IGl0ZW0ub2Zmc2V0ICYmIHQuaGFzRHN0ID09PSBpdGVtLmhhc0RzdCkgPT09IGlkeDtcbiAgICB9KS5tYXAoKF9hKSA9PiB7XG4gICAgICB2YXIgX2IgPSBfYSwgeyBoYXNEc3Q6IF8gfSA9IF9iLCBpdGVtID0gX19vYmpSZXN0KF9iLCBbXCJoYXNEc3RcIl0pO1xuICAgICAgcmV0dXJuIF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIGl0ZW0pLCB7XG4gICAgICAgIHNlYXJjaFRlcm1zOiBhbGxPcHRpb25zLmZpbHRlcigodCkgPT4gdC5vZmZzZXQgPT09IGl0ZW0ub2Zmc2V0ICYmIHQuaGFzRHN0ID09PSBfKS5tYXAoKHQpID0+IHQubGFiZWwpLmpvaW4oXCIgXCIpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSwgW2FsbE9wdGlvbnMsIGN1c3RvbVRpbWV6b25lS2V5c10pO1xuICBjb25zdCBmaWx0ZXJPcHRpb24gPSAob3B0aW9uLCBpbnB1dFZhbHVlKSA9PiB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgY29uc3QgZGF0YSA9IG9wdGlvbi5kYXRhO1xuICAgIGNvbnN0IHRlcm0gPSBpbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuICgoX2EgPSBkYXRhLmxhYmVsKSA9PSBudWxsID8gdm9pZCAwIDogX2EudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSkgfHwgKChfYyA9IChfYiA9IGRhdGEuc2VhcmNoVGVybXMpID09IG51bGwgPyB2b2lkIDAgOiBfYi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pKSAhPSBudWxsID8gX2MgOiBmYWxzZSk7XG4gIH07XG4gIGNvbnN0IGZpbmRGdXp6eVR6ID0gKHpvbmUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGxldCBjdXJyZW50VGltZTtcbiAgICB0cnkge1xuICAgICAgY3VycmVudFRpbWUgPSAoY3VycmVudERhdGV0aW1lID8gc3BhY2V0aW1lKGN1cnJlbnREYXRldGltZSkgOiBzcGFjZXRpbWUubm93KCkpLmdvdG8oem9uZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjdXJyZW50VGltZSA9IChjdXJyZW50RGF0ZXRpbWUgPyBzcGFjZXRpbWUoY3VycmVudERhdGV0aW1lKSA6IHNwYWNldGltZS5ub3coKSkuZ290byhcIkdNVFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIChfYiA9IChfYSA9IGFsbE9wdGlvbnMuZmlsdGVyKCh0eikgPT4gdHoub2Zmc2V0ID09PSBjdXJyZW50VGltZS50aW1lem9uZSgpLmN1cnJlbnQub2Zmc2V0KS5tYXAoKHR6KSA9PiB7XG4gICAgICBsZXQgc2NvcmUgPSAwO1xuICAgICAgaWYgKGN1cnJlbnRUaW1lLnRpbWV6b25lc1t0ei52YWx1ZS50b0xvd2VyQ2FzZSgpXSAmJiAhIWN1cnJlbnRUaW1lLnRpbWV6b25lc1t0ei52YWx1ZS50b0xvd2VyQ2FzZSgpXS5kc3QgPT09IGN1cnJlbnRUaW1lLnRpbWV6b25lKCkuaGFzRHN0KSB7XG4gICAgICAgIGlmICh0ei52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY3VycmVudFRpbWUudHouc3Vic3RyaW5nKGN1cnJlbnRUaW1lLnR6LmluZGV4T2YoXCIvXCIpICsgMSkpICE9PSAtMSkge1xuICAgICAgICAgIHNjb3JlICs9IDg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR6LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihjdXJyZW50VGltZS50ei5zdWJzdHJpbmcoY3VycmVudFRpbWUudHouaW5kZXhPZihcIi9cIikgKyAxKSkgIT09IC0xKSB7XG4gICAgICAgICAgc2NvcmUgKz0gNDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHoudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGN1cnJlbnRUaW1lLnR6LnN1YnN0cmluZygwLCBjdXJyZW50VGltZS50ei5pbmRleE9mKFwiL1wiKSkpICE9PSAtMSkge1xuICAgICAgICAgIHNjb3JlICs9IDI7XG4gICAgICAgIH1cbiAgICAgICAgc2NvcmUgKz0gMTtcbiAgICAgIH0gZWxzZSBpZiAodHoudmFsdWUgPT09IFwiR01UXCIpIHtcbiAgICAgICAgc2NvcmUgKz0gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHR6LCBzY29yZSB9O1xuICAgIH0pLnNvcnQoKGEsIGIpID0+IGIuc2NvcmUgLSBhLnNjb3JlKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2IudHo7XG4gIH07XG4gIGZ1bmN0aW9uIGlzT2JqZWN0KGl0ZW0pIHtcbiAgICByZXR1cm4gdHlwZW9mIGl0ZW0gPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSkgJiYgaXRlbSAhPT0gbnVsbDtcbiAgfVxuICBjb25zdCBwYXJzZVRpbWV6b25lID0gKHpvbmUpID0+IHtcbiAgICBpZiAodHlwZW9mIHpvbmUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiBhbGxPcHRpb25zLmZpbmQoKHR6KSA9PiB0ei52YWx1ZSA9PT0gem9uZSkgfHwgem9uZS5pbmRleE9mKFwiL1wiKSAhPT0gLTEgJiYgZmluZEZ1enp5VHooem9uZSk7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdCh6b25lKSAmJiAhem9uZS5sYWJlbCkge1xuICAgICAgcmV0dXJuIGFsbE9wdGlvbnMuZmluZCgodHopID0+IHR6LnZhbHVlID09PSB6b25lLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHpvbmU7XG4gICAgfVxuICB9O1xuICByZXR1cm4geyBvcHRpb25zLCBwYXJzZVRpbWV6b25lLCBmaWx0ZXJPcHRpb24gfTtcbn1cbnZhciBUaW1lem9uZVNlbGVjdCA9IChfYSkgPT4ge1xuICB2YXIgX2IgPSBfYSwge1xuICAgIHZhbHVlLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBsYWJlbFN0eWxlLFxuICAgIGRpc3BsYXlWYWx1ZSxcbiAgICB0aW1lem9uZXMsXG4gICAgY3VycmVudERhdGV0aW1lXG4gIH0gPSBfYiwgcHJvcHMgPSBfX29ialJlc3QoX2IsIFtcbiAgICBcInZhbHVlXCIsXG4gICAgXCJvbkJsdXJcIixcbiAgICBcIm9uQ2hhbmdlXCIsXG4gICAgXCJsYWJlbFN0eWxlXCIsXG4gICAgXCJkaXNwbGF5VmFsdWVcIixcbiAgICBcInRpbWV6b25lc1wiLFxuICAgIFwiY3VycmVudERhdGV0aW1lXCJcbiAgXSk7XG4gIGNvbnN0IHsgb3B0aW9ucywgcGFyc2VUaW1lem9uZSwgZmlsdGVyT3B0aW9uIH0gPSB1c2VUaW1lem9uZVNlbGVjdCh7XG4gICAgdGltZXpvbmVzLFxuICAgIGxhYmVsU3R5bGUsXG4gICAgZGlzcGxheVZhbHVlLFxuICAgIGN1cnJlbnREYXRldGltZVxuICB9KTtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKHR6KSA9PiB7XG4gICAgaWYgKCFvbkNoYW5nZSkgcmV0dXJuO1xuICAgIGNvbnN0IF9hMiA9IHR6LCB7IHNlYXJjaFRlcm1zOiBfIH0gPSBfYTIsIHJlc3QgPSBfX29ialJlc3QoX2EyLCBbXCJzZWFyY2hUZXJtc1wiXSk7XG4gICAgb25DaGFuZ2UocmVzdCk7XG4gIH07XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIFNlbGVjdCxcbiAgICBfX3NwcmVhZFZhbHVlcyh7XG4gICAgICB2YWx1ZTogcGFyc2VUaW1lem9uZSh2YWx1ZSksXG4gICAgICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgIG9uQmx1clxuICAgIH0sIHByb3BzKVxuICApO1xufTtcbmV4cG9ydCB7XG4gIHRpbWV6b25lX2xpc3RfZGVmYXVsdCBhcyBhbGxUaW1lem9uZXMsXG4gIFRpbWV6b25lU2VsZWN0IGFzIGRlZmF1bHQsXG4gIHVzZVRpbWV6b25lU2VsZWN0XG59O1xuIl0sIm5hbWVzIjpbIl9fZGVmUHJvcCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiX19kZWZQcm9wcyIsImRlZmluZVByb3BlcnRpZXMiLCJfX2dldE93blByb3BEZXNjcyIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJfX2dldE93blByb3BTeW1ib2xzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiX19oYXNPd25Qcm9wIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJfX3Byb3BJc0VudW0iLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIl9fZGVmTm9ybWFsUHJvcCIsIm9iaiIsImtleSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX19zcHJlYWRWYWx1ZXMiLCJhIiwiYiIsInByb3AiLCJjYWxsIiwiX19zcHJlYWRQcm9wcyIsIl9fb2JqUmVzdCIsInNvdXJjZSIsImV4Y2x1ZGUiLCJ0YXJnZXQiLCJpbmRleE9mIiwidXNlTWVtbyIsIlNlbGVjdCIsInNwYWNldGltZSIsInNvZnQiLCJhbGxUaW1lem9uZXMiLCJHTVQiLCJ0aW1lem9uZV9saXN0X2RlZmF1bHQiLCJqc3giLCJ1c2VUaW1lem9uZVNlbGVjdCIsInRpbWV6b25lcyIsImxhYmVsU3R5bGUiLCJkaXNwbGF5VmFsdWUiLCJjdXJyZW50RGF0ZXRpbWUiLCJhbGxPcHRpb25zIiwiZW50cmllcyIsIm1hcCIsInpvbmUiLCJfYSIsIl9iIiwiX2MiLCJfZCIsIm5vdyIsImdvdG8iLCJpc0RzdFN0cmluZyIsImlzRFNUIiwidHoiLCJ0aW1lem9uZSIsInR6U3RyaW5ncyIsImFiYnIiLCJhbHROYW1lIiwibmFtZSIsIm1pbiIsImN1cnJlbnQiLCJvZmZzZXQiLCJociIsIk1hdGgiLCJhYnMiLCJwcmVmaXgiLCJpbmNsdWRlcyIsImxhYmVsIiwicmVwbGFjZSIsImFiYnJldiIsImhhc0RzdCIsImUiLCJmaWx0ZXIiLCJCb29sZWFuIiwic29ydCIsImN1c3RvbVRpbWV6b25lS2V5cyIsImRlZmF1bHRLZXlzIiwiU2V0Iiwia2V5cyIsImhhcyIsIm9wdGlvbnMiLCJpdGVtIiwiaWR4IiwiYXJyIiwiZmluZEluZGV4IiwidCIsIl8iLCJzZWFyY2hUZXJtcyIsImpvaW4iLCJmaWx0ZXJPcHRpb24iLCJvcHRpb24iLCJpbnB1dFZhbHVlIiwiZGF0YSIsInRlcm0iLCJ0b0xvd2VyQ2FzZSIsImZpbmRGdXp6eVR6IiwiY3VycmVudFRpbWUiLCJlcnIiLCJzY29yZSIsImRzdCIsInN1YnN0cmluZyIsImlzT2JqZWN0IiwiQXJyYXkiLCJpc0FycmF5IiwicGFyc2VUaW1lem9uZSIsImZpbmQiLCJUaW1lem9uZVNlbGVjdCIsIm9uQmx1ciIsIm9uQ2hhbmdlIiwicHJvcHMiLCJoYW5kbGVDaGFuZ2UiLCJfYTIiLCJyZXN0IiwiZGVmYXVsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/react-timezone-select/dist/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/spacetime/builds/spacetime.mjs":
|
||
/*!*****************************************************!*\
|
||
!*** ./node_modules/spacetime/builds/spacetime.mjs ***!
|
||
\*****************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ ft; }\n/* harmony export */ });\nconst e=(e,t,n)=>{const[r,a]=e.split(\"/\"),[o,s]=a.split(\":\");return Date.UTC(n,r-1,o,s)-36e5*t},t=(t,n,r,a,o)=>{const s=new Date(t).getUTCFullYear(),i=e(n,o,s),u=e(r,a,s);return t>=i&&t<u};var n={\"9|s\":\"2/dili,2/jayapura\",\"9|n\":\"2/chita,2/khandyga,2/pyongyang,2/seoul,2/tokyo,2/yakutsk,11/palau,japan,rok\",\"9.5|s|04/05:03->10/04:02\":\"4/adelaide,4/broken_hill,4/south,4/yancowinna\",\"9.5|s\":\"4/darwin,4/north\",\"8|s|03/13:01->10/02:00\":\"12/casey\",\"8|s\":\"2/kuala_lumpur,2/makassar,2/singapore,4/perth,2/ujung_pandang,4/west,singapore\",\"8|n\":\"2/brunei,2/hong_kong,2/irkutsk,2/kuching,2/macau,2/manila,2/shanghai,2/taipei,2/ulaanbaatar,2/chongqing,2/chungking,2/harbin,2/macao,2/ulan_bator,2/choibalsan,hongkong,prc,roc\",\"8.75|s\":\"4/eucla\",\"7|s\":\"12/davis,2/jakarta,9/christmas\",\"7|n\":\"2/bangkok,2/barnaul,2/hovd,2/krasnoyarsk,2/novokuznetsk,2/novosibirsk,2/phnom_penh,2/pontianak,2/ho_chi_minh,2/tomsk,2/vientiane,2/saigon\",\"6|s\":\"12/vostok\",\"6|n\":\"2/bishkek,2/dhaka,2/omsk,2/thimphu,2/urumqi,9/chagos,2/dacca,2/kashgar,2/thimbu\",\"6.5|n\":\"2/yangon,9/cocos,2/rangoon\",\"5|s\":\"12/mawson,9/kerguelen\",\"5|n\":\"2/almaty,2/aqtau,2/aqtobe,2/ashgabat,2/atyrau,2/dushanbe,2/karachi,2/oral,2/qyzylorda,2/qostanay,2/samarkand,2/tashkent,2/yekaterinburg,9/maldives,2/ashkhabad\",\"5.75|n\":\"2/kathmandu,2/katmandu\",\"5.5|n\":\"2/kolkata,2/colombo,2/calcutta\",\"4|s\":\"9/reunion\",\"4|n\":\"2/baku,2/dubai,2/muscat,2/tbilisi,2/yerevan,8/astrakhan,8/samara,8/saratov,8/ulyanovsk,8/volgograd,9/mahe,9/mauritius,2/volgograd\",\"4.5|n\":\"2/kabul\",\"3|s\":\"12/syowa,9/antananarivo\",\"3|n|04/24:00->10/29:24\":\"0/cairo,egypt\",\"3|n|03/29:03->10/25:04\":\"2/famagusta,2/nicosia,8/athens,8/bucharest,8/chisinau,8/helsinki,8/kyiv,8/mariehamn,8/riga,8/sofia,8/tallinn,8/uzhgorod,8/vilnius,8/zaporozhye,8/nicosia,8/tiraspol,8/kiev,eet\",\"3|n|03/29:00->10/24:24\":\"2/beirut\",\"3|n|03/28:02->10/24:02\":\"2/gaza,2/hebron\",\"3|n|03/27:02->10/25:02\":\"2/jerusalem,2/tel_aviv,israel\",\"3|n\":\"0/addis_ababa,0/asmara,0/asmera,0/dar_es_salaam,0/djibouti,0/juba,0/kampala,0/mogadishu,0/nairobi,2/aden,2/amman,2/baghdad,2/bahrain,2/damascus,2/kuwait,2/qatar,2/riyadh,8/istanbul,8/kirov,8/minsk,8/moscow,8/simferopol,9/comoro,9/mayotte,2/istanbul,turkey,w-su\",\"3.5|n\":\"2/tehran,iran\",\"2|s|03/29:02->10/25:02\":\"12/troll\",\"2|s\":\"0/gaborone,0/harare,0/johannesburg,0/lubumbashi,0/lusaka,0/maputo,0/maseru,0/mbabane\",\"2|n|03/29:02->10/25:03\":\"0/ceuta,arctic/longyearbyen,8/amsterdam,8/andorra,8/belgrade,8/berlin,8/bratislava,8/brussels,8/budapest,8/busingen,8/copenhagen,8/gibraltar,8/ljubljana,8/luxembourg,8/madrid,8/malta,8/monaco,8/oslo,8/paris,8/podgorica,8/prague,8/rome,8/san_marino,8/sarajevo,8/skopje,8/stockholm,8/tirane,8/vaduz,8/vatican,8/vienna,8/warsaw,8/zagreb,8/zurich,3/jan_mayen,poland,cet,met\",\"2|n\":\"0/blantyre,0/bujumbura,0/khartoum,0/kigali,0/tripoli,8/kaliningrad,libya\",\"1|s\":\"0/brazzaville,0/kinshasa,0/luanda,0/windhoek\",\"1|n|03/29:01->10/25:02\":\"3/canary,3/faroe,3/madeira,8/dublin,8/guernsey,8/isle_of_man,8/jersey,8/lisbon,8/london,3/faeroe,eire,8/belfast,gb-eire,gb,portugal,wet\",\"1|n\":\"0/algiers,0/bangui,0/douala,0/lagos,0/libreville,0/malabo,0/ndjamena,0/niamey,0/porto-novo,0/tunis\",\"14|n\":\"11/kiritimati\",\"13|s\":\"11/apia,11/tongatapu\",\"13|n\":\"11/enderbury,11/kanton,11/fakaofo\",\"12|s|04/05:03->09/27:02\":\"12/mcmurdo,11/auckland,12/south_pole,nz\",\"12|s\":\"11/fiji\",\"12|n\":\"2/anadyr,2/kamchatka,2/srednekolymsk,11/funafuti,11/kwajalein,11/majuro,11/nauru,11/tarawa,11/wake,11/wallis,kwajalein\",\"12.75|s|04/05:03->04/05:02\":\"11/chatham,nz-chat\",\"11|s|04/05:03->10/04:02\":\"12/macquarie\",\"11|s\":\"11/bougainville\",\"11|n\":\"2/magadan,2/sakhalin,11/efate,11/guadalcanal,11/kosrae,11/noumea,11/pohnpei,11/ponape\",\"11.5|n|04/05:03->10/04:02\":\"11/norfolk\",\"10|s|04/05:03->10/04:02\":\"4/currie,4/hobart,4/melbourne,4/sydney,4/act,4/canberra,4/nsw,4/tasmania,4/victoria\",\"10|s\":\"12/dumontdurville,4/brisbane,4/lindeman,11/port_moresby,4/queensland\",\"10|n\":\"2/ust-nera,2/vladivostok,11/guam,11/saipan,11/chuuk,11/truk,11/yap\",\"10.5|s|04/05:01->10/04:02\":\"4/lord_howe,4/lhi\",\"0|s|02/15:03->03/22:02\":\"0/casablanca,0/el_aaiun\",\"0|n|03/29:00->10/25:01\":\"3/azores\",\"0|n|03/29:00->10/24:24\":\"1/scoresbysund\",\"0|n\":\"0/abidjan,0/accra,0/bamako,0/banjul,0/bissau,0/conakry,0/dakar,0/freetown,0/lome,0/monrovia,0/nouakchott,0/ouagadougou,0/sao_tome,1/danmarkshavn,3/reykjavik,3/st_helena,13/gmt,13/utc,0/timbuktu,13/greenwich,13/uct,13/universal,13/zulu,gmt-0,gmt+0,gmt0,greenwich,iceland,uct,universal,utc,zulu,13/unknown,factory\",\"-9|n|03/08:02->11/01:02\":\"1/adak,1/atka,us/aleutian\",\"-9|n\":\"11/gambier\",\"-9.5|n\":\"11/marquesas\",\"-8|n|03/08:02->11/01:02\":\"1/anchorage,1/juneau,1/metlakatla,1/nome,1/sitka,1/yakutat,us/alaska\",\"-8|n\":\"11/pitcairn\",\"-7|n|03/08:02->11/01:03\":\"1/vancouver,6/pacific\",\"-7|n|03/08:02->11/01:02\":\"1/los_angeles,1/santa_isabel,1/tijuana,1/ensenada,10/bajanorte,us/pacific-new,us/pacific\",\"-7|n\":\"1/creston,1/dawson,1/dawson_creek,1/fort_nelson,1/hermosillo,1/mazatlan,1/phoenix,1/whitehorse,6/yukon,10/bajasur,us/arizona,mst\",\"-6|s|04/04:22->09/05:22\":\"11/easter,7/easterisland\",\"-6|n|04/07:02->10/27:02\":\"1/merida\",\"-6|n|03/08:02->11/01:02\":\"1/boise,1/cambridge_bay,1/denver,1/edmonton,1/inuvik,1/north_dakota,1/ojinaga,1/ciudad_juarez,1/yellowknife,1/shiprock,6/mountain,navajo,us/mountain\",\"-6|n\":\"1/bahia_banderas,1/belize,1/chihuahua,1/costa_rica,1/el_salvador,1/guatemala,1/managua,1/mexico_city,1/monterrey,1/regina,1/swift_current,1/tegucigalpa,11/galapagos,6/east-saskatchewan,6/saskatchewan,10/general\",\"-5|s\":\"1/lima,1/rio_branco,1/porto_acre,5/acre\",\"-5|n|03/08:02->11/01:02\":\"1/chicago,1/matamoros,1/menominee,1/rainy_river,1/rankin_inlet,1/resolute,1/winnipeg,1/indiana/knox,1/indiana/tell_city,1/north_dakota/beulah,1/north_dakota/center,1/north_dakota/new_salem,1/knox_in,6/central,us/central,us/indiana-starke\",\"-5|n\":\"1/bogota,1/cancun,1/cayman,1/coral_harbour,1/eirunepe,1/guayaquil,1/jamaica,1/panama,1/atikokan,jamaica,est\",\"-4|s|04/04:24->09/06:00\":\"1/santiago,7/continental\",\"-4|s|03/22:24->10/05:00\":\"1/asuncion\",\"-4|s\":\"1/campo_grande,1/cuiaba,1/la_paz,1/manaus,5/west\",\"-4|n|03/08:02->11/01:02\":\"1/detroit,1/grand_turk,1/indiana,1/indianapolis,1/iqaluit,1/kentucky,1/louisville,1/montreal,1/nassau,1/new_york,1/nipigon,1/pangnirtung,1/port-au-prince,1/thunder_bay,1/toronto,1/indiana/marengo,1/indiana/petersburg,1/indiana/vevay,1/indiana/vincennes,1/indiana/winamac,1/kentucky/monticello,1/fort_wayne,1/indiana/indianapolis,1/kentucky/louisville,6/eastern,us/east-indiana,us/eastern,us/michigan\",\"-4|n|03/08:00->11/01:01\":\"1/havana,cuba\",\"-4|n\":\"1/anguilla,1/antigua,1/aruba,1/barbados,1/blanc-sablon,1/boa_vista,1/caracas,1/curacao,1/dominica,1/grenada,1/guadeloupe,1/guyana,1/kralendijk,1/lower_princes,1/marigot,1/martinique,1/montserrat,1/port_of_spain,1/porto_velho,1/puerto_rico,1/santo_domingo,1/st_barthelemy,1/st_kitts,1/st_lucia,1/st_thomas,1/st_vincent,1/tortola,1/virgin\",\"-3|s\":\"1/argentina,1/buenos_aires,1/catamarca,1/cordoba,1/coyhaique,1/fortaleza,1/jujuy,1/mendoza,1/montevideo,1/punta_arenas,1/sao_paulo,12/palmer,12/rothera,3/stanley,1/argentina/la_rioja,1/argentina/rio_gallegos,1/argentina/salta,1/argentina/san_juan,1/argentina/san_luis,1/argentina/tucuman,1/argentina/ushuaia,1/argentina/comodrivadavia,1/argentina/buenos_aires,1/argentina/catamarca,1/argentina/cordoba,1/argentina/jujuy,1/argentina/mendoza,1/argentina/rosario,1/rosario,5/east\",\"-3|n|03/08:02->11/01:02\":\"1/glace_bay,1/goose_bay,1/halifax,1/moncton,1/thule,3/bermuda,6/atlantic\",\"-3|n\":\"1/araguaina,1/bahia,1/belem,1/cayenne,1/maceio,1/paramaribo,1/recife,1/santarem\",\"-2|n|03/08:02->11/01:02\":\"1/miquelon\",\"-2|n\":\"1/noronha,3/south_georgia,5/denoronha\",\"-2.5|n|03/08:02->11/01:02\":\"1/st_johns,6/newfoundland\",\"-1|n|03/29:00->10/24:24\":\"1/nuuk,1/godthab\",\"-1|n\":\"3/cape_verde\",\"-11|n\":\"11/midway,11/niue,11/pago_pago,11/samoa,us/samoa\",\"-10|n\":\"11/honolulu,11/johnston,11/rarotonga,11/tahiti,us/hawaii,hst\"},r=[\"africa\",\"america\",\"asia\",\"atlantic\",\"australia\",\"brazil\",\"canada\",\"chile\",\"europe\",\"indian\",\"mexico\",\"pacific\",\"antarctica\",\"etc\"];const a={};Object.keys(n).forEach(e=>{const t=e.split(\"|\"),o={offset:Number(t[0]),hem:t[1]};t[2]&&(o.dst=t[2]);n[e].split(\",\").forEach(e=>{e=e.replace(/(^[0-9]+)\\//,(e,t)=>(t=Number(t),r[t]+\"/\")),a[e]=o})}),a.utc={offset:0,hem:\"n\"};for(let e=-14;e<=14;e+=.5){let t=e;t>0&&(t=\"+\"+t);let n=\"etc/gmt\"+t;a[n]={offset:-1*e,hem:\"n\"},n=\"utc/gmt\"+t,a[n]={offset:-1*e,hem:\"n\"}}const o=/(-?[0-9]+)h(rs)?/i,s=/(-?[0-9]+)/,i=/utc([\\-+]?[0-9]+)/i,u=/gmt([\\-+]?[0-9]+)/i,c=function(e){return(e=Number(e))>=-13&&e<=13?\"etc/gmt\"+(e=((e*=-1)>0?\"+\":\"\")+e):null};let h=(()=>{const e=(()=>{if(\"undefined\"==typeof Intl||void 0===Intl.DateTimeFormat)return null;const e=Intl.DateTimeFormat();if(void 0===e||void 0===e.resolvedOptions)return null;const t=e.resolvedOptions().timeZone;return t?t.toLowerCase():null})();return null===e?\"utc\":e})();const l=Object.keys(a).reduce((e,t)=>{let n=t.split(\"/\")[1]||\"\";return n=n.replace(/_/g,\" \"),e[n]=t,e},{}),m=(e,t)=>{if(!e)return t.hasOwnProperty(h)||(console.warn(`Unrecognized IANA id '${h}'. Setting fallback tz to UTC.`),h=\"utc\"),h;\"string\"!=typeof e&&console.error(\"Timezone must be a string - recieved: '\",e,\"'\\n\");let n=e.trim();if(n=n.toLowerCase(),!0===t.hasOwnProperty(n))return n;if(n=(e=>(e=(e=(e=(e=(e=e.replace(/ time/g,\"\")).replace(/ (standard|daylight|summer)/g,\"\")).replace(/\\b(east|west|north|south)ern/g,\"$1\")).replace(/\\b(africa|america|australia)n/g,\"$1\")).replace(/\\beuropean/g,\"europe\")).replace(/islands/g,\"island\"))(n),!0===t.hasOwnProperty(n))return n;if(!0===l.hasOwnProperty(n))return l[n];if(!0===/[0-9]/.test(n)){const e=function(e){let t=e.match(o);if(null!==t)return c(t[1]);if(t=e.match(i),null!==t)return c(t[1]);if(t=e.match(u),null!==t){const e=-1*Number(t[1]);return c(e)}return t=e.match(s),null!==t?c(t[1]):null}(n);if(e)return e}throw new Error(\"Spacetime: Cannot find timezone named: '\"+e+\"'. Please enter an IANA timezone id.\")};function d(e){return e%4==0&&e%100!=0||e%400==0}function f(e){return\"[object Date]\"===Object.prototype.toString.call(e)&&!isNaN(e.valueOf())}function p(e){return\"[object Object]\"===Object.prototype.toString.call(e)}function y(e,t=2){return(e+=\"\").length>=t?e:new Array(t-e.length+1).join(\"0\")+e}function g(e){const t=e%10,n=e%100;return 1===t&&11!==n?e+\"st\":2===t&&12!==n?e+\"nd\":3===t&&13!==n?e+\"rd\":e+\"th\"}function b(e){return e=(e=String(e)).replace(/([0-9])(st|nd|rd|th)$/i,\"$1\"),parseInt(e,10)}function k(e=\"\"){return\"day\"===(e=(e=(e=(e=e.toLowerCase().trim()).replace(/ies$/,\"y\")).replace(/s$/,\"\")).replace(/-/g,\"\"))||\"days\"===e?\"date\":\"min\"===e||\"mins\"===e?\"minute\":e}function w(e){return\"number\"==typeof e?e:f(e)?e.getTime():e.epoch||0===e.epoch?e.epoch:null}function v(e,t){return!1===p(e)?t.clone().set(e):e}function z(e,t=\"\"){const n=e>0?\"+\":\"-\",r=Math.abs(e);return`${n}${y(parseInt(\"\"+r,10))}${t}${y(r%1*60)}`}const _={year:(new Date).getFullYear(),month:0,date:1},$=[\"year\",\"month\",\"date\",\"hour\",\"minute\",\"second\",\"millisecond\"];var j={parseArray:(e,t,n)=>{if(0===t.length)return e;for(let r=0;r<$.length;r++){const a=t[r]||n[$[r]]||_[$[r]]||0;e=e[$[r]](a)}return e},parseObject:(e,t)=>{if(0===Object.keys(t).length)return e;(t=Object.assign({},_,t)).timezone&&(e.tz=t.timezone);for(let n=0;n<$.length;n++){const r=$[n];void 0!==t[r]&&(e=e[r](t[r]))}return e},parseNumber:function(e,t){return t>0&&t<25e8&&!1===e.silent&&(console.warn(\" - Warning: You are setting the date to January 1970.\"),console.warn(\" - did input seconds instead of milliseconds?\")),e.epoch=t,e}};const O=function(e){return e.epoch=Date.now(),Object.keys(e._today||{}).forEach(t=>{\"function\"==typeof e[t]&&(e=e[t](e._today[t]))}),e},D={now:e=>O(e),today:e=>O(e),tonight:e=>e=(e=O(e)).hour(18),tomorrow:e=>e=(e=(e=O(e)).add(1,\"day\")).startOf(\"day\"),yesterday:e=>e=(e=(e=O(e)).subtract(1,\"day\")).startOf(\"day\"),christmas:e=>{const t=O(e).year();return e=e.set([t,11,25,18,0,0])},\"new years\":e=>{const t=O(e).year();return e=e.set([t,11,31,18,0,0])}};D[\"new years eve\"]=D[\"new years\"];const M={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5};M.date=M.day,M.month=25488e5,M.week=6048e5,M.year=3154e7,Object.keys(M).forEach(e=>{M[e+\"s\"]=M[e]});const S=(e,t,n,r,a)=>{const o=e.d[n]();if(o===t)return;const s=null===a?null:e.d[a](),i=e.epoch,u=t-o;e.epoch+=M[r]*u,\"day\"===r&&Math.abs(u)>28&&t<28&&(e.epoch+=M.hour),null!==a&&s!==e.d[a]()&&(e.epoch=i);const c=M[r]/2;for(;e.d[n]()<t;)e.epoch+=c;for(;e.d[n]()>t;)e.epoch-=c;null!==a&&s!==e.d[a]()&&(e.epoch=i)},q={year:{valid:e=>e>-4e3&&e<4e3,walkTo:(e,t)=>S(e,t,\"getFullYear\",\"year\",null)},month:{valid:e=>e>=0&&e<=11,walkTo:(e,t)=>{const n=e.d,r=n.getMonth(),a=e.epoch,o=n.getFullYear();if(r===t)return;const s=t-r;for(e.epoch+=M.day*(28*s),o!==e.d.getFullYear()&&(e.epoch=a);e.d.getMonth()<t;)e.epoch+=M.day;for(;e.d.getMonth()>t;)e.epoch-=M.day}},date:{valid:e=>e>0&&e<=31,walkTo:(e,t)=>S(e,t,\"getDate\",\"day\",\"getMonth\")},hour:{valid:e=>e>=0&&e<24,walkTo:(e,t)=>S(e,t,\"getHours\",\"hour\",\"getDate\")},minute:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>S(e,t,\"getMinutes\",\"minute\",\"getHours\")},second:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>{e.epoch=e.seconds(t).epoch}},millisecond:{valid:e=>e>=0&&e<1e3,walkTo:(e,t)=>{e.epoch=e.milliseconds(t).epoch}}},N=(e,t)=>{const n=Object.keys(q),r=e.clone();for(let a=0;a<n.length;a++){const o=n[a];let s=t[o];if(void 0===s&&(s=r[o]()),\"string\"==typeof s&&(s=parseInt(s,10)),!q[o].valid(s))return e.epoch=null,void(!1===e.silent&&console.warn(\"invalid \"+o+\": \"+s));q[o].walkTo(e,s)}},I=[31,28,31,30,31,30,31,31,30,31,30,31];let T=[\"jan\",\"feb\",\"mar\",\"apr\",\"may\",\"jun\",\"jul\",\"aug\",\"sep\",\"oct\",\"nov\",\"dec\"],C=[\"january\",\"february\",\"march\",\"april\",\"may\",\"june\",\"july\",\"august\",\"september\",\"october\",\"november\",\"december\"];function E(){return T}function A(){return function(){const e={sep:8};for(let t=0;t<T.length;t++)e[T[t]]=t;for(let t=0;t<C.length;t++)e[C[t]]=t;return e}()}const x=(e,t)=>{if(!t)return e;t=t.trim().toLowerCase();let n=0;if(/^[+-]?[0-9]{2}:[0-9]{2}$/.test(t)&&(!0===/:00/.test(t)&&(t=t.replace(/:00/,\"\")),!0===/:30/.test(t)&&(t=t.replace(/:30/,\".5\"))),/^[+-]?[0-9]{4}$/.test(t)&&(t=t.replace(/30$/,\".5\")),n=parseFloat(t),Math.abs(n)>100&&(n/=100),0===n||\"Z\"===t||\"z\"===t)return e.tz=\"etc/gmt\",e;n*=-1,n>=0&&(n=\"+\"+n);const r=\"etc/gmt\"+n;return e.timezones[r]&&(e.tz=r),e},Y=(e,t=\"\")=>{let n=(t=t.replace(/^\\s+/,\"\").toLowerCase()).match(/([0-9]{1,2}):([0-9]{1,2}):?([0-9]{1,2})?[:.]?([0-9]{1,4})?/);if(null!==n){let[,r,a,o,s]=n;if(r=Number(r),r<0||r>24)return e.startOf(\"day\");if(a=Number(a),n[2].length<2||a<0||a>59)return e.startOf(\"day\");e=(e=(e=(e=e.hour(r)).minute(a)).seconds(o||0)).millisecond(function(e=\"\"){return(e=String(e)).length>3?e=e.substring(0,3):1===e.length?e+=\"00\":2===e.length&&(e+=\"0\"),Number(e)||0}(s));const i=t.match(/[0-9] ?(am|pm)\\b/);return null!==i&&i[1]&&(e=e.ampm(i[1])),e}if(n=t.match(/([0-9]+) ?(am|pm)/),null!==n&&n[1]){const t=Number(n[1]);return t>12||t<1?e.startOf(\"day\"):e=(e=(e=e.hour(n[1]||0)).ampm(n[2])).startOf(\"hour\")}return e=e.startOf(\"day\")},F=A(),P=e=>{if(!0!==I.hasOwnProperty(e.month))return!1;if(1===e.month)return!!(d(e.year)&&e.date<=29)||e.date<=28;const t=I[e.month]||0;return e.date<=t},L=(e=\"\",t)=>{if(e=e.trim(),!0===/^'[0-9][0-9]$/.test(e)){const t=Number(e.replace(/'/,\"\"));return t>50?1900+t:2e3+t}let n=parseInt(e,10);return!n&&t&&(n=t.year),n=n||(new Date).getFullYear(),n},U=function(e){return\"sept\"===(e=e.toLowerCase().trim())?F.sep:F[e]};var B=[{reg:/^([0-9]{1,2})[-/.]([0-9]{1,2})[\\-/.]?([0-9]{4})?( [0-9]{1,2}:[0-9]{2}:?[0-9]{0,2} ?(am|pm|gmt))?$/i,parse:(e,t)=>{let n=parseInt(t[1],10)-1,r=parseInt(t[2],10);(e.british||n>=12)&&(r=parseInt(t[1],10),n=parseInt(t[2],10)-1);const a={date:r,month:n,year:L(t[3],e._today)||(new Date).getFullYear()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e,t[4]))}},{reg:/^([a-z]+)[\\-/. ]([0-9]{1,2})[\\-/. ]?([0-9]{4}|'[0-9]{2})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[1]),date:b(t[2]||\"\")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9]{4})?( ([0-9:]+( ?am| ?pm| ?gmt)?))?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[1]),date:b(t[2]||\"\")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2}) ([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2})( \\+[0-9]{4})?( [0-9]{4})?$/i,parse:(e,t)=>{const[,n,r,a,o,s]=t,i={year:L(s,e._today),month:U(n),date:b(r||\"\")};return!1===P(i)?(e.epoch=null,e):(N(e,i),e=x(e,o),e=Y(e,a))}}],H=[{reg:/^([0-9]{4})[\\-/]([0-9]{2})$/,parse:(e,t)=>{const n={year:t[1],month:parseInt(t[2],10)-1,date:1};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{4})$/i,parse:(e,t)=>{const n={year:L(t[2],e._today),month:U(t[1]),date:e._today.date||1};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^(q[0-9])( of)?( [0-9]{4})?/i,parse:(e,t)=>{const n=t[1]||\"\";e=e.quarter(n);let r=t[3]||\"\";return r&&(r=r.trim(),e=e.year(r)),e}},{reg:/^(spring|summer|winter|fall|autumn)( of)?( [0-9]{4})?/i,parse:(e,t)=>{const n=t[1]||\"\";e=e.season(n);let r=t[3]||\"\";return r&&(r=r.trim(),e=e.year(r)),e}},{reg:/^[0-9,]+ ?b\\.?c\\.?$/i,parse:(e,t)=>{let n=t[0]||\"\";n=n.replace(/^([0-9,]+) ?b\\.?c\\.?$/i,\"-$1\");const r=new Date,a={year:parseInt(n.trim(),10),month:r.getMonth(),date:r.getDate()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e))}},{reg:/^[0-9,]+ ?(a\\.?d\\.?|c\\.?e\\.?)$/i,parse:(e,t)=>{let n=t[0]||\"\";n=n.replace(/,/g,\"\");const r=new Date,a={year:parseInt(n.trim(),10),month:r.getMonth(),date:r.getDate()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e))}},{reg:/^[0-9]{4}( ?a\\.?d\\.?)?$/i,parse:(e,t)=>{const n=e._today;n.month&&!n.date&&(n.date=1);const r=new Date,a={year:L(t[0],n),month:n.month||r.getMonth(),date:n.date||r.getDate()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e))}}],Z=[].concat([{reg:/^(-?0{0,2}[0-9]{3,4})-([0-9]{1,2})-([0-9]{1,2})[T| ]([0-9.:]+)(Z|[0-9-+:]+)?(\\[.*?\\])?(\\[.*?\\])?$/i,parse:(e,t)=>{const n={year:t[1],month:parseInt(t[2],10)-1,date:t[3]};if(!1===P(n))return e.epoch=null,e;if(t[6]){const n=t[6].trim().replace(/[[\\]]/g,\"\");n&&(e=e.timezone(n))}else x(e,t[5]);return N(e,n),e=Y(e,t[4])}},{reg:/^([0-9]{4})[\\-/. ]([0-9]{1,2})[\\-/. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={year:t[1],month:parseInt(t[2],10)-1,date:parseInt(t[3],10)};return n.month>=12&&(n.date=parseInt(t[2],10),n.month=parseInt(t[3],10)-1),!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([0-9]{4})[\\-/. ]([a-z]+)[\\-/. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={year:L(t[1],e._today),month:U(t[2]),date:b(t[3]||\"\")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}}],B,[{reg:/^([0-9]{1,2})[-/]([a-z]+)[\\-/]?([0-9]{4})?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[2]),date:b(t[1]||\"\")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([0-9]{1,2})( [a-z]+)( [0-9]{4}| '[0-9]{2})? ?([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2} ?(am|pm|gmt))?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[2]),date:b(t[1])};return n.month&&!1!==P(n)?(N(e,n),e=Y(e,t[4])):(e.epoch=null,e)}},{reg:/^([0-9]{1,2})[. \\-/]([a-z]+)[. \\-/]([0-9]{4})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={date:Number(t[1]),month:U(t[2]),year:Number(t[3])};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=e.startOf(\"day\"),e=Y(e,t[4]))}}],H);const{parseArray:Q,parseObject:G,parseNumber:V}=j,W={year:(new Date).getFullYear(),month:0,date:1},J=(e,t)=>{const n=e._today||W;if(\"number\"==typeof t)return V(e,t);if(e.epoch=Date.now(),e._today&&p(e._today)&&Object.keys(e._today).length>0){const t=G(e,n);t.isValid()&&(e.epoch=t.epoch)}if(null==t||\"\"===t)return e;if(!0===f(t))return e.epoch=t.getTime(),e;if(!0===function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}(t))return e=Q(e,t,n);if(!0===p(t)){if(t.epoch)return e.epoch=t.epoch,e.tz=t.tz,e;const r=Object.assign({},n,t);return e=G(e,r)}return\"string\"!=typeof t?e:(t=t.replace(/\\b(mon|tues?|wed|wednes|thur?s?|fri|sat|satur|sun)(day)?\\b/i,\"\").replace(/([0-9])(th|rd|st|nd)/,\"$1\").replace(/,/g,\"\").replace(/ +/g,\" \").trim(),!0===D.hasOwnProperty(t)?e=D[t](e):function(e,t,n){for(let r=0;r<Z.length;r++){const a=t.match(Z[r].reg);if(a){const t=Z[r].parse(e,a,n);if(null!==t&&t.isValid())return t}}return!1===e.silent&&console.warn(\"Warning: couldn't parse date-string: '\"+t+\"'\"),e.epoch=null,e}(e,t))};let K=[\"sun\",\"mon\",\"tue\",\"wed\",\"thu\",\"fri\",\"sat\"],R=[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"];function X(){return K}function ee(){return R}const te={mo:1,tu:2,we:3,th:4,fr:5,sa:6,su:7,tues:2,weds:3,wedn:3,thur:4,thurs:4};let ne=!0;const re=e=>{const t=e.timezone().current.offset;return t?z(t,\":\"):\"Z\"},ae=e=>ne?function(e){return e?e[0].toUpperCase()+e.substr(1):\"\"}(e):e,oe={day:e=>ae(e.dayName()),\"day-short\":e=>ae(X()[e.day()]),\"day-number\":e=>e.day(),\"day-ordinal\":e=>g(e.day()),\"day-pad\":e=>y(e.day()),date:e=>e.date(),\"date-ordinal\":e=>g(e.date()),\"date-pad\":e=>y(e.date()),month:e=>ae(e.monthName()),\"month-short\":e=>ae(E()[e.month()]),\"month-number\":e=>e.month(),\"month-ordinal\":e=>g(e.month()),\"month-pad\":e=>y(e.month()),\"iso-month\":e=>y(e.month()+1),year:e=>{let t=e.year();return t>0?t:(t=Math.abs(t),t+\" BC\")},\"year-short\":e=>{let t=e.year();return t>0?`'${String(e.year()).substr(2,4)}`:(t=Math.abs(t),t+\" BC\")},\"iso-year\":e=>{const t=e.year(),n=t<0;let r=y(Math.abs(t),4);return n&&(r=y(r,6),r=\"-\"+r),r},time:e=>e.time(),\"time-24\":e=>`${e.hour24()}:${y(e.minute())}`,hour:e=>e.hour12(),\"hour-pad\":e=>y(e.hour12()),\"hour-24\":e=>e.hour24(),\"hour-24-pad\":e=>y(e.hour24()),minute:e=>e.minute(),\"minute-pad\":e=>y(e.minute()),second:e=>e.second(),\"second-pad\":e=>y(e.second()),millisecond:e=>e.millisecond(),\"millisecond-pad\":e=>y(e.millisecond(),3),ampm:e=>e.ampm(),AMPM:e=>e.ampm().toUpperCase(),quarter:e=>\"Q\"+e.quarter(),season:e=>e.season(),era:e=>e.era(),json:e=>e.json(),timezone:e=>e.timezone().name,offset:e=>re(e),numeric:e=>`${e.year()}/${y(e.month()+1)}/${y(e.date())}`,\"numeric-us\":e=>`${y(e.month()+1)}/${y(e.date())}/${e.year()}`,\"numeric-uk\":e=>`${y(e.date())}/${y(e.month()+1)}/${e.year()}`,\"mm/dd\":e=>`${y(e.month()+1)}/${y(e.date())}`,iso:e=>`${e.format(\"iso-year\")}-${y(e.month()+1)}-${y(e.date())}T${y(e.h24())}:${y(e.minute())}:${y(e.second())}.${y(e.millisecond(),3)}${re(e)}`,\"iso-short\":e=>{const t=y(e.month()+1),n=y(e.date());var r;return`${(r=e.year())>=0?y(r,4):\"-\"+y(r=Math.abs(r),4)}-${t}-${n}`},\"iso-utc\":e=>new Date(e.epoch).toISOString(),\"iso-full\":e=>{let t=e.format(\"iso\");const n=e.timezone().name;return n&&(t+=`[${n}]`),t},sql:e=>`${e.format(\"iso-year\")}-${y(e.month()+1)}-${y(e.date())} ${y(e.h24())}:${y(e.minute())}:${y(e.second())}`,nice:e=>`${E()[e.month()]} ${g(e.date())}, ${e.time()}`,\"nice-24\":e=>`${E()[e.month()]} ${g(e.date())}, ${e.hour24()}:${y(e.minute())}`,\"nice-year\":e=>`${E()[e.month()]} ${g(e.date())}, ${e.year()}`,\"nice-day\":e=>`${X()[e.day()]} ${ae(E()[e.month()])} ${g(e.date())}`,\"nice-full\":e=>`${e.dayName()} ${ae(e.monthName())} ${g(e.date())}, ${e.time()}`,\"nice-full-24\":e=>`${e.dayName()} ${ae(e.monthName())} ${g(e.date())}, ${e.hour24()}:${y(e.minute())}`},se={\"day-name\":\"day\",\"month-name\":\"month\",\"iso 8601\":\"iso\",\"iso 9075\":\"sql\",\"time-h24\":\"time-24\",\"time-12\":\"time\",\"time-h12\":\"time\",tz:\"timezone\",iana:\"timezone\",\"day-num\":\"day-number\",\"month-num\":\"month-number\",\"month-iso\":\"iso-month\",\"year-iso\":\"iso-year\",\"nice-short\":\"nice\",\"nice-short-24\":\"nice-24\",mdy:\"numeric-us\",dmy:\"numeric-uk\",ymd:\"numeric\",\"yyyy/mm/dd\":\"numeric\",\"mm/dd/yyyy\":\"numeric-us\",\"dd/mm/yyyy\":\"numeric-us\",\"little-endian\":\"numeric-uk\",\"big-endian\":\"numeric\",\"day-nice\":\"nice-day\"};Object.keys(se).forEach(e=>oe[e]=oe[se[e]]);const ie=(e,t=\"\")=>{if(!0!==e.isValid())return\"\";if(oe.hasOwnProperty(t)){let n=oe[t](e)||\"\";return\"json\"!==t&&(n=String(n),\"ampm\"!==t.toLowerCase()&&(n=ae(n))),n}if(-1!==t.indexOf(\"{\")){const n=/\\{(.+?)\\}/g;return t=t.replace(n,(t,n)=>{if(\"AMPM\"!==(n=n.trim())&&(n=n.toLowerCase()),oe.hasOwnProperty(n)){const t=String(oe[n](e));return\"ampm\"!==n.toLowerCase()?ae(t):t}return\"\"}),t}return e.format(\"iso-short\")},ue={G:e=>e.era(),GG:e=>e.era(),GGG:e=>e.era(),GGGG:e=>\"AD\"===e.era()?\"Anno Domini\":\"Before Christ\",y:e=>e.year(),yy:e=>y(Number(String(e.year()).substr(2,4))),yyy:e=>e.year(),yyyy:e=>e.year(),yyyyy:e=>\"0\"+e.year(),Q:e=>e.quarter(),QQ:e=>e.quarter(),QQQ:e=>e.quarter(),QQQQ:e=>e.quarter(),M:e=>e.month()+1,MM:e=>y(e.month()+1),MMM:e=>e.format(\"month-short\"),MMMM:e=>e.format(\"month\"),w:e=>e.week(),ww:e=>y(e.week()),d:e=>e.date(),dd:e=>y(e.date()),D:e=>e.dayOfYear(),DD:e=>y(e.dayOfYear()),DDD:e=>y(e.dayOfYear(),3),E:e=>e.format(\"day-short\"),EE:e=>e.format(\"day-short\"),EEE:e=>e.format(\"day-short\"),EEEE:e=>e.format(\"day\"),EEEEE:e=>e.format(\"day\")[0],e:e=>e.day(),ee:e=>e.day(),eee:e=>e.format(\"day-short\"),eeee:e=>e.format(\"day\"),eeeee:e=>e.format(\"day\")[0],a:e=>e.ampm().toUpperCase(),aa:e=>e.ampm().toUpperCase(),aaa:e=>e.ampm().toUpperCase(),aaaa:e=>e.ampm().toUpperCase(),h:e=>e.h12(),hh:e=>y(e.h12()),H:e=>e.hour(),HH:e=>y(e.hour()),m:e=>e.minute(),mm:e=>y(e.minute()),s:e=>e.second(),ss:e=>y(e.second()),SSS:e=>y(e.millisecond(),3),A:e=>e.epoch-e.startOf(\"day\").epoch,z:e=>e.timezone().name,zz:e=>e.timezone().name,zzz:e=>e.timezone().name,zzzz:e=>e.timezone().name,Z:e=>z(e.timezone().current.offset),ZZ:e=>z(e.timezone().current.offset),ZZZ:e=>z(e.timezone().current.offset),ZZZZ:e=>z(e.timezone().current.offset,\":\")},ce=(e,t,n)=>{let r=e,a=t;for(let o=0;o<n;o+=1)ue[r]=ue[a],r+=e,a+=t};ce(\"q\",\"Q\",4),ce(\"L\",\"M\",4),ce(\"Y\",\"y\",4),ce(\"c\",\"e\",4),ce(\"k\",\"H\",2),ce(\"K\",\"h\",2),ce(\"S\",\"s\",2),ce(\"v\",\"z\",4),ce(\"V\",\"Z\",4);const he=[\"year\",\"season\",\"quarter\",\"month\",\"week\",\"day\",\"quarterHour\",\"hour\",\"minute\"],le=function(e,t){const n=e.clone().startOf(t),r=e.clone().endOf(t).epoch-n.epoch,a=(e.epoch-n.epoch)/r;return parseFloat(a.toFixed(2))},me=(e,t,n)=>{let r=0;for(e=e.clone();e.isBefore(t);)e=e.add(1,n),r+=1;return e.isAfter(t,n)&&(r-=1),r},de=(e,t,n)=>e.isBefore(t)?me(e,t,n):-1*me(t,e,n),fe=function(e,t,n){t=v(t,e);let r=!1;if(e.isAfter(t)){const n=e;e=t,t=n,r=!0}let a=function(e,t){const n=t.epoch-e.epoch,r={milliseconds:n,seconds:parseInt(n/1e3,10)};r.minutes=parseInt(r.seconds/60,10),r.hours=parseInt(r.minutes/60,10);let a=e.clone();return r.years=((e,t)=>{let n=t.year()-e.year();return(e=e.year(t.year())).isAfter(t)&&(n-=1),n})(a,t),a=e.add(r.years,\"year\"),r.months=12*r.years,a=e.add(r.months,\"month\"),r.months+=de(a,t,\"month\"),r.quarters=4*r.years,r.quarters+=parseInt(r.months%12/3,10),r.weeks=52*r.years,a=e.add(r.weeks,\"week\"),r.weeks+=de(a,t,\"week\"),r.days=7*r.weeks,a=e.add(r.days,\"day\"),r.days+=de(a,t,\"day\"),r}(e,t);return r&&(a=function(e){return Object.keys(e).forEach(t=>{e[t]*=-1}),e}(a)),n?(n=k(n),!0!==/s$/.test(n)&&(n+=\"s\"),\"dates\"===n&&(n=\"days\"),a[n]):a},pe=e=>Math.abs(e)||0;let ye={second:\"second\",seconds:\"seconds\",minute:\"minute\",minutes:\"minutes\",hour:\"hour\",hours:\"hours\",day:\"day\",days:\"days\",month:\"month\",months:\"months\",year:\"year\",years:\"years\"};function ge(e){return ye[e]||\"\"}let be=\"past\",ke=\"future\",we=\"present\",ve=\"now\",ze=\"almost\",_e=\"over\",$e=e=>`${e} ago`,je=e=>`in ${e}`;function Oe(e){return $e(e)}function De(e){return je(e)}function Me(){return ve}const Se={months:{almost:10,over:4},days:{almost:25,over:10},hours:{almost:20,over:8},minutes:{almost:50,over:20},seconds:{almost:50,over:20}};function qe(e,t){return 1===e?e+\" \"+ge(t.slice(0,-1)):e+\" \"+ge(t)}const Ne=function(e){let t=null,n=null;const r=[],a=[];return Object.keys(e).forEach((o,s,i)=>{const u=Math.abs(e[o]);if(0===u)return;r.push(u+o[0]);const c=qe(u,o);if(a.push(c),!t){if(t=c,n=c,s>4)return;const r=i[s+1],a=Math.abs(e[r]);a>Se[r].almost?(t=qe(u+1,o),n=ze+\" \"+t):a>Se[r].over&&(n=_e+\" \"+c)}}),{qualified:n,rounded:t,abbreviated:r,englishValues:a}},Ie=(e,t)=>{const n=function(e,t){const n=e.isBefore(t),r=n?t:e;let a=n?e:t;a=a.clone();const o={years:0,months:0,days:0,hours:0,minutes:0,seconds:0};return Object.keys(o).forEach(e=>{if(a.isSame(r,e))return;const t=a.diff(r,e);a=a.add(t,e),o[e]=t}),n&&Object.keys(o).forEach(e=>{0!==o[e]&&(o[e]*=-1)}),o}(e,t=v(t,e));if(!0===Object.keys(n).every(e=>!n[e]))return{diff:n,rounded:Me(),qualified:Me(),precise:Me(),abbreviated:[],iso:\"P0Y0M0DT0H0M0S\",direction:we};let r,a=ke,{rounded:o,qualified:s}=Ne(n);const{englishValues:i,abbreviated:u}=Ne(n);r=i.splice(0,2).join(\", \"),!0===e.isAfter(t)?(o=Oe(o),s=Oe(s),r=Oe(r),a=be):(o=De(o),s=De(s),r=De(r));const c=function(e){let t=\"P\";return t+=pe(e.years)+\"Y\",t+=pe(e.months)+\"M\",t+=pe(e.days)+\"DT\",t+=pe(e.hours)+\"H\",t+=pe(e.minutes)+\"M\",t+=pe(e.seconds)+\"S\",t}(n);return{diff:n,rounded:o,qualified:s,precise:r,abbreviated:u,iso:c,direction:a}};var Te={north:[[\"spring\",2,1],[\"summer\",5,1],[\"fall\",8,1],[\"autumn\",8,1],[\"winter\",11,1]],south:[[\"fall\",2,1],[\"autumn\",2,1],[\"winter\",5,1],[\"spring\",8,1],[\"summer\",11,1]]},Ce=[null,[0,1],[3,1],[6,1],[9,1]];const Ee={second:e=>(N(e,{millisecond:0}),e),minute:e=>(N(e,{second:0,millisecond:0}),e),quarterhour:e=>{const t=e.minutes();return e=t>=45?e.minutes(45):t>=30?e.minutes(30):t>=15?e.minutes(15):e.minutes(0),N(e,{second:0,millisecond:0}),e},hour:e=>(N(e,{minute:0,second:0,millisecond:0}),e),day:e=>(N(e,{hour:0,minute:0,second:0,millisecond:0}),e),week:e=>{const t=e.clone();return(e=e.day(e._weekStart)).isAfter(t)&&(e=e.subtract(1,\"week\")),N(e,{hour:0,minute:0,second:0,millisecond:0}),e},month:e=>(N(e,{date:1,hour:0,minute:0,second:0,millisecond:0}),e),quarter:e=>{const t=e.quarter();return Ce[t]&&N(e,{month:Ce[t][0],date:Ce[t][1],hour:0,minute:0,second:0,millisecond:0}),e},season:e=>{const t=e.season();let n=\"north\";\"South\"===e.hemisphere()&&(n=\"south\");for(let r=0;r<Te[n].length;r++)if(Te[n][r][0]===t){let a=e.year();return\"winter\"===t&&e.month()<3&&(a-=1),N(e,{year:a,month:Te[n][r][1],date:Te[n][r][2],hour:0,minute:0,second:0,millisecond:0}),e}return e},year:e=>(N(e,{month:0,date:1,hour:0,minute:0,second:0,millisecond:0}),e),decade:e=>{const t=(e=e.startOf(\"year\")).year(),n=10*parseInt(t/10,10);return e=e.year(n)},century:e=>{const t=(e=e.startOf(\"year\")).year(),n=100*parseInt(t/100,10);return e=e.year(n)}};Ee.date=Ee.day;const Ae=function(e,t,n,r=1){if(!t||!n)return[];if(t=k(t),n=e.clone().set(n),e.isAfter(n)){const t=e;e=n,n=t}if(e.diff(n,t)<r)return[];let a=e.clone();if(function(e){return!!X().find(t=>t===e)||!!ee().find(t=>t===e)}(t))a=a.next(t),t=\"week\";else{a.startOf(t).isBefore(e)&&(a=a.next(t))}const o=[];for(;a.isBefore(n);)o.push(a),a=a.add(r,t);return o},xe=e=>{const n=e.timezones;let r=e.tz;if(!1===n.hasOwnProperty(r)&&(r=m(e.tz,n)),null===r)return!1===e.silent&&console.warn(\"Warn: could not find given or local timezone - '\"+e.tz+\"'\"),{current:{epochShift:0}};const a=n[r],o={name:(s=r,\"Utc\"===(s=(s=(s=(s=(s=(s=(s=(s=s[0].toUpperCase()+s.substr(1)).replace(/[/_-]([a-z])/gi,e=>e.toUpperCase())).replace(/_(of|es)_/i,e=>e.toLowerCase())).replace(/\\/gmt/i,\"/GMT\")).replace(/\\/utc/i,\"/UTC\")).replace(/\\/Dumontdurville$/i,\"/DumontDUrville\")).replace(/\\/Mcmurdo$/i,\"/McMurdo\")).replace(/\\/Port-au-prince$/i,\"/Port-au-Prince\"))&&(s=\"UTC\"),s),hasDst:Boolean(a.dst),default_offset:a.offset,hemisphere:\"s\"===a.hem?\"South\":\"North\",current:{}};var s,i;if(o.hasDst){const e=(i=a.dst)?i.split(\"->\"):[];o.change={start:e[0],back:e[1]}}const u=a.offset;let c=u;return!0===o.hasDst&&(c=\"North\"===o.hemisphere?u-1:a.offset+1),!1===o.hasDst?(o.current.offset=u,o.current.isDST=!1):!0===t(e.epoch,o.change.start,o.change.back,u,c)?(o.current.offset=u,o.current.isDST=\"North\"===o.hemisphere):(o.current.offset=c,o.current.isDST=\"South\"===o.hemisphere),o},Ye=[\"century\",\"decade\",\"year\",\"month\",\"date\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"],Fe={set:function(e,t){let n=this.clone();return n=J(n,e),t&&(n.tz=m(t,n.timezones)),n},timezone:function(e){if(void 0!==e){const t=this.json();return t.timezone=e,this.set(t,e)}return xe(this)},isDST:function(){return xe(this).current.isDST},hasDST:function(){return xe(this).hasDst},offset:function(){return 60*xe(this).current.offset},hemisphere:function(){return xe(this).hemisphere},format:function(e){return ie(this,e)},unixFmt:function(e){return((e,t)=>{let n=t.split(\"\");return n=function(e){for(let t=0;t<e.length;t+=1)if(\"'\"===e[t])for(let n=t+1;n<e.length;n+=1){if(e[n]&&(e[t]+=e[n]),\"'\"===e[n]){e[n]=null;break}e[n]=null}return e.filter(e=>e)}(n),n=function(e){for(let t=0;t<e.length;t+=1){const n=e[t];for(let r=t+1;r<e.length&&e[r]===n;r+=1)e[t]+=e[r],e[r]=null}return(e=e.filter(e=>e)).map(e=>(\"''\"===e&&(e=\"'\"),e))}(n),n.reduce((t,n)=>(void 0!==ue[n]?t+=ue[n](e)||\"\":(/^'.+'$/.test(n)&&(n=n.replace(/'/g,\"\")),t+=n),t),\"\")})(this,e)},startOf:function(e){return((e,t)=>{let n=e.clone();return t=k(t),Ee[t]?Ee[t](n):\"summer\"===t||\"winter\"===t?(n=n.season(t),Ee.season(n)):n})(this,e)},endOf:function(e){return((e,t)=>{let n=e.clone();return t=k(t),Ee[t]?(n=Ee[t](n),n=n.add(1,t),n=n.subtract(1,\"millisecond\"),n):n})(this,e)},leapYear:function(){return d(this.year())},progress:function(e){return((e,t)=>{if(t)return t=k(t),le(e,t);const n={};return he.forEach(t=>{n[t]=le(e,t)}),n})(this,e)},nearest:function(e){return((e,t)=>{const n=e.progress();return\"quarterhour\"===(t=k(t))&&(t=\"quarterHour\"),void 0!==n[t]?(n[t]>.5&&(e=e.add(1,t)),e=e.startOf(t)):!1===e.silent&&console.warn(\"no known unit '\"+t+\"'\"),e})(this,e)},diff:function(e,t){return fe(this,e,t)},since:function(e){return e||(e=this.clone().set()),Ie(this,e)},next:function(e){return this.add(1,e).startOf(e)},last:function(e){return this.subtract(1,e).startOf(e)},isValid:function(){return!(!this.epoch&&0!==this.epoch)&&!isNaN(this.d.getTime())},goto:function(e){const t=this.clone();return t.tz=m(e,t.timezones),t},every:function(e,t,n){if(\"object\"==typeof e&&\"string\"==typeof t){const n=t;t=e,e=n}return Ae(this,e,t,n)},isAwake:function(){const e=this.hour();return!(e<8||e>22)},isAsleep:function(){return!this.isAwake()},daysInMonth:function(){switch(this.month()){case 0:case 2:case 4:case 6:case 7:case 9:case 11:return 31;case 1:return this.leapYear()?29:28;case 3:case 5:case 8:case 10:return 30;default:throw new Error(\"Invalid Month state.\")}},log:function(){return console.log(\"\"),console.log(ie(this,\"nice-short\")),this},logYear:function(){return console.log(\"\"),console.log(ie(this,\"full-short\")),this},json:function(e){if(void 0!==e){let t=this.clone();e.timezone&&(t.tz=e.timezone);for(let n=0;n<Ye.length;n++){const r=Ye[n];void 0!==e[r]&&(t=t[r](e[r]))}return t}const t=Ye.reduce((e,t)=>(e[t]=this[t](),e),{});return t.offset=this.timezone().current.offset,t.timezone=this.tz,t},debug:function(){const e=this.timezone();let t=this.format(\"MM\")+\" \"+this.format(\"date-ordinal\")+\" \"+this.year();return t+=\"\\n - \"+this.format(\"time\"),console.log(\"\\n\\n\",t+\"\\n - \"+e.name+\" (\"+e.current.offset+\")\"),this},from:function(e){return(e=this.clone().set(e)).since(this)},fromNow:function(){return this.clone().set(Date.now()).since(this)},weekStart:function(e){if(\"number\"==typeof e)return this._weekStart=e,this;if(\"string\"==typeof e){e=e.toLowerCase().trim();let t=X().indexOf(e);-1===t&&(t=ee().indexOf(e)),-1===t&&(t=1),this._weekStart=t}else console.warn(\"Spacetime Error: Cannot understand .weekStart() input:\",e);return this}};Fe.inDST=Fe.isDST,Fe.round=Fe.nearest,Fe.each=Fe.every;const Pe=e=>(\"string\"==typeof e&&(e=parseInt(e,10)),e),Le=[\"year\",\"month\",\"date\",\"hour\",\"minute\",\"second\",\"millisecond\"],Ue=(e,t,n)=>{const r=Le.indexOf(n),a=Le.slice(r,Le.length);for(let n=0;n<a.length;n++){const r=t[a[n]]();e[a[n]](r)}return e},Be=function(e,t,n,r){return!0===n&&e.isBefore(t)?e=e.add(1,r):!1===n&&e.isAfter(t)&&(e=e.minus(1,r)),e},He=function(e,t,n){t=Pe(t);const r=e.clone(),a=(e.minute()-t)*M.minute;return e.epoch-=a,Ue(e,r,\"second\"),(e=Be(e,r,n,\"hour\")).epoch},Ze=function(e,t,n){(t=Pe(t))>=24?t=24:t<0&&(t=0);const r=e.clone();let a=e.hour()-t,o=a*M.hour;return e.epoch-=o,e.date()!==r.date()&&(e=r.clone(),a>1&&(a-=1),a<1&&(a+=1),o=a*M.hour,e.epoch-=o),N(e,{hour:t}),Ue(e,r,\"minute\"),(e=Be(e,r,n,\"day\")).epoch},Qe=function(e,t){return\"string\"==typeof t&&/^'[0-9]{2}$/.test(t)&&(t=t.replace(/'/,\"\").trim(),t=(t=Number(t))>30?1900+t:2e3+t),t=Pe(t),N(e,{year:t}),e.epoch},Ge=function(e,t,n){const r=e.clone();return 1===(t=Pe(t))&&\"december\"===e.monthName()&&e.date()>=29&&1===e.week()?e:(\"december\"===(e=(e=(e=e.month(0)).date(1)).day(\"monday\",!1)).monthName()&&e.date()<29&&(e=e.add(1,\"week\")),t-=1,e=e.add(t,\"weeks\"),e=Be(e,r,n,\"year\"))};let Ve=\"am\",We=\"pm\";const Je={millisecond:function(e){if(void 0!==e){const t=this.clone();return t.epoch=function(e,t){t=Pe(t);const n=e.millisecond()-t;return e.epoch-n}(t,e),t}return this.d.getMilliseconds()},second:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=function(e,t,n){t=Pe(t);const r=e.clone(),a=(e.second()-t)*M.second;return e.epoch=e.epoch-a,(e=Be(e,r,n,\"minute\")).epoch}(n,e,t),n}return this.d.getSeconds()},minute:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=He(n,e,t),n}return this.d.getMinutes()},hour:function(e,t){const n=this.d;if(void 0!==e){const n=this.clone();return n.epoch=Ze(n,e,t),n}return n.getHours()},hourFloat:function(e,t){if(void 0!==e){const n=this.clone();let r=e%1;r*=60;const a=parseInt(e,10);return n.epoch=Ze(n,a,t),n.epoch=He(n,r,t),n}const n=this.d,r=n.getHours();let a=n.getMinutes();return a/=60,r+a},hour12:function(e,t){const n=this.d;if(void 0!==e){const n=this.clone(),r=(e=\"\"+e).match(/^([0-9]+)(am|pm)$/);if(r){let e=parseInt(r[1],10);\"pm\"===r[2]&&(e+=12),n.epoch=Ze(n,e,t)}return n}let r=n.getHours();return r>12&&(r-=12),0===r&&(r=12),r},time:function(e,t){if(void 0!==e){const n=this.clone();return e=e.toLowerCase().trim(),n.epoch=function(e,t,n){let r=t.match(/([0-9]{1,2})[:h]([0-9]{1,2})(:[0-9]{1,2})? ?(am|pm)?/);if(!r){if(r=t.match(/([0-9]{1,2}) ?(am|pm)/),!r)return null;r.splice(2,0,\"0\"),r.splice(3,0,\"\")}let a=!1,o=parseInt(r[1],10),s=parseInt(r[2],10);s>=60&&(s=59),o>12&&(a=!0),!1===a&&(\"am\"===r[4]&&12===o&&(o=0),\"pm\"===r[4]&&o<12&&(o+=12)),r[3]=r[3]||\"\",r[3]=r[3].replace(/:/,\"\");const i=parseInt(r[3],10)||0,u=e.clone();return e=(e=(e=(e=e.hour(o)).minute(s)).second(i)).millisecond(0),(e=Be(e,u,n,\"day\")).epoch}(n,e,t),n}return`${this.h12()}:${y(this.minute())}${this.ampm()}`},ampm:function(e,t){let n=Ve,r=this.hour();if(r>=12&&(n=We),\"string\"!=typeof e)return n;const a=this.clone();return e=e.toLowerCase().trim(),r>=12&&\"am\"===e?(r-=12,a.hour(r,t)):r<12&&\"pm\"===e?(r+=12,a.hour(r,t)):a},dayTime:function(e,t){if(void 0!==e){const n={morning:\"7:00\",breakfast:\"7:00\",noon:\"12:00\",lunch:\"12:00\",afternoon:\"14:00\",evening:\"18:00\",dinner:\"18:00\",night:\"23:00\",midnight:\"00:00\"};let r=this.clone();return e=(e=e||\"\").toLowerCase(),!0===n.hasOwnProperty(e)&&(r=r.time(n[e],t)),r}const n=this.hour();return n<6?\"night\":n<12?\"morning\":n<17?\"afternoon\":n<22?\"evening\":\"night\"},iso:function(e){return void 0!==e?this.set(e):this.format(\"iso\")},isoFull:function(e){return void 0!==e?this.set(e):this.format(\"iso-full\")},epochSeconds:function(e){return void 0!==e?(this.epoch=1e3*e,this):Math.floor(this.epoch/1e3)}},Ke={date:function(e,t){if(void 0!==e){const n=this.clone();return(e=parseInt(e,10))&&(n.epoch=function(e,t,n){if((t=Pe(t))>28){const n=e.month();let r=I[n];1===n&&29===t&&d(e.year())&&(r=29),t>r&&(t=r)}t<=0&&(t=1);const r=e.clone();return N(e,{date:t}),(e=Be(e,r,n,\"month\")).epoch}(n,e,t)),n}return this.d.getDate()},day:function(e,t){if(void 0===e)return this.d.getDay();const n=this.clone();let r=e;\"string\"==typeof e&&(e=e.toLowerCase(),te.hasOwnProperty(e)?r=te[e]:(r=X().indexOf(e),-1===r&&(r=ee().indexOf(e))));let a=this.d.getDay()-r;!0===t&&a>0&&(a-=7),!1===t&&a<0&&(a+=7);const o=this.subtract(a,\"days\");return N(o,{hour:n.hour(),minute:n.minute(),second:n.second()}),o},dayName:function(e,t){if(void 0===e)return ee()[this.day()];let n=this.clone();return n=n.day(e,t),n}},Re=e=>e=(e=(e=e.minute(0)).second(0)).millisecond(1),Xe=function(e){if(void 0!==e){if(\"string\"==typeof e&&(e=e.replace(/([0-9])(th|rd|st|nd)/,\"$1\"),e=Number(e),isNaN(e)))return console.warn(\"Spacetime: Invalid millennium input\"),this;e>0&&(e-=1);let t=1e3*e;return 0===t&&(t=1),this.year(t)}let t=Math.floor(this.year()/1e3);return t>=0&&(t+=1),t},et={dayOfYear:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=function(e,t,n){t=Pe(t);const r=e.clone();return(t-=1)<=0?t=0:t>=365&&(t=d(e.year())?365:364),e=(e=e.startOf(\"year\")).add(t,\"day\"),Ue(e,r,\"hour\"),(e=Be(e,r,n,\"year\")).epoch}(n,e,t),n}let n=0;const r=this.d.getMonth();let a;for(let e=1;e<=r;e++)a=new Date,a.setDate(1),a.setFullYear(this.d.getFullYear()),a.setHours(1),a.setMinutes(1),a.setMonth(e),a.setHours(-2),n+=a.getDate();return n+this.d.getDate()},week:function(e,t){if(void 0!==e){let n=this.clone();return n=Ge(n,e,t),n=Re(n),n}const n=this.epoch;let r=this.clone();if(\"december\"===r.monthName()&&r.date()>=29){if(Ge(r.add(15,\"days\"),1,!1).epoch<=r.epoch)return 1}if(r=r.month(0),r=r.date(1),r=Re(r),r=r.day(\"monday\",!1),\"december\"===r.monthName()&&r.date()<29&&(r=r.add(1,\"week\")),r=r.minus(2,\"hours\"),r.epoch>n)return 1;let a=0;const o=4*this.month();for(r.epoch+=M.week*o,a+=o;a<=52;a++){if(r.epoch>n)return a;r=r.add(1,\"week\")}return 52},month:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=function(e,t,n){\"string\"==typeof t&&(\"sept\"===t&&(t=\"sep\"),t=A()[t.toLowerCase()]),(t=Pe(t))>=12&&(t=11),t<=0&&(t=0);let r=e.date();r>I[t]&&(r=I[t]);const a=e.clone();return N(e,{month:t,d:r}),(e=Be(e,a,n,\"year\")).epoch}(n,e,t),n}return this.d.getMonth()},monthName:function(e,t){if(void 0!==e){let n=this.clone();return n=n.month(e,t),n}return C[this.month()]},quarter:function(e,t){if(void 0!==e&&(\"string\"==typeof e&&(e=e.replace(/^q/i,\"\"),e=parseInt(e,10)),Ce[e])){let n=this.clone();const r=Ce[e][0];return n=n.month(r,t),n=n.date(1,t),n=n.startOf(\"day\"),n}const n=this.d.getMonth();for(let e=1;e<Ce.length;e++)if(n<Ce[e][0])return e-1;return 4},season:function(e,t){let n=\"north\";if(\"South\"===this.hemisphere()&&(n=\"south\"),void 0!==e){let r=this.clone();for(let a=0;a<Te[n].length;a++)e===Te[n][a][0]&&(r=r.month(Te[n][a][1],t),r=r.date(1),r=r.startOf(\"day\"));return r}const r=this.d.getMonth();for(let e=0;e<Te[n].length-1;e++)if(r>=Te[n][e][1]&&r<Te[n][e+1][1])return Te[n][e][0];return\"north\"===n?\"winter\":\"summer\"},year:function(e){if(void 0!==e){const t=this.clone();return t.epoch=Qe(t,e),t}return this.d.getFullYear()},era:function(e){if(void 0!==e){const t=this.clone();e=e.toLowerCase();const n=t.d.getFullYear();return\"bc\"===e&&n>0&&(t.epoch=Qe(t,-1*n)),\"ad\"===e&&n<0&&(t.epoch=Qe(t,-1*n)),t}return this.d.getFullYear()<0?\"BC\":\"AD\"},decade:function(e){if(void 0!==e){if(!(e=(e=(e=String(e)).replace(/([0-9])'?s$/,\"$1\")).replace(/([0-9])(th|rd|st|nd)/,\"$1\")))return console.warn(\"Spacetime: Invalid decade input\"),this;2===e.length&&/[0-9][0-9]/.test(e)&&(e=\"19\"+e);let t=Number(e);return isNaN(t)?this:(t=10*Math.floor(t/10),this.year(t))}return this.startOf(\"decade\").year()},century:function(e){if(void 0!==e){\"string\"==typeof e&&(e=(e=(e=e.replace(/([0-9])(th|rd|st|nd)/,\"$1\")).replace(/([0-9]+) ?(b\\.?c\\.?|a\\.?d\\.?)/i,(e,t,n)=>(n.match(/b\\.?c\\.?/i)&&(t=\"-\"+t),t))).replace(/c$/,\"\"));let t=Number(e);return isNaN(e)?(console.warn(\"Spacetime: Invalid century input\"),this):(0===t&&(t=1),t=t>=0?100*(t-1):100*(t+1),this.year(t))}let t=this.startOf(\"century\").year();return t=Math.floor(t/100),t<0?t-1:t+1},millenium:Xe,millennium:Xe},tt=Object.assign({},Je,Ke,et);tt.milliseconds=tt.millisecond,tt.seconds=tt.second,tt.minutes=tt.minute,tt.hours=tt.hour,tt.hour24=tt.hour,tt.h12=tt.hour12,tt.h24=tt.hour24,tt.days=tt.day;const nt=function(e,t){return 1===e&&d(t)?29:I[e]},rt=(e,t)=>{if(e.month>0){const n=parseInt(e.month/12,10);e.year=t.year()+n,e.month=e.month%12}else if(e.month<0){const n=Math.abs(e.month);let r=parseInt(n/12,10);n%12!=0&&(r+=1),e.year=t.year()-r,e.month=e.month%12,e.month=e.month+12,12===e.month&&(e.month=0)}return e},at=(e,t,n)=>{let r=t.year(),a=t.month(),o=nt(a,r);for(;n>o;)n-=o,a+=1,a>=12&&(a-=12,r+=1),o=nt(a,r);return e.month=a,e.date=n,e},ot=(e,t,n)=>{e.year=t.year(),e.month=t.month();const r=t.date();for(e.date=r-Math.abs(n);e.date<1;){e.month-=1,e.month<0&&(e.month=11,e.year-=1);const t=nt(e.month,e.year);e.date+=t}return e},st=[\"millisecond\",\"second\",\"minute\",\"hour\",\"date\",\"month\"],it={second:st.slice(0,1),minute:st.slice(0,2),quarterhour:st.slice(0,2),hour:st.slice(0,3),date:st.slice(0,4),month:st.slice(0,4),quarter:st.slice(0,4),season:st.slice(0,4),year:st,decade:st,century:st};it.week=it.hour,it.season=it.date,it.quarter=it.date;const ut={year:!0,quarter:!0,season:!0,month:!0,week:!0,date:!0},ct={month:!0,quarter:!0,season:!0,year:!0},ht={millisecond:e=>e.epoch,second:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second()].join(\"-\"),minute:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute()].join(\"-\"),hour:e=>[e.year(),e.month(),e.date(),e.hour()].join(\"-\"),day:e=>[e.year(),e.month(),e.date()].join(\"-\"),week:e=>[e.year(),e.week()].join(\"-\"),month:e=>[e.year(),e.month()].join(\"-\"),quarter:e=>[e.year(),e.quarter()].join(\"-\"),year:e=>e.year()};ht.date=ht.day;let lt=a;const mt=function(e,n,r={}){this.epoch=null,this.tz=m(n,lt),this.silent=void 0===r.silent||r.silent,this.british=r.dmy||r.british,this._weekStart=1,void 0!==r.weekStart&&(this._weekStart=r.weekStart),this._today={},void 0!==r.today&&(this._today=r.today),Object.defineProperty(this,\"d\",{get:function(){const e=(e=>{const n=e.timezones[e.tz];if(void 0===n)return console.warn(\"Warning: couldn't find timezone \"+e.tz),0;if(void 0===n.dst)return n.offset;const r=n.offset;let a=n.offset+1;\"n\"===n.hem&&(a=r-1);const o=n.dst.split(\"->\");return!0===t(e.epoch,o[0],o[1],r,a)?r:a})(this);let n=(new Date(this.epoch).getTimezoneOffset()||0)+60*e;n=60*n*1e3;const r=this.epoch+n;return new Date(r)}}),Object.defineProperty(this,\"timezones\",{get:()=>lt,set:e=>(lt=e,e)});const a=J(this,e);this.epoch=a.epoch,a.tz&&(this.tz=a.tz)};var dt;Object.keys(Fe).forEach(e=>{mt.prototype[e]=Fe[e]}),mt.prototype.clone=function(){return new mt(this.epoch,this.tz,{silent:this.silent,weekStart:this._weekStart,today:this._today,parsers:this.parsers})},mt.prototype.toLocalDate=function(){return this.toNativeDate()},mt.prototype.toNativeDate=function(){return new Date(this.epoch)},dt=mt,Object.keys(tt).forEach(e=>{dt.prototype[e]=tt[e]}),(e=>{e.prototype.add=function(e,t){let n=this.clone();if(!t||0===e)return n;const r=this.clone();if(\"millisecond\"===(t=k(t)))return n.epoch+=e,n;\"fortnight\"===t&&(e*=2,t=\"week\"),M[t]?n.epoch+=M[t]*e:\"week\"===t||\"weekend\"===t?n.epoch+=M.day*(7*e):\"quarter\"===t||\"season\"===t?n.epoch+=M.month*(3*e):\"quarterhour\"===t&&(n.epoch+=15*M.minute*e);let a={};if(it[t]&&it[t].forEach(e=>{a[e]=r[e]()}),ut[t]){const e=r.timezone().current.offset-n.timezone().current.offset;n.epoch+=3600*e*1e3}if(\"month\"===t&&(a.month=r.month()+e,a=rt(a,r)),\"week\"===t){const t=r.date()+7*e;t<=28&&t>1&&(a.date=t)}if(\"weekend\"===t&&\"saturday\"!==n.dayName())n=n.day(\"saturday\",!0);else if(\"date\"===t){if(e<0)a=ot(a,r,e);else{const t=r.date()+e;a=at(a,r,t)}0!==e&&r.isSame(n,\"day\")&&(a.date=r.date()+e)}else if(\"quarter\"===t){if(a.month=r.month()+3*e,a.year=r.year(),a.month<0){const e=Math.floor(a.month/12),t=a.month+12*Math.abs(e);a.month=t,a.year+=e}else if(a.month>=12){const e=Math.floor(a.month/12);a.month=a.month%12,a.year+=e}a.date=r.date()}else if(\"year\"===t){const t=r.year()+e,a=n.year();if(a<t){const t=Math.floor(e/4)||1;n.epoch+=Math.abs(M.day*t)}else if(a>t){const t=Math.floor(e/4)||1;n.epoch+=M.day*t}}else\"decade\"===t?a.year=n.year()+10:\"century\"===t&&(a.year=n.year()+100);if(ct[t]){const e=void 0!==a.year?a.year:r.year(),t=nt(a.month,e);a.date=r.date(),a.date>t&&(a.date=t)}return Object.keys(a).length>1&&N(n,a),n},e.prototype.subtract=function(e,t){return this.clone().add(-1*e,t)},e.prototype.minus=e.prototype.subtract,e.prototype.plus=e.prototype.add})(mt),(e=>{e.prototype.isSame=function(t,n,r=!0){const a=this;if(!n)return null;if(\"string\"==typeof t&&\"object\"==typeof n){const e=t;t=n,n=e}return\"string\"!=typeof t&&\"number\"!=typeof t||(t=new e(t,this.timezone.name)),n=n.replace(/s$/,\"\"),!0===r&&a.tz!==t.tz&&((t=t.clone()).tz=a.tz),ht[n]?ht[n](a)===ht[n](t):null}})(mt),(e=>{const t={isAfter:function(e){const t=w(e=v(e,this));return null===t?null:this.epoch>t},isBefore:function(e){const t=w(e=v(e,this));return null===t?null:this.epoch<t},isEqual:function(e){const t=w(e=v(e,this));return null===t?null:this.epoch===t},isBetween:function(e,t,n=!1){e=v(e,this),t=v(t,this);const r=w(e);if(null===r)return null;const a=w(t);return null===a?null:n?this.isBetween(e,t)||this.isEqual(e)||this.isEqual(t):r<this.epoch&&this.epoch<a}};Object.keys(t).forEach(n=>{e.prototype[n]=t[n]})})(mt),(e=>{const t={i18n:function(e){var t,n,r;return p(e.days)&&(t=e.days,K=t.short||K,R=t.long||R),p(e.months)&&function(e){T=e.short||T,C=e.long||C}(e.months),r=e.useTitleCase,\"[object Boolean]\"===Object.prototype.toString.call(r)&&(n=e.useTitleCase,ne=n),p(e.ampm)&&function(e){Ve=e.am||Ve,We=e.pm||We}(e.ampm),p(e.distance)&&function(e){$e=e.pastDistance||$e,je=e.futureDistance||je,be=e.past||be,ke=e.future||ke,we=e.present||we,ve=e.now||ve,ze=e.almost||ze,_e=e.over||_e}(e.distance),p(e.units)&&function(e={}){ye={second:e.second||ye.second,seconds:e.seconds||ye.seconds,minute:e.minute||ye.minute,minutes:e.minutes||ye.minutes,hour:e.hour||ye.hour,hours:e.hours||ye.hours,day:e.day||ye.day,days:e.days||ye.days,month:e.month||ye.month,months:e.months||ye.months,year:e.year||ye.year,years:e.years||ye.years}}(e.units),this}};Object.keys(t).forEach(n=>{e.prototype[n]=t[n]})})(mt);const ft=(e,t,n)=>new mt(e,t,n),pt=function(e){const t=e._today||{};return Object.keys(t).forEach(n=>{e=e[n](t[n])}),e};ft.now=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n},ft.today=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n.startOf(\"day\")},ft.tomorrow=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n.add(1,\"day\").startOf(\"day\")},ft.yesterday=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n.subtract(1,\"day\").startOf(\"day\")},ft.fromUnixSeconds=(e,t,n)=>new mt(1e3*e,t,n),ft.extend=function(e={}){return Object.keys(e).forEach(t=>{mt.prototype[t]=e[t]}),this},ft.timezones=function(){return(new mt).timezones},ft.max=function(e,t){const n=new mt(null,e,t);return n.epoch=864e13,n},ft.min=function(e,t){const n=new mt(null,e,t);return n.epoch=-864e13,n},ft.whereIts=(e,t)=>{let n=new mt(null),r=new mt(null);n=n.time(e),r=t?r.time(t):n.add(59,\"minutes\");const a=n.hour(),o=r.hour();return Object.keys(n.timezones).filter(e=>{if(-1===e.indexOf(\"/\"))return!1;const t=new mt(null,e),s=t.hour();return s>=a&&s<=o&&(!(s===a&&t.minute()<n.minute())&&!(s===o&&t.minute()>r.minute()))})},ft.version=\"7.13.0\",ft.plugin=ft.extend;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zcGFjZXRpbWUvYnVpbGRzL3NwYWNldGltZS5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGtCQUFrQiwyQ0FBMkMsa0NBQWtDLGlCQUFpQiwyREFBMkQsa0JBQWtCLE9BQU8sMmdQQUEyZ1Asd0lBQXdJLFdBQVcsMkJBQTJCLHdCQUF3Qiw4QkFBOEIsbUJBQW1CLDRCQUE0QixnRUFBZ0UsRUFBRSxTQUFTLGtCQUFrQixjQUFjLE1BQU0sT0FBTyxRQUFRLGVBQWUsa0JBQWtCLE1BQU0sb0JBQW9CLHFCQUFxQixxQkFBcUIsdUdBQXVHLHlFQUF5RSxZQUFZLGNBQWMsc0VBQXNFLDhCQUE4QixzREFBc0QscUNBQXFDLDhCQUE4QixJQUFJLHdCQUF3QixJQUFJLHNDQUFzQywwQkFBMEIsc0NBQXNDLEdBQUcsWUFBWSx5RUFBeUUsRUFBRSw0Q0FBNEMscUZBQXFGLGVBQWUsdURBQXVELCtSQUErUix3Q0FBd0MseUJBQXlCLG9CQUFvQixpQkFBaUIsMkJBQTJCLHdDQUF3QywwQkFBMEIsd0JBQXdCLFlBQVksMENBQTBDLElBQUksY0FBYyxzR0FBc0csY0FBYyxrQ0FBa0MsY0FBYywrRUFBK0UsY0FBYyw0REFBNEQsa0JBQWtCLDhEQUE4RCxjQUFjLHFCQUFxQiw2RUFBNkUsY0FBYyw2RUFBNkUsaUJBQWlCLCtKQUErSixjQUFjLDhFQUE4RSxnQkFBZ0IsbUNBQW1DLG1CQUFtQixrQ0FBa0MsU0FBUyxFQUFFLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLDZDQUE2QyxrRUFBa0UsT0FBTyxxQkFBcUIseUJBQXlCLFlBQVksV0FBVyxLQUFLLGtDQUFrQyxhQUFhLFNBQVMscUJBQXFCLHNDQUFzQyxtQkFBbUIsbUNBQW1DLFlBQVksV0FBVyxLQUFLLGFBQWEsOEJBQThCLFNBQVMsMkJBQTJCLGdNQUFnTSxvQkFBb0Isa0RBQWtELGNBQWMsK0NBQStDLElBQUksSUFBSSwyTEFBMkws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eUJBQXlCLHFCQUFxQixrQ0FBa0MsOENBQThDLDRCQUE0QiwyQ0FBMkMsZ0NBQWdDLGtDQUFrQyxzRkFBc0YsRUFBRSx5Q0FBK0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NwYWNldGltZS9idWlsZHMvc3BhY2V0aW1lLm1qcz9iMDRkIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGU9KGUsdCxuKT0+e2NvbnN0W3IsYV09ZS5zcGxpdChcIi9cIiksW28sc109YS5zcGxpdChcIjpcIik7cmV0dXJuIERhdGUuVVRDKG4sci0xLG8scyktMzZlNSp0fSx0PSh0LG4scixhLG8pPT57Y29uc3Qgcz1uZXcgRGF0ZSh0KS5nZXRVVENGdWxsWWVhcigpLGk9ZShuLG8scyksdT1lKHIsYSxzKTtyZXR1cm4gdD49aSYmdDx1fTt2YXIgbj17XCI5fHNcIjpcIjIvZGlsaSwyL2pheWFwdXJhXCIsXCI5fG5cIjpcIjIvY2hpdGEsMi9raGFuZHlnYSwyL3B5b25neWFuZywyL3Nlb3VsLDIvdG9reW8sMi95YWt1dHNrLDExL3BhbGF1LGphcGFuLHJva1wiLFwiOS41fHN8MDQvMDU6MDMtPjEwLzA0OjAyXCI6XCI0L2FkZWxhaWRlLDQvYnJva2VuX2hpbGwsNC9zb3V0aCw0L3lhbmNvd2lubmFcIixcIjkuNXxzXCI6XCI0L2Rhcndpbiw0L25vcnRoXCIsXCI4fHN8MDMvMTM6MDEtPjEwLzAyOjAwXCI6XCIxMi9jYXNleVwiLFwiOHxzXCI6XCIyL2t1YWxhX2x1bXB1ciwyL21ha2Fzc2FyLDIvc2luZ2Fwb3JlLDQvcGVydGgsMi91anVuZ19wYW5kYW5nLDQvd2VzdCxzaW5nYXBvcmVcIixcIjh8blwiOlwiMi9icnVuZWksMi9ob25nX2tvbmcsMi9pcmt1dHNrLDIva3VjaGluZywyL21hY2F1LDIvbWFuaWxhLDIvc2hhbmdoYWksMi90YWlwZWksMi91bGFhbmJhYXRhciwyL2Nob25ncWluZywyL2NodW5na2luZywyL2hhcmJpbiwyL21hY2FvLDIvdWxhbl9iYXRvciwyL2Nob2liYWxzYW4saG9uZ2tvbmcscHJjLHJvY1wiLFwiOC43NXxzXCI6XCI0L2V1Y2xhXCIsXCI3fHNcIjpcIjEyL2RhdmlzLDIvamFrYXJ0YSw5L2NocmlzdG1hc1wiLFwiN3xuXCI6XCIyL2Jhbmdrb2ssMi9iYXJuYXVsLDIvaG92ZCwyL2tyYXNub3lhcnNrLDIvbm92b2t1em5ldHNrLDIvbm92b3NpYmlyc2ssMi9waG5vbV9wZW5oLDIvcG9udGlhbmFrLDIvaG9fY2hpX21pbmgsMi90b21zaywyL3ZpZW50aWFuZSwyL3NhaWdvblwiLFwiNnxzXCI6XCIxMi92b3N0b2tcIixcIjZ8blwiOlwiMi9iaXNoa2VrLDIvZGhha2EsMi9vbXNrLDIvdGhpbXBodSwyL3VydW1xaSw5L2NoYWdvcywyL2RhY2NhLDIva2FzaGdhciwyL3RoaW1idVwiLFwiNi41fG5cIjpcIjIveWFuZ29uLDkvY29jb3MsMi9yYW5nb29uXCIsXCI1fHNcIjpcIjEyL21hd3Nvbiw5L2tlcmd1ZWxlblwiLFwiNXxuXCI6XCIyL2FsbWF0eSwyL2FxdGF1LDIvYXF0b2JlLDIvYXNoZ2FiYXQsMi9hdHlyYXUsMi9kdXNoYW5iZSwyL2thcmFjaGksMi9vcmFsLDIvcXl6eWxvcmRhLDIvcW9zdGFuYXksMi9zYW1hcmthbmQsMi90YXNoa2VudCwyL3lla2F0ZXJpbmJ1cmcsOS9tYWxkaXZlcywyL2FzaGtoYWJhZFwiLFwiNS43NXxuXCI6XCIyL2thdGhtYW5kdSwyL2thdG1hbmR1XCIsXCI1LjV8blwiOlwiMi9rb2xrYXRhLDIvY29sb21ibywyL2NhbGN1dHRhXCIsXCI0fHNcIjpcIjkvcmV1bmlvblwiLFwiNHxuXCI6XCIyL2Jha3UsMi9kdWJhaSwyL211c2NhdCwyL3RiaWxpc2ksMi95ZXJldmFuLDgvYXN0cmFraGFuLDgvc2FtYXJhLDgvc2FyYXRvdiw4L3VseWFub3Zzayw4L3ZvbGdvZ3JhZCw5L21haGUsOS9tYXVyaXRpdXMsMi92b2xnb2dyYWRcIixcIjQuNXxuXCI6XCIyL2thYnVsXCIsXCIzfHNcIjpcIjEyL3N5b3dhLDkvYW50YW5hbmFyaXZvXCIsXCIzfG58MDQvMjQ6MDAtPjEwLzI5OjI0XCI6XCIwL2NhaXJvLGVneXB0XCIsXCIzfG58MDMvMjk6MDMtPjEwLzI1OjA0XCI6XCIyL2ZhbWFndXN0YSwyL25pY29zaWEsOC9hdGhlbnMsOC9idWNoYXJlc3QsOC9jaGlzaW5hdSw4L2hlbHNpbmtpLDgva3lpdiw4L21hcmllaGFtbiw4L3JpZ2EsOC9zb2ZpYSw4L3RhbGxpbm4sOC91emhnb3JvZCw4L3ZpbG5pdXMsOC96YXBvcm96aHllLDgvbmljb3NpYSw4L3RpcmFzcG9sLDgva2lldixlZXRcIixcIjN8bnwwMy8yOTowMC0+MTAvMjQ6MjRcIjpcIjIvYmVpcnV0XCIsXCIzfG58MDMvMjg6MDItPjEwLzI0OjAyXCI6XCIyL2dhemEsMi9oZWJyb25cIixcIjN8bnwwMy8yNzowMi0+MTAvMjU6MDJcIjpcIjIvamVydXNhbGVtLDIvdGVsX2F2aXYsaXNyYWVsXCIsXCIzfG5cIjpcIjAvYWRkaXNfYWJhYmEsMC9hc21hcmEsMC9hc21lcmEsMC9kYXJfZXNfc2FsYWFtLDAvZGppYm91dGksMC9qdWJhLDAva2FtcGFsYSwwL21vZ2FkaXNodSwwL25haXJvYmksMi9hZGVuLDIvYW1tYW4sMi9iYWdoZGFkLDIvYmFocmFpbiwyL2RhbWFzY3VzLDIva3V3YWl0LDIvcWF0YXIsMi9yaXlhZGgsOC9pc3RhbmJ1bCw4L2tpcm92LDgvbWluc2ssOC9tb3Njb3csOC9zaW1mZXJvcG9sLDkvY29tb3JvLDkvbWF5b3R0ZSwyL2lzdGFuYnVsLHR1cmtleSx3LXN1XCIsXCIzLjV8blwiOlwiMi90ZWhyYW4saXJhblwiLFwiMnxzfDAzLzI5OjAyLT4xMC8yNTowMlwiOlwiMTIvdHJvbGxcIixcIjJ8c1wiOlwiMC9nYWJvcm9uZSwwL2hhcmFyZSwwL2pvaGFubmVzYnVyZywwL2x1YnVtYmFzaGksMC9sdXNha2EsMC9tYXB1dG8sMC9tYXNlcnUsMC9tYmFiYW5lXCIsXCIyfG58MDMvMjk6MDItPjEwLzI1OjAzXCI6XCIwL2NldXRhLGFyY3RpYy9sb25neWVhcmJ5ZW4sOC9hbXN0ZXJkYW0sOC9hbmRvcnJhLDgvYmVsZ3JhZGUsOC9iZXJsaW4sOC9icmF0aXNsYXZhLDgvYnJ1c3NlbHMsOC9idWRhcGVzdCw4L2J1c2luZ2VuLDgvY29wZW5oYWdlbiw4L2dpYnJhbHRhciw4L2xqdWJsamFuYSw4L2x1eGVtYm91cmcsOC9tYWRyaWQsOC9tYWx0YSw4L21vbmFjbyw4L29zbG8sOC9wYXJpcyw4L3BvZGdvcmljYSw4L3ByYWd1ZSw4L3JvbWUsOC9zYW5fbWFyaW5vLDgvc2FyYWpldm8sOC9za29wamUsOC9zdG9ja2hvbG0sOC90aXJhbmUsOC92YWR1eiw4L3ZhdGljYW4sOC92aWVubmEsOC93YXJzYXcsOC96YWdyZWIsOC96dXJpY2gsMy9qYW5fbWF5ZW4scG9sYW5kLGNldCxtZXRcIixcIjJ8blwiOlwiMC9ibGFudHlyZSwwL2J1anVtYnVyYSwwL2toYXJ0b3VtLDAva2lnYWxpLDAvdHJpcG9saSw4L2thbGluaW5ncmFkLGxpYnlhXCIsXCIxfHNcIjpcIjAvYnJhenphdmlsbGUsMC9raW5zaGFzYSwwL2x1YW5kYSwwL3dpbmRob2VrXCIsXCIxfG58MDMvMjk6MDEtPjEwLzI1OjAyXCI6XCIzL2NhbmFyeSwzL2Zhcm9lLDMvbWFkZWlyYSw4L2R1Ymxpbiw4L2d1ZXJuc2V5LDgvaXNsZV9vZl9tYW4sOC9qZXJzZXksOC9saXNib24sOC9sb25kb24sMy9mYWVyb2UsZWlyZSw4L2JlbGZhc3QsZ2ItZWlyZSxnYixwb3J0dWdhbCx3ZXRcIixcIjF8blwiOlwiMC9hbGdpZXJzLDAvYmFuZ3VpLDAvZG91YWxhLDAvbGFnb3MsMC9saWJyZXZpbGxlLDAvbWFsYWJvLDAvbmRqYW1lbmEsMC9uaWFtZXksMC9wb3J0by1ub3ZvLDAvdHVuaXNcIixcIjE0fG5cIjpcIjExL2tpcml0aW1hdGlcIixcIjEzfHNcIjpcIjExL2FwaWEsMTEvdG9uZ2F0YXB1XCIsXCIxM3xuXCI6XCIxMS9lbmRlcmJ1cnksMTEva2FudG9uLDExL2Zha2FvZm9cIixcIjEyfHN8MDQvMDU6MDMtPjA5LzI3OjAyXCI6XCIxMi9tY211cmRvLDExL2F1Y2tsYW5kLDEyL3NvdXRoX3BvbGUsbnpcIixcIjEyfHNcIjpcIjExL2ZpamlcIixcIjEyfG5cIjpcIjIvYW5hZHlyLDIva2FtY2hhdGthLDIvc3JlZG5la29seW1zaywxMS9mdW5hZnV0aSwxMS9rd2FqYWxlaW4sMTEvbWFqdXJvLDExL25hdXJ1LDExL3RhcmF3YSwxMS93YWtlLDExL3dhbGxpcyxrd2FqYWxlaW5cIixcIjEyLjc1fHN8MDQvMDU6MDMtPjA0LzA1OjAyXCI6XCIxMS9jaGF0aGFtLG56LWNoYXRcIixcIjExfHN8MDQvMDU6MDMtPjEwLzA0OjAyXCI6XCIxMi9tYWNxdWFyaWVcIixcIjExfHNcIjpcIjExL2JvdWdhaW52aWxsZVwiLFwiMTF8blwiOlwiMi9tYWdhZGFuLDIvc2FraGFsaW4sMTEvZWZhdGUsMTEvZ3VhZGFsY2FuYWwsMTEva29zcmFlLDExL25vdW1lYSwxMS9wb2hucGVpLDExL3BvbmFwZVwiLFwiMTEuNXxufDA0LzA1OjAzLT4xMC8wNDowMlwiOlwiMTEvbm9yZm9sa1wiLFwiMTB8c3wwNC8wNTowMy0+MTAvMDQ6MDJcIjpcIjQvY3VycmllLDQvaG9iYXJ0LDQvbWVsYm91cm5lLDQvc3lkbmV5LDQvYWN0LDQvY2FuYmVycmEsNC9uc3csNC90YXNtYW5pYSw0L3ZpY3RvcmlhXCIsXCIxMHxzXCI6XCIxMi9kdW1vbnRkdXJ2aWxsZSw0L2JyaXNiYW5lLDQvbGluZGVtYW4sMTEvcG9ydF9tb3Jlc2J5LDQvcXVlZW5zbGFuZFwiLFwiMTB8blwiOlwiMi91c3QtbmVyYSwyL3ZsYWRpdm9zdG9rLDExL2d1YW0sMTEvc2FpcGFuLDExL2NodXVrLDExL3RydWssMTEveWFwXCIsXCIxMC41fHN8MDQvMDU6MDEtPjEwLzA0OjAyXCI6XCI0L2xvcmRfaG93ZSw0L2xoaVwiLFwiMHxzfDAyLzE1OjAzLT4wMy8yMjowMlwiOlwiMC9jYXNhYmxhbmNhLDAvZWxfYWFpdW5cIixcIjB8bnwwMy8yOTowMC0+MTAvMjU6MDFcIjpcIjMvYXpvcmVzXCIsXCIwfG58MDMvMjk6MDAtPjEwLzI0OjI0XCI6XCIxL3Njb3Jlc2J5c3VuZFwiLFwiMHxuXCI6XCIwL2FiaWRqYW4sMC9hY2NyYSwwL2JhbWFrbywwL2Jhbmp1bCwwL2Jpc3NhdSwwL2NvbmFrcnksMC9kYWthciwwL2ZyZWV0b3duLDAvbG9tZSwwL21vbnJvdmlhLDAvbm91YWtjaG90dCwwL291YWdhZG91Z291LDAvc2FvX3RvbWUsMS9kYW5tYXJrc2hhdm4sMy9yZXlramF2aWssMy9zdF9oZWxlbmEsMTMvZ210LDEzL3V0YywwL3RpbWJ1a3R1LDEzL2dyZWVud2ljaCwxMy91Y3QsMTMvdW5pdmVyc2FsLDEzL3p1bHUsZ210LTAsZ210KzAsZ210MCxncmVlbndpY2gsaWNlbGFuZCx1Y3QsdW5pdmVyc2FsLHV0Yyx6dWx1LDEzL3Vua25vd24sZmFjdG9yeVwiLFwiLTl8bnwwMy8wODowMi0+MTEvMDE6MDJcIjpcIjEvYWRhaywxL2F0a2EsdXMvYWxldXRpYW5cIixcIi05fG5cIjpcIjExL2dhbWJpZXJcIixcIi05LjV8blwiOlwiMTEvbWFycXVlc2FzXCIsXCItOHxufDAzLzA4OjAyLT4xMS8wMTowMlwiOlwiMS9hbmNob3JhZ2UsMS9qdW5lYXUsMS9tZXRsYWthdGxhLDEvbm9tZSwxL3NpdGthLDEveWFrdXRhdCx1cy9hbGFza2FcIixcIi04fG5cIjpcIjExL3BpdGNhaXJuXCIsXCItN3xufDAzLzA4OjAyLT4xMS8wMTowM1wiOlwiMS92YW5jb3V2ZXIsNi9wYWNpZmljXCIsXCItN3xufDAzLzA4OjAyLT4xMS8wMTowMlwiOlwiMS9sb3NfYW5nZWxlcywxL3NhbnRhX2lzYWJlbCwxL3RpanVhbmEsMS9lbnNlbmFkYSwxMC9iYWphbm9ydGUsdXMvcGFjaWZpYy1uZXcsdXMvcGFjaWZpY1wiLFwiLTd8blwiOlwiMS9jcmVzdG9uLDEvZGF3c29uLDEvZGF3c29uX2NyZWVrLDEvZm9ydF9uZWxzb24sMS9oZXJtb3NpbGxvLDEvbWF6YXRsYW4sMS9waG9lbml4LDEvd2hpdGVob3JzZSw2L3l1a29uLDEwL2JhamFzdXIsdXMvYXJpem9uYSxtc3RcIixcIi02fHN8MDQvMDQ6MjItPjA5LzA1OjIyXCI6XCIxMS9lYXN0ZXIsNy9lYXN0ZXJpc2xhbmRcIixcIi02fG58MDQvMDc6MDItPjEwLzI3OjAyXCI6XCIxL21lcmlkYVwiLFwiLTZ8bnwwMy8wODowMi0+MTEvMDE6MDJcIjpcIjEvYm9pc2UsMS9jYW1icmlkZ2VfYmF5LDEvZGVudmVyLDEvZWRtb250b24sMS9pbnV2aWssMS9ub3J0aF9kYWtvdGEsMS9vamluYWdhLDEvY2l1ZGFkX2p1YXJleiwxL3llbGxvd2tuaWZlLDEvc2hpcHJvY2ssNi9tb3VudGFpbixuYXZham8sdXMvbW91bnRhaW5cIixcIi02fG5cIjpcIjEvYmFoaWFfYmFuZGVyYXMsMS9iZWxpemUsMS9jaGlodWFodWEsMS9jb3N0YV9yaWNhLDEvZWxfc2FsdmFkb3IsMS9ndWF0ZW1hbGEsMS9tYW5hZ3VhLDEvbWV4aWNvX2NpdHksMS9tb250ZXJyZXksMS9yZWdpbmEsMS9zd2lmdF9jdXJyZW50LDEvdGVndWNpZ2FscGEsMTEvZ2FsYXBhZ29zLDYvZWFzdC1zYXNrYXRjaGV3YW4sNi9zYXNrYXRjaGV3YW4sMTAvZ2VuZXJhbFwiLFwiLTV8c1wiOlwiMS9saW1hLDEvcmlvX2JyYW5jbywxL3BvcnRvX2FjcmUsNS9hY3JlXCIsXCItNXxufDAzLzA4OjAyLT4xMS8wMTowMlwiOlwiMS9jaGljYWdvLDEvbWF0YW1vcm9zLDEvbWVub21pbmVlLDEvcmFpbnlfcml2ZXIsMS9yYW5raW5faW5sZXQsMS9yZXNvbHV0ZSwxL3dpbm5pcGVnLDEvaW5kaWFuYS9rbm94LDEvaW5kaWFuYS90ZWxsX2NpdHksMS9ub3J0aF9kYWtvdGEvYmV1bGFoLDEvbm9ydGhfZGFrb3RhL2NlbnRlciwxL25vcnRoX2Rha290YS9uZXdfc2FsZW0sMS9rbm94X2luLDYvY2VudHJhbCx1cy9jZW50cmFsLHVzL2luZGlhbmEtc3RhcmtlXCIsXCItNXxuXCI6XCIxL2JvZ290YSwxL2NhbmN1biwxL2NheW1hbiwxL2NvcmFsX2hhcmJvdXIsMS9laXJ1bmVwZSwxL2d1YXlhcXVpbCwxL2phbWFpY2EsMS9wYW5hbWEsMS9hdGlrb2thbixqYW1haWNhLGVzdFwiLFwiLTR8c3wwNC8wNDoyNC0+MDkvMDY6MDBcIjpcIjEvc2FudGlhZ28sNy9jb250aW5lbnRhbFwiLFwiLTR8c3wwMy8yMjoyNC0+MTAvMDU6MDBcIjpcIjEvYXN1bmNpb25cIixcIi00fHNcIjpcIjEvY2FtcG9fZ3JhbmRlLDEvY3VpYWJhLDEvbGFfcGF6LDEvbWFuYXVzLDUvd2VzdFwiLFwiLTR8bnwwMy8wODowMi0+MTEvMDE6MDJcIjpcIjEvZGV0cm9pdCwxL2dyYW5kX3R1cmssMS9pbmRpYW5hLDEvaW5kaWFuYXBvbGlzLDEvaXFhbHVpdCwxL2tlbnR1Y2t5LDEvbG91aXN2aWxsZSwxL21vbnRyZWFsLDEvbmFzc2F1LDEvbmV3X3lvcmssMS9uaXBpZ29uLDEvcGFuZ25pcnR1bmcsMS9wb3J0LWF1LXByaW5jZSwxL3RodW5kZXJfYmF5LDEvdG9yb250bywxL2luZGlhbmEvbWFyZW5nbywxL2luZGlhbmEvcGV0ZXJzYnVyZywxL2luZGlhbmEvdmV2YXksMS9pbmRpYW5hL3ZpbmNlbm5lcywxL2luZGlhbmEvd2luYW1hYywxL2tlbnR1Y2t5L21vbnRpY2VsbG8sMS9mb3J0X3dheW5lLDEvaW5kaWFuYS9pbmRpYW5hcG9saXMsMS9rZW50dWNreS9sb3Vpc3ZpbGxlLDYvZWFzdGVybix1cy9lYXN0LWluZGlhbmEsdXMvZWFzdGVybix1cy9taWNoaWdhblwiLFwiLTR8bnwwMy8wODowMC0+MTEvMDE6MDFcIjpcIjEvaGF2YW5hLGN1YmFcIixcIi00fG5cIjpcIjEvYW5ndWlsbGEsMS9hbnRpZ3VhLDEvYXJ1YmEsMS9iYXJiYWRvcywxL2JsYW5jLXNhYmxvbiwxL2JvYV92aXN0YSwxL2NhcmFjYXMsMS9jdXJhY2FvLDEvZG9taW5pY2EsMS9ncmVuYWRhLDEvZ3VhZGVsb3VwZSwxL2d1eWFuYSwxL2tyYWxlbmRpamssMS9sb3dlcl9wcmluY2VzLDEvbWFyaWdvdCwxL21hcnRpbmlxdWUsMS9tb250c2VycmF0LDEvcG9ydF9vZl9zcGFpbiwxL3BvcnRvX3ZlbGhvLDEvcHVlcnRvX3JpY28sMS9zYW50b19kb21pbmdvLDEvc3RfYmFydGhlbGVteSwxL3N0X2tpdHRzLDEvc3RfbHVjaWEsMS9zdF90aG9tYXMsMS9zdF92aW5jZW50LDEvdG9ydG9sYSwxL3ZpcmdpblwiLFwiLTN8c1wiOlwiMS9hcmdlbnRpbmEsMS9idWVub3NfYWlyZXMsMS9jYXRhbWFyY2EsMS9jb3Jkb2JhLDEvY295aGFpcXVlLDEvZm9ydGFsZXphLDEvanVqdXksMS9tZW5kb3phLDEvbW9udGV2aWRlbywxL3B1bnRhX2FyZW5hcywxL3Nhb19wYXVsbywxMi9wYWxtZXIsMTIvcm90aGVyYSwzL3N0YW5sZXksMS9hcmdlbnRpbmEvbGFfcmlvamEsMS9hcmdlbnRpbmEvcmlvX2dhbGxlZ29zLDEvYXJnZW50aW5hL3NhbHRhLDEvYXJnZW50aW5hL3Nhbl9qdWFuLDEvYXJnZW50aW5hL3Nhbl9sdWlzLDEvYXJnZW50aW5hL3R1Y3VtYW4sMS9hcmdlbnRpbmEvdXNodWFpYSwxL2FyZ2VudGluYS9jb21vZHJpdmFkYXZpYSwxL2FyZ2VudGluYS9idWVub3NfYWlyZXMsMS9hcmdlbnRpbmEvY2F0YW1hcmNhLDEvYXJnZW50aW5hL2NvcmRvYmEsMS9hcmdlbnRpbmEvanVqdXksMS9hcmdlbnRpbmEvbWVuZG96YSwxL2FyZ2VudGluYS9yb3NhcmlvLDEvcm9zYXJpbyw1L2Vhc3RcIixcIi0zfG58MDMvMDg6MDItPjExLzAxOjAyXCI6XCIxL2dsYWNlX2JheSwxL2dvb3NlX2JheSwxL2hhbGlmYXgsMS9tb25jdG9uLDEvdGh1bGUsMy9iZXJtdWRhLDYvYXRsYW50aWNcIixcIi0zfG5cIjpcIjEvYXJhZ3VhaW5hLDEvYmFoaWEsMS9iZWxlbSwxL2NheWVubmUsMS9tYWNlaW8sMS9wYXJhbWFyaWJvLDEvcmVjaWZlLDEvc2FudGFyZW1cIixcIi0yfG58MDMvMDg6MDItPjExLzAxOjAyXCI6XCIxL21pcXVlbG9uXCIsXCItMnxuXCI6XCIxL25vcm9uaGEsMy9zb3V0aF9nZW9yZ2lhLDUvZGVub3JvbmhhXCIsXCItMi41fG58MDMvMDg6MDItPjExLzAxOjAyXCI6XCIxL3N0X2pvaG5zLDYvbmV3Zm91bmRsYW5kXCIsXCItMXxufDAzLzI5OjAwLT4xMC8yNDoyNFwiOlwiMS9udXVrLDEvZ29kdGhhYlwiLFwiLTF8blwiOlwiMy9jYXBlX3ZlcmRlXCIsXCItMTF8blwiOlwiMTEvbWlkd2F5LDExL25pdWUsMTEvcGFnb19wYWdvLDExL3NhbW9hLHVzL3NhbW9hXCIsXCItMTB8blwiOlwiMTEvaG9ub2x1bHUsMTEvam9obnN0b24sMTEvcmFyb3RvbmdhLDExL3RhaGl0aSx1cy9oYXdhaWksaHN0XCJ9LHI9W1wiYWZyaWNhXCIsXCJhbWVyaWNhXCIsXCJhc2lhXCIsXCJhdGxhbnRpY1wiLFwiYXVzdHJhbGlhXCIsXCJicmF6aWxcIixcImNhbmFkYVwiLFwiY2hpbGVcIixcImV1cm9wZVwiLFwiaW5kaWFuXCIsXCJtZXhpY29cIixcInBhY2lmaWNcIixcImFudGFyY3RpY2FcIixcImV0Y1wiXTtjb25zdCBhPXt9O09iamVjdC5rZXlzKG4pLmZvckVhY2goZT0+e2NvbnN0IHQ9ZS5zcGxpdChcInxcIiksbz17b2Zmc2V0Ok51bWJlcih0WzBdKSxoZW06dFsxXX07dFsyXSYmKG8uZHN0PXRbMl0pO25bZV0uc3BsaXQoXCIsXCIpLmZvckVhY2goZT0+e2U9ZS5yZXBsYWNlKC8oXlswLTldKylcXC8vLChlLHQpPT4odD1OdW1iZXIodCksclt0XStcIi9cIikpLGFbZV09b30pfSksYS51dGM9e29mZnNldDowLGhlbTpcIm5cIn07Zm9yKGxldCBlPS0xNDtlPD0xNDtlKz0uNSl7bGV0IHQ9ZTt0PjAmJih0PVwiK1wiK3QpO2xldCBuPVwiZXRjL2dtdFwiK3Q7YVtuXT17b2Zmc2V0Oi0xKmUsaGVtOlwiblwifSxuPVwidXRjL2dtdFwiK3QsYVtuXT17b2Zmc2V0Oi0xKmUsaGVtOlwiblwifX1jb25zdCBvPS8oLT9bMC05XSspaChycyk/L2kscz0vKC0/WzAtOV0rKS8saT0vdXRjKFtcXC0rXT9bMC05XSspL2ksdT0vZ210KFtcXC0rXT9bMC05XSspL2ksYz1mdW5jdGlvbihlKXtyZXR1cm4oZT1OdW1iZXIoZSkpPj0tMTMmJmU8PTEzP1wiZXRjL2dtdFwiKyhlPSgoZSo9LTEpPjA/XCIrXCI6XCJcIikrZSk6bnVsbH07bGV0IGg9KCgpPT57Y29uc3QgZT0oKCk9PntpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgSW50bHx8dm9pZCAwPT09SW50bC5EYXRlVGltZUZvcm1hdClyZXR1cm4gbnVsbDtjb25zdCBlPUludGwuRGF0ZVRpbWVGb3JtYXQoKTtpZih2b2lkIDA9PT1lfHx2b2lkIDA9PT1lLnJlc29sdmVkT3B0aW9ucylyZXR1cm4gbnVsbDtjb25zdCB0PWUucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7cmV0dXJuIHQ/dC50b0xvd2VyQ2FzZSgpOm51bGx9KSgpO3JldHVybiBudWxsPT09ZT9cInV0Y1wiOmV9KSgpO2NvbnN0IGw9T2JqZWN0LmtleXMoYSkucmVkdWNlKChlLHQpPT57bGV0IG49dC5zcGxpdChcIi9cIilbMV18fFwiXCI7cmV0dXJuIG49bi5yZXBsYWNlKC9fL2csXCIgXCIpLGVbbl09dCxlfSx7fSksbT0oZSx0KT0+e2lmKCFlKXJldHVybiB0Lmhhc093blByb3BlcnR5KGgpfHwoY29uc29sZS53YXJuKGBVbnJlY29nbml6ZWQgSUFOQSBpZCAnJHtofScuIFNldHRpbmcgZmFsbGJhY2sgdHogdG8gVVRDLmApLGg9XCJ1dGNcIiksaDtcInN0cmluZ1wiIT10eXBlb2YgZSYmY29uc29sZS5lcnJvcihcIlRpbWV6b25lIG11c3QgYmUgYSBzdHJpbmcgLSByZWNpZXZlZDogJ1wiLGUsXCInXFxuXCIpO2xldCBuPWUudHJpbSgpO2lmKG49bi50b0xvd2VyQ2FzZSgpLCEwPT09dC5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm4gbjtpZihuPShlPT4oZT0oZT0oZT0oZT0oZT1lLnJlcGxhY2UoLyB0aW1lL2csXCJcIikpLnJlcGxhY2UoLyAoc3RhbmRhcmR8ZGF5bGlnaHR8c3VtbWVyKS9nLFwiXCIpKS5yZXBsYWNlKC9cXGIoZWFzdHx3ZXN0fG5vcnRofHNvdXRoKWVybi9nLFwiJDFcIikpLnJlcGxhY2UoL1xcYihhZnJpY2F8YW1lcmljYXxhdXN0cmFsaWEpbi9nLFwiJDFcIikpLnJlcGxhY2UoL1xcYmV1cm9wZWFuL2csXCJldXJvcGVcIikpLnJlcGxhY2UoL2lzbGFuZHMvZyxcImlzbGFuZFwiKSkobiksITA9PT10Lmhhc093blByb3BlcnR5KG4pKXJldHVybiBuO2lmKCEwPT09bC5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm4gbFtuXTtpZighMD09PS9bMC05XS8udGVzdChuKSl7Y29uc3QgZT1mdW5jdGlvbihlKXtsZXQgdD1lLm1hdGNoKG8pO2lmKG51bGwhPT10KXJldHVybiBjKHRbMV0pO2lmKHQ9ZS5tYXRjaChpKSxudWxsIT09dClyZXR1cm4gYyh0WzFdKTtpZih0PWUubWF0Y2godSksbnVsbCE9PXQpe2NvbnN0IGU9LTEqTnVtYmVyKHRbMV0pO3JldHVybiBjKGUpfXJldHVybiB0PWUubWF0Y2gocyksbnVsbCE9PXQ/Yyh0WzFdKTpudWxsfShuKTtpZihlKXJldHVybiBlfXRocm93IG5ldyBFcnJvcihcIlNwYWNldGltZTogQ2Fubm90IGZpbmQgdGltZXpvbmUgbmFtZWQ6ICdcIitlK1wiJy4gUGxlYXNlIGVudGVyIGFuIElBTkEgdGltZXpvbmUgaWQuXCIpfTtmdW5jdGlvbiBkKGUpe3JldHVybiBlJTQ9PTAmJmUlMTAwIT0wfHxlJTQwMD09MH1mdW5jdGlvbiBmKGUpe3JldHVyblwiW29iamVjdCBEYXRlXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpJiYhaXNOYU4oZS52YWx1ZU9mKCkpfWZ1bmN0aW9uIHAoZSl7cmV0dXJuXCJbb2JqZWN0IE9iamVjdF1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiB5KGUsdD0yKXtyZXR1cm4oZSs9XCJcIikubGVuZ3RoPj10P2U6bmV3IEFycmF5KHQtZS5sZW5ndGgrMSkuam9pbihcIjBcIikrZX1mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9ZSUxMCxuPWUlMTAwO3JldHVybiAxPT09dCYmMTEhPT1uP2UrXCJzdFwiOjI9PT10JiYxMiE9PW4/ZStcIm5kXCI6Mz09PXQmJjEzIT09bj9lK1wicmRcIjplK1widGhcIn1mdW5jdGlvbiBiKGUpe3JldHVybiBlPShlPVN0cmluZyhlKSkucmVwbGFjZSgvKFswLTldKShzdHxuZHxyZHx0aCkkL2ksXCIkMVwiKSxwYXJzZUludChlLDEwKX1mdW5jdGlvbiBrKGU9XCJcIil7cmV0dXJuXCJkYXlcIj09PShlPShlPShlPShlPWUudG9Mb3dlckNhc2UoKS50cmltKCkpLnJlcGxhY2UoL2llcyQvLFwieVwiKSkucmVwbGFjZSgvcyQvLFwiXCIpKS5yZXBsYWNlKC8tL2csXCJcIikpfHxcImRheXNcIj09PWU/XCJkYXRlXCI6XCJtaW5cIj09PWV8fFwibWluc1wiPT09ZT9cIm1pbnV0ZVwiOmV9ZnVuY3Rpb24gdyhlKXtyZXR1cm5cIm51bWJlclwiPT10eXBlb2YgZT9lOmYoZSk/ZS5nZXRUaW1lKCk6ZS5lcG9jaHx8MD09PWUuZXBvY2g/ZS5lcG9jaDpudWxsfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4hMT09PXAoZSk/dC5jbG9uZSgpLnNldChlKTplfWZ1bmN0aW9uIHooZSx0PVwiXCIpe2NvbnN0IG49ZT4wP1wiK1wiOlwiLVwiLHI9TWF0aC5hYnMoZSk7cmV0dXJuYCR7bn0ke3kocGFyc2VJbnQoXCJcIityLDEwKSl9JHt0fSR7eShyJTEqNjApfWB9Y29uc3QgXz17eWVhcjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCksbW9udGg6MCxkYXRlOjF9LCQ9W1wieWVhclwiLFwibW9udGhcIixcImRhdGVcIixcImhvdXJcIixcIm1pbnV0ZVwiLFwic2Vjb25kXCIsXCJtaWxsaXNlY29uZFwiXTt2YXIgaj17cGFyc2VBcnJheTooZSx0LG4pPT57aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2ZvcihsZXQgcj0wO3I8JC5sZW5ndGg7cisrKXtjb25zdCBhPXRbcl18fG5bJFtyXV18fF9bJFtyXV18fDA7ZT1lWyRbcl1dKGEpfXJldHVybiBlfSxwYXJzZU9iamVjdDooZSx0KT0+e2lmKDA9PT1PYmplY3Qua2V5cyh0KS5sZW5ndGgpcmV0dXJuIGU7KHQ9T2JqZWN0LmFzc2lnbih7fSxfLHQpKS50aW1lem9uZSYmKGUudHo9dC50aW1lem9uZSk7Zm9yKGxldCBuPTA7bjwkLmxlbmd0aDtuKyspe2NvbnN0IHI9JFtuXTt2b2lkIDAhPT10W3JdJiYoZT1lW3JdKHRbcl0pKX1yZXR1cm4gZX0scGFyc2VOdW1iZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD4wJiZ0PDI1ZTgmJiExPT09ZS5zaWxlbnQmJihjb25zb2xlLndhcm4oXCIgIC0gV2FybmluZzogWW91IGFyZSBzZXR0aW5nIHRoZSBkYXRlIHRvIEphbnVhcnkgMTk3MC5cIiksY29uc29sZS53YXJuKFwiICAgICAgIC0gICBkaWQgaW5wdXQgc2Vjb25kcyBpbnN0ZWFkIG9mIG1pbGxpc2Vjb25kcz9cIikpLGUuZXBvY2g9dCxlfX07Y29uc3QgTz1mdW5jdGlvbihlKXtyZXR1cm4gZS5lcG9jaD1EYXRlLm5vdygpLE9iamVjdC5rZXlzKGUuX3RvZGF5fHx7fSkuZm9yRWFjaCh0PT57XCJmdW5jdGlvblwiPT10eXBlb2YgZVt0XSYmKGU9ZVt0XShlLl90b2RheVt0XSkpfSksZX0sRD17bm93OmU9Pk8oZSksdG9kYXk6ZT0+TyhlKSx0b25pZ2h0OmU9PmU9KGU9TyhlKSkuaG91cigxOCksdG9tb3Jyb3c6ZT0+ZT0oZT0oZT1PKGUpKS5hZGQoMSxcImRheVwiKSkuc3RhcnRPZihcImRheVwiKSx5ZXN0ZXJkYXk6ZT0+ZT0oZT0oZT1PKGUpKS5zdWJ0cmFjdCgxLFwiZGF5XCIpKS5zdGFydE9mKFwiZGF5XCIpLGNocmlzdG1hczplPT57Y29uc3QgdD1PKGUpLnllYXIoKTtyZXR1cm4gZT1lLnNldChbdCwxMSwyNSwxOCwwLDBdKX0sXCJuZXcgeWVhcnNcIjplPT57Y29uc3QgdD1PKGUpLnllYXIoKTtyZXR1cm4gZT1lLnNldChbdCwxMSwzMSwxOCwwLDBdKX19O0RbXCJuZXcgeWVhcnMgZXZlXCJdPURbXCJuZXcgeWVhcnNcIl07Y29uc3QgTT17bWlsbGlzZWNvbmQ6MSxzZWNvbmQ6MWUzLG1pbnV0ZTo2ZTQsaG91cjozNmU1LGRheTo4NjRlNX07TS5kYXRlPU0uZGF5LE0ubW9udGg9MjU0ODhlNSxNLndlZWs9NjA0OGU1LE0ueWVhcj0zMTU0ZTcsT2JqZWN0LmtleXMoTSkuZm9yRWFjaChlPT57TVtlK1wic1wiXT1NW2VdfSk7Y29uc3QgUz0oZSx0LG4scixhKT0+e2NvbnN0IG89ZS5kW25dKCk7aWYobz09PXQpcmV0dXJuO2NvbnN0IHM9bnVsbD09PWE/bnVsbDplLmRbYV0oKSxpPWUuZXBvY2gsdT10LW87ZS5lcG9jaCs9TVtyXSp1LFwiZGF5XCI9PT1yJiZNYXRoLmFicyh1KT4yOCYmdDwyOCYmKGUuZXBvY2grPU0uaG91ciksbnVsbCE9PWEmJnMhPT1lLmRbYV0oKSYmKGUuZXBvY2g9aSk7Y29uc3QgYz1NW3JdLzI7Zm9yKDtlLmRbbl0oKTx0OyllLmVwb2NoKz1jO2Zvcig7ZS5kW25dKCk+dDspZS5lcG9jaC09YztudWxsIT09YSYmcyE9PWUuZFthXSgpJiYoZS5lcG9jaD1pKX0scT17eWVhcjp7dmFsaWQ6ZT0+ZT4tNGUzJiZlPDRlMyx3YWxrVG86KGUsdCk9PlMoZSx0LFwiZ2V0RnVsbFllYXJcIixcInllYXJcIixudWxsKX0sbW9udGg6e3ZhbGlkOmU9PmU+PTAmJmU8PTExLHdhbGtUbzooZSx0KT0+e2NvbnN0IG49ZS5kLHI9bi5nZXRNb250aCgpLGE9ZS5lcG9jaCxvPW4uZ2V0RnVsbFllYXIoKTtpZihyPT09dClyZXR1cm47Y29uc3Qgcz10LXI7Zm9yKGUuZXBvY2grPU0uZGF5KigyOCpzKSxvIT09ZS5kLmdldEZ1bGxZZWFyKCkmJihlLmVwb2NoPWEpO2UuZC5nZXRNb250aCgpPHQ7KWUuZXBvY2grPU0uZGF5O2Zvcig7ZS5kLmdldE1vbnRoKCk+dDspZS5lcG9jaC09TS5kYXl9fSxkYXRlOnt2YWxpZDplPT5lPjAmJmU8PTMxLHdhbGtUbzooZSx0KT0+UyhlLHQsXCJnZXREYXRlXCIsXCJkYXlcIixcImdldE1vbnRoXCIpfSxob3VyOnt2YWxpZDplPT5lPj0wJiZlPDI0LHdhbGtUbzooZSx0KT0+UyhlLHQsXCJnZXRIb3Vyc1wiLFwiaG91clwiLFwiZ2V0RGF0ZVwiKX0sbWludXRlOnt2YWxpZDplPT5lPj0wJiZlPDYwLHdhbGtUbzooZSx0KT0+UyhlLHQsXCJnZXRNaW51dGVzXCIsXCJtaW51dGVcIixcImdldEhvdXJzXCIpfSxzZWNvbmQ6e3ZhbGlkOmU9PmU+PTAmJmU8NjAsd2Fsa1RvOihlLHQpPT57ZS5lcG9jaD1lLnNlY29uZHModCkuZXBvY2h9fSxtaWxsaXNlY29uZDp7dmFsaWQ6ZT0+ZT49MCYmZTwxZTMsd2Fsa1RvOihlLHQpPT57ZS5lcG9jaD1lLm1pbGxpc2Vjb25kcyh0KS5lcG9jaH19fSxOPShlLHQpPT57Y29uc3Qgbj1PYmplY3Qua2V5cyhxKSxyPWUuY2xvbmUoKTtmb3IobGV0IGE9MDthPG4ubGVuZ3RoO2ErKyl7Y29uc3Qgbz1uW2FdO2xldCBzPXRbb107aWYodm9pZCAwPT09cyYmKHM9cltvXSgpKSxcInN0cmluZ1wiPT10eXBlb2YgcyYmKHM9cGFyc2VJbnQocywxMCkpLCFxW29dLnZhbGlkKHMpKXJldHVybiBlLmVwb2NoPW51bGwsdm9pZCghMT09PWUuc2lsZW50JiZjb25zb2xlLndhcm4oXCJpbnZhbGlkIFwiK28rXCI6IFwiK3MpKTtxW29dLndhbGtUbyhlLHMpfX0sST1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO2xldCBUPVtcImphblwiLFwiZmViXCIsXCJtYXJcIixcImFwclwiLFwibWF5XCIsXCJqdW5cIixcImp1bFwiLFwiYXVnXCIsXCJzZXBcIixcIm9jdFwiLFwibm92XCIsXCJkZWNcIl0sQz1bXCJqYW51YXJ5XCIsXCJmZWJydWFyeVwiLFwibWFyY2hcIixcImFwcmlsXCIsXCJtYXlcIixcImp1bmVcIixcImp1bHlcIixcImF1Z3VzdFwiLFwic2VwdGVtYmVyXCIsXCJvY3RvYmVyXCIsXCJub3ZlbWJlclwiLFwiZGVjZW1iZXJcIl07ZnVuY3Rpb24gRSgpe3JldHVybiBUfWZ1bmN0aW9uIEEoKXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPXtzZXA6OH07Zm9yKGxldCB0PTA7dDxULmxlbmd0aDt0KyspZVtUW3RdXT10O2ZvcihsZXQgdD0wO3Q8Qy5sZW5ndGg7dCsrKWVbQ1t0XV09dDtyZXR1cm4gZX0oKX1jb25zdCB4PShlLHQpPT57aWYoIXQpcmV0dXJuIGU7dD10LnRyaW0oKS50b0xvd2VyQ2FzZSgpO2xldCBuPTA7aWYoL15bKy1dP1swLTldezJ9OlswLTldezJ9JC8udGVzdCh0KSYmKCEwPT09LzowMC8udGVzdCh0KSYmKHQ9dC5yZXBsYWNlKC86MDAvLFwiXCIpKSwhMD09PS86MzAvLnRlc3QodCkmJih0PXQucmVwbGFjZSgvOjMwLyxcIi41XCIpKSksL15bKy1dP1swLTldezR9JC8udGVzdCh0KSYmKHQ9dC5yZXBsYWNlKC8zMCQvLFwiLjVcIikpLG49cGFyc2VGbG9hdCh0KSxNYXRoLmFicyhuKT4xMDAmJihuLz0xMDApLDA9PT1ufHxcIlpcIj09PXR8fFwielwiPT09dClyZXR1cm4gZS50ej1cImV0Yy9nbXRcIixlO24qPS0xLG4+PTAmJihuPVwiK1wiK24pO2NvbnN0IHI9XCJldGMvZ210XCIrbjtyZXR1cm4gZS50aW1lem9uZXNbcl0mJihlLnR6PXIpLGV9LFk9KGUsdD1cIlwiKT0+e2xldCBuPSh0PXQucmVwbGFjZSgvXlxccysvLFwiXCIpLnRvTG93ZXJDYXNlKCkpLm1hdGNoKC8oWzAtOV17MSwyfSk6KFswLTldezEsMn0pOj8oWzAtOV17MSwyfSk/WzouXT8oWzAtOV17MSw0fSk/Lyk7aWYobnVsbCE9PW4pe2xldFsscixhLG8sc109bjtpZihyPU51bWJlcihyKSxyPDB8fHI+MjQpcmV0dXJuIGUuc3RhcnRPZihcImRheVwiKTtpZihhPU51bWJlcihhKSxuWzJdLmxlbmd0aDwyfHxhPDB8fGE+NTkpcmV0dXJuIGUuc3RhcnRPZihcImRheVwiKTtlPShlPShlPShlPWUuaG91cihyKSkubWludXRlKGEpKS5zZWNvbmRzKG98fDApKS5taWxsaXNlY29uZChmdW5jdGlvbihlPVwiXCIpe3JldHVybihlPVN0cmluZyhlKSkubGVuZ3RoPjM/ZT1lLnN1YnN0cmluZygwLDMpOjE9PT1lLmxlbmd0aD9lKz1cIjAwXCI6Mj09PWUubGVuZ3RoJiYoZSs9XCIwXCIpLE51bWJlcihlKXx8MH0ocykpO2NvbnN0IGk9dC5tYXRjaCgvWzAtOV0gPyhhbXxwbSlcXGIvKTtyZXR1cm4gbnVsbCE9PWkmJmlbMV0mJihlPWUuYW1wbShpWzFdKSksZX1pZihuPXQubWF0Y2goLyhbMC05XSspID8oYW18cG0pLyksbnVsbCE9PW4mJm5bMV0pe2NvbnN0IHQ9TnVtYmVyKG5bMV0pO3JldHVybiB0PjEyfHx0PDE/ZS5zdGFydE9mKFwiZGF5XCIpOmU9KGU9KGU9ZS5ob3VyKG5bMV18fDApKS5hbXBtKG5bMl0pKS5zdGFydE9mKFwiaG91clwiKX1yZXR1cm4gZT1lLnN0YXJ0T2YoXCJkYXlcIil9LEY9QSgpLFA9ZT0+e2lmKCEwIT09SS5oYXNPd25Qcm9wZXJ0eShlLm1vbnRoKSlyZXR1cm4hMTtpZigxPT09ZS5tb250aClyZXR1cm4hIShkKGUueWVhcikmJmUuZGF0ZTw9MjkpfHxlLmRhdGU8PTI4O2NvbnN0IHQ9SVtlLm1vbnRoXXx8MDtyZXR1cm4gZS5kYXRlPD10fSxMPShlPVwiXCIsdCk9PntpZihlPWUudHJpbSgpLCEwPT09L14nWzAtOV1bMC05XSQvLnRlc3QoZSkpe2NvbnN0IHQ9TnVtYmVyKGUucmVwbGFjZSgvJy8sXCJcIikpO3JldHVybiB0PjUwPzE5MDArdDoyZTMrdH1sZXQgbj1wYXJzZUludChlLDEwKTtyZXR1cm4hbiYmdCYmKG49dC55ZWFyKSxuPW58fChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxufSxVPWZ1bmN0aW9uKGUpe3JldHVyblwic2VwdFwiPT09KGU9ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKSk/Ri5zZXA6RltlXX07dmFyIEI9W3tyZWc6L14oWzAtOV17MSwyfSlbLS8uXShbMC05XXsxLDJ9KVtcXC0vLl0/KFswLTldezR9KT8oIFswLTldezEsMn06WzAtOV17Mn06P1swLTldezAsMn0gPyhhbXxwbXxnbXQpKT8kL2kscGFyc2U6KGUsdCk9PntsZXQgbj1wYXJzZUludCh0WzFdLDEwKS0xLHI9cGFyc2VJbnQodFsyXSwxMCk7KGUuYnJpdGlzaHx8bj49MTIpJiYocj1wYXJzZUludCh0WzFdLDEwKSxuPXBhcnNlSW50KHRbMl0sMTApLTEpO2NvbnN0IGE9e2RhdGU6cixtb250aDpuLHllYXI6TCh0WzNdLGUuX3RvZGF5KXx8KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpfTtyZXR1cm4hMT09PVAoYSk/KGUuZXBvY2g9bnVsbCxlKTooTihlLGEpLGU9WShlLHRbNF0pKX19LHtyZWc6L14oW2Etel0rKVtcXC0vLiBdKFswLTldezEsMn0pW1xcLS8uIF0/KFswLTldezR9fCdbMC05XXsyfSk/KCBbMC05XXsxLDJ9KDpbMC05XXswLDJ9KT8oOlswLTldezAsM30pPyA/KGFtfHBtKT8pPyQvaSxwYXJzZTooZSx0KT0+e2NvbnN0IG49e3llYXI6TCh0WzNdLGUuX3RvZGF5KSxtb250aDpVKHRbMV0pLGRhdGU6Yih0WzJdfHxcIlwiKX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPVkoZSx0WzRdKSl9fSx7cmVnOi9eKFthLXpdKykgKFswLTldezEsMn0pKCBbMC05XXs0fSk/KCAoWzAtOTpdKyggP2FtfCA/cG18ID9nbXQpPykpPyQvaSxwYXJzZTooZSx0KT0+e2NvbnN0IG49e3llYXI6TCh0WzNdLGUuX3RvZGF5KSxtb250aDpVKHRbMV0pLGRhdGU6Yih0WzJdfHxcIlwiKX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPVkoZSx0WzRdKSl9fSx7cmVnOi9eKFthLXpdKykgKFswLTldezEsMn0pIChbMC05XXsxLDJ9OlswLTldezJ9Oj9bMC05XXswLDJ9KSggXFwrWzAtOV17NH0pPyggWzAtOV17NH0pPyQvaSxwYXJzZTooZSx0KT0+e2NvbnN0WyxuLHIsYSxvLHNdPXQsaT17eWVhcjpMKHMsZS5fdG9kYXkpLG1vbnRoOlUobiksZGF0ZTpiKHJ8fFwiXCIpfTtyZXR1cm4hMT09PVAoaSk/KGUuZXBvY2g9bnVsbCxlKTooTihlLGkpLGU9eChlLG8pLGU9WShlLGEpKX19XSxIPVt7cmVnOi9eKFswLTldezR9KVtcXC0vXShbMC05XXsyfSkkLyxwYXJzZTooZSx0KT0+e2NvbnN0IG49e3llYXI6dFsxXSxtb250aDpwYXJzZUludCh0WzJdLDEwKS0xLGRhdGU6MX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPVkoZSx0WzRdKSl9fSx7cmVnOi9eKFthLXpdKykgKFswLTldezR9KSQvaSxwYXJzZTooZSx0KT0+e2NvbnN0IG49e3llYXI6TCh0WzJdLGUuX3RvZGF5KSxtb250aDpVKHRbMV0pLGRhdGU6ZS5fdG9kYXkuZGF0ZXx8MX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPVkoZSx0WzRdKSl9fSx7cmVnOi9eKHFbMC05XSkoIG9mKT8oIFswLTldezR9KT8vaSxwYXJzZTooZSx0KT0+e2NvbnN0IG49dFsxXXx8XCJcIjtlPWUucXVhcnRlcihuKTtsZXQgcj10WzNdfHxcIlwiO3JldHVybiByJiYocj1yLnRyaW0oKSxlPWUueWVhcihyKSksZX19LHtyZWc6L14oc3ByaW5nfHN1bW1lcnx3aW50ZXJ8ZmFsbHxhdXR1bW4pKCBvZik/KCBbMC05XXs0fSk/L2kscGFyc2U6KGUsdCk9Pntjb25zdCBuPXRbMV18fFwiXCI7ZT1lLnNlYXNvbihuKTtsZXQgcj10WzNdfHxcIlwiO3JldHVybiByJiYocj1yLnRyaW0oKSxlPWUueWVhcihyKSksZX19LHtyZWc6L15bMC05LF0rID9iXFwuP2NcXC4/JC9pLHBhcnNlOihlLHQpPT57bGV0IG49dFswXXx8XCJcIjtuPW4ucmVwbGFjZSgvXihbMC05LF0rKSA/YlxcLj9jXFwuPyQvaSxcIi0kMVwiKTtjb25zdCByPW5ldyBEYXRlLGE9e3llYXI6cGFyc2VJbnQobi50cmltKCksMTApLG1vbnRoOnIuZ2V0TW9udGgoKSxkYXRlOnIuZ2V0RGF0ZSgpfTtyZXR1cm4hMT09PVAoYSk/KGUuZXBvY2g9bnVsbCxlKTooTihlLGEpLGU9WShlKSl9fSx7cmVnOi9eWzAtOSxdKyA/KGFcXC4/ZFxcLj98Y1xcLj9lXFwuPykkL2kscGFyc2U6KGUsdCk9PntsZXQgbj10WzBdfHxcIlwiO249bi5yZXBsYWNlKC8sL2csXCJcIik7Y29uc3Qgcj1uZXcgRGF0ZSxhPXt5ZWFyOnBhcnNlSW50KG4udHJpbSgpLDEwKSxtb250aDpyLmdldE1vbnRoKCksZGF0ZTpyLmdldERhdGUoKX07cmV0dXJuITE9PT1QKGEpPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxhKSxlPVkoZSkpfX0se3JlZzovXlswLTldezR9KCA/YVxcLj9kXFwuPyk/JC9pLHBhcnNlOihlLHQpPT57Y29uc3Qgbj1lLl90b2RheTtuLm1vbnRoJiYhbi5kYXRlJiYobi5kYXRlPTEpO2NvbnN0IHI9bmV3IERhdGUsYT17eWVhcjpMKHRbMF0sbiksbW9udGg6bi5tb250aHx8ci5nZXRNb250aCgpLGRhdGU6bi5kYXRlfHxyLmdldERhdGUoKX07cmV0dXJuITE9PT1QKGEpPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxhKSxlPVkoZSkpfX1dLFo9W10uY29uY2F0KFt7cmVnOi9eKC0/MHswLDJ9WzAtOV17Myw0fSktKFswLTldezEsMn0pLShbMC05XXsxLDJ9KVtUfCBdKFswLTkuOl0rKShafFswLTktKzpdKyk/KFxcWy4qP1xcXSk/KFxcWy4qP1xcXSk/JC9pLHBhcnNlOihlLHQpPT57Y29uc3Qgbj17eWVhcjp0WzFdLG1vbnRoOnBhcnNlSW50KHRbMl0sMTApLTEsZGF0ZTp0WzNdfTtpZighMT09PVAobikpcmV0dXJuIGUuZXBvY2g9bnVsbCxlO2lmKHRbNl0pe2NvbnN0IG49dFs2XS50cmltKCkucmVwbGFjZSgvW1tcXF1dL2csXCJcIik7biYmKGU9ZS50aW1lem9uZShuKSl9ZWxzZSB4KGUsdFs1XSk7cmV0dXJuIE4oZSxuKSxlPVkoZSx0WzRdKX19LHtyZWc6L14oWzAtOV17NH0pW1xcLS8uIF0oWzAtOV17MSwyfSlbXFwtLy4gXShbMC05XXsxLDJ9KSggWzAtOV17MSwyfSg6WzAtOV17MCwyfSk/KDpbMC05XXswLDN9KT8gPyhhbXxwbSk/KT8kL2kscGFyc2U6KGUsdCk9Pntjb25zdCBuPXt5ZWFyOnRbMV0sbW9udGg6cGFyc2VJbnQodFsyXSwxMCktMSxkYXRlOnBhcnNlSW50KHRbM10sMTApfTtyZXR1cm4gbi5tb250aD49MTImJihuLmRhdGU9cGFyc2VJbnQodFsyXSwxMCksbi5tb250aD1wYXJzZUludCh0WzNdLDEwKS0xKSwhMT09PVAobik/KGUuZXBvY2g9bnVsbCxlKTooTihlLG4pLGU9WShlLHRbNF0pKX19LHtyZWc6L14oWzAtOV17NH0pW1xcLS8uIF0oW2Etel0rKVtcXC0vLiBdKFswLTldezEsMn0pKCBbMC05XXsxLDJ9KDpbMC05XXswLDJ9KT8oOlswLTldezAsM30pPyA/KGFtfHBtKT8pPyQvaSxwYXJzZTooZSx0KT0+e2NvbnN0IG49e3llYXI6TCh0WzFdLGUuX3RvZGF5KSxtb250aDpVKHRbMl0pLGRhdGU6Yih0WzNdfHxcIlwiKX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPVkoZSx0WzRdKSl9fV0sQixbe3JlZzovXihbMC05XXsxLDJ9KVstL10oW2Etel0rKVtcXC0vXT8oWzAtOV17NH0pPyQvaSxwYXJzZTooZSx0KT0+e2NvbnN0IG49e3llYXI6TCh0WzNdLGUuX3RvZGF5KSxtb250aDpVKHRbMl0pLGRhdGU6Yih0WzFdfHxcIlwiKX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPVkoZSx0WzRdKSl9fSx7cmVnOi9eKFswLTldezEsMn0pKCBbYS16XSspKCBbMC05XXs0fXwgJ1swLTldezJ9KT8gPyhbMC05XXsxLDJ9OlswLTldezJ9Oj9bMC05XXswLDJ9ID8oYW18cG18Z210KSk/JC9pLHBhcnNlOihlLHQpPT57Y29uc3Qgbj17eWVhcjpMKHRbM10sZS5fdG9kYXkpLG1vbnRoOlUodFsyXSksZGF0ZTpiKHRbMV0pfTtyZXR1cm4gbi5tb250aCYmITEhPT1QKG4pPyhOKGUsbiksZT1ZKGUsdFs0XSkpOihlLmVwb2NoPW51bGwsZSl9fSx7cmVnOi9eKFswLTldezEsMn0pWy4gXFwtL10oW2Etel0rKVsuIFxcLS9dKFswLTldezR9KT8oIFswLTldezEsMn0oOlswLTldezAsMn0pPyg6WzAtOV17MCwzfSk/ID8oYW18cG0pPyk/JC9pLHBhcnNlOihlLHQpPT57Y29uc3Qgbj17ZGF0ZTpOdW1iZXIodFsxXSksbW9udGg6VSh0WzJdKSx5ZWFyOk51bWJlcih0WzNdKX07cmV0dXJuITE9PT1QKG4pPyhlLmVwb2NoPW51bGwsZSk6KE4oZSxuKSxlPWUuc3RhcnRPZihcImRheVwiKSxlPVkoZSx0WzRdKSl9fV0sSCk7Y29uc3R7cGFyc2VBcnJheTpRLHBhcnNlT2JqZWN0OkcscGFyc2VOdW1iZXI6Vn09aixXPXt5ZWFyOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxtb250aDowLGRhdGU6MX0sSj0oZSx0KT0+e2NvbnN0IG49ZS5fdG9kYXl8fFc7aWYoXCJudW1iZXJcIj09dHlwZW9mIHQpcmV0dXJuIFYoZSx0KTtpZihlLmVwb2NoPURhdGUubm93KCksZS5fdG9kYXkmJnAoZS5fdG9kYXkpJiZPYmplY3Qua2V5cyhlLl90b2RheSkubGVuZ3RoPjApe2NvbnN0IHQ9RyhlLG4pO3QuaXNWYWxpZCgpJiYoZS5lcG9jaD10LmVwb2NoKX1pZihudWxsPT10fHxcIlwiPT09dClyZXR1cm4gZTtpZighMD09PWYodCkpcmV0dXJuIGUuZXBvY2g9dC5nZXRUaW1lKCksZTtpZighMD09PWZ1bmN0aW9uKGUpe3JldHVyblwiW29iamVjdCBBcnJheV1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX0odCkpcmV0dXJuIGU9UShlLHQsbik7aWYoITA9PT1wKHQpKXtpZih0LmVwb2NoKXJldHVybiBlLmVwb2NoPXQuZXBvY2gsZS50ej10LnR6LGU7Y29uc3Qgcj1PYmplY3QuYXNzaWduKHt9LG4sdCk7cmV0dXJuIGU9RyhlLHIpfXJldHVyblwic3RyaW5nXCIhPXR5cGVvZiB0P2U6KHQ9dC5yZXBsYWNlKC9cXGIobW9ufHR1ZXM/fHdlZHx3ZWRuZXN8dGh1cj9zP3xmcml8c2F0fHNhdHVyfHN1bikoZGF5KT9cXGIvaSxcIlwiKS5yZXBsYWNlKC8oWzAtOV0pKHRofHJkfHN0fG5kKS8sXCIkMVwiKS5yZXBsYWNlKC8sL2csXCJcIikucmVwbGFjZSgvICsvZyxcIiBcIikudHJpbSgpLCEwPT09RC5oYXNPd25Qcm9wZXJ0eSh0KT9lPURbdF0oZSk6ZnVuY3Rpb24oZSx0LG4pe2ZvcihsZXQgcj0wO3I8Wi5sZW5ndGg7cisrKXtjb25zdCBhPXQubWF0Y2goWltyXS5yZWcpO2lmKGEpe2NvbnN0IHQ9WltyXS5wYXJzZShlLGEsbik7aWYobnVsbCE9PXQmJnQuaXNWYWxpZCgpKXJldHVybiB0fX1yZXR1cm4hMT09PWUuc2lsZW50JiZjb25zb2xlLndhcm4oXCJXYXJuaW5nOiBjb3VsZG4ndCBwYXJzZSBkYXRlLXN0cmluZzogJ1wiK3QrXCInXCIpLGUuZXBvY2g9bnVsbCxlfShlLHQpKX07bGV0IEs9W1wic3VuXCIsXCJtb25cIixcInR1ZVwiLFwid2VkXCIsXCJ0aHVcIixcImZyaVwiLFwic2F0XCJdLFI9W1wic3VuZGF5XCIsXCJtb25kYXlcIixcInR1ZXNkYXlcIixcIndlZG5lc2RheVwiLFwidGh1cnNkYXlcIixcImZyaWRheVwiLFwic2F0dXJkYXlcIl07ZnVuY3Rpb24gWCgpe3JldHVybiBLfWZ1bmN0aW9uIGVlKCl7cmV0dXJuIFJ9Y29uc3QgdGU9e21vOjEsdHU6Mix3ZTozLHRoOjQsZnI6NSxzYTo2LHN1OjcsdHVlczoyLHdlZHM6Myx3ZWRuOjMsdGh1cjo0LHRodXJzOjR9O2xldCBuZT0hMDtjb25zdCByZT1lPT57Y29uc3QgdD1lLnRpbWV6b25lKCkuY3VycmVudC5vZmZzZXQ7cmV0dXJuIHQ/eih0LFwiOlwiKTpcIlpcIn0sYWU9ZT0+bmU/ZnVuY3Rpb24oZSl7cmV0dXJuIGU/ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyKDEpOlwiXCJ9KGUpOmUsb2U9e2RheTplPT5hZShlLmRheU5hbWUoKSksXCJkYXktc2hvcnRcIjplPT5hZShYKClbZS5kYXkoKV0pLFwiZGF5LW51bWJlclwiOmU9PmUuZGF5KCksXCJkYXktb3JkaW5hbFwiOmU9PmcoZS5kYXkoKSksXCJkYXktcGFkXCI6ZT0+eShlLmRheSgpKSxkYXRlOmU9PmUuZGF0ZSgpLFwiZGF0ZS1vcmRpbmFsXCI6ZT0+ZyhlLmRhdGUoKSksXCJkYXRlLXBhZFwiOmU9PnkoZS5kYXRlKCkpLG1vbnRoOmU9PmFlKGUubW9udGhOYW1lKCkpLFwibW9udGgtc2hvcnRcIjplPT5hZShFKClbZS5tb250aCgpXSksXCJtb250aC1udW1iZXJcIjplPT5lLm1vbnRoKCksXCJtb250aC1vcmRpbmFsXCI6ZT0+ZyhlLm1vbnRoKCkpLFwibW9udGgtcGFkXCI6ZT0+eShlLm1vbnRoKCkpLFwiaXNvLW1vbnRoXCI6ZT0+eShlLm1vbnRoKCkrMSkseWVhcjplPT57bGV0IHQ9ZS55ZWFyKCk7cmV0dXJuIHQ+MD90Oih0PU1hdGguYWJzKHQpLHQrXCIgQkNcIil9LFwieWVhci1zaG9ydFwiOmU9PntsZXQgdD1lLnllYXIoKTtyZXR1cm4gdD4wP2AnJHtTdHJpbmcoZS55ZWFyKCkpLnN1YnN0cigyLDQpfWA6KHQ9TWF0aC5hYnModCksdCtcIiBCQ1wiKX0sXCJpc28teWVhclwiOmU9Pntjb25zdCB0PWUueWVhcigpLG49dDwwO2xldCByPXkoTWF0aC5hYnModCksNCk7cmV0dXJuIG4mJihyPXkociw2KSxyPVwiLVwiK3IpLHJ9LHRpbWU6ZT0+ZS50aW1lKCksXCJ0aW1lLTI0XCI6ZT0+YCR7ZS5ob3VyMjQoKX06JHt5KGUubWludXRlKCkpfWAsaG91cjplPT5lLmhvdXIxMigpLFwiaG91ci1wYWRcIjplPT55KGUuaG91cjEyKCkpLFwiaG91ci0yNFwiOmU9PmUuaG91cjI0KCksXCJob3VyLTI0LXBhZFwiOmU9PnkoZS5ob3VyMjQoKSksbWludXRlOmU9PmUubWludXRlKCksXCJtaW51dGUtcGFkXCI6ZT0+eShlLm1pbnV0ZSgpKSxzZWNvbmQ6ZT0+ZS5zZWNvbmQoKSxcInNlY29uZC1wYWRcIjplPT55KGUuc2Vjb25kKCkpLG1pbGxpc2Vjb25kOmU9PmUubWlsbGlzZWNvbmQoKSxcIm1pbGxpc2Vjb25kLXBhZFwiOmU9PnkoZS5taWxsaXNlY29uZCgpLDMpLGFtcG06ZT0+ZS5hbXBtKCksQU1QTTplPT5lLmFtcG0oKS50b1VwcGVyQ2FzZSgpLHF1YXJ0ZXI6ZT0+XCJRXCIrZS5xdWFydGVyKCksc2Vhc29uOmU9PmUuc2Vhc29uKCksZXJhOmU9PmUuZXJhKCksanNvbjplPT5lLmpzb24oKSx0aW1lem9uZTplPT5lLnRpbWV6b25lKCkubmFtZSxvZmZzZXQ6ZT0+cmUoZSksbnVtZXJpYzplPT5gJHtlLnllYXIoKX0vJHt5KGUubW9udGgoKSsxKX0vJHt5KGUuZGF0ZSgpKX1gLFwibnVtZXJpYy11c1wiOmU9PmAke3koZS5tb250aCgpKzEpfS8ke3koZS5kYXRlKCkpfS8ke2UueWVhcigpfWAsXCJudW1lcmljLXVrXCI6ZT0+YCR7eShlLmRhdGUoKSl9LyR7eShlLm1vbnRoKCkrMSl9LyR7ZS55ZWFyKCl9YCxcIm1tL2RkXCI6ZT0+YCR7eShlLm1vbnRoKCkrMSl9LyR7eShlLmRhdGUoKSl9YCxpc286ZT0+YCR7ZS5mb3JtYXQoXCJpc28teWVhclwiKX0tJHt5KGUubW9udGgoKSsxKX0tJHt5KGUuZGF0ZSgpKX1UJHt5KGUuaDI0KCkpfToke3koZS5taW51dGUoKSl9OiR7eShlLnNlY29uZCgpKX0uJHt5KGUubWlsbGlzZWNvbmQoKSwzKX0ke3JlKGUpfWAsXCJpc28tc2hvcnRcIjplPT57Y29uc3QgdD15KGUubW9udGgoKSsxKSxuPXkoZS5kYXRlKCkpO3ZhciByO3JldHVybmAkeyhyPWUueWVhcigpKT49MD95KHIsNCk6XCItXCIreShyPU1hdGguYWJzKHIpLDQpfS0ke3R9LSR7bn1gfSxcImlzby11dGNcIjplPT5uZXcgRGF0ZShlLmVwb2NoKS50b0lTT1N0cmluZygpLFwiaXNvLWZ1bGxcIjplPT57bGV0IHQ9ZS5mb3JtYXQoXCJpc29cIik7Y29uc3Qgbj1lLnRpbWV6b25lKCkubmFtZTtyZXR1cm4gbiYmKHQrPWBbJHtufV1gKSx0fSxzcWw6ZT0+YCR7ZS5mb3JtYXQoXCJpc28teWVhclwiKX0tJHt5KGUubW9udGgoKSsxKX0tJHt5KGUuZGF0ZSgpKX0gJHt5KGUuaDI0KCkpfToke3koZS5taW51dGUoKSl9OiR7eShlLnNlY29uZCgpKX1gLG5pY2U6ZT0+YCR7RSgpW2UubW9udGgoKV19ICR7ZyhlLmRhdGUoKSl9LCAke2UudGltZSgpfWAsXCJuaWNlLTI0XCI6ZT0+YCR7RSgpW2UubW9udGgoKV19ICR7ZyhlLmRhdGUoKSl9LCAke2UuaG91cjI0KCl9OiR7eShlLm1pbnV0ZSgpKX1gLFwibmljZS15ZWFyXCI6ZT0+YCR7RSgpW2UubW9udGgoKV19ICR7ZyhlLmRhdGUoKSl9LCAke2UueWVhcigpfWAsXCJuaWNlLWRheVwiOmU9PmAke1goKVtlLmRheSgpXX0gJHthZShFKClbZS5tb250aCgpXSl9ICR7ZyhlLmRhdGUoKSl9YCxcIm5pY2UtZnVsbFwiOmU9PmAke2UuZGF5TmFtZSgpfSAke2FlKGUubW9udGhOYW1lKCkpfSAke2coZS5kYXRlKCkpfSwgJHtlLnRpbWUoKX1gLFwibmljZS1mdWxsLTI0XCI6ZT0+YCR7ZS5kYXlOYW1lKCl9ICR7YWUoZS5tb250aE5hbWUoKSl9ICR7ZyhlLmRhdGUoKSl9LCAke2UuaG91cjI0KCl9OiR7eShlLm1pbnV0ZSgpKX1gfSxzZT17XCJkYXktbmFtZVwiOlwiZGF5XCIsXCJtb250aC1uYW1lXCI6XCJtb250aFwiLFwiaXNvIDg2MDFcIjpcImlzb1wiLFwiaXNvIDkwNzVcIjpcInNxbFwiLFwidGltZS1oMjRcIjpcInRpbWUtMjRcIixcInRpbWUtMTJcIjpcInRpbWVcIixcInRpbWUtaDEyXCI6XCJ0aW1lXCIsdHo6XCJ0aW1lem9uZVwiLGlhbmE6XCJ0aW1lem9uZVwiLFwiZGF5LW51bVwiOlwiZGF5LW51bWJlclwiLFwibW9udGgtbnVtXCI6XCJtb250aC1udW1iZXJcIixcIm1vbnRoLWlzb1wiOlwiaXNvLW1vbnRoXCIsXCJ5ZWFyLWlzb1wiOlwiaXNvLXllYXJcIixcIm5pY2Utc2hvcnRcIjpcIm5pY2VcIixcIm5pY2Utc2hvcnQtMjRcIjpcIm5pY2UtMjRcIixtZHk6XCJudW1lcmljLXVzXCIsZG15OlwibnVtZXJpYy11a1wiLHltZDpcIm51bWVyaWNcIixcInl5eXkvbW0vZGRcIjpcIm51bWVyaWNcIixcIm1tL2RkL3l5eXlcIjpcIm51bWVyaWMtdXNcIixcImRkL21tL3l5eXlcIjpcIm51bWVyaWMtdXNcIixcImxpdHRsZS1lbmRpYW5cIjpcIm51bWVyaWMtdWtcIixcImJpZy1lbmRpYW5cIjpcIm51bWVyaWNcIixcImRheS1uaWNlXCI6XCJuaWNlLWRheVwifTtPYmplY3Qua2V5cyhzZSkuZm9yRWFjaChlPT5vZVtlXT1vZVtzZVtlXV0pO2NvbnN0IGllPShlLHQ9XCJcIik9PntpZighMCE9PWUuaXNWYWxpZCgpKXJldHVyblwiXCI7aWYob2UuaGFzT3duUHJvcGVydHkodCkpe2xldCBuPW9lW3RdKGUpfHxcIlwiO3JldHVyblwianNvblwiIT09dCYmKG49U3RyaW5nKG4pLFwiYW1wbVwiIT09dC50b0xvd2VyQ2FzZSgpJiYobj1hZShuKSkpLG59aWYoLTEhPT10LmluZGV4T2YoXCJ7XCIpKXtjb25zdCBuPS9cXHsoLis/KVxcfS9nO3JldHVybiB0PXQucmVwbGFjZShuLCh0LG4pPT57aWYoXCJBTVBNXCIhPT0obj1uLnRyaW0oKSkmJihuPW4udG9Mb3dlckNhc2UoKSksb2UuaGFzT3duUHJvcGVydHkobikpe2NvbnN0IHQ9U3RyaW5nKG9lW25dKGUpKTtyZXR1cm5cImFtcG1cIiE9PW4udG9Mb3dlckNhc2UoKT9hZSh0KTp0fXJldHVyblwiXCJ9KSx0fXJldHVybiBlLmZvcm1hdChcImlzby1zaG9ydFwiKX0sdWU9e0c6ZT0+ZS5lcmEoKSxHRzplPT5lLmVyYSgpLEdHRzplPT5lLmVyYSgpLEdHR0c6ZT0+XCJBRFwiPT09ZS5lcmEoKT9cIkFubm8gRG9taW5pXCI6XCJCZWZvcmUgQ2hyaXN0XCIseTplPT5lLnllYXIoKSx5eTplPT55KE51bWJlcihTdHJpbmcoZS55ZWFyKCkpLnN1YnN0cigyLDQpKSkseXl5OmU9PmUueWVhcigpLHl5eXk6ZT0+ZS55ZWFyKCkseXl5eXk6ZT0+XCIwXCIrZS55ZWFyKCksUTplPT5lLnF1YXJ0ZXIoKSxRUTplPT5lLnF1YXJ0ZXIoKSxRUVE6ZT0+ZS5xdWFydGVyKCksUVFRUTplPT5lLnF1YXJ0ZXIoKSxNOmU9PmUubW9udGgoKSsxLE1NOmU9PnkoZS5tb250aCgpKzEpLE1NTTplPT5lLmZvcm1hdChcIm1vbnRoLXNob3J0XCIpLE1NTU06ZT0+ZS5mb3JtYXQoXCJtb250aFwiKSx3OmU9PmUud2VlaygpLHd3OmU9PnkoZS53ZWVrKCkpLGQ6ZT0+ZS5kYXRlKCksZGQ6ZT0+eShlLmRhdGUoKSksRDplPT5lLmRheU9mWWVhcigpLEREOmU9PnkoZS5kYXlPZlllYXIoKSksREREOmU9PnkoZS5kYXlPZlllYXIoKSwzKSxFOmU9PmUuZm9ybWF0KFwiZGF5LXNob3J0XCIpLEVFOmU9PmUuZm9ybWF0KFwiZGF5LXNob3J0XCIpLEVFRTplPT5lLmZvcm1hdChcImRheS1zaG9ydFwiKSxFRUVFOmU9PmUuZm9ybWF0KFwiZGF5XCIpLEVFRUVFOmU9PmUuZm9ybWF0KFwiZGF5XCIpWzBdLGU6ZT0+ZS5kYXkoKSxlZTplPT5lLmRheSgpLGVlZTplPT5lLmZvcm1hdChcImRheS1zaG9ydFwiKSxlZWVlOmU9PmUuZm9ybWF0KFwiZGF5XCIpLGVlZWVlOmU9PmUuZm9ybWF0KFwiZGF5XCIpWzBdLGE6ZT0+ZS5hbXBtKCkudG9VcHBlckNhc2UoKSxhYTplPT5lLmFtcG0oKS50b1VwcGVyQ2FzZSgpLGFhYTplPT5lLmFtcG0oKS50b1VwcGVyQ2FzZSgpLGFhYWE6ZT0+ZS5hbXBtKCkudG9VcHBlckNhc2UoKSxoOmU9PmUuaDEyKCksaGg6ZT0+eShlLmgxMigpKSxIOmU9PmUuaG91cigpLEhIOmU9PnkoZS5ob3VyKCkpLG06ZT0+ZS5taW51dGUoKSxtbTplPT55KGUubWludXRlKCkpLHM6ZT0+ZS5zZWNvbmQoKSxzczplPT55KGUuc2Vjb25kKCkpLFNTUzplPT55KGUubWlsbGlzZWNvbmQoKSwzKSxBOmU9PmUuZXBvY2gtZS5zdGFydE9mKFwiZGF5XCIpLmVwb2NoLHo6ZT0+ZS50aW1lem9uZSgpLm5hbWUseno6ZT0+ZS50aW1lem9uZSgpLm5hbWUsenp6OmU9PmUudGltZXpvbmUoKS5uYW1lLHp6eno6ZT0+ZS50aW1lem9uZSgpLm5hbWUsWjplPT56KGUudGltZXpvbmUoKS5jdXJyZW50Lm9mZnNldCksWlo6ZT0+eihlLnRpbWV6b25lKCkuY3VycmVudC5vZmZzZXQpLFpaWjplPT56KGUudGltZXpvbmUoKS5jdXJyZW50Lm9mZnNldCksWlpaWjplPT56KGUudGltZXpvbmUoKS5jdXJyZW50Lm9mZnNldCxcIjpcIil9LGNlPShlLHQsbik9PntsZXQgcj1lLGE9dDtmb3IobGV0IG89MDtvPG47bys9MSl1ZVtyXT11ZVthXSxyKz1lLGErPXR9O2NlKFwicVwiLFwiUVwiLDQpLGNlKFwiTFwiLFwiTVwiLDQpLGNlKFwiWVwiLFwieVwiLDQpLGNlKFwiY1wiLFwiZVwiLDQpLGNlKFwia1wiLFwiSFwiLDIpLGNlKFwiS1wiLFwiaFwiLDIpLGNlKFwiU1wiLFwic1wiLDIpLGNlKFwidlwiLFwielwiLDQpLGNlKFwiVlwiLFwiWlwiLDQpO2NvbnN0IGhlPVtcInllYXJcIixcInNlYXNvblwiLFwicXVhcnRlclwiLFwibW9udGhcIixcIndlZWtcIixcImRheVwiLFwicXVhcnRlckhvdXJcIixcImhvdXJcIixcIm1pbnV0ZVwiXSxsZT1mdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5jbG9uZSgpLnN0YXJ0T2YodCkscj1lLmNsb25lKCkuZW5kT2YodCkuZXBvY2gtbi5lcG9jaCxhPShlLmVwb2NoLW4uZXBvY2gpL3I7cmV0dXJuIHBhcnNlRmxvYXQoYS50b0ZpeGVkKDIpKX0sbWU9KGUsdCxuKT0+e2xldCByPTA7Zm9yKGU9ZS5jbG9uZSgpO2UuaXNCZWZvcmUodCk7KWU9ZS5hZGQoMSxuKSxyKz0xO3JldHVybiBlLmlzQWZ0ZXIodCxuKSYmKHItPTEpLHJ9LGRlPShlLHQsbik9PmUuaXNCZWZvcmUodCk/bWUoZSx0LG4pOi0xKm1lKHQsZSxuKSxmZT1mdW5jdGlvbihlLHQsbil7dD12KHQsZSk7bGV0IHI9ITE7aWYoZS5pc0FmdGVyKHQpKXtjb25zdCBuPWU7ZT10LHQ9bixyPSEwfWxldCBhPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj10LmVwb2NoLWUuZXBvY2gscj17bWlsbGlzZWNvbmRzOm4sc2Vjb25kczpwYXJzZUludChuLzFlMywxMCl9O3IubWludXRlcz1wYXJzZUludChyLnNlY29uZHMvNjAsMTApLHIuaG91cnM9cGFyc2VJbnQoci5taW51dGVzLzYwLDEwKTtsZXQgYT1lLmNsb25lKCk7cmV0dXJuIHIueWVhcnM9KChlLHQpPT57bGV0IG49dC55ZWFyKCktZS55ZWFyKCk7cmV0dXJuKGU9ZS55ZWFyKHQueWVhcigpKSkuaXNBZnRlcih0KSYmKG4tPTEpLG59KShhLHQpLGE9ZS5hZGQoci55ZWFycyxcInllYXJcIiksci5tb250aHM9MTIqci55ZWFycyxhPWUuYWRkKHIubW9udGhzLFwibW9udGhcIiksci5tb250aHMrPWRlKGEsdCxcIm1vbnRoXCIpLHIucXVhcnRlcnM9NCpyLnllYXJzLHIucXVhcnRlcnMrPXBhcnNlSW50KHIubW9udGhzJTEyLzMsMTApLHIud2Vla3M9NTIqci55ZWFycyxhPWUuYWRkKHIud2Vla3MsXCJ3ZWVrXCIpLHIud2Vla3MrPWRlKGEsdCxcIndlZWtcIiksci5kYXlzPTcqci53ZWVrcyxhPWUuYWRkKHIuZGF5cyxcImRheVwiKSxyLmRheXMrPWRlKGEsdCxcImRheVwiKSxyfShlLHQpO3JldHVybiByJiYoYT1mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XSo9LTF9KSxlfShhKSksbj8obj1rKG4pLCEwIT09L3MkLy50ZXN0KG4pJiYobis9XCJzXCIpLFwiZGF0ZXNcIj09PW4mJihuPVwiZGF5c1wiKSxhW25dKTphfSxwZT1lPT5NYXRoLmFicyhlKXx8MDtsZXQgeWU9e3NlY29uZDpcInNlY29uZFwiLHNlY29uZHM6XCJzZWNvbmRzXCIsbWludXRlOlwibWludXRlXCIsbWludXRlczpcIm1pbnV0ZXNcIixob3VyOlwiaG91clwiLGhvdXJzOlwiaG91cnNcIixkYXk6XCJkYXlcIixkYXlzOlwiZGF5c1wiLG1vbnRoOlwibW9udGhcIixtb250aHM6XCJtb250aHNcIix5ZWFyOlwieWVhclwiLHllYXJzOlwieWVhcnNcIn07ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIHllW2VdfHxcIlwifWxldCBiZT1cInBhc3RcIixrZT1cImZ1dHVyZVwiLHdlPVwicHJlc2VudFwiLHZlPVwibm93XCIsemU9XCJhbG1vc3RcIixfZT1cIm92ZXJcIiwkZT1lPT5gJHtlfSBhZ29gLGplPWU9PmBpbiAke2V9YDtmdW5jdGlvbiBPZShlKXtyZXR1cm4gJGUoZSl9ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIGplKGUpfWZ1bmN0aW9uIE1lKCl7cmV0dXJuIHZlfWNvbnN0IFNlPXttb250aHM6e2FsbW9zdDoxMCxvdmVyOjR9LGRheXM6e2FsbW9zdDoyNSxvdmVyOjEwfSxob3Vyczp7YWxtb3N0OjIwLG92ZXI6OH0sbWludXRlczp7YWxtb3N0OjUwLG92ZXI6MjB9LHNlY29uZHM6e2FsbW9zdDo1MCxvdmVyOjIwfX07ZnVuY3Rpb24gcWUoZSx0KXtyZXR1cm4gMT09PWU/ZStcIiBcIitnZSh0LnNsaWNlKDAsLTEpKTplK1wiIFwiK2dlKHQpfWNvbnN0IE5lPWZ1bmN0aW9uKGUpe2xldCB0PW51bGwsbj1udWxsO2NvbnN0IHI9W10sYT1bXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgobyxzLGkpPT57Y29uc3QgdT1NYXRoLmFicyhlW29dKTtpZigwPT09dSlyZXR1cm47ci5wdXNoKHUrb1swXSk7Y29uc3QgYz1xZSh1LG8pO2lmKGEucHVzaChjKSwhdCl7aWYodD1jLG49YyxzPjQpcmV0dXJuO2NvbnN0IHI9aVtzKzFdLGE9TWF0aC5hYnMoZVtyXSk7YT5TZVtyXS5hbG1vc3Q/KHQ9cWUodSsxLG8pLG49emUrXCIgXCIrdCk6YT5TZVtyXS5vdmVyJiYobj1fZStcIiBcIitjKX19KSx7cXVhbGlmaWVkOm4scm91bmRlZDp0LGFiYnJldmlhdGVkOnIsZW5nbGlzaFZhbHVlczphfX0sSWU9KGUsdCk9Pntjb25zdCBuPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmlzQmVmb3JlKHQpLHI9bj90OmU7bGV0IGE9bj9lOnQ7YT1hLmNsb25lKCk7Y29uc3Qgbz17eWVhcnM6MCxtb250aHM6MCxkYXlzOjAsaG91cnM6MCxtaW51dGVzOjAsc2Vjb25kczowfTtyZXR1cm4gT2JqZWN0LmtleXMobykuZm9yRWFjaChlPT57aWYoYS5pc1NhbWUocixlKSlyZXR1cm47Y29uc3QgdD1hLmRpZmYocixlKTthPWEuYWRkKHQsZSksb1tlXT10fSksbiYmT2JqZWN0LmtleXMobykuZm9yRWFjaChlPT57MCE9PW9bZV0mJihvW2VdKj0tMSl9KSxvfShlLHQ9dih0LGUpKTtpZighMD09PU9iamVjdC5rZXlzKG4pLmV2ZXJ5KGU9PiFuW2VdKSlyZXR1cm57ZGlmZjpuLHJvdW5kZWQ6TWUoKSxxdWFsaWZpZWQ6TWUoKSxwcmVjaXNlOk1lKCksYWJicmV2aWF0ZWQ6W10saXNvOlwiUDBZME0wRFQwSDBNMFNcIixkaXJlY3Rpb246d2V9O2xldCByLGE9a2Use3JvdW5kZWQ6byxxdWFsaWZpZWQ6c309TmUobik7Y29uc3R7ZW5nbGlzaFZhbHVlczppLGFiYnJldmlhdGVkOnV9PU5lKG4pO3I9aS5zcGxpY2UoMCwyKS5qb2luKFwiLCBcIiksITA9PT1lLmlzQWZ0ZXIodCk/KG89T2Uobykscz1PZShzKSxyPU9lKHIpLGE9YmUpOihvPURlKG8pLHM9RGUocykscj1EZShyKSk7Y29uc3QgYz1mdW5jdGlvbihlKXtsZXQgdD1cIlBcIjtyZXR1cm4gdCs9cGUoZS55ZWFycykrXCJZXCIsdCs9cGUoZS5tb250aHMpK1wiTVwiLHQrPXBlKGUuZGF5cykrXCJEVFwiLHQrPXBlKGUuaG91cnMpK1wiSFwiLHQrPXBlKGUubWludXRlcykrXCJNXCIsdCs9cGUoZS5zZWNvbmRzKStcIlNcIix0fShuKTtyZXR1cm57ZGlmZjpuLHJvdW5kZWQ6byxxdWFsaWZpZWQ6cyxwcmVjaXNlOnIsYWJicmV2aWF0ZWQ6dSxpc286YyxkaXJlY3Rpb246YX19O3ZhciBUZT17bm9ydGg6W1tcInNwcmluZ1wiLDIsMV0sW1wic3VtbWVyXCIsNSwxXSxbXCJmYWxsXCIsOCwxXSxbXCJhdXR1bW5cIiw4LDFdLFtcIndpbnRlclwiLDExLDFdXSxzb3V0aDpbW1wiZmFsbFwiLDIsMV0sW1wiYXV0dW1uXCIsMiwxXSxbXCJ3aW50ZXJcIiw1LDFdLFtcInNwcmluZ1wiLDgsMV0sW1wic3VtbWVyXCIsMTEsMV1dfSxDZT1bbnVsbCxbMCwxXSxbMywxXSxbNiwxXSxbOSwxXV07Y29uc3QgRWU9e3NlY29uZDplPT4oTihlLHttaWxsaXNlY29uZDowfSksZSksbWludXRlOmU9PihOKGUse3NlY29uZDowLG1pbGxpc2Vjb25kOjB9KSxlKSxxdWFydGVyaG91cjplPT57Y29uc3QgdD1lLm1pbnV0ZXMoKTtyZXR1cm4gZT10Pj00NT9lLm1pbnV0ZXMoNDUpOnQ+PTMwP2UubWludXRlcygzMCk6dD49MTU/ZS5taW51dGVzKDE1KTplLm1pbnV0ZXMoMCksTihlLHtzZWNvbmQ6MCxtaWxsaXNlY29uZDowfSksZX0saG91cjplPT4oTihlLHttaW51dGU6MCxzZWNvbmQ6MCxtaWxsaXNlY29uZDowfSksZSksZGF5OmU9PihOKGUse2hvdXI6MCxtaW51dGU6MCxzZWNvbmQ6MCxtaWxsaXNlY29uZDowfSksZSksd2VlazplPT57Y29uc3QgdD1lLmNsb25lKCk7cmV0dXJuKGU9ZS5kYXkoZS5fd2Vla1N0YXJ0KSkuaXNBZnRlcih0KSYmKGU9ZS5zdWJ0cmFjdCgxLFwid2Vla1wiKSksTihlLHtob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0pLGV9LG1vbnRoOmU9PihOKGUse2RhdGU6MSxob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0pLGUpLHF1YXJ0ZXI6ZT0+e2NvbnN0IHQ9ZS5xdWFydGVyKCk7cmV0dXJuIENlW3RdJiZOKGUse21vbnRoOkNlW3RdWzBdLGRhdGU6Q2VbdF1bMV0saG91cjowLG1pbnV0ZTowLHNlY29uZDowLG1pbGxpc2Vjb25kOjB9KSxlfSxzZWFzb246ZT0+e2NvbnN0IHQ9ZS5zZWFzb24oKTtsZXQgbj1cIm5vcnRoXCI7XCJTb3V0aFwiPT09ZS5oZW1pc3BoZXJlKCkmJihuPVwic291dGhcIik7Zm9yKGxldCByPTA7cjxUZVtuXS5sZW5ndGg7cisrKWlmKFRlW25dW3JdWzBdPT09dCl7bGV0IGE9ZS55ZWFyKCk7cmV0dXJuXCJ3aW50ZXJcIj09PXQmJmUubW9udGgoKTwzJiYoYS09MSksTihlLHt5ZWFyOmEsbW9udGg6VGVbbl1bcl1bMV0sZGF0ZTpUZVtuXVtyXVsyXSxob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0pLGV9cmV0dXJuIGV9LHllYXI6ZT0+KE4oZSx7bW9udGg6MCxkYXRlOjEsaG91cjowLG1pbnV0ZTowLHNlY29uZDowLG1pbGxpc2Vjb25kOjB9KSxlKSxkZWNhZGU6ZT0+e2NvbnN0IHQ9KGU9ZS5zdGFydE9mKFwieWVhclwiKSkueWVhcigpLG49MTAqcGFyc2VJbnQodC8xMCwxMCk7cmV0dXJuIGU9ZS55ZWFyKG4pfSxjZW50dXJ5OmU9Pntjb25zdCB0PShlPWUuc3RhcnRPZihcInllYXJcIikpLnllYXIoKSxuPTEwMCpwYXJzZUludCh0LzEwMCwxMCk7cmV0dXJuIGU9ZS55ZWFyKG4pfX07RWUuZGF0ZT1FZS5kYXk7Y29uc3QgQWU9ZnVuY3Rpb24oZSx0LG4scj0xKXtpZighdHx8IW4pcmV0dXJuW107aWYodD1rKHQpLG49ZS5jbG9uZSgpLnNldChuKSxlLmlzQWZ0ZXIobikpe2NvbnN0IHQ9ZTtlPW4sbj10fWlmKGUuZGlmZihuLHQpPHIpcmV0dXJuW107bGV0IGE9ZS5jbG9uZSgpO2lmKGZ1bmN0aW9uKGUpe3JldHVybiEhWCgpLmZpbmQodD0+dD09PWUpfHwhIWVlKCkuZmluZCh0PT50PT09ZSl9KHQpKWE9YS5uZXh0KHQpLHQ9XCJ3ZWVrXCI7ZWxzZXthLnN0YXJ0T2YodCkuaXNCZWZvcmUoZSkmJihhPWEubmV4dCh0KSl9Y29uc3Qgbz1bXTtmb3IoO2EuaXNCZWZvcmUobik7KW8ucHVzaChhKSxhPWEuYWRkKHIsdCk7cmV0dXJuIG99LHhlPWU9Pntjb25zdCBuPWUudGltZXpvbmVzO2xldCByPWUudHo7aWYoITE9PT1uLmhhc093blByb3BlcnR5KHIpJiYocj1tKGUudHosbikpLG51bGw9PT1yKXJldHVybiExPT09ZS5zaWxlbnQmJmNvbnNvbGUud2FybihcIldhcm46IGNvdWxkIG5vdCBmaW5kIGdpdmVuIG9yIGxvY2FsIHRpbWV6b25lIC0gJ1wiK2UudHorXCInXCIpLHtjdXJyZW50OntlcG9jaFNoaWZ0OjB9fTtjb25zdCBhPW5bcl0sbz17bmFtZToocz1yLFwiVXRjXCI9PT0ocz0ocz0ocz0ocz0ocz0ocz0ocz0ocz1zWzBdLnRvVXBwZXJDYXNlKCkrcy5zdWJzdHIoMSkpLnJlcGxhY2UoL1svXy1dKFthLXpdKS9naSxlPT5lLnRvVXBwZXJDYXNlKCkpKS5yZXBsYWNlKC9fKG9mfGVzKV8vaSxlPT5lLnRvTG93ZXJDYXNlKCkpKS5yZXBsYWNlKC9cXC9nbXQvaSxcIi9HTVRcIikpLnJlcGxhY2UoL1xcL3V0Yy9pLFwiL1VUQ1wiKSkucmVwbGFjZSgvXFwvRHVtb250ZHVydmlsbGUkL2ksXCIvRHVtb250RFVydmlsbGVcIikpLnJlcGxhY2UoL1xcL01jbXVyZG8kL2ksXCIvTWNNdXJkb1wiKSkucmVwbGFjZSgvXFwvUG9ydC1hdS1wcmluY2UkL2ksXCIvUG9ydC1hdS1QcmluY2VcIikpJiYocz1cIlVUQ1wiKSxzKSxoYXNEc3Q6Qm9vbGVhbihhLmRzdCksZGVmYXVsdF9vZmZzZXQ6YS5vZmZzZXQsaGVtaXNwaGVyZTpcInNcIj09PWEuaGVtP1wiU291dGhcIjpcIk5vcnRoXCIsY3VycmVudDp7fX07dmFyIHMsaTtpZihvLmhhc0RzdCl7Y29uc3QgZT0oaT1hLmRzdCk/aS5zcGxpdChcIi0+XCIpOltdO28uY2hhbmdlPXtzdGFydDplWzBdLGJhY2s6ZVsxXX19Y29uc3QgdT1hLm9mZnNldDtsZXQgYz11O3JldHVybiEwPT09by5oYXNEc3QmJihjPVwiTm9ydGhcIj09PW8uaGVtaXNwaGVyZT91LTE6YS5vZmZzZXQrMSksITE9PT1vLmhhc0RzdD8oby5jdXJyZW50Lm9mZnNldD11LG8uY3VycmVudC5pc0RTVD0hMSk6ITA9PT10KGUuZXBvY2gsby5jaGFuZ2Uuc3RhcnQsby5jaGFuZ2UuYmFjayx1LGMpPyhvLmN1cnJlbnQub2Zmc2V0PXUsby5jdXJyZW50LmlzRFNUPVwiTm9ydGhcIj09PW8uaGVtaXNwaGVyZSk6KG8uY3VycmVudC5vZmZzZXQ9YyxvLmN1cnJlbnQuaXNEU1Q9XCJTb3V0aFwiPT09by5oZW1pc3BoZXJlKSxvfSxZZT1bXCJjZW50dXJ5XCIsXCJkZWNhZGVcIixcInllYXJcIixcIm1vbnRoXCIsXCJkYXRlXCIsXCJkYXlcIixcImhvdXJcIixcIm1pbnV0ZVwiLFwic2Vjb25kXCIsXCJtaWxsaXNlY29uZFwiXSxGZT17c2V0OmZ1bmN0aW9uKGUsdCl7bGV0IG49dGhpcy5jbG9uZSgpO3JldHVybiBuPUoobixlKSx0JiYobi50ej1tKHQsbi50aW1lem9uZXMpKSxufSx0aW1lem9uZTpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT1lKXtjb25zdCB0PXRoaXMuanNvbigpO3JldHVybiB0LnRpbWV6b25lPWUsdGhpcy5zZXQodCxlKX1yZXR1cm4geGUodGhpcyl9LGlzRFNUOmZ1bmN0aW9uKCl7cmV0dXJuIHhlKHRoaXMpLmN1cnJlbnQuaXNEU1R9LGhhc0RTVDpmdW5jdGlvbigpe3JldHVybiB4ZSh0aGlzKS5oYXNEc3R9LG9mZnNldDpmdW5jdGlvbigpe3JldHVybiA2MCp4ZSh0aGlzKS5jdXJyZW50Lm9mZnNldH0saGVtaXNwaGVyZTpmdW5jdGlvbigpe3JldHVybiB4ZSh0aGlzKS5oZW1pc3BoZXJlfSxmb3JtYXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGllKHRoaXMsZSl9LHVuaXhGbXQ6ZnVuY3Rpb24oZSl7cmV0dXJuKChlLHQpPT57bGV0IG49dC5zcGxpdChcIlwiKTtyZXR1cm4gbj1mdW5jdGlvbihlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTEpaWYoXCInXCI9PT1lW3RdKWZvcihsZXQgbj10KzE7bjxlLmxlbmd0aDtuKz0xKXtpZihlW25dJiYoZVt0XSs9ZVtuXSksXCInXCI9PT1lW25dKXtlW25dPW51bGw7YnJlYWt9ZVtuXT1udWxsfXJldHVybiBlLmZpbHRlcihlPT5lKX0obiksbj1mdW5jdGlvbihlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTEpe2NvbnN0IG49ZVt0XTtmb3IobGV0IHI9dCsxO3I8ZS5sZW5ndGgmJmVbcl09PT1uO3IrPTEpZVt0XSs9ZVtyXSxlW3JdPW51bGx9cmV0dXJuKGU9ZS5maWx0ZXIoZT0+ZSkpLm1hcChlPT4oXCInJ1wiPT09ZSYmKGU9XCInXCIpLGUpKX0obiksbi5yZWR1Y2UoKHQsbik9Pih2b2lkIDAhPT11ZVtuXT90Kz11ZVtuXShlKXx8XCJcIjooL14nLisnJC8udGVzdChuKSYmKG49bi5yZXBsYWNlKC8nL2csXCJcIikpLHQrPW4pLHQpLFwiXCIpfSkodGhpcyxlKX0sc3RhcnRPZjpmdW5jdGlvbihlKXtyZXR1cm4oKGUsdCk9PntsZXQgbj1lLmNsb25lKCk7cmV0dXJuIHQ9ayh0KSxFZVt0XT9FZVt0XShuKTpcInN1bW1lclwiPT09dHx8XCJ3aW50ZXJcIj09PXQ/KG49bi5zZWFzb24odCksRWUuc2Vhc29uKG4pKTpufSkodGhpcyxlKX0sZW5kT2Y6ZnVuY3Rpb24oZSl7cmV0dXJuKChlLHQpPT57bGV0IG49ZS5jbG9uZSgpO3JldHVybiB0PWsodCksRWVbdF0/KG49RWVbdF0obiksbj1uLmFkZCgxLHQpLG49bi5zdWJ0cmFjdCgxLFwibWlsbGlzZWNvbmRcIiksbik6bn0pKHRoaXMsZSl9LGxlYXBZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIGQodGhpcy55ZWFyKCkpfSxwcm9ncmVzczpmdW5jdGlvbihlKXtyZXR1cm4oKGUsdCk9PntpZih0KXJldHVybiB0PWsodCksbGUoZSx0KTtjb25zdCBuPXt9O3JldHVybiBoZS5mb3JFYWNoKHQ9PntuW3RdPWxlKGUsdCl9KSxufSkodGhpcyxlKX0sbmVhcmVzdDpmdW5jdGlvbihlKXtyZXR1cm4oKGUsdCk9Pntjb25zdCBuPWUucHJvZ3Jlc3MoKTtyZXR1cm5cInF1YXJ0ZXJob3VyXCI9PT0odD1rKHQpKSYmKHQ9XCJxdWFydGVySG91clwiKSx2b2lkIDAhPT1uW3RdPyhuW3RdPi41JiYoZT1lLmFkZCgxLHQpKSxlPWUuc3RhcnRPZih0KSk6ITE9PT1lLnNpbGVudCYmY29uc29sZS53YXJuKFwibm8ga25vd24gdW5pdCAnXCIrdCtcIidcIiksZX0pKHRoaXMsZSl9LGRpZmY6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZmUodGhpcyxlLHQpfSxzaW5jZTpmdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9dGhpcy5jbG9uZSgpLnNldCgpKSxJZSh0aGlzLGUpfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFkZCgxLGUpLnN0YXJ0T2YoZSl9LGxhc3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuc3VidHJhY3QoMSxlKS5zdGFydE9mKGUpfSxpc1ZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5lcG9jaCYmMCE9PXRoaXMuZXBvY2gpJiYhaXNOYU4odGhpcy5kLmdldFRpbWUoKSl9LGdvdG86ZnVuY3Rpb24oZSl7Y29uc3QgdD10aGlzLmNsb25lKCk7cmV0dXJuIHQudHo9bShlLHQudGltZXpvbmVzKSx0fSxldmVyeTpmdW5jdGlvbihlLHQsbil7aWYoXCJvYmplY3RcIj09dHlwZW9mIGUmJlwic3RyaW5nXCI9PXR5cGVvZiB0KXtjb25zdCBuPXQ7dD1lLGU9bn1yZXR1cm4gQWUodGhpcyxlLHQsbil9LGlzQXdha2U6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMuaG91cigpO3JldHVybiEoZTw4fHxlPjIyKX0saXNBc2xlZXA6ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0F3YWtlKCl9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMubW9udGgoKSl7Y2FzZSAwOmNhc2UgMjpjYXNlIDQ6Y2FzZSA2OmNhc2UgNzpjYXNlIDk6Y2FzZSAxMTpyZXR1cm4gMzE7Y2FzZSAxOnJldHVybiB0aGlzLmxlYXBZZWFyKCk/Mjk6Mjg7Y2FzZSAzOmNhc2UgNTpjYXNlIDg6Y2FzZSAxMDpyZXR1cm4gMzA7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIE1vbnRoIHN0YXRlLlwiKX19LGxvZzpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLmxvZyhcIlwiKSxjb25zb2xlLmxvZyhpZSh0aGlzLFwibmljZS1zaG9ydFwiKSksdGhpc30sbG9nWWVhcjpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLmxvZyhcIlwiKSxjb25zb2xlLmxvZyhpZSh0aGlzLFwiZnVsbC1zaG9ydFwiKSksdGhpc30sanNvbjpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT1lKXtsZXQgdD10aGlzLmNsb25lKCk7ZS50aW1lem9uZSYmKHQudHo9ZS50aW1lem9uZSk7Zm9yKGxldCBuPTA7bjxZZS5sZW5ndGg7bisrKXtjb25zdCByPVllW25dO3ZvaWQgMCE9PWVbcl0mJih0PXRbcl0oZVtyXSkpfXJldHVybiB0fWNvbnN0IHQ9WWUucmVkdWNlKChlLHQpPT4oZVt0XT10aGlzW3RdKCksZSkse30pO3JldHVybiB0Lm9mZnNldD10aGlzLnRpbWV6b25lKCkuY3VycmVudC5vZmZzZXQsdC50aW1lem9uZT10aGlzLnR6LHR9LGRlYnVnOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLnRpbWV6b25lKCk7bGV0IHQ9dGhpcy5mb3JtYXQoXCJNTVwiKStcIiBcIit0aGlzLmZvcm1hdChcImRhdGUtb3JkaW5hbFwiKStcIiBcIit0aGlzLnllYXIoKTtyZXR1cm4gdCs9XCJcXG4gICAgIC0gXCIrdGhpcy5mb3JtYXQoXCJ0aW1lXCIpLGNvbnNvbGUubG9nKFwiXFxuXFxuXCIsdCtcIlxcbiAgICAgLSBcIitlLm5hbWUrXCIgKFwiK2UuY3VycmVudC5vZmZzZXQrXCIpXCIpLHRoaXN9LGZyb206ZnVuY3Rpb24oZSl7cmV0dXJuKGU9dGhpcy5jbG9uZSgpLnNldChlKSkuc2luY2UodGhpcyl9LGZyb21Ob3c6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLnNldChEYXRlLm5vdygpKS5zaW5jZSh0aGlzKX0sd2Vla1N0YXJ0OmZ1bmN0aW9uKGUpe2lmKFwibnVtYmVyXCI9PXR5cGVvZiBlKXJldHVybiB0aGlzLl93ZWVrU3RhcnQ9ZSx0aGlzO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXtlPWUudG9Mb3dlckNhc2UoKS50cmltKCk7bGV0IHQ9WCgpLmluZGV4T2YoZSk7LTE9PT10JiYodD1lZSgpLmluZGV4T2YoZSkpLC0xPT09dCYmKHQ9MSksdGhpcy5fd2Vla1N0YXJ0PXR9ZWxzZSBjb25zb2xlLndhcm4oXCJTcGFjZXRpbWUgRXJyb3I6IENhbm5vdCB1bmRlcnN0YW5kIC53ZWVrU3RhcnQoKSBpbnB1dDpcIixlKTtyZXR1cm4gdGhpc319O0ZlLmluRFNUPUZlLmlzRFNULEZlLnJvdW5kPUZlLm5lYXJlc3QsRmUuZWFjaD1GZS5ldmVyeTtjb25zdCBQZT1lPT4oXCJzdHJpbmdcIj09dHlwZW9mIGUmJihlPXBhcnNlSW50KGUsMTApKSxlKSxMZT1bXCJ5ZWFyXCIsXCJtb250aFwiLFwiZGF0ZVwiLFwiaG91clwiLFwibWludXRlXCIsXCJzZWNvbmRcIixcIm1pbGxpc2Vjb25kXCJdLFVlPShlLHQsbik9Pntjb25zdCByPUxlLmluZGV4T2YobiksYT1MZS5zbGljZShyLExlLmxlbmd0aCk7Zm9yKGxldCBuPTA7bjxhLmxlbmd0aDtuKyspe2NvbnN0IHI9dFthW25dXSgpO2VbYVtuXV0ocil9cmV0dXJuIGV9LEJlPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiEwPT09biYmZS5pc0JlZm9yZSh0KT9lPWUuYWRkKDEscik6ITE9PT1uJiZlLmlzQWZ0ZXIodCkmJihlPWUubWludXMoMSxyKSksZX0sSGU9ZnVuY3Rpb24oZSx0LG4pe3Q9UGUodCk7Y29uc3Qgcj1lLmNsb25lKCksYT0oZS5taW51dGUoKS10KSpNLm1pbnV0ZTtyZXR1cm4gZS5lcG9jaC09YSxVZShlLHIsXCJzZWNvbmRcIiksKGU9QmUoZSxyLG4sXCJob3VyXCIpKS5lcG9jaH0sWmU9ZnVuY3Rpb24oZSx0LG4peyh0PVBlKHQpKT49MjQ/dD0yNDp0PDAmJih0PTApO2NvbnN0IHI9ZS5jbG9uZSgpO2xldCBhPWUuaG91cigpLXQsbz1hKk0uaG91cjtyZXR1cm4gZS5lcG9jaC09byxlLmRhdGUoKSE9PXIuZGF0ZSgpJiYoZT1yLmNsb25lKCksYT4xJiYoYS09MSksYTwxJiYoYSs9MSksbz1hKk0uaG91cixlLmVwb2NoLT1vKSxOKGUse2hvdXI6dH0pLFVlKGUscixcIm1pbnV0ZVwiKSwoZT1CZShlLHIsbixcImRheVwiKSkuZXBvY2h9LFFlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHQmJi9eJ1swLTldezJ9JC8udGVzdCh0KSYmKHQ9dC5yZXBsYWNlKC8nLyxcIlwiKS50cmltKCksdD0odD1OdW1iZXIodCkpPjMwPzE5MDArdDoyZTMrdCksdD1QZSh0KSxOKGUse3llYXI6dH0pLGUuZXBvY2h9LEdlPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPWUuY2xvbmUoKTtyZXR1cm4gMT09PSh0PVBlKHQpKSYmXCJkZWNlbWJlclwiPT09ZS5tb250aE5hbWUoKSYmZS5kYXRlKCk+PTI5JiYxPT09ZS53ZWVrKCk/ZTooXCJkZWNlbWJlclwiPT09KGU9KGU9KGU9ZS5tb250aCgwKSkuZGF0ZSgxKSkuZGF5KFwibW9uZGF5XCIsITEpKS5tb250aE5hbWUoKSYmZS5kYXRlKCk8MjkmJihlPWUuYWRkKDEsXCJ3ZWVrXCIpKSx0LT0xLGU9ZS5hZGQodCxcIndlZWtzXCIpLGU9QmUoZSxyLG4sXCJ5ZWFyXCIpKX07bGV0IFZlPVwiYW1cIixXZT1cInBtXCI7Y29uc3QgSmU9e21pbGxpc2Vjb25kOmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpe2NvbnN0IHQ9dGhpcy5jbG9uZSgpO3JldHVybiB0LmVwb2NoPWZ1bmN0aW9uKGUsdCl7dD1QZSh0KTtjb25zdCBuPWUubWlsbGlzZWNvbmQoKS10O3JldHVybiBlLmVwb2NoLW59KHQsZSksdH1yZXR1cm4gdGhpcy5kLmdldE1pbGxpc2Vjb25kcygpfSxzZWNvbmQ6ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT1lKXtjb25zdCBuPXRoaXMuY2xvbmUoKTtyZXR1cm4gbi5lcG9jaD1mdW5jdGlvbihlLHQsbil7dD1QZSh0KTtjb25zdCByPWUuY2xvbmUoKSxhPShlLnNlY29uZCgpLXQpKk0uc2Vjb25kO3JldHVybiBlLmVwb2NoPWUuZXBvY2gtYSwoZT1CZShlLHIsbixcIm1pbnV0ZVwiKSkuZXBvY2h9KG4sZSx0KSxufXJldHVybiB0aGlzLmQuZ2V0U2Vjb25kcygpfSxtaW51dGU6ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT1lKXtjb25zdCBuPXRoaXMuY2xvbmUoKTtyZXR1cm4gbi5lcG9jaD1IZShuLGUsdCksbn1yZXR1cm4gdGhpcy5kLmdldE1pbnV0ZXMoKX0saG91cjpmdW5jdGlvbihlLHQpe2NvbnN0IG49dGhpcy5kO2lmKHZvaWQgMCE9PWUpe2NvbnN0IG49dGhpcy5jbG9uZSgpO3JldHVybiBuLmVwb2NoPVplKG4sZSx0KSxufXJldHVybiBuLmdldEhvdXJzKCl9LGhvdXJGbG9hdDpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PWUpe2NvbnN0IG49dGhpcy5jbG9uZSgpO2xldCByPWUlMTtyKj02MDtjb25zdCBhPXBhcnNlSW50KGUsMTApO3JldHVybiBuLmVwb2NoPVplKG4sYSx0KSxuLmVwb2NoPUhlKG4scix0KSxufWNvbnN0IG49dGhpcy5kLHI9bi5nZXRIb3VycygpO2xldCBhPW4uZ2V0TWludXRlcygpO3JldHVybiBhLz02MCxyK2F9LGhvdXIxMjpmdW5jdGlvbihlLHQpe2NvbnN0IG49dGhpcy5kO2lmKHZvaWQgMCE9PWUpe2NvbnN0IG49dGhpcy5jbG9uZSgpLHI9KGU9XCJcIitlKS5tYXRjaCgvXihbMC05XSspKGFtfHBtKSQvKTtpZihyKXtsZXQgZT1wYXJzZUludChyWzFdLDEwKTtcInBtXCI9PT1yWzJdJiYoZSs9MTIpLG4uZXBvY2g9WmUobixlLHQpfXJldHVybiBufWxldCByPW4uZ2V0SG91cnMoKTtyZXR1cm4gcj4xMiYmKHItPTEyKSwwPT09ciYmKHI9MTIpLHJ9LHRpbWU6ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT1lKXtjb25zdCBuPXRoaXMuY2xvbmUoKTtyZXR1cm4gZT1lLnRvTG93ZXJDYXNlKCkudHJpbSgpLG4uZXBvY2g9ZnVuY3Rpb24oZSx0LG4pe2xldCByPXQubWF0Y2goLyhbMC05XXsxLDJ9KVs6aF0oWzAtOV17MSwyfSkoOlswLTldezEsMn0pPyA/KGFtfHBtKT8vKTtpZighcil7aWYocj10Lm1hdGNoKC8oWzAtOV17MSwyfSkgPyhhbXxwbSkvKSwhcilyZXR1cm4gbnVsbDtyLnNwbGljZSgyLDAsXCIwXCIpLHIuc3BsaWNlKDMsMCxcIlwiKX1sZXQgYT0hMSxvPXBhcnNlSW50KHJbMV0sMTApLHM9cGFyc2VJbnQoclsyXSwxMCk7cz49NjAmJihzPTU5KSxvPjEyJiYoYT0hMCksITE9PT1hJiYoXCJhbVwiPT09cls0XSYmMTI9PT1vJiYobz0wKSxcInBtXCI9PT1yWzRdJiZvPDEyJiYobys9MTIpKSxyWzNdPXJbM118fFwiXCIsclszXT1yWzNdLnJlcGxhY2UoLzovLFwiXCIpO2NvbnN0IGk9cGFyc2VJbnQoclszXSwxMCl8fDAsdT1lLmNsb25lKCk7cmV0dXJuIGU9KGU9KGU9KGU9ZS5ob3VyKG8pKS5taW51dGUocykpLnNlY29uZChpKSkubWlsbGlzZWNvbmQoMCksKGU9QmUoZSx1LG4sXCJkYXlcIikpLmVwb2NofShuLGUsdCksbn1yZXR1cm5gJHt0aGlzLmgxMigpfToke3kodGhpcy5taW51dGUoKSl9JHt0aGlzLmFtcG0oKX1gfSxhbXBtOmZ1bmN0aW9uKGUsdCl7bGV0IG49VmUscj10aGlzLmhvdXIoKTtpZihyPj0xMiYmKG49V2UpLFwic3RyaW5nXCIhPXR5cGVvZiBlKXJldHVybiBuO2NvbnN0IGE9dGhpcy5jbG9uZSgpO3JldHVybiBlPWUudG9Mb3dlckNhc2UoKS50cmltKCkscj49MTImJlwiYW1cIj09PWU/KHItPTEyLGEuaG91cihyLHQpKTpyPDEyJiZcInBtXCI9PT1lPyhyKz0xMixhLmhvdXIocix0KSk6YX0sZGF5VGltZTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PWUpe2NvbnN0IG49e21vcm5pbmc6XCI3OjAwXCIsYnJlYWtmYXN0OlwiNzowMFwiLG5vb246XCIxMjowMFwiLGx1bmNoOlwiMTI6MDBcIixhZnRlcm5vb246XCIxNDowMFwiLGV2ZW5pbmc6XCIxODowMFwiLGRpbm5lcjpcIjE4OjAwXCIsbmlnaHQ6XCIyMzowMFwiLG1pZG5pZ2h0OlwiMDA6MDBcIn07bGV0IHI9dGhpcy5jbG9uZSgpO3JldHVybiBlPShlPWV8fFwiXCIpLnRvTG93ZXJDYXNlKCksITA9PT1uLmhhc093blByb3BlcnR5KGUpJiYocj1yLnRpbWUobltlXSx0KSkscn1jb25zdCBuPXRoaXMuaG91cigpO3JldHVybiBuPDY/XCJuaWdodFwiOm48MTI/XCJtb3JuaW5nXCI6bjwxNz9cImFmdGVybm9vblwiOm48MjI/XCJldmVuaW5nXCI6XCJuaWdodFwifSxpc286ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PWU/dGhpcy5zZXQoZSk6dGhpcy5mb3JtYXQoXCJpc29cIil9LGlzb0Z1bGw6ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PWU/dGhpcy5zZXQoZSk6dGhpcy5mb3JtYXQoXCJpc28tZnVsbFwiKX0sZXBvY2hTZWNvbmRzOmZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDAhPT1lPyh0aGlzLmVwb2NoPTFlMyplLHRoaXMpOk1hdGguZmxvb3IodGhpcy5lcG9jaC8xZTMpfX0sS2U9e2RhdGU6ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT1lKXtjb25zdCBuPXRoaXMuY2xvbmUoKTtyZXR1cm4oZT1wYXJzZUludChlLDEwKSkmJihuLmVwb2NoPWZ1bmN0aW9uKGUsdCxuKXtpZigodD1QZSh0KSk+Mjgpe2NvbnN0IG49ZS5tb250aCgpO2xldCByPUlbbl07MT09PW4mJjI5PT09dCYmZChlLnllYXIoKSkmJihyPTI5KSx0PnImJih0PXIpfXQ8PTAmJih0PTEpO2NvbnN0IHI9ZS5jbG9uZSgpO3JldHVybiBOKGUse2RhdGU6dH0pLChlPUJlKGUscixuLFwibW9udGhcIikpLmVwb2NofShuLGUsdCkpLG59cmV0dXJuIHRoaXMuZC5nZXREYXRlKCl9LGRheTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXMuZC5nZXREYXkoKTtjb25zdCBuPXRoaXMuY2xvbmUoKTtsZXQgcj1lO1wic3RyaW5nXCI9PXR5cGVvZiBlJiYoZT1lLnRvTG93ZXJDYXNlKCksdGUuaGFzT3duUHJvcGVydHkoZSk/cj10ZVtlXToocj1YKCkuaW5kZXhPZihlKSwtMT09PXImJihyPWVlKCkuaW5kZXhPZihlKSkpKTtsZXQgYT10aGlzLmQuZ2V0RGF5KCktcjshMD09PXQmJmE+MCYmKGEtPTcpLCExPT09dCYmYTwwJiYoYSs9Nyk7Y29uc3Qgbz10aGlzLnN1YnRyYWN0KGEsXCJkYXlzXCIpO3JldHVybiBOKG8se2hvdXI6bi5ob3VyKCksbWludXRlOm4ubWludXRlKCksc2Vjb25kOm4uc2Vjb25kKCl9KSxvfSxkYXlOYW1lOmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwPT09ZSlyZXR1cm4gZWUoKVt0aGlzLmRheSgpXTtsZXQgbj10aGlzLmNsb25lKCk7cmV0dXJuIG49bi5kYXkoZSx0KSxufX0sUmU9ZT0+ZT0oZT0oZT1lLm1pbnV0ZSgwKSkuc2Vjb25kKDApKS5taWxsaXNlY29uZCgxKSxYZT1mdW5jdGlvbihlKXtpZih2b2lkIDAhPT1lKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSYmKGU9ZS5yZXBsYWNlKC8oWzAtOV0pKHRofHJkfHN0fG5kKS8sXCIkMVwiKSxlPU51bWJlcihlKSxpc05hTihlKSkpcmV0dXJuIGNvbnNvbGUud2FybihcIlNwYWNldGltZTogSW52YWxpZCBtaWxsZW5uaXVtIGlucHV0XCIpLHRoaXM7ZT4wJiYoZS09MSk7bGV0IHQ9MWUzKmU7cmV0dXJuIDA9PT10JiYodD0xKSx0aGlzLnllYXIodCl9bGV0IHQ9TWF0aC5mbG9vcih0aGlzLnllYXIoKS8xZTMpO3JldHVybiB0Pj0wJiYodCs9MSksdH0sZXQ9e2RheU9mWWVhcjpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PWUpe2NvbnN0IG49dGhpcy5jbG9uZSgpO3JldHVybiBuLmVwb2NoPWZ1bmN0aW9uKGUsdCxuKXt0PVBlKHQpO2NvbnN0IHI9ZS5jbG9uZSgpO3JldHVybih0LT0xKTw9MD90PTA6dD49MzY1JiYodD1kKGUueWVhcigpKT8zNjU6MzY0KSxlPShlPWUuc3RhcnRPZihcInllYXJcIikpLmFkZCh0LFwiZGF5XCIpLFVlKGUscixcImhvdXJcIiksKGU9QmUoZSxyLG4sXCJ5ZWFyXCIpKS5lcG9jaH0obixlLHQpLG59bGV0IG49MDtjb25zdCByPXRoaXMuZC5nZXRNb250aCgpO2xldCBhO2ZvcihsZXQgZT0xO2U8PXI7ZSsrKWE9bmV3IERhdGUsYS5zZXREYXRlKDEpLGEuc2V0RnVsbFllYXIodGhpcy5kLmdldEZ1bGxZZWFyKCkpLGEuc2V0SG91cnMoMSksYS5zZXRNaW51dGVzKDEpLGEuc2V0TW9udGgoZSksYS5zZXRIb3VycygtMiksbis9YS5nZXREYXRlKCk7cmV0dXJuIG4rdGhpcy5kLmdldERhdGUoKX0sd2VlazpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PWUpe2xldCBuPXRoaXMuY2xvbmUoKTtyZXR1cm4gbj1HZShuLGUsdCksbj1SZShuKSxufWNvbnN0IG49dGhpcy5lcG9jaDtsZXQgcj10aGlzLmNsb25lKCk7aWYoXCJkZWNlbWJlclwiPT09ci5tb250aE5hbWUoKSYmci5kYXRlKCk+PTI5KXtpZihHZShyLmFkZCgxNSxcImRheXNcIiksMSwhMSkuZXBvY2g8PXIuZXBvY2gpcmV0dXJuIDF9aWYocj1yLm1vbnRoKDApLHI9ci5kYXRlKDEpLHI9UmUocikscj1yLmRheShcIm1vbmRheVwiLCExKSxcImRlY2VtYmVyXCI9PT1yLm1vbnRoTmFtZSgpJiZyLmRhdGUoKTwyOSYmKHI9ci5hZGQoMSxcIndlZWtcIikpLHI9ci5taW51cygyLFwiaG91cnNcIiksci5lcG9jaD5uKXJldHVybiAxO2xldCBhPTA7Y29uc3Qgbz00KnRoaXMubW9udGgoKTtmb3Ioci5lcG9jaCs9TS53ZWVrKm8sYSs9bzthPD01MjthKyspe2lmKHIuZXBvY2g+bilyZXR1cm4gYTtyPXIuYWRkKDEsXCJ3ZWVrXCIpfXJldHVybiA1Mn0sbW9udGg6ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT1lKXtjb25zdCBuPXRoaXMuY2xvbmUoKTtyZXR1cm4gbi5lcG9jaD1mdW5jdGlvbihlLHQsbil7XCJzdHJpbmdcIj09dHlwZW9mIHQmJihcInNlcHRcIj09PXQmJih0PVwic2VwXCIpLHQ9QSgpW3QudG9Mb3dlckNhc2UoKV0pLCh0PVBlKHQpKT49MTImJih0PTExKSx0PD0wJiYodD0wKTtsZXQgcj1lLmRhdGUoKTtyPklbdF0mJihyPUlbdF0pO2NvbnN0IGE9ZS5jbG9uZSgpO3JldHVybiBOKGUse21vbnRoOnQsZDpyfSksKGU9QmUoZSxhLG4sXCJ5ZWFyXCIpKS5lcG9jaH0obixlLHQpLG59cmV0dXJuIHRoaXMuZC5nZXRNb250aCgpfSxtb250aE5hbWU6ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT1lKXtsZXQgbj10aGlzLmNsb25lKCk7cmV0dXJuIG49bi5tb250aChlLHQpLG59cmV0dXJuIENbdGhpcy5tb250aCgpXX0scXVhcnRlcjpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PWUmJihcInN0cmluZ1wiPT10eXBlb2YgZSYmKGU9ZS5yZXBsYWNlKC9ecS9pLFwiXCIpLGU9cGFyc2VJbnQoZSwxMCkpLENlW2VdKSl7bGV0IG49dGhpcy5jbG9uZSgpO2NvbnN0IHI9Q2VbZV1bMF07cmV0dXJuIG49bi5tb250aChyLHQpLG49bi5kYXRlKDEsdCksbj1uLnN0YXJ0T2YoXCJkYXlcIiksbn1jb25zdCBuPXRoaXMuZC5nZXRNb250aCgpO2ZvcihsZXQgZT0xO2U8Q2UubGVuZ3RoO2UrKylpZihuPENlW2VdWzBdKXJldHVybiBlLTE7cmV0dXJuIDR9LHNlYXNvbjpmdW5jdGlvbihlLHQpe2xldCBuPVwibm9ydGhcIjtpZihcIlNvdXRoXCI9PT10aGlzLmhlbWlzcGhlcmUoKSYmKG49XCJzb3V0aFwiKSx2b2lkIDAhPT1lKXtsZXQgcj10aGlzLmNsb25lKCk7Zm9yKGxldCBhPTA7YTxUZVtuXS5sZW5ndGg7YSsrKWU9PT1UZVtuXVthXVswXSYmKHI9ci5tb250aChUZVtuXVthXVsxXSx0KSxyPXIuZGF0ZSgxKSxyPXIuc3RhcnRPZihcImRheVwiKSk7cmV0dXJuIHJ9Y29uc3Qgcj10aGlzLmQuZ2V0TW9udGgoKTtmb3IobGV0IGU9MDtlPFRlW25dLmxlbmd0aC0xO2UrKylpZihyPj1UZVtuXVtlXVsxXSYmcjxUZVtuXVtlKzFdWzFdKXJldHVybiBUZVtuXVtlXVswXTtyZXR1cm5cIm5vcnRoXCI9PT1uP1wid2ludGVyXCI6XCJzdW1tZXJcIn0seWVhcjpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT1lKXtjb25zdCB0PXRoaXMuY2xvbmUoKTtyZXR1cm4gdC5lcG9jaD1RZSh0LGUpLHR9cmV0dXJuIHRoaXMuZC5nZXRGdWxsWWVhcigpfSxlcmE6ZnVuY3Rpb24oZSl7aWYodm9pZCAwIT09ZSl7Y29uc3QgdD10aGlzLmNsb25lKCk7ZT1lLnRvTG93ZXJDYXNlKCk7Y29uc3Qgbj10LmQuZ2V0RnVsbFllYXIoKTtyZXR1cm5cImJjXCI9PT1lJiZuPjAmJih0LmVwb2NoPVFlKHQsLTEqbikpLFwiYWRcIj09PWUmJm48MCYmKHQuZXBvY2g9UWUodCwtMSpuKSksdH1yZXR1cm4gdGhpcy5kLmdldEZ1bGxZZWFyKCk8MD9cIkJDXCI6XCJBRFwifSxkZWNhZGU6ZnVuY3Rpb24oZSl7aWYodm9pZCAwIT09ZSl7aWYoIShlPShlPShlPVN0cmluZyhlKSkucmVwbGFjZSgvKFswLTldKSc/cyQvLFwiJDFcIikpLnJlcGxhY2UoLyhbMC05XSkodGh8cmR8c3R8bmQpLyxcIiQxXCIpKSlyZXR1cm4gY29uc29sZS53YXJuKFwiU3BhY2V0aW1lOiBJbnZhbGlkIGRlY2FkZSBpbnB1dFwiKSx0aGlzOzI9PT1lLmxlbmd0aCYmL1swLTldWzAtOV0vLnRlc3QoZSkmJihlPVwiMTlcIitlKTtsZXQgdD1OdW1iZXIoZSk7cmV0dXJuIGlzTmFOKHQpP3RoaXM6KHQ9MTAqTWF0aC5mbG9vcih0LzEwKSx0aGlzLnllYXIodCkpfXJldHVybiB0aGlzLnN0YXJ0T2YoXCJkZWNhZGVcIikueWVhcigpfSxjZW50dXJ5OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpe1wic3RyaW5nXCI9PXR5cGVvZiBlJiYoZT0oZT0oZT1lLnJlcGxhY2UoLyhbMC05XSkodGh8cmR8c3R8bmQpLyxcIiQxXCIpKS5yZXBsYWNlKC8oWzAtOV0rKSA/KGJcXC4/Y1xcLj98YVxcLj9kXFwuPykvaSwoZSx0LG4pPT4obi5tYXRjaCgvYlxcLj9jXFwuPy9pKSYmKHQ9XCItXCIrdCksdCkpKS5yZXBsYWNlKC9jJC8sXCJcIikpO2xldCB0PU51bWJlcihlKTtyZXR1cm4gaXNOYU4oZSk/KGNvbnNvbGUud2FybihcIlNwYWNldGltZTogSW52YWxpZCBjZW50dXJ5IGlucHV0XCIpLHRoaXMpOigwPT09dCYmKHQ9MSksdD10Pj0wPzEwMCoodC0xKToxMDAqKHQrMSksdGhpcy55ZWFyKHQpKX1sZXQgdD10aGlzLnN0YXJ0T2YoXCJjZW50dXJ5XCIpLnllYXIoKTtyZXR1cm4gdD1NYXRoLmZsb29yKHQvMTAwKSx0PDA/dC0xOnQrMX0sbWlsbGVuaXVtOlhlLG1pbGxlbm5pdW06WGV9LHR0PU9iamVjdC5hc3NpZ24oe30sSmUsS2UsZXQpO3R0Lm1pbGxpc2Vjb25kcz10dC5taWxsaXNlY29uZCx0dC5zZWNvbmRzPXR0LnNlY29uZCx0dC5taW51dGVzPXR0Lm1pbnV0ZSx0dC5ob3Vycz10dC5ob3VyLHR0LmhvdXIyND10dC5ob3VyLHR0LmgxMj10dC5ob3VyMTIsdHQuaDI0PXR0LmhvdXIyNCx0dC5kYXlzPXR0LmRheTtjb25zdCBudD1mdW5jdGlvbihlLHQpe3JldHVybiAxPT09ZSYmZCh0KT8yOTpJW2VdfSxydD0oZSx0KT0+e2lmKGUubW9udGg+MCl7Y29uc3Qgbj1wYXJzZUludChlLm1vbnRoLzEyLDEwKTtlLnllYXI9dC55ZWFyKCkrbixlLm1vbnRoPWUubW9udGglMTJ9ZWxzZSBpZihlLm1vbnRoPDApe2NvbnN0IG49TWF0aC5hYnMoZS5tb250aCk7bGV0IHI9cGFyc2VJbnQobi8xMiwxMCk7biUxMiE9MCYmKHIrPTEpLGUueWVhcj10LnllYXIoKS1yLGUubW9udGg9ZS5tb250aCUxMixlLm1vbnRoPWUubW9udGgrMTIsMTI9PT1lLm1vbnRoJiYoZS5tb250aD0wKX1yZXR1cm4gZX0sYXQ9KGUsdCxuKT0+e2xldCByPXQueWVhcigpLGE9dC5tb250aCgpLG89bnQoYSxyKTtmb3IoO24+bzspbi09byxhKz0xLGE+PTEyJiYoYS09MTIscis9MSksbz1udChhLHIpO3JldHVybiBlLm1vbnRoPWEsZS5kYXRlPW4sZX0sb3Q9KGUsdCxuKT0+e2UueWVhcj10LnllYXIoKSxlLm1vbnRoPXQubW9udGgoKTtjb25zdCByPXQuZGF0ZSgpO2ZvcihlLmRhdGU9ci1NYXRoLmFicyhuKTtlLmRhdGU8MTspe2UubW9udGgtPTEsZS5tb250aDwwJiYoZS5tb250aD0xMSxlLnllYXItPTEpO2NvbnN0IHQ9bnQoZS5tb250aCxlLnllYXIpO2UuZGF0ZSs9dH1yZXR1cm4gZX0sc3Q9W1wibWlsbGlzZWNvbmRcIixcInNlY29uZFwiLFwibWludXRlXCIsXCJob3VyXCIsXCJkYXRlXCIsXCJtb250aFwiXSxpdD17c2Vjb25kOnN0LnNsaWNlKDAsMSksbWludXRlOnN0LnNsaWNlKDAsMikscXVhcnRlcmhvdXI6c3Quc2xpY2UoMCwyKSxob3VyOnN0LnNsaWNlKDAsMyksZGF0ZTpzdC5zbGljZSgwLDQpLG1vbnRoOnN0LnNsaWNlKDAsNCkscXVhcnRlcjpzdC5zbGljZSgwLDQpLHNlYXNvbjpzdC5zbGljZSgwLDQpLHllYXI6c3QsZGVjYWRlOnN0LGNlbnR1cnk6c3R9O2l0LndlZWs9aXQuaG91cixpdC5zZWFzb249aXQuZGF0ZSxpdC5xdWFydGVyPWl0LmRhdGU7Y29uc3QgdXQ9e3llYXI6ITAscXVhcnRlcjohMCxzZWFzb246ITAsbW9udGg6ITAsd2VlazohMCxkYXRlOiEwfSxjdD17bW9udGg6ITAscXVhcnRlcjohMCxzZWFzb246ITAseWVhcjohMH0saHQ9e21pbGxpc2Vjb25kOmU9PmUuZXBvY2gsc2Vjb25kOmU9PltlLnllYXIoKSxlLm1vbnRoKCksZS5kYXRlKCksZS5ob3VyKCksZS5taW51dGUoKSxlLnNlY29uZCgpXS5qb2luKFwiLVwiKSxtaW51dGU6ZT0+W2UueWVhcigpLGUubW9udGgoKSxlLmRhdGUoKSxlLmhvdXIoKSxlLm1pbnV0ZSgpXS5qb2luKFwiLVwiKSxob3VyOmU9PltlLnllYXIoKSxlLm1vbnRoKCksZS5kYXRlKCksZS5ob3VyKCldLmpvaW4oXCItXCIpLGRheTplPT5bZS55ZWFyKCksZS5tb250aCgpLGUuZGF0ZSgpXS5qb2luKFwiLVwiKSx3ZWVrOmU9PltlLnllYXIoKSxlLndlZWsoKV0uam9pbihcIi1cIiksbW9udGg6ZT0+W2UueWVhcigpLGUubW9udGgoKV0uam9pbihcIi1cIikscXVhcnRlcjplPT5bZS55ZWFyKCksZS5xdWFydGVyKCldLmpvaW4oXCItXCIpLHllYXI6ZT0+ZS55ZWFyKCl9O2h0LmRhdGU9aHQuZGF5O2xldCBsdD1hO2NvbnN0IG10PWZ1bmN0aW9uKGUsbixyPXt9KXt0aGlzLmVwb2NoPW51bGwsdGhpcy50ej1tKG4sbHQpLHRoaXMuc2lsZW50PXZvaWQgMD09PXIuc2lsZW50fHxyLnNpbGVudCx0aGlzLmJyaXRpc2g9ci5kbXl8fHIuYnJpdGlzaCx0aGlzLl93ZWVrU3RhcnQ9MSx2b2lkIDAhPT1yLndlZWtTdGFydCYmKHRoaXMuX3dlZWtTdGFydD1yLndlZWtTdGFydCksdGhpcy5fdG9kYXk9e30sdm9pZCAwIT09ci50b2RheSYmKHRoaXMuX3RvZGF5PXIudG9kYXkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwiZFwiLHtnZXQ6ZnVuY3Rpb24oKXtjb25zdCBlPShlPT57Y29uc3Qgbj1lLnRpbWV6b25lc1tlLnR6XTtpZih2b2lkIDA9PT1uKXJldHVybiBjb25zb2xlLndhcm4oXCJXYXJuaW5nOiBjb3VsZG4ndCBmaW5kIHRpbWV6b25lIFwiK2UudHopLDA7aWYodm9pZCAwPT09bi5kc3QpcmV0dXJuIG4ub2Zmc2V0O2NvbnN0IHI9bi5vZmZzZXQ7bGV0IGE9bi5vZmZzZXQrMTtcIm5cIj09PW4uaGVtJiYoYT1yLTEpO2NvbnN0IG89bi5kc3Quc3BsaXQoXCItPlwiKTtyZXR1cm4hMD09PXQoZS5lcG9jaCxvWzBdLG9bMV0scixhKT9yOmF9KSh0aGlzKTtsZXQgbj0obmV3IERhdGUodGhpcy5lcG9jaCkuZ2V0VGltZXpvbmVPZmZzZXQoKXx8MCkrNjAqZTtuPTYwKm4qMWUzO2NvbnN0IHI9dGhpcy5lcG9jaCtuO3JldHVybiBuZXcgRGF0ZShyKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcInRpbWV6b25lc1wiLHtnZXQ6KCk9Pmx0LHNldDplPT4obHQ9ZSxlKX0pO2NvbnN0IGE9Sih0aGlzLGUpO3RoaXMuZXBvY2g9YS5lcG9jaCxhLnR6JiYodGhpcy50ej1hLnR6KX07dmFyIGR0O09iamVjdC5rZXlzKEZlKS5mb3JFYWNoKGU9PnttdC5wcm90b3R5cGVbZV09RmVbZV19KSxtdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG10KHRoaXMuZXBvY2gsdGhpcy50eix7c2lsZW50OnRoaXMuc2lsZW50LHdlZWtTdGFydDp0aGlzLl93ZWVrU3RhcnQsdG9kYXk6dGhpcy5fdG9kYXkscGFyc2Vyczp0aGlzLnBhcnNlcnN9KX0sbXQucHJvdG90eXBlLnRvTG9jYWxEYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9OYXRpdmVEYXRlKCl9LG10LnByb3RvdHlwZS50b05hdGl2ZURhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy5lcG9jaCl9LGR0PW10LE9iamVjdC5rZXlzKHR0KS5mb3JFYWNoKGU9PntkdC5wcm90b3R5cGVbZV09dHRbZV19KSwoZT0+e2UucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe2xldCBuPXRoaXMuY2xvbmUoKTtpZighdHx8MD09PWUpcmV0dXJuIG47Y29uc3Qgcj10aGlzLmNsb25lKCk7aWYoXCJtaWxsaXNlY29uZFwiPT09KHQ9ayh0KSkpcmV0dXJuIG4uZXBvY2grPWUsbjtcImZvcnRuaWdodFwiPT09dCYmKGUqPTIsdD1cIndlZWtcIiksTVt0XT9uLmVwb2NoKz1NW3RdKmU6XCJ3ZWVrXCI9PT10fHxcIndlZWtlbmRcIj09PXQ/bi5lcG9jaCs9TS5kYXkqKDcqZSk6XCJxdWFydGVyXCI9PT10fHxcInNlYXNvblwiPT09dD9uLmVwb2NoKz1NLm1vbnRoKigzKmUpOlwicXVhcnRlcmhvdXJcIj09PXQmJihuLmVwb2NoKz0xNSpNLm1pbnV0ZSplKTtsZXQgYT17fTtpZihpdFt0XSYmaXRbdF0uZm9yRWFjaChlPT57YVtlXT1yW2VdKCl9KSx1dFt0XSl7Y29uc3QgZT1yLnRpbWV6b25lKCkuY3VycmVudC5vZmZzZXQtbi50aW1lem9uZSgpLmN1cnJlbnQub2Zmc2V0O24uZXBvY2grPTM2MDAqZSoxZTN9aWYoXCJtb250aFwiPT09dCYmKGEubW9udGg9ci5tb250aCgpK2UsYT1ydChhLHIpKSxcIndlZWtcIj09PXQpe2NvbnN0IHQ9ci5kYXRlKCkrNyplO3Q8PTI4JiZ0PjEmJihhLmRhdGU9dCl9aWYoXCJ3ZWVrZW5kXCI9PT10JiZcInNhdHVyZGF5XCIhPT1uLmRheU5hbWUoKSluPW4uZGF5KFwic2F0dXJkYXlcIiwhMCk7ZWxzZSBpZihcImRhdGVcIj09PXQpe2lmKGU8MClhPW90KGEscixlKTtlbHNle2NvbnN0IHQ9ci5kYXRlKCkrZTthPWF0KGEscix0KX0wIT09ZSYmci5pc1NhbWUobixcImRheVwiKSYmKGEuZGF0ZT1yLmRhdGUoKStlKX1lbHNlIGlmKFwicXVhcnRlclwiPT09dCl7aWYoYS5tb250aD1yLm1vbnRoKCkrMyplLGEueWVhcj1yLnllYXIoKSxhLm1vbnRoPDApe2NvbnN0IGU9TWF0aC5mbG9vcihhLm1vbnRoLzEyKSx0PWEubW9udGgrMTIqTWF0aC5hYnMoZSk7YS5tb250aD10LGEueWVhcis9ZX1lbHNlIGlmKGEubW9udGg+PTEyKXtjb25zdCBlPU1hdGguZmxvb3IoYS5tb250aC8xMik7YS5tb250aD1hLm1vbnRoJTEyLGEueWVhcis9ZX1hLmRhdGU9ci5kYXRlKCl9ZWxzZSBpZihcInllYXJcIj09PXQpe2NvbnN0IHQ9ci55ZWFyKCkrZSxhPW4ueWVhcigpO2lmKGE8dCl7Y29uc3QgdD1NYXRoLmZsb29yKGUvNCl8fDE7bi5lcG9jaCs9TWF0aC5hYnMoTS5kYXkqdCl9ZWxzZSBpZihhPnQpe2NvbnN0IHQ9TWF0aC5mbG9vcihlLzQpfHwxO24uZXBvY2grPU0uZGF5KnR9fWVsc2VcImRlY2FkZVwiPT09dD9hLnllYXI9bi55ZWFyKCkrMTA6XCJjZW50dXJ5XCI9PT10JiYoYS55ZWFyPW4ueWVhcigpKzEwMCk7aWYoY3RbdF0pe2NvbnN0IGU9dm9pZCAwIT09YS55ZWFyP2EueWVhcjpyLnllYXIoKSx0PW50KGEubW9udGgsZSk7YS5kYXRlPXIuZGF0ZSgpLGEuZGF0ZT50JiYoYS5kYXRlPXQpfXJldHVybiBPYmplY3Qua2V5cyhhKS5sZW5ndGg+MSYmTihuLGEpLG59LGUucHJvdG90eXBlLnN1YnRyYWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5hZGQoLTEqZSx0KX0sZS5wcm90b3R5cGUubWludXM9ZS5wcm90b3R5cGUuc3VidHJhY3QsZS5wcm90b3R5cGUucGx1cz1lLnByb3RvdHlwZS5hZGR9KShtdCksKGU9PntlLnByb3RvdHlwZS5pc1NhbWU9ZnVuY3Rpb24odCxuLHI9ITApe2NvbnN0IGE9dGhpcztpZighbilyZXR1cm4gbnVsbDtpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmXCJvYmplY3RcIj09dHlwZW9mIG4pe2NvbnN0IGU9dDt0PW4sbj1lfXJldHVyblwic3RyaW5nXCIhPXR5cGVvZiB0JiZcIm51bWJlclwiIT10eXBlb2YgdHx8KHQ9bmV3IGUodCx0aGlzLnRpbWV6b25lLm5hbWUpKSxuPW4ucmVwbGFjZSgvcyQvLFwiXCIpLCEwPT09ciYmYS50eiE9PXQudHomJigodD10LmNsb25lKCkpLnR6PWEudHopLGh0W25dP2h0W25dKGEpPT09aHRbbl0odCk6bnVsbH19KShtdCksKGU9Pntjb25zdCB0PXtpc0FmdGVyOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9dyhlPXYoZSx0aGlzKSk7cmV0dXJuIG51bGw9PT10P251bGw6dGhpcy5lcG9jaD50fSxpc0JlZm9yZTpmdW5jdGlvbihlKXtjb25zdCB0PXcoZT12KGUsdGhpcykpO3JldHVybiBudWxsPT09dD9udWxsOnRoaXMuZXBvY2g8dH0saXNFcXVhbDpmdW5jdGlvbihlKXtjb25zdCB0PXcoZT12KGUsdGhpcykpO3JldHVybiBudWxsPT09dD9udWxsOnRoaXMuZXBvY2g9PT10fSxpc0JldHdlZW46ZnVuY3Rpb24oZSx0LG49ITEpe2U9dihlLHRoaXMpLHQ9dih0LHRoaXMpO2NvbnN0IHI9dyhlKTtpZihudWxsPT09cilyZXR1cm4gbnVsbDtjb25zdCBhPXcodCk7cmV0dXJuIG51bGw9PT1hP251bGw6bj90aGlzLmlzQmV0d2VlbihlLHQpfHx0aGlzLmlzRXF1YWwoZSl8fHRoaXMuaXNFcXVhbCh0KTpyPHRoaXMuZXBvY2gmJnRoaXMuZXBvY2g8YX19O09iamVjdC5rZXlzKHQpLmZvckVhY2gobj0+e2UucHJvdG90eXBlW25dPXRbbl19KX0pKG10KSwoZT0+e2NvbnN0IHQ9e2kxOG46ZnVuY3Rpb24oZSl7dmFyIHQsbixyO3JldHVybiBwKGUuZGF5cykmJih0PWUuZGF5cyxLPXQuc2hvcnR8fEssUj10Lmxvbmd8fFIpLHAoZS5tb250aHMpJiZmdW5jdGlvbihlKXtUPWUuc2hvcnR8fFQsQz1lLmxvbmd8fEN9KGUubW9udGhzKSxyPWUudXNlVGl0bGVDYXNlLFwiW29iamVjdCBCb29sZWFuXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpJiYobj1lLnVzZVRpdGxlQ2FzZSxuZT1uKSxwKGUuYW1wbSkmJmZ1bmN0aW9uKGUpe1ZlPWUuYW18fFZlLFdlPWUucG18fFdlfShlLmFtcG0pLHAoZS5kaXN0YW5jZSkmJmZ1bmN0aW9uKGUpeyRlPWUucGFzdERpc3RhbmNlfHwkZSxqZT1lLmZ1dHVyZURpc3RhbmNlfHxqZSxiZT1lLnBhc3R8fGJlLGtlPWUuZnV0dXJlfHxrZSx3ZT1lLnByZXNlbnR8fHdlLHZlPWUubm93fHx2ZSx6ZT1lLmFsbW9zdHx8emUsX2U9ZS5vdmVyfHxfZX0oZS5kaXN0YW5jZSkscChlLnVuaXRzKSYmZnVuY3Rpb24oZT17fSl7eWU9e3NlY29uZDplLnNlY29uZHx8eWUuc2Vjb25kLHNlY29uZHM6ZS5zZWNvbmRzfHx5ZS5zZWNvbmRzLG1pbnV0ZTplLm1pbnV0ZXx8eWUubWludXRlLG1pbnV0ZXM6ZS5taW51dGVzfHx5ZS5taW51dGVzLGhvdXI6ZS5ob3VyfHx5ZS5ob3VyLGhvdXJzOmUuaG91cnN8fHllLmhvdXJzLGRheTplLmRheXx8eWUuZGF5LGRheXM6ZS5kYXlzfHx5ZS5kYXlzLG1vbnRoOmUubW9udGh8fHllLm1vbnRoLG1vbnRoczplLm1vbnRoc3x8eWUubW9udGhzLHllYXI6ZS55ZWFyfHx5ZS55ZWFyLHllYXJzOmUueWVhcnN8fHllLnllYXJzfX0oZS51bml0cyksdGhpc319O09iamVjdC5rZXlzKHQpLmZvckVhY2gobj0+e2UucHJvdG90eXBlW25dPXRbbl19KX0pKG10KTtjb25zdCBmdD0oZSx0LG4pPT5uZXcgbXQoZSx0LG4pLHB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5fdG9kYXl8fHt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKG49PntlPWVbbl0odFtuXSl9KSxlfTtmdC5ub3c9KGUsdCk9PntsZXQgbj1uZXcgbXQoKG5ldyBEYXRlKS5nZXRUaW1lKCksZSx0KTtyZXR1cm4gbj1wdChuKSxufSxmdC50b2RheT0oZSx0KT0+e2xldCBuPW5ldyBtdCgobmV3IERhdGUpLmdldFRpbWUoKSxlLHQpO3JldHVybiBuPXB0KG4pLG4uc3RhcnRPZihcImRheVwiKX0sZnQudG9tb3Jyb3c9KGUsdCk9PntsZXQgbj1uZXcgbXQoKG5ldyBEYXRlKS5nZXRUaW1lKCksZSx0KTtyZXR1cm4gbj1wdChuKSxuLmFkZCgxLFwiZGF5XCIpLnN0YXJ0T2YoXCJkYXlcIil9LGZ0Lnllc3RlcmRheT0oZSx0KT0+e2xldCBuPW5ldyBtdCgobmV3IERhdGUpLmdldFRpbWUoKSxlLHQpO3JldHVybiBuPXB0KG4pLG4uc3VidHJhY3QoMSxcImRheVwiKS5zdGFydE9mKFwiZGF5XCIpfSxmdC5mcm9tVW5peFNlY29uZHM9KGUsdCxuKT0+bmV3IG10KDFlMyplLHQsbiksZnQuZXh0ZW5kPWZ1bmN0aW9uKGU9e30pe3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKHQ9PnttdC5wcm90b3R5cGVbdF09ZVt0XX0pLHRoaXN9LGZ0LnRpbWV6b25lcz1mdW5jdGlvbigpe3JldHVybihuZXcgbXQpLnRpbWV6b25lc30sZnQubWF4PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1uZXcgbXQobnVsbCxlLHQpO3JldHVybiBuLmVwb2NoPTg2NGUxMyxufSxmdC5taW49ZnVuY3Rpb24oZSx0KXtjb25zdCBuPW5ldyBtdChudWxsLGUsdCk7cmV0dXJuIG4uZXBvY2g9LTg2NGUxMyxufSxmdC53aGVyZUl0cz0oZSx0KT0+e2xldCBuPW5ldyBtdChudWxsKSxyPW5ldyBtdChudWxsKTtuPW4udGltZShlKSxyPXQ/ci50aW1lKHQpOm4uYWRkKDU5LFwibWludXRlc1wiKTtjb25zdCBhPW4uaG91cigpLG89ci5ob3VyKCk7cmV0dXJuIE9iamVjdC5rZXlzKG4udGltZXpvbmVzKS5maWx0ZXIoZT0+e2lmKC0xPT09ZS5pbmRleE9mKFwiL1wiKSlyZXR1cm4hMTtjb25zdCB0PW5ldyBtdChudWxsLGUpLHM9dC5ob3VyKCk7cmV0dXJuIHM+PWEmJnM8PW8mJighKHM9PT1hJiZ0Lm1pbnV0ZSgpPG4ubWludXRlKCkpJiYhKHM9PT1vJiZ0Lm1pbnV0ZSgpPnIubWludXRlKCkpKX0pfSxmdC52ZXJzaW9uPVwiNy4xMy4wXCIsZnQucGx1Z2luPWZ0LmV4dGVuZDtleHBvcnR7ZnQgYXMgZGVmYXVsdH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/spacetime/builds/spacetime.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Enum.js":
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/stylis/src/Enum.js ***!
|
||
\*****************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CHARSET: function() { return /* binding */ CHARSET; },\n/* harmony export */ COMMENT: function() { return /* binding */ COMMENT; },\n/* harmony export */ COUNTER_STYLE: function() { return /* binding */ COUNTER_STYLE; },\n/* harmony export */ DECLARATION: function() { return /* binding */ DECLARATION; },\n/* harmony export */ DOCUMENT: function() { return /* binding */ DOCUMENT; },\n/* harmony export */ FONT_FACE: function() { return /* binding */ FONT_FACE; },\n/* harmony export */ FONT_FEATURE_VALUES: function() { return /* binding */ FONT_FEATURE_VALUES; },\n/* harmony export */ IMPORT: function() { return /* binding */ IMPORT; },\n/* harmony export */ KEYFRAMES: function() { return /* binding */ KEYFRAMES; },\n/* harmony export */ LAYER: function() { return /* binding */ LAYER; },\n/* harmony export */ MEDIA: function() { return /* binding */ MEDIA; },\n/* harmony export */ MOZ: function() { return /* binding */ MOZ; },\n/* harmony export */ MS: function() { return /* binding */ MS; },\n/* harmony export */ NAMESPACE: function() { return /* binding */ NAMESPACE; },\n/* harmony export */ PAGE: function() { return /* binding */ PAGE; },\n/* harmony export */ RULESET: function() { return /* binding */ RULESET; },\n/* harmony export */ SUPPORTS: function() { return /* binding */ SUPPORTS; },\n/* harmony export */ VIEWPORT: function() { return /* binding */ VIEWPORT; },\n/* harmony export */ WEBKIT: function() { return /* binding */ WEBKIT; }\n/* harmony export */ });\nvar MS = '-ms-'\nvar MOZ = '-moz-'\nvar WEBKIT = '-webkit-'\n\nvar COMMENT = 'comm'\nvar RULESET = 'rule'\nvar DECLARATION = 'decl'\n\nvar PAGE = '@page'\nvar MEDIA = '@media'\nvar IMPORT = '@import'\nvar CHARSET = '@charset'\nvar VIEWPORT = '@viewport'\nvar SUPPORTS = '@supports'\nvar DOCUMENT = '@document'\nvar NAMESPACE = '@namespace'\nvar KEYFRAMES = '@keyframes'\nvar FONT_FACE = '@font-face'\nvar COUNTER_STYLE = '@counter-style'\nvar FONT_FEATURE_VALUES = '@font-feature-values'\nvar LAYER = '@layer'\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL0VudW0uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFPO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvRW51bS5qcz85YzU5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgTVMgPSAnLW1zLSdcbmV4cG9ydCB2YXIgTU9aID0gJy1tb3otJ1xuZXhwb3J0IHZhciBXRUJLSVQgPSAnLXdlYmtpdC0nXG5cbmV4cG9ydCB2YXIgQ09NTUVOVCA9ICdjb21tJ1xuZXhwb3J0IHZhciBSVUxFU0VUID0gJ3J1bGUnXG5leHBvcnQgdmFyIERFQ0xBUkFUSU9OID0gJ2RlY2wnXG5cbmV4cG9ydCB2YXIgUEFHRSA9ICdAcGFnZSdcbmV4cG9ydCB2YXIgTUVESUEgPSAnQG1lZGlhJ1xuZXhwb3J0IHZhciBJTVBPUlQgPSAnQGltcG9ydCdcbmV4cG9ydCB2YXIgQ0hBUlNFVCA9ICdAY2hhcnNldCdcbmV4cG9ydCB2YXIgVklFV1BPUlQgPSAnQHZpZXdwb3J0J1xuZXhwb3J0IHZhciBTVVBQT1JUUyA9ICdAc3VwcG9ydHMnXG5leHBvcnQgdmFyIERPQ1VNRU5UID0gJ0Bkb2N1bWVudCdcbmV4cG9ydCB2YXIgTkFNRVNQQUNFID0gJ0BuYW1lc3BhY2UnXG5leHBvcnQgdmFyIEtFWUZSQU1FUyA9ICdAa2V5ZnJhbWVzJ1xuZXhwb3J0IHZhciBGT05UX0ZBQ0UgPSAnQGZvbnQtZmFjZSdcbmV4cG9ydCB2YXIgQ09VTlRFUl9TVFlMRSA9ICdAY291bnRlci1zdHlsZSdcbmV4cG9ydCB2YXIgRk9OVF9GRUFUVVJFX1ZBTFVFUyA9ICdAZm9udC1mZWF0dXJlLXZhbHVlcydcbmV4cG9ydCB2YXIgTEFZRVIgPSAnQGxheWVyJ1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Enum.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Middleware.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/stylis/src/Middleware.js ***!
|
||
\***********************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ middleware: function() { return /* binding */ middleware; },\n/* harmony export */ namespace: function() { return /* binding */ namespace; },\n/* harmony export */ prefixer: function() { return /* binding */ prefixer; },\n/* harmony export */ rulesheet: function() { return /* binding */ rulesheet; }\n/* harmony export */ });\n/* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enum.js */ \"(app-pages-browser)/./node_modules/stylis/src/Enum.js\");\n/* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ \"(app-pages-browser)/./node_modules/stylis/src/Utility.js\");\n/* harmony import */ var _Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Tokenizer.js */ \"(app-pages-browser)/./node_modules/stylis/src/Tokenizer.js\");\n/* harmony import */ var _Serializer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Serializer.js */ \"(app-pages-browser)/./node_modules/stylis/src/Serializer.js\");\n/* harmony import */ var _Prefixer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Prefixer.js */ \"(app-pages-browser)/./node_modules/stylis/src/Prefixer.js\");\n\n\n\n\n\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nfunction middleware (collection) {\n\tvar length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nfunction rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nfunction prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.DECLARATION: element.return = (0,_Prefixer_js__WEBPACK_IMPORTED_MODULE_2__.prefix)(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.KEYFRAMES:\n\t\t\t\t\treturn (0,_Serializer_js__WEBPACK_IMPORTED_MODULE_3__.serialize)([(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {value: (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(element.value, '@', '@' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT)})], callback)\n\t\t\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.combine)(element.props, function (value) {\n\t\t\t\t\t\t\tswitch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn (0,_Serializer_js__WEBPACK_IMPORTED_MODULE_3__.serialize)([(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(read-\\w+)/, ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn (0,_Serializer_js__WEBPACK_IMPORTED_MODULE_3__.serialize)([\n\t\t\t\t\t\t\t\t\t\t(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(plac\\w+)/, ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\t(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(plac\\w+)/, ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\t(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(plac\\w+)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nfunction namespace (element) {\n\tswitch (element.type) {\n\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.combine)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.tokenize)(value), function (value, index, children) {\n\t\t\t\t\tswitch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(value, 1, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL01pZGRsZXdhcmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQTBFO0FBQ1U7QUFDdkM7QUFDSjtBQUNMOztBQUVwQztBQUNBLFdBQVcsWUFBWTtBQUN2QixZQUFZO0FBQ1o7QUFDTztBQUNQLGNBQWMsbURBQU07O0FBRXBCO0FBQ0E7O0FBRUEsa0JBQWtCLFlBQVk7QUFDOUI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckIsV0FBVyxVQUFVO0FBQ3JCO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTLGlEQUFXLG1CQUFtQixvREFBTTtBQUM3QztBQUNBLFNBQVMsK0NBQVM7QUFDbEIsWUFBWSx5REFBUyxFQUFFLG1EQUFJLFdBQVcsT0FBTyxvREFBTywyQkFBMkIsNENBQU0sRUFBRTtBQUN2RixTQUFTLDZDQUFPO0FBQ2hCO0FBQ0EsYUFBYSxvREFBTztBQUNwQixlQUFlLGtEQUFLO0FBQ3BCO0FBQ0E7QUFDQSxnQkFBZ0IseURBQVMsRUFBRSxtREFBSSxXQUFXLFFBQVEsb0RBQU8sNkJBQTZCLHlDQUFHLFVBQVU7QUFDbkc7QUFDQTtBQUNBLGdCQUFnQix5REFBUztBQUN6QixVQUFVLG1EQUFJLFdBQVcsUUFBUSxvREFBTyw0QkFBNEIsNENBQU0sZ0JBQWdCO0FBQzFGLFVBQVUsbURBQUksV0FBVyxRQUFRLG9EQUFPLDRCQUE0Qix5Q0FBRyxVQUFVO0FBQ2pGLFVBQVUsbURBQUksV0FBVyxRQUFRLG9EQUFPLHNCQUFzQix3Q0FBRSxnQkFBZ0I7QUFDaEY7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckI7QUFDTztBQUNQO0FBQ0EsT0FBTyw2Q0FBTztBQUNkO0FBQ0EsV0FBVyxvREFBTyxDQUFDLHVEQUFRO0FBQzNCLGFBQWEsbURBQU07QUFDbkI7QUFDQTtBQUNBLGNBQWMsbURBQU0sV0FBVyxtREFBTTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsbURBQU07QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1EQUFNO0FBQ3RCLHFCQUFxQixtREFBTTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL01pZGRsZXdhcmUuanM/NjAzOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01TLCBNT1osIFdFQktJVCwgUlVMRVNFVCwgS0VZRlJBTUVTLCBERUNMQVJBVElPTn0gZnJvbSAnLi9FbnVtLmpzJ1xuaW1wb3J0IHttYXRjaCwgY2hhcmF0LCBzdWJzdHIsIHN0cmxlbiwgc2l6ZW9mLCByZXBsYWNlLCBjb21iaW5lfSBmcm9tICcuL1V0aWxpdHkuanMnXG5pbXBvcnQge2NvcHksIHRva2VuaXplfSBmcm9tICcuL1Rva2VuaXplci5qcydcbmltcG9ydCB7c2VyaWFsaXplfSBmcm9tICcuL1NlcmlhbGl6ZXIuanMnXG5pbXBvcnQge3ByZWZpeH0gZnJvbSAnLi9QcmVmaXhlci5qcydcblxuLyoqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uW119IGNvbGxlY3Rpb25cbiAqIEByZXR1cm4ge2Z1bmN0aW9ufVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWlkZGxld2FyZSAoY29sbGVjdGlvbikge1xuXHR2YXIgbGVuZ3RoID0gc2l6ZW9mKGNvbGxlY3Rpb24pXG5cblx0cmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdFx0dmFyIG91dHB1dCA9ICcnXG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKVxuXHRcdFx0b3V0cHV0ICs9IGNvbGxlY3Rpb25baV0oZWxlbWVudCwgaW5kZXgsIGNoaWxkcmVuLCBjYWxsYmFjaykgfHwgJydcblxuXHRcdHJldHVybiBvdXRwdXRcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtmdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzaGVldCAoY2FsbGJhY2spIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50KSB7XG5cdFx0aWYgKCFlbGVtZW50LnJvb3QpXG5cdFx0XHRpZiAoZWxlbWVudCA9IGVsZW1lbnQucmV0dXJuKVxuXHRcdFx0XHRjYWxsYmFjayhlbGVtZW50KVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXhlciAoZWxlbWVudCwgaW5kZXgsIGNoaWxkcmVuLCBjYWxsYmFjaykge1xuXHRpZiAoZWxlbWVudC5sZW5ndGggPiAtMSlcblx0XHRpZiAoIWVsZW1lbnQucmV0dXJuKVxuXHRcdFx0c3dpdGNoIChlbGVtZW50LnR5cGUpIHtcblx0XHRcdFx0Y2FzZSBERUNMQVJBVElPTjogZWxlbWVudC5yZXR1cm4gPSBwcmVmaXgoZWxlbWVudC52YWx1ZSwgZWxlbWVudC5sZW5ndGgsIGNoaWxkcmVuKVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHRjYXNlIEtFWUZSQU1FUzpcblx0XHRcdFx0XHRyZXR1cm4gc2VyaWFsaXplKFtjb3B5KGVsZW1lbnQsIHt2YWx1ZTogcmVwbGFjZShlbGVtZW50LnZhbHVlLCAnQCcsICdAJyArIFdFQktJVCl9KV0sIGNhbGxiYWNrKVxuXHRcdFx0XHRjYXNlIFJVTEVTRVQ6XG5cdFx0XHRcdFx0aWYgKGVsZW1lbnQubGVuZ3RoKVxuXHRcdFx0XHRcdFx0cmV0dXJuIGNvbWJpbmUoZWxlbWVudC5wcm9wcywgZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAobWF0Y2godmFsdWUsIC8oOjpwbGFjXFx3K3w6cmVhZC1cXHcrKS8pKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gOnJlYWQtKG9ubHl8d3JpdGUpXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAnOnJlYWQtb25seSc6IGNhc2UgJzpyZWFkLXdyaXRlJzpcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXJpYWxpemUoW2NvcHkoZWxlbWVudCwge3Byb3BzOiBbcmVwbGFjZSh2YWx1ZSwgLzoocmVhZC1cXHcrKS8sICc6JyArIE1PWiArICckMScpXX0pXSwgY2FsbGJhY2spXG5cdFx0XHRcdFx0XHRcdFx0Ly8gOnBsYWNlaG9sZGVyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAnOjpwbGFjZWhvbGRlcic6XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2VyaWFsaXplKFtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29weShlbGVtZW50LCB7cHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBXRUJLSVQgKyAnaW5wdXQtJDEnKV19KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29weShlbGVtZW50LCB7cHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV19KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29weShlbGVtZW50LCB7cHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCBNUyArICdpbnB1dC0kMScpXX0pXG5cdFx0XHRcdFx0XHRcdFx0XHRdLCBjYWxsYmFjaylcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdHJldHVybiAnJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gZWxlbWVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge29iamVjdFtdfSBjaGlsZHJlblxuICovXG5leHBvcnQgZnVuY3Rpb24gbmFtZXNwYWNlIChlbGVtZW50KSB7XG5cdHN3aXRjaCAoZWxlbWVudC50eXBlKSB7XG5cdFx0Y2FzZSBSVUxFU0VUOlxuXHRcdFx0ZWxlbWVudC5wcm9wcyA9IGVsZW1lbnQucHJvcHMubWFwKGZ1bmN0aW9uICh2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gY29tYmluZSh0b2tlbml6ZSh2YWx1ZSksIGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgsIGNoaWxkcmVuKSB7XG5cdFx0XHRcdFx0c3dpdGNoIChjaGFyYXQodmFsdWUsIDApKSB7XG5cdFx0XHRcdFx0XHQvLyBcXGZcblx0XHRcdFx0XHRcdGNhc2UgMTI6XG5cdFx0XHRcdFx0XHRcdHJldHVybiBzdWJzdHIodmFsdWUsIDEsIHN0cmxlbih2YWx1ZSkpXG5cdFx0XHRcdFx0XHQvLyBcXDAgKCArID4gflxuXHRcdFx0XHRcdFx0Y2FzZSAwOiBjYXNlIDQwOiBjYXNlIDQzOiBjYXNlIDYyOiBjYXNlIDEyNjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhbHVlXG5cdFx0XHRcdFx0XHQvLyA6XG5cdFx0XHRcdFx0XHRjYXNlIDU4OlxuXHRcdFx0XHRcdFx0XHRpZiAoY2hpbGRyZW5bKytpbmRleF0gPT09ICdnbG9iYWwnKVxuXHRcdFx0XHRcdFx0XHRcdGNoaWxkcmVuW2luZGV4XSA9ICcnLCBjaGlsZHJlblsrK2luZGV4XSA9ICdcXGYnICsgc3Vic3RyKGNoaWxkcmVuW2luZGV4XSwgaW5kZXggPSAxLCAtMSlcblx0XHRcdFx0XHRcdC8vIFxcc1xuXHRcdFx0XHRcdFx0Y2FzZSAzMjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGluZGV4ID09PSAxID8gJycgOiB2YWx1ZVxuXHRcdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdFx0c3dpdGNoIChpbmRleCkge1xuXHRcdFx0XHRcdFx0XHRcdGNhc2UgMDogZWxlbWVudCA9IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2l6ZW9mKGNoaWxkcmVuKSA+IDEgPyAnJyA6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSBpbmRleCA9IHNpemVvZihjaGlsZHJlbikgLSAxOiBjYXNlIDI6XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gaW5kZXggPT09IDIgPyB2YWx1ZSArIGVsZW1lbnQgKyBlbGVtZW50IDogdmFsdWUgKyBlbGVtZW50XG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Middleware.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Parser.js":
|
||
/*!*******************************************!*\
|
||
!*** ./node_modules/stylis/src/Parser.js ***!
|
||
\*******************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ comment: function() { return /* binding */ comment; },\n/* harmony export */ compile: function() { return /* binding */ compile; },\n/* harmony export */ declaration: function() { return /* binding */ declaration; },\n/* harmony export */ parse: function() { return /* binding */ parse; },\n/* harmony export */ ruleset: function() { return /* binding */ ruleset; }\n/* harmony export */ });\n/* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Enum.js */ \"(app-pages-browser)/./node_modules/stylis/src/Enum.js\");\n/* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utility.js */ \"(app-pages-browser)/./node_modules/stylis/src/Utility.js\");\n/* harmony import */ var _Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tokenizer.js */ \"(app-pages-browser)/./node_modules/stylis/src/Tokenizer.js\");\n\n\n\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nfunction compile (value) {\n\treturn (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.dealloc)(parse('', null, null, null, [''], value = (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.alloc)(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nfunction parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.next)()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.charat)(characters, length - 1) == 58) {\n\t\t\t\t\tif ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.indexof)(characters += (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.delimit)(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.delimit)(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.whitespace)(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.escaping)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.caret)() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch ((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.peek)()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\t;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(comment((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.commenter)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.next)(), (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.caret)()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) - length))\n\t\t\t\t\t\t\t(0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.charat)(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.prev)() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.from)(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif ((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.peek)() === 45)\n\t\t\t\t\t\t\tcharacters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.delimit)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.next)())\n\n\t\t\t\t\t\tatrule = (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.peek)(), offset = length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(type = characters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.identifier)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.caret)())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nfunction ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.sizeof)(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, post + 1, post = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.abs)(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.trim)(j > 0 ? rule[x] + ' ' + y : (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.node)(value, root, parent, offset === 0 ? _Enum_js__WEBPACK_IMPORTED_MODULE_2__.RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nfunction comment (value, root, parent) {\n\treturn (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.node)(value, root, parent, _Enum_js__WEBPACK_IMPORTED_MODULE_2__.COMMENT, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.from)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.char)()), (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nfunction declaration (value, root, parent, length) {\n\treturn (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.node)(value, root, parent, _Enum_js__WEBPACK_IMPORTED_MODULE_2__.DECLARATION, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, 0, length), (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, length + 1, -1), length)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1BhcnNlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUF1RDtBQUMrQztBQUNrQzs7QUFFeEk7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUCxRQUFRLHNEQUFPLDJDQUEyQyxvREFBSztBQUMvRDs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsV0FBVyxVQUFVO0FBQ3JCLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDLG1EQUFJO0FBQ2hEO0FBQ0E7QUFDQSwyQkFBMkIsbURBQU07QUFDakMsU0FBUyxvREFBTyxlQUFlLG9EQUFPLENBQUMsc0RBQU87QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixzREFBTztBQUN6QjtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IseURBQVU7QUFDNUI7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHVEQUFRLENBQUMsb0RBQUs7QUFDaEM7QUFDQTtBQUNBO0FBQ0EsWUFBWSxtREFBSTtBQUNoQjtBQUNBLE1BQU0sb0RBQU0sU0FBUyx3REFBUyxDQUFDLG1EQUFJLElBQUksb0RBQUs7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbURBQU07QUFDNUIsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsb0RBQU87QUFDaEUsMkJBQTJCLG1EQUFNO0FBQ2pDLE9BQU8sbURBQU0sNENBQTRDLDJDQUEyQyxvREFBTywwQkFBMEI7QUFDckk7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QixVQUFVO0FBQ1Y7QUFDQSxNQUFNLG9EQUFNOztBQUVaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLG1EQUFNO0FBQ3ZDO0FBQ0E7QUFDQSxxREFBcUQsbURBQU07QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixtREFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxtREFBSTtBQUN6RDs7QUFFQSwwQkFBMEIsaURBQUk7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLG1EQUFNO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxtREFBSTtBQUNkLHFCQUFxQixzREFBTyxDQUFDLG1EQUFJOztBQUVqQyxlQUFlLG1EQUFJLHNCQUFzQixtREFBTSxzQkFBc0IseURBQVUsQ0FBQyxvREFBSztBQUNyRjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsbURBQU07QUFDbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsU0FBUztBQUNwQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTtBQUNBLFlBQVksbURBQU07O0FBRWxCLCtCQUErQixXQUFXO0FBQzFDLHNCQUFzQixtREFBTSx5QkFBeUIsZ0RBQUcsNkJBQTZCLFVBQVU7QUFDL0YsV0FBVyxpREFBSSw2QkFBNkIsb0RBQU87QUFDbkQ7O0FBRUEsUUFBUSxtREFBSSxxQ0FBcUMsNkNBQU87QUFDeEQ7O0FBRUE7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsU0FBUztBQUNwQixZQUFZO0FBQ1o7QUFDTztBQUNQLFFBQVEsbURBQUksc0JBQXNCLDZDQUFPLEVBQUUsaURBQUksQ0FBQyxtREFBSSxLQUFLLG1EQUFNO0FBQy9EOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFNBQVM7QUFDcEIsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1AsUUFBUSxtREFBSSxzQkFBc0IsaURBQVcsRUFBRSxtREFBTSxvQkFBb0IsbURBQU07QUFDL0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvUGFyc2VyLmpzP2I2MWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDT01NRU5ULCBSVUxFU0VULCBERUNMQVJBVElPTn0gZnJvbSAnLi9FbnVtLmpzJ1xuaW1wb3J0IHthYnMsIGNoYXJhdCwgdHJpbSwgZnJvbSwgc2l6ZW9mLCBzdHJsZW4sIHN1YnN0ciwgYXBwZW5kLCByZXBsYWNlLCBpbmRleG9mfSBmcm9tICcuL1V0aWxpdHkuanMnXG5pbXBvcnQge25vZGUsIGNoYXIsIHByZXYsIG5leHQsIHBlZWssIGNhcmV0LCBhbGxvYywgZGVhbGxvYywgZGVsaW1pdCwgd2hpdGVzcGFjZSwgZXNjYXBpbmcsIGlkZW50aWZpZXIsIGNvbW1lbnRlcn0gZnJvbSAnLi9Ub2tlbml6ZXIuanMnXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtvYmplY3RbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBpbGUgKHZhbHVlKSB7XG5cdHJldHVybiBkZWFsbG9jKHBhcnNlKCcnLCBudWxsLCBudWxsLCBudWxsLCBbJyddLCB2YWx1ZSA9IGFsbG9jKHZhbHVlKSwgMCwgWzBdLCB2YWx1ZSkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBydWxlc2V0c1xuICogQHBhcmFtIHtudW1iZXJbXX0gcHNldWRvXG4gKiBAcGFyYW0ge251bWJlcltdfSBwb2ludHNcbiAqIEBwYXJhbSB7c3RyaW5nW119IGRlY2xhcmF0aW9uc1xuICogQHJldHVybiB7b2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UgKHZhbHVlLCByb290LCBwYXJlbnQsIHJ1bGUsIHJ1bGVzLCBydWxlc2V0cywgcHNldWRvLCBwb2ludHMsIGRlY2xhcmF0aW9ucykge1xuXHR2YXIgaW5kZXggPSAwXG5cdHZhciBvZmZzZXQgPSAwXG5cdHZhciBsZW5ndGggPSBwc2V1ZG9cblx0dmFyIGF0cnVsZSA9IDBcblx0dmFyIHByb3BlcnR5ID0gMFxuXHR2YXIgcHJldmlvdXMgPSAwXG5cdHZhciB2YXJpYWJsZSA9IDFcblx0dmFyIHNjYW5uaW5nID0gMVxuXHR2YXIgYW1wZXJzYW5kID0gMVxuXHR2YXIgY2hhcmFjdGVyID0gMFxuXHR2YXIgdHlwZSA9ICcnXG5cdHZhciBwcm9wcyA9IHJ1bGVzXG5cdHZhciBjaGlsZHJlbiA9IHJ1bGVzZXRzXG5cdHZhciByZWZlcmVuY2UgPSBydWxlXG5cdHZhciBjaGFyYWN0ZXJzID0gdHlwZVxuXG5cdHdoaWxlIChzY2FubmluZylcblx0XHRzd2l0Y2ggKHByZXZpb3VzID0gY2hhcmFjdGVyLCBjaGFyYWN0ZXIgPSBuZXh0KCkpIHtcblx0XHRcdC8vIChcblx0XHRcdGNhc2UgNDA6XG5cdFx0XHRcdGlmIChwcmV2aW91cyAhPSAxMDggJiYgY2hhcmF0KGNoYXJhY3RlcnMsIGxlbmd0aCAtIDEpID09IDU4KSB7XG5cdFx0XHRcdFx0aWYgKGluZGV4b2YoY2hhcmFjdGVycyArPSByZXBsYWNlKGRlbGltaXQoY2hhcmFjdGVyKSwgJyYnLCAnJlxcZicpLCAnJlxcZicpICE9IC0xKVxuXHRcdFx0XHRcdFx0YW1wZXJzYW5kID0gLTFcblx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHR9XG5cdFx0XHQvLyBcIiAnIFtcblx0XHRcdGNhc2UgMzQ6IGNhc2UgMzk6IGNhc2UgOTE6XG5cdFx0XHRcdGNoYXJhY3RlcnMgKz0gZGVsaW1pdChjaGFyYWN0ZXIpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXHQgXFxuIFxcciBcXHNcblx0XHRcdGNhc2UgOTogY2FzZSAxMDogY2FzZSAxMzogY2FzZSAzMjpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSB3aGl0ZXNwYWNlKHByZXZpb3VzKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0Ly8gXFxcblx0XHRcdGNhc2UgOTI6XG5cdFx0XHRcdGNoYXJhY3RlcnMgKz0gZXNjYXBpbmcoY2FyZXQoKSAtIDEsIDcpXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHQvLyAvXG5cdFx0XHRjYXNlIDQ3OlxuXHRcdFx0XHRzd2l0Y2ggKHBlZWsoKSkge1xuXHRcdFx0XHRcdGNhc2UgNDI6IGNhc2UgNDc6XG5cdFx0XHRcdFx0XHRhcHBlbmQoY29tbWVudChjb21tZW50ZXIobmV4dCgpLCBjYXJldCgpKSwgcm9vdCwgcGFyZW50KSwgZGVjbGFyYXRpb25zKVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0Y2hhcmFjdGVycyArPSAnLydcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVha1xuXHRcdFx0Ly8ge1xuXHRcdFx0Y2FzZSAxMjMgKiB2YXJpYWJsZTpcblx0XHRcdFx0cG9pbnRzW2luZGV4KytdID0gc3RybGVuKGNoYXJhY3RlcnMpICogYW1wZXJzYW5kXG5cdFx0XHQvLyB9IDsgXFwwXG5cdFx0XHRjYXNlIDEyNSAqIHZhcmlhYmxlOiBjYXNlIDU5OiBjYXNlIDA6XG5cdFx0XHRcdHN3aXRjaCAoY2hhcmFjdGVyKSB7XG5cdFx0XHRcdFx0Ly8gXFwwIH1cblx0XHRcdFx0XHRjYXNlIDA6IGNhc2UgMTI1OiBzY2FubmluZyA9IDBcblx0XHRcdFx0XHQvLyA7XG5cdFx0XHRcdFx0Y2FzZSA1OSArIG9mZnNldDogaWYgKGFtcGVyc2FuZCA9PSAtMSkgY2hhcmFjdGVycyA9IHJlcGxhY2UoY2hhcmFjdGVycywgL1xcZi9nLCAnJylcblx0XHRcdFx0XHRcdGlmIChwcm9wZXJ0eSA+IDAgJiYgKHN0cmxlbihjaGFyYWN0ZXJzKSAtIGxlbmd0aCkpXG5cdFx0XHRcdFx0XHRcdGFwcGVuZChwcm9wZXJ0eSA+IDMyID8gZGVjbGFyYXRpb24oY2hhcmFjdGVycyArICc7JywgcnVsZSwgcGFyZW50LCBsZW5ndGggLSAxKSA6IGRlY2xhcmF0aW9uKHJlcGxhY2UoY2hhcmFjdGVycywgJyAnLCAnJykgKyAnOycsIHJ1bGUsIHBhcmVudCwgbGVuZ3RoIC0gMiksIGRlY2xhcmF0aW9ucylcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0Ly8gQCA7XG5cdFx0XHRcdFx0Y2FzZSA1OTogY2hhcmFjdGVycyArPSAnOydcblx0XHRcdFx0XHQvLyB7IHJ1bGUvYXQtcnVsZVxuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRhcHBlbmQocmVmZXJlbmNlID0gcnVsZXNldChjaGFyYWN0ZXJzLCByb290LCBwYXJlbnQsIGluZGV4LCBvZmZzZXQsIHJ1bGVzLCBwb2ludHMsIHR5cGUsIHByb3BzID0gW10sIGNoaWxkcmVuID0gW10sIGxlbmd0aCksIHJ1bGVzZXRzKVxuXG5cdFx0XHRcdFx0XHRpZiAoY2hhcmFjdGVyID09PSAxMjMpXG5cdFx0XHRcdFx0XHRcdGlmIChvZmZzZXQgPT09IDApXG5cdFx0XHRcdFx0XHRcdFx0cGFyc2UoY2hhcmFjdGVycywgcm9vdCwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHByb3BzLCBydWxlc2V0cywgbGVuZ3RoLCBwb2ludHMsIGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0XHRcdFx0c3dpdGNoIChhdHJ1bGUgPT09IDk5ICYmIGNoYXJhdChjaGFyYWN0ZXJzLCAzKSA9PT0gMTEwID8gMTAwIDogYXRydWxlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkIGwgbSBzXG5cdFx0XHRcdFx0XHRcdFx0XHRjYXNlIDEwMDogY2FzZSAxMDg6IGNhc2UgMTA5OiBjYXNlIDExNTpcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyc2UodmFsdWUsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCBydWxlICYmIGFwcGVuZChydWxlc2V0KHZhbHVlLCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgMCwgMCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcnVsZXMsIHByb3BzID0gW10sIGxlbmd0aCksIGNoaWxkcmVuKSwgcnVsZXMsIGNoaWxkcmVuLCBsZW5ndGgsIHBvaW50cywgcnVsZSA/IHByb3BzIDogY2hpbGRyZW4pXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJzZShjaGFyYWN0ZXJzLCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCBbJyddLCBjaGlsZHJlbiwgMCwgcG9pbnRzLCBjaGlsZHJlbilcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbmRleCA9IG9mZnNldCA9IHByb3BlcnR5ID0gMCwgdmFyaWFibGUgPSBhbXBlcnNhbmQgPSAxLCB0eXBlID0gY2hhcmFjdGVycyA9ICcnLCBsZW5ndGggPSBwc2V1ZG9cblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIDpcblx0XHRcdGNhc2UgNTg6XG5cdFx0XHRcdGxlbmd0aCA9IDEgKyBzdHJsZW4oY2hhcmFjdGVycyksIHByb3BlcnR5ID0gcHJldmlvdXNcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGlmICh2YXJpYWJsZSA8IDEpXG5cdFx0XHRcdFx0aWYgKGNoYXJhY3RlciA9PSAxMjMpXG5cdFx0XHRcdFx0XHQtLXZhcmlhYmxlXG5cdFx0XHRcdFx0ZWxzZSBpZiAoY2hhcmFjdGVyID09IDEyNSAmJiB2YXJpYWJsZSsrID09IDAgJiYgcHJldigpID09IDEyNSlcblx0XHRcdFx0XHRcdGNvbnRpbnVlXG5cblx0XHRcdFx0c3dpdGNoIChjaGFyYWN0ZXJzICs9IGZyb20oY2hhcmFjdGVyKSwgY2hhcmFjdGVyICogdmFyaWFibGUpIHtcblx0XHRcdFx0XHQvLyAmXG5cdFx0XHRcdFx0Y2FzZSAzODpcblx0XHRcdFx0XHRcdGFtcGVyc2FuZCA9IG9mZnNldCA+IDAgPyAxIDogKGNoYXJhY3RlcnMgKz0gJ1xcZicsIC0xKVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyAsXG5cdFx0XHRcdFx0Y2FzZSA0NDpcblx0XHRcdFx0XHRcdHBvaW50c1tpbmRleCsrXSA9IChzdHJsZW4oY2hhcmFjdGVycykgLSAxKSAqIGFtcGVyc2FuZCwgYW1wZXJzYW5kID0gMVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyBAXG5cdFx0XHRcdFx0Y2FzZSA2NDpcblx0XHRcdFx0XHRcdC8vIC1cblx0XHRcdFx0XHRcdGlmIChwZWVrKCkgPT09IDQ1KVxuXHRcdFx0XHRcdFx0XHRjaGFyYWN0ZXJzICs9IGRlbGltaXQobmV4dCgpKVxuXG5cdFx0XHRcdFx0XHRhdHJ1bGUgPSBwZWVrKCksIG9mZnNldCA9IGxlbmd0aCA9IHN0cmxlbih0eXBlID0gY2hhcmFjdGVycyArPSBpZGVudGlmaWVyKGNhcmV0KCkpKSwgY2hhcmFjdGVyKytcblx0XHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdFx0Ly8gLVxuXHRcdFx0XHRcdGNhc2UgNDU6XG5cdFx0XHRcdFx0XHRpZiAocHJldmlvdXMgPT09IDQ1ICYmIHN0cmxlbihjaGFyYWN0ZXJzKSA9PSAyKVxuXHRcdFx0XHRcdFx0XHR2YXJpYWJsZSA9IDBcblx0XHRcdFx0fVxuXHRcdH1cblxuXHRyZXR1cm4gcnVsZXNldHNcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge251bWJlcn0gb2Zmc2V0XG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBydWxlc1xuICogQHBhcmFtIHtudW1iZXJbXX0gcG9pbnRzXG4gKiBAcGFyYW0ge3N0cmluZ30gdHlwZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nW119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydWxlc2V0ICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBpbmRleCwgb2Zmc2V0LCBydWxlcywgcG9pbnRzLCB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIGxlbmd0aCkge1xuXHR2YXIgcG9zdCA9IG9mZnNldCAtIDFcblx0dmFyIHJ1bGUgPSBvZmZzZXQgPT09IDAgPyBydWxlcyA6IFsnJ11cblx0dmFyIHNpemUgPSBzaXplb2YocnVsZSlcblxuXHRmb3IgKHZhciBpID0gMCwgaiA9IDAsIGsgPSAwOyBpIDwgaW5kZXg7ICsraSlcblx0XHRmb3IgKHZhciB4ID0gMCwgeSA9IHN1YnN0cih2YWx1ZSwgcG9zdCArIDEsIHBvc3QgPSBhYnMoaiA9IHBvaW50c1tpXSkpLCB6ID0gdmFsdWU7IHggPCBzaXplOyArK3gpXG5cdFx0XHRpZiAoeiA9IHRyaW0oaiA+IDAgPyBydWxlW3hdICsgJyAnICsgeSA6IHJlcGxhY2UoeSwgLyZcXGYvZywgcnVsZVt4XSkpKVxuXHRcdFx0XHRwcm9wc1trKytdID0gelxuXG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIG9mZnNldCA9PT0gMCA/IFJVTEVTRVQgOiB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIGxlbmd0aClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHJldHVybiB7b2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbWVudCAodmFsdWUsIHJvb3QsIHBhcmVudCkge1xuXHRyZXR1cm4gbm9kZSh2YWx1ZSwgcm9vdCwgcGFyZW50LCBDT01NRU5ULCBmcm9tKGNoYXIoKSksIHN1YnN0cih2YWx1ZSwgMiwgLTIpLCAwKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0P30gcGFyZW50XG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNsYXJhdGlvbiAodmFsdWUsIHJvb3QsIHBhcmVudCwgbGVuZ3RoKSB7XG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIERFQ0xBUkFUSU9OLCBzdWJzdHIodmFsdWUsIDAsIGxlbmd0aCksIHN1YnN0cih2YWx1ZSwgbGVuZ3RoICsgMSwgLTEpLCBsZW5ndGgpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Parser.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Prefixer.js":
|
||
/*!*********************************************!*\
|
||
!*** ./node_modules/stylis/src/Prefixer.js ***!
|
||
\*********************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ prefix: function() { return /* binding */ prefix; }\n/* harmony export */ });\n/* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enum.js */ \"(app-pages-browser)/./node_modules/stylis/src/Enum.js\");\n/* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ \"(app-pages-browser)/./node_modules/stylis/src/Utility.js\");\n\n\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nfunction prefix (value, length, children) {\n\tswitch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.hash)(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(\\w+).+(:[^]+)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'box-$1$2' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-item-' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /flex-|-self/g, '') + (!(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /flex-|baseline/) ? _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'grid-row-' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-line-pack' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'box-' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-grow', '') + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /([^-])(transform)/g, '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(zoom-|grab)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1'), /(image-set)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(image-set\\([^]*)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+:)(flex-)?(.*)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'box-pack:$3' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /flex-|baseline/)) return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'grid-column-align' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.indexof)(value + (children = children[length].value), 'span') ? value : (_Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-start', '') + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'grid-row-span:' + (~(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.indexof)(children, 'span') ? (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(children, /\\d+/) : +(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(children, /\\d+/) - +(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(element.props, /grid-\\w+-start/) })) ? value : _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+)-inline(.+)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(value) - 1 - length > 6)\n\t\t\t\tswitch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+:)(.+)-([^]+)/, '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$2-$3' + '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.indexof)(value, 'stretch') ? prefix((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (_Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + a + ':' + b + f) + (c ? (_Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 6) === 121)\n\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, ':', ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$2$3' + '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, ':', ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1ByZWZpeGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5QztBQUN5Qzs7QUFFbEY7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQixZQUFZO0FBQ1o7QUFDTztBQUNQLFNBQVMsaURBQUk7QUFDYjtBQUNBO0FBQ0EsVUFBVSw0Q0FBTTtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSw0Q0FBTTtBQUNoQjtBQUNBO0FBQ0EsVUFBVSx5Q0FBRztBQUNiO0FBQ0E7QUFDQSxVQUFVLDRDQUFNLFdBQVcseUNBQUcsV0FBVyx3Q0FBRTtBQUMzQztBQUNBO0FBQ0EsV0FBVyxtREFBTTtBQUNqQjtBQUNBO0FBQ0EsWUFBWSw0Q0FBTSxXQUFXLHdDQUFFLEdBQUcsb0RBQU8seUJBQXlCLEVBQUU7QUFDcEU7QUFDQTtBQUNBLFlBQVksNENBQU0sV0FBVyx3Q0FBRSxHQUFHLG9EQUFPLHlCQUF5QixFQUFFO0FBQ3BFO0FBQ0E7QUFDQSxZQUFZLDRDQUFNLFdBQVcsd0NBQUUsR0FBRyxvREFBTyx5QkFBeUIsRUFBRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsNENBQU0sV0FBVyx3Q0FBRTtBQUM3QjtBQUNBO0FBQ0EsVUFBVSw0Q0FBTSxXQUFXLHdDQUFFO0FBQzdCO0FBQ0E7QUFDQSxVQUFVLDRDQUFNLFdBQVcsb0RBQU8sMEJBQTBCLDRDQUFNLGdCQUFnQix3Q0FBRTtBQUNwRjtBQUNBO0FBQ0EsVUFBVSw0Q0FBTSxXQUFXLHdDQUFFLGtCQUFrQixvREFBTyxnQ0FBZ0Msa0RBQUssNEJBQTRCLHdDQUFFLGlCQUFpQixvREFBTztBQUNqSjtBQUNBO0FBQ0EsVUFBVSw0Q0FBTSxXQUFXLHdDQUFFLHNCQUFzQixvREFBTztBQUMxRDtBQUNBO0FBQ0EsVUFBVSw0Q0FBTSxXQUFXLHdDQUFFLEdBQUcsb0RBQU87QUFDdkM7QUFDQTtBQUNBLFVBQVUsNENBQU0sV0FBVyx3Q0FBRSxHQUFHLG9EQUFPO0FBQ3ZDO0FBQ0E7QUFDQSxVQUFVLDRDQUFNLFlBQVksb0RBQU8sdUJBQXVCLDRDQUFNLFdBQVcsd0NBQUUsR0FBRyxvREFBTztBQUN2RjtBQUNBO0FBQ0EsVUFBVSw0Q0FBTSxHQUFHLG9EQUFPLHFDQUFxQyw0Q0FBTTtBQUNyRTtBQUNBO0FBQ0EsVUFBVSxvREFBTyxDQUFDLG9EQUFPLENBQUMsb0RBQU8sd0JBQXdCLDRDQUFNLHlCQUF5Qiw0Q0FBTTtBQUM5RjtBQUNBO0FBQ0EsVUFBVSxvREFBTyw2QkFBNkIsNENBQU07QUFDcEQ7QUFDQTtBQUNBLFVBQVUsb0RBQU8sQ0FBQyxvREFBTyw2QkFBNkIsNENBQU0sbUJBQW1CLHdDQUFFLDZCQUE2QixrQkFBa0IsNENBQU07QUFDdEk7QUFDQTtBQUNBLFFBQVEsa0RBQUssa0NBQWtDLHdDQUFFLHlCQUF5QixtREFBTTtBQUNoRjtBQUNBO0FBQ0E7QUFDQSxVQUFVLHdDQUFFLEdBQUcsb0RBQU87QUFDdEI7QUFDQTtBQUNBLDZEQUE2RCx1QkFBdUIsa0RBQUssaUNBQWlDO0FBQzFILFlBQVksb0RBQU8saUVBQWlFLHdDQUFFLEdBQUcsb0RBQU8sZ0NBQWdDLHdDQUFFLHdCQUF3QixvREFBTyxxQkFBcUIsa0RBQUsscUJBQXFCLGtEQUFLLHFCQUFxQixrREFBSyxvQkFBb0I7QUFDblE7QUFDQSxVQUFVLHdDQUFFLEdBQUcsb0RBQU87QUFDdEI7QUFDQTtBQUNBLDBEQUEwRCxPQUFPLGtEQUFLLG1DQUFtQyxhQUFhLHdDQUFFLEdBQUcsb0RBQU8sQ0FBQyxvREFBTztBQUMxSTtBQUNBO0FBQ0EsVUFBVSxvREFBTywyQkFBMkIsNENBQU07QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sbURBQU07QUFDYixZQUFZLG1EQUFNO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsbURBQU07QUFDaEI7QUFDQTtBQUNBO0FBQ0EsYUFBYSxvREFBTyxtQ0FBbUMsNENBQU0sb0JBQW9CLHlDQUFHLElBQUksbURBQU07QUFDOUY7QUFDQTtBQUNBLGNBQWMsb0RBQU8sNEJBQTRCLG9EQUFPO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxvREFBTyxzRkFBc0YsUUFBUSx3Q0FBRSw0QkFBNEIsd0NBQUUsd0RBQXdEO0FBQ3ZNO0FBQ0E7QUFDQTtBQUNBLE9BQU8sbURBQU07QUFDYixXQUFXLG9EQUFPLG1CQUFtQiw0Q0FBTTtBQUMzQztBQUNBO0FBQ0E7QUFDQSxXQUFXLG1EQUFNLFFBQVEsbURBQU07QUFDL0I7QUFDQTtBQUNBLFlBQVksb0RBQU8sa0JBQWtCLFFBQVEsc0JBQXNCLDRDQUFNLElBQUksbURBQU0sd0RBQXdELDRDQUFNLG1CQUFtQix3Q0FBRTtBQUN0SztBQUNBO0FBQ0EsWUFBWSxvREFBTyxtQkFBbUIsd0NBQUU7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9EQUFPO0FBQ2pCOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvUHJlZml4ZXIuanM/ZTIxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01TLCBNT1osIFdFQktJVH0gZnJvbSAnLi9FbnVtLmpzJ1xuaW1wb3J0IHtoYXNoLCBjaGFyYXQsIHN0cmxlbiwgaW5kZXhvZiwgcmVwbGFjZSwgc3Vic3RyLCBtYXRjaH0gZnJvbSAnLi9VdGlsaXR5LmpzJ1xuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZWZpeCAodmFsdWUsIGxlbmd0aCwgY2hpbGRyZW4pIHtcblx0c3dpdGNoIChoYXNoKHZhbHVlLCBsZW5ndGgpKSB7XG5cdFx0Ly8gY29sb3ItYWRqdXN0XG5cdFx0Y2FzZSA1MTAzOlxuXHRcdFx0cmV0dXJuIFdFQktJVCArICdwcmludC0nICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIGFuaW1hdGlvbiwgYW5pbWF0aW9uLShkZWxheXxkaXJlY3Rpb258ZHVyYXRpb258ZmlsbC1tb2RlfGl0ZXJhdGlvbi1jb3VudHxuYW1lfHBsYXktc3RhdGV8dGltaW5nLWZ1bmN0aW9uKVxuXHRcdGNhc2UgNTczNzogY2FzZSA0MjAxOiBjYXNlIDMxNzc6IGNhc2UgMzQzMzogY2FzZSAxNjQxOiBjYXNlIDQ0NTc6IGNhc2UgMjkyMTpcblx0XHQvLyB0ZXh0LWRlY29yYXRpb24sIGZpbHRlciwgY2xpcC1wYXRoLCBiYWNrZmFjZS12aXNpYmlsaXR5LCBjb2x1bW4sIGJveC1kZWNvcmF0aW9uLWJyZWFrXG5cdFx0Y2FzZSA1NTcyOiBjYXNlIDYzNTY6IGNhc2UgNTg0NDogY2FzZSAzMTkxOiBjYXNlIDY2NDU6IGNhc2UgMzAwNTpcblx0XHQvLyBtYXNrLCBtYXNrLWltYWdlLCBtYXNrLShtb2RlfGNsaXB8c2l6ZSksIG1hc2stKHJlcGVhdHxvcmlnaW4pLCBtYXNrLXBvc2l0aW9uLCBtYXNrLWNvbXBvc2l0ZSxcblx0XHRjYXNlIDYzOTE6IGNhc2UgNTg3OTogY2FzZSA1NjIzOiBjYXNlIDYxMzU6IGNhc2UgNDU5OTogY2FzZSA0ODU1OlxuXHRcdC8vIGJhY2tncm91bmQtY2xpcCwgY29sdW1ucywgY29sdW1uLShjb3VudHxmaWxsfGdhcHxydWxlfHJ1bGUtY29sb3J8cnVsZS1zdHlsZXxydWxlLXdpZHRofHNwYW58d2lkdGgpXG5cdFx0Y2FzZSA0MjE1OiBjYXNlIDYzODk6IGNhc2UgNTEwOTogY2FzZSA1MzY1OiBjYXNlIDU2MjE6IGNhc2UgMzgyOTpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIHZhbHVlXG5cdFx0Ly8gdGFiLXNpemVcblx0XHRjYXNlIDQ3ODk6XG5cdFx0XHRyZXR1cm4gTU9aICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIGFwcGVhcmFuY2UsIHVzZXItc2VsZWN0LCB0cmFuc2Zvcm0sIGh5cGhlbnMsIHRleHQtc2l6ZS1hZGp1c3Rcblx0XHRjYXNlIDUzNDk6IGNhc2UgNDI0NjogY2FzZSA0ODEwOiBjYXNlIDY5Njg6IGNhc2UgMjc1Njpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1PWiArIHZhbHVlICsgTVMgKyB2YWx1ZSArIHZhbHVlXG5cdFx0Ly8gd3JpdGluZy1tb2RlXG5cdFx0Y2FzZSA1OTM2OlxuXHRcdFx0c3dpdGNoIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDExKSkge1xuXHRcdFx0XHQvLyB2ZXJ0aWNhbC1sKHIpXG5cdFx0XHRcdGNhc2UgMTE0OlxuXHRcdFx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAndGInKSArIHZhbHVlXG5cdFx0XHRcdC8vIHZlcnRpY2FsLXIobClcblx0XHRcdFx0Y2FzZSAxMDg6XG5cdFx0XHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAvW3N2aF1cXHcrLVt0YmxyXXsyfS8sICd0Yi1ybCcpICsgdmFsdWVcblx0XHRcdFx0Ly8gaG9yaXpvbnRhbCgtKXRiXG5cdFx0XHRcdGNhc2UgNDU6XG5cdFx0XHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAvW3N2aF1cXHcrLVt0YmxyXXsyfS8sICdscicpICsgdmFsdWVcblx0XHRcdFx0Ly8gZGVmYXVsdDogZmFsbHRocm91Z2ggdG8gYmVsb3dcblx0XHRcdH1cblx0XHQvLyBmbGV4LCBmbGV4LWRpcmVjdGlvbiwgc2Nyb2xsLXNuYXAtdHlwZSwgd3JpdGluZy1tb2RlXG5cdFx0Y2FzZSA2ODI4OiBjYXNlIDQyNjg6IGNhc2UgMjkwMzpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIG9yZGVyXG5cdFx0Y2FzZSA2MTY1OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC0nICsgdmFsdWUgKyB2YWx1ZVxuXHRcdC8vIGFsaWduLWl0ZW1zXG5cdFx0Y2FzZSA1MTg3OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgcmVwbGFjZSh2YWx1ZSwgLyhcXHcrKS4rKDpbXl0rKS8sIFdFQktJVCArICdib3gtJDEkMicgKyBNUyArICdmbGV4LSQxJDInKSArIHZhbHVlXG5cdFx0Ly8gYWxpZ24tc2VsZlxuXHRcdGNhc2UgNTQ0Mzpcblx0XHRcdHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgJ2ZsZXgtaXRlbS0nICsgcmVwbGFjZSh2YWx1ZSwgL2ZsZXgtfC1zZWxmL2csICcnKSArICghbWF0Y2godmFsdWUsIC9mbGV4LXxiYXNlbGluZS8pID8gTVMgKyAnZ3JpZC1yb3ctJyArIHJlcGxhY2UodmFsdWUsIC9mbGV4LXwtc2VsZi9nLCAnJykgOiAnJykgKyB2YWx1ZVxuXHRcdC8vIGFsaWduLWNvbnRlbnRcblx0XHRjYXNlIDQ2NzU6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArICdmbGV4LWxpbmUtcGFjaycgKyByZXBsYWNlKHZhbHVlLCAvYWxpZ24tY29udGVudHxmbGV4LXwtc2VsZi9nLCAnJykgKyB2YWx1ZVxuXHRcdC8vIGZsZXgtc2hyaW5rXG5cdFx0Y2FzZSA1NTQ4OlxuXHRcdFx0cmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnc2hyaW5rJywgJ25lZ2F0aXZlJykgKyB2YWx1ZVxuXHRcdC8vIGZsZXgtYmFzaXNcblx0XHRjYXNlIDUyOTI6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdiYXNpcycsICdwcmVmZXJyZWQtc2l6ZScpICsgdmFsdWVcblx0XHQvLyBmbGV4LWdyb3dcblx0XHRjYXNlIDYwNjA6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgJ2JveC0nICsgcmVwbGFjZSh2YWx1ZSwgJy1ncm93JywgJycpICsgV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdncm93JywgJ3Bvc2l0aXZlJykgKyB2YWx1ZVxuXHRcdC8vIHRyYW5zaXRpb25cblx0XHRjYXNlIDQ1NTQ6XG5cdFx0XHRyZXR1cm4gV0VCS0lUICsgcmVwbGFjZSh2YWx1ZSwgLyhbXi1dKSh0cmFuc2Zvcm0pL2csICckMScgKyBXRUJLSVQgKyAnJDInKSArIHZhbHVlXG5cdFx0Ly8gY3Vyc29yXG5cdFx0Y2FzZSA2MTg3OlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UocmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKHpvb20tfGdyYWIpLywgV0VCS0lUICsgJyQxJyksIC8oaW1hZ2Utc2V0KS8sIFdFQktJVCArICckMScpLCB2YWx1ZSwgJycpICsgdmFsdWVcblx0XHQvLyBiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kLWltYWdlXG5cdFx0Y2FzZSA1NDk1OiBjYXNlIDM5NTk6XG5cdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgLyhpbWFnZS1zZXRcXChbXl0qKS8sIFdFQktJVCArICckMScgKyAnJGAkMScpXG5cdFx0Ly8ganVzdGlmeS1jb250ZW50XG5cdFx0Y2FzZSA0OTY4OlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UocmVwbGFjZSh2YWx1ZSwgLyguKzopKGZsZXgtKT8oLiopLywgV0VCS0lUICsgJ2JveC1wYWNrOiQzJyArIE1TICsgJ2ZsZXgtcGFjazokMycpLCAvcy4rLWJbXjtdKy8sICdqdXN0aWZ5JykgKyBXRUJLSVQgKyB2YWx1ZSArIHZhbHVlXG5cdFx0Ly8ganVzdGlmeS1zZWxmXG5cdFx0Y2FzZSA0MjAwOlxuXHRcdFx0aWYgKCFtYXRjaCh2YWx1ZSwgL2ZsZXgtfGJhc2VsaW5lLykpIHJldHVybiBNUyArICdncmlkLWNvbHVtbi1hbGlnbicgKyBzdWJzdHIodmFsdWUsIGxlbmd0aCkgKyB2YWx1ZVxuXHRcdFx0YnJlYWtcblx0XHQvLyBncmlkLXRlbXBsYXRlLShjb2x1bW5zfHJvd3MpXG5cdFx0Y2FzZSAyNTkyOiBjYXNlIDMzNjA6XG5cdFx0XHRyZXR1cm4gTVMgKyByZXBsYWNlKHZhbHVlLCAndGVtcGxhdGUtJywgJycpICsgdmFsdWVcblx0XHQvLyBncmlkLShyb3d8Y29sdW1uKS1zdGFydFxuXHRcdGNhc2UgNDM4NDogY2FzZSAzNjE2OlxuXHRcdFx0aWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLnNvbWUoZnVuY3Rpb24gKGVsZW1lbnQsIGluZGV4KSB7IHJldHVybiBsZW5ndGggPSBpbmRleCwgbWF0Y2goZWxlbWVudC5wcm9wcywgL2dyaWQtXFx3Ky1lbmQvKSB9KSkge1xuXHRcdFx0XHRyZXR1cm4gfmluZGV4b2YodmFsdWUgKyAoY2hpbGRyZW4gPSBjaGlsZHJlbltsZW5ndGhdLnZhbHVlKSwgJ3NwYW4nKSA/IHZhbHVlIDogKE1TICsgcmVwbGFjZSh2YWx1ZSwgJy1zdGFydCcsICcnKSArIHZhbHVlICsgTVMgKyAnZ3JpZC1yb3ctc3BhbjonICsgKH5pbmRleG9mKGNoaWxkcmVuLCAnc3BhbicpID8gbWF0Y2goY2hpbGRyZW4sIC9cXGQrLykgOiArbWF0Y2goY2hpbGRyZW4sIC9cXGQrLykgLSArbWF0Y2godmFsdWUsIC9cXGQrLykpICsgJzsnKVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIE1TICsgcmVwbGFjZSh2YWx1ZSwgJy1zdGFydCcsICcnKSArIHZhbHVlXG5cdFx0Ly8gZ3JpZC0ocm93fGNvbHVtbiktZW5kXG5cdFx0Y2FzZSA0ODk2OiBjYXNlIDQxMjg6XG5cdFx0XHRyZXR1cm4gKGNoaWxkcmVuICYmIGNoaWxkcmVuLnNvbWUoZnVuY3Rpb24gKGVsZW1lbnQpIHsgcmV0dXJuIG1hdGNoKGVsZW1lbnQucHJvcHMsIC9ncmlkLVxcdystc3RhcnQvKSB9KSkgPyB2YWx1ZSA6IE1TICsgcmVwbGFjZShyZXBsYWNlKHZhbHVlLCAnLWVuZCcsICctc3BhbicpLCAnc3BhbiAnLCAnJykgKyB2YWx1ZVxuXHRcdC8vIChtYXJnaW58cGFkZGluZyktaW5saW5lLShzdGFydHxlbmQpXG5cdFx0Y2FzZSA0MDk1OiBjYXNlIDM1ODM6IGNhc2UgNDA2ODogY2FzZSAyNTMyOlxuXHRcdFx0cmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLispLWlubGluZSguKykvLCBXRUJLSVQgKyAnJDEkMicpICsgdmFsdWVcblx0XHQvLyAobWlufG1heCk/KHdpZHRofGhlaWdodHxpbmxpbmUtc2l6ZXxibG9jay1zaXplKVxuXHRcdGNhc2UgODExNjogY2FzZSA3MDU5OiBjYXNlIDU3NTM6IGNhc2UgNTUzNTpcblx0XHRjYXNlIDU0NDU6IGNhc2UgNTcwMTogY2FzZSA0OTMzOiBjYXNlIDQ2Nzc6XG5cdFx0Y2FzZSA1NTMzOiBjYXNlIDU3ODk6IGNhc2UgNTAyMTogY2FzZSA0NzY1OlxuXHRcdFx0Ly8gc3RyZXRjaCwgbWF4LWNvbnRlbnQsIG1pbi1jb250ZW50LCBmaWxsLWF2YWlsYWJsZVxuXHRcdFx0aWYgKHN0cmxlbih2YWx1ZSkgLSAxIC0gbGVuZ3RoID4gNilcblx0XHRcdFx0c3dpdGNoIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDEpKSB7XG5cdFx0XHRcdFx0Ly8gKG0pYXgtY29udGVudCwgKG0paW4tY29udGVudFxuXHRcdFx0XHRcdGNhc2UgMTA5OlxuXHRcdFx0XHRcdFx0Ly8gLVxuXHRcdFx0XHRcdFx0aWYgKGNoYXJhdCh2YWx1ZSwgbGVuZ3RoICsgNCkgIT09IDQ1KVxuXHRcdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vIChmKWlsbC1hdmFpbGFibGUsIChmKWl0LWNvbnRlbnRcblx0XHRcdFx0XHRjYXNlIDEwMjpcblx0XHRcdFx0XHRcdHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rOikoLispLShbXl0rKS8sICckMScgKyBXRUJLSVQgKyAnJDItJDMnICsgJyQxJyArIE1PWiArIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDMpID09IDEwOCA/ICckMycgOiAnJDItJDMnKSkgKyB2YWx1ZVxuXHRcdFx0XHRcdC8vIChzKXRyZXRjaFxuXHRcdFx0XHRcdGNhc2UgMTE1OlxuXHRcdFx0XHRcdFx0cmV0dXJuIH5pbmRleG9mKHZhbHVlLCAnc3RyZXRjaCcpID8gcHJlZml4KHJlcGxhY2UodmFsdWUsICdzdHJldGNoJywgJ2ZpbGwtYXZhaWxhYmxlJyksIGxlbmd0aCwgY2hpbGRyZW4pICsgdmFsdWUgOiB2YWx1ZVxuXHRcdFx0XHR9XG5cdFx0XHRicmVha1xuXHRcdC8vIGdyaWQtKGNvbHVtbnxyb3cpXG5cdFx0Y2FzZSA1MTUyOiBjYXNlIDU5MjA6XG5cdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgLyguKz8pOihcXGQrKShcXHMqXFwvXFxzKihzcGFuKT9cXHMqKFxcZCspKT8oLiopLywgZnVuY3Rpb24gKF8sIGEsIGIsIGMsIGQsIGUsIGYpIHsgcmV0dXJuIChNUyArIGEgKyAnOicgKyBiICsgZikgKyAoYyA/IChNUyArIGEgKyAnLXNwYW46JyArIChkID8gZSA6ICtlIC0gK2IpKSArIGYgOiAnJykgKyB2YWx1ZSB9KVxuXHRcdC8vIHBvc2l0aW9uOiBzdGlja3lcblx0XHRjYXNlIDQ5NDk6XG5cdFx0XHQvLyBzdGljayh5KT9cblx0XHRcdGlmIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDYpID09PSAxMjEpXG5cdFx0XHRcdHJldHVybiByZXBsYWNlKHZhbHVlLCAnOicsICc6JyArIFdFQktJVCkgKyB2YWx1ZVxuXHRcdFx0YnJlYWtcblx0XHQvLyBkaXNwbGF5OiAoZmxleHxpbmxpbmUtZmxleHxncmlkfGlubGluZS1ncmlkKVxuXHRcdGNhc2UgNjQ0NDpcblx0XHRcdHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBjaGFyYXQodmFsdWUsIDE0KSA9PT0gNDUgPyAxOCA6IDExKSkge1xuXHRcdFx0XHQvLyAoaW5saW5lLSk/ZmxlKHgpXG5cdFx0XHRcdGNhc2UgMTIwOlxuXHRcdFx0XHRcdHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rOikoW147XFxzIV0rKSg7fChcXHMrKT8hLispPy8sICckMScgKyBXRUJLSVQgKyAoY2hhcmF0KHZhbHVlLCAxNCkgPT09IDQ1ID8gJ2lubGluZS0nIDogJycpICsgJ2JveCQzJyArICckMScgKyBXRUJLSVQgKyAnJDIkMycgKyAnJDEnICsgTVMgKyAnJDJib3gkMycpICsgdmFsdWVcblx0XHRcdFx0Ly8gKGlubGluZS0pP2dyaShkKVxuXHRcdFx0XHRjYXNlIDEwMDpcblx0XHRcdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgJzonLCAnOicgKyBNUykgKyB2YWx1ZVxuXHRcdFx0fVxuXHRcdFx0YnJlYWtcblx0XHQvLyBzY3JvbGwtbWFyZ2luLCBzY3JvbGwtbWFyZ2luLSh0b3B8cmlnaHR8Ym90dG9tfGxlZnQpXG5cdFx0Y2FzZSA1NzE5OiBjYXNlIDI2NDc6IGNhc2UgMjEzNTogY2FzZSAzOTI3OiBjYXNlIDIzOTE6XG5cdFx0XHRyZXR1cm4gcmVwbGFjZSh2YWx1ZSwgJ3Njcm9sbC0nLCAnc2Nyb2xsLXNuYXAtJykgKyB2YWx1ZVxuXHR9XG5cblx0cmV0dXJuIHZhbHVlXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Prefixer.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Serializer.js":
|
||
/*!***********************************************!*\
|
||
!*** ./node_modules/stylis/src/Serializer.js ***!
|
||
\***********************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ serialize: function() { return /* binding */ serialize; },\n/* harmony export */ stringify: function() { return /* binding */ stringify; }\n/* harmony export */ });\n/* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enum.js */ \"(app-pages-browser)/./node_modules/stylis/src/Enum.js\");\n/* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ \"(app-pages-browser)/./node_modules/stylis/src/Utility.js\");\n\n\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nfunction serialize (children, callback) {\n\tvar output = ''\n\tvar length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nfunction stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.LAYER: if (element.children.length) break\n\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.IMPORT: case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.DECLARATION: return element.return = element.return || element.value\n\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.COMMENT: return ''\n\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase _Enum_js__WEBPACK_IMPORTED_MODULE_1__.RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1NlcmlhbGl6ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFpRjtBQUN0Qzs7QUFFM0M7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxVQUFVO0FBQ3JCLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQSxjQUFjLG1EQUFNOztBQUVwQixpQkFBaUIsWUFBWTtBQUM3Qjs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckIsV0FBVyxVQUFVO0FBQ3JCLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQSxPQUFPLDJDQUFLO0FBQ1osT0FBTyw0Q0FBTSxPQUFPLGlEQUFXO0FBQy9CLE9BQU8sNkNBQU87QUFDZCxPQUFPLCtDQUFTLDRDQUE0Qyw4Q0FBOEM7QUFDMUcsT0FBTyw2Q0FBTztBQUNkOztBQUVBLFFBQVEsbURBQU0sd0ZBQXdGLGlCQUFpQjtBQUN2SCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9TZXJpYWxpemVyLmpzPzRhZDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJTVBPUlQsIExBWUVSLCBDT01NRU5ULCBSVUxFU0VULCBERUNMQVJBVElPTiwgS0VZRlJBTUVTfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge3N0cmxlbiwgc2l6ZW9mfSBmcm9tICcuL1V0aWxpdHkuanMnXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3RbXX0gY2hpbGRyZW5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUgKGNoaWxkcmVuLCBjYWxsYmFjaykge1xuXHR2YXIgb3V0cHV0ID0gJydcblx0dmFyIGxlbmd0aCA9IHNpemVvZihjaGlsZHJlbilcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKVxuXHRcdG91dHB1dCArPSBjYWxsYmFjayhjaGlsZHJlbltpXSwgaSwgY2hpbGRyZW4sIGNhbGxiYWNrKSB8fCAnJ1xuXG5cdHJldHVybiBvdXRwdXRcbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gZWxlbWVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge29iamVjdFtdfSBjaGlsZHJlblxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeSAoZWxlbWVudCwgaW5kZXgsIGNoaWxkcmVuLCBjYWxsYmFjaykge1xuXHRzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuXHRcdGNhc2UgTEFZRVI6IGlmIChlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCkgYnJlYWtcblx0XHRjYXNlIElNUE9SVDogY2FzZSBERUNMQVJBVElPTjogcmV0dXJuIGVsZW1lbnQucmV0dXJuID0gZWxlbWVudC5yZXR1cm4gfHwgZWxlbWVudC52YWx1ZVxuXHRcdGNhc2UgQ09NTUVOVDogcmV0dXJuICcnXG5cdFx0Y2FzZSBLRVlGUkFNRVM6IHJldHVybiBlbGVtZW50LnJldHVybiA9IGVsZW1lbnQudmFsdWUgKyAneycgKyBzZXJpYWxpemUoZWxlbWVudC5jaGlsZHJlbiwgY2FsbGJhY2spICsgJ30nXG5cdFx0Y2FzZSBSVUxFU0VUOiBlbGVtZW50LnZhbHVlID0gZWxlbWVudC5wcm9wcy5qb2luKCcsJylcblx0fVxuXG5cdHJldHVybiBzdHJsZW4oY2hpbGRyZW4gPSBzZXJpYWxpemUoZWxlbWVudC5jaGlsZHJlbiwgY2FsbGJhY2spKSA/IGVsZW1lbnQucmV0dXJuID0gZWxlbWVudC52YWx1ZSArICd7JyArIGNoaWxkcmVuICsgJ30nIDogJydcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Serializer.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Tokenizer.js":
|
||
/*!**********************************************!*\
|
||
!*** ./node_modules/stylis/src/Tokenizer.js ***!
|
||
\**********************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ alloc: function() { return /* binding */ alloc; },\n/* harmony export */ caret: function() { return /* binding */ caret; },\n/* harmony export */ char: function() { return /* binding */ char; },\n/* harmony export */ character: function() { return /* binding */ character; },\n/* harmony export */ characters: function() { return /* binding */ characters; },\n/* harmony export */ column: function() { return /* binding */ column; },\n/* harmony export */ commenter: function() { return /* binding */ commenter; },\n/* harmony export */ copy: function() { return /* binding */ copy; },\n/* harmony export */ dealloc: function() { return /* binding */ dealloc; },\n/* harmony export */ delimit: function() { return /* binding */ delimit; },\n/* harmony export */ delimiter: function() { return /* binding */ delimiter; },\n/* harmony export */ escaping: function() { return /* binding */ escaping; },\n/* harmony export */ identifier: function() { return /* binding */ identifier; },\n/* harmony export */ length: function() { return /* binding */ length; },\n/* harmony export */ line: function() { return /* binding */ line; },\n/* harmony export */ next: function() { return /* binding */ next; },\n/* harmony export */ node: function() { return /* binding */ node; },\n/* harmony export */ peek: function() { return /* binding */ peek; },\n/* harmony export */ position: function() { return /* binding */ position; },\n/* harmony export */ prev: function() { return /* binding */ prev; },\n/* harmony export */ slice: function() { return /* binding */ slice; },\n/* harmony export */ token: function() { return /* binding */ token; },\n/* harmony export */ tokenize: function() { return /* binding */ tokenize; },\n/* harmony export */ tokenizer: function() { return /* binding */ tokenizer; },\n/* harmony export */ whitespace: function() { return /* binding */ whitespace; }\n/* harmony export */ });\n/* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ \"(app-pages-browser)/./node_modules/stylis/src/Utility.js\");\n\n\nvar line = 1\nvar column = 1\nvar length = 0\nvar position = 0\nvar character = 0\nvar characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nfunction node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nfunction copy (root, props) {\n\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.assign)(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nfunction char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nfunction prev () {\n\tcharacter = position > 0 ? (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nfunction next () {\n\tcharacter = position < length ? (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nfunction peek () {\n\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(characters, position)\n}\n\n/**\n * @return {number}\n */\nfunction caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nfunction slice (begin, end) {\n\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nfunction token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nfunction alloc (value) {\n\treturn line = column = 1, length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nfunction dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nfunction delimit (type) {\n\treturn (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.trim)(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nfunction tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nfunction whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nfunction tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.append)(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: ;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.append)(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: ;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.append)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.from)(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nfunction escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nfunction delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nfunction commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.from)(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nfunction identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1Rva2VuaXplci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUErRTs7QUFFeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVQO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsZUFBZTtBQUMxQixXQUFXLGVBQWU7QUFDMUIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsbUJBQW1CO0FBQzlCLFdBQVcsbUJBQW1CO0FBQzlCLFdBQVcsUUFBUTtBQUNuQjtBQUNPO0FBQ1AsU0FBUztBQUNUOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDTztBQUNQLFFBQVEsbURBQU0saURBQWlELHFCQUFxQjtBQUNwRjs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNPO0FBQ1AsNEJBQTRCLG1EQUFNOztBQUVsQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDTztBQUNQLGlDQUFpQyxtREFBTTs7QUFFdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsWUFBWTtBQUNaO0FBQ087QUFDUCxRQUFRLG1EQUFNO0FBQ2Q7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1AsUUFBUSxtREFBTTtBQUNkOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1Asb0NBQW9DLG1EQUFNO0FBQzFDOztBQUVBO0FBQ0EsV0FBVyxLQUFLO0FBQ2hCLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDTztBQUNQLFFBQVEsaURBQUk7QUFDWjs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFVBQVU7QUFDckIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBO0FBQ0EsV0FBVyxtREFBTTtBQUNqQjtBQUNBLFdBQVcsb0RBQU07QUFDakI7QUFDQSxZQUFZLG9EQUFNLENBQUMsaURBQUk7QUFDdkI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtEQUFrRCxpREFBSTtBQUN0RDs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9Ub2tlbml6ZXIuanM/ZTBiYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Zyb20sIHRyaW0sIGNoYXJhdCwgc3RybGVuLCBzdWJzdHIsIGFwcGVuZCwgYXNzaWdufSBmcm9tICcuL1V0aWxpdHkuanMnXG5cbmV4cG9ydCB2YXIgbGluZSA9IDFcbmV4cG9ydCB2YXIgY29sdW1uID0gMVxuZXhwb3J0IHZhciBsZW5ndGggPSAwXG5leHBvcnQgdmFyIHBvc2l0aW9uID0gMFxuZXhwb3J0IHZhciBjaGFyYWN0ZXIgPSAwXG5leHBvcnQgdmFyIGNoYXJhY3RlcnMgPSAnJ1xuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsfSByb290XG4gKiBAcGFyYW0ge29iamVjdCB8IG51bGx9IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nW10gfCBzdHJpbmd9IHByb3BzXG4gKiBAcGFyYW0ge29iamVjdFtdIHwgc3RyaW5nfSBjaGlsZHJlblxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9kZSAodmFsdWUsIHJvb3QsIHBhcmVudCwgdHlwZSwgcHJvcHMsIGNoaWxkcmVuLCBsZW5ndGgpIHtcblx0cmV0dXJuIHt2YWx1ZTogdmFsdWUsIHJvb3Q6IHJvb3QsIHBhcmVudDogcGFyZW50LCB0eXBlOiB0eXBlLCBwcm9wczogcHJvcHMsIGNoaWxkcmVuOiBjaGlsZHJlbiwgbGluZTogbGluZSwgY29sdW1uOiBjb2x1bW4sIGxlbmd0aDogbGVuZ3RoLCByZXR1cm46ICcnfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvcHkgKHJvb3QsIHByb3BzKSB7XG5cdHJldHVybiBhc3NpZ24obm9kZSgnJywgbnVsbCwgbnVsbCwgJycsIG51bGwsIG51bGwsIDApLCByb290LCB7bGVuZ3RoOiAtcm9vdC5sZW5ndGh9LCBwcm9wcylcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFyICgpIHtcblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXYgKCkge1xuXHRjaGFyYWN0ZXIgPSBwb3NpdGlvbiA+IDAgPyBjaGFyYXQoY2hhcmFjdGVycywgLS1wb3NpdGlvbikgOiAwXG5cblx0aWYgKGNvbHVtbi0tLCBjaGFyYWN0ZXIgPT09IDEwKVxuXHRcdGNvbHVtbiA9IDEsIGxpbmUtLVxuXG5cdHJldHVybiBjaGFyYWN0ZXJcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXh0ICgpIHtcblx0Y2hhcmFjdGVyID0gcG9zaXRpb24gPCBsZW5ndGggPyBjaGFyYXQoY2hhcmFjdGVycywgcG9zaXRpb24rKykgOiAwXG5cblx0aWYgKGNvbHVtbisrLCBjaGFyYWN0ZXIgPT09IDEwKVxuXHRcdGNvbHVtbiA9IDEsIGxpbmUrK1xuXG5cdHJldHVybiBjaGFyYWN0ZXJcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZWVrICgpIHtcblx0cmV0dXJuIGNoYXJhdChjaGFyYWN0ZXJzLCBwb3NpdGlvbilcbn1cblxuLyoqXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXJldCAoKSB7XG5cdHJldHVybiBwb3NpdGlvblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBiZWdpblxuICogQHBhcmFtIHtudW1iZXJ9IGVuZFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2xpY2UgKGJlZ2luLCBlbmQpIHtcblx0cmV0dXJuIHN1YnN0cihjaGFyYWN0ZXJzLCBiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbiAodHlwZSkge1xuXHRzd2l0Y2ggKHR5cGUpIHtcblx0XHQvLyBcXDAgXFx0IFxcbiBcXHIgXFxzIHdoaXRlc3BhY2UgdG9rZW5cblx0XHRjYXNlIDA6IGNhc2UgOTogY2FzZSAxMDogY2FzZSAxMzogY2FzZSAzMjpcblx0XHRcdHJldHVybiA1XG5cdFx0Ly8gISArICwgLyA+IEAgfiBpc29sYXRlIHRva2VuXG5cdFx0Y2FzZSAzMzogY2FzZSA0MzogY2FzZSA0NDogY2FzZSA0NzogY2FzZSA2MjogY2FzZSA2NDogY2FzZSAxMjY6XG5cdFx0Ly8gOyB7IH0gYnJlYWtwb2ludCB0b2tlblxuXHRcdGNhc2UgNTk6IGNhc2UgMTIzOiBjYXNlIDEyNTpcblx0XHRcdHJldHVybiA0XG5cdFx0Ly8gOiBhY2NvbXBhbmllZCB0b2tlblxuXHRcdGNhc2UgNTg6XG5cdFx0XHRyZXR1cm4gM1xuXHRcdC8vIFwiICcgKCBbIG9wZW5pbmcgZGVsaW1pdCB0b2tlblxuXHRcdGNhc2UgMzQ6IGNhc2UgMzk6IGNhc2UgNDA6IGNhc2UgOTE6XG5cdFx0XHRyZXR1cm4gMlxuXHRcdC8vICkgXSBjbG9zaW5nIGRlbGltaXQgdG9rZW5cblx0XHRjYXNlIDQxOiBjYXNlIDkzOlxuXHRcdFx0cmV0dXJuIDFcblx0fVxuXG5cdHJldHVybiAwXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHthbnlbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFsbG9jICh2YWx1ZSkge1xuXHRyZXR1cm4gbGluZSA9IGNvbHVtbiA9IDEsIGxlbmd0aCA9IHN0cmxlbihjaGFyYWN0ZXJzID0gdmFsdWUpLCBwb3NpdGlvbiA9IDAsIFtdXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJuIHthbnl9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWFsbG9jICh2YWx1ZSkge1xuXHRyZXR1cm4gY2hhcmFjdGVycyA9ICcnLCB2YWx1ZVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpbWl0ICh0eXBlKSB7XG5cdHJldHVybiB0cmltKHNsaWNlKHBvc2l0aW9uIC0gMSwgZGVsaW1pdGVyKHR5cGUgPT09IDkxID8gdHlwZSArIDIgOiB0eXBlID09PSA0MCA/IHR5cGUgKyAxIDogdHlwZSkpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7c3RyaW5nW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbml6ZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2ModG9rZW5pemVyKGFsbG9jKHZhbHVlKSkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoaXRlc3BhY2UgKHR5cGUpIHtcblx0d2hpbGUgKGNoYXJhY3RlciA9IHBlZWsoKSlcblx0XHRpZiAoY2hhcmFjdGVyIDwgMzMpXG5cdFx0XHRuZXh0KClcblx0XHRlbHNlXG5cdFx0XHRicmVha1xuXG5cdHJldHVybiB0b2tlbih0eXBlKSA+IDIgfHwgdG9rZW4oY2hhcmFjdGVyKSA+IDMgPyAnJyA6ICcgJ1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nW119IGNoaWxkcmVuXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplciAoY2hpbGRyZW4pIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHRzd2l0Y2ggKHRva2VuKGNoYXJhY3RlcikpIHtcblx0XHRcdGNhc2UgMDogYXBwZW5kKGlkZW50aWZpZXIocG9zaXRpb24gLSAxKSwgY2hpbGRyZW4pXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHRjYXNlIDI6IGFwcGVuZChkZWxpbWl0KGNoYXJhY3RlciksIGNoaWxkcmVuKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0ZGVmYXVsdDogYXBwZW5kKGZyb20oY2hhcmFjdGVyKSwgY2hpbGRyZW4pXG5cdFx0fVxuXG5cdHJldHVybiBjaGlsZHJlblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHBhcmFtIHtudW1iZXJ9IGNvdW50XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGluZyAoaW5kZXgsIGNvdW50KSB7XG5cdHdoaWxlICgtLWNvdW50ICYmIG5leHQoKSlcblx0XHQvLyBub3QgMC05IEEtRiBhLWZcblx0XHRpZiAoY2hhcmFjdGVyIDwgNDggfHwgY2hhcmFjdGVyID4gMTAyIHx8IChjaGFyYWN0ZXIgPiA1NyAmJiBjaGFyYWN0ZXIgPCA2NSkgfHwgKGNoYXJhY3RlciA+IDcwICYmIGNoYXJhY3RlciA8IDk3KSlcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuIHNsaWNlKGluZGV4LCBjYXJldCgpICsgKGNvdW50IDwgNiAmJiBwZWVrKCkgPT0gMzIgJiYgbmV4dCgpID09IDMyKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsaW1pdGVyICh0eXBlKSB7XG5cdHdoaWxlIChuZXh0KCkpXG5cdFx0c3dpdGNoIChjaGFyYWN0ZXIpIHtcblx0XHRcdC8vIF0gKSBcIiAnXG5cdFx0XHRjYXNlIHR5cGU6XG5cdFx0XHRcdHJldHVybiBwb3NpdGlvblxuXHRcdFx0Ly8gXCIgJ1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTpcblx0XHRcdFx0aWYgKHR5cGUgIT09IDM0ICYmIHR5cGUgIT09IDM5KVxuXHRcdFx0XHRcdGRlbGltaXRlcihjaGFyYWN0ZXIpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyAoXG5cdFx0XHRjYXNlIDQwOlxuXHRcdFx0XHRpZiAodHlwZSA9PT0gNDEpXG5cdFx0XHRcdFx0ZGVsaW1pdGVyKHR5cGUpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0bmV4dCgpXG5cdFx0XHRcdGJyZWFrXG5cdFx0fVxuXG5cdHJldHVybiBwb3NpdGlvblxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbW1lbnRlciAodHlwZSwgaW5kZXgpIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHQvLyAvL1xuXHRcdGlmICh0eXBlICsgY2hhcmFjdGVyID09PSA0NyArIDEwKVxuXHRcdFx0YnJlYWtcblx0XHQvLyAvKlxuXHRcdGVsc2UgaWYgKHR5cGUgKyBjaGFyYWN0ZXIgPT09IDQyICsgNDIgJiYgcGVlaygpID09PSA0Nylcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuICcvKicgKyBzbGljZShpbmRleCwgcG9zaXRpb24gLSAxKSArICcqJyArIGZyb20odHlwZSA9PT0gNDcgPyB0eXBlIDogbmV4dCgpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpZmllciAoaW5kZXgpIHtcblx0d2hpbGUgKCF0b2tlbihwZWVrKCkpKVxuXHRcdG5leHQoKVxuXG5cdHJldHVybiBzbGljZShpbmRleCwgcG9zaXRpb24pXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Tokenizer.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/stylis/src/Utility.js":
|
||
/*!********************************************!*\
|
||
!*** ./node_modules/stylis/src/Utility.js ***!
|
||
\********************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ abs: function() { return /* binding */ abs; },\n/* harmony export */ append: function() { return /* binding */ append; },\n/* harmony export */ assign: function() { return /* binding */ assign; },\n/* harmony export */ charat: function() { return /* binding */ charat; },\n/* harmony export */ combine: function() { return /* binding */ combine; },\n/* harmony export */ from: function() { return /* binding */ from; },\n/* harmony export */ hash: function() { return /* binding */ hash; },\n/* harmony export */ indexof: function() { return /* binding */ indexof; },\n/* harmony export */ match: function() { return /* binding */ match; },\n/* harmony export */ replace: function() { return /* binding */ replace; },\n/* harmony export */ sizeof: function() { return /* binding */ sizeof; },\n/* harmony export */ strlen: function() { return /* binding */ strlen; },\n/* harmony export */ substr: function() { return /* binding */ substr; },\n/* harmony export */ trim: function() { return /* binding */ trim; }\n/* harmony export */ });\n/**\n * @param {number}\n * @return {number}\n */\nvar abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nvar from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nvar assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nfunction hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nfunction trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nfunction match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nfunction replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nfunction indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nfunction charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nfunction substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nfunction strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nfunction sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nfunction append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nfunction combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1V0aWxpdHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLFdBQVc7QUFDWCxZQUFZO0FBQ1o7QUFDTzs7QUFFUDtBQUNBLFdBQVc7QUFDWCxZQUFZO0FBQ1o7QUFDTzs7QUFFUDtBQUNBLFdBQVc7QUFDWCxZQUFZO0FBQ1o7QUFDTzs7QUFFUDtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsaUJBQWlCO0FBQzVCLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7QUFDTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLEtBQUs7QUFDaEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsWUFBWTtBQUNaO0FBQ087QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1V0aWxpdHkuanM/N2Y0YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYXJhbSB7bnVtYmVyfVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgdmFyIGFicyA9IE1hdGguYWJzXG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCB2YXIgZnJvbSA9IFN0cmluZy5mcm9tQ2hhckNvZGVcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH1cbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IHZhciBhc3NpZ24gPSBPYmplY3QuYXNzaWduXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNoICh2YWx1ZSwgbGVuZ3RoKSB7XG5cdHJldHVybiBjaGFyYXQodmFsdWUsIDApIF4gNDUgPyAoKCgoKCgobGVuZ3RoIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAwKSkgPDwgMikgXiBjaGFyYXQodmFsdWUsIDEpKSA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMikpIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAzKSA6IDBcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW0gKHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZS50cmltKClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7UmVnRXhwfSBwYXR0ZXJuXG4gKiBAcmV0dXJuIHtzdHJpbmc/fVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2ggKHZhbHVlLCBwYXR0ZXJuKSB7XG5cdHJldHVybiAodmFsdWUgPSBwYXR0ZXJuLmV4ZWModmFsdWUpKSA/IHZhbHVlWzBdIDogdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7KHN0cmluZ3xSZWdFeHApfSBwYXR0ZXJuXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVwbGFjZW1lbnRcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2UgKHZhbHVlLCBwYXR0ZXJuLCByZXBsYWNlbWVudCkge1xuXHRyZXR1cm4gdmFsdWUucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlbWVudClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluZGV4b2YgKHZhbHVlLCBzZWFyY2gpIHtcblx0cmV0dXJuIHZhbHVlLmluZGV4T2Yoc2VhcmNoKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFyYXQgKHZhbHVlLCBpbmRleCkge1xuXHRyZXR1cm4gdmFsdWUuY2hhckNvZGVBdChpbmRleCkgfCAwXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gYmVnaW5cbiAqIEBwYXJhbSB7bnVtYmVyfSBlbmRcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0ciAodmFsdWUsIGJlZ2luLCBlbmQpIHtcblx0cmV0dXJuIHZhbHVlLnNsaWNlKGJlZ2luLCBlbmQpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJsZW4gKHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZS5sZW5ndGhcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2FueVtdfSB2YWx1ZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2l6ZW9mICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUubGVuZ3RoXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcGFyYW0ge2FueVtdfSBhcnJheVxuICogQHJldHVybiB7YW55fVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kICh2YWx1ZSwgYXJyYXkpIHtcblx0cmV0dXJuIGFycmF5LnB1c2godmFsdWUpLCB2YWx1ZVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nW119IGFycmF5XG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZSAoYXJyYXksIGNhbGxiYWNrKSB7XG5cdHJldHVybiBhcnJheS5tYXAoY2FsbGJhY2spLmpvaW4oJycpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/stylis/src/Utility.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/timezone-soft/builds/timezone-soft.mjs":
|
||
/*!*************************************************************!*\
|
||
!*** ./node_modules/timezone-soft/builds/timezone-soft.mjs ***!
|
||
\*************************************************************/
|
||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ soft; }\n/* harmony export */ });\nconst BASE = 36;\nconst seq = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\nconst cache = seq.split('').reduce(function (h, c, i) {\n h[c] = i;\n return h\n}, {});\n\n// 0, 1, 2, ..., A, B, C, ..., 00, 01, ... AA, AB, AC, ..., AAA, AAB, ...\nconst toAlphaCode = function (n) {\n if (seq[n] !== undefined) {\n return seq[n]\n }\n let places = 1;\n let range = BASE;\n let s = '';\n for (; n >= range; n -= range, places++, range *= BASE) {}\n while (places--) {\n const d = n % BASE;\n s = String.fromCharCode((d < 10 ? 48 : 55) + d) + s;\n n = (n - d) / BASE;\n }\n return s\n};\n\nconst fromAlphaCode = function (s) {\n if (cache[s] !== undefined) {\n return cache[s]\n }\n let n = 0;\n let places = 1;\n let range = BASE;\n let pow = 1;\n for (; places < s.length; n += range, places++, range *= BASE) {}\n for (let i = s.length - 1; i >= 0; i--, pow *= BASE) {\n let d = s.charCodeAt(i) - 48;\n if (d > 10) {\n d -= 7;\n }\n n += d * pow;\n }\n return n\n};\n\nvar encoding = {\n toAlphaCode,\n fromAlphaCode\n};\n\nconst symbols = function (t) {\n //... process these lines\n const reSymbol = new RegExp('([0-9A-Z]+):([0-9A-Z]+)');\n for (let i = 0; i < t.nodes.length; i++) {\n const m = reSymbol.exec(t.nodes[i]);\n if (!m) {\n t.symCount = i;\n break\n }\n t.syms[encoding.fromAlphaCode(m[1])] = encoding.fromAlphaCode(m[2]);\n }\n //remove from main node list\n t.nodes = t.nodes.slice(t.symCount, t.nodes.length);\n};\nvar parseSymbols = symbols;\n\n// References are either absolute (symbol) or relative (1 - based)\nconst indexFromRef = function (trie, ref, index) {\n const dnode = encoding.fromAlphaCode(ref);\n if (dnode < trie.symCount) {\n return trie.syms[dnode]\n }\n return index + dnode + 1 - trie.symCount\n};\n\nconst toArray = function (trie) {\n const all = [];\n const crawl = (index, pref) => {\n let node = trie.nodes[index];\n if (node[0] === '!') {\n all.push(pref);\n node = node.slice(1); //ok, we tried. remove it.\n }\n const matches = node.split(/([A-Z0-9,]+)/g);\n for (let i = 0; i < matches.length; i += 2) {\n const str = matches[i];\n const ref = matches[i + 1];\n if (!str) {\n continue\n }\n const have = pref + str;\n //branch's end\n if (ref === ',' || ref === undefined) {\n all.push(have);\n continue\n }\n const newIndex = indexFromRef(trie, ref, index);\n crawl(newIndex, have);\n }\n };\n crawl(0, '');\n return all\n};\n\n//PackedTrie - Trie traversal of the Trie packed-string representation.\nconst unpack$2 = function (str) {\n const trie = {\n nodes: str.split(';'),\n syms: [],\n symCount: 0\n };\n //process symbols, if they have them\n if (str.match(':')) {\n parseSymbols(trie);\n }\n return toArray(trie)\n};\n\nvar traverse = unpack$2;\n\nconst unpack = function (str) {\n if (!str) {\n return {}\n }\n //turn the weird string into a key-value object again\n const obj = str.split('|').reduce((h, s) => {\n const arr = s.split('¦');\n h[arr[0]] = arr[1];\n return h\n }, {});\n const all = {};\n Object.keys(obj).forEach(function (cat) {\n const arr = traverse(obj[cat]);\n //special case, for botched-boolean\n if (cat === 'true') {\n cat = true;\n }\n for (let i = 0; i < arr.length; i++) {\n const k = arr[i];\n if (all.hasOwnProperty(k) === true) {\n if (Array.isArray(all[k]) === false) {\n all[k] = [all[k], cat];\n } else {\n all[k].push(cat);\n }\n } else {\n all[k] = cat;\n }\n }\n });\n return all\n};\n\nvar unpack$1 = unpack;\n\n// these are the folk heuristics that timezones use to set their dst change dates\n// for example, the US changes:\n// the second Sunday of March -> first Sunday of November\n// http://www.webexhibits.org/daylightsaving/g.html\nlet patterns = {\n usa: '2nd-sun-mar-2h|1st-sun-nov-2h',// (From 1987 to 2006)\n // mexico\n mex: '1st-sun-apr-2h|last-sun-oct-2h',\n\n // European Union zone\n eu0: 'last-sun-mar-0h|last-sun-oct-1h',\n eu1: 'last-sun-mar-1h|last-sun-oct-2h',\n eu2: 'last-sun-mar-2h|last-sun-oct-3h',\n eu3: 'last-sun-mar-3h|last-sun-oct-4h',\n //greenland\n green: 'last-sat-mar-22h|last-sat-oct-23h',\n\n // australia\n aus: '1st-sun-apr-3h|1st-sun-oct-2h',\n //lord howe australia\n lhow: '1st-sun-apr-2h|1st-sun-oct-2h',\n // new zealand\n chat: '1st-sun-apr-3h|last-sun-sep-2h', //technically 3:45h -> 2:45h\n // new Zealand, antarctica \n nz: '1st-sun-apr-3h|last-sun-sep-2h',\n // casey - antarctica\n ant: '2nd-sun-mar-0h|1st-sun-oct-0h',\n // troll - antarctica\n troll: '3rd-sun-mar-1h|last-sun-oct-3h',\n\n //jordan\n jord: 'last-fri-feb-0h|last-fri-oct-1h',\n // lebanon\n leb: 'last-sun-mar-0h|last-sun-oct-0h',\n // syria\n syr: 'last-fri-mar-0h|last-fri-oct-0h',\n //israel\n // Start: Last Friday before April 2 -> The Sunday between Rosh Hashana and Yom Kippur\n isr: 'last-fri-mar-2h|last-sun-oct-2h',\n //palestine\n pal: 'last-sun-mar-0h|last-fri-oct-1h',\n\n // el aaiun\n //this one seems to be on arabic calendar?\n saha: 'last-sun-mar-3h|1st-sun-may-2h',\n\n // paraguay\n par: 'last-sun-mar-0h|1st-sun-oct-0h',\n //cuba\n cuba: '2nd-sun-mar-0h|1st-sun-nov-1h',\n //chile\n chile: '1st-sun-apr-0h|1st-sun-sep-0h',\n //easter island\n east: '1st-sat-apr-22h|1st-sat-sep-22h',\n //fiji\n fiji: '3rd-sun-jan-3h|2nd-sun-nov-2h',\n};\n\nvar dstPatterns = patterns;\n\nvar pcked = {\"Africa\":{\"Abidjan\":[\"true¦a5bouake,coordinated universal4daloa,g1san ped0utc,yamoussouk0zulu;ro;h0mt,reenwich mean2;!a0;!na; ti3;b4frica0tlantic/st_helena;!/0;accra,ba1conakry,dakar,freetown,lo0nouakchott,ouagadougou,timbuktu;me;mako,njul;idjan,obo\",\"Greenwich Mean\",\"n\"],\"Algiers\":[\"true¦a8b6c3dz2or5s1t0;ebessa,iaret;etif,idi bel abbes;!a;e0hlef,onstantine;ntral europe0t;an;a0iskra,lida,oumerdas;b ezzouar,tna;frica,lg0nnaba;eria,iers\",\"Central European\",\"n\"],\"Bissau\":[\"true¦africa,b2coordinated universal1g0utc,zulu;mt,nb,reenwich mean0uinea b1w; time;issau\",\"Greenwich Mean\",\"n\"],\"Cairo\":[\"true¦a6bani suwayf,c5damanhur,e2giza,halw8i1kafr ad dawwar,luxor,new c5port said,qina,s0tanta,zagazig;hibin al kawm,ohag,uez;dku,smail8;astern europe5et,g0;!y0;!pt;airo;frica,l2s0;w0yut;an; 1exandr0;ia;fayyum,m0;a0inya;hallah al kubra,nsurah\",\"Eastern European\",\"n\"],\"Casablanca\":[\"true¦aCcasablanDfBkenitAm6oujda angad,rabat,sa4t1we0;stern europe2t;angier,e0;ma7tou0;an;fi,le0;! al jadida;a1ekn4o0;hammedia,rocco;!r0;!rakesh;ra;es;fri0gadir,l hoceima;ca\",\"Morocco Standard\",\"n\",\"saha\"],\"Ceuta\":[\"true¦africa,brussels,c0europe central,madrid,paris,romance;e0openhagen;ntral european,t,uta0;!melilla\",\"Central European\",\"n\",\"eu2\"],\"El_Aaiun\":[\"true¦afri3casablan3e2laayoune,morocco,we0;stern 0t;european,sahara;h,l_aaiun,sh;ca\",\"Morocco Standard\",\"n\",\"saha\"],\"Johannesburg\":[\"true¦africaIbEcAd9east londBharare,johannesHk7newcastDp6r5s3tembisa,uitenhage,v2w1za0;!f;elkom,itbank;anderbijlpark,ereeniging;ast,o0prings;uth africa,weto;andBichards bay,oodepoort;aarl,ietermaritzAort elizabeth,retoria;lerk0ruger0;sdorp;iepsloot,urb5;a1enturi0;on;pe town,rletonvil0;le;enoni,loemfontein,o1rakp0;an;ks0tshabelo;burg;! southern,/m0;aseru,babane\",\"South Africa\",\"s\"],\"Juba\":[\"true¦a3c2juba,s0winejok;outh sudan,s0;!d;at,entral a0;frica\",\"Central Africa\",\"n\"],\"Khartoum\":[\"true¦a7c6el 5k3ny4omdurm2port sud2s0wad medani;d0inga,ud1;!n;an;ass0hartoum,osti;ala;dae3fasher,obeid;at,entral af1;d damaz1f0l qadarif;rica;in\",\"Central Africa\",\"n\"],\"Lagos\":[\"true¦aVbTcReQgPiLjKkaIlGmDnnewi,oAport harcourt,s9u7w0zar8; c3a2est0; 0ern3;a3c1;rBst,t;entral0; a0;frica;gep,muah0yo;ia;a7hagamu,okoto;kDn1w0yo;er3o;do,itsha;a0in5ubi;idugu0kurdi;ri;agos,ek0;ki;du0no,tsi0;na;imeLos;badan,jebu ode,k1l0seHwo;a orangun,eDor7;eHi8ot ekp0;ene;ombe,usau;bute ikorodu,fon alaaye,nugu;alabar,d,hakwama,o0;d,ngo;auchi,en0;in;b8do7frica1ku0tani;re;! western,/0;b2douala,kinsha1l0malabo,niamey,porto-novo;ibre2uanda;sa;angui,razza0;ville; ekiti;a,eoku1u0;ja;ta\",\"West Africa\",\"n\"],\"Maputo\":[\"true¦africa7beiCc6ma4na2quelimaAwindhoek,z0;imbabwe,w0;!e;ca2m0;ibia,pu1;puto,to0;la;at,entral africa,himoio;! central,/0;b2gaboro1hara4kigali,lu0;bumbashi,saka;ne;lanty1ujumbu0;ra;re\",\"Central Africa\",\"s\"],\"Monrovia\":[\"true¦africa,coordinated universal3g2l0monrov1utc,zulu;br,iber0r;ia;mt,reenwich mean0; time\",\"Greenwich Mean\",\"n\"],\"Nairobi\":[\"true¦africa8e4indian/2kisumu,m1na0thika,yt;irobi,kuru;a1ombasa,yt;antananarivo,comoro,ma0;yotte; 2a0ldoret;st0t; 0ern 0;africa;! eastern,/0;a1d0kampala,mogadishu;ar_es_salaam,jibouti;ddis_ababa,sm0;a0e0;ra\",\"East Africa\",\"n\"],\"Ndjamena\":[\"true¦africaAchad,n8t7w0; c3a2est0; 0ern3;a3c1;st,t;entral0; a0;frica;cd,d;'d0d0;jamena;! western\",\"West Africa\",\"n\"],\"Sao_Tome\":[\"true¦africa,coordinated universal5g4s0utc,zulu;ao1t0;!p; 0_0;to2;mt,reenwich mean0; ti0;me\",\"Greenwich Mean\",\"n\"],\"Tripoli\":[\"true¦a4benghazi,e3l1misrat5t0zawi2;arhuna,ripoli;by,ib0y;ya;astern european,et;frica,l khums,z zawiy0;ah\",\"Eastern European\",\"n\"],\"Tunis\":[\"true¦africa,ce3sfax,t0;n,un0;!is0;!ia;ntral european,t\",\"Central European\",\"n\"],\"Windhoek\":[\"true¦africa3c2na0windhoek;!m0;!ibia;at,entral africa;! central\",\"Central Africa\",\"s\"]},\"America\":{\"Adak\":[\"true¦a1h0nwt,us/aleutian;awaii s3dt,st;dak,leutian0merica/atka;! 0;islands,s0;tandard time\",\"Aleutian Standard\",\"n\",\"usa\"],\"Anchorage\":[\"true¦a0us/alaska;h6k5laska0merica,nchorage;! 1n0;! s1;s0t1;tandard t0;ime;dt,st,t;dt,st\",\"Alaska\",\"n\",\"usa\"],\"Araguaina\":[\"true¦araguaina,br1e0palmas,tocantins; south america s4ast south america;a0t;silia0zil;! 0;s0t1;tandard t0;ime\",\"Brasilia\",\"n\"],\"Argentina/Buenos_Aires\":[\"true¦a0buenos 4;merica/2r0;!g0;!e2;arge1buenos_0;aires;ntina\",\"Argentina\",\"s\"],\"Argentina/Catamarca\":[\"true¦a0c2;merica/0rgentina;argentina/comodrivadavia,c0;atamarca\",\"Argentina\",\"s\"],\"Argentina/Cordoba\":[\"true¦a0c2;merica/0rgentina;c0rosario;ordoba\",\"Argentina\",\"s\"],\"Argentina/Jujuy\":[\"true¦a0j1;merica/j0rgentina;ujuy\",\"Argentina\",\"s\"],\"Argentina/La_Rioja\":[\"true¦ar1b0city of b0la rioja;uenos aires;gentina0st,t;! 0;standard t0t0;ime\",\"Argentina\",\"s\"],\"Argentina/Mendoza\":[\"true¦a0m1;merica/m0rgentina;endoza\",\"Argentina\",\"s\"],\"Argentina/Rio_Gallegos\":[\"true¦ar1b0city of b0rio_gallegos;uenos aires;gentina0st,t;! 0;standard t0t0;ime\",\"Argentina\",\"s\"],\"Argentina/Salta\":[\"true¦ar1b0city of b0salta;uenos aires;gentina0st,t;! 0;standard t0t0;ime\",\"Argentina\",\"s\"],\"Argentina/San_Juan\":[\"true¦ar1b0city of b0san juan;uenos aires;gentina0st,t;! time\",\"Argentina\",\"s\"],\"Argentina/San_Luis\":[\"true¦ar1b0city of b0san luis;uenos aires;gentina0st,t;! time\",\"Argentina\",\"s\"],\"Argentina/Tucuman\":[\"true¦ar1b0city of b0tucuman;uenos aires;gentina0st,t;! time\",\"Argentina\",\"s\"],\"Argentina/Ushuaia\":[\"true¦ar1b0city of b0ushuaia;uenos aires;gentina0st,t;! time\",\"Argentina\",\"s\"],\"Asuncion\":[\"true¦asuncion,c3p0san lorenzo;araguay1ry,y0;!st,t;! time;apiata,iudad del este\",\"Paraguay\",\"s\",\"par\"],\"Bahia\":[\"true¦b2camacari,e1feira de santa0itabu0salvador,vitoria da conquista;na; south america s5ast south america;ahia,r0;a0t;silia0zil;! 0;s0t1;tandard t0;ime\",\"Brasilia\",\"n\"],\"Bahia_Banderas\":[\"true¦bah7c2guadalajara,m0;exico0onterrey;! city;entral 0st;mexic0standard 2;an,o0;! 0;time;ia_0ía de 0;banderas\",\"Central Mexico\",\"n\",\"mex\"],\"Barbados\":[\"true¦a1b0;arbados,b,rb;st,tlantic standard time\",\"Atlantic\",\"n\"],\"Belem\":[\"true¦ananindeua,b2e1macapa,par0;auapebas,á east amapá; south america s5ast south america;elem,r0;a0t;silia0zil;! 0;s0t1;tandard t0;ime\",\"Brasilia\",\"n\"],\"Belize\":[\"true¦b1c0;entral standard time,st;elize,lz,z\",\"Central\",\"n\"],\"Boa_Vista\":[\"true¦am3boa vista,c0roraima;entral brazil0uiaba;!ian0;! s3;azon0t;! 0;s0t1;tandard t0;ime\",\"Amazon\",\"n\"],\"Bogota\":[\"true¦armenGbBc7dosquebradas,floridablanca,i6m5neiva,p3s1v0;alledupar,illavicencio;anta marCincelejo,o0;acha,ledad;a0erei9opayan;lmi8sto;anizales,edellin,onterA;bague,taguei;a2o0ucu6;!l0st,t;!omb6;li,rtagena;arran3ello,ogo2u0;caramanga,enaventu0;ra;ta;cabermeja,quilla;ia\",\"Colombia\",\"n\"],\"Boise\":[\"true¦america4boise,idaho,m0;ountain0pt,st,t;! 0;id,standard t0t0;ime;! mountain\",\"Mountain\",\"n\",\"usa\"],\"Cambridge_Bay\":[\"true¦america4cambridge bay,m0;ddt,ountain0st,t;! 0;standard t0t0;ime;! mountain\",\"Mountain\",\"n\",\"usa\"],\"Campo_Grande\":[\"true¦am0brazil,campo grande,mato grosso do sul;azon standard time,t\",\"Amazon\",\"s\"],\"Cancun\":[\"true¦cancun,e0mexico,quintana roo;astern standard time,st\",\"Eastern\",\"n\"],\"Caracas\":[\"true¦alto barinKbarJcDguaBm8p7san6turmeFv0;alencia,e0;!n0t;!ezuela0;! 0n;standard t0t0;ime; cristobal,ta teresa del tuy;eta4uerto la cruz;a0ucumpiz;raca0turin;ibo,y;ren8ti0;re;a4iudad 2o1u0;a,m2;ro;bolivar,guay0;ana;bim1rac1;in0quisimeto,uta;as\",\"Venezuela\",\"n\"],\"Cayenne\":[\"true¦cayenne,french guiana3g0;f1u0;f,iana;!t;! time\",\"French Guiana\",\"n\"],\"Chicago\":[\"true¦aWbTcRdQfort worth,gPhOiMk00lJmCn8o7plano,s4t2us1wi0;chiGsconsW;/02a;ex0ulsa;!as;a0hreveport,ou4t 1;int 0n antonio;louGpaul;klahoXmaha,verland park;ashLe1or0;th dako7;braska,w 0;orleans,south me6;adisMe5i1o0;biHntgomery;lwaukee,nne1ss0;issippi,ouri;apol6so0;ta;mph4;aredo,i0ouisiana,ubb1;ncoln,ttle r0;ock;llino0owa,rving;is;oustAunts5;arland,rand prairie;allAes moines;dt,entral0hicago,orpus christi,st,t;! time;aton rouge,rowns0;vil0;le;laba8m5r1ust0;in;k1lingt0;on;ans0;as;arillo,erica0;! 0;central;ma\",\"Central\",\"n\",\"usa\"],\"Chihuahua\":[\"true¦chihuahua,h5la paz,m0;azatlan,exic1ountain 0;mexico,standard time (mexico);an pacific1o0;! pacific;! time;ep0np0p0;mx\",\"Mexican Pacific\",\"n\",\"mex\"],\"Costa_Rica\":[\"true¦c0sjmt;entral standard time,osta rica,r0st;!i\",\"Central\",\"n\"],\"Cuiaba\":[\"true¦am0brazil,cuiaba,mato grosso,varzea grande;azon standard time,t\",\"Amazon\",\"s\"],\"Danmarkshavn\":[\"true¦coordinated universal2d1g0utc,zulu;mt,reenwich mean1;anmarkshavn,enmark; time\",\"Greenwich Mean\",\"n\"],\"Dawson\":[\"true¦canada,dawson,m2y0;d0pt,wt;dt,t;ountain standard time,st\",\"Mountain\",\"n\"],\"Dawson_Creek\":[\"true¦canada,dawson creek,m1p0;pt,wt;ountain standard time,st,t\",\"Mountain\",\"n\"],\"Denver\":[\"true¦a5colorado springs,denver,el paso,m1navajo,salt lake,us0;/6a;dt,ountain0st,t;! 0;standard t0t0;ime;lbuquerque,merica0urora;! 0/shiprock;mountain\",\"Mountain\",\"n\",\"usa\"],\"Detroit\":[\"true¦america4detroit,e0grand rapids,us/michigan;astern0pt,st,t,wt;! 0;mi,standard t0t0;ime;! eastern\",\"Eastern\",\"n\",\"usa\"],\"Edmonton\":[\"true¦a6ca4edmonton,m0;ountain0st,t;! 0;standard t0t0;ime;lgary,nada0;!/1;lberta,merica 0;mountain\",\"Mountain\",\"n\",\"usa\"],\"Eirunepe\":[\"true¦a0brazil,eirunepe;c0mazonas west;re0t;! 0;standard t0t0;ime\",\"Acre\",\"n\"],\"El_Salvador\":[\"true¦c2el1s0;an0lv,oyapango,v; salvador;entral standard time,st\",\"Central\",\"n\"],\"Fort_Nelson\":[\"true¦british columbia,canada,fort nelson,m0;ountain standard time,st,t\",\"Mountain\",\"n\"],\"Fortaleza\":[\"true¦br5ca4e3fortaleza,imperatriz,j2m0natal,sao luis,teresina;a0ossoro;picernpb,racanau;oao pessoa,uazeiro do norte; south america s5ast south america;mpina grande,ucaia;a0t;silia0zil;! 0;s0t1;tandard t0;ime\",\"Brasilia\",\"s\"],\"Glace_Bay\":[\"true¦a1ca0glace_bay;nada,pe breton;st,t0;!lantic0;! 0;standard t0t0;ime\",\"Atlantic\",\"n\",\"usa\"],\"Goose_Bay\":[\"true¦a0canada,goose_bay,labrador,npt;st,t0;!lantic0;! 0;standard t0t0;ime\",\"Atlantic\",\"n\",\"usa\"],\"Grand_Turk\":[\"true¦america eastern,e2grand turk,kmt,t0;c0urks and caicos;!a;astern0st,t;! 0;standard t0t0;ime\",\"Eastern\",\"n\",\"usa\"],\"Guatemala\":[\"true¦c2g0mixco,villa nueva;t0uatemala;!m;entral standard time,st\",\"Central\",\"n\"],\"Guayaquil\":[\"true¦cuenca,ec2guayaquil,ma1q0santo domingo de los colorados;mt,uito;chala,nta;!t,u0;!ador0;! 0;mainland,time\",\"Ecuador\",\"n\"],\"Guyana\":[\"true¦g0;eorgetown,uy1y0;!t;!ana0;! time\",\"Guyana\",\"n\"],\"Halifax\":[\"true¦a4ca2halifax,n1p0;ei,rince edward island;ew brunswick,ova scotia;!nada0;!/atlantic;dt,st,t0;!lantic0;! 0;ns,standard t0t0;ime\",\"Atlantic\",\"n\",\"usa\"],\"Havana\":[\"true¦arroyo naranjo,bBc3diez de octubre,guantanDh1las tunas,pinar del rio,sant0;a clara,iago de cuba;avana,cu,e0n0olguin;cu;amaguey,i5u0;!b0;!a0;! 0;standard t0t0;ime;e0udad camilo cie0;nfueg1;ay1oyer0;os;amo\",\"Cuba\",\"n\",\"cuba\"],\"Hermosillo\":[\"true¦ciudad obregon,h1mexic0nogales,sonora;an pacific standard time,o;ermosillo,npmx\",\"Mexican Pacific\",\"n\"],\"Indiana/Indianapolis\":[\"true¦america2crawford,dadukmn,eastern in,i4p0star1us/east-indiana;erry,i0ulaski;ke;!/0;fort_wayne,i0;ndiana0;!polis\",\"Eastern\",\"n\",\"usa\"],\"Indiana/Knox\":[\"true¦america1c0indiana,knox,us/indiana-starke;entral standard time,st;!/knox_in\",\"Central\",\"n\",\"usa\"],\"Indiana/Marengo\":[\"true¦america,e0indiana,marengo;astern standard time,st\",\"Eastern\",\"n\",\"usa\"],\"Indiana/Petersburg\":[\"true¦america,e0indiana,petersburg;astern standard time,st\",\"Eastern\",\"n\",\"usa\"],\"Indiana/Tell_City\":[\"true¦america,c0indiana,tell_city;entral standard time,st\",\"Central\",\"n\",\"usa\"],\"Indiana/Vevay\":[\"true¦america,e0indiana,vevay;astern standard time,st\",\"Eastern\",\"n\",\"usa\"],\"Indiana/Vincennes\":[\"true¦america,e0indiana,vincennes;astern standard time,st\",\"Eastern\",\"n\",\"usa\"],\"Indiana/Winamac\":[\"true¦america,e0indiana,winamac;astern standard time,st\",\"Eastern\",\"n\",\"usa\"],\"Inuvik\":[\"true¦america mountain,canada,inuvik,m0pddt;ountain0st,t;! 0;standard t0t0;ime\",\"Mountain\",\"n\",\"usa\"],\"Iqaluit\":[\"true¦america eastern,canada,e0iqaluit;astern0ddt,st,t;! 0;standard t0t0;ime\",\"Eastern\",\"n\",\"usa\"],\"Jamaica\":[\"true¦e3j1k0new k0;ingston;am0m;!aica;astern standard time,st\",\"Eastern\",\"n\"],\"Juneau\":[\"true¦a0juneau;k5laska0merica;! 1n0;! s1;juneau area,s0t1;tandard t0;ime;st,t\",\"Alaska\",\"n\",\"usa\"],\"Kentucky/Louisville\":[\"true¦america0eastern 4k3l2wayne;!/0;k1l0;ouisville;entuc0;ky\",\"Eastern\",\"n\",\"usa\"],\"Kentucky/Monticello\":[\"true¦america,e0kentucky,monticello;astern standard time,st\",\"Eastern\",\"n\",\"usa\"],\"La_Paz\":[\"true¦bo1cochabamba,la paz,oruro,s0;anta cruz de la sierra,ucre;!l0t;!ivia0;! time\",\"Bolivia\",\"s\"],\"Lima\":[\"true¦arequiDc9huancCi8juliaca,lima,p2sant1t0;acna,rujillo;a anita los ficus,iago de sur8;e0iura,ucallA;!r0t;!u0;! 0;standard t0t0;ime;ca,quitos;allao,hi1us0;co;cl0mbote;ayo;pa\",\"Peru\",\"s\"],\"Los_Angeles\":[\"true¦a05ba03c00fWgarden grove,hTirviSlMmoJnIoFp9r8s1tacoma,us0washington state;/06a;a1eattle,f,p0tocktTunrise manor;okaPringH;cramenHn0; 1ta 0;aTclariV;bernardiRdiego,fran0jo4;!cisco;ancho cucamonga,ePiver7;a0dt,ort7st,t;cific1radi0;se;! 0;standard t0t0;ime;ak1cean0regFxnard;side;land;evada,orth las8;des1reno0; valley;to;a3o0;ng6s0; 0_0;angeles;!s0; vegas;ne;enders1untington0; beach;on;onta2re0;mont,s0;no;na;ali1hula vis0;ta;!f1;ja calif0kersfield;ornia;merica0naheim;! 0;pacific\",\"Pacific\",\"n\",\"usa\"],\"Maceio\":[\"true¦a6br1e0maceio; south america s3ast south america;asilia0t;! 0;s0t1;tandard t0;ime;lagoassergipe,racaju\",\"Brasilia\",\"n\"],\"Managua\":[\"true¦c3man2ni0;!c0;!ar0;agua;entral standard time,st\",\"Central\",\"n\"],\"Manaus\":[\"true¦am4brazil3c0manaus;entral brazil0uiaba;!ian0;! s5;!/we2;azon0t;! 1as ea0;st;s0t1;tandard t0;ime\",\"Amazon\",\"s\"],\"Martinique\":[\"true¦a3f1m0;a1q,tq;fmt,ort de france,rench ma0;rtinique;st,tlantic standard time\",\"Atlantic\",\"n\"],\"Matamoros\":[\"true¦america central,c2heroica ma1m0nuevo laredo,reynosa;a0exico;tamoros;entral0st,t;! 0;standard t0t0;ime\",\"Central\",\"n\",\"usa\"],\"Mazatlan\":[\"true¦cAh8l7m0tep4;azatlAexic1ountain 0;mexico,standard time (mexico);an pacific 2o0;! pacif0/bajasur;ic;standard t0t0;ime;a paz,os mochis;np0p0;mx;hihuahua,uliac0;an\",\"Mexican Pacific\",\"n\",\"mex\"],\"Menominee\":[\"true¦america4c0menominee,wisconsin;entral0st,t;! 0;standard t0t0;ime;! central\",\"Central\",\"n\",\"usa\"],\"Merida\":[\"true¦c3guadalajara,m0;e0onterrey;rida,xico0;! city;ampeche4entral 0st;mexic0standard 2;an,o0;! 0;time;!yucatán\",\"Central Mexico\",\"n\",\"mex\"],\"Metlakatla\":[\"true¦a0metlakatla;k5laska0merica;! 1n0;! s1;annette island,s0t1;tandard t0;ime;st,t\",\"Alaska\",\"n\",\"usa\"],\"Mexico_City\":[\"true¦a0Lb0JcYduran0Cecatepec de morel0AguThSiQjalis0Nleon de los alda06mInHoGpEqDs9t4uruap04v2x1yucat04za0;catec0Cpop03;alapa de enriqu0Pi0Lochimil0L;e0illahermosa;nustiano carranza,racruz;a3e7la1o0uxt03;luUna02;huac,l0quepaque,xca01;nepant00pW;bas0Emaulip04pachuZ;an0oledad de graciano sanch0H; luis potosi,t0;a maria chimal0iago de q1;huQ;ueretaG;achuca de soIoza rica de7ue0;bSrto vallar04;axaJjo de agua;aucalpan07icolas romeCuevo le06;agdalena contrerUex4i2o0x;nterrey,rel0;ia,os;choHguel0; h5;!ico0;! 0/general,_0;city;rap5xtapalu9zta0;cUpalapa;idalJ;a1erre0stavo adolfo made0;ro;dalajara,naj0;ua0;to;ampeche,eFhiCiudad Ao3st,u0wt;au1ernava0;ca;htemoc,titlan izcalli;a4l2yo0;ac0;an;i0onia del valle;ma;cEhui0tzacoalc2;la;lopez mate0nezahualcoyotl;os;ap1lpancin0;go;as;laya,ntral 0;mexic0standard 2;an,o0;! 0;time;enito6uenavis0;ta;capulco3guascalientes,lvaro obreg2zcapotz0;al0;co;on; de0; juar0;ez\",\"Central Mexico\",\"n\",\"mex\"],\"Miquelon\":[\"true¦hBmAp8s0;aint pierre2pm,t pierre 0;& miquelon 0a5;s2t3;! 0;a2s0;tandard t0;ime;nd1;ierre0m; m0;iquelon;npm,pm\",\"St. Pierre & Miquelon\",\"n\",\"usa\"],\"Moncton\":[\"true¦a0canada,hepm,moncton,new brunswick;st,t0;!lantic0;! 0;standard t0t0;ime\",\"Atlantic\",\"n\",\"usa\"],\"Monterrey\":[\"true¦c8g6m3sa1t0victoria de durango;ampico,orreon;ltillo,n0; nicolas de los garza,ta catarina;exico1on0;clova,terrey;! city;omez palacio,uadal0;ajara,upe;entral 1iudad 0st;apodaca,general escobedo,madero,victoria;mexic0standard 2;an,o0;! 0;time\",\"Central Mexico\",\"n\",\"mex\"],\"Montevideo\":[\"true¦montevideo5u0;r1y0;!st,t;uguay0y;! 0;s1t2;! s0;tandard t0;ime\",\"Uruguay\",\"s\"],\"New_York\":[\"true¦a0Rb0Oc0Hd0Ge0Bf07g05hialeah,i02j00kZlexingtonYmUnMoKpIquHrDsAt7u5v3w0yonkers;ashington1est 0inston salem,orcD;raEvirgin04;! dc;ermont,irginia0;! beach;nited states,s0;!/0Ma;a0enne1he bronx,oleD;llaha0mpa;ssee;outh 1t0; petersburg,aten3;bo0CcC;a2hode1ichmo06och0;ester; is03;lei2;eens,intana roo;ennsylvanNhiladelphNittsbur0rovidence;gh;hio,rlan0;do;ew3or1y0;!c;folk,th c0;aroliE; 1_yo0a0port news;rk;hampshiXje8york0;! staT;a1eads,i0;ami,chig1;ine,nhatt0ryMssachusetts;an;! fayetO;entucky,nox9;acks2e0;rsey;ndia1r0;on5;na;eorg0reensboro;ia;ayette1l0ort lauderda2;!orida;vil0;le;ast0dt,st,t; flatbush,ern0;! 0;standard t0t0;ime;elawa9urham;ape coral,h3incinnati,leve1o0;lumbus,nnecticut;la0;nd;a0esapeake;rlot0ttanooga;te;altimo1o0rooklyn,uffalo;st4;re;kr2merica0tlanta;! 0;eastern;on\",\"Eastern\",\"n\",\"usa\"],\"Nipigon\":[\"true¦america eastern,canada,e0nipigon;astern0st,t;! 0;standard t0t0;ime\",\"Eastern\",\"n\",\"usa\"],\"Nome\":[\"true¦a0no5;k5laska0merica;! 1n0;! s1;s0ti1west;tandard ti0;me;st,t\",\"Alaska\",\"n\",\"usa\"],\"Noronha\":[\"true¦atlantic islands,brazil3f0n4;ernando de noronha 0nt;standard t0t0;ime;!/den0;oronha\",\"Fernando de Noronha\",\"n\"],\"North_Dakota/Beulah\":[\"true¦america,beulah,c0north dakota;entral standard time,st\",\"Central\",\"n\",\"usa\"],\"North_Dakota/Center\":[\"true¦america,c1merc0north dakota,oliv0;er;ent0st;er,ral standard time\",\"Central\",\"n\",\"usa\"],\"North_Dakota/New_Salem\":[\"true¦america,c1n0;ew_salem,orth dakota;entral standard time,st\",\"Central\",\"n\",\"usa\"],\"Nuuk\":[\"true¦america3g1nuuk,wg0;st,t;l,r0;eenland,l;!/godthab\",\"West Greenland\",\"n\",\"green\"],\"Ojinaga\":[\"true¦america5c4m0ojinaga;ountain0st,t;! 0;standard t0t0;ime;hihuahua,iudad juarez;! mountain\",\"Mountain\",\"n\",\"usa\"],\"Panama\":[\"true¦a3coral h,e2pa0san miguelito;!n0;!ama;astern standard time,st;merica/0t2;at1c0;aym1oral_harbour;ikok0;an\",\"Eastern\",\"n\"],\"Pangnirtung\":[\"true¦a4baffin island,canada,e0nunavit,pangnirtung;astern0st,t;! 0;standard t0t0;ime;ddt,merica eastern\",\"Eastern\",\"n\",\"usa\"],\"Paramaribo\":[\"true¦paramaribo,s0;r2ur0;!iname0;! time;!t\",\"Suriname\",\"n\"],\"Phoenix\":[\"true¦aAc8g6idaho,m4n3phoenix,s2t1u0wyoming;s/arAtah;empe,ucsC;cottsd4inaloa,onora;ayarit,ew mexico;aryv2esa,o0st,t,wt;nta6untain standard time;ilbert,lend0;ale;h0olorado;andler,ihuahua;merica2r0;izo0;na;!/crest0;on\",\"Mountain\",\"n\"],\"Port-au-Prince\":[\"true¦america eastern,cAe6h4p0;etionville,ort0; 0-au-1;au 0de paix;prince;aiti,t0;!i;astern0st,t;! 0;standard t0t0;ime;arrefour,roix des bouquets\",\"Eastern\",\"n\",\"usa\"],\"Porto_Velho\":[\"true¦am5brazil,c2porto0rondônia; 0_0;velho;entral brazil0uiaba;!ian0;! s3;azon0t;! 0;s0t1;tandard t0;ime\",\"Amazon\",\"n\"],\"Puerto_Rico\":[\"true¦a2bayam9p0;r0uerto rico;!i;merica0st,tlantic standard time;!/0;a5blanc-sabl4curacao,dominica,g3kralendijk,lower_princes,m2port_of_spa1st_0torto7virg1;barthelemy,kitts,lucia,thomas,vincent;in;arigot,ontserrat;renada,uadeloupe;on;n0ruba;guil0tigua;la\",\"Atlantic\",\"n\"],\"Punta_Arenas\":[\"true¦c0punta arenas,region of magallanes;hile0lt;! standard time\",\"Chile\",\"s\"],\"Rainy_River\":[\"true¦america4c0ft frances,rainy river;entral0st,t;! 0;standard t0t0;ime;! central\",\"Central\",\"n\",\"usa\"],\"Rankin_Inlet\":[\"true¦america4c0rankin inlet;ddt,entral0st,t;! 0;standard t0t0;ime;! central\",\"Central\",\"n\",\"usa\"],\"Recife\":[\"true¦aAbr4caruaru,e3jaboatao2olinda,p0;aulista,e0;rnambuco,trolina;! dos guararapes; south america s4ast south a6;a0t;silia0zil;! 0;s0t1;tandard t0;ime;merica\",\"Brasilia\",\"n\"],\"Regina\":[\"true¦c2regina,s0;askat0k;c2oon;anada0entral standard time,st;!/saskatc0;hewan\",\"Central\",\"n\"],\"Resolute\":[\"true¦america4c0resolute;entral0st,t;! 0;standard t0t0;ime;! central\",\"Central\",\"n\",\"usa\"],\"Rio_Branco\":[\"true¦a1brazil0rio branco;!/1;c1merica/porto_0;acre;re0t;! 0;standard t0t0;ime\",\"Acre\",\"s\"],\"Santarem\":[\"true¦br1e0pará west,santarem; south america s4ast south america;a0t;silia0zil;! 0;s0t1;tandard t0;ime\",\"Brasilia\",\"n\"],\"Santiago\":[\"true¦aAc4iquique,la pintana,puente alto,rancagua,san3t1v0;alparaiso,ina del mar;alca0emuco;!huano; bernardo,tiago;h1l0oncepcion;!st,t;ile0l;! 0/continental;standard t0t0;ime;ntofagasta,rica\",\"Chile\",\"s\",\"chile\"],\"Santo_Domingo\":[\"true¦a8bella vista,do6la romana,s0;an0dmt; pedro de macoris,t0;iago de los caballeros,o domingo0;! 0;e0oe0;ste;!m0;!inican republic;st,tlantic standard time\",\"Atlantic\",\"n\"],\"Sao_Paulo\":[\"true¦a16b0Tc0Md0Je0Hf0Fg0Ahortol09i05j02l01mXnVosasco,pLriFs4ta3uber2v0;i0olta redon1A;amao,la velha,tor16;a0Ml06;boao da ser00uba10;a2e1oroNu0;maLzano;rXte lago0L;nt4o 0;bernardo do campo,carl03jo0leopolLpaulo,vicE;ao de meriti,se0;! do0; rio p8s camp00;a 1o0; andDs;barbara d'oes0Pluz0Tmar0T;beirao 3o0;! 0;cla0de janei0g6ver7;ro;das nev07p0;reto;asso fun8e7iraci6lanalti0Oo4r0;aia g1esidente prud0;en0G;ran0;de;nta grossa,rto aleg0;re;caW;lotYtro0F;do;iteroi,ov0;aJo hamburgo;a1o0;gi das cruzSntes clarD;ri0ua;l07n6;imei2ondri08;acarei,oinville,u0;iz de fo0ndi9;ra;ndaia2patin1ta0;bor6pevi,quaquece1;ga;tuG;andY;o3ravat2uaru0;ja,lh0;os;ai;iSvernador valadarC;loria5oz do0ran2; iguacu; south america sHast south ameri0mbu;ca;i0uque de caxi8;adema,vi0;noN;a1o0uriti2;ntagem,tK;choeiro de itapemirDmp1no3rapicui0scavel,xias do sul;ba;in1os dos goytacaz0;es;as;aBe7lumenau,r0;!a0st,t;!silia1zil0;!/east;! 0;s0t1;tandard t0;ime;l1t0;im;ford roxo,o horizon0;te;rueri,uru;lvora4merica3na2parecida de goi0;an0;ia;polis;na;da\",\"Brasilia\",\"s\"],\"Scoresbysund\":[\"true¦e3greenland2h0ittoqqortoormiit,scoresbysund;e0neg;eg,g;! eastern;ast greenland1g0;st,t;! 0;standard t0t0;ime\",\"East Greenland\",\"n\",\"eu0\"],\"Sitka\":[\"true¦a0sitka;k6laska0merica;! 1n0;! st2;s0t2;itka area,t0;andard t0;ime;st,t\",\"Alaska\",\"n\",\"usa\"],\"St_Johns\":[\"true¦canada7h5n0st johns;d3ewfoundland0st,t;! 0;labrador,standard t0t0;ime;dt,t;e0n0tn;tn;!/newfoundland\",\"Newfoundland\",\"n\",\"usa\"],\"Swift_Current\":[\"true¦c1s0;askatchewan,wift current;anada,entral standard time,st\",\"Central\",\"n\"],\"Tegucigalpa\":[\"true¦c2h0san pedro sula,tegucigalpa;n0onduras;!d;entral standard time,st\",\"Central\",\"n\"],\"Thule\":[\"true¦a0pituffik,thule;st,t0;!lantic0;! 0;standard t0t0;ime\",\"Atlantic\",\"n\",\"usa\"],\"Thunder_Bay\":[\"true¦canada,e0thunder bay;astern0st,t;! time\",\"Eastern\",\"n\",\"usa\"],\"Tijuana\":[\"true¦america8baja california,eAh6mexic4p0tijuana;acific0st,t;! 0;standard t0t0;ime;ali,o0;!/bajanorte;e0n0;nomx; pacific,/0;e0santa_isabel;nsenada\",\"Pacific\",\"n\",\"usa\"],\"Toronto\":[\"true¦americaGbEcaBe7gatineIhamilFkitchener,l4m3nepe2o0quebec,richmond hill,toronto,vaugh2windsor;n5sh0tt0;awa;an;arkham,ississauga,oF;avFon0;don on0gueuil;tario;astern0st,t;! 0;standard t0t0;ime;!n0;!ada0;!/7;arrie,ramp0;ton; 4/0;mo1nass0;au;ntre0;al;eastern\",\"Eastern\",\"n\",\"usa\"],\"Vancouver\":[\"true¦america 9b7ca5ladn4okanagan,p1surrey,v0yukon;ancouv3ictor7;acific0st,t;! 0;bc,standard time;er;!nada0;!/2;ritish columb0urnaby;ia;pacific\",\"Pacific\",\"n\",\"usa\"],\"Whitehorse\":[\"true¦canada1m0whitehorse,yst;ountain standard time,st;!/yukon\",\"Mountain\",\"n\"],\"Winnipeg\":[\"true¦america 7c2m1w0;est m0innipeg;anitoba;anada3entral0st,t;! 0;standard t0t0;ime;!/0;central\",\"Central\",\"n\",\"usa\"],\"Yakutat\":[\"true¦a0y4;k6laska0merica;! 1n0;! s2;s1t2y0;akutat;tandard t0;ime;st,t\",\"Alaska\",\"n\",\"usa\"],\"Yellowknife\":[\"true¦america mountain,canada,m0yellowknife;ountain0st,t;! 0;standard t0t0;ime\",\"Mountain\",\"n\",\"usa\"]},\"Antarctica\":{\"Casey\":[\"true¦antarctica,cas0;ey,t\",\"Casey\",\"s\",\"ant\"],\"Davis\":[\"true¦a1dav0;is,t;ntarctica,q,ta\",\"Davis\",\"s\"],\"Macquarie\":[\"true¦a2canberra,eastern australia6m0sydney;acquarie0elbourne;! island;e4ntarctica,us0; east0tralia eastern;!ern0;! standard0; time;st,t\",\"Eastern Australia\",\"s\",\"aus\"],\"Mawson\":[\"true¦antarctica,maw0;son,t\",\"Mawson\",\"s\"],\"Rothera\":[\"true¦a1b0city of b0rothera;uenos aires;ntarctica1r0;gentina,st,t;!/palmer\",\"Argentina\",\"s\"],\"Troll\":[\"true¦antarctica,g2troll0;! 0;research station,t1;mt,reenwich mean t0;ime\",\"Troll\",\"s\",\"troll\"],\"Vostok\":[\"true¦antarctica,vost0;!ok\",\"Vostok\",\"s\"]},\"Asia\":{\"Almaty\":[\"true¦a6central asia,east kazakhstan time,k2nur sultan,p1s0taraz,ust kamenogorsk;emey,hymkent;avlodar,etropavl;a0z;ragandy,z0;!akhstan0;! eastern;lm1s0;ia,tana;a0t; ata,ty\",\"East Kazakhstan\",\"n\"],\"Amman\":[\"true¦a2eet,irbid,jo0russeifa,wadi as sir,zarqa;!r0;!d1;mm0sia;an\",\"Eastern European\",\"n\",\"jord\"],\"Anadyr\":[\"true¦a0petropavlovsk kamchatsky;na0sia;dyr0t;! time\",\"Anadyr\",\"n\"],\"Aqtau\":[\"true¦a1kazakhstan western,mangghystaū/mankis3tashkent,west 0;asia,kazakhstan5;lm2q1s0;hgabat,ia;tau;a0t; ata,-ata0; time\",\"West Kazakhstan\",\"n\"],\"Aqtobe\":[\"true¦a1kazakhstan western,tashkent,west 0;asia,kazakhstan5;kto5lm2qt1s0;hgabat,ia;o3ö3;a0t; ata,-ata0; time;be\",\"West Kazakhstan\",\"n\"],\"Ashgabat\":[\"true¦as4t0;km,m2urkmen0;a4istan0;! time;!st,t;hga1ia0;!/ashkhabad;bat\",\"Turkmenistan\",\"n\"],\"Atyrau\":[\"true¦a1gur'yev,kazakhstan western,tashkent,west 0;asia,kazakhstan6;lm3s2t0;irau,yra0;u,ū;hgabat,ia;a0t; ata,-ata0; time\",\"West Kazakhstan\",\"n\"],\"Baghdad\":[\"true¦a6ba5dihok,erbil,i3k2mosul,na1r0;amadi,iyadh;jaf,sirC;arbala,irkuk,uwait;q,r0;aq,q;ghdad,sr9;bu ghurayb,d diw6l 5rab1s0; sulaym5ia,t;!i0;a0c;!n0;! time;amar2basrah al qadim2falluj2hill2kut,mawsil al jadid2;an0;iy0;ah\",\"Arabian\",\"n\"],\"Baku\":[\"true¦a0baku,ganja,lankaran,sumqayit;sia,z0;!e0t;!rbaijan0;! time\",\"Azerbaijan\",\"n\"],\"Bangkok\":[\"true¦asiaAbangkok,ch7h5i3jakarta,mueang nontha8na2pak kret,s0udon thani;amut prakan,e0i racha,outh east0; asia;khon ratchasima,m di9;ct,ndochina0;! time;a0ue;iphong,noi,t y2;iang m1on 0;buri;ai;!/0;phnom_pe0vientiane;nh\",\"Indochina\",\"n\"],\"Barnaul\":[\"true¦a3b2kra0north a3;snoyarsk0t;! time;arnaul,iysk;sia\",\"Krasnoyarsk\",\"n\"],\"Beirut\":[\"true¦asia,bei3e2l0ra's bay3;b0ebanon;!n;astern european time,et,urope eastern;rut\",\"Eastern European\",\"n\",\"leb\"],\"Bishkek\":[\"true¦asia,bishkek,k0osh;g2yrgy0;stan,zstan0;! time;!t,z\",\"Kyrgyzstan\",\"n\"],\"Brunei\":[\"true¦asia,b0;dt,n2r0;n,unei0;! darussalam time;!t\",\"Brunei Darussalam\",\"n\"],\"Chita\":[\"true¦asia,chita,yak0;t,utsk0;! time\",\"Yakutsk\",\"n\"],\"Choibalsan\":[\"true¦as2choibalsan,dornodsükhbaatar,mongol2ula0;anbaatar0t;! time;ia\",\"Ulaanbaatar\",\"n\"],\"Colombo\":[\"true¦as6c4dehiwala mount lavin6i2kolkata,lk1m0new delhi,sri lanka;oratuwa,umb4;!a;ndia0st;! time,n;henn0olombo;ai;ia\",\"India\",\"n\"],\"Damascus\":[\"true¦a4d3eet,h2latak5sy0;!r0;!ia;am3oms;amascus,eir ez zor;leppo,r raqq1s0;ia;ah\",\"Eastern European\",\"n\",\"syr\"],\"Dhaka\":[\"true¦asiaGbDcBd9jess8khul7mymensingh,na4pa3ra2s1t0;angail,ungi;aid8hib4ylhet;jshahi,ng7;b3ltan,r naogaon;gar5r0t3;ayan0singdi;ganj;na;ore;haka,inaj0;pur;hattogram,o0;milla,x's bazar;a0d,gd,ogra,st;gerhat,ngladesh0rishal;! time;!/dacca\",\"Bangladesh\",\"n\"],\"Dili\":[\"true¦asia,dili,east timor1tl0;!s,t;! time\",\"East Timor\",\"s\"],\"Dubai\":[\"true¦a5dubai,g3mus1om0ras al khaim2sharj2;!an,n;aff0c5;ah;st,ulf0;! time;bu dhabi,jm2rabi2sia0;!/musc0;at;an\",\"Gulf\",\"n\"],\"Dushanbe\":[\"true¦asia,dushanbe,t0;ajikistan1j0;!k,t;! time\",\"Tajikistan\",\"n\"],\"Famagusta\":[\"true¦asia,e0famagusta,northern cyprus;astern european time,et,urope eastern\",\"Eastern European\",\"n\",\"eu3\"],\"Gaza\":[\"true¦asia,eet,gaza2p0;alestine,s0;!e;! strip\",\"Eastern European\",\"n\",\"pal\"],\"Hebron\":[\"true¦asia,e0hebron,west bank;ast jerusalem,et\",\"Eastern European\",\"n\",\"pal\"],\"Ho_Chi_Minh\":[\"true¦asia7bien hoa,can tho,da 5ho3nha tr6qui nh8rach gia,sa dec,thi xa phu my,v0;ietnam1n0ung tau;!m;! south; chi 0_chi_0;minh;lat,n0;ang;!/saig0;on\",\"Indochina\",\"n\"],\"Hong_Kong\":[\"true¦asia,h0kowloon,tsuen wan;k3ong0; kong1_k0k0;ong;! time;!g,st,t\",\"Hong Kong\",\"n\"],\"Hovd\":[\"true¦as4bayan-ölgiigovi-altaihovduvszavkhan,hov2west0; 0ern 0;mongol2;d0t;! time;ia\",\"Hovd\",\"n\"],\"Irkutsk\":[\"true¦a2brat3irk0north asia east,ulan ude;t,utsk0;! time;ngar0sia;sk\",\"Irkutsk\",\"n\"],\"Jakarta\":[\"true¦aZbTcRdepQiNjKkediri,lJmGpArengasdengklQs4t2w0yogyakM;est0ib; indoneXern indonesia time;a0egal;n4sikmal3;ema4itubondo,outh tan3u0;kabumi,medaSra0;b0kF;aya;ge0;raO;a4e1robolinggo,urw0;akAokerto;ka1ma0rcut;laKtangsiantar;long2nbaru;daIl3mulaIruI;a1ed0;an;diun,laF;embaE;a0ember;k0mbi,vasumatra;arta;d1ndonesia0;! western;!n;ok;i0urug;ampea,bino5leungsir,mahi,putat,rebon;a1e0injai,ogor;kasi,ngkulu;nd0tam;a0u1; aceh,r lampu0;ng;sia\",\"Western Indonesia\",\"s\"],\"Jayapura\":[\"true¦a2east1indonesia eastern,jayapura,m0new guinea,wit;alukus,oluccas; indones1ern indonesia time;mbon,s0;ia\",\"Eastern Indonesia\",\"s\"],\"Jerusalem\":[\"true¦as7beersheba,haifa,i2j0petah tiqwa,rishon leziyyon,tel 9west je1;e0mt;rusalem;d3l,s0;r0t;!ael0;! time;dt,t;hdod,ia0;!/tel_0;aviv\",\"Israel\",\"n\",\"isr\"],\"Kabul\":[\"true¦a1herat,jalalabad,ka0mazar e sharif;bul,ndahar;f0sia;!g0t;!hanistan0;! time\",\"Afghanistan\",\"n\"],\"Kamchatka\":[\"true¦a2kamchatka,pet0;ropavlovsk0t; kamchatsky,-kamchatski time;nadyr,sia\",\"Petropavlovsk-Kamchatski\",\"n\"],\"Karachi\":[\"true¦asia,bLchiniKdera ghaziIfaisalHgujraGhyderHislamHjhang sadr,kElaDm8nawabshah,okaBp4quetta,ra3s0;a1h0ialkJukkN;ahkIekhupu9;ddiqEhiwal,rgodha;him yarEwalpindi;ak1eshawar,k0;!t;!istan0;! time;a3i1u0;lt9zaffar7;ngo0rpur khas;ra;lir cantonment,rd6;hore,rkana;a0otli;moke,rachi,s8;n5t;abad; kh0;an;ot;a1himber,ure0;wala;hawalp0ttagram;ur\",\"Pakistan\",\"n\"],\"Kathmandu\":[\"true¦asia3biratnagar,kath4n1p0;atan,okhara;epal,p0;!l,t;!/kat0;mandu\",\"Nepal\",\"n\"],\"Khandyga\":[\"true¦asia,khandyga,yak0;t,utsk0;! time\",\"Yakutsk\",\"n\"],\"Kolkata\":[\"true¦0:3D;1:3L;2:2D;3:3M;4:3J;a35b2Dc24d1We1Uf1Sg1Fh1Ci18j13k0Pl0Km0Cn05odis3KpVquthbull3DrNsFt9u8v5warang2Myamun1P;a6el1Ui5;jayawa2Vsakha0HzianagC;doda2Orana11;daip0jja23lhasn1ttar pradesh;a8eXh7iru5umk0;chirap0Mnelve2p5vottiy0;a39p0;ane,iruvananthapur0Noothuku2Yriss0;mb5njo1X;ar0L;aBecunder4h9i8lst,o7r1Fu5;jan37r5;at,endr1C;l2Znip2N;k3liguKngrau2rJ;ahj1Zi5ri2Oya0L;mo1Mvaji07;har1Xlem,mbh24ng2t04ug0Y;a6e0Eoh5;iItak;ebare2i9j7m5nc1Gtl0Aurke37;ag5g5p0;und08;a5kot;hmund26sth2A;ch0p0;a9imp8roddat0u5;ducher23n5rn17;a5e;sa;ri;li,n7rbha6t5;ia2Vna;ni;chku2Ti5;ha2Gp21;a7e6izam4o5;i1Vwrang2B;l0Sw del0Y;di2Kg7i0Ejaf2Fn5re2Oshik,vi mumb15;ded,g5;i,loi j1V;ercoil,p0;a8eerut,irz25o7u5yso0Y;lugu,mb10rwa1Izaffar5;n1p0;nghyr,rad4;chili7d6harasht1Fleg07n5thu1Fu;ga0Iip0;hya,ur0V;patnG;a7u5;cknow,dhia5;na;l bahadur5t0; n1;aDhaBo8u5;kat6lt5rno1P;a2i;pal2;l5rWta,zhikode;h1Nka1Kl5;am;nd5ragp0;wa;kina13l8marOnp0r5shmir,tih3;i6na5ol ba18;l,tV;mn1;lakuric03y11;a6han5odNunagadh;si;b0Rip0l6m5;mu,n1shedp0;andh3gGna;chalkaranji,mph0In5st;!d5;!ia5o00;! time,n;a6is3ospet,u5;b2g2;o0Hp0ridw3;aChazi4o9reater noi0Mu6wali5y04;or;jar0OlbarQnt0rg6wa5;ha12;aon;rak6sa5;ba;hp0;juw8n5ya;dh6g5;an1;in1;aka;ar5iroz4;id4rukh4;l5taw0M;loF;aAe8h6indigul,ombOurg5;!ap0;anb0Uul5;ia;hra dun,l5was;hi;rbhan5vange8;ga;a09h8o5uttack;ch6imbato5;re;in;a6enn5;ai;nd5pL;a5i0C;!nn1;aNeKhBi9or7rahm04u5;landshahr,rh5;anp0;iv2;li;d3har sharif,jZkan07l5;asp0imoC;aAi7op6u5;baneshw3sav5;al;l6wan5;di,i;ai,wa6;g6ratp0tpa5vn1yand3;ra;alp0;l5ngaluru;gaum,la5;ry;hAli,r6thin5;da;a6ddham5eilly;an;n1s5;at;a6rai5;gh;ramp0;gQhmLizawl,jmKkoRlHmDnantCrrBs6urang4va5;di;ans8ia5;!/ca5;lcut5;ta;ol;ah;ap0;arnath,batt0r5;ava5its3o9;ti;ur;appuz6i5lah4w3;garh;ha;er;adn1ed4;ab5;ad;ag3;ar;arta5ra;la\",\"India\",\"n\"],\"Krasnoyarsk\":[\"true¦a2kra0north a2;snoyarsk0t;! time;sia\",\"Krasnoyarsk\",\"n\"],\"Kuala_Lumpur\":[\"true¦aHbukit mertajGgeorge town,ipoh,johor bahFk8m4petali3s0taipiE;e1hah alFu0;ba1ngai petani;paBremb7;ng jaya;ala1y0;!s,t;cca,ysia0;! time;ampung baru suba5la5ota bha6ua0;la1nt0;an; 0_l1;l0terengganu;umpur;ng;ru;am;lor setar,sia\",\"Malaysia\",\"s\"],\"Kuching\":[\"true¦asia,k4m2s0tawau;a0ibu;bahsarawak,ndakan;alaysia0iri,yt;! time;ota kinabalu,uching\",\"Malaysia\",\"n\"],\"Macau\":[\"true¦asia6beiji5c2hong ko5m0urumqi;ac0o;!au;h0st;ina0ongqi1;! time;ng;!/macao\",\"China\",\"n\"],\"Magadan\":[\"true¦asia,mag0;adan0t;! time\",\"Magadan\",\"n\"],\"Makassar\":[\"true¦asiaBba8c5denpa4indonesia central,k3l2ma1palu,s0wita;amarinda,ulawesi;kas2nado,taram;abuan bajo,oa jan7;endari,up8;sar;e0ity of bal3;lebesbalinusa,ntral indonesia0;! time;l0njarmasin;ikpap0;an;!/ujung_pand0;ang\",\"Central Indonesia\",\"s\"],\"Manila\":[\"true¦a04bWcRdaPgeneral santOiMlJmCnaBoAp4quezIsan1ta0zamboanga;clobZguig,rlac,ytE; 1t0;a ro2ol;fernando,jose del monte,pab02;a3h1uerto prince0;sa;!ilippine0l,st,t; time,s;gadiRnalanoy,s0;ay,ig;longapo,rmoc;ga,votQ;a0eycauayN;balacat,gugpo poblaci4kati,l3n0;da1ila,silingLtamp0;ay;luyong,ue;ingDol6;on;a1egaspi,i0ucena;bertad,pa;pu lapu,s p4;l0mus;igCoiI;os;smar0v5;inB;a0ebu,otabato;b1gayan de oro,in5l0;amba,ooc6;anatu5uy0;ao;a4inan2u0;d0tu2;ta;!gon0;an;co1guio,tang0;as;lod,or;n0sia;geles,tipo0;lo\",\"Philippine\",\"n\"],\"Nicosia\":[\"true¦a5cy3e0n2;astern european time,et,urope0; eastern,/n0;ico2;!p0;!rus;sia\",\"Eastern European\",\"n\",\"eu3\"],\"Novokuznetsk\":[\"true¦a5k2no0prokop'yev1;rth a4vokuznet0;sk;emerovo,ra0;snoyarsk0t;! time;sia\",\"Krasnoyarsk\",\"n\"],\"Novosibirsk\":[\"true¦as3no0siber3;rth central as2v0;osibirsk0t;! time;ia\",\"Novosibirsk\",\"n\"],\"Omsk\":[\"true¦asia,oms0;k0t;! time\",\"Omsk\",\"n\"],\"Oral\":[\"true¦a2kazakhstan western,oral,tashkent,west 0;asia,kazakhstan0;! 4;lm1s0;hgabat,ia;a0t; ata,-ata 0;time\",\"West Kazakhstan\",\"n\"],\"Pontianak\":[\"true¦asia,b2indonesia western,pontianak,tanjung pinang,w0;est0ib; b0ern indonesia time;orneo\",\"Western Indonesia\",\"n\"],\"Pyongyang\":[\"true¦asia,chongjin,h7k4n3p2s0won8;ariw0eoul,inuiAunch'0;on;rk,yongya7;amp'o,orth korea;a1orea0p,st;!n time;eso3nggye;a1ungnam,ye0;san;e1mhu0;ng;ju\",\"Korean\",\"n\"],\"Qatar\":[\"true¦a2doha,kuwait,qa0riyadh;!t0;!ar;r2s0;ia0t;!/bahrain; rayyan,ab0;!i0;a0c;!n0;! time\",\"Arabian\",\"n\"],\"Qostanay\":[\"true¦a2central asia,east kazakhstan time,k0qo1;azakhstan eastern,o0;stanay;lmt,s0;ia,tana\",\"East Kazakhstan\",\"n\"],\"Qyzylorda\":[\"true¦a4k1qy2tashkent,west 0;asia,kazakhstan7;azakhstan western,y0zyl-1;zyl0;orda;lm1s0;hgabat,ia;a0t; ata,-ata0; time\",\"West Kazakhstan\",\"n\"],\"Riyadh\":[\"true¦a9burayd8dammam,ha7jedd8k6me5najran,riyadh,s4ta3y0;anbu,e0;!m0;!en;'if,buk;ultan3yot;cca,dina;hamis mush6uw6;'il,far al batin;ah;bha,l 8ntarctica/syowa,rab4s0;ia0t;!/0;aden,kuw0;ait;!i0;a0c;!n0;! time;hufuf,jubayl,kharj,mubarraz\",\"Arabian\",\"n\"],\"Sakhalin\":[\"true¦asia,sak0yuzhno sakhalinsk;halin0t;! 0;island,time\",\"Sakhalin\",\"n\"],\"Samarkand\":[\"true¦asia,bukhara,nukus,qarshi,samarkand,uz0;bekistan0t;! 0;time,west\",\"Uzbekistan\",\"n\"],\"Seoul\":[\"true¦aPbuMchHdaeGgChwaseoRiBjeAk7m6pohaFrok,s2u1wonJy0;aCeosu;ijeongbuQlsL;e1outh korea,u0;nEwH;joAo0;ngnamMul;asGokpo;imhae,or0r,st,wangmyo7;!ea0;!n time;ju,on8;cCksBn6;angneu2oyaEu1wa0;ng5;mi,ns8riD;ng;gu,je4;angw3eon2in1un0;che2;ju;an,gju7;on;c1s0;an;heon3;n0sia;san1ya0;ng0; si\",\"Korean\",\"n\"],\"Shanghai\":[\"true¦0:3J;1:36;2:34;3:37;4:3D;a3Cb31c2Nd2He30f2Cg26h1Qji1Ek1Bl0Ym0Wn0Tordos,p0Pq0Lrizh10s08t01u3FwSxLyEz5;aoCh6i5ouc3unyi;bo,go0;a7en6ouk2u5; c3h31maWzh2;g2Vj1Izh2;b1Vng5o3E;jiakou5zh2;! shi xuanhua qu;ya0z27;an9i7u5;ci,e18n5;c3fu;b4c9n5ya0;cZgk2;c3g5ji,t2Q;j17qu1sh16zh2;i6uc5;ha0;a6n5uyi0;di,gt2Lh1Gi0pu,t2Lx13ya0;m17n5;!g5ni0t0Eya0;t1ya0;aBe9u5;h6so0w1Cx5zh2;i,ue;a5u;i,n;i0Hn5;sh1zh2;fang5nxi1;di1;a8i6ong5;chuans0XhDli02sh1;an5eli0;j4sh10;i6ng5;gu,sh1;an,hec1Wyu1zh2;anmi0hAi8u5;i5zh2;h5zh2;ua;c5pi0;hu1;a7en6i5uangya14;jiaz15qi,y1;gli,ya0zh0G;n6o5s0I;gu1xi0;g5t2;h1Pqiu,rKyu;i5uan1J;aFn5o14qih1Y;g5huangdH;dGh1L;an0Ting7rc,u5;ti1yang5;! H;ding0QxZ;an5eijYingbo;ch5ji0ni0to0ya0;a0o0;entoug2ianRuda5;njU;aEi8u5;anc3o6qi5;ao;he,ya0;a7jPn5upansh02;fTxia 5yi;chengguanI;n0Do5;c3y5;a0u1;i0Wn5ohek2;g5zh2;fa0;ai6un5;mi0sh1;fe0yu1;'1aAe9l4n6u5xi;jCt0U;an,c3g5i0zh2;de5li0zh2;zhE;ya0;musi,n8o5xi0;j6z5;uo;ia0;g5shG;m7xi;aGeCkt,oBu5;a6i0Dlan ergi,m5n1;en;i7ng5y4;ga0s5;hi;'1b9n1;hhot,ng ko0;bi,f7ga0ng5ze;sh5ya0;ui;ei;i7n5rb4;d1g5;u,zh2;c3k2l0F;a9u5;an6i5li;l4ya0zh2;g5k2;do0yu1zh2;nsu,opi0;en7o6u5;ji1shQx4zh2;sh1;d2g5;hua0;a6eNong5;gu1hR;d6lian5ndo0qi0to0;!g;o5uk2;nghN;angHh5n,st,t;aAen7i5n,oZuG;fe0na5;! time;g5zh2;d5zho0;e,u;ng6o5;ya0zh2;ch7de,sh6zh5;i,ou;a,u;un;zh2;a9e5;i6n5;gbu,xi;'1h5ji0;ai;i7o5yan nur;di0t2;ou;c3sh1y4;an;he0;nDsia5;!/5;ch8harb4kashg6u5;rumqi;ar;in;o5ungki0;ng5;qi0;da,qi0sh5ya0;an,un;ng\",\"China\",\"n\"],\"Singapore\":[\"true¦asia,kuala lumpur,s0woodlands;g0ingapore;!p,t\",\"Singapore\",\"s\"],\"Srednekolymsk\":[\"true¦asia,chokurdakh,sre0;dnekolymsk,t\",\"Srednekolymsk\",\"n\"],\"Taipei\":[\"true¦asia,banqiao,cst,h7k5roc,t0;a1w0;!n;i0oyu1;ch2n0pei,w0;an;aohsi0eel0;ung;sinchu,ualien\",\"Taipei\",\"n\"],\"Tashkent\":[\"true¦a3namangan,qo`q4tashkent,uz0;!b0t;!ekistan0;! east;ndij0sia;on\",\"Uzbekistan\",\"n\"],\"Tbilisi\":[\"true¦asia,ge1kuta0tbil0;isi;!o0t;!rgia0;!n\",\"Georgia\",\"n\"],\"Tehran\":[\"true¦aQbMgorgWhamViKkCmaBn8orumiy7pasragad branch,q4rasht,s2t1varam6yazd,za0;hedVnjV;abHehrU;a0hirRirjT;bzevar,nandEri,v3;a0om;rchak,zv0;in;eh;a0eyshabur;jaf0zar0;ab4;layer,shh3;a4erman3ho0;meyni sDrram0wy;ab0sC;ad;!shah;h1r0;aj;riz;r0sfahB;!an,dt,n,st;a2irjand,o0uk9;jnu0ruje0;rd;b3ndar abbas;b4hv3m2r1sia,zads0;hahr;ak,dabil;ol;az;ad0;an\",\"Iran\",\"n\"],\"Thimphu\":[\"true¦asia2b0thimphu;hutan,t0;!n;!/thimbu\",\"Bhutan\",\"n\"],\"Tokyo\":[\"true¦0:11;1:1A;2:10;a18ch16fu0Zgifu14h0Oi0Ij0FkZmTnMoKsFt9u8waka05y3;a6o3;k3no;kaic1Co3;ha2su0;maKo;ji,tsun0F;aka7o3sukuba;k5makom05y3;a2o3;hOna0ta;oro03us0Qyo;m0Jrazu0sa1tsu1;a5end00hi4o0u3;i10zu0;monose1zuo0;ita2k3ppoLsebo;ai,u06;dawa05i0Wka3sa0t0E;ya2za1;a6eyaga0Qi3umazu;i4shi3; tokyo0Inomiya ha2;ga0R;g3ha,ra0G;a3oX;no,o0sa1;a5i3orio0;na3to,yaza1;mirinkOto;chiDeb4tsu3;do,m8ya2;as0J;aBi9o7u3y6;mam5r4shi3;ro;ashi1e,ume;oto;be,c0Dfu,ri3shigaK;ya2;shiwa3takyushu;da;gosVkogawacho honmKmirenjaku,na8s5wa3;g3sa1;oe,uc07;hi01u3;g3kabe;ai;zaY;ap4dt,oetJp3st;!n;an;bara1chi4ta3wa1zu3;mi;ha5n3;omi3;ya;ra;a8i3oncho;meBr4t3;acR;a4os3;a1hi2;kaNtsu0;chi5kodate,mam3;at3;su;nohe,o3;ji;ji8ku3;i6o0s3ya2;hi2;ma;ka; sD;!sa7;i3ofu;ba,g6;geoshimo,k7mag5njo,omori,s3tsugi;ahika3ia;wa;asa1;ki;as4i3;ta;hi\",\"Japan\",\"n\"],\"Tomsk\":[\"true¦asia,oms0tomsk;k,t\",\"Omsk\",\"n\"],\"Ulaanbaatar\":[\"true¦asia3m1ula0;anbaatar,n 3t;n0ongolia;!g;!/ulan_0;bator\",\"Ulaanbaatar\",\"n\"],\"Ust-Nera\":[\"true¦asia,ust-nera,vla0;divostok,t\",\"Vladivostok\",\"n\"],\"Vladivostok\":[\"true¦asia,k1vla0;divostok,t;habarovsk0omsomolsk on amur;! vtoroy\",\"Vladivostok\",\"n\"],\"Yakutsk\":[\"true¦asia,blagoveshchen1yak0;t,ut0;sk\",\"Yakutsk\",\"n\"],\"Yangon\":[\"true¦asia4b3kyain seikgyi township,m0nay pyi taw,pathein,sittwe,yang5;a1eiktila,m0onywa;!r,t;ndalay,wlamyine;ago,urma;!/rango0;on\",\"Myanmar\",\"n\"],\"Yekaterinburg\":[\"true¦asia,chelyabin7eka5k4magnitogor7nizhn3or2perm,s1tyumen,ufa,yek0zlatoust;a4t;terlitamak,urgut;e3sk;evartov3y tagil;amensk ural'skiy,urgan;teri0;nburg;sk\",\"Yekaterinburg\",\"n\"],\"Yerevan\":[\"true¦a0caucasus,yerevan;m2rm0s1;!en0;ia;!t\",\"Armenia\",\"n\"]},\"Atlantic\":{\"Azores\":[\"true¦a0hmt;tlantic,zo0;res,st,t\",\"Azores\",\"n\",\"eu0\"],\"Bermuda\":[\"true¦a2b0;ermuda,m0;!u;st,t0;!lantic\",\"Atlantic\",\"n\",\"usa\"],\"Canary\":[\"true¦atlantic,canary1europe western,las palmas de gran canaria,santa cruz de tenerife,we0;stern european,t;! islands\",\"Western European\",\"n\",\"eu1\"],\"Cape_Verde\":[\"true¦atlantic,c0;a1pv,v0;!t;bo verde0pe verde;! is\",\"Cape Verde\",\"n\"],\"Faroe\":[\"true¦atlantic2f0;aroe0o,ro;! islands;!/faeroe\",\"Western European\",\"n\",\"eu1\"],\"Madeira\":[\"true¦atlantic,europe western,madeira1we0;stern european,t;! islands\",\"Western European\",\"n\",\"eu1\"],\"Reykjavik\":[\"true¦atlantic,coordinated universal3g2i0reykjavik,utc,zulu;celand,s0;!l;mt,reenwich mean0; time\",\"Greenwich Mean\",\"n\"],\"South_Georgia\":[\"true¦atlantic,gs1s0;gs,outh georgia;!t\",\"South Georgia\",\"n\"],\"Stanley\":[\"true¦atlantic,f0stanley;alkland1k0lk;!st,t;! island0;!s\",\"Falkland Islands\",\"s\"]},\"Australia\":{\"Adelaide\":[\"true¦a2cen0south 1; 0tral 0;australia;c2delaide,ustralia0;! 0/south,n 0;central;dt,st,t\",\"Central Australia\",\"s\",\"aus\"],\"Brisbane\":[\"true¦a1brisbane0gold coa5logan,q4townsville;! time;e3ustralia0;!/q1n east0;!ern;ueensland;st\",\"Brisbane\",\"s\"],\"Broken_Hill\":[\"true¦a1broken_hill,cen0y3; australia standard time,tral australia;c2delaide,ustralia0;! central,/y0;ancowinna;st,t\",\"Central Australia\",\"s\",\"aus\"],\"Darwin\":[\"true¦a0darwin,northern territory;cst,ustralia0;!/north,n central\",\"Australian Central\",\"s\"],\"Eucla\":[\"true¦a0cw4eucla;cw4us0; central w1tralia0;!n central western;!e0;st;dt,st,t\",\"Australian Central Western\",\"s\"],\"Hobart\":[\"true¦a0canberra,eastern austral5hobart,king island,melbourne,sydney,t4;e8us0; east5tralia0;! 3/0n 3;currie,t0;asman0;ia;easte1;!e0;rn;dt,st,t\",\"Eastern Australia\",\"s\",\"aus\"],\"Lindeman\":[\"true¦a0brisbane time,lindeman,whitsunday islands;est,ustralia0;!n eastern\",\"Brisbane\",\"s\"],\"Lord_Howe\":[\"true¦australia3l0;h1ord howe0;! island;dt,st,t;!/lhi\",\"Lord Howe\",\"s\",\"lhow\"],\"Melbourne\":[\"true¦a0canberra,eastern austral4geelong,melbourne,sydney,v3;e7us0; east4tralia0;! 2/v0n 2;ictor0;ia;easte1;!e0;rn;dt,st,t\",\"Eastern Australia\",\"s\",\"aus\"],\"Perth\":[\"true¦a4perth,w0; 2est0; 1ern australia0;! time;australia;ustralia1w0;dt,st,t;! weste1/west,n west0;!e0;rn\",\"Western Australia\",\"s\"],\"Sydney\":[\"true¦a0c5eastern australia time,melbourne,new south wales,sydney,wollongong;e8u0;!s0;! east4tralia0;! 2/0n 2;act,c0nsw;anberra;easte1;!e0;rn;dt,st,t\",\"Eastern Australia\",\"s\",\"aus\"]},\"Etc\":{\"GMT\":[\"true¦coordinated universal3etc2g0utc,zulu;mt,reenwich0;! mean1;!/greenwich; time\",\"Greenwich Mean\",\"n\"],\"UTC\":[\"true¦coordinated universal7etc2g1u0z4;ct,n5tc;mt,reenwich mean5;!/0;u1z0;ulu;ct,n0;iversal; time\",\"Greenwich Mean\",\"n\"]},\"Europe\":{\"Amsterdam\":[\"true¦a9brussels,c6e4groning7madrid,n2paris,ro1t0utrecht;he hague,ilburg;mance,t9;etherlands,l0;!d;indhov2urope0;! central;e1openhag0;en;ntral european,st,t;lmere stad,m0;s0t;terdam\",\"Central European\",\"n\",\"eu2\"],\"Andorra\":[\"true¦a3brussels,c1europe0madrid,paris,romance;! central;e0openhagen;ntral european,st,t;d,nd0;!orra\",\"Central European\",\"n\",\"eu2\"],\"Astrakhan\":[\"true¦astrakh1europe,m0russi1st petersburg,volgograd time;oscow,sk;an\",\"Moscow\",\"n\"],\"Athens\":[\"true¦athens,e1gr0thessaloniki;!c,eece;astern european,et,urope0;! eastern\",\"Eastern European\",\"n\",\"eu3\"],\"Belgrade\":[\"true¦b9c7europe3madrid,n2p1romance,s0;i,lovenia,vn;aris,risti4;is,ovi sad;! central,/0;ljublja1podgorica,s0zagreb;arajevo,kopje;na;e0openhagen;ntral european,st,t;elgrade,russels\",\"Central European\",\"n\",\"eu2\"],\"Brussels\":[\"true¦antwerp6b3c1europe0gent,liege,madrid,paris,romance;! central;e0harleroi,openhag4;ntral european,st,t;e0mt,russels;!l0;!gium;en\",\"Central European\",\"n\",\"eu2\"],\"Bucharest\":[\"true¦b5c4e2gala1iasi,oradea,ploies1ro0timisoara;!mania,u;ti;astern european,et,urope0;! eastern;luj napoca,onstanta,raiova;ra0ucharest;ila,sov\",\"Eastern European\",\"n\",\"eu3\"],\"Budapest\":[\"true¦b6c3debrec4europe2hu0madrid,paris,romance;!n0;!gary;! central;e1openhag0;en;ntral european,st,t;russels,udapest\",\"Central European\",\"n\",\"eu2\"],\"Busingen\":[\"true¦b5c3de2europe1germa0madrid,paris,romance,saxo0;ny;! central,/berlin;!u;e0openhag3;ntral european,st,t;avaria,r0using1;em0ussels;en\",\"Central European\",\"n\",\"eu2\"],\"Chisinau\":[\"true¦chisinau,e2m0;d0oldova;!a;astern european,et,urope0;! eastern,/tiraspol\",\"Eastern European\",\"n\",\"eu2\"],\"Copenhagen\":[\"true¦arhus,brussels,c2d1europe0madrid,paris,romance;! central;enmark,k,nk;e0mt,openhagen;ntral european,st,t\",\"Central European\",\"n\",\"eu2\"],\"Dublin\":[\"true¦ace,british8cork,d7e6g5i3l0tse,waterford;i0ond1;merick,sb0;on;e,r0st;eland,l;alway,mt,reenwich mean2;dinburgh,ire,urope;mt,ublin; time\",\"Irish\",\"n\",\"eu1\"],\"Gibraltar\":[\"true¦b5c3europe2gi0madrid,paris,romance;!b0;!raltar;! central;e0openhagen;ntral european,st,t;dst,russels,st\",\"Central European\",\"n\",\"eu2\"],\"Helsinki\":[\"true¦e3fi1helsinki,t0vantaa;ampere,urku;!n0;!land;astern european,et,spoo,urope0;! eastern,/mariehamn\",\"Eastern European\",\"n\",\"eu3\"],\"Istanbul\":[\"true¦aYbScQdOeKgJiHkFmBosmAs4t1u0v07zeytinburnu;eskuedWmr9;arsus,r1ur0;!kZ;!abzon,t;a3i1ultan0;beyJgazi;sIv0;as,erek;msun,n0;cakteBliurfa;aniye;a1er0uratpaH;kezefendi,sin;l0niF;atQte6;a0irikkale,onPutahP;hramanmaras,rabaglGyseS;sJzmi0;r,t;aziantep,ebze;lazig,rzurum,s1uro0;pe;en0kiC;l8yurt;eniz0iyarbakB;li;ankaEor0;lu,um;a1ur0;sa;gcil2hcelievl1likes5sak4t0;ikent,mB;er;ar;d7n4rnavutko3sia/is2ta0;seh0;ir;tanbul;ey;kara,ta0;k0l0;ya;a1iyam0;an;na,paza0;ri\",\"Turkey\",\"n\"],\"Kaliningrad\":[\"true¦e0kaliningrad;astern european,et,urope\",\"Eastern European\",\"n\"],\"Kiev\":[\"true¦bila tserkLcherIdGeDhorlCivano frankivHk8l7m5odessa,poltaLriv4sumy,ternopil,u2vinnyts1z0;aporizhzh0hytomyr;ya;a,kr0;!ai0;ne;a0ykolayE;ki5riu8;ut9vC;amyanske,h1iev,r0yB;emenchuk,opyv1yvyy rih;ark9erson,mel0;nytskyy;ivka;astern european,et,urope0;! eastern,/simfero0;pol;nipro,onet0;sk;kasy,ni0;h0vtsi;iv;va\",\"Eastern European\",\"n\",\"eu3\"],\"Kirov\":[\"true¦europe,kirov,m0russian,st petersburg,volgograd time;oscow,sk\",\"Moscow\",\"n\"],\"Lisbon\":[\"true¦amadora,europe5lisbon,p2we0;st0t;! europe,ern european;ort0rt,t;o,ugal0;! mainland;! western\",\"Western European\",\"n\",\"eu1\"],\"London\":[\"true¦a0Ob0Ac07d03eXgThRiOj00kingston upon hull,lJmHnBoxSp9reading,s1w0yF;arwick0Aig00olverha7;heffield,o3t2u1w0;an4iH;ffolk,nderland,rr0IsYttL;afNoke on tre0C;meZuth0;a1end on 0;sea;mptG;ly0orts0restF;mouth;ew4o0;r0ttinghamT;th0wC; y0amptonR;orkV;castle upon tyne,port;ancheQi0;dlan4lton keynes;ancaRdn,e2i1o0ut5;nd4;ncolnPsb3verW;e0icesterJ;ds;psw1slingt0;on;ich;ampJert0;fordI;b2l1mt0reenwich mean M;! standard L;asgow,oucesterF;!-eF;dinburgh,s4urope0;!/0;belNguernsMisle_of_m1j0;ersL;an;sex;erby2o1u0;blin,dlH;rset;!sh5;a1ity of westmin0oventry,rawlE;ster;mbridge1rdiff;eAir9lack7r2st,uckingham0;sh0;ire;adford,e3i0;st4tish0;! 0;time;nt;po0;ol;kenhead,mingham;l1xl0;ey;fast;berdeen,rchway\",\"British\",\"n\",\"eu1\"],\"Luxembourg\":[\"true¦brussels,c3europe2lu0madrid,paris,romance;!x0;!embourg;! central;e0openhagen;ntral european,st,t\",\"Central European\",\"n\",\"eu2\"],\"Madrid\":[\"true¦aRbOcJeGfuenDgCjerez de la frontera,lBm8ovieFp6romance,s1terrassa,v0wemt,zaragoza;alladol9igo;a1evilla,pain0;! mainland;badell,n0; sebastiHt0; marti,ander,s montjuic;a0uente de vallecas;lma,mpIris;a0ostolLurcK;dr0laga;id;atiJeganI;asteiz/vitorGijon,ran1;carral el par1labr0;ada;do;ixample,lche,s1urope0;! centr2;!p;a3e1iudad line0openhagen;al;ntral europe0st,t;an;rabanchel,stello de la pla7;a0ilbao,russels,urgos;da0rce0sque;lo4; coru3l0;cala de henar1icante,mer0;ia;es;na\",\"Central European\",\"n\",\"eu2\"],\"Malta\":[\"true¦brussels,c3europe2m0paris,romance;a0lt,t;drid,lta;! central;e0openhagen;ntral european,st,t\",\"Central European\",\"n\",\"eu2\"],\"Minsk\":[\"true¦b4europe,h3m1russian,st petersburg,v0;iteb4olgograd time;ahily0in3osc0sk;ow;omyel,rodna;abruy0elarus,lr,rest,y;sk\",\"Moscow\",\"n\"],\"Monaco\":[\"true¦brussels,c3europe2m0paris,romance;adrid,c0onaco;!o;! central;e0openhagen;ntral european,st,t\",\"Central European\",\"n\",\"eu2\"],\"Moscow\":[\"true¦ar0Db0Ac07dzerzh06europe,fet,grozn05ivano04kYlipet0FmRnNorel,pKrFs8t6v2w-su,y0zelenograd;a0oshkar oW;roslavl,sene02;asyl'evsky ostrIelikiMladi2o0ykhino zhulebT;l0ronezh;gograd Pogda;kavkaz,m08;a0uQver;ganrog,mbD;a4ever3hakhty,molen06ochi,t0yktyvkR; 4a0;ryy osk0vrop0;ol;nSodvT;int 0rX;petersburg;ostov na donu,u1y0;azLbP;!s0;!sia0;!n;e1odolUsk0;ov;nza,trozavodS;a2izhn0ovorossiyR;ekamQi0;y novM;berezhnyye chelny,l'chik;a3dst,oscow1s0urmJ;d,k;! 0;time;khachka1r'0;ino;la;a2himki,ostroma,rasno0urG;d0gvargeisky;ar;l1z0;an;ininsk5uga;vo;yy;in8;entraln1he0;boksary,repovets;iy;el1ry0;an3;gorod;khangel'1mav0;ir;sk\",\"Moscow\",\"n\"],\"Oslo\":[\"true¦a6b5c3europe2madrid,oslo,paris,romance,s0;j0valbard and jan 6;!m;! central;e0openhag4;ntral european,st,t;erg2russels;rctic/longyearby1tlantic/jan_0;may0;en\",\"Central European\",\"n\",\"eu2\"],\"Paris\":[\"true¦bIcFeuropeEfrBl9m7n5paris,r3s0toulouH;aint 1t0; 0rasbourg;etienne;e0oman9;ims,nn1;ant0i7ormandy;es;a0et,ontpellier;drid,rsei1;e havre,i0yon;lle;!a0;!n0;ce;! central;e0openhagen;ntral european,rgy pontoi0st,t;se;ordeaux,russels\",\"Central European\",\"n\",\"eu2\"],\"Prague\":[\"true¦br6c4europe2madrid,ostr3p1romance,s0;k,lovakia,vk;aris,mt,rague;! central,/bratisl0;ava;e0openhagen;ntral european,st,t;no,ussels\",\"Central European\",\"n\",\"eu2\"],\"Riga\":[\"true¦e2kalt,l0riga;atvia,st,v0;!a;ast2e1urope0;! eastern;st,t; europe,ern european\",\"Eastern European\",\"n\",\"eu3\"],\"Rome\":[\"true¦bIcEeuropeCfloreBgenoa,mAnaples,p7r5sicily,t3v0;a0eroK;!t0;!ican city;aran4rieste,u0;rin,scany;mt,om0;a4e;a1ra0;to;dova,lermo,ris;adrid,essiAil6;nce;! central,/0;san_marino,vatic3;atan5e1o0;penhagen,rsica;ntral europe0st,t;an;ari,olog2r0;esc0ussels;ia;na\",\"Central European\",\"n\",\"eu2\"],\"Samara\":[\"true¦europe,izhevsk,s0togliatti on the volga;am0yzran;ara,t\",\"Samara\",\"n\"],\"Saratov\":[\"true¦balakovo,europe,izhevsk,sa0;m0ratov;ara,t\",\"Samara\",\"n\"],\"Sofia\":[\"true¦b2e0imt,plovdiv,sof4varna;astern european,et,urope0;! eastern;g2u0;lgar0rgas;ia;!r\",\"Eastern European\",\"n\",\"eu3\"],\"Stockholm\":[\"true¦brussels,c5europe4goeteborg,ma3paris,romance,s0;e1tockholm,we0;!d4;!t;drid,lmoe;! central;e1openhag0;en;ntral european,st,t\",\"Central European\",\"n\",\"eu2\"],\"Tallinn\":[\"true¦e0tallinn;astern european,e2st1urope0;! eastern;!onia;!t\",\"Eastern European\",\"n\",\"eu3\"],\"Tirane\":[\"true¦al4brussels,c2europe1madrid,paris,romance,tiran0;a,e;! central;e0openhagen;ntral european,st,t;!b0;!ania\",\"Central European\",\"n\",\"eu2\"],\"Ulyanovsk\":[\"true¦europe,m0russian,st petersburg,ulyanovsk,volgograd 2;oscow0sk;! 0;time\",\"Moscow\",\"n\"],\"Uzhgorod\":[\"true¦e0ruthenia,uzhgorod;astern european,et,urope0;! eastern\",\"Eastern European\",\"n\",\"eu3\"],\"Vienna\":[\"true¦a4brussels,c1donaustadt,europe0favorit2graz,linz,madrid,paris,romance,vienna;! central;e1openhag0;en;ntral european,st,t;t,u0;stria,t\",\"Central European\",\"n\",\"eu2\"],\"Vilnius\":[\"true¦e3k2l0vilnius;ithuania,t0;!u;aunas,laipeda;astern european,et,urope0;! eastern\",\"Eastern European\",\"n\",\"eu3\"],\"Volgograd\":[\"true¦europe,m2russian,st petersburg,vol0;gograd0t,zhskiy;! time;oscow,sk\",\"Moscow\",\"n\"],\"Warsaw\":[\"true¦bKcHeuropeGgCkAl8m7p4r3s2torun,w0zabrze;ars0rocl0;aw;osnowiec,zczec6;adIomanA;aris,l,o0raga poludnie;l0znD;!and;adrid,okot3;odz,ubl0;in;ato2iel3rak0;ow;d2li0;wi0;ce;ansk,ynia;! central;e0openhagen,zestochowa;ntral europe0st,t;an;i2russels,y0;dgoszcz,t0;om;alystok,elsko biala\",\"Central European\",\"n\",\"eu2\"],\"Zaporozhye\":[\"true¦e3luhansk2sevastopol,zapor0;izhia lugansk,ozh0;'ye,ye;! east;astern european,et,urope0;! eastern\",\"Eastern European\",\"n\",\"eu3\"],\"Zurich\":[\"true¦brussels,c4europe2geneve,li0madrid,paris,romance,swiss time,zurich;!e0;!chtenstein;! central,/0;busin1vaduz;e1openha0;gen;ntral european,st,t\",\"Central European\",\"n\",\"eu2\"]},\"Indian\":{\"Chagos\":[\"true¦british indian ocean territory,c4i0;ndian1o0;!t;! 0;c0ocean;hagos\",\"Indian Ocean\",\"n\"],\"Christmas\":[\"true¦c0indian;hristmas1x0;!r,t;! island\",\"Christmas Island\",\"s\"],\"Cocos\":[\"true¦c0indian;c2ocos0;! island0;!s;!k,t\",\"Cocos Islands\",\"n\"],\"Kerguelen\":[\"true¦a5french southern2indian,kerguelen1tf0;!t;!st paul4;! 0;& antarctic time,and antarctic0;! lands;msterdam0tf; island\",\"French Southern & Antarctic\",\"s\"],\"Mahe\":[\"true¦indian,mahe,s0;c0eychelles,yc;!t\",\"Seychelles\",\"n\"],\"Maldives\":[\"true¦indian,m0;aldives,dv,v0;!t\",\"Maldives\",\"n\"],\"Mauritius\":[\"true¦indian,m0port louis;auritius,u0;!s,t\",\"Mauritius\",\"n\"],\"Reunion\":[\"true¦indian,r0;e0éu1;t,u0;nion\",\"Réunion\",\"s\"]},\"Pacific\":{\"Apia\":[\"true¦apia,pacific,s2w0;est s1s0;!m,t;amoa\",\"West Samoa\",\"s\"],\"Auckland\":[\"true¦a2christchurch,manukau,n0pacific,wellington;ew zea2orth shore,z0;!dt,l,mt,st,t;ntarctica/1uck0;land;mcmurdo,south_pole\",\"New Zealand\",\"s\",\"nz\"],\"Bougainville\":[\"true¦bougainville,guinea2p0;a0gt;cific,pua new guinea;!n\",\"Papua New Guinea\",\"s\"],\"Chatham\":[\"true¦cha0nz-chat,pacific;dt,st,t0;!ham0;! 0;islands,time\",\"Chatham\",\"s\",\"chat\"],\"Chuuk\":[\"true¦chu2pacific0;!/0;truk,y2;t,uk0;!/truky0;ap\",\"Chuuk\",\"n\"],\"Easter\":[\"true¦chile/easter4e0pacific;as0mt;st,t0;!er0;! 0;island\",\"Easter Island\",\"s\",\"east\"],\"Efate\":[\"true¦efate,pacific,v0;anuatu,u0;!t\",\"Vanuatu\",\"n\"],\"Fakaofo\":[\"true¦fakaofo,pacific,t0;k0okelau;!l,t\",\"Tokelau\",\"n\"],\"Fiji\":[\"true¦f0pacific;iji,j0;!i,st,t\",\"Fiji\",\"s\",\"fiji\"],\"Funafuti\":[\"true¦funafuti,pacific,t0;uv1v0;!t;!alu\",\"Tuvalu\",\"n\"],\"Galapagos\":[\"true¦co1gal0pacific;apagos,t,ápagos islands;lombia,st,t\",\"Colombia\",\"n\"],\"Gambier\":[\"true¦gam0pacific;bier0t;! islands\",\"Gambier\",\"n\"],\"Guadalcanal\":[\"true¦guadalcanal,pacific,s0;b1lb,olomon0;! islands;!t\",\"Solomon Islands\",\"n\"],\"Guam\":[\"true¦ch5guam,m4northern mariana islands,p2west0; 0ern 0;pacific;acific0ort moresby;!/saipan;np,p;amorro,st\",\"Chamorro\",\"n\"],\"Honolulu\":[\"true¦aleutian4h1pacific0us/hawaii;!/johnston;a0onolulu,st;dt,st,t,waii0;! aleutian;! islands\",\"Hawaii-Aleutian\",\"n\"],\"Kanton\":[\"true¦kanton,p0;acific1ho0;enix islands,t;!/enderbury\",\"Phoenix Islands\",\"n\"],\"Kiritimati\":[\"true¦ki1lin0pacific;e islands,t;!r0;!i0;bati,timati0;! island\",\"Line Islands\",\"n\"],\"Kosrae\":[\"true¦kos0pacific;rae,t\",\"Kosrae\",\"n\"],\"Kwajalein\":[\"true¦kwajalein,m0pacific;arshall islands,ht\",\"Marshall Islands\",\"n\"],\"Majuro\":[\"true¦m0pacific;a1h0;!l,t;juro,rshall islands\",\"Marshall Islands\",\"n\"],\"Marquesas\":[\"true¦mar0pacific;quesas0t;! islands\",\"Marquesas\",\"n\"],\"Nauru\":[\"true¦n0pacific;auru,r0;!t,u\",\"Nauru\",\"n\"],\"Niue\":[\"true¦n0pacific;iu1u0;!t;!e\",\"Niue\",\"n\"],\"Norfolk\":[\"true¦n0pacific;f1orfolk0;! island;!dt,k,t\",\"Norfolk Island\",\"n\",\"aus\"],\"Noumea\":[\"true¦n0pacific;c0ew caledonia,oumea;!l,t\",\"New Caledonia\",\"n\"],\"Pago_Pago\":[\"true¦m5pa1s0us/sa4;a3st;cific0go_pago;!/0;m1sa0;moa;idway\",\"Samoa\",\"n\"],\"Palau\":[\"true¦p0;a1lw,w0;!t;cific,lau\",\"Palau\",\"n\"],\"Pitcairn\":[\"true¦p0;acific,cn,itcairn,n,st\",\"Pitcairn\",\"n\"],\"Pohnpei\":[\"true¦french polynesia,p0;acific1f,o0yf;hnpei0nt;!/ponape\",\"Ponape\",\"n\"],\"Port_Moresby\":[\"true¦antarctica/dumontd6dumont-d'6guinea5p0;a3g2ng,ort0; 0_0;moresby;!t;cific,pua new guinea;!n;urville\",\"Papua New Guinea\",\"s\"],\"Rarotonga\":[\"true¦c0pacific,rarotonga;k2o0;k,ok0;! islands;!t\",\"Cook Islands\",\"n\"],\"Tahiti\":[\"true¦pacific,society islands,tah0;iti,t\",\"Tahiti\",\"n\"],\"Tarawa\":[\"true¦gil0pacific,tarawa;bert islands,t\",\"Gilbert Islands\",\"n\"],\"Tongatapu\":[\"true¦nuku'alofa,pacific,to0;!n0t;!ga0;!tapu\",\"Tonga\",\"s\"],\"Wake\":[\"true¦pacific,u2wak0;e0t;! island;m0s minor outlying islands;!i\",\"Wake Island\",\"n\"],\"Wallis\":[\"true¦pacific,w0;allis1f0lf;!t;! 0;&0and0; futuna\",\"Wallis & Futuna\",\"n\"]}};\n\n// strings that don't pack properly\nvar misc = {\n 'gmt+0': ['Etc/GMT'],\n 'gmt-0': ['Etc/GMT'],\n gmt0: ['Etc/GMT'],\n 'etc/gmt+0': ['Etc/GMT'],\n 'etc/gmt-0': ['Etc/GMT'],\n 'etc/gmt0': ['Etc/GMT'],\n 'msk+00': ['Europe/Moscow'],\n 'msk-01 - kaliningrad': ['Europe/Kaliningrad'],\n 'msk+00 - moscow area': ['Europe/Moscow'],\n 'msk+00 - crimea': ['Europe/Kiev'],\n 'msk+00 - volgograd': ['Europe/Volgograd'],\n 'msk+00 - kirov': ['Europe/Kirov'],\n 'msk+01 - astrakhan': ['Europe/Astrakhan'],\n 'msk+01 - saratov': ['Europe/Saratov'],\n 'msk+01 - ulyanovsk': ['Europe/Ulyanovsk'],\n 'msk+01 - samaraudmurtia': ['Europe/Samara'],\n 'msk+02 - urals': ['Asia/Yekaterinburg'],\n 'msk+03': ['Asia/Omsk'],\n 'msk+04 - novosibirsk': ['Asia/Novosibirsk'],\n 'msk+04 - altai': ['Asia/Barnaul'],\n 'msk+04': ['Asia/Tomsk'],\n 'msk+04 - kemerovo': ['Asia/Novokuznetsk'],\n 'msk+04 - krasnoyarsk area': ['Asia/Krasnoyarsk'],\n 'msk+05 - irkutskburyatia': ['Asia/Irkutsk'],\n 'msk+06 - zabaykalsky': ['Asia/Chita'],\n 'msk+06 - lena river': ['Asia/Yakutsk'],\n 'msk+06 - tomponskyust-maysky': ['Asia/Khandyga'],\n 'msk+07 - amur river': ['Asia/Vladivostok'],\n 'msk+07 - oymyakonsky': ['Asia/Ust-Nera'],\n 'msk+08 - magadan': ['Asia/Magadan'],\n 'msk+08 - sakhalin island': ['Asia/Sakhalin'],\n 'msk+08 - sakha (e) north kuril is': ['Asia/Srednekolymsk'],\n 'msk+09': ['Asia/Kamchatka'],\n 'msk+09 - bering sea': ['Asia/Anadyr'],\n \"russia time zone 11\": [\"Asia/Anadyr\"],\n \"russia time zone 10\": [\"Asia/Srednekolymsk\"],\n \"russia time zone 3\": [\"Europe/Samara\"],\n \"coordinated universal time-09\": [\"Pacific/Gambier\"],\n \"utc-09\": [\"Pacific/Gambier\"],\n \"coordinated universal time-08\": [\"Pacific/Pitcairn\"]\n};\n\nconst addEtc = function (zones) {\n for (let i = 0; i <= 14; i += 1) {\n zones[`Etc/GMT-${i}`] = {\n offset: i,\n meta: `gmt-${i}`,\n hem: 'n'//sorry\n };\n zones[`Etc/GMT+${i}`] = {\n offset: i * -1,\n meta: `gmt+${i}`,\n hem: 'n'//sorry\n };\n }\n};\n\nvar addUTC = addEtc;\n\n// unpack our lexicon of words\nlet zones = {};\nlet lexicon = Object.assign({}, misc);\nObject.keys(pcked).forEach(top => {\n Object.keys(pcked[top]).forEach(name => {\n let [words, meta, hem, dst] = pcked[top][name];\n let id = `${top}/${name}`;\n zones[id] = { meta, hem };\n let keys = Object.keys(unpack$1(words));\n keys.forEach(k => {\n lexicon[k] = lexicon[k] || [];\n lexicon[k].push(id);\n // use iana aliases\n if (k.match(/\\//)) {\n let arr = k.split(/\\//);\n let last = arr[arr.length - 1].toLowerCase();\n lexicon[last] = lexicon[last] || [];\n lexicon[last].push(id);\n }\n });\n zones[id].wordCount = keys.length;\n if (dst) {\n zones[id].dst = dstPatterns[dst].split(/\\|/);\n }\n });\n});\n\naddUTC(zones);\n\nconst unique = function (arr) {\n let obj = {};\n for (let i = 0; i < arr.length; i += 1) {\n obj[arr[i]] = true;\n }\n return Object.keys(obj)\n};\n\n// sort by num of aliases\nObject.keys(lexicon).forEach(k => {\n if (lexicon[k].length > 1) {\n lexicon[k] = unique(lexicon[k]);\n lexicon[k] = lexicon[k].sort((a, b) => {\n if (zones[a].wordCount > zones[b].wordCount) {\n return -1\n } else if (zones[a].wordCount < zones[b].wordCount) {\n return 1\n }\n return 0\n });\n }\n});\n\n// console.log(zones['Etc/GMT+4'])\n\n//try to match these against iana form\nconst one = (str) => {\n str = str.toLowerCase();\n str = str.replace(/^in /g, '');\n str = str.replace(/ time/g, '');\n str = str.replace(/ (standard|daylight|summer)/g, '');\n str = str.replace(/ - .*/g, ''); //`Eastern Time - US & Canada`\n str = str.replace(/, .*/g, ''); //`mumbai, india`\n str = str.replace(/\\./g, '');//st. petersberg\n return str.trim()\n};\n\n//some more aggressive transformations\nconst two = function (str) {\n str = str.replace(/\\b(east|west|north|south)ern/g, '$1');\n str = str.replace(/\\b(africa|america|australia)n/g, '$1');\n str = str.replace(/\\beuropean/g, 'europe');\n str = str.replace(/\\islands/g, 'island');\n str = str.replace(/.*\\//g, '');\n return str.trim()\n};\n// even-more agressive\nconst three = function (str) {\n str = str.replace(/\\(.*\\)/, '');//anything in brackets\n str = str.replace(/ +/g, ' ');//extra spaces\n return str.trim()\n};\n\nvar normalize = { one, two, three };\n\nconst isOffset = /^([-+]?[0-9]+)h(r?s)?$/i;\nconst isNumber = /^([-+]?[0-9]+)$/;\nconst utcOffset = /utc([\\-+]?[0-9]+)$/i;\nconst gmtOffset = /gmt([\\-+]?[0-9]+)$/i;\n\nconst toIana = function (num) {\n num = Number(num);\n if (num > -13 && num < 13) {\n num = num * -1; //it's opposite!\n num = (num > 0 ? '+' : '') + num; //add plus sign\n return 'Etc/GMT' + num\n }\n return null\n};\n\nconst parseOffset = function (tz) {\n // '+5hrs'\n let m = tz.match(isOffset);\n if (m !== null) {\n return toIana(m[1])\n }\n // 'utc+5'\n m = tz.match(utcOffset);\n if (m !== null) {\n return toIana(m[1])\n }\n // 'GMT-5' (not opposite)\n m = tz.match(gmtOffset);\n if (m !== null) {\n let num = Number(m[1]) * -1;\n return toIana(num)\n }\n // '+5'\n m = tz.match(isNumber);\n if (m !== null) {\n return toIana(m[1])\n }\n return null\n};\nvar parseOffset$1 = parseOffset;\n\n// match some text to an iana code\nconst find = function (str) {\n // perfect id match\n if (zones.hasOwnProperty(str)) {\n return str\n }\n // lookup known word\n if (lexicon.hasOwnProperty(str)) {\n return lexicon[str]\n }\n // -8hrs\n if (/[0-9]/.test(str)) {\n let etc = parseOffset$1(str);\n if (etc) {\n return [etc]\n }\n }\n // try a sequence of normalization steps\n str = normalize.one(str);\n if (lexicon.hasOwnProperty(str)) {\n return lexicon[str]\n }\n str = normalize.two(str);\n if (lexicon.hasOwnProperty(str)) {\n return lexicon[str]\n }\n str = normalize.three(str);\n if (lexicon.hasOwnProperty(str)) {\n return lexicon[str]\n }\n return null\n};\n\nvar find$1 = find;\n\nvar metas = {\n \"India\": {\n \"std\": [\"IST\", 5.5],\n \"long\": \"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi\"\n },\n \"China\": {\n \"std\": [\"CST\", 8],\n \"long\": \"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi\"\n },\n \"Central European\": {\n \"std\": [\"CET\", 1],\n \"dst\": [\"CEST\", 2, \"Central European Summer Time\"],\n \"long\": \"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris\"\n },\n \"Atlantic\": {\n \"dupe\": true,\n \"std\": [\"AST\", -4],\n \"dst\": [\"ADT\", -3],\n \"long\": \"(UTC-04:00) Atlantic Time (Canada)\"\n },\n \"Greenwich Mean\": {\n \"std\": [\"GMT\", 0],\n \"long\": \"(UTC) Coordinated Universal Time\"\n },\n \"Eastern European\": {\n \"std\": [\"EET\", 2],\n \"dst\": [\"EEST\", 3, \"Eastern European Summer Time\"\n ]\n },\n \"Central\": {\n \"dupe\": true,\n \"std\": [\"CST\", -6],\n \"dst\": [\"CDT\", -5],\n \"long\": \"(UTC-06:00) Central Time (US & Canada)\"\n },\n \"Eastern\": {\n \"std\": [\"EST\", -5],\n \"dst\": [\"EDT\", -4],\n \"long\": \"(UTC-05:00) Eastern Time (US & Canada)\"\n },\n \"Argentina\": {\n \"std\": [\"ART\", -3],\n \"long\": \"(UTC-03:00) City of Buenos Aires\"\n },\n \"East Africa\": {\n \"std\": [\"EAT\", 3],\n \"long\": \"(UTC+03:00) Nairobi\"\n },\n \"West Africa\": {\n \"std\": [\"WAT\", 1],\n \"long\": \"(UTC+01:00) West Central Africa\"\n },\n \"Moscow\": {\n \"std\": [\"MSK\", 3],\n \"long\": \"(UTC+03:00) Moscow, St. Petersburg\"\n },\n \"Brasilia\": {\n \"std\": [\"BRT\", -3],\n \"long\": \"(UTC-03:00) Brasilia\"\n },\n \"Mountain\": {\n \"std\": [\"MST\", -7],\n \"dst\": [\"MDT\", -6],\n \"long\": \"(UTC-07:00) Mountain Time (US & Canada)\"\n },\n \"Central Africa\": {\n \"std\": [\"CAT\", 2],\n \"long\": \"(UTC+02:00) Windhoek\"\n },\n \"Arabian\": {\n \"std\": [\"AST\", 3],\n \"long\": \"(UTC+03:00) Kuwait, Riyadh\"\n },\n \"Alaska\": {\n \"std\": [\"AKST\", -9],\n \"dst\": [\"AKDT\", -8],\n \"long\": \"(UTC-09:00) Alaska\"\n },\n \"British\": {\n \"std\": [\"GMT\", 0],\n \"dst\": [\"BST\", 1, \"British Summer Time\"],\n \"long\": \"(UTC+00:00) Dublin, Edinburgh, Lisbon, London\"\n },\n \"Irish\": {\n \"std\": [\"GMT\", 0],\n \"dst\": [\"IST\", 1, \"Irish Standard Time\"]\n },\n \"West Kazakhstan\": {\n \"std\": [\"ALMT\", 5],\n \"long\": \"(UTC+05:00) Ashgabat, Tashkent\"\n },\n \"Eastern Australia\": {\n \"std\": [\"AEST\", 10],\n \"dst\": [\"AEDT\", 11, \"Australian Eastern Daylight Time\"],\n \"long\": \"(UTC+10:00) Canberra, Melbourne, Sydney\"\n },\n \"Western European\": {\n \"std\": [\"WET\", 0],\n \"dst\": [\"WEST\", 1, \"Western European Summer Time\"]\n },\n \"Indochina\": {\n \"std\": [\"ICT\", 7],\n \"long\": \"(UTC+07:00) Bangkok, Hanoi, Jakarta\"\n },\n \"Central Mexico\": {\n \"long\": \"(UTC-06:00) Guadalajara, Mexico City, Monterrey\",\n \"std\": [\"CST\", -6],\n \"dst\": [\"CDT\", -5, \"Central Daylight Time\"\n ]\n },\n \"South Africa\": {\n \"std\": [\"SAST\", 2],\n \"long\": \"(UTC+02:00) Harare, Pretoria\"\n },\n \"Krasnoyarsk\": {\n \"std\": [\"KRAT\", 7],\n \"long\": \"(UTC+07:00) Krasnoyarsk\"\n },\n \"Yakutsk\": {\n \"std\": [\"YAKT\", 9],\n \"long\": \"(UTC+09:00) Yakutsk\"\n },\n \"Pacific\": {\n \"std\": [\"PST\", -8],\n \"dst\": [\"PDT\", -7],\n \"long\": \"(UTC-08:00) Pacific Time (US & Canada)\"\n },\n \"Amazon\": {\n \"std\": [\"AMT\", -4],\n \"long\": \"(UTC-04:00) Cuiaba\"\n },\n \"Morocco Standard\": {\n \"offset\": 1,\n \"long\": \"(UTC+00:00) Casablanca\",\n \"std\": [\"WET\", 1],\n \"dst\": [\"WEST\", 0, \"Western European Summer Time\"\n ]\n },\n \"Gulf\": {\n \"std\": [\"GST\", 4],\n \"long\": \"(UTC+04:00) Abu Dhabi, Muscat\"\n },\n \"Samara\": {\n \"std\": [\"SAMT\", 4],\n \"long\": \"(UTC+04:00) Izhevsk, Samara\"\n },\n \"Uzbekistan\": {\n \"std\": [\"UZT\", 5]\n },\n \"East Kazakhstan\": {\n \"std\": [\"ALMT\", 6],\n \"long\": \"(UTC+06:00) Astana\"\n },\n \"Omsk\": {\n \"std\": [\"OMST\", 6],\n \"long\": \"(UTC+06:00) Omsk\"\n },\n \"Western Indonesia\": {\n \"std\": [\"WIB\", 7]\n },\n \"Ulaanbaatar\": {\n \"std\": [\"ULAT\", 8],\n \"long\": \"(UTC+08:00) Ulaanbaatar\"\n },\n \"Malaysia\": {\n \"std\": [\"MYT\", 8]\n },\n \"Korean\": {\n \"std\": [\"KST\", 9],\n \"long\": \"(UTC+09:00) Seoul\"\n },\n \"Central Australia\": {\n \"std\": [\"ACST\", 9.5],\n \"dst\": [\"ACDT\", 10.5, \"Australian Central Daylight Time\"],\n \"long\": \"(UTC+09:30) Adelaide\"\n },\n \"Brisbane\": {\n \"dupe\": true,\n \"std\": [\"AEST\", 10]\n },\n \"Vladivostok\": {\n \"std\": [\"VLAT\", 10],\n \"long\": \"(UTC+10:00) Vladivostok\"\n },\n \"Chamorro\": {\n \"std\": [\"ChST\", 10],\n \"long\": \"(UTC+10:00) Guam, Port Moresby\"\n },\n \"Papua New Guinea\": {\n \"std\": [\"PGT\", 11]\n },\n \"New Zealand\": {\n \"std\": [\"NZST\", 12],\n \"dst\": [\"NZDT\", 13],\n \"long\": \"(UTC+12:00) Auckland, Wellington\"\n },\n \"Marshall Islands\": {\n \"std\": [\"MHT\", 12]\n },\n \"Samoa\": {\n \"std\": [\"SST\", -11],\n \"long\": \"(UTC+13:00) Samoa\"\n },\n \"Hawaii-Aleutian\": {\n \"std\": [\"HAST\", -9],\n \"dst\": [\"HADT\", -8],\n \"long\": \"(UTC-09:00) Aleutian Islands\"\n },\n \"Mexican Pacific\": {\n \"std\": [\"HNPMX\", -7],\n \"dst\": [\"HEPMX\", -6],\n \"long\": \"(UTC-07:00) Chihuahua, La Paz, Mazatlan\"\n },\n \"Colombia\": {\n \"std\": [\"COT\", -5]\n },\n \"Acre\": {\n \"std\": [\"ACT\", -5]\n },\n \"Chile\": {\n \"dupe\": true,\n \"std\": [\"CLT\", -3],\n \"dst\": [\"CLST\", -4, \"Chile Summer Time\"\n ]\n },\n \"Troll\": {\n \"dupe\": true,\n \"std\": [\"GMT\", 0]\n },\n \"East Greenland\": {\n \"std\": [\"HNEG\", 0],\n \"dst\": [\"HEEG\", 1, \"East Greenland Summer Time\"\n ]\n },\n \"Israel\": {\n \"std\": [\"IST\", 2],\n \"dst\": [\"IDT\", 3],\n \"long\": \"(UTC+02:00) Jerusalem\"\n },\n \"Syowa\": {\n \"std\": [\"SYOT\", 3]\n },\n \"Turkey\": {\n \"std\": [\"TRT\", 3],\n \"long\": \"(UTC+03:00) Istanbul\"\n },\n \"Iran\": {\n \"std\": [\"IRST\", 3.5],\n \"dst\": [\"IRDT\", 4.5],\n \"long\": \"(UTC+03:30) Tehran\"\n },\n \"Azerbaijan\": {\n \"std\": [\"AZT\", 4],\n \"long\": \"(UTC+04:00) Baku\"\n },\n \"Georgia\": {\n \"std\": [\"GET\", 4],\n \"long\": \"(UTC+04:00) Tbilisi\"\n },\n \"Armenia\": {\n \"std\": [\"AMT\", 4],\n \"long\": \"(UTC+04:00) Yerevan\"\n },\n \"Seychelles\": {\n \"std\": [\"SCT\", 4]\n },\n \"Mauritius\": {\n \"std\": [\"MUT\", 4],\n \"long\": \"(UTC+04:00) Port Louis\"\n },\n \"Réunion\": {\n \"std\": [\"RET\", 4]\n },\n \"Afghanistan\": {\n \"std\": [\"AFT\", 4.5],\n \"long\": \"(UTC+04:30) Kabul\"\n },\n \"Mawson\": {\n \"std\": [\"MAWT\", 5]\n },\n \"Turkmenistan\": {\n \"std\": [\"TMT\", 5]\n },\n \"Tajikistan\": {\n \"std\": [\"TJT\", 5]\n },\n \"Pakistan\": {\n \"std\": [\"PKT\", 5],\n \"long\": \"(UTC+05:00) Islamabad, Karachi\"\n },\n \"Yekaterinburg\": {\n \"std\": [\"YEKT\", 5],\n \"long\": \"(UTC+05:00) Ekaterinburg\"\n },\n \"French Southern & Antarctic\": {\n \"std\": [\"TFT\", 5]\n },\n \"Maldives\": {\n \"std\": [\"MVT\", 5]\n },\n \"Nepal\": {\n \"std\": [\"NPT\", 5.75],\n \"long\": \"(UTC+05:45) Kathmandu\"\n },\n \"Vostok\": {\n \"std\": [\"MSK+4\", 6]\n },\n \"Kyrgyzstan\": {\n \"std\": [\"KGT\", 6]\n },\n \"Bangladesh\": {\n \"std\": [\"BST\", 6],\n \"long\": \"(UTC+06:00) Dhaka\"\n },\n \"Bhutan\": {\n \"std\": [\"BT\", 6]\n },\n \"Indian Ocean\": {\n \"std\": [\"IOT\", 6]\n },\n \"Myanmar\": {\n \"std\": [\"MMT\", 6.5],\n \"long\": \"(UTC+06:30) Yangon (Rangoon)\"\n },\n \"Cocos Islands\": {\n \"std\": [\"CCT\", 6.5]\n },\n \"Davis\": {\n \"std\": [\"DAVT\", 7]\n },\n \"Hovd\": {\n \"std\": [\"HOVT\", 7],\n \"long\": \"(UTC+07:00) Hovd\"\n },\n \"Novosibirsk\": {\n \"std\": [\"NOVT\", 7],\n \"long\": \"(UTC+07:00) Novosibirsk\"\n },\n \"Christmas Island\": {\n \"std\": [\"CXT\", 7]\n },\n \"Brunei Darussalam\": {\n \"std\": [\"BNT\", 8]\n },\n \"Hong Kong\": {\n \"std\": [\"HKT\", 8]\n },\n \"Irkutsk\": {\n \"std\": [\"IRKT\", 8],\n \"long\": \"(UTC+08:00) Irkutsk\"\n },\n \"Central Indonesia\": {\n \"std\": [\"WITA\", 8]\n },\n \"Philippine\": {\n \"std\": [\"PHST\", 8]\n },\n \"Singapore\": {\n \"std\": [\"SGT\", 8],\n \"long\": \"(UTC+08:00) Kuala Lumpur, Singapore\"\n },\n \"Taipei\": {\n \"std\": [\"CST\", 8],\n \"long\": \"(UTC+08:00) Taipei\"\n },\n \"Western Australia\": {\n \"std\": [\"AWST\", 8],\n \"long\": \"(UTC+08:00) Perth\"\n },\n \"Australian Central Western\": {\n \"std\": [\"ACWST\", 8.75],\n \"long\": \"(UTC+08:45) Eucla\"\n },\n \"East Timor\": {\n \"std\": [\"TLT\", 9]\n },\n \"Eastern Indonesia\": {\n \"std\": [\"WIT\", 9]\n },\n \"Japan\": {\n \"std\": [\"JST\", 9],\n \"long\": \"(UTC+09:00) Osaka, Sapporo, Tokyo\"\n },\n \"Palau\": {\n \"std\": [\"PWT\", 9]\n },\n \"Australian Central\": {\n \"dupe\": true,\n \"std\": [\"ACST\", 9.5]\n },\n \"Dumont-d’Urville\": {\n \"std\": [\"CLST\", 10]\n },\n \"Chuuk\": {\n \"std\": [\"CHUT\", 10]\n },\n \"Lord Howe\": {\n \"std\": [\"LHST\", 10.5],\n \"dst\": [\"LHDT\", 11.5],\n \"long\": \"(UTC+10:30) Lord Howe Island\"\n },\n \"Casey\": {\n \"std\": [\"CAST\", 11],\n \"dst\": [\"CAST\", 8, \"Casey Summer Time\"\n ]\n },\n \"Magadan\": {\n \"std\": [\"MAGT\", 11],\n \"long\": \"(UTC+11:00) Magadan\"\n },\n \"Sakhalin\": {\n \"std\": [\"SAKT\", 11],\n \"long\": \"(UTC+11:00) Sakhalin\"\n },\n \"Srednekolymsk\": {\n \"std\": [\"SRET\", 11],\n \"long\": \"(UTC+11:00) Chokurdakh\"\n },\n \"Vanuatu\": {\n \"std\": [\"VUT\", 11]\n },\n \"Solomon Islands\": {\n \"std\": [\"SBT\", 11]\n },\n \"Kosrae\": {\n \"std\": [\"KOST\", 11]\n },\n \"New Caledonia\": {\n \"std\": [\"NCT\", 11]\n },\n \"Ponape\": {\n \"std\": [\"PONT\", 11]\n },\n \"Anadyr\": {\n \"std\": [\"ANAT\", 12],\n \"long\": \"(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky\"\n },\n \"Petropavlovsk-Kamchatski\": {\n \"std\": [\"PETT\", 12],\n \"long\": \"(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky\"\n },\n \"Fiji\": {\n \"std\": [\"FJT\", 12],\n \"dst\": [\"FJT\", 13, \"Fiji Summer Time\"],\n \"long\": \"(UTC+12:00) Fiji\"\n },\n \"Tuvalu\": {\n \"std\": [\"TVT\", 12]\n },\n \"Nauru\": {\n \"std\": [\"NRT\", 12]\n },\n \"Norfolk Island\": {\n \"std\": [\"NFT\", 12],\n \"dst\": [\"NFDT\", 11],\n \"long\": \"(UTC+11:00) Norfolk Island\"\n },\n \"Gilbert Islands\": {\n \"std\": [\"GILT\", 12]\n },\n \"Wake Island\": {\n \"std\": [\"WAKT\", 12]\n },\n \"Wallis & Futuna\": {\n \"std\": [\"WFT\", 12]\n },\n \"Chatham\": {\n \"std\": [\"CHAST\", 12.75],\n \"dst\": [\"CHADT\", 13.75],\n \"long\": \"(UTC+12:45) Chatham Islands\"\n },\n \"West Samoa\": {\n \"std\": [\"WST\", 13],\n \"dst\": [\"WST\", 14, \"West Samoa Summer Time\"\n ]\n },\n \"Phoenix Islands\": {\n \"std\": [\"PHOT\", 13]\n },\n \"Tokelau\": {\n \"std\": [\"TKT\", 13]\n },\n \"Tonga\": {\n \"std\": [\"TOT\", 13],\n \"long\": \"(UTC+13:00) Nuku'alofa\"\n },\n \"Line Islands\": {\n \"std\": [\"LINT\", 14],\n \"long\": \"(UTC+14:00) Kiritimati Island\"\n },\n \"Niue\": {\n \"std\": [\"NUT\", -11]\n },\n \"Cook Islands\": {\n \"std\": [\"CKT\", -10]\n },\n \"Tahiti\": {\n \"std\": [\"TAHT\", -10]\n },\n \"Marquesas\": {\n \"std\": [\"MART\", -9.5],\n \"long\": \"(UTC-09:30) Marquesas Islands\"\n },\n \"Aleutian Standard\": {\n \"iso\": \"(UTC-10:00) Aleutian Islands\",\n \"std\": [\"HST\", -10],\n \"dst\": [\"HDT\", -9, \"Hawaii Daylight Time\"\n ]\n },\n \"Gambier\": {\n \"std\": [\"GAMT\", -9],\n \"long\": \"(UTC-09:00) Coordinated Universal Time-09\"\n },\n \"Pitcairn\": {\n \"std\": [\"PST\", -8],\n \"long\": \"(UTC-08:00) Coordinated Universal Time-08\"\n },\n \"Northwest Mexico\": {\n \"std\": [\"HNNOMX\", -6],\n \"dst\": [\"HENOMX\", -5],\n \"long\": \"(UTC-08:00) Baja California\"\n },\n \"Easter Island\": {\n \"std\": [\"EAST\", -6],\n \"dst\": [\"EASST\", -5, \"Easter Island Summer Time\"],\n \"long\": \"(UTC-06:00) Easter Island\"\n },\n \"Ecuador\": {\n \"std\": [\"ECT\", -5]\n },\n \"Cuba\": {\n \"std\": [\"HNCU\", -5],\n \"dst\": [\"HECU\", -4],\n \"long\": \"(UTC-05:00) Havana\"\n },\n \"Peru\": {\n \"std\": [\"PET\", -5]\n },\n \"Paraguay\": {\n \"std\": [\"PYT\", -4],\n \"dst\": [\"PYST\", -3, \"Paraguay Summer Time\"],\n \"long\": \"(UTC-04:00) Asuncion\"\n },\n \"Venezuela\": {\n \"std\": [\"VET\", -4],\n \"long\": \"(UTC-04:00) Caracas\"\n },\n \"Guyana\": {\n \"std\": [\"GYT\", -4]\n },\n \"Bolivia\": {\n \"std\": [\"BOT\", -4]\n },\n \"Newfoundland\": {\n \"std\": [\"HNTN\", -3.5],\n \"dst\": [\"HETN\", -2.5],\n \"long\": \"(UTC-03:30) Newfoundland\"\n },\n \"French Guiana\": {\n \"std\": [\"GFT\", -3]\n },\n \"West Greenland\": {\n \"std\": [\"WGT\", -3],\n \"dst\": [\"WGST\", -2, \"West Greenland Summer Time\"],\n \"long\": \"(UTC-03:00) Greenland\"\n },\n \"St. Pierre & Miquelon\": {\n \"std\": [\"HNPM\", -3],\n \"dst\": [\"HEPM\", -2],\n \"long\": \"(UTC-03:00) Saint Pierre and Miquelon\"\n },\n \"Uruguay\": {\n \"std\": [\"UYT\", -3],\n \"long\": \"(UTC-03:00) Montevideo\"\n },\n \"Suriname\": {\n \"std\": [\"SRT\", -3]\n },\n \"Falkland Islands\": {\n \"std\": [\"FKST\", -3]\n },\n \"Fernando de Noronha\": {\n \"std\": [\"FNT\", -2]\n },\n \"South Georgia\": {\n \"std\": [\"GST\", -2]\n },\n \"Azores\": {\n \"std\": [\"AZOT\", -1],\n \"dst\": [\"AZOST\", 0, \"Azores Summer Time\"],\n \"long\": \"(UTC-01:00) Azores\"\n },\n \"Cape Verde\": {\n \"std\": [\"CVT\", -1],\n \"long\": \"(UTC-01:00) Cabo Verde Is.\"\n }\n};\n\n// const metas = require('../../data/05-metazones')\n// import offsets from './offsets.js'\n\nfor (let i = 0; i <= 14; i += 1) {\n metas[`gmt-${i}`] = {\n name: `Etc/GMT-${i}`,\n std: [`GMT-${i}`, i],\n long: `(UTC-${i}:00) Coordinated Universal Time`\n };\n metas[`gmt+${i}`] = {\n name: `Etc/GMT+${i}`,\n std: [`GMT+${i}`, -i],\n long: `(UTC+${i}:00) Coordinated Universal Time`\n };\n}\n\nconst display = function (id) {\n if (!id) {\n return null\n }\n if (!zones[id]) {\n console.error(`missing id ${id}`);\n return null\n }\n let metaName = zones[id].meta;\n if (!metas[metaName]) {\n console.error(`missing tz-meta ${metaName}`);\n }\n let meta = metas[metaName] || {};\n let dst = null;\n if (zones[id].dst && meta.dst) {\n let [abbr, offset, name] = meta.dst;\n name = name || `${metaName} Daylight Time`;\n let [start, end] = zones[id].dst || [];\n dst = { abbr, offset, name, start, end };\n }\n\n let [abbr, offset] = meta.std;\n let name = meta.name || `${metaName} Time`;\n let long = meta.long || `(UTC+${offset}:00) ${name}`;\n return {\n name: name,\n iana: id,\n standard: { abbr, offset, name: meta.name || `${metaName} Standard Time`, },\n daylight: dst || null,\n long: long,\n }\n};\nvar display$1 = display;\n\nvar version = '1.5.2';\n\nconst soft = function (str) {\n let ids = find$1(str) || [];\n if (typeof ids === 'string') {\n ids = [ids];\n }\n ids = ids.map((id) => display$1(id));\n return ids\n};\nsoft.prototype.version = version;\n// export { find, display, version }\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy90aW1lem9uZS1zb2Z0L2J1aWxkcy90aW1lem9uZS1zb2Z0Lm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLElBQUk7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsWUFBWTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxtQkFBbUI7QUFDNUIsNkJBQTZCLFFBQVE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isb0JBQW9CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Es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R0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsZ0JBQWdCLFNBQVM7QUFDekIsZUFBZSxFQUFFO0FBQ2pCLHFCQUFxQixFQUFFO0FBQ3ZCLGlCQUFpQixFQUFFO0FBQ25CLGtCQUFrQixFQUFFO0FBQ3BCO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLHFCQUFxQixFQUFFO0FBQ3ZCLGlCQUFpQixFQUFFO0FBQ25CLGtCQUFrQixFQUFFO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxHQUFHO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLFNBQVM7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixVQUFVO0FBQ2hDO0FBQ0EsWUFBWTtBQUNaOztBQUVBO0FBQ0EsNkJBQTZCLFVBQVU7QUFDdkMsa0NBQWtDLE9BQU8sT0FBTyxLQUFLO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixvQ0FBb0MsVUFBVSxpQkFBaUI7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZOztBQUVlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy90aW1lem9uZS1zb2Z0L2J1aWxkcy90aW1lem9uZS1zb2Z0Lm1qcz9mMzExIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEJBU0UgPSAzNjtcbmNvbnN0IHNlcSA9ICcwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuXG5jb25zdCBjYWNoZSA9IHNlcS5zcGxpdCgnJykucmVkdWNlKGZ1bmN0aW9uIChoLCBjLCBpKSB7XG4gIGhbY10gPSBpO1xuICByZXR1cm4gaFxufSwge30pO1xuXG4vLyAwLCAxLCAyLCAuLi4sIEEsIEIsIEMsIC4uLiwgMDAsIDAxLCAuLi4gQUEsIEFCLCBBQywgLi4uLCBBQUEsIEFBQiwgLi4uXG5jb25zdCB0b0FscGhhQ29kZSA9IGZ1bmN0aW9uIChuKSB7XG4gIGlmIChzZXFbbl0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBzZXFbbl1cbiAgfVxuICBsZXQgcGxhY2VzID0gMTtcbiAgbGV0IHJhbmdlID0gQkFTRTtcbiAgbGV0IHMgPSAnJztcbiAgZm9yICg7IG4gPj0gcmFuZ2U7IG4gLT0gcmFuZ2UsIHBsYWNlcysrLCByYW5nZSAqPSBCQVNFKSB7fVxuICB3aGlsZSAocGxhY2VzLS0pIHtcbiAgICBjb25zdCBkID0gbiAlIEJBU0U7XG4gICAgcyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoKGQgPCAxMCA/IDQ4IDogNTUpICsgZCkgKyBzO1xuICAgIG4gPSAobiAtIGQpIC8gQkFTRTtcbiAgfVxuICByZXR1cm4gc1xufTtcblxuY29uc3QgZnJvbUFscGhhQ29kZSA9IGZ1bmN0aW9uIChzKSB7XG4gIGlmIChjYWNoZVtzXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGNhY2hlW3NdXG4gIH1cbiAgbGV0IG4gPSAwO1xuICBsZXQgcGxhY2VzID0gMTtcbiAgbGV0IHJhbmdlID0gQkFTRTtcbiAgbGV0IHBvdyA9IDE7XG4gIGZvciAoOyBwbGFjZXMgPCBzLmxlbmd0aDsgbiArPSByYW5nZSwgcGxhY2VzKyssIHJhbmdlICo9IEJBU0UpIHt9XG4gIGZvciAobGV0IGkgPSBzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tLCBwb3cgKj0gQkFTRSkge1xuICAgIGxldCBkID0gcy5jaGFyQ29kZUF0KGkpIC0gNDg7XG4gICAgaWYgKGQgPiAxMCkge1xuICAgICAgZCAtPSA3O1xuICAgIH1cbiAgICBuICs9IGQgKiBwb3c7XG4gIH1cbiAgcmV0dXJuIG5cbn07XG5cbnZhciBlbmNvZGluZyA9IHtcbiAgdG9BbHBoYUNvZGUsXG4gIGZyb21BbHBoYUNvZGVcbn07XG5cbmNvbnN0IHN5bWJvbHMgPSBmdW5jdGlvbiAodCkge1xuICAvLy4uLiBwcm9jZXNzIHRoZXNlIGxpbmVzXG4gIGNvbnN0IHJlU3ltYm9sID0gbmV3IFJlZ0V4cCgnKFswLTlBLVpdKyk6KFswLTlBLVpdKyknKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0Lm5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbSA9IHJlU3ltYm9sLmV4ZWModC5ub2Rlc1tpXSk7XG4gICAgaWYgKCFtKSB7XG4gICAgICB0LnN5bUNvdW50ID0gaTtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIHQuc3ltc1tlbmNvZGluZy5mcm9tQWxwaGFDb2RlKG1bMV0pXSA9IGVuY29kaW5nLmZyb21BbHBoYUNvZGUobVsyXSk7XG4gIH1cbiAgLy9yZW1vdmUgZnJvbSBtYWluIG5vZGUgbGlzdFxuICB0Lm5vZGVzID0gdC5ub2Rlcy5zbGljZSh0LnN5bUNvdW50LCB0Lm5vZGVzLmxlbmd0aCk7XG59O1xudmFyIHBhcnNlU3ltYm9scyA9IHN5bWJvbHM7XG5cbi8vIFJlZmVyZW5jZXMgYXJlIGVpdGhlciBhYnNvbHV0ZSAoc3ltYm9sKSBvciByZWxhdGl2ZSAoMSAtIGJhc2VkKVxuY29uc3QgaW5kZXhGcm9tUmVmID0gZnVuY3Rpb24gKHRyaWUsIHJlZiwgaW5kZXgpIHtcbiAgY29uc3QgZG5vZGUgPSBlbmNvZGluZy5mcm9tQWxwaGFDb2RlKHJlZik7XG4gIGlmIChkbm9kZSA8IHRyaWUuc3ltQ291bnQpIHtcbiAgICByZXR1cm4gdHJpZS5zeW1zW2Rub2RlXVxuICB9XG4gIHJldHVybiBpbmRleCArIGRub2RlICsgMSAtIHRyaWUuc3ltQ291bnRcbn07XG5cbmNvbnN0IHRvQXJyYXkgPSBmdW5jdGlvbiAodHJpZSkge1xuICBjb25zdCBhbGwgPSBbXTtcbiAgY29uc3QgY3Jhd2wgPSAoaW5kZXgsIHByZWYpID0+IHtcbiAgICBsZXQgbm9kZSA9IHRyaWUubm9kZXNbaW5kZXhdO1xuICAgIGlmIChub2RlWzBdID09PSAnIScpIHtcbiAgICAgIGFsbC5wdXNoKHByZWYpO1xuICAgICAgbm9kZSA9IG5vZGUuc2xpY2UoMSk7IC8vb2ssIHdlIHRyaWVkLiByZW1vdmUgaXQuXG4gICAgfVxuICAgIGNvbnN0IG1hdGNoZXMgPSBub2RlLnNwbGl0KC8oW0EtWjAtOSxdKykvZyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaGVzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICBjb25zdCBzdHIgPSBtYXRjaGVzW2ldO1xuICAgICAgY29uc3QgcmVmID0gbWF0Y2hlc1tpICsgMV07XG4gICAgICBpZiAoIXN0cikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgaGF2ZSA9IHByZWYgKyBzdHI7XG4gICAgICAvL2JyYW5jaCdzIGVuZFxuICAgICAgaWYgKHJlZiA9PT0gJywnIHx8IHJlZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGFsbC5wdXNoKGhhdmUpO1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3SW5kZXggPSBpbmRleEZyb21SZWYodHJpZSwgcmVmLCBpbmRleCk7XG4gICAgICBjcmF3bChuZXdJbmRleCwgaGF2ZSk7XG4gICAgfVxuICB9O1xuICBjcmF3bCgwLCAnJyk7XG4gIHJldHVybiBhbGxcbn07XG5cbi8vUGFja2VkVHJpZSAtIFRyaWUgdHJhdmVyc2FsIG9mIHRoZSBUcmllIHBhY2tlZC1zdHJpbmcgcmVwcmVzZW50YXRpb24uXG5jb25zdCB1bnBhY2skMiA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgY29uc3QgdHJpZSA9IHtcbiAgICBub2Rlczogc3RyLnNwbGl0KCc7JyksXG4gICAgc3ltczogW10sXG4gICAgc3ltQ291bnQ6IDBcbiAgfTtcbiAgLy9wcm9jZXNzIHN5bWJvbHMsIGlmIHRoZXkgaGF2ZSB0aGVtXG4gIGlmIChzdHIubWF0Y2goJzonKSkge1xuICAgIHBhcnNlU3ltYm9scyh0cmllKTtcbiAgfVxuICByZXR1cm4gdG9BcnJheSh0cmllKVxufTtcblxudmFyIHRyYXZlcnNlID0gdW5wYWNrJDI7XG5cbmNvbnN0IHVucGFjayA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgaWYgKCFzdHIpIHtcbiAgICByZXR1cm4ge31cbiAgfVxuICAvL3R1cm4gdGhlIHdlaXJkIHN0cmluZyBpbnRvIGEga2V5LXZhbHVlIG9iamVjdCBhZ2FpblxuICBjb25zdCBvYmogPSBzdHIuc3BsaXQoJ3wnKS5yZWR1Y2UoKGgsIHMpID0+IHtcbiAgICBjb25zdCBhcnIgPSBzLnNwbGl0KCfCpicpO1xuICAgIGhbYXJyWzBdXSA9IGFyclsxXTtcbiAgICByZXR1cm4gaFxuICB9LCB7fSk7XG4gIGNvbnN0IGFsbCA9IHt9O1xuICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goZnVuY3Rpb24gKGNhdCkge1xuICAgIGNvbnN0IGFyciA9IHRyYXZlcnNlKG9ialtjYXRdKTtcbiAgICAvL3NwZWNpYWwgY2FzZSwgZm9yIGJvdGNoZWQtYm9vbGVhblxuICAgIGlmIChjYXQgPT09ICd0cnVlJykge1xuICAgICAgY2F0ID0gdHJ1ZTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGsgPSBhcnJbaV07XG4gICAgICBpZiAoYWxsLmhhc093blByb3BlcnR5KGspID09PSB0cnVlKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbFtrXSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgYWxsW2tdID0gW2FsbFtrXSwgY2F0XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhbGxba10ucHVzaChjYXQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbGxba10gPSBjYXQ7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGFsbFxufTtcblxudmFyIHVucGFjayQxID0gdW5wYWNrO1xuXG4vLyB0aGVzZSBhcmUgdGhlIGZvbGsgaGV1cmlzdGljcyB0aGF0IHRpbWV6b25lcyB1c2UgdG8gc2V0IHRoZWlyIGRzdCBjaGFuZ2UgZGF0ZXNcbi8vIGZvciBleGFtcGxlLCB0aGUgVVMgY2hhbmdlczpcbi8vIHRoZSBzZWNvbmQgU3VuZGF5IG9mIE1hcmNoIC0+IGZpcnN0IFN1bmRheSBvZiBOb3ZlbWJlclxuLy8gaHR0cDovL3d3dy53ZWJleGhpYml0cy5vcmcvZGF5bGlnaHRzYXZpbmcvZy5odG1sXG5sZXQgcGF0dGVybnMgPSB7XG4gIHVzYTogJzJuZC1zdW4tbWFyLTJofDFzdC1zdW4tbm92LTJoJywvLyAoRnJvbSAxOTg3IHRvIDIwMDYpXG4gIC8vIG1leGljb1xuICBtZXg6ICcxc3Qtc3VuLWFwci0yaHxsYXN0LXN1bi1vY3QtMmgnLFxuXG4gIC8vIEV1cm9wZWFuIFVuaW9uIHpvbmVcbiAgZXUwOiAnbGFzdC1zdW4tbWFyLTBofGxhc3Qtc3VuLW9jdC0xaCcsXG4gIGV1MTogJ2xhc3Qtc3VuLW1hci0xaHxsYXN0LXN1bi1vY3QtMmgnLFxuICBldTI6ICdsYXN0LXN1bi1tYXItMmh8bGFzdC1zdW4tb2N0LTNoJyxcbiAgZXUzOiAnbGFzdC1zdW4tbWFyLTNofGxhc3Qtc3VuLW9jdC00aCcsXG4gIC8vZ3JlZW5sYW5kXG4gIGdyZWVuOiAnbGFzdC1zYXQtbWFyLTIyaHxsYXN0LXNhdC1vY3QtMjNoJyxcblxuICAvLyBhdXN0cmFsaWFcbiAgYXVzOiAnMXN0LXN1bi1hcHItM2h8MXN0LXN1bi1vY3QtMmgnLFxuICAvL2xvcmQgaG93ZSBhdXN0cmFsaWFcbiAgbGhvdzogJzFzdC1zdW4tYXByLTJofDFzdC1zdW4tb2N0LTJoJyxcbiAgLy8gbmV3IHplYWxhbmRcbiAgY2hhdDogJzFzdC1zdW4tYXByLTNofGxhc3Qtc3VuLXNlcC0yaCcsIC8vdGVjaG5pY2FsbHkgMzo0NWggLT4gMjo0NWhcbiAgLy8gbmV3IFplYWxhbmQsIGFudGFyY3RpY2EgXG4gIG56OiAnMXN0LXN1bi1hcHItM2h8bGFzdC1zdW4tc2VwLTJoJyxcbiAgLy8gY2FzZXkgLSBhbnRhcmN0aWNhXG4gIGFudDogJzJuZC1zdW4tbWFyLTBofDFzdC1zdW4tb2N0LTBoJyxcbiAgLy8gdHJvbGwgLSBhbnRhcmN0aWNhXG4gIHRyb2xsOiAnM3JkLXN1bi1tYXItMWh8bGFzdC1zdW4tb2N0LTNoJyxcblxuICAvL2pvcmRhblxuICBqb3JkOiAnbGFzdC1mcmktZmViLTBofGxhc3QtZnJpLW9jdC0xaCcsXG4gIC8vIGxlYmFub25cbiAgbGViOiAnbGFzdC1zdW4tbWFyLTBofGxhc3Qtc3VuLW9jdC0waCcsXG4gIC8vIHN5cmlhXG4gIHN5cjogJ2xhc3QtZnJpLW1hci0waHxsYXN0LWZyaS1vY3QtMGgnLFxuICAvL2lzcmFlbFxuICAvLyBTdGFydDogTGFzdCBGcmlkYXkgYmVmb3JlIEFwcmlsIDIgLT4gVGhlIFN1bmRheSBiZXR3ZWVuIFJvc2ggSGFzaGFuYSBhbmQgWW9tIEtpcHB1clxuICBpc3I6ICdsYXN0LWZyaS1tYXItMmh8bGFzdC1zdW4tb2N0LTJoJyxcbiAgLy9wYWxlc3RpbmVcbiAgcGFsOiAnbGFzdC1zdW4tbWFyLTBofGxhc3QtZnJpLW9jdC0xaCcsXG5cbiAgLy8gZWwgYWFpdW5cbiAgLy90aGlzIG9uZSBzZWVtcyB0byBiZSBvbiBhcmFiaWMgY2FsZW5kYXI/XG4gIHNhaGE6ICdsYXN0LXN1bi1tYXItM2h8MXN0LXN1bi1tYXktMmgnLFxuXG4gIC8vIHBhcmFndWF5XG4gIHBhcjogJ2xhc3Qtc3VuLW1hci0waHwxc3Qtc3VuLW9jdC0waCcsXG4gIC8vY3ViYVxuICBjdWJhOiAnMm5kLXN1bi1tYXItMGh8MXN0LXN1bi1ub3YtMWgnLFxuICAvL2NoaWxlXG4gIGNoaWxlOiAnMXN0LXN1bi1hcHItMGh8MXN0LXN1bi1zZXAtMGgnLFxuICAvL2Vhc3RlciBpc2xhbmRcbiAgZWFzdDogJzFzdC1zYXQtYXByLTIyaHwxc3Qtc2F0LXNlcC0yMmgnLFxuICAvL2ZpamlcbiAgZmlqaTogJzNyZC1zdW4tamFuLTNofDJuZC1zdW4tbm92LTJoJyxcbn07XG5cbnZhciBkc3RQYXR0ZXJucyA9IHBhdHRlcm5zO1xuXG52YXIgcGNrZWQgPSB7XCJBZnJpY2FcIjp7XCJBYmlkamFuXCI6W1widHJ1ZcKmYTVib3Vha2UsY29vcmRpbmF0ZWQgdW5pdmVyc2FsNGRhbG9hLGcxc2FuIHBlZDB1dGMseWFtb3Vzc291azB6dWx1O3JvO2gwbXQscmVlbndpY2ggbWVhbjI7IWEwOyFuYTsgdGkzO2I0ZnJpY2EwdGxhbnRpYy9zdF9oZWxlbmE7IS8wO2FjY3JhLGJhMWNvbmFrcnksZGFrYXIsZnJlZXRvd24sbG8wbm91YWtjaG90dCxvdWFnYWRvdWdvdSx0aW1idWt0dTttZTttYWtvLG5qdWw7aWRqYW4sb2JvXCIsXCJHcmVlbndpY2ggTWVhblwiLFwiblwiXSxcIkFsZ2llcnNcIjpbXCJ0cnVlwqZhOGI2YzNkejJvcjVzMXQwO2ViZXNzYSxpYXJldDtldGlmLGlkaSBiZWwgYWJiZXM7IWE7ZTBobGVmLG9uc3RhbnRpbmU7bnRyYWwgZXVyb3BlMHQ7YW47YTBpc2tyYSxsaWRhLG91bWVyZGFzO2IgZXp6b3Vhcix0bmE7ZnJpY2EsbGcwbm5hYmE7ZXJpYSxpZXJzXCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCJdLFwiQmlzc2F1XCI6W1widHJ1ZcKmYWZyaWNhLGIyY29vcmRpbmF0ZWQgdW5pdmVyc2FsMWcwdXRjLHp1bHU7bXQsbmIscmVlbndpY2ggbWVhbjB1aW5lYSBiMXc7IHRpbWU7aXNzYXVcIixcIkdyZWVud2ljaCBNZWFuXCIsXCJuXCJdLFwiQ2Fpcm9cIjpbXCJ0cnVlwqZhNmJhbmkgc3V3YXlmLGM1ZGFtYW5odXIsZTJnaXphLGhhbHc4aTFrYWZyIGFkIGRhd3dhcixsdXhvcixuZXcgYzVwb3J0IHNhaWQscWluYSxzMHRhbnRhLHphZ2F6aWc7aGliaW4gYWwga2F3bSxvaGFnLHVlejtka3Usc21haWw4O2FzdGVybiBldXJvcGU1ZXQsZzA7IXkwOyFwdDthaXJvO2ZyaWNhLGwyczA7dzB5dXQ7YW47IDFleGFuZHIwO2lhO2ZheXl1bSxtMDthMGlueWE7aGFsbGFoIGFsIGt1YnJhLG5zdXJhaFwiLFwiRWFzdGVybiBFdXJvcGVhblwiLFwiblwiXSxcIkNhc2FibGFuY2FcIjpbXCJ0cnVlwqZhQ2Nhc2FibGFuRGZCa2VuaXRBbTZvdWpkYSBhbmdhZCxyYWJhdCxzYTR0MXdlMDtzdGVybiBldXJvcGUydDthbmdpZXIsZTA7bWE3dG91MDthbjtmaSxsZTA7ISBhbCBqYWRpZGE7YTFla240bzA7aGFtbWVkaWEscm9jY287IXIwOyFyYWtlc2g7cmE7ZXM7ZnJpMGdhZGlyLGwgaG9jZWltYTtjYVwiLFwiTW9yb2NjbyBTdGFuZGFyZFwiLFwiblwiLFwic2FoYVwiXSxcIkNldXRhXCI6W1widHJ1ZcKmYWZyaWNhLGJydXNzZWxzLGMwZXVyb3BlIGNlbnRyYWwsbWFkcmlkLHBhcmlzLHJvbWFuY2U7ZTBvcGVuaGFnZW47bnRyYWwgZXVyb3BlYW4sdCx1dGEwOyFtZWxpbGxhXCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJFbF9BYWl1blwiOltcInRydWXCpmFmcmkzY2FzYWJsYW4zZTJsYWF5b3VuZSxtb3JvY2NvLHdlMDtzdGVybiAwdDtldXJvcGVhbixzYWhhcmE7aCxsX2FhaXVuLHNoO2NhXCIsXCJNb3JvY2NvIFN0YW5kYXJkXCIsXCJuXCIsXCJzYWhhXCJdLFwiSm9oYW5uZXNidXJnXCI6W1widHJ1ZcKmYWZyaWNhSWJFY0FkOWVhc3QgbG9uZEJoYXJhcmUsam9oYW5uZXNIazduZXdjYXN0RHA2cjVzM3RlbWJpc2EsdWl0ZW5oYWdlLHYydzF6YTA7IWY7ZWxrb20saXRiYW5rO2FuZGVyYmlqbHBhcmssZXJlZW5pZ2luZzthc3QsbzBwcmluZ3M7dXRoIGFmcmljYSx3ZXRvO2FuZEJpY2hhcmRzIGJheSxvb2RlcG9vcnQ7YWFybCxpZXRlcm1hcml0ekFvcnQgZWxpemFiZXRoLHJldG9yaWE7bGVyazBydWdlcjA7c2RvcnA7aWVwc2xvb3QsdXJiNTthMWVudHVyaTA7b247cGUgdG93bixybGV0b252aWwwO2xlO2Vub25pLGxvZW1mb250ZWluLG8xcmFrcDA7YW47a3MwdHNoYWJlbG87YnVyZzshIHNvdXRoZXJuLC9tMDthc2VydSxiYWJhbmVcIixcIlNvdXRoIEFmcmljYVwiLFwic1wiXSxcIkp1YmFcIjpbXCJ0cnVlwqZhM2MyanViYSxzMHdpbmVqb2s7b3V0aCBzdWRhbixzMDshZDthdCxlbnRyYWwgYTA7ZnJpY2FcIixcIkNlbnRyYWwgQWZyaWNhXCIsXCJuXCJdLFwiS2hhcnRvdW1cIjpbXCJ0cnVlwqZhN2M2ZWwgNWszbnk0b21kdXJtMnBvcnQgc3VkMnMwd2FkIG1lZGFuaTtkMGluZ2EsdWQxOyFuO2FuO2FzczBoYXJ0b3VtLG9zdGk7YWxhO2RhZTNmYXNoZXIsb2JlaWQ7YXQsZW50cmFsIGFmMTtkIGRhbWF6MWYwbCBxYWRhcmlmO3JpY2E7aW5cIixcIkNlbnRyYWwgQWZyaWNhXCIsXCJuXCJdLFwiTGFnb3NcIjpbXCJ0cnVlwqZhVmJUY1JlUWdQaUxqS2thSWxHbURubmV3aSxvQXBvcnQgaGFyY291cnQsczl1N3cwemFyODsgYzNhMmVzdDA7IDBlcm4zO2EzYzE7ckJzdCx0O2VudHJhbDA7IGEwO2ZyaWNhO2dlcCxtdWFoMHlvO2lhO2E3aGFnYW11LG9rb3RvO2tEbjF3MHlvO2VyM287ZG8saXRzaGE7YTBpbjV1Ymk7aWR1Z3Uwa3VyZGk7cmk7YWdvcyxlazA7a2k7ZHUwbm8sdHNpMDtuYTtpbWVMb3M7YmFkYW4samVidSBvZGUsazFsMHNlSHdvO2Egb3Jhbmd1bixlRG9yNztlSGk4b3QgZWtwMDtlbmU7b21iZSx1c2F1O2J1dGUgaWtvcm9kdSxmb24gYWxhYXllLG51Z3U7YWxhYmFyLGQsaGFrd2FtYSxvMDtkLG5nbzthdWNoaSxlbjA7aW47YjhkbzdmcmljYTFrdTB0YW5pO3JlOyEgd2VzdGVybiwvMDtiMmRvdWFsYSxraW5zaGExbDBtYWxhYm8sbmlhbWV5LHBvcnRvLW5vdm87aWJyZTJ1YW5kYTtzYTthbmd1aSxyYXp6YTA7dmlsbGU7IGVraXRpO2EsZW9rdTF1MDtqYTt0YVwiLFwiV2VzdCBBZnJpY2FcIixcIm5cIl0sXCJNYXB1dG9cIjpbXCJ0cnVlwqZhZnJpY2E3YmVpQ2M2bWE0bmEycXVlbGltYUF3aW5kaG9layx6MDtpbWJhYndlLHcwOyFlO2NhMm0wO2liaWEscHUxO3B1dG8sdG8wO2xhO2F0LGVudHJhbCBhZnJpY2EsaGltb2lvOyEgY2VudHJhbCwvMDtiMmdhYm9ybzFoYXJhNGtpZ2FsaSxsdTA7YnVtYmFzaGksc2FrYTtuZTtsYW50eTF1anVtYnUwO3JhO3JlXCIsXCJDZW50cmFsIEFmcmljYVwiLFwic1wiXSxcIk1vbnJvdmlhXCI6W1widHJ1ZcKmYWZyaWNhLGNvb3JkaW5hdGVkIHVuaXZlcnNhbDNnMmwwbW9ucm92MXV0Yyx6dWx1O2JyLGliZXIwcjtpYTttdCxyZWVud2ljaCBtZWFuMDsgdGltZVwiLFwiR3JlZW53aWNoIE1lYW5cIixcIm5cIl0sXCJOYWlyb2JpXCI6W1widHJ1ZcKmYWZyaWNhOGU0aW5kaWFuLzJraXN1bXUsbTFuYTB0aGlrYSx5dDtpcm9iaSxrdXJ1O2Exb21iYXNhLHl0O2FudGFuYW5hcml2byxjb21vcm8sbWEwO3lvdHRlOyAyYTBsZG9yZXQ7c3QwdDsgMGVybiAwO2FmcmljYTshIGVhc3Rlcm4sLzA7YTFkMGthbXBhbGEsbW9nYWRpc2h1O2FyX2VzX3NhbGFhbSxqaWJvdXRpO2RkaXNfYWJhYmEsc20wO2EwZTA7cmFcIixcIkVhc3QgQWZyaWNhXCIsXCJuXCJdLFwiTmRqYW1lbmFcIjpbXCJ0cnVlwqZhZnJpY2FBY2hhZCxuOHQ3dzA7IGMzYTJlc3QwOyAwZXJuMzthM2MxO3N0LHQ7ZW50cmFsMDsgYTA7ZnJpY2E7Y2QsZDsnZDBkMDtqYW1lbmE7ISB3ZXN0ZXJuXCIsXCJXZXN0IEFmcmljYVwiLFwiblwiXSxcIlNhb19Ub21lXCI6W1widHJ1ZcKmYWZyaWNhLGNvb3JkaW5hdGVkIHVuaXZlcnNhbDVnNHMwdXRjLHp1bHU7YW8xdDA7IXA7IDBfMDt0bzI7bXQscmVlbndpY2ggbWVhbjA7IHRpMDttZVwiLFwiR3JlZW53aWNoIE1lYW5cIixcIm5cIl0sXCJUcmlwb2xpXCI6W1widHJ1ZcKmYTRiZW5naGF6aSxlM2wxbWlzcmF0NXQwemF3aTI7YXJodW5hLHJpcG9saTtieSxpYjB5O3lhO2FzdGVybiBldXJvcGVhbixldDtmcmljYSxsIGtodW1zLHogemF3aXkwO2FoXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCJdLFwiVHVuaXNcIjpbXCJ0cnVlwqZhZnJpY2EsY2Uzc2ZheCx0MDtuLHVuMDshaXMwOyFpYTtudHJhbCBldXJvcGVhbix0XCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCJdLFwiV2luZGhvZWtcIjpbXCJ0cnVlwqZhZnJpY2EzYzJuYTB3aW5kaG9lazshbTA7IWliaWE7YXQsZW50cmFsIGFmcmljYTshIGNlbnRyYWxcIixcIkNlbnRyYWwgQWZyaWNhXCIsXCJzXCJdfSxcIkFtZXJpY2FcIjp7XCJBZGFrXCI6W1widHJ1ZcKmYTFoMG53dCx1cy9hbGV1dGlhbjthd2FpaSBzM2R0LHN0O2RhayxsZXV0aWFuMG1lcmljYS9hdGthOyEgMDtpc2xhbmRzLHMwO3RhbmRhcmQgdGltZVwiLFwiQWxldXRpYW4gU3RhbmRhcmRcIixcIm5cIixcInVzYVwiXSxcIkFuY2hvcmFnZVwiOltcInRydWXCpmEwdXMvYWxhc2thO2g2azVsYXNrYTBtZXJpY2EsbmNob3JhZ2U7ISAxbjA7ISBzMTtzMHQxO3RhbmRhcmQgdDA7aW1lO2R0LHN0LHQ7ZHQsc3RcIixcIkFsYXNrYVwiLFwiblwiLFwidXNhXCJdLFwiQXJhZ3VhaW5hXCI6W1widHJ1ZcKmYXJhZ3VhaW5hLGJyMWUwcGFsbWFzLHRvY2FudGluczsgc291dGggYW1lcmljYSBzNGFzdCBzb3V0aCBhbWVyaWNhO2EwdDtzaWxpYTB6aWw7ISAwO3MwdDE7dGFuZGFyZCB0MDtpbWVcIixcIkJyYXNpbGlhXCIsXCJuXCJdLFwiQXJnZW50aW5hL0J1ZW5vc19BaXJlc1wiOltcInRydWXCpmEwYnVlbm9zIDQ7bWVyaWNhLzJyMDshZzA7IWUyO2FyZ2UxYnVlbm9zXzA7YWlyZXM7bnRpbmFcIixcIkFyZ2VudGluYVwiLFwic1wiXSxcIkFyZ2VudGluYS9DYXRhbWFyY2FcIjpbXCJ0cnVlwqZhMGMyO21lcmljYS8wcmdlbnRpbmE7YXJnZW50aW5hL2NvbW9kcml2YWRhdmlhLGMwO2F0YW1hcmNhXCIsXCJBcmdlbnRpbmFcIixcInNcIl0sXCJBcmdlbnRpbmEvQ29yZG9iYVwiOltcInRydWXCpmEwYzI7bWVyaWNhLzByZ2VudGluYTtjMHJvc2FyaW87b3Jkb2JhXCIsXCJBcmdlbnRpbmFcIixcInNcIl0sXCJBcmdlbnRpbmEvSnVqdXlcIjpbXCJ0cnVlwqZhMGoxO21lcmljYS9qMHJnZW50aW5hO3VqdXlcIixcIkFyZ2VudGluYVwiLFwic1wiXSxcIkFyZ2VudGluYS9MYV9SaW9qYVwiOltcInRydWXCpmFyMWIwY2l0eSBvZiBiMGxhIHJpb2phO3Vlbm9zIGFpcmVzO2dlbnRpbmEwc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWVcIixcIkFyZ2VudGluYVwiLFwic1wiXSxcIkFyZ2VudGluYS9NZW5kb3phXCI6W1widHJ1ZcKmYTBtMTttZXJpY2EvbTByZ2VudGluYTtlbmRvemFcIixcIkFyZ2VudGluYVwiLFwic1wiXSxcIkFyZ2VudGluYS9SaW9fR2FsbGVnb3NcIjpbXCJ0cnVlwqZhcjFiMGNpdHkgb2YgYjByaW9fZ2FsbGVnb3M7dWVub3MgYWlyZXM7Z2VudGluYTBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiQXJnZW50aW5hXCIsXCJzXCJdLFwiQXJnZW50aW5hL1NhbHRhXCI6W1widHJ1ZcKmYXIxYjBjaXR5IG9mIGIwc2FsdGE7dWVub3MgYWlyZXM7Z2VudGluYTBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiQXJnZW50aW5hXCIsXCJzXCJdLFwiQXJnZW50aW5hL1Nhbl9KdWFuXCI6W1widHJ1ZcKmYXIxYjBjaXR5IG9mIGIwc2FuIGp1YW47dWVub3MgYWlyZXM7Z2VudGluYTBzdCx0OyEgdGltZVwiLFwiQXJnZW50aW5hXCIsXCJzXCJdLFwiQXJnZW50aW5hL1Nhbl9MdWlzXCI6W1widHJ1ZcKmYXIxYjBjaXR5IG9mIGIwc2FuIGx1aXM7dWVub3MgYWlyZXM7Z2VudGluYTBzdCx0OyEgdGltZVwiLFwiQXJnZW50aW5hXCIsXCJzXCJdLFwiQXJnZW50aW5hL1R1Y3VtYW5cIjpbXCJ0cnVlwqZhcjFiMGNpdHkgb2YgYjB0dWN1bWFuO3Vlbm9zIGFpcmVzO2dlbnRpbmEwc3QsdDshIHRpbWVcIixcIkFyZ2VudGluYVwiLFwic1wiXSxcIkFyZ2VudGluYS9Vc2h1YWlhXCI6W1widHJ1ZcKmYXIxYjBjaXR5IG9mIGIwdXNodWFpYTt1ZW5vcyBhaXJlcztnZW50aW5hMHN0LHQ7ISB0aW1lXCIsXCJBcmdlbnRpbmFcIixcInNcIl0sXCJBc3VuY2lvblwiOltcInRydWXCpmFzdW5jaW9uLGMzcDBzYW4gbG9yZW56bzthcmFndWF5MXJ5LHkwOyFzdCx0OyEgdGltZTthcGlhdGEsaXVkYWQgZGVsIGVzdGVcIixcIlBhcmFndWF5XCIsXCJzXCIsXCJwYXJcIl0sXCJCYWhpYVwiOltcInRydWXCpmIyY2FtYWNhcmksZTFmZWlyYSBkZSBzYW50YTBpdGFidTBzYWx2YWRvcix2aXRvcmlhIGRhIGNvbnF1aXN0YTtuYTsgc291dGggYW1lcmljYSBzNWFzdCBzb3V0aCBhbWVyaWNhO2FoaWEscjA7YTB0O3NpbGlhMHppbDshIDA7czB0MTt0YW5kYXJkIHQwO2ltZVwiLFwiQnJhc2lsaWFcIixcIm5cIl0sXCJCYWhpYV9CYW5kZXJhc1wiOltcInRydWXCpmJhaDdjMmd1YWRhbGFqYXJhLG0wO2V4aWNvMG9udGVycmV5OyEgY2l0eTtlbnRyYWwgMHN0O21leGljMHN0YW5kYXJkIDI7YW4sbzA7ISAwO3RpbWU7aWFfMMOtYSBkZSAwO2JhbmRlcmFzXCIsXCJDZW50cmFsIE1leGljb1wiLFwiblwiLFwibWV4XCJdLFwiQmFyYmFkb3NcIjpbXCJ0cnVlwqZhMWIwO2FyYmFkb3MsYixyYjtzdCx0bGFudGljIHN0YW5kYXJkIHRpbWVcIixcIkF0bGFudGljXCIsXCJuXCJdLFwiQmVsZW1cIjpbXCJ0cnVlwqZhbmFuaW5kZXVhLGIyZTFtYWNhcGEscGFyMDthdWFwZWJhcyzDoSBlYXN0IGFtYXDDoTsgc291dGggYW1lcmljYSBzNWFzdCBzb3V0aCBhbWVyaWNhO2VsZW0scjA7YTB0O3NpbGlhMHppbDshIDA7czB0MTt0YW5kYXJkIHQwO2ltZVwiLFwiQnJhc2lsaWFcIixcIm5cIl0sXCJCZWxpemVcIjpbXCJ0cnVlwqZiMWMwO2VudHJhbCBzdGFuZGFyZCB0aW1lLHN0O2VsaXplLGx6LHpcIixcIkNlbnRyYWxcIixcIm5cIl0sXCJCb2FfVmlzdGFcIjpbXCJ0cnVlwqZhbTNib2EgdmlzdGEsYzByb3JhaW1hO2VudHJhbCBicmF6aWwwdWlhYmE7IWlhbjA7ISBzMzthem9uMHQ7ISAwO3MwdDE7dGFuZGFyZCB0MDtpbWVcIixcIkFtYXpvblwiLFwiblwiXSxcIkJvZ290YVwiOltcInRydWXCpmFybWVuR2JCYzdkb3NxdWVicmFkYXMsZmxvcmlkYWJsYW5jYSxpNm01bmVpdmEscDNzMXYwO2FsbGVkdXBhcixpbGxhdmljZW5jaW87YW50YSBtYXJDaW5jZWxlam8sbzA7YWNoYSxsZWRhZDthMGVyZWk5b3BheWFuO2xtaThzdG87YW5pemFsZXMsZWRlbGxpbixvbnRlckE7YmFndWUsdGFndWVpO2EybzB1Y3U2OyFsMHN0LHQ7IW9tYjY7bGkscnRhZ2VuYTthcnJhbjNlbGxvLG9nbzJ1MDtjYXJhbWFuZ2EsZW5hdmVudHUwO3JhO3RhO2NhYmVybWVqYSxxdWlsbGE7aWFcIixcIkNvbG9tYmlhXCIsXCJuXCJdLFwiQm9pc2VcIjpbXCJ0cnVlwqZhbWVyaWNhNGJvaXNlLGlkYWhvLG0wO291bnRhaW4wcHQsc3QsdDshIDA7aWQsc3RhbmRhcmQgdDB0MDtpbWU7ISBtb3VudGFpblwiLFwiTW91bnRhaW5cIixcIm5cIixcInVzYVwiXSxcIkNhbWJyaWRnZV9CYXlcIjpbXCJ0cnVlwqZhbWVyaWNhNGNhbWJyaWRnZSBiYXksbTA7ZGR0LG91bnRhaW4wc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWU7ISBtb3VudGFpblwiLFwiTW91bnRhaW5cIixcIm5cIixcInVzYVwiXSxcIkNhbXBvX0dyYW5kZVwiOltcInRydWXCpmFtMGJyYXppbCxjYW1wbyBncmFuZGUsbWF0byBncm9zc28gZG8gc3VsO2F6b24gc3RhbmRhcmQgdGltZSx0XCIsXCJBbWF6b25cIixcInNcIl0sXCJDYW5jdW5cIjpbXCJ0cnVlwqZjYW5jdW4sZTBtZXhpY28scXVpbnRhbmEgcm9vO2FzdGVybiBzdGFuZGFyZCB0aW1lLHN0XCIsXCJFYXN0ZXJuXCIsXCJuXCJdLFwiQ2FyYWNhc1wiOltcInRydWXCpmFsdG8gYmFyaW5LYmFySmNEZ3VhQm04cDdzYW42dHVybWVGdjA7YWxlbmNpYSxlMDshbjB0OyFlenVlbGEwOyEgMG47c3RhbmRhcmQgdDB0MDtpbWU7IGNyaXN0b2JhbCx0YSB0ZXJlc2EgZGVsIHR1eTtldGE0dWVydG8gbGEgY3J1ejthMHVjdW1waXo7cmFjYTB0dXJpbjtpYm8seTtyZW44dGkwO3JlO2E0aXVkYWQgMm8xdTA7YSxtMjtybztib2xpdmFyLGd1YXkwO2FuYTtiaW0xcmFjMTtpbjBxdWlzaW1ldG8sdXRhO2FzXCIsXCJWZW5lenVlbGFcIixcIm5cIl0sXCJDYXllbm5lXCI6W1widHJ1ZcKmY2F5ZW5uZSxmcmVuY2ggZ3VpYW5hM2cwO2YxdTA7ZixpYW5hOyF0OyEgdGltZVwiLFwiRnJlbmNoIEd1aWFuYVwiLFwiblwiXSxcIkNoaWNhZ29cIjpbXCJ0cnVlwqZhV2JUY1JkUWZvcnQgd29ydGgsZ1BoT2lNazAwbEptQ244bzdwbGFubyxzNHQydXMxd2kwO2NoaUdzY29uc1c7LzAyYTtleDB1bHNhOyFhczthMGhyZXZlcG9ydCxvdTR0IDE7aW50IDBuIGFudG9uaW87bG91R3BhdWw7a2xhaG9YbWFoYSx2ZXJsYW5kIHBhcms7YXNoTGUxb3IwO3RoIGRha283O2JyYXNrYSx3IDA7b3JsZWFucyxzb3V0aCBtZTY7YWRpc01lNWkxbzA7YmlIbnRnb21lcnk7bHdhdWtlZSxubmUxc3MwO2lzc2lwcGksb3VyaTthcG9sNnNvMDt0YTttcGg0O2FyZWRvLGkwb3Vpc2lhbmEsdWJiMTtuY29sbix0dGxlIHIwO29jaztsbGlubzBvd2EscnZpbmc7aXM7b3VzdEF1bnRzNTthcmxhbmQscmFuZCBwcmFpcmllO2FsbEFlcyBtb2luZXM7ZHQsZW50cmFsMGhpY2FnbyxvcnB1cyBjaHJpc3RpLHN0LHQ7ISB0aW1lO2F0b24gcm91Z2Uscm93bnMwO3ZpbDA7bGU7bGFiYThtNXIxdXN0MDtpbjtrMWxpbmd0MDtvbjthbnMwO2FzO2FyaWxsbyxlcmljYTA7ISAwO2NlbnRyYWw7bWFcIixcIkNlbnRyYWxcIixcIm5cIixcInVzYVwiXSxcIkNoaWh1YWh1YVwiOltcInRydWXCpmNoaWh1YWh1YSxoNWxhIHBheixtMDthemF0bGFuLGV4aWMxb3VudGFpbiAwO21leGljbyxzdGFuZGFyZCB0aW1lIChtZXhpY28pO2FuIHBhY2lmaWMxbzA7ISBwYWNpZmljOyEgdGltZTtlcDBucDBwMDtteFwiLFwiTWV4aWNhbiBQYWNpZmljXCIsXCJuXCIsXCJtZXhcIl0sXCJDb3N0YV9SaWNhXCI6W1widHJ1ZcKmYzBzam10O2VudHJhbCBzdGFuZGFyZCB0aW1lLG9zdGEgcmljYSxyMHN0OyFpXCIsXCJDZW50cmFsXCIsXCJuXCJdLFwiQ3VpYWJhXCI6W1widHJ1ZcKmYW0wYnJhemlsLGN1aWFiYSxtYXRvIGdyb3Nzbyx2YXJ6ZWEgZ3JhbmRlO2F6b24gc3RhbmRhcmQgdGltZSx0XCIsXCJBbWF6b25cIixcInNcIl0sXCJEYW5tYXJrc2hhdm5cIjpbXCJ0cnVlwqZjb29yZGluYXRlZCB1bml2ZXJzYWwyZDFnMHV0Yyx6dWx1O210LHJlZW53aWNoIG1lYW4xO2FubWFya3NoYXZuLGVubWFyazsgdGltZVwiLFwiR3JlZW53aWNoIE1lYW5cIixcIm5cIl0sXCJEYXdzb25cIjpbXCJ0cnVlwqZjYW5hZGEsZGF3c29uLG0yeTA7ZDBwdCx3dDtkdCx0O291bnRhaW4gc3RhbmRhcmQgdGltZSxzdFwiLFwiTW91bnRhaW5cIixcIm5cIl0sXCJEYXdzb25fQ3JlZWtcIjpbXCJ0cnVlwqZjYW5hZGEsZGF3c29uIGNyZWVrLG0xcDA7cHQsd3Q7b3VudGFpbiBzdGFuZGFyZCB0aW1lLHN0LHRcIixcIk1vdW50YWluXCIsXCJuXCJdLFwiRGVudmVyXCI6W1widHJ1ZcKmYTVjb2xvcmFkbyBzcHJpbmdzLGRlbnZlcixlbCBwYXNvLG0xbmF2YWpvLHNhbHQgbGFrZSx1czA7LzZhO2R0LG91bnRhaW4wc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWU7bGJ1cXVlcnF1ZSxtZXJpY2EwdXJvcmE7ISAwL3NoaXByb2NrO21vdW50YWluXCIsXCJNb3VudGFpblwiLFwiblwiLFwidXNhXCJdLFwiRGV0cm9pdFwiOltcInRydWXCpmFtZXJpY2E0ZGV0cm9pdCxlMGdyYW5kIHJhcGlkcyx1cy9taWNoaWdhbjthc3Rlcm4wcHQsc3QsdCx3dDshIDA7bWksc3RhbmRhcmQgdDB0MDtpbWU7ISBlYXN0ZXJuXCIsXCJFYXN0ZXJuXCIsXCJuXCIsXCJ1c2FcIl0sXCJFZG1vbnRvblwiOltcInRydWXCpmE2Y2E0ZWRtb250b24sbTA7b3VudGFpbjBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZTtsZ2FyeSxuYWRhMDshLzE7bGJlcnRhLG1lcmljYSAwO21vdW50YWluXCIsXCJNb3VudGFpblwiLFwiblwiLFwidXNhXCJdLFwiRWlydW5lcGVcIjpbXCJ0cnVlwqZhMGJyYXppbCxlaXJ1bmVwZTtjMG1hem9uYXMgd2VzdDtyZTB0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiQWNyZVwiLFwiblwiXSxcIkVsX1NhbHZhZG9yXCI6W1widHJ1ZcKmYzJlbDFzMDthbjBsdixveWFwYW5nbyx2OyBzYWx2YWRvcjtlbnRyYWwgc3RhbmRhcmQgdGltZSxzdFwiLFwiQ2VudHJhbFwiLFwiblwiXSxcIkZvcnRfTmVsc29uXCI6W1widHJ1ZcKmYnJpdGlzaCBjb2x1bWJpYSxjYW5hZGEsZm9ydCBuZWxzb24sbTA7b3VudGFpbiBzdGFuZGFyZCB0aW1lLHN0LHRcIixcIk1vdW50YWluXCIsXCJuXCJdLFwiRm9ydGFsZXphXCI6W1widHJ1ZcKmYnI1Y2E0ZTNmb3J0YWxlemEsaW1wZXJhdHJpeixqMm0wbmF0YWwsc2FvIGx1aXMsdGVyZXNpbmE7YTBvc3Nvcm87cGljZXJucGIscmFjYW5hdTtvYW8gcGVzc29hLHVhemVpcm8gZG8gbm9ydGU7IHNvdXRoIGFtZXJpY2EgczVhc3Qgc291dGggYW1lcmljYTttcGluYSBncmFuZGUsdWNhaWE7YTB0O3NpbGlhMHppbDshIDA7czB0MTt0YW5kYXJkIHQwO2ltZVwiLFwiQnJhc2lsaWFcIixcInNcIl0sXCJHbGFjZV9CYXlcIjpbXCJ0cnVlwqZhMWNhMGdsYWNlX2JheTtuYWRhLHBlIGJyZXRvbjtzdCx0MDshbGFudGljMDshIDA7c3RhbmRhcmQgdDB0MDtpbWVcIixcIkF0bGFudGljXCIsXCJuXCIsXCJ1c2FcIl0sXCJHb29zZV9CYXlcIjpbXCJ0cnVlwqZhMGNhbmFkYSxnb29zZV9iYXksbGFicmFkb3IsbnB0O3N0LHQwOyFsYW50aWMwOyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiQXRsYW50aWNcIixcIm5cIixcInVzYVwiXSxcIkdyYW5kX1R1cmtcIjpbXCJ0cnVlwqZhbWVyaWNhIGVhc3Rlcm4sZTJncmFuZCB0dXJrLGttdCx0MDtjMHVya3MgYW5kIGNhaWNvczshYTthc3Rlcm4wc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWVcIixcIkVhc3Rlcm5cIixcIm5cIixcInVzYVwiXSxcIkd1YXRlbWFsYVwiOltcInRydWXCpmMyZzBtaXhjbyx2aWxsYSBudWV2YTt0MHVhdGVtYWxhOyFtO2VudHJhbCBzdGFuZGFyZCB0aW1lLHN0XCIsXCJDZW50cmFsXCIsXCJuXCJdLFwiR3VheWFxdWlsXCI6W1widHJ1ZcKmY3VlbmNhLGVjMmd1YXlhcXVpbCxtYTFxMHNhbnRvIGRvbWluZ28gZGUgbG9zIGNvbG9yYWRvczttdCx1aXRvO2NoYWxhLG50YTshdCx1MDshYWRvcjA7ISAwO21haW5sYW5kLHRpbWVcIixcIkVjdWFkb3JcIixcIm5cIl0sXCJHdXlhbmFcIjpbXCJ0cnVlwqZnMDtlb3JnZXRvd24sdXkxeTA7IXQ7IWFuYTA7ISB0aW1lXCIsXCJHdXlhbmFcIixcIm5cIl0sXCJIYWxpZmF4XCI6W1widHJ1ZcKmYTRjYTJoYWxpZmF4LG4xcDA7ZWkscmluY2UgZWR3YXJkIGlzbGFuZDtldyBicnVuc3dpY2ssb3ZhIHNjb3RpYTshbmFkYTA7IS9hdGxhbnRpYztkdCxzdCx0MDshbGFudGljMDshIDA7bnMsc3RhbmRhcmQgdDB0MDtpbWVcIixcIkF0bGFudGljXCIsXCJuXCIsXCJ1c2FcIl0sXCJIYXZhbmFcIjpbXCJ0cnVlwqZhcnJveW8gbmFyYW5qbyxiQmMzZGlleiBkZSBvY3R1YnJlLGd1YW50YW5EaDFsYXMgdHVuYXMscGluYXIgZGVsIHJpbyxzYW50MDthIGNsYXJhLGlhZ28gZGUgY3ViYTthdmFuYSxjdSxlMG4wb2xndWluO2N1O2FtYWd1ZXksaTV1MDshYjA7IWEwOyEgMDtzdGFuZGFyZCB0MHQwO2ltZTtlMHVkYWQgY2FtaWxvIGNpZTA7bmZ1ZWcxO2F5MW95ZXIwO29zO2Ftb1wiLFwiQ3ViYVwiLFwiblwiLFwiY3ViYVwiXSxcIkhlcm1vc2lsbG9cIjpbXCJ0cnVlwqZjaXVkYWQgb2JyZWdvbixoMW1leGljMG5vZ2FsZXMsc29ub3JhO2FuIHBhY2lmaWMgc3RhbmRhcmQgdGltZSxvO2VybW9zaWxsbyxucG14XCIsXCJNZXhpY2FuIFBhY2lmaWNcIixcIm5cIl0sXCJJbmRpYW5hL0luZGlhbmFwb2xpc1wiOltcInRydWXCpmFtZXJpY2EyY3Jhd2ZvcmQsZGFkdWttbixlYXN0ZXJuIGluLGk0cDBzdGFyMXVzL2Vhc3QtaW5kaWFuYTtlcnJ5LGkwdWxhc2tpO2tlOyEvMDtmb3J0X3dheW5lLGkwO25kaWFuYTA7IXBvbGlzXCIsXCJFYXN0ZXJuXCIsXCJuXCIsXCJ1c2FcIl0sXCJJbmRpYW5hL0tub3hcIjpbXCJ0cnVlwqZhbWVyaWNhMWMwaW5kaWFuYSxrbm94LHVzL2luZGlhbmEtc3RhcmtlO2VudHJhbCBzdGFuZGFyZCB0aW1lLHN0OyEva25veF9pblwiLFwiQ2VudHJhbFwiLFwiblwiLFwidXNhXCJdLFwiSW5kaWFuYS9NYXJlbmdvXCI6W1widHJ1ZcKmYW1lcmljYSxlMGluZGlhbmEsbWFyZW5nbzthc3Rlcm4gc3RhbmRhcmQgdGltZSxzdFwiLFwiRWFzdGVyblwiLFwiblwiLFwidXNhXCJdLFwiSW5kaWFuYS9QZXRlcnNidXJnXCI6W1widHJ1ZcKmYW1lcmljYSxlMGluZGlhbmEscGV0ZXJzYnVyZzthc3Rlcm4gc3RhbmRhcmQgdGltZSxzdFwiLFwiRWFzdGVyblwiLFwiblwiLFwidXNhXCJdLFwiSW5kaWFuYS9UZWxsX0NpdHlcIjpbXCJ0cnVlwqZhbWVyaWNhLGMwaW5kaWFuYSx0ZWxsX2NpdHk7ZW50cmFsIHN0YW5kYXJkIHRpbWUsc3RcIixcIkNlbnRyYWxcIixcIm5cIixcInVzYVwiXSxcIkluZGlhbmEvVmV2YXlcIjpbXCJ0cnVlwqZhbWVyaWNhLGUwaW5kaWFuYSx2ZXZheTthc3Rlcm4gc3RhbmRhcmQgdGltZSxzdFwiLFwiRWFzdGVyblwiLFwiblwiLFwidXNhXCJdLFwiSW5kaWFuYS9WaW5jZW5uZXNcIjpbXCJ0cnVlwqZhbWVyaWNhLGUwaW5kaWFuYSx2aW5jZW5uZXM7YXN0ZXJuIHN0YW5kYXJkIHRpbWUsc3RcIixcIkVhc3Rlcm5cIixcIm5cIixcInVzYVwiXSxcIkluZGlhbmEvV2luYW1hY1wiOltcInRydWXCpmFtZXJpY2EsZTBpbmRpYW5hLHdpbmFtYWM7YXN0ZXJuIHN0YW5kYXJkIHRpbWUsc3RcIixcIkVhc3Rlcm5cIixcIm5cIixcInVzYVwiXSxcIkludXZpa1wiOltcInRydWXCpmFtZXJpY2EgbW91bnRhaW4sY2FuYWRhLGludXZpayxtMHBkZHQ7b3VudGFpbjBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiTW91bnRhaW5cIixcIm5cIixcInVzYVwiXSxcIklxYWx1aXRcIjpbXCJ0cnVlwqZhbWVyaWNhIGVhc3Rlcm4sY2FuYWRhLGUwaXFhbHVpdDthc3Rlcm4wZGR0LHN0LHQ7ISAwO3N0YW5kYXJkIHQwdDA7aW1lXCIsXCJFYXN0ZXJuXCIsXCJuXCIsXCJ1c2FcIl0sXCJKYW1haWNhXCI6W1widHJ1ZcKmZTNqMWswbmV3IGswO2luZ3N0b247YW0wbTshYWljYTthc3Rlcm4gc3RhbmRhcmQgdGltZSxzdFwiLFwiRWFzdGVyblwiLFwiblwiXSxcIkp1bmVhdVwiOltcInRydWXCpmEwanVuZWF1O2s1bGFza2EwbWVyaWNhOyEgMW4wOyEgczE7anVuZWF1IGFyZWEsczB0MTt0YW5kYXJkIHQwO2ltZTtzdCx0XCIsXCJBbGFza2FcIixcIm5cIixcInVzYVwiXSxcIktlbnR1Y2t5L0xvdWlzdmlsbGVcIjpbXCJ0cnVlwqZhbWVyaWNhMGVhc3Rlcm4gNGszbDJ3YXluZTshLzA7azFsMDtvdWlzdmlsbGU7ZW50dWMwO2t5XCIsXCJFYXN0ZXJuXCIsXCJuXCIsXCJ1c2FcIl0sXCJLZW50dWNreS9Nb250aWNlbGxvXCI6W1widHJ1ZcKmYW1lcmljYSxlMGtlbnR1Y2t5LG1vbnRpY2VsbG87YXN0ZXJuIHN0YW5kYXJkIHRpbWUsc3RcIixcIkVhc3Rlcm5cIixcIm5cIixcInVzYVwiXSxcIkxhX1BhelwiOltcInRydWXCpmJvMWNvY2hhYmFtYmEsbGEgcGF6LG9ydXJvLHMwO2FudGEgY3J1eiBkZSBsYSBzaWVycmEsdWNyZTshbDB0OyFpdmlhMDshIHRpbWVcIixcIkJvbGl2aWFcIixcInNcIl0sXCJMaW1hXCI6W1widHJ1ZcKmYXJlcXVpRGM5aHVhbmNDaThqdWxpYWNhLGxpbWEscDJzYW50MXQwO2FjbmEscnVqaWxsbzthIGFuaXRhICAgbG9zIGZpY3VzLGlhZ28gZGUgc3VyODtlMGl1cmEsdWNhbGxBOyFyMHQ7IXUwOyEgMDtzdGFuZGFyZCB0MHQwO2ltZTtjYSxxdWl0b3M7YWxsYW8saGkxdXMwO2NvO2NsMG1ib3RlO2F5bztwYVwiLFwiUGVydVwiLFwic1wiXSxcIkxvc19BbmdlbGVzXCI6W1widHJ1ZcKmYTA1YmEwM2MwMGZXZ2FyZGVuIGdyb3ZlLGhUaXJ2aVNsTW1vSm5Jb0ZwOXI4czF0YWNvbWEsdXMwd2FzaGluZ3RvbiBzdGF0ZTsvMDZhO2ExZWF0dGxlLGYscDB0b2NrdFR1bnJpc2UgbWFub3I7b2thUHJpbmdIO2NyYW1lbkhuMDsgMXRhIDA7YVRjbGFyaVY7YmVybmFyZGlSZGllZ28sZnJhbjBqbzQ7IWNpc2NvO2FuY2hvIGN1Y2Ftb25nYSxlUGl2ZXI3O2EwZHQsb3J0N3N0LHQ7Y2lmaWMxcmFkaTA7c2U7ISAwO3N0YW5kYXJkIHQwdDA7aW1lO2FrMWNlYW4wcmVnRnhuYXJkO3NpZGU7bGFuZDtldmFkYSxvcnRoIGxhczg7ZGVzMXJlbm8wOyB2YWxsZXk7dG87YTNvMDtuZzZzMDsgMF8wO2FuZ2VsZXM7IXMwOyB2ZWdhcztuZTtlbmRlcnMxdW50aW5ndG9uMDsgYmVhY2g7b247b250YTJyZTA7bW9udCxzMDtubztuYTthbGkxaHVsYSB2aXMwO3RhOyFmMTtqYSBjYWxpZjBrZXJzZmllbGQ7b3JuaWE7bWVyaWNhMG5haGVpbTshIDA7cGFjaWZpY1wiLFwiUGFjaWZpY1wiLFwiblwiLFwidXNhXCJdLFwiTWFjZWlvXCI6W1widHJ1ZcKmYTZicjFlMG1hY2Vpbzsgc291dGggYW1lcmljYSBzM2FzdCBzb3V0aCBhbWVyaWNhO2FzaWxpYTB0OyEgMDtzMHQxO3RhbmRhcmQgdDA7aW1lO2xhZ29hc3NlcmdpcGUscmFjYWp1XCIsXCJCcmFzaWxpYVwiLFwiblwiXSxcIk1hbmFndWFcIjpbXCJ0cnVlwqZjM21hbjJuaTA7IWMwOyFhcjA7YWd1YTtlbnRyYWwgc3RhbmRhcmQgdGltZSxzdFwiLFwiQ2VudHJhbFwiLFwiblwiXSxcIk1hbmF1c1wiOltcInRydWXCpmFtNGJyYXppbDNjMG1hbmF1cztlbnRyYWwgYnJhemlsMHVpYWJhOyFpYW4wOyEgczU7IS93ZTI7YXpvbjB0OyEgMWFzIGVhMDtzdDtzMHQxO3RhbmRhcmQgdDA7aW1lXCIsXCJBbWF6b25cIixcInNcIl0sXCJNYXJ0aW5pcXVlXCI6W1widHJ1ZcKmYTNmMW0wO2ExcSx0cTtmbXQsb3J0IGRlIGZyYW5jZSxyZW5jaCBtYTA7cnRpbmlxdWU7c3QsdGxhbnRpYyBzdGFuZGFyZCB0aW1lXCIsXCJBdGxhbnRpY1wiLFwiblwiXSxcIk1hdGFtb3Jvc1wiOltcInRydWXCpmFtZXJpY2EgY2VudHJhbCxjMmhlcm9pY2EgbWExbTBudWV2byBsYXJlZG8scmV5bm9zYTthMGV4aWNvO3RhbW9yb3M7ZW50cmFsMHN0LHQ7ISAwO3N0YW5kYXJkIHQwdDA7aW1lXCIsXCJDZW50cmFsXCIsXCJuXCIsXCJ1c2FcIl0sXCJNYXphdGxhblwiOltcInRydWXCpmNBaDhsN20wdGVwNDthemF0bEFleGljMW91bnRhaW4gMDttZXhpY28sc3RhbmRhcmQgdGltZSAobWV4aWNvKTthbiBwYWNpZmljIDJvMDshIHBhY2lmMC9iYWphc3VyO2ljO3N0YW5kYXJkIHQwdDA7aW1lO2EgcGF6LG9zIG1vY2hpcztucDBwMDtteDtoaWh1YWh1YSx1bGlhYzA7YW5cIixcIk1leGljYW4gUGFjaWZpY1wiLFwiblwiLFwibWV4XCJdLFwiTWVub21pbmVlXCI6W1widHJ1ZcKmYW1lcmljYTRjMG1lbm9taW5lZSx3aXNjb25zaW47ZW50cmFsMHN0LHQ7ISAwO3N0YW5kYXJkIHQwdDA7aW1lOyEgY2VudHJhbFwiLFwiQ2VudHJhbFwiLFwiblwiLFwidXNhXCJdLFwiTWVyaWRhXCI6W1widHJ1ZcKmYzNndWFkYWxhamFyYSxtMDtlMG9udGVycmV5O3JpZGEseGljbzA7ISBjaXR5O2FtcGVjaGU0ZW50cmFsIDBzdDttZXhpYzBzdGFuZGFyZCAyO2FuLG8wOyEgMDt0aW1lOyF5dWNhdMOhblwiLFwiQ2VudHJhbCBNZXhpY29cIixcIm5cIixcIm1leFwiXSxcIk1ldGxha2F0bGFcIjpbXCJ0cnVlwqZhMG1ldGxha2F0bGE7azVsYXNrYTBtZXJpY2E7ISAxbjA7ISBzMTthbm5ldHRlIGlzbGFuZCxzMHQxO3RhbmRhcmQgdDA7aW1lO3N0LHRcIixcIkFsYXNrYVwiLFwiblwiLFwidXNhXCJdLFwiTWV4aWNvX0NpdHlcIjpbXCJ0cnVlwqZhMExiMEpjWWR1cmFuMENlY2F0ZXBlYyBkZSBtb3JlbDBBZ3VUaFNpUWphbGlzME5sZW9uIGRlIGxvcyBhbGRhMDZtSW5Ib0dwRXFEczl0NHVydWFwMDR2MngxeXVjYXQwNHphMDtjYXRlYzBDcG9wMDM7YWxhcGEgZGUgZW5yaXF1MFBpMExvY2hpbWlsMEw7ZTBpbGxhaGVybW9zYTtudXN0aWFubyBjYXJyYW56YSxyYWNydXo7YTNlN2xhMW8wdXh0MDM7bHVVbmEwMjtodWFjLGwwcXVlcGFxdWUseGNhMDE7bmVwYW50MDBwVztiYXMwRW1hdWxpcDA0cGFjaHVaO2FuMG9sZWRhZCBkZSBncmFjaWFubyBzYW5jaDBIOyBsdWlzIHBvdG9zaSx0MDthIG1hcmlhIGNoaW1hbDBpYWdvIGRlIHExO2h1UTt1ZXJldGFHO2FjaHVjYSBkZSBzb0lvemEgcmljYSBkZTd1ZTA7YlNydG8gdmFsbGFyMDQ7YXhhSmpvIGRlIGFndWE7YXVjYWxwYW4wN2ljb2xhcyByb21lQ3Vldm8gbGUwNjthZ2RhbGVuYSBjb250cmVyVWV4NGkybzB4O250ZXJyZXkscmVsMDtpYSxvcztjaG9IZ3VlbDA7IGg1OyFpY28wOyEgMC9nZW5lcmFsLF8wO2NpdHk7cmFwNXh0YXBhbHU5enRhMDtjVXBhbGFwYTtpZGFsSjthMWVycmUwc3Rhdm8gYWRvbGZvIG1hZGUwO3JvO2RhbGFqYXJhLG5hajA7dWEwO3RvO2FtcGVjaGUsZUZoaUNpdWRhZCBBbzNzdCx1MHd0O2F1MWVybmF2YTA7Y2E7aHRlbW9jLHRpdGxhbiBpemNhbGxpO2E0bDJ5bzA7YWMwO2FuO2kwb25pYSBkZWwgdmFsbGU7bWE7Y0VodWkwdHphY29hbGMyO2xhO2xvcGV6IG1hdGUwbmV6YWh1YWxjb3lvdGw7b3M7YXAxbHBhbmNpbjA7Z287YXM7bGF5YSxudHJhbCAwO21leGljMHN0YW5kYXJkIDI7YW4sbzA7ISAwO3RpbWU7ZW5pdG82dWVuYXZpczA7dGE7Y2FwdWxjbzNndWFzY2FsaWVudGVzLGx2YXJvIG9icmVnMnpjYXBvdHowO2FsMDtjbztvbjsgZGUwOyBqdWFyMDtlelwiLFwiQ2VudHJhbCBNZXhpY29cIixcIm5cIixcIm1leFwiXSxcIk1pcXVlbG9uXCI6W1widHJ1ZcKmaEJtQXA4czA7YWludCBwaWVycmUycG0sdCBwaWVycmUgMDsmIG1pcXVlbG9uIDBhNTtzMnQzOyEgMDthMnMwO3RhbmRhcmQgdDA7aW1lO25kMTtpZXJyZTBtOyBtMDtpcXVlbG9uO25wbSxwbVwiLFwiU3QuIFBpZXJyZSAmIE1pcXVlbG9uXCIsXCJuXCIsXCJ1c2FcIl0sXCJNb25jdG9uXCI6W1widHJ1ZcKmYTBjYW5hZGEsaGVwbSxtb25jdG9uLG5ldyBicnVuc3dpY2s7c3QsdDA7IWxhbnRpYzA7ISAwO3N0YW5kYXJkIHQwdDA7aW1lXCIsXCJBdGxhbnRpY1wiLFwiblwiLFwidXNhXCJdLFwiTW9udGVycmV5XCI6W1widHJ1ZcKmYzhnNm0zc2ExdDB2aWN0b3JpYSBkZSBkdXJhbmdvO2FtcGljbyxvcnJlb247bHRpbGxvLG4wOyBuaWNvbGFzIGRlIGxvcyBnYXJ6YSx0YSBjYXRhcmluYTtleGljbzFvbjA7Y2xvdmEsdGVycmV5OyEgY2l0eTtvbWV6IHBhbGFjaW8sdWFkYWwwO2FqYXJhLHVwZTtlbnRyYWwgMWl1ZGFkIDBzdDthcG9kYWNhLGdlbmVyYWwgZXNjb2JlZG8sbWFkZXJvLHZpY3RvcmlhO21leGljMHN0YW5kYXJkIDI7YW4sbzA7ISAwO3RpbWVcIixcIkNlbnRyYWwgTWV4aWNvXCIsXCJuXCIsXCJtZXhcIl0sXCJNb250ZXZpZGVvXCI6W1widHJ1ZcKmbW9udGV2aWRlbzV1MDtyMXkwOyFzdCx0O3VndWF5MHk7ISAwO3MxdDI7ISBzMDt0YW5kYXJkIHQwO2ltZVwiLFwiVXJ1Z3VheVwiLFwic1wiXSxcIk5ld19Zb3JrXCI6W1widHJ1ZcKmYTBSYjBPYzBIZDBHZTBCZjA3ZzA1aGlhbGVhaCxpMDJqMDBrWmxleGluZ3RvblltVW5Nb0twSXF1SHJEc0F0N3U1djN3MHlvbmtlcnM7YXNoaW5ndG9uMWVzdCAwaW5zdG9uIHNhbGVtLG9yY0Q7cmFFdmlyZ2luMDQ7ISBkYztlcm1vbnQsaXJnaW5pYTA7ISBiZWFjaDtuaXRlZCBzdGF0ZXMsczA7IS8wTWE7YTBlbm5lMWhlIGJyb254LG9sZUQ7bGxhaGEwbXBhO3NzZWU7b3V0aCAxdDA7IHBldGVyc2J1cmcsYXRlbjM7Ym8wQ2NDO2EyaG9kZTFpY2htbzA2b2NoMDtlc3RlcjsgaXMwMztsZWkyO2VlbnMsaW50YW5hIHJvbztlbm5zeWx2YW5OaGlsYWRlbHBoTml0dHNidXIwcm92aWRlbmNlO2doO2hpbyxybGFuMDtkbztldzNvcjF5MDshYztmb2xrLHRoIGMwO2Fyb2xpRTsgMV95bzBhMHBvcnQgbmV3cztyaztoYW1wc2hpWGplOHlvcmswOyEgc3RhVDthMWVhZHMsaTA7YW1pLGNoaWcxO2luZSxuaGF0dDByeU1zc2FjaHVzZXR0czthbjshIGZheWV0TztlbnR1Y2t5LG5veDk7YWNrczJlMDtyc2V5O25kaWExcjA7b241O25hO2VvcmcwcmVlbnNib3JvO2lhO2F5ZXR0ZTFsMG9ydCBsYXVkZXJkYTI7IW9yaWRhO3ZpbDA7bGU7YXN0MGR0LHN0LHQ7IGZsYXRidXNoLGVybjA7ISAwO3N0YW5kYXJkIHQwdDA7aW1lO2VsYXdhOXVyaGFtO2FwZSBjb3JhbCxoM2luY2lubmF0aSxsZXZlMW8wO2x1bWJ1cyxubmVjdGljdXQ7bGEwO25kO2EwZXNhcGVha2U7cmxvdDB0dGFub29nYTt0ZTthbHRpbW8xbzByb29rbHluLHVmZmFsbztzdDQ7cmU7a3IybWVyaWNhMHRsYW50YTshIDA7ZWFzdGVybjtvblwiLFwiRWFzdGVyblwiLFwiblwiLFwidXNhXCJdLFwiTmlwaWdvblwiOltcInRydWXCpmFtZXJpY2EgZWFzdGVybixjYW5hZGEsZTBuaXBpZ29uO2FzdGVybjBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiRWFzdGVyblwiLFwiblwiLFwidXNhXCJdLFwiTm9tZVwiOltcInRydWXCpmEwbm81O2s1bGFza2EwbWVyaWNhOyEgMW4wOyEgczE7czB0aTF3ZXN0O3RhbmRhcmQgdGkwO21lO3N0LHRcIixcIkFsYXNrYVwiLFwiblwiLFwidXNhXCJdLFwiTm9yb25oYVwiOltcInRydWXCpmF0bGFudGljIGlzbGFuZHMsYnJhemlsM2YwbjQ7ZXJuYW5kbyBkZSBub3JvbmhhIDBudDtzdGFuZGFyZCB0MHQwO2ltZTshL2RlbjA7b3JvbmhhXCIsXCJGZXJuYW5kbyBkZSBOb3JvbmhhXCIsXCJuXCJdLFwiTm9ydGhfRGFrb3RhL0JldWxhaFwiOltcInRydWXCpmFtZXJpY2EsYmV1bGFoLGMwbm9ydGggZGFrb3RhO2VudHJhbCBzdGFuZGFyZCB0aW1lLHN0XCIsXCJDZW50cmFsXCIsXCJuXCIsXCJ1c2FcIl0sXCJOb3J0aF9EYWtvdGEvQ2VudGVyXCI6W1widHJ1ZcKmYW1lcmljYSxjMW1lcmMwbm9ydGggZGFrb3RhLG9saXYwO2VyO2VudDBzdDtlcixyYWwgc3RhbmRhcmQgdGltZVwiLFwiQ2VudHJhbFwiLFwiblwiLFwidXNhXCJdLFwiTm9ydGhfRGFrb3RhL05ld19TYWxlbVwiOltcInRydWXCpmFtZXJpY2EsYzFuMDtld19zYWxlbSxvcnRoIGRha290YTtlbnRyYWwgc3RhbmRhcmQgdGltZSxzdFwiLFwiQ2VudHJhbFwiLFwiblwiLFwidXNhXCJdLFwiTnV1a1wiOltcInRydWXCpmFtZXJpY2EzZzFudXVrLHdnMDtzdCx0O2wscjA7ZWVubGFuZCxsOyEvZ29kdGhhYlwiLFwiV2VzdCBHcmVlbmxhbmRcIixcIm5cIixcImdyZWVuXCJdLFwiT2ppbmFnYVwiOltcInRydWXCpmFtZXJpY2E1YzRtMG9qaW5hZ2E7b3VudGFpbjBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZTtoaWh1YWh1YSxpdWRhZCBqdWFyZXo7ISBtb3VudGFpblwiLFwiTW91bnRhaW5cIixcIm5cIixcInVzYVwiXSxcIlBhbmFtYVwiOltcInRydWXCpmEzY29yYWwgaCxlMnBhMHNhbiBtaWd1ZWxpdG87IW4wOyFhbWE7YXN0ZXJuIHN0YW5kYXJkIHRpbWUsc3Q7bWVyaWNhLzB0MjthdDFjMDtheW0xb3JhbF9oYXJib3VyO2lrb2swO2FuXCIsXCJFYXN0ZXJuXCIsXCJuXCJdLFwiUGFuZ25pcnR1bmdcIjpbXCJ0cnVlwqZhNGJhZmZpbiBpc2xhbmQsY2FuYWRhLGUwbnVuYXZpdCxwYW5nbmlydHVuZzthc3Rlcm4wc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWU7ZGR0LG1lcmljYSBlYXN0ZXJuXCIsXCJFYXN0ZXJuXCIsXCJuXCIsXCJ1c2FcIl0sXCJQYXJhbWFyaWJvXCI6W1widHJ1ZcKmcGFyYW1hcmlibyxzMDtyMnVyMDshaW5hbWUwOyEgdGltZTshdFwiLFwiU3VyaW5hbWVcIixcIm5cIl0sXCJQaG9lbml4XCI6W1widHJ1ZcKmYUFjOGc2aWRhaG8sbTRuM3Bob2VuaXgsczJ0MXUwd3lvbWluZztzL2FyQXRhaDtlbXBlLHVjc0M7Y290dHNkNGluYWxvYSxvbm9yYTtheWFyaXQsZXcgbWV4aWNvO2FyeXYyZXNhLG8wc3QsdCx3dDtudGE2dW50YWluIHN0YW5kYXJkIHRpbWU7aWxiZXJ0LGxlbmQwO2FsZTtoMG9sb3JhZG87YW5kbGVyLGlodWFodWE7bWVyaWNhMnIwO2l6bzA7bmE7IS9jcmVzdDA7b25cIixcIk1vdW50YWluXCIsXCJuXCJdLFwiUG9ydC1hdS1QcmluY2VcIjpbXCJ0cnVlwqZhbWVyaWNhIGVhc3Rlcm4sY0FlNmg0cDA7ZXRpb252aWxsZSxvcnQwOyAwLWF1LTE7YXUgMGRlIHBhaXg7cHJpbmNlO2FpdGksdDA7IWk7YXN0ZXJuMHN0LHQ7ISAwO3N0YW5kYXJkIHQwdDA7aW1lO2FycmVmb3VyLHJvaXggZGVzIGJvdXF1ZXRzXCIsXCJFYXN0ZXJuXCIsXCJuXCIsXCJ1c2FcIl0sXCJQb3J0b19WZWxob1wiOltcInRydWXCpmFtNWJyYXppbCxjMnBvcnRvMHJvbmTDtG5pYTsgMF8wO3ZlbGhvO2VudHJhbCBicmF6aWwwdWlhYmE7IWlhbjA7ISBzMzthem9uMHQ7ISAwO3MwdDE7dGFuZGFyZCB0MDtpbWVcIixcIkFtYXpvblwiLFwiblwiXSxcIlB1ZXJ0b19SaWNvXCI6W1widHJ1ZcKmYTJiYXlhbTlwMDtyMHVlcnRvIHJpY287IWk7bWVyaWNhMHN0LHRsYW50aWMgc3RhbmRhcmQgdGltZTshLzA7YTVibGFuYy1zYWJsNGN1cmFjYW8sZG9taW5pY2EsZzNrcmFsZW5kaWprLGxvd2VyX3ByaW5jZXMsbTJwb3J0X29mX3NwYTFzdF8wdG9ydG83dmlyZzE7YmFydGhlbGVteSxraXR0cyxsdWNpYSx0aG9tYXMsdmluY2VudDtpbjthcmlnb3Qsb250c2VycmF0O3JlbmFkYSx1YWRlbG91cGU7b247bjBydWJhO2d1aWwwdGlndWE7bGFcIixcIkF0bGFudGljXCIsXCJuXCJdLFwiUHVudGFfQXJlbmFzXCI6W1widHJ1ZcKmYzBwdW50YSBhcmVuYXMscmVnaW9uIG9mIG1hZ2FsbGFuZXM7aGlsZTBsdDshIHN0YW5kYXJkIHRpbWVcIixcIkNoaWxlXCIsXCJzXCJdLFwiUmFpbnlfUml2ZXJcIjpbXCJ0cnVlwqZhbWVyaWNhNGMwZnQgZnJhbmNlcyxyYWlueSByaXZlcjtlbnRyYWwwc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWU7ISBjZW50cmFsXCIsXCJDZW50cmFsXCIsXCJuXCIsXCJ1c2FcIl0sXCJSYW5raW5fSW5sZXRcIjpbXCJ0cnVlwqZhbWVyaWNhNGMwcmFua2luIGlubGV0O2RkdCxlbnRyYWwwc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWU7ISBjZW50cmFsXCIsXCJDZW50cmFsXCIsXCJuXCIsXCJ1c2FcIl0sXCJSZWNpZmVcIjpbXCJ0cnVlwqZhQWJyNGNhcnVhcnUsZTNqYWJvYXRhbzJvbGluZGEscDA7YXVsaXN0YSxlMDtybmFtYnVjbyx0cm9saW5hOyEgZG9zIGd1YXJhcmFwZXM7IHNvdXRoIGFtZXJpY2EgczRhc3Qgc291dGggYTY7YTB0O3NpbGlhMHppbDshIDA7czB0MTt0YW5kYXJkIHQwO2ltZTttZXJpY2FcIixcIkJyYXNpbGlhXCIsXCJuXCJdLFwiUmVnaW5hXCI6W1widHJ1ZcKmYzJyZWdpbmEsczA7YXNrYXQwaztjMm9vbjthbmFkYTBlbnRyYWwgc3RhbmRhcmQgdGltZSxzdDshL3Nhc2thdGMwO2hld2FuXCIsXCJDZW50cmFsXCIsXCJuXCJdLFwiUmVzb2x1dGVcIjpbXCJ0cnVlwqZhbWVyaWNhNGMwcmVzb2x1dGU7ZW50cmFsMHN0LHQ7ISAwO3N0YW5kYXJkIHQwdDA7aW1lOyEgY2VudHJhbFwiLFwiQ2VudHJhbFwiLFwiblwiLFwidXNhXCJdLFwiUmlvX0JyYW5jb1wiOltcInRydWXCpmExYnJhemlsMHJpbyBicmFuY287IS8xO2MxbWVyaWNhL3BvcnRvXzA7YWNyZTtyZTB0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZVwiLFwiQWNyZVwiLFwic1wiXSxcIlNhbnRhcmVtXCI6W1widHJ1ZcKmYnIxZTBwYXLDoSB3ZXN0LHNhbnRhcmVtOyBzb3V0aCBhbWVyaWNhIHM0YXN0IHNvdXRoIGFtZXJpY2E7YTB0O3NpbGlhMHppbDshIDA7czB0MTt0YW5kYXJkIHQwO2ltZVwiLFwiQnJhc2lsaWFcIixcIm5cIl0sXCJTYW50aWFnb1wiOltcInRydWXCpmFBYzRpcXVpcXVlLGxhIHBpbnRhbmEscHVlbnRlIGFsdG8scmFuY2FndWEsc2FuM3QxdjA7YWxwYXJhaXNvLGluYSBkZWwgbWFyO2FsY2EwZW11Y287IWh1YW5vOyBiZXJuYXJkbyx0aWFnbztoMWwwb25jZXBjaW9uOyFzdCx0O2lsZTBsOyEgMC9jb250aW5lbnRhbDtzdGFuZGFyZCB0MHQwO2ltZTtudG9mYWdhc3RhLHJpY2FcIixcIkNoaWxlXCIsXCJzXCIsXCJjaGlsZVwiXSxcIlNhbnRvX0RvbWluZ29cIjpbXCJ0cnVlwqZhOGJlbGxhIHZpc3RhLGRvNmxhIHJvbWFuYSxzMDthbjBkbXQ7IHBlZHJvIGRlIG1hY29yaXMsdDA7aWFnbyBkZSBsb3MgY2FiYWxsZXJvcyxvIGRvbWluZ28wOyEgMDtlMG9lMDtzdGU7IW0wOyFpbmljYW4gcmVwdWJsaWM7c3QsdGxhbnRpYyBzdGFuZGFyZCB0aW1lXCIsXCJBdGxhbnRpY1wiLFwiblwiXSxcIlNhb19QYXVsb1wiOltcInRydWXCpmExNmIwVGMwTWQwSmUwSGYwRmcwQWhvcnRvbDA5aTA1ajAybDAxbVhuVm9zYXNjbyxwTHJpRnM0dGEzdWJlcjJ2MDtpMG9sdGEgcmVkb24xQTthbWFvLGxhIHZlbGhhLHRvcjE2O2EwTWwwNjtib2FvIGRhIHNlcjAwdWJhMTA7YTJlMW9yb051MDttYUx6YW5vO3JYdGUgbGFnbzBMO250NG8gMDtiZXJuYXJkbyBkbyBjYW1wbyxjYXJsMDNqbzBsZW9wb2xMcGF1bG8sdmljRTthbyBkZSBtZXJpdGksc2UwOyEgZG8wOyByaW8gcDhzIGNhbXAwMDthIDFvMDsgYW5kRHM7YmFyYmFyYSBkJ29lczBQbHV6MFRtYXIwVDtiZWlyYW8gM28wOyEgMDtjbGEwZGUgamFuZWkwZzZ2ZXI3O3JvO2RhcyBuZXYwN3AwO3JldG87YXNzbyBmdW44ZTdpcmFjaTZsYW5hbHRpME9vNHIwO2FpYSBnMWVzaWRlbnRlIHBydWQwO2VuMEc7cmFuMDtkZTtudGEgZ3Jvc3NhLHJ0byBhbGVnMDtyZTtjYVc7bG90WXRybzBGO2RvO2l0ZXJvaSxvdjA7YUpvIGhhbWJ1cmdvO2ExbzA7Z2kgZGFzIGNydXpTbnRlcyBjbGFyRDtyaTB1YTtsMDduNjtpbWVpMm9uZHJpMDg7YWNhcmVpLG9pbnZpbGxlLHUwO2l6IGRlIGZvMG5kaTk7cmE7bmRhaWEycGF0aW4xdGEwO2JvcjZwZXZpLHF1YXF1ZWNlMTtnYTt0dUc7YW5kWTtvM3JhdmF0MnVhcnUwO2phLGxoMDtvczthaTtpU3Zlcm5hZG9yIHZhbGFkYXJDO2xvcmlhNW96IGRvMHJhbjI7IGlndWFjdTsgc291dGggYW1lcmljYSBzSGFzdCBzb3V0aCBhbWVyaTBtYnU7Y2E7aTB1cXVlIGRlIGNheGk4O2FkZW1hLHZpMDtub047YTFvMHVyaXRpMjtudGFnZW0sdEs7Y2hvZWlybyBkZSBpdGFwZW1pckRtcDFubzNyYXBpY3VpMHNjYXZlbCx4aWFzIGRvIHN1bDtiYTtpbjFvcyBkb3MgZ295dGFjYXowO2VzO2FzO2FCZTdsdW1lbmF1LHIwOyFhMHN0LHQ7IXNpbGlhMXppbDA7IS9lYXN0OyEgMDtzMHQxO3RhbmRhcmQgdDA7aW1lO2wxdDA7aW07Zm9yZCByb3hvLG8gaG9yaXpvbjA7dGU7cnVlcmksdXJ1O2x2b3JhNG1lcmljYTNuYTJwYXJlY2lkYSBkZSBnb2kwO2FuMDtpYTtwb2xpcztuYTtkYVwiLFwiQnJhc2lsaWFcIixcInNcIl0sXCJTY29yZXNieXN1bmRcIjpbXCJ0cnVlwqZlM2dyZWVubGFuZDJoMGl0dG9xcW9ydG9vcm1paXQsc2NvcmVzYnlzdW5kO2UwbmVnO2VnLGc7ISBlYXN0ZXJuO2FzdCBncmVlbmxhbmQxZzA7c3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWVcIixcIkVhc3QgR3JlZW5sYW5kXCIsXCJuXCIsXCJldTBcIl0sXCJTaXRrYVwiOltcInRydWXCpmEwc2l0a2E7azZsYXNrYTBtZXJpY2E7ISAxbjA7ISBzdDI7czB0MjtpdGthIGFyZWEsdDA7YW5kYXJkIHQwO2ltZTtzdCx0XCIsXCJBbGFza2FcIixcIm5cIixcInVzYVwiXSxcIlN0X0pvaG5zXCI6W1widHJ1ZcKmY2FuYWRhN2g1bjBzdCBqb2hucztkM2V3Zm91bmRsYW5kMHN0LHQ7ISAwO2xhYnJhZG9yLHN0YW5kYXJkIHQwdDA7aW1lO2R0LHQ7ZTBuMHRuO3RuOyEvbmV3Zm91bmRsYW5kXCIsXCJOZXdmb3VuZGxhbmRcIixcIm5cIixcInVzYVwiXSxcIlN3aWZ0X0N1cnJlbnRcIjpbXCJ0cnVlwqZjMXMwO2Fza2F0Y2hld2FuLHdpZnQgY3VycmVudDthbmFkYSxlbnRyYWwgc3RhbmRhcmQgdGltZSxzdFwiLFwiQ2VudHJhbFwiLFwiblwiXSxcIlRlZ3VjaWdhbHBhXCI6W1widHJ1ZcKmYzJoMHNhbiBwZWRybyBzdWxhLHRlZ3VjaWdhbHBhO24wb25kdXJhczshZDtlbnRyYWwgc3RhbmRhcmQgdGltZSxzdFwiLFwiQ2VudHJhbFwiLFwiblwiXSxcIlRodWxlXCI6W1widHJ1ZcKmYTBwaXR1ZmZpayx0aHVsZTtzdCx0MDshbGFudGljMDshIDA7c3RhbmRhcmQgdDB0MDtpbWVcIixcIkF0bGFudGljXCIsXCJuXCIsXCJ1c2FcIl0sXCJUaHVuZGVyX0JheVwiOltcInRydWXCpmNhbmFkYSxlMHRodW5kZXIgYmF5O2FzdGVybjBzdCx0OyEgdGltZVwiLFwiRWFzdGVyblwiLFwiblwiLFwidXNhXCJdLFwiVGlqdWFuYVwiOltcInRydWXCpmFtZXJpY2E4YmFqYSBjYWxpZm9ybmlhLGVBaDZtZXhpYzRwMHRpanVhbmE7YWNpZmljMHN0LHQ7ISAwO3N0YW5kYXJkIHQwdDA7aW1lO2FsaSxvMDshL2JhamFub3J0ZTtlMG4wO25vbXg7IHBhY2lmaWMsLzA7ZTBzYW50YV9pc2FiZWw7bnNlbmFkYVwiLFwiUGFjaWZpY1wiLFwiblwiLFwidXNhXCJdLFwiVG9yb250b1wiOltcInRydWXCpmFtZXJpY2FHYkVjYUJlN2dhdGluZUloYW1pbEZraXRjaGVuZXIsbDRtM25lcGUybzBxdWViZWMscmljaG1vbmQgaGlsbCx0b3JvbnRvLHZhdWdoMndpbmRzb3I7bjVzaDB0dDA7YXdhO2FuO2Fya2hhbSxpc3Npc3NhdWdhLG9GO2F2Rm9uMDtkb24gb24wZ3VldWlsO3RhcmlvO2FzdGVybjBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZTshbjA7IWFkYTA7IS83O2FycmllLHJhbXAwO3RvbjsgNC8wO21vMW5hc3MwO2F1O250cmUwO2FsO2Vhc3Rlcm5cIixcIkVhc3Rlcm5cIixcIm5cIixcInVzYVwiXSxcIlZhbmNvdXZlclwiOltcInRydWXCpmFtZXJpY2EgOWI3Y2E1bGFkbjRva2FuYWdhbixwMXN1cnJleSx2MHl1a29uO2FuY291djNpY3Rvcjc7YWNpZmljMHN0LHQ7ISAwO2JjLHN0YW5kYXJkIHRpbWU7ZXI7IW5hZGEwOyEvMjtyaXRpc2ggY29sdW1iMHVybmFieTtpYTtwYWNpZmljXCIsXCJQYWNpZmljXCIsXCJuXCIsXCJ1c2FcIl0sXCJXaGl0ZWhvcnNlXCI6W1widHJ1ZcKmY2FuYWRhMW0wd2hpdGVob3JzZSx5c3Q7b3VudGFpbiBzdGFuZGFyZCB0aW1lLHN0OyEveXVrb25cIixcIk1vdW50YWluXCIsXCJuXCJdLFwiV2lubmlwZWdcIjpbXCJ0cnVlwqZhbWVyaWNhIDdjMm0xdzA7ZXN0IG0waW5uaXBlZzthbml0b2JhO2FuYWRhM2VudHJhbDBzdCx0OyEgMDtzdGFuZGFyZCB0MHQwO2ltZTshLzA7Y2VudHJhbFwiLFwiQ2VudHJhbFwiLFwiblwiLFwidXNhXCJdLFwiWWFrdXRhdFwiOltcInRydWXCpmEweTQ7azZsYXNrYTBtZXJpY2E7ISAxbjA7ISBzMjtzMXQyeTA7YWt1dGF0O3RhbmRhcmQgdDA7aW1lO3N0LHRcIixcIkFsYXNrYVwiLFwiblwiLFwidXNhXCJdLFwiWWVsbG93a25pZmVcIjpbXCJ0cnVlwqZhbWVyaWNhIG1vdW50YWluLGNhbmFkYSxtMHllbGxvd2tuaWZlO291bnRhaW4wc3QsdDshIDA7c3RhbmRhcmQgdDB0MDtpbWVcIixcIk1vdW50YWluXCIsXCJuXCIsXCJ1c2FcIl19LFwiQW50YXJjdGljYVwiOntcIkNhc2V5XCI6W1widHJ1ZcKmYW50YXJjdGljYSxjYXMwO2V5LHRcIixcIkNhc2V5XCIsXCJzXCIsXCJhbnRcIl0sXCJEYXZpc1wiOltcInRydWXCpmExZGF2MDtpcyx0O250YXJjdGljYSxxLHRhXCIsXCJEYXZpc1wiLFwic1wiXSxcIk1hY3F1YXJpZVwiOltcInRydWXCpmEyY2FuYmVycmEsZWFzdGVybiBhdXN0cmFsaWE2bTBzeWRuZXk7YWNxdWFyaWUwZWxib3VybmU7ISBpc2xhbmQ7ZTRudGFyY3RpY2EsdXMwOyBlYXN0MHRyYWxpYSBlYXN0ZXJuOyFlcm4wOyEgc3RhbmRhcmQwOyB0aW1lO3N0LHRcIixcIkVhc3Rlcm4gQXVzdHJhbGlhXCIsXCJzXCIsXCJhdXNcIl0sXCJNYXdzb25cIjpbXCJ0cnVlwqZhbnRhcmN0aWNhLG1hdzA7c29uLHRcIixcIk1hd3NvblwiLFwic1wiXSxcIlJvdGhlcmFcIjpbXCJ0cnVlwqZhMWIwY2l0eSBvZiBiMHJvdGhlcmE7dWVub3MgYWlyZXM7bnRhcmN0aWNhMXIwO2dlbnRpbmEsc3QsdDshL3BhbG1lclwiLFwiQXJnZW50aW5hXCIsXCJzXCJdLFwiVHJvbGxcIjpbXCJ0cnVlwqZhbnRhcmN0aWNhLGcydHJvbGwwOyEgMDtyZXNlYXJjaCBzdGF0aW9uLHQxO210LHJlZW53aWNoIG1lYW4gdDA7aW1lXCIsXCJUcm9sbFwiLFwic1wiLFwidHJvbGxcIl0sXCJWb3N0b2tcIjpbXCJ0cnVlwqZhbnRhcmN0aWNhLHZvc3QwOyFva1wiLFwiVm9zdG9rXCIsXCJzXCJdfSxcIkFzaWFcIjp7XCJBbG1hdHlcIjpbXCJ0cnVlwqZhNmNlbnRyYWwgYXNpYSxlYXN0IGthemFraHN0YW4gdGltZSxrMm51ciBzdWx0YW4scDFzMHRhcmF6LHVzdCBrYW1lbm9nb3JzaztlbWV5LGh5bWtlbnQ7YXZsb2RhcixldHJvcGF2bDthMHo7cmFnYW5keSx6MDshYWtoc3RhbjA7ISBlYXN0ZXJuO2xtMXMwO2lhLHRhbmE7YTB0OyBhdGEsdHlcIixcIkVhc3QgS2F6YWtoc3RhblwiLFwiblwiXSxcIkFtbWFuXCI6W1widHJ1ZcKmYTJlZXQsaXJiaWQsam8wcnVzc2VpZmEsd2FkaSBhcyBzaXIsemFycWE7IXIwOyFkMTttbTBzaWE7YW5cIixcIkVhc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImpvcmRcIl0sXCJBbmFkeXJcIjpbXCJ0cnVlwqZhMHBldHJvcGF2bG92c2sga2FtY2hhdHNreTtuYTBzaWE7ZHlyMHQ7ISB0aW1lXCIsXCJBbmFkeXJcIixcIm5cIl0sXCJBcXRhdVwiOltcInRydWXCpmExa2F6YWtoc3RhbiB3ZXN0ZXJuLG1hbmdnaHlzdGHFqy9tYW5raXMzdGFzaGtlbnQsd2VzdCAwO2FzaWEsa2F6YWtoc3RhbjU7bG0ycTFzMDtoZ2FiYXQsaWE7dGF1O2EwdDsgYXRhLC1hdGEwOyB0aW1lXCIsXCJXZXN0IEthemFraHN0YW5cIixcIm5cIl0sXCJBcXRvYmVcIjpbXCJ0cnVlwqZhMWthemFraHN0YW4gd2VzdGVybix0YXNoa2VudCx3ZXN0IDA7YXNpYSxrYXpha2hzdGFuNTtrdG81bG0ycXQxczA7aGdhYmF0LGlhO28zw7YzO2EwdDsgYXRhLC1hdGEwOyB0aW1lO2JlXCIsXCJXZXN0IEthemFraHN0YW5cIixcIm5cIl0sXCJBc2hnYWJhdFwiOltcInRydWXCpmFzNHQwO2ttLG0ydXJrbWVuMDthNGlzdGFuMDshIHRpbWU7IXN0LHQ7aGdhMWlhMDshL2FzaGtoYWJhZDtiYXRcIixcIlR1cmttZW5pc3RhblwiLFwiblwiXSxcIkF0eXJhdVwiOltcInRydWXCpmExZ3VyJ3lldixrYXpha2hzdGFuIHdlc3Rlcm4sdGFzaGtlbnQsd2VzdCAwO2FzaWEsa2F6YWtoc3RhbjY7bG0zczJ0MDtpcmF1LHlyYTA7dSzFqztoZ2FiYXQsaWE7YTB0OyBhdGEsLWF0YTA7IHRpbWVcIixcIldlc3QgS2F6YWtoc3RhblwiLFwiblwiXSxcIkJhZ2hkYWRcIjpbXCJ0cnVlwqZhNmJhNWRpaG9rLGVyYmlsLGkzazJtb3N1bCxuYTFyMDthbWFkaSxpeWFkaDtqYWYsc2lyQzthcmJhbGEsaXJrdWssdXdhaXQ7cSxyMDthcSxxO2doZGFkLHNyOTtidSBnaHVyYXliLGQgZGl3NmwgNXJhYjFzMDsgc3VsYXltNWlhLHQ7IWkwO2EwYzshbjA7ISB0aW1lO2FtYXIyYmFzcmFoIGFsIHFhZGltMmZhbGx1ajJoaWxsMmt1dCxtYXdzaWwgYWwgamFkaWQyO2FuMDtpeTA7YWhcIixcIkFyYWJpYW5cIixcIm5cIl0sXCJCYWt1XCI6W1widHJ1ZcKmYTBiYWt1LGdhbmphLGxhbmthcmFuLHN1bXFheWl0O3NpYSx6MDshZTB0OyFyYmFpamFuMDshIHRpbWVcIixcIkF6ZXJiYWlqYW5cIixcIm5cIl0sXCJCYW5na29rXCI6W1widHJ1ZcKmYXNpYUFiYW5na29rLGNoN2g1aTNqYWthcnRhLG11ZWFuZyBub250aGE4bmEycGFrIGtyZXQsczB1ZG9uIHRoYW5pO2FtdXQgcHJha2FuLGUwaSByYWNoYSxvdXRoIGVhc3QwOyBhc2lhO2tob24gcmF0Y2hhc2ltYSxtIGRpOTtjdCxuZG9jaGluYTA7ISB0aW1lO2EwdWU7aXBob25nLG5vaSx0IHkyO2lhbmcgbTFvbiAwO2J1cmk7YWk7IS8wO3Bobm9tX3BlMHZpZW50aWFuZTtuaFwiLFwiSW5kb2NoaW5hXCIsXCJuXCJdLFwiQmFybmF1bFwiOltcInRydWXCpmEzYjJrcmEwbm9ydGggYTM7c25veWFyc2swdDshIHRpbWU7YXJuYXVsLGl5c2s7c2lhXCIsXCJLcmFzbm95YXJza1wiLFwiblwiXSxcIkJlaXJ1dFwiOltcInRydWXCpmFzaWEsYmVpM2UybDByYSdzIGJheTM7YjBlYmFub247IW47YXN0ZXJuIGV1cm9wZWFuIHRpbWUsZXQsdXJvcGUgZWFzdGVybjtydXRcIixcIkVhc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImxlYlwiXSxcIkJpc2hrZWtcIjpbXCJ0cnVlwqZhc2lhLGJpc2hrZWssazBvc2g7ZzJ5cmd5MDtzdGFuLHpzdGFuMDshIHRpbWU7IXQselwiLFwiS3lyZ3l6c3RhblwiLFwiblwiXSxcIkJydW5laVwiOltcInRydWXCpmFzaWEsYjA7ZHQsbjJyMDtuLHVuZWkwOyEgZGFydXNzYWxhbSB0aW1lOyF0XCIsXCJCcnVuZWkgRGFydXNzYWxhbVwiLFwiblwiXSxcIkNoaXRhXCI6W1widHJ1ZcKmYXNpYSxjaGl0YSx5YWswO3QsdXRzazA7ISB0aW1lXCIsXCJZYWt1dHNrXCIsXCJuXCJdLFwiQ2hvaWJhbHNhblwiOltcInRydWXCpmFzMmNob2liYWxzYW4sZG9ybm9kc8O8a2hiYWF0YXIsbW9uZ29sMnVsYTA7YW5iYWF0YXIwdDshIHRpbWU7aWFcIixcIlVsYWFuYmFhdGFyXCIsXCJuXCJdLFwiQ29sb21ib1wiOltcInRydWXCpmFzNmM0ZGVoaXdhbGEgbW91bnQgbGF2aW42aTJrb2xrYXRhLGxrMW0wbmV3IGRlbGhpLHNyaSBsYW5rYTtvcmF0dXdhLHVtYjQ7IWE7bmRpYTBzdDshIHRpbWUsbjtoZW5uMG9sb21ibzthaTtpYVwiLFwiSW5kaWFcIixcIm5cIl0sXCJEYW1hc2N1c1wiOltcInRydWXCpmE0ZDNlZXQsaDJsYXRhazVzeTA7IXIwOyFpYTthbTNvbXM7YW1hc2N1cyxlaXIgZXogem9yO2xlcHBvLHIgcmFxcTFzMDtpYTthaFwiLFwiRWFzdGVybiBFdXJvcGVhblwiLFwiblwiLFwic3lyXCJdLFwiRGhha2FcIjpbXCJ0cnVlwqZhc2lhR2JEY0JkOWplc3M4a2h1bDdteW1lbnNpbmdoLG5hNHBhM3JhMnMxdDA7YW5nYWlsLHVuZ2k7YWlkOGhpYjR5bGhldDtqc2hhaGksbmc3O2IzbHRhbixyIG5hb2dhb247Z2FyNXIwdDM7YXlhbjBzaW5nZGk7Z2FuajtuYTtvcmU7aGFrYSxpbmFqMDtwdXI7aGF0dG9ncmFtLG8wO21pbGxhLHgncyBiYXphcjthMGQsZ2Qsb2dyYSxzdDtnZXJoYXQsbmdsYWRlc2gwcmlzaGFsOyEgdGltZTshL2RhY2NhXCIsXCJCYW5nbGFkZXNoXCIsXCJuXCJdLFwiRGlsaVwiOltcInRydWXCpmFzaWEsZGlsaSxlYXN0IHRpbW9yMXRsMDshcyx0OyEgdGltZVwiLFwiRWFzdCBUaW1vclwiLFwic1wiXSxcIkR1YmFpXCI6W1widHJ1ZcKmYTVkdWJhaSxnM211czFvbTByYXMgYWwga2hhaW0yc2hhcmoyOyFhbixuO2FmZjBjNTthaDtzdCx1bGYwOyEgdGltZTtidSBkaGFiaSxqbTJyYWJpMnNpYTA7IS9tdXNjMDthdDthblwiLFwiR3VsZlwiLFwiblwiXSxcIkR1c2hhbmJlXCI6W1widHJ1ZcKmYXNpYSxkdXNoYW5iZSx0MDthamlraXN0YW4xajA7IWssdDshIHRpbWVcIixcIlRhamlraXN0YW5cIixcIm5cIl0sXCJGYW1hZ3VzdGFcIjpbXCJ0cnVlwqZhc2lhLGUwZmFtYWd1c3RhLG5vcnRoZXJuIGN5cHJ1czthc3Rlcm4gZXVyb3BlYW4gdGltZSxldCx1cm9wZSBlYXN0ZXJuXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJldTNcIl0sXCJHYXphXCI6W1widHJ1ZcKmYXNpYSxlZXQsZ2F6YTJwMDthbGVzdGluZSxzMDshZTshIHN0cmlwXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJwYWxcIl0sXCJIZWJyb25cIjpbXCJ0cnVlwqZhc2lhLGUwaGVicm9uLHdlc3QgYmFuazthc3QgamVydXNhbGVtLGV0XCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJwYWxcIl0sXCJIb19DaGlfTWluaFwiOltcInRydWXCpmFzaWE3YmllbiBob2EsY2FuIHRobyxkYSA1aG8zbmhhIHRyNnF1aSBuaDhyYWNoIGdpYSxzYSBkZWMsdGhpIHhhIHBodSBteSx2MDtpZXRuYW0xbjB1bmcgdGF1OyFtOyEgc291dGg7IGNoaSAwX2NoaV8wO21pbmg7bGF0LG4wO2FuZzshL3NhaWcwO29uXCIsXCJJbmRvY2hpbmFcIixcIm5cIl0sXCJIb25nX0tvbmdcIjpbXCJ0cnVlwqZhc2lhLGgwa293bG9vbix0c3VlbiB3YW47azNvbmcwOyBrb25nMV9rMGswO29uZzshIHRpbWU7IWcsc3QsdFwiLFwiSG9uZyBLb25nXCIsXCJuXCJdLFwiSG92ZFwiOltcInRydWXCpmFzNGJheWFuLcO2bGdpaWdvdmktYWx0YWlob3ZkdXZzemF2a2hhbixob3Yyd2VzdDA7IDBlcm4gMDttb25nb2wyO2QwdDshIHRpbWU7aWFcIixcIkhvdmRcIixcIm5cIl0sXCJJcmt1dHNrXCI6W1widHJ1ZcKmYTJicmF0M2lyazBub3J0aCBhc2lhIGVhc3QsdWxhbiB1ZGU7dCx1dHNrMDshIHRpbWU7bmdhcjBzaWE7c2tcIixcIklya3V0c2tcIixcIm5cIl0sXCJKYWthcnRhXCI6W1widHJ1ZcKmYVpiVGNSZGVwUWlOaktrZWRpcmksbEptR3BBcmVuZ2FzZGVuZ2tsUXM0dDJ3MHlvZ3lha007ZXN0MGliOyBpbmRvbmVYZXJuIGluZG9uZXNpYSB0aW1lO2EwZWdhbDtuNHNpa21hbDM7ZW1hNGl0dWJvbmRvLG91dGggdGFuM3UwO2thYnVtaSxtZWRhU3JhMDtiMGtGO2F5YTtnZTA7cmFPO2E0ZTFyb2JvbGluZ2dvLHVydzA7YWtBb2tlcnRvO2thMW1hMHJjdXQ7bGFLdGFuZ3NpYW50YXI7bG9uZzJuYmFydTtkYUlsM211bGFJcnVJO2ExZWQwO2FuO2RpdW4sbGFGO2VtYmFFO2EwZW1iZXI7azBtYmksdmFzdW1hdHJhO2FydGE7ZDFuZG9uZXNpYTA7ISB3ZXN0ZXJuOyFuO29rO2kwdXJ1ZzthbXBlYSxiaW5vNWxldW5nc2lyLG1haGkscHV0YXQscmVib247YTFlMGluamFpLG9nb3I7a2FzaSxuZ2t1bHU7bmQwdGFtO2EwdTE7IGFjZWgsciBsYW1wdTA7bmc7c2lhXCIsXCJXZXN0ZXJuIEluZG9uZXNpYVwiLFwic1wiXSxcIkpheWFwdXJhXCI6W1widHJ1ZcKmYTJlYXN0MWluZG9uZXNpYSBlYXN0ZXJuLGpheWFwdXJhLG0wbmV3IGd1aW5lYSx3aXQ7YWx1a3VzLG9sdWNjYXM7IGluZG9uZXMxZXJuIGluZG9uZXNpYSB0aW1lO21ib24sczA7aWFcIixcIkVhc3Rlcm4gSW5kb25lc2lhXCIsXCJzXCJdLFwiSmVydXNhbGVtXCI6W1widHJ1ZcKmYXM3YmVlcnNoZWJhLGhhaWZhLGkyajBwZXRhaCB0aXF3YSxyaXNob24gbGV6aXl5b24sdGVsIDl3ZXN0IGplMTtlMG10O3J1c2FsZW07ZDNsLHMwO3IwdDshYWVsMDshIHRpbWU7ZHQsdDtoZG9kLGlhMDshL3RlbF8wO2F2aXZcIixcIklzcmFlbFwiLFwiblwiLFwiaXNyXCJdLFwiS2FidWxcIjpbXCJ0cnVlwqZhMWhlcmF0LGphbGFsYWJhZCxrYTBtYXphciBlIHNoYXJpZjtidWwsbmRhaGFyO2Ywc2lhOyFnMHQ7IWhhbmlzdGFuMDshIHRpbWVcIixcIkFmZ2hhbmlzdGFuXCIsXCJuXCJdLFwiS2FtY2hhdGthXCI6W1widHJ1ZcKmYTJrYW1jaGF0a2EscGV0MDtyb3BhdmxvdnNrMHQ7IGthbWNoYXRza3ksLWthbWNoYXRza2kgdGltZTtuYWR5cixzaWFcIixcIlBldHJvcGF2bG92c2stS2FtY2hhdHNraVwiLFwiblwiXSxcIkthcmFjaGlcIjpbXCJ0cnVlwqZhc2lhLGJMY2hpbmlLZGVyYSBnaGF6aUlmYWlzYWxIZ3VqcmFHaHlkZXJIaXNsYW1Iamhhbmcgc2FkcixrRWxhRG04bmF3YWJzaGFoLG9rYUJwNHF1ZXR0YSxyYTNzMDthMWgwaWFsa0p1a2tOO2Foa0lla2h1cHU5O2RkaXFFaGl3YWwscmdvZGhhO2hpbSB5YXJFd2FscGluZGk7YWsxZXNoYXdhcixrMDshdDshaXN0YW4wOyEgdGltZTthM2kxdTA7bHQ5emFmZmFyNztuZ28wcnB1ciBraGFzO3JhO2xpciBjYW50b25tZW50LHJkNjtob3JlLHJrYW5hO2Ewb3RsaTttb2tlLHJhY2hpLHM4O241dDthYmFkOyBraDA7YW47b3Q7YTFoaW1iZXIsdXJlMDt3YWxhO2hhd2FscDB0dGFncmFtO3VyXCIsXCJQYWtpc3RhblwiLFwiblwiXSxcIkthdGhtYW5kdVwiOltcInRydWXCpmFzaWEzYmlyYXRuYWdhcixrYXRoNG4xcDA7YXRhbixva2hhcmE7ZXBhbCxwMDshbCx0OyEva2F0MDttYW5kdVwiLFwiTmVwYWxcIixcIm5cIl0sXCJLaGFuZHlnYVwiOltcInRydWXCpmFzaWEsa2hhbmR5Z2EseWFrMDt0LHV0c2swOyEgdGltZVwiLFwiWWFrdXRza1wiLFwiblwiXSxcIktvbGthdGFcIjpbXCJ0cnVlwqYwOjNEOzE6M0w7MjoyRDszOjNNOzQ6M0o7YTM1YjJEYzI0ZDFXZTFVZjFTZzFGaDFDaTE4ajEzazBQbDBLbTBDbjA1b2RpczNLcFZxdXRoYnVsbDNEck5zRnQ5dTh2NXdhcmFuZzJNeWFtdW4xUDthNmVsMVVpNTtqYXlhd2EyVnNha2hhMEh6aWFuYWdDO2RvZGEyT3JhbmExMTtkYWlwMGpqYTIzbGhhc24xdHRhciBwcmFkZXNoO2E4ZVhoN2lydTV1bWswO2NoaXJhcDBNbmVsdmUycDV2b3R0aXkwO2EzOXAwO2FuZSxpcnV2YW5hbnRoYXB1cjBOb290aHVrdTJZcmlzczA7bWI1bmpvMVg7YXIwTDthQmVjdW5kZXI0aDlpOGxzdCxvN3IxRnU1O2phbjM3cjU7YXQsZW5kcjFDO2wyWm5pcDJOO2szbGlndUtuZ3JhdTJySjthaGoxWmk1cmkyT3lhMEw7bW8xTXZhamkwNztoYXIxWGxlbSxtYmgyNG5nMnQwNHVnMFk7YTZlMEVvaDU7aUl0YWs7ZWJhcmUyaTlqN201bmMxR3RsMEF1cmtlMzc7YWc1ZzVwMDt1bmQwODthNWtvdDtobXVuZDI2c3RoMkE7Y2gwcDA7YTlpbXA4cm9kZGF0MHU1O2R1Y2hlcjIzbjVybjE3O2E1ZTtzYTtyaTtsaSxuN3JiaGE2dDU7aWEyVm5hO25pO2Noa3UyVGk1O2hhMkdwMjE7YTdlNml6YW00bzU7aTFWd3JhbmcyQjtsMFN3IGRlbDBZO2RpMktnN2kwRWphZjJGbjVyZTJPc2hpayx2aSBtdW1iMTU7ZGVkLGc1O2ksbG9pIGoxVjtlcmNvaWwscDA7YThlZXJ1dCxpcnoyNW83dTV5c28wWTtsdWd1LG1iMTByd2ExSXphZmZhcjU7bjFwMDtuZ2h5cixyYWQ0O2NoaWxpN2Q2aGFyYXNodDFGbGVnMDduNXRodTFGdTtnYTBJaXAwO2h5YSx1cjBWO3BhdG5HO2E3dTU7Y2tub3csZGhpYTU7bmE7bCBiYWhhZHVyNXQwOyBuMTthRGhhQm84dTU7a2F0Nmx0NXJubzFQO2EyaTtwYWwyO2w1cld0YSx6aGlrb2RlO2gxTmthMUtsNTthbTtuZDVyYWdwMDt3YTtraW5hMTNsOG1hck9ucDByNXNobWlyLHRpaDM7aTZuYTVvbCBiYTE4O2wsdFY7bW4xO2xha3VyaWMwM3kxMTthNmhhbjVvZE51bmFnYWRoO3NpO2IwUmlwMGw2bTU7bXUsbjFzaGVkcDA7YW5kaDNnR25hO2NoYWxrYXJhbmppLG1waDBJbjVzdDshZDU7IWlhNW8wMDshIHRpbWUsbjthNmlzM29zcGV0LHU1O2IyZzI7bzBIcDByaWR3MzthQ2hhemk0bzlyZWF0ZXIgbm9pME11NndhbGk1eTA0O29yO2phcjBPbGJhclFudDByZzZ3YTU7aGExMjthb247cmFrNnNhNTtiYTtocDA7anV3OG41eWE7ZGg2ZzU7YW4xO2luMTtha2E7YXI1aXJvejQ7aWQ0cnVraDQ7bDV0YXcwTTtsb0Y7YUFlOGg2aW5kaWd1bCxvbWJPdXJnNTshYXAwO2FuYjBVdWw1O2lhO2hyYSBkdW4sbDV3YXM7aGk7cmJoYW41dmFuZ2U4O2dhO2EwOWg4bzV1dHRhY2s7Y2g2aW1iYXRvNTtyZTtpbjthNmVubjU7YWk7bmQ1cEw7YTVpMEM7IW5uMTthTmVLaEJpOW9yN3JhaG0wNHU1O2xhbmRzaGFocixyaDU7YW5wMDtpdjI7bGk7ZDNoYXIgc2hhcmlmLGpaa2FuMDdsNTthc3AwaW1vQzthQWk3b3A2dTU7YmFuZXNodzNzYXY1O2FsO2w2d2FuNTtkaSxpO2FpLHdhNjtnNnJhdHAwdHBhNXZuMXlhbmQzO3JhO2FscDA7bDVuZ2FsdXJ1O2dhdW0sbGE1O3J5O2hBbGkscjZ0aGluNTtkYTthNmRkaGFtNWVpbGx5O2FuO24xczU7YXQ7YTZyYWk1O2doO3JhbXAwO2dRaG1MaXphd2wsam1La29SbEhtRG5hbnRDcnJCczZ1cmFuZzR2YTU7ZGk7YW5zOGlhNTshL2NhNTtsY3V0NTt0YTtvbDthaDthcDA7YXJuYXRoLGJhdHQwcjU7YXZhNWl0czNvOTt0aTt1cjthcHB1ejZpNWxhaDR3MztnYXJoO2hhO2VyO2FkbjFlZDQ7YWI1O2FkO2FnMzthcjthcnRhNXJhO2xhXCIsXCJJbmRpYVwiLFwiblwiXSxcIktyYXNub3lhcnNrXCI6W1widHJ1ZcKmYTJrcmEwbm9ydGggYTI7c25veWFyc2swdDshIHRpbWU7c2lhXCIsXCJLcmFzbm95YXJza1wiLFwiblwiXSxcIkt1YWxhX0x1bXB1clwiOltcInRydWXCpmFIYnVraXQgbWVydGFqR2dlb3JnZSB0b3duLGlwb2gsam9ob3IgYmFoRms4bTRwZXRhbGkzczB0YWlwaUU7ZTFoYWggYWxGdTA7YmExbmdhaSBwZXRhbmk7cGFCcmVtYjc7bmcgamF5YTthbGExeTA7IXMsdDtjY2EseXNpYTA7ISB0aW1lO2FtcHVuZyBiYXJ1IHN1YmE1bGE1b3RhIGJoYTZ1YTA7bGExbnQwO2FuOyAwX2wxO2wwdGVyZW5nZ2FudTt1bXB1cjtuZztydTthbTtsb3Igc2V0YXIsc2lhXCIsXCJNYWxheXNpYVwiLFwic1wiXSxcIkt1Y2hpbmdcIjpbXCJ0cnVlwqZhc2lhLGs0bTJzMHRhd2F1O2EwaWJ1O2JhaHNhcmF3YWssbmRha2FuO2FsYXlzaWEwaXJpLHl0OyEgdGltZTtvdGEga2luYWJhbHUsdWNoaW5nXCIsXCJNYWxheXNpYVwiLFwiblwiXSxcIk1hY2F1XCI6W1widHJ1ZcKmYXNpYTZiZWlqaTVjMmhvbmcga281bTB1cnVtcWk7YWMwbzshYXU7aDBzdDtpbmEwb25ncWkxOyEgdGltZTtuZzshL21hY2FvXCIsXCJDaGluYVwiLFwiblwiXSxcIk1hZ2FkYW5cIjpbXCJ0cnVlwqZhc2lhLG1hZzA7YWRhbjB0OyEgdGltZVwiLFwiTWFnYWRhblwiLFwiblwiXSxcIk1ha2Fzc2FyXCI6W1widHJ1ZcKmYXNpYUJiYThjNWRlbnBhNGluZG9uZXNpYSBjZW50cmFsLGszbDJtYTFwYWx1LHMwd2l0YTthbWFyaW5kYSx1bGF3ZXNpO2thczJuYWRvLHRhcmFtO2FidWFuIGJham8sb2EgamFuNztlbmRhcmksdXA4O3NhcjtlMGl0eSBvZiBiYWwzO2xlYmVzYmFsaW51c2EsbnRyYWwgaW5kb25lc2lhMDshIHRpbWU7bDBuamFybWFzaW47aWtwYXAwO2FuOyEvdWp1bmdfcGFuZDA7YW5nXCIsXCJDZW50cmFsIEluZG9uZXNpYVwiLFwic1wiXSxcIk1hbmlsYVwiOltcInRydWXCpmEwNGJXY1JkYVBnZW5lcmFsIHNhbnRPaU1sSm1DbmFCb0FwNHF1ZXpJc2FuMXRhMHphbWJvYW5nYTtjbG9iWmd1aWcscmxhYyx5dEU7IDF0MDthIHJvMm9sO2Zlcm5hbmRvLGpvc2UgZGVsIG1vbnRlLHBhYjAyO2EzaDF1ZXJ0byBwcmluY2UwO3NhOyFpbGlwcGluZTBsLHN0LHQ7IHRpbWUscztnYWRpUm5hbGFub3ksczA7YXksaWc7bG9uZ2FwbyxybW9jO2dhLHZvdFE7YTBleWNhdWF5TjtiYWxhY2F0LGd1Z3BvIHBvYmxhY2k0a2F0aSxsM24wO2RhMWlsYSxzaWxpbmdMdGFtcDA7YXk7bHV5b25nLHVlO2luZ0RvbDY7b247YTFlZ2FzcGksaTB1Y2VuYTtiZXJ0YWQscGE7cHUgbGFwdSxzIHA0O2wwbXVzO2lnQ29pSTtvcztzbWFyMHY1O2luQjthMGVidSxvdGFiYXRvO2IxZ2F5YW4gZGUgb3JvLGluNWwwO2FtYmEsb29jNjthbmF0dTV1eTA7YW87YTRpbmFuMnUwO2QwdHUyO3RhOyFnb24wO2FuO2NvMWd1aW8sdGFuZzA7YXM7bG9kLG9yO24wc2lhO2dlbGVzLHRpcG8wO2xvXCIsXCJQaGlsaXBwaW5lXCIsXCJuXCJdLFwiTmljb3NpYVwiOltcInRydWXCpmE1Y3kzZTBuMjthc3Rlcm4gZXVyb3BlYW4gdGltZSxldCx1cm9wZTA7IGVhc3Rlcm4sL24wO2ljbzI7IXAwOyFydXM7c2lhXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJldTNcIl0sXCJOb3Zva3V6bmV0c2tcIjpbXCJ0cnVlwqZhNWsybm8wcHJva29wJ3lldjE7cnRoIGE0dm9rdXpuZXQwO3NrO2VtZXJvdm8scmEwO3Nub3lhcnNrMHQ7ISB0aW1lO3NpYVwiLFwiS3Jhc25veWFyc2tcIixcIm5cIl0sXCJOb3Zvc2liaXJza1wiOltcInRydWXCpmFzM25vMHNpYmVyMztydGggY2VudHJhbCBhczJ2MDtvc2liaXJzazB0OyEgdGltZTtpYVwiLFwiTm92b3NpYmlyc2tcIixcIm5cIl0sXCJPbXNrXCI6W1widHJ1ZcKmYXNpYSxvbXMwO2swdDshIHRpbWVcIixcIk9tc2tcIixcIm5cIl0sXCJPcmFsXCI6W1widHJ1ZcKmYTJrYXpha2hzdGFuIHdlc3Rlcm4sb3JhbCx0YXNoa2VudCx3ZXN0IDA7YXNpYSxrYXpha2hzdGFuMDshIDQ7bG0xczA7aGdhYmF0LGlhO2EwdDsgYXRhLC1hdGEgMDt0aW1lXCIsXCJXZXN0IEthemFraHN0YW5cIixcIm5cIl0sXCJQb250aWFuYWtcIjpbXCJ0cnVlwqZhc2lhLGIyaW5kb25lc2lhIHdlc3Rlcm4scG9udGlhbmFrLHRhbmp1bmcgcGluYW5nLHcwO2VzdDBpYjsgYjBlcm4gaW5kb25lc2lhIHRpbWU7b3JuZW9cIixcIldlc3Rlcm4gSW5kb25lc2lhXCIsXCJuXCJdLFwiUHlvbmd5YW5nXCI6W1widHJ1ZcKmYXNpYSxjaG9uZ2ppbixoN2s0bjNwMnMwd29uODthcml3MGVvdWwsaW51aUF1bmNoJzA7b247cmsseW9uZ3lhNzthbXAnbyxvcnRoIGtvcmVhO2Exb3JlYTBwLHN0OyFuIHRpbWU7ZXNvM25nZ3llO2ExdW5nbmFtLHllMDtzYW47ZTFtaHUwO25nO2p1XCIsXCJLb3JlYW5cIixcIm5cIl0sXCJRYXRhclwiOltcInRydWXCpmEyZG9oYSxrdXdhaXQscWEwcml5YWRoOyF0MDshYXI7cjJzMDtpYTB0OyEvYmFocmFpbjsgcmF5eWFuLGFiMDshaTA7YTBjOyFuMDshIHRpbWVcIixcIkFyYWJpYW5cIixcIm5cIl0sXCJRb3N0YW5heVwiOltcInRydWXCpmEyY2VudHJhbCBhc2lhLGVhc3Qga2F6YWtoc3RhbiB0aW1lLGswcW8xO2F6YWtoc3RhbiBlYXN0ZXJuLG8wO3N0YW5heTtsbXQsczA7aWEsdGFuYVwiLFwiRWFzdCBLYXpha2hzdGFuXCIsXCJuXCJdLFwiUXl6eWxvcmRhXCI6W1widHJ1ZcKmYTRrMXF5MnRhc2hrZW50LHdlc3QgMDthc2lhLGthemFraHN0YW43O2F6YWtoc3RhbiB3ZXN0ZXJuLHkwenlsLTE7enlsMDtvcmRhO2xtMXMwO2hnYWJhdCxpYTthMHQ7IGF0YSwtYXRhMDsgdGltZVwiLFwiV2VzdCBLYXpha2hzdGFuXCIsXCJuXCJdLFwiUml5YWRoXCI6W1widHJ1ZcKmYTlidXJheWQ4ZGFtbWFtLGhhN2plZGQ4azZtZTVuYWpyYW4scml5YWRoLHM0dGEzeTA7YW5idSxlMDshbTA7IWVuOydpZixidWs7dWx0YW4zeW90O2NjYSxkaW5hO2hhbWlzIG11c2g2dXc2OydpbCxmYXIgYWwgYmF0aW47YWg7YmhhLGwgOG50YXJjdGljYS9zeW93YSxyYWI0czA7aWEwdDshLzA7YWRlbixrdXcwO2FpdDshaTA7YTBjOyFuMDshIHRpbWU7aHVmdWYsanViYXlsLGtoYXJqLG11YmFycmF6XCIsXCJBcmFiaWFuXCIsXCJuXCJdLFwiU2FraGFsaW5cIjpbXCJ0cnVlwqZhc2lhLHNhazB5dXpobm8gc2FraGFsaW5zaztoYWxpbjB0OyEgMDtpc2xhbmQsdGltZVwiLFwiU2FraGFsaW5cIixcIm5cIl0sXCJTYW1hcmthbmRcIjpbXCJ0cnVlwqZhc2lhLGJ1a2hhcmEsbnVrdXMscWFyc2hpLHNhbWFya2FuZCx1ejA7YmVraXN0YW4wdDshIDA7dGltZSx3ZXN0XCIsXCJVemJla2lzdGFuXCIsXCJuXCJdLFwiU2VvdWxcIjpbXCJ0cnVlwqZhUGJ1TWNoSGRhZUdnQ2h3YXNlb1JpQmplQWs3bTZwb2hhRnJvayxzMnUxd29uSnkwO2FDZW9zdTtpamVvbmdidVFsc0w7ZTFvdXRoIGtvcmVhLHUwO25Fd0g7am9BbzA7bmduYW1NdWw7YXNHb2twbztpbWhhZSxvcjByLHN0LHdhbmdteW83OyFlYTA7IW4gdGltZTtqdSxvbjg7Y0Nrc0JuNjthbmduZXUyb3lhRXUxd2EwO25nNTttaSxuczhyaUQ7bmc7Z3UsamU0O2FuZ3czZW9uMmluMXVuMDtjaGUyO2p1O2FuLGdqdTc7b247YzFzMDthbjtoZW9uMztuMHNpYTtzYW4xeWEwO25nMDsgc2lcIixcIktvcmVhblwiLFwiblwiXSxcIlNoYW5naGFpXCI6W1widHJ1ZcKmMDozSjsxOjM2OzI6MzQ7MzozNzs0OjNEO2EzQ2IzMWMyTmQySGUzMGYyQ2cyNmgxUWppMUVrMUJsMFltMFduMFRvcmRvcyxwMFBxMExyaXpoMTBzMDh0MDF1M0Z3U3hMeUV6NTthb0NoNmk1b3VjM3VueWk7Ym8sZ28wO2E3ZW42b3VrMnU1OyBjM2gzMW1hV3poMjtnMlZqMUl6aDI7YjFWbmc1bzNFO2ppYWtvdTV6aDI7ISBzaGkgeHVhbmh1YSBxdTt5YTB6Mjc7YW45aTd1NTtjaSxlMThuNTtjM2Z1O2I0YzluNXlhMDtjWmdrMjtjM2c1amksdDJRO2oxN3F1MXNoMTZ6aDI7aTZ1YzU7aGEwO2E2bjV1eWkwO2RpLGd0MkxoMUdpMHB1LHQyTHgxM3lhMDttMTduNTshZzVuaTB0MEV5YTA7dDF5YTA7YUJlOXU1O2g2c28wdzFDeDV6aDI7aSx1ZTthNXU7aSxuO2kwSG41O3NoMXpoMjtmYW5nNW54aTE7ZGkxO2E4aTZvbmc1O2NodWFuczBYaERsaTAyc2gxO2FuNWVsaTA7ajRzaDEwO2k2bmc1O2d1LHNoMTthbixoZWMxV3l1MXpoMjthbm1pMGhBaTh1NTtpNXpoMjtoNXpoMjt1YTtjNXBpMDtodTE7YTdlbjZpNXVhbmd5YTE0O2ppYXoxNXFpLHkxO2dsaSx5YTB6aDBHO242bzVzMEk7Z3UxeGkwO2c1dDI7aDFQcWl1LHJLeXU7aTV1YW4xSjthRm41bzE0cWloMVk7ZzVodWFuZ2RIO2RHaDFMO2FuMFRpbmc3cmMsdTU7dGkxeWFuZzU7ISBIO2RpbmcwUXhaO2FuNWVpallpbmdibztjaDVqaTBuaTB0bzB5YTA7YTBvMDtlbnRvdWcyaWFuUnVkYTU7bmpVO2FFaTh1NTthbmMzbzZxaTU7YW87aGUseWEwO2E3alBuNXVwYW5zaDAyO2ZUeGlhIDV5aTtjaGVuZ2d1YW5JO24wRG81O2MzeTU7YTB1MTtpMFduNW9oZWsyO2c1emgyO2ZhMDthaTZ1bjU7bWkwc2gxO2ZlMHl1MTsnMWFBZTlsNG42dTV4aTtqQ3QwVTthbixjM2c1aTB6aDI7ZGU1bGkwemgyO3poRTt5YTA7bXVzaSxuOG81eGkwO2o2ejU7dW87aWEwO2c1c2hHO203eGk7YUdlQ2t0LG9CdTU7YTZpMERsYW4gZXJnaSxtNW4xO2VuO2k3bmc1eTQ7Z2EwczU7aGk7JzFiOW4xO2hob3Qsbmcga28wO2JpLGY3Z2Ewbmc1emU7c2g1eWEwO3VpO2VpO2k3bjVyYjQ7ZDFnNTt1LHpoMjtjM2sybDBGO2E5dTU7YW42aTVsaTtsNHlhMHpoMjtnNWsyO2RvMHl1MXpoMjtuc3Usb3BpMDtlbjdvNnU1O2ppMXNoUXg0emgyO3NoMTtkMmc1O2h1YTA7YTZlTm9uZzU7Z3UxaFI7ZDZsaWFuNW5kbzBxaTB0bzA7IWc7bzV1azI7bmdoTjthbmdIaDVuLHN0LHQ7YUFlbjdpNW4sb1p1RztmZTBuYTU7ISB0aW1lO2c1emgyO2Q1emhvMDtlLHU7bmc2bzU7eWEwemgyO2NoN2RlLHNoNnpoNTtpLG91O2EsdTt1bjt6aDI7YTllNTtpNm41O2didSx4aTsnMWg1amkwO2FpO2k3bzV5YW4gbnVyO2RpMHQyO291O2Mzc2gxeTQ7YW47aGUwO25Ec2lhNTshLzU7Y2g4aGFyYjRrYXNoZzZ1NTtydW1xaTthcjtpbjtvNXVuZ2tpMDtuZzU7cWkwO2RhLHFpMHNoNXlhMDthbix1bjtuZ1wiLFwiQ2hpbmFcIixcIm5cIl0sXCJTaW5nYXBvcmVcIjpbXCJ0cnVlwqZhc2lhLGt1YWxhIGx1bXB1cixzMHdvb2RsYW5kcztnMGluZ2Fwb3JlOyFwLHRcIixcIlNpbmdhcG9yZVwiLFwic1wiXSxcIlNyZWRuZWtvbHltc2tcIjpbXCJ0cnVlwqZhc2lhLGNob2t1cmRha2gsc3JlMDtkbmVrb2x5bXNrLHRcIixcIlNyZWRuZWtvbHltc2tcIixcIm5cIl0sXCJUYWlwZWlcIjpbXCJ0cnVlwqZhc2lhLGJhbnFpYW8sY3N0LGg3azVyb2MsdDA7YTF3MDshbjtpMG95dTE7Y2gybjBwZWksdzA7YW47YW9oc2kwZWVsMDt1bmc7c2luY2h1LHVhbGllblwiLFwiVGFpcGVpXCIsXCJuXCJdLFwiVGFzaGtlbnRcIjpbXCJ0cnVlwqZhM25hbWFuZ2FuLHFvYHE0dGFzaGtlbnQsdXowOyFiMHQ7IWVraXN0YW4wOyEgZWFzdDtuZGlqMHNpYTtvblwiLFwiVXpiZWtpc3RhblwiLFwiblwiXSxcIlRiaWxpc2lcIjpbXCJ0cnVlwqZhc2lhLGdlMWt1dGEwdGJpbDA7aXNpOyFvMHQ7IXJnaWEwOyFuXCIsXCJHZW9yZ2lhXCIsXCJuXCJdLFwiVGVocmFuXCI6W1widHJ1ZcKmYVFiTWdvcmdXaGFtVmlLa0NtYUJuOG9ydW1peTdwYXNyYWdhZCBicmFuY2gscTRyYXNodCxzMnQxdmFyYW02eWF6ZCx6YTA7aGVkVm5qVjthYkhlaHJVO2EwaGlyUmlyalQ7YnpldmFyLG5hbmRFcmksdjM7YTBvbTtyY2hhayx6djA7aW47ZWg7YTBleXNoYWJ1cjtqYWYwemFyMDthYjQ7bGF5ZXIsc2hoMzthNGVybWFuM2hvMDttZXluaSBzRHJyYW0wd3k7YWIwc0M7YWQ7IXNoYWg7aDFyMDthajtyaXo7cjBzZmFoQjshYW4sZHQsbixzdDthMmlyamFuZCxvMHVrOTtqbnUwcnVqZTA7cmQ7YjNuZGFyIGFiYmFzO2I0aHYzbTJyMXNpYSx6YWRzMDtoYWhyO2FrLGRhYmlsO29sO2F6O2FkMDthblwiLFwiSXJhblwiLFwiblwiXSxcIlRoaW1waHVcIjpbXCJ0cnVlwqZhc2lhMmIwdGhpbXBodTtodXRhbix0MDshbjshL3RoaW1idVwiLFwiQmh1dGFuXCIsXCJuXCJdLFwiVG9reW9cIjpbXCJ0cnVlwqYwOjExOzE6MUE7MjoxMDthMThjaDE2ZnUwWmdpZnUxNGgwT2kwSWowRmtabVRuTW9Lc0Z0OXU4d2FrYTA1eTM7YTZvMztrM25vO2thaWMxQ28zO2hhMnN1MDttYUtvO2ppLHRzdW4wRjtha2E3bzNzdWt1YmE7azVtYWtvbTA1eTM7YTJvMztoT25hMHRhO29ybzAzdXMwUXlvO20wSnJhenUwc2ExdHN1MTthNWVuZDAwaGk0bzB1MztpMTB6dTA7bW9ub3NlMXp1bzA7aXRhMmszcHBvTHNlYm87YWksdTA2O2Rhd2EwNWkwV2thM3NhMHQwRTt5YTJ6YTE7YTZleWFnYTBRaTN1bWF6dTtpNHNoaTM7IHRva3lvMElub21peWEgaGEyO2dhMFI7ZzNoYSxyYTBHO2Ezb1g7bm8sbzBzYTE7YTVpM29yaW8wO25hM3RvLHlhemExO21pcmlua090bztjaGlEZWI0dHN1MztkbyxtOHlhMjthczBKO2FCaTlvN3UzeTY7bWFtNXI0c2hpMztybzthc2hpMWUsdW1lO290bztiZSxjMERmdSxyaTNzaGlnYUs7eWEyO3NoaXdhM3Rha3l1c2h1O2RhO2dvc1Zrb2dhd2FjaG8gaG9ubUttaXJlbmpha3UsbmE4czV3YTM7ZzNzYTE7b2UsdWMwNztoaTAxdTM7ZzNrYWJlO2FpO3phWTthcDRkdCxvZXRKcDNzdDshbjthbjtiYXJhMWNoaTR0YTN3YTF6dTM7bWk7aGE1bjM7b21pMzt5YTtyYTthOGkzb25jaG87bWVCcjR0MzthY1I7YTRvczM7YTFoaTI7a2FOdHN1MDtjaGk1a29kYXRlLG1hbTM7YXQzO3N1O25vaGUsbzM7amk7amk4a3UzO2k2bzBzM3lhMjtoaTI7bWE7a2E7IHNEOyFzYTc7aTNvZnU7YmEsZzY7Z2Vvc2hpbW8sazdtYWc1bmpvLG9tb3JpLHMzdHN1Z2k7YWhpa2EzaWE7d2E7YXNhMTtraTthczRpMzt0YTtoaVwiLFwiSmFwYW5cIixcIm5cIl0sXCJUb21za1wiOltcInRydWXCpmFzaWEsb21zMHRvbXNrO2ssdFwiLFwiT21za1wiLFwiblwiXSxcIlVsYWFuYmFhdGFyXCI6W1widHJ1ZcKmYXNpYTNtMXVsYTA7YW5iYWF0YXIsbiAzdDtuMG9uZ29saWE7IWc7IS91bGFuXzA7YmF0b3JcIixcIlVsYWFuYmFhdGFyXCIsXCJuXCJdLFwiVXN0LU5lcmFcIjpbXCJ0cnVlwqZhc2lhLHVzdC1uZXJhLHZsYTA7ZGl2b3N0b2ssdFwiLFwiVmxhZGl2b3N0b2tcIixcIm5cIl0sXCJWbGFkaXZvc3Rva1wiOltcInRydWXCpmFzaWEsazF2bGEwO2Rpdm9zdG9rLHQ7aGFiYXJvdnNrMG9tc29tb2xzayBvbiBhbXVyOyEgdnRvcm95XCIsXCJWbGFkaXZvc3Rva1wiLFwiblwiXSxcIllha3V0c2tcIjpbXCJ0cnVlwqZhc2lhLGJsYWdvdmVzaGNoZW4xeWFrMDt0LHV0MDtza1wiLFwiWWFrdXRza1wiLFwiblwiXSxcIllhbmdvblwiOltcInRydWXCpmFzaWE0YjNreWFpbiBzZWlrZ3lpIHRvd25zaGlwLG0wbmF5IHB5aSB0YXcscGF0aGVpbixzaXR0d2UseWFuZzU7YTFlaWt0aWxhLG0wb255d2E7IXIsdDtuZGFsYXksd2xhbXlpbmU7YWdvLHVybWE7IS9yYW5nbzA7b25cIixcIk15YW5tYXJcIixcIm5cIl0sXCJZZWthdGVyaW5idXJnXCI6W1widHJ1ZcKmYXNpYSxjaGVseWFiaW43ZWthNWs0bWFnbml0b2dvcjduaXpobjNvcjJwZXJtLHMxdHl1bWVuLHVmYSx5ZWswemxhdG91c3Q7YTR0O3RlcmxpdGFtYWssdXJndXQ7ZTNzaztldmFydG92M3kgdGFnaWw7YW1lbnNrIHVyYWwnc2tpeSx1cmdhbjt0ZXJpMDtuYnVyZztza1wiLFwiWWVrYXRlcmluYnVyZ1wiLFwiblwiXSxcIlllcmV2YW5cIjpbXCJ0cnVlwqZhMGNhdWNhc3VzLHllcmV2YW47bTJybTBzMTshZW4wO2lhOyF0XCIsXCJBcm1lbmlhXCIsXCJuXCJdfSxcIkF0bGFudGljXCI6e1wiQXpvcmVzXCI6W1widHJ1ZcKmYTBobXQ7dGxhbnRpYyx6bzA7cmVzLHN0LHRcIixcIkF6b3Jlc1wiLFwiblwiLFwiZXUwXCJdLFwiQmVybXVkYVwiOltcInRydWXCpmEyYjA7ZXJtdWRhLG0wOyF1O3N0LHQwOyFsYW50aWNcIixcIkF0bGFudGljXCIsXCJuXCIsXCJ1c2FcIl0sXCJDYW5hcnlcIjpbXCJ0cnVlwqZhdGxhbnRpYyxjYW5hcnkxZXVyb3BlIHdlc3Rlcm4sbGFzIHBhbG1hcyBkZSBncmFuIGNhbmFyaWEsc2FudGEgY3J1eiBkZSB0ZW5lcmlmZSx3ZTA7c3Rlcm4gZXVyb3BlYW4sdDshIGlzbGFuZHNcIixcIldlc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImV1MVwiXSxcIkNhcGVfVmVyZGVcIjpbXCJ0cnVlwqZhdGxhbnRpYyxjMDthMXB2LHYwOyF0O2JvIHZlcmRlMHBlIHZlcmRlOyEgaXNcIixcIkNhcGUgVmVyZGVcIixcIm5cIl0sXCJGYXJvZVwiOltcInRydWXCpmF0bGFudGljMmYwO2Fyb2UwbyxybzshIGlzbGFuZHM7IS9mYWVyb2VcIixcIldlc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImV1MVwiXSxcIk1hZGVpcmFcIjpbXCJ0cnVlwqZhdGxhbnRpYyxldXJvcGUgd2VzdGVybixtYWRlaXJhMXdlMDtzdGVybiBldXJvcGVhbix0OyEgaXNsYW5kc1wiLFwiV2VzdGVybiBFdXJvcGVhblwiLFwiblwiLFwiZXUxXCJdLFwiUmV5a2phdmlrXCI6W1widHJ1ZcKmYXRsYW50aWMsY29vcmRpbmF0ZWQgdW5pdmVyc2FsM2cyaTByZXlramF2aWssdXRjLHp1bHU7Y2VsYW5kLHMwOyFsO210LHJlZW53aWNoIG1lYW4wOyB0aW1lXCIsXCJHcmVlbndpY2ggTWVhblwiLFwiblwiXSxcIlNvdXRoX0dlb3JnaWFcIjpbXCJ0cnVlwqZhdGxhbnRpYyxnczFzMDtncyxvdXRoIGdlb3JnaWE7IXRcIixcIlNvdXRoIEdlb3JnaWFcIixcIm5cIl0sXCJTdGFubGV5XCI6W1widHJ1ZcKmYXRsYW50aWMsZjBzdGFubGV5O2Fsa2xhbmQxazBsazshc3QsdDshIGlzbGFuZDA7IXNcIixcIkZhbGtsYW5kIElzbGFuZHNcIixcInNcIl19LFwiQXVzdHJhbGlhXCI6e1wiQWRlbGFpZGVcIjpbXCJ0cnVlwqZhMmNlbjBzb3V0aCAxOyAwdHJhbCAwO2F1c3RyYWxpYTtjMmRlbGFpZGUsdXN0cmFsaWEwOyEgMC9zb3V0aCxuIDA7Y2VudHJhbDtkdCxzdCx0XCIsXCJDZW50cmFsIEF1c3RyYWxpYVwiLFwic1wiLFwiYXVzXCJdLFwiQnJpc2JhbmVcIjpbXCJ0cnVlwqZhMWJyaXNiYW5lMGdvbGQgY29hNWxvZ2FuLHE0dG93bnN2aWxsZTshIHRpbWU7ZTN1c3RyYWxpYTA7IS9xMW4gZWFzdDA7IWVybjt1ZWVuc2xhbmQ7c3RcIixcIkJyaXNiYW5lXCIsXCJzXCJdLFwiQnJva2VuX0hpbGxcIjpbXCJ0cnVlwqZhMWJyb2tlbl9oaWxsLGNlbjB5MzsgYXVzdHJhbGlhIHN0YW5kYXJkIHRpbWUsdHJhbCBhdXN0cmFsaWE7YzJkZWxhaWRlLHVzdHJhbGlhMDshIGNlbnRyYWwsL3kwO2FuY293aW5uYTtzdCx0XCIsXCJDZW50cmFsIEF1c3RyYWxpYVwiLFwic1wiLFwiYXVzXCJdLFwiRGFyd2luXCI6W1widHJ1ZcKmYTBkYXJ3aW4sbm9ydGhlcm4gdGVycml0b3J5O2NzdCx1c3RyYWxpYTA7IS9ub3J0aCxuIGNlbnRyYWxcIixcIkF1c3RyYWxpYW4gQ2VudHJhbFwiLFwic1wiXSxcIkV1Y2xhXCI6W1widHJ1ZcKmYTBjdzRldWNsYTtjdzR1czA7IGNlbnRyYWwgdzF0cmFsaWEwOyFuIGNlbnRyYWwgd2VzdGVybjshZTA7c3Q7ZHQsc3QsdFwiLFwiQXVzdHJhbGlhbiBDZW50cmFsIFdlc3Rlcm5cIixcInNcIl0sXCJIb2JhcnRcIjpbXCJ0cnVlwqZhMGNhbmJlcnJhLGVhc3Rlcm4gYXVzdHJhbDVob2JhcnQsa2luZyBpc2xhbmQsbWVsYm91cm5lLHN5ZG5leSx0NDtlOHVzMDsgZWFzdDV0cmFsaWEwOyEgMy8wbiAzO2N1cnJpZSx0MDthc21hbjA7aWE7ZWFzdGUxOyFlMDtybjtkdCxzdCx0XCIsXCJFYXN0ZXJuIEF1c3RyYWxpYVwiLFwic1wiLFwiYXVzXCJdLFwiTGluZGVtYW5cIjpbXCJ0cnVlwqZhMGJyaXNiYW5lIHRpbWUsbGluZGVtYW4sd2hpdHN1bmRheSBpc2xhbmRzO2VzdCx1c3RyYWxpYTA7IW4gZWFzdGVyblwiLFwiQnJpc2JhbmVcIixcInNcIl0sXCJMb3JkX0hvd2VcIjpbXCJ0cnVlwqZhdXN0cmFsaWEzbDA7aDFvcmQgaG93ZTA7ISBpc2xhbmQ7ZHQsc3QsdDshL2xoaVwiLFwiTG9yZCBIb3dlXCIsXCJzXCIsXCJsaG93XCJdLFwiTWVsYm91cm5lXCI6W1widHJ1ZcKmYTBjYW5iZXJyYSxlYXN0ZXJuIGF1c3RyYWw0Z2VlbG9uZyxtZWxib3VybmUsc3lkbmV5LHYzO2U3dXMwOyBlYXN0NHRyYWxpYTA7ISAyL3YwbiAyO2ljdG9yMDtpYTtlYXN0ZTE7IWUwO3JuO2R0LHN0LHRcIixcIkVhc3Rlcm4gQXVzdHJhbGlhXCIsXCJzXCIsXCJhdXNcIl0sXCJQZXJ0aFwiOltcInRydWXCpmE0cGVydGgsdzA7IDJlc3QwOyAxZXJuIGF1c3RyYWxpYTA7ISB0aW1lO2F1c3RyYWxpYTt1c3RyYWxpYTF3MDtkdCxzdCx0OyEgd2VzdGUxL3dlc3QsbiB3ZXN0MDshZTA7cm5cIixcIldlc3Rlcm4gQXVzdHJhbGlhXCIsXCJzXCJdLFwiU3lkbmV5XCI6W1widHJ1ZcKmYTBjNWVhc3Rlcm4gYXVzdHJhbGlhIHRpbWUsbWVsYm91cm5lLG5ldyBzb3V0aCB3YWxlcyxzeWRuZXksd29sbG9uZ29uZztlOHUwOyFzMDshIGVhc3Q0dHJhbGlhMDshIDIvMG4gMjthY3QsYzBuc3c7YW5iZXJyYTtlYXN0ZTE7IWUwO3JuO2R0LHN0LHRcIixcIkVhc3Rlcm4gQXVzdHJhbGlhXCIsXCJzXCIsXCJhdXNcIl19LFwiRXRjXCI6e1wiR01UXCI6W1widHJ1ZcKmY29vcmRpbmF0ZWQgdW5pdmVyc2FsM2V0YzJnMHV0Yyx6dWx1O210LHJlZW53aWNoMDshIG1lYW4xOyEvZ3JlZW53aWNoOyB0aW1lXCIsXCJHcmVlbndpY2ggTWVhblwiLFwiblwiXSxcIlVUQ1wiOltcInRydWXCpmNvb3JkaW5hdGVkIHVuaXZlcnNhbDdldGMyZzF1MHo0O2N0LG41dGM7bXQscmVlbndpY2ggbWVhbjU7IS8wO3UxejA7dWx1O2N0LG4wO2l2ZXJzYWw7IHRpbWVcIixcIkdyZWVud2ljaCBNZWFuXCIsXCJuXCJdfSxcIkV1cm9wZVwiOntcIkFtc3RlcmRhbVwiOltcInRydWXCpmE5YnJ1c3NlbHMsYzZlNGdyb25pbmc3bWFkcmlkLG4ycGFyaXMscm8xdDB1dHJlY2h0O2hlIGhhZ3VlLGlsYnVyZzttYW5jZSx0OTtldGhlcmxhbmRzLGwwOyFkO2luZGhvdjJ1cm9wZTA7ISBjZW50cmFsO2Uxb3BlbmhhZzA7ZW47bnRyYWwgZXVyb3BlYW4sc3QsdDtsbWVyZSBzdGFkLG0wO3MwdDt0ZXJkYW1cIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIkFuZG9ycmFcIjpbXCJ0cnVlwqZhM2JydXNzZWxzLGMxZXVyb3BlMG1hZHJpZCxwYXJpcyxyb21hbmNlOyEgY2VudHJhbDtlMG9wZW5oYWdlbjtudHJhbCBldXJvcGVhbixzdCx0O2QsbmQwOyFvcnJhXCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJBc3RyYWtoYW5cIjpbXCJ0cnVlwqZhc3RyYWtoMWV1cm9wZSxtMHJ1c3NpMXN0IHBldGVyc2J1cmcsdm9sZ29ncmFkIHRpbWU7b3Njb3csc2s7YW5cIixcIk1vc2Nvd1wiLFwiblwiXSxcIkF0aGVuc1wiOltcInRydWXCpmF0aGVucyxlMWdyMHRoZXNzYWxvbmlraTshYyxlZWNlO2FzdGVybiBldXJvcGVhbixldCx1cm9wZTA7ISBlYXN0ZXJuXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJldTNcIl0sXCJCZWxncmFkZVwiOltcInRydWXCpmI5YzdldXJvcGUzbWFkcmlkLG4ycDFyb21hbmNlLHMwO2ksbG92ZW5pYSx2bjthcmlzLHJpc3RpNDtpcyxvdmkgc2FkOyEgY2VudHJhbCwvMDtsanVibGphMXBvZGdvcmljYSxzMHphZ3JlYjthcmFqZXZvLGtvcGplO25hO2Uwb3BlbmhhZ2VuO250cmFsIGV1cm9wZWFuLHN0LHQ7ZWxncmFkZSxydXNzZWxzXCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJCcnVzc2Vsc1wiOltcInRydWXCpmFudHdlcnA2YjNjMWV1cm9wZTBnZW50LGxpZWdlLG1hZHJpZCxwYXJpcyxyb21hbmNlOyEgY2VudHJhbDtlMGhhcmxlcm9pLG9wZW5oYWc0O250cmFsIGV1cm9wZWFuLHN0LHQ7ZTBtdCxydXNzZWxzOyFsMDshZ2l1bTtlblwiLFwiQ2VudHJhbCBFdXJvcGVhblwiLFwiblwiLFwiZXUyXCJdLFwiQnVjaGFyZXN0XCI6W1widHJ1ZcKmYjVjNGUyZ2FsYTFpYXNpLG9yYWRlYSxwbG9pZXMxcm8wdGltaXNvYXJhOyFtYW5pYSx1O3RpO2FzdGVybiBldXJvcGVhbixldCx1cm9wZTA7ISBlYXN0ZXJuO2x1aiBuYXBvY2Esb25zdGFudGEscmFpb3ZhO3JhMHVjaGFyZXN0O2lsYSxzb3ZcIixcIkVhc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImV1M1wiXSxcIkJ1ZGFwZXN0XCI6W1widHJ1ZcKmYjZjM2RlYnJlYzRldXJvcGUyaHUwbWFkcmlkLHBhcmlzLHJvbWFuY2U7IW4wOyFnYXJ5OyEgY2VudHJhbDtlMW9wZW5oYWcwO2VuO250cmFsIGV1cm9wZWFuLHN0LHQ7cnVzc2Vscyx1ZGFwZXN0XCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJCdXNpbmdlblwiOltcInRydWXCpmI1YzNkZTJldXJvcGUxZ2VybWEwbWFkcmlkLHBhcmlzLHJvbWFuY2Usc2F4bzA7bnk7ISBjZW50cmFsLC9iZXJsaW47IXU7ZTBvcGVuaGFnMztudHJhbCBldXJvcGVhbixzdCx0O2F2YXJpYSxyMHVzaW5nMTtlbTB1c3NlbHM7ZW5cIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIkNoaXNpbmF1XCI6W1widHJ1ZcKmY2hpc2luYXUsZTJtMDtkMG9sZG92YTshYTthc3Rlcm4gZXVyb3BlYW4sZXQsdXJvcGUwOyEgZWFzdGVybiwvdGlyYXNwb2xcIixcIkVhc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIkNvcGVuaGFnZW5cIjpbXCJ0cnVlwqZhcmh1cyxicnVzc2VscyxjMmQxZXVyb3BlMG1hZHJpZCxwYXJpcyxyb21hbmNlOyEgY2VudHJhbDtlbm1hcmssayxuaztlMG10LG9wZW5oYWdlbjtudHJhbCBldXJvcGVhbixzdCx0XCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJEdWJsaW5cIjpbXCJ0cnVlwqZhY2UsYnJpdGlzaDhjb3JrLGQ3ZTZnNWkzbDB0c2Usd2F0ZXJmb3JkO2kwb25kMTttZXJpY2ssc2IwO29uO2UscjBzdDtlbGFuZCxsO2Fsd2F5LG10LHJlZW53aWNoIG1lYW4yO2RpbmJ1cmdoLGlyZSx1cm9wZTttdCx1YmxpbjsgdGltZVwiLFwiSXJpc2hcIixcIm5cIixcImV1MVwiXSxcIkdpYnJhbHRhclwiOltcInRydWXCpmI1YzNldXJvcGUyZ2kwbWFkcmlkLHBhcmlzLHJvbWFuY2U7IWIwOyFyYWx0YXI7ISBjZW50cmFsO2Uwb3BlbmhhZ2VuO250cmFsIGV1cm9wZWFuLHN0LHQ7ZHN0LHJ1c3NlbHMsc3RcIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIkhlbHNpbmtpXCI6W1widHJ1ZcKmZTNmaTFoZWxzaW5raSx0MHZhbnRhYTthbXBlcmUsdXJrdTshbjA7IWxhbmQ7YXN0ZXJuIGV1cm9wZWFuLGV0LHNwb28sdXJvcGUwOyEgZWFzdGVybiwvbWFyaWVoYW1uXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJldTNcIl0sXCJJc3RhbmJ1bFwiOltcInRydWXCpmFZYlNjUWRPZUtnSmlIa0ZtQm9zbUFzNHQxdTB2MDd6ZXl0aW5idXJudTtlc2t1ZWRXbXI5O2Fyc3VzLHIxdXIwOyFrWjshYWJ6b24sdDthM2kxdWx0YW4wO2JleUpnYXppO3NJdjA7YXMsZXJlazttc3VuLG4wO2Nha3RlQmxpdXJmYTthbml5ZTthMWVyMHVyYXRwYUg7a2V6ZWZlbmRpLHNpbjtsMG5pRjthdFF0ZTY7YTBpcmlra2FsZSxvblB1dGFoUDtocmFtYW5tYXJhcyxyYWJhZ2xHeXNlUztzSnptaTA7cix0O2F6aWFudGVwLGViemU7bGF6aWcscnp1cnVtLHMxdXJvMDtwZTtlbjBraUM7bDh5dXJ0O2VuaXowaXlhcmJha0I7bGk7YW5rYUVvcjA7bHUsdW07YTF1cjA7c2E7Z2NpbDJoY2VsaWV2bDFsaWtlczVzYWs0dDA7aWtlbnQsbUI7ZXI7YXI7ZDduNHJuYXZ1dGtvM3NpYS9pczJ0YTA7c2VoMDtpcjt0YW5idWw7ZXk7a2FyYSx0YTA7azBsMDt5YTthMWl5YW0wO2FuO25hLHBhemEwO3JpXCIsXCJUdXJrZXlcIixcIm5cIl0sXCJLYWxpbmluZ3JhZFwiOltcInRydWXCpmUwa2FsaW5pbmdyYWQ7YXN0ZXJuIGV1cm9wZWFuLGV0LHVyb3BlXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCJdLFwiS2lldlwiOltcInRydWXCpmJpbGEgdHNlcmtMY2hlcklkR2VEaG9ybENpdmFubyBmcmFua2l2SGs4bDdtNW9kZXNzYSxwb2x0YUxyaXY0c3VteSx0ZXJub3BpbCx1MnZpbm55dHMxejA7YXBvcml6aHpoMGh5dG9teXI7eWE7YSxrcjA7IWFpMDtuZTthMHlrb2xheUU7a2k1cml1ODt1dDl2QzthbXlhbnNrZSxoMWlldixyMHlCO2VtZW5jaHVrLG9weXYxeXZ5eSByaWg7YXJrOWVyc29uLG1lbDA7bnl0c2t5eTtpdmthO2FzdGVybiBldXJvcGVhbixldCx1cm9wZTA7ISBlYXN0ZXJuLC9zaW1mZXJvMDtwb2w7bmlwcm8sb25ldDA7c2s7a2FzeSxuaTA7aDB2dHNpO2l2O3ZhXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJldTNcIl0sXCJLaXJvdlwiOltcInRydWXCpmV1cm9wZSxraXJvdixtMHJ1c3NpYW4sc3QgcGV0ZXJzYnVyZyx2b2xnb2dyYWQgdGltZTtvc2Nvdyxza1wiLFwiTW9zY293XCIsXCJuXCJdLFwiTGlzYm9uXCI6W1widHJ1ZcKmYW1hZG9yYSxldXJvcGU1bGlzYm9uLHAyd2UwO3N0MHQ7ISBldXJvcGUsZXJuIGV1cm9wZWFuO29ydDBydCx0O28sdWdhbDA7ISBtYWlubGFuZDshIHdlc3Rlcm5cIixcIldlc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImV1MVwiXSxcIkxvbmRvblwiOltcInRydWXCpmEwT2IwQWMwN2QwM2VYZ1RoUmlPajAwa2luZ3N0b24gdXBvbiBodWxsLGxKbUhuQm94U3A5cmVhZGluZyxzMXcweUY7YXJ3aWNrMEFpZzAwb2x2ZXJoYTc7aGVmZmllbGQsbzN0MnUxdzA7YW40aUg7ZmZvbGssbmRlcmxhbmQscnIwSXNZdHRMO2FmTm9rZSBvbiB0cmUwQzttZVp1dGgwO2ExZW5kIG9uIDA7c2VhO21wdEc7bHkwb3J0czByZXN0Rjttb3V0aDtldzRvMDtyMHR0aW5naGFtVDt0aDB3QzsgeTBhbXB0b25SO29ya1Y7Y2FzdGxlIHVwb24gdHluZSxwb3J0O2FuY2hlUWkwO2RsYW40bHRvbiBrZXluZXM7YW5jYVJkbixlMmkxbzB1dDU7bmQ0O25jb2xuUHNiM3Zlclc7ZTBpY2VzdGVySjtkcztwc3cxc2xpbmd0MDtvbjtpY2g7YW1wSmVydDA7Zm9yZEk7YjJsMW10MHJlZW53aWNoIG1lYW4gTTshIHN0YW5kYXJkIEw7YXNnb3csb3VjZXN0ZXJGOyEtZUY7ZGluYnVyZ2gsczR1cm9wZTA7IS8wO2JlbE5ndWVybnNNaXNsZV9vZl9tMWowO2Vyc0w7YW47c2V4O2VyYnkybzF1MDtibGluLGRsSDtyc2V0OyFzaDU7YTFpdHkgb2Ygd2VzdG1pbjBvdmVudHJ5LHJhd2xFO3N0ZXI7bWJyaWRnZTFyZGlmZjtlQWlyOWxhY2s3cjJzdCx1Y2tpbmdoYW0wO3NoMDtpcmU7YWRmb3JkLGUzaTA7c3Q0dGlzaDA7ISAwO3RpbWU7bnQ7cG8wO29sO2tlbmhlYWQsbWluZ2hhbTtsMXhsMDtleTtmYXN0O2JlcmRlZW4scmNod2F5XCIsXCJCcml0aXNoXCIsXCJuXCIsXCJldTFcIl0sXCJMdXhlbWJvdXJnXCI6W1widHJ1ZcKmYnJ1c3NlbHMsYzNldXJvcGUybHUwbWFkcmlkLHBhcmlzLHJvbWFuY2U7IXgwOyFlbWJvdXJnOyEgY2VudHJhbDtlMG9wZW5oYWdlbjtudHJhbCBldXJvcGVhbixzdCx0XCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJNYWRyaWRcIjpbXCJ0cnVlwqZhUmJPY0plR2Z1ZW5EZ0NqZXJleiBkZSBsYSBmcm9udGVyYSxsQm04b3ZpZUZwNnJvbWFuY2UsczF0ZXJyYXNzYSx2MHdlbXQsemFyYWdvemE7YWxsYWRvbDlpZ287YTFldmlsbGEscGFpbjA7ISBtYWlubGFuZDtiYWRlbGwsbjA7IHNlYmFzdGlIdDA7IG1hcnRpLGFuZGVyLHMgbW9udGp1aWM7YTB1ZW50ZSBkZSB2YWxsZWNhcztsbWEsbXBJcmlzO2Ewb3N0b2xMdXJjSztkcjBsYWdhO2lkO2F0aUplZ2FuSTthc3RlaXovdml0b3JHaWpvbixyYW4xO2NhcnJhbCBlbCBwYXIxbGFicjA7YWRhO2RvO2l4YW1wbGUsbGNoZSxzMXVyb3BlMDshIGNlbnRyMjshcDthM2UxaXVkYWQgbGluZTBvcGVuaGFnZW47YWw7bnRyYWwgZXVyb3BlMHN0LHQ7YW47cmFiYW5jaGVsLHN0ZWxsbyBkZSBsYSBwbGE3O2EwaWxiYW8scnVzc2Vscyx1cmdvcztkYTByY2Uwc3F1ZTtsbzQ7IGNvcnUzbDA7Y2FsYSBkZSBoZW5hcjFpY2FudGUsbWVyMDtpYTtlcztuYVwiLFwiQ2VudHJhbCBFdXJvcGVhblwiLFwiblwiLFwiZXUyXCJdLFwiTWFsdGFcIjpbXCJ0cnVlwqZicnVzc2VscyxjM2V1cm9wZTJtMHBhcmlzLHJvbWFuY2U7YTBsdCx0O2RyaWQsbHRhOyEgY2VudHJhbDtlMG9wZW5oYWdlbjtudHJhbCBldXJvcGVhbixzdCx0XCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJNaW5za1wiOltcInRydWXCpmI0ZXVyb3BlLGgzbTFydXNzaWFuLHN0IHBldGVyc2J1cmcsdjA7aXRlYjRvbGdvZ3JhZCB0aW1lO2FoaWx5MGluM29zYzBzaztvdztvbXllbCxyb2RuYTthYnJ1eTBlbGFydXMsbHIscmVzdCx5O3NrXCIsXCJNb3Njb3dcIixcIm5cIl0sXCJNb25hY29cIjpbXCJ0cnVlwqZicnVzc2VscyxjM2V1cm9wZTJtMHBhcmlzLHJvbWFuY2U7YWRyaWQsYzBvbmFjbzshbzshIGNlbnRyYWw7ZTBvcGVuaGFnZW47bnRyYWwgZXVyb3BlYW4sc3QsdFwiLFwiQ2VudHJhbCBFdXJvcGVhblwiLFwiblwiLFwiZXUyXCJdLFwiTW9zY293XCI6W1widHJ1ZcKmYXIwRGIwQWMwN2R6ZXJ6aDA2ZXVyb3BlLGZldCxncm96bjA1aXZhbm8wNGtZbGlwZXQwRm1Sbk5vcmVsLHBLckZzOHQ2djJ3LXN1LHkwemVsZW5vZ3JhZDthMG9zaGthciBvVztyb3NsYXZsLHNlbmUwMjthc3lsJ2V2c2t5IG9zdHJJZWxpa2lNbGFkaTJvMHlraGlubyB6aHVsZWJUO2wwcm9uZXpoO2dvZ3JhZCBQb2dkYTtrYXZrYXosbTA4O2EwdVF2ZXI7Z2Fucm9nLG1iRDthNGV2ZXIzaGFraHR5LG1vbGVuMDZvY2hpLHQweWt0eXZrUjsgNGEwO3J5eSBvc2swdnJvcDA7b2w7blNvZHZUO2ludCAwclg7cGV0ZXJzYnVyZztvc3RvdiBuYSBkb251LHUxeTA7YXpMYlA7IXMwOyFzaWEwOyFuO2Uxb2RvbFVzazA7b3Y7bnphLHRyb3phdm9kUzthMml6aG4wb3Zvcm9zc2l5Ujtla2FtUWkwO3kgbm92TTtiZXJlemhueXllIGNoZWxueSxsJ2NoaWs7YTNkc3Qsb3Njb3cxczB1cm1KO2QsazshIDA7dGltZTtraGFjaGthMXInMDtpbm87bGE7YTJoaW1raSxvc3Ryb21hLHJhc25vMHVyRztkMGd2YXJnZWlza3k7YXI7bDF6MDthbjtpbmluc2s1dWdhO3ZvO3l5O2luODtlbnRyYWxuMWhlMDtib2tzYXJ5LHJlcG92ZXRzO2l5O2VsMXJ5MDthbjM7Z29yb2Q7a2hhbmdlbCcxbWF2MDtpcjtza1wiLFwiTW9zY293XCIsXCJuXCJdLFwiT3Nsb1wiOltcInRydWXCpmE2YjVjM2V1cm9wZTJtYWRyaWQsb3NsbyxwYXJpcyxyb21hbmNlLHMwO2owdmFsYmFyZCBhbmQgamFuIDY7IW07ISBjZW50cmFsO2Uwb3BlbmhhZzQ7bnRyYWwgZXVyb3BlYW4sc3QsdDtlcmcycnVzc2VscztyY3RpYy9sb25neWVhcmJ5MXRsYW50aWMvamFuXzA7bWF5MDtlblwiLFwiQ2VudHJhbCBFdXJvcGVhblwiLFwiblwiLFwiZXUyXCJdLFwiUGFyaXNcIjpbXCJ0cnVlwqZiSWNGZXVyb3BlRWZyQmw5bTduNXBhcmlzLHIzczB0b3Vsb3VIO2FpbnQgMXQwOyAwcmFzYm91cmc7ZXRpZW5uZTtlMG9tYW45O2ltcyxubjE7YW50MGk3b3JtYW5keTtlczthMGV0LG9udHBlbGxpZXI7ZHJpZCxyc2VpMTtlIGhhdnJlLGkweW9uO2xsZTshYTA7IW4wO2NlOyEgY2VudHJhbDtlMG9wZW5oYWdlbjtudHJhbCBldXJvcGVhbixyZ3kgcG9udG9pMHN0LHQ7c2U7b3JkZWF1eCxydXNzZWxzXCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJQcmFndWVcIjpbXCJ0cnVlwqZicjZjNGV1cm9wZTJtYWRyaWQsb3N0cjNwMXJvbWFuY2UsczA7ayxsb3Zha2lhLHZrO2FyaXMsbXQscmFndWU7ISBjZW50cmFsLC9icmF0aXNsMDthdmE7ZTBvcGVuaGFnZW47bnRyYWwgZXVyb3BlYW4sc3QsdDtubyx1c3NlbHNcIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIlJpZ2FcIjpbXCJ0cnVlwqZlMmthbHQsbDByaWdhO2F0dmlhLHN0LHYwOyFhO2FzdDJlMXVyb3BlMDshIGVhc3Rlcm47c3QsdDsgZXVyb3BlLGVybiBldXJvcGVhblwiLFwiRWFzdGVybiBFdXJvcGVhblwiLFwiblwiLFwiZXUzXCJdLFwiUm9tZVwiOltcInRydWXCpmJJY0VldXJvcGVDZmxvcmVCZ2Vub2EsbUFuYXBsZXMscDdyNXNpY2lseSx0M3YwO2EwZXJvSzshdDA7IWljYW4gY2l0eTthcmFuNHJpZXN0ZSx1MDtyaW4sc2Nhbnk7bXQsb20wO2E0ZTthMXJhMDt0bztkb3ZhLGxlcm1vLHJpczthZHJpZCxlc3NpQWlsNjtuY2U7ISBjZW50cmFsLC8wO3Nhbl9tYXJpbm8sdmF0aWMzO2F0YW41ZTFvMDtwZW5oYWdlbixyc2ljYTtudHJhbCBldXJvcGUwc3QsdDthbjthcmksb2xvZzJyMDtlc2MwdXNzZWxzO2lhO25hXCIsXCJDZW50cmFsIEV1cm9wZWFuXCIsXCJuXCIsXCJldTJcIl0sXCJTYW1hcmFcIjpbXCJ0cnVlwqZldXJvcGUsaXpoZXZzayxzMHRvZ2xpYXR0aSBvbiB0aGUgdm9sZ2E7YW0weXpyYW47YXJhLHRcIixcIlNhbWFyYVwiLFwiblwiXSxcIlNhcmF0b3ZcIjpbXCJ0cnVlwqZiYWxha292byxldXJvcGUsaXpoZXZzayxzYTA7bTByYXRvdjthcmEsdFwiLFwiU2FtYXJhXCIsXCJuXCJdLFwiU29maWFcIjpbXCJ0cnVlwqZiMmUwaW10LHBsb3ZkaXYsc29mNHZhcm5hO2FzdGVybiBldXJvcGVhbixldCx1cm9wZTA7ISBlYXN0ZXJuO2cydTA7bGdhcjByZ2FzO2lhOyFyXCIsXCJFYXN0ZXJuIEV1cm9wZWFuXCIsXCJuXCIsXCJldTNcIl0sXCJTdG9ja2hvbG1cIjpbXCJ0cnVlwqZicnVzc2VscyxjNWV1cm9wZTRnb2V0ZWJvcmcsbWEzcGFyaXMscm9tYW5jZSxzMDtlMXRvY2tob2xtLHdlMDshZDQ7IXQ7ZHJpZCxsbW9lOyEgY2VudHJhbDtlMW9wZW5oYWcwO2VuO250cmFsIGV1cm9wZWFuLHN0LHRcIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIlRhbGxpbm5cIjpbXCJ0cnVlwqZlMHRhbGxpbm47YXN0ZXJuIGV1cm9wZWFuLGUyc3QxdXJvcGUwOyEgZWFzdGVybjshb25pYTshdFwiLFwiRWFzdGVybiBFdXJvcGVhblwiLFwiblwiLFwiZXUzXCJdLFwiVGlyYW5lXCI6W1widHJ1ZcKmYWw0YnJ1c3NlbHMsYzJldXJvcGUxbWFkcmlkLHBhcmlzLHJvbWFuY2UsdGlyYW4wO2EsZTshIGNlbnRyYWw7ZTBvcGVuaGFnZW47bnRyYWwgZXVyb3BlYW4sc3QsdDshYjA7IWFuaWFcIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIlVseWFub3Zza1wiOltcInRydWXCpmV1cm9wZSxtMHJ1c3NpYW4sc3QgcGV0ZXJzYnVyZyx1bHlhbm92c2ssdm9sZ29ncmFkIDI7b3Njb3cwc2s7ISAwO3RpbWVcIixcIk1vc2Nvd1wiLFwiblwiXSxcIlV6aGdvcm9kXCI6W1widHJ1ZcKmZTBydXRoZW5pYSx1emhnb3JvZDthc3Rlcm4gZXVyb3BlYW4sZXQsdXJvcGUwOyEgZWFzdGVyblwiLFwiRWFzdGVybiBFdXJvcGVhblwiLFwiblwiLFwiZXUzXCJdLFwiVmllbm5hXCI6W1widHJ1ZcKmYTRicnVzc2VscyxjMWRvbmF1c3RhZHQsZXVyb3BlMGZhdm9yaXQyZ3JheixsaW56LG1hZHJpZCxwYXJpcyxyb21hbmNlLHZpZW5uYTshIGNlbnRyYWw7ZTFvcGVuaGFnMDtlbjtudHJhbCBldXJvcGVhbixzdCx0O3QsdTA7c3RyaWEsdFwiLFwiQ2VudHJhbCBFdXJvcGVhblwiLFwiblwiLFwiZXUyXCJdLFwiVmlsbml1c1wiOltcInRydWXCpmUzazJsMHZpbG5pdXM7aXRodWFuaWEsdDA7IXU7YXVuYXMsbGFpcGVkYTthc3Rlcm4gZXVyb3BlYW4sZXQsdXJvcGUwOyEgZWFzdGVyblwiLFwiRWFzdGVybiBFdXJvcGVhblwiLFwiblwiLFwiZXUzXCJdLFwiVm9sZ29ncmFkXCI6W1widHJ1ZcKmZXVyb3BlLG0ycnVzc2lhbixzdCBwZXRlcnNidXJnLHZvbDA7Z29ncmFkMHQsemhza2l5OyEgdGltZTtvc2Nvdyxza1wiLFwiTW9zY293XCIsXCJuXCJdLFwiV2Fyc2F3XCI6W1widHJ1ZcKmYktjSGV1cm9wZUdnQ2tBbDhtN3A0cjNzMnRvcnVuLHcwemFicnplO2FyczByb2NsMDthdztvc25vd2llYyx6Y3plYzY7YWRJb21hbkE7YXJpcyxsLG8wcmFnYSBwb2x1ZG5pZTtsMHpuRDshYW5kO2FkcmlkLG9rb3QzO29keix1YmwwO2luO2F0bzJpZWwzcmFrMDtvdztkMmxpMDt3aTA7Y2U7YW5zayx5bmlhOyEgY2VudHJhbDtlMG9wZW5oYWdlbix6ZXN0b2Nob3dhO250cmFsIGV1cm9wZTBzdCx0O2FuO2kycnVzc2Vscyx5MDtkZ29zemN6LHQwO29tO2FseXN0b2ssZWxza28gYmlhbGFcIixcIkNlbnRyYWwgRXVyb3BlYW5cIixcIm5cIixcImV1MlwiXSxcIlphcG9yb3poeWVcIjpbXCJ0cnVlwqZlM2x1aGFuc2syc2V2YXN0b3BvbCx6YXBvcjA7aXpoaWEgbHVnYW5zayxvemgwOyd5ZSx5ZTshIGVhc3Q7YXN0ZXJuIGV1cm9wZWFuLGV0LHVyb3BlMDshIGVhc3Rlcm5cIixcIkVhc3Rlcm4gRXVyb3BlYW5cIixcIm5cIixcImV1M1wiXSxcIlp1cmljaFwiOltcInRydWXCpmJydXNzZWxzLGM0ZXVyb3BlMmdlbmV2ZSxsaTBtYWRyaWQscGFyaXMscm9tYW5jZSxzd2lzcyB0aW1lLHp1cmljaDshZTA7IWNodGVuc3RlaW47ISBjZW50cmFsLC8wO2J1c2luMXZhZHV6O2Uxb3BlbmhhMDtnZW47bnRyYWwgZXVyb3BlYW4sc3QsdFwiLFwiQ2VudHJhbCBFdXJvcGVhblwiLFwiblwiLFwiZXUyXCJdfSxcIkluZGlhblwiOntcIkNoYWdvc1wiOltcInRydWXCpmJyaXRpc2ggaW5kaWFuIG9jZWFuIHRlcnJpdG9yeSxjNGkwO25kaWFuMW8wOyF0OyEgMDtjMG9jZWFuO2hhZ29zXCIsXCJJbmRpYW4gT2NlYW5cIixcIm5cIl0sXCJDaHJpc3RtYXNcIjpbXCJ0cnVlwqZjMGluZGlhbjtocmlzdG1hczF4MDshcix0OyEgaXNsYW5kXCIsXCJDaHJpc3RtYXMgSXNsYW5kXCIsXCJzXCJdLFwiQ29jb3NcIjpbXCJ0cnVlwqZjMGluZGlhbjtjMm9jb3MwOyEgaXNsYW5kMDshczshayx0XCIsXCJDb2NvcyBJc2xhbmRzXCIsXCJuXCJdLFwiS2VyZ3VlbGVuXCI6W1widHJ1ZcKmYTVmcmVuY2ggc291dGhlcm4yaW5kaWFuLGtlcmd1ZWxlbjF0ZjA7IXQ7IXN0IHBhdWw0OyEgMDsmIGFudGFyY3RpYyB0aW1lLGFuZCBhbnRhcmN0aWMwOyEgbGFuZHM7bXN0ZXJkYW0wdGY7IGlzbGFuZFwiLFwiRnJlbmNoIFNvdXRoZXJuICYgQW50YXJjdGljXCIsXCJzXCJdLFwiTWFoZVwiOltcInRydWXCpmluZGlhbixtYWhlLHMwO2MwZXljaGVsbGVzLHljOyF0XCIsXCJTZXljaGVsbGVzXCIsXCJuXCJdLFwiTWFsZGl2ZXNcIjpbXCJ0cnVlwqZpbmRpYW4sbTA7YWxkaXZlcyxkdix2MDshdFwiLFwiTWFsZGl2ZXNcIixcIm5cIl0sXCJNYXVyaXRpdXNcIjpbXCJ0cnVlwqZpbmRpYW4sbTBwb3J0IGxvdWlzO2F1cml0aXVzLHUwOyFzLHRcIixcIk1hdXJpdGl1c1wiLFwiblwiXSxcIlJldW5pb25cIjpbXCJ0cnVlwqZpbmRpYW4scjA7ZTDDqXUxO3QsdTA7bmlvblwiLFwiUsOpdW5pb25cIixcInNcIl19LFwiUGFjaWZpY1wiOntcIkFwaWFcIjpbXCJ0cnVlwqZhcGlhLHBhY2lmaWMsczJ3MDtlc3QgczFzMDshbSx0O2Ftb2FcIixcIldlc3QgU2Ftb2FcIixcInNcIl0sXCJBdWNrbGFuZFwiOltcInRydWXCpmEyY2hyaXN0Y2h1cmNoLG1hbnVrYXUsbjBwYWNpZmljLHdlbGxpbmd0b247ZXcgemVhMm9ydGggc2hvcmUsejA7IWR0LGwsbXQsc3QsdDtudGFyY3RpY2EvMXVjazA7bGFuZDttY211cmRvLHNvdXRoX3BvbGVcIixcIk5ldyBaZWFsYW5kXCIsXCJzXCIsXCJuelwiXSxcIkJvdWdhaW52aWxsZVwiOltcInRydWXCpmJvdWdhaW52aWxsZSxndWluZWEycDA7YTBndDtjaWZpYyxwdWEgbmV3IGd1aW5lYTshblwiLFwiUGFwdWEgTmV3IEd1aW5lYVwiLFwic1wiXSxcIkNoYXRoYW1cIjpbXCJ0cnVlwqZjaGEwbnotY2hhdCxwYWNpZmljO2R0LHN0LHQwOyFoYW0wOyEgMDtpc2xhbmRzLHRpbWVcIixcIkNoYXRoYW1cIixcInNcIixcImNoYXRcIl0sXCJDaHV1a1wiOltcInRydWXCpmNodTJwYWNpZmljMDshLzA7dHJ1ayx5Mjt0LHVrMDshL3RydWt5MDthcFwiLFwiQ2h1dWtcIixcIm5cIl0sXCJFYXN0ZXJcIjpbXCJ0cnVlwqZjaGlsZS9lYXN0ZXI0ZTBwYWNpZmljO2FzMG10O3N0LHQwOyFlcjA7ISAwO2lzbGFuZFwiLFwiRWFzdGVyIElzbGFuZFwiLFwic1wiLFwiZWFzdFwiXSxcIkVmYXRlXCI6W1widHJ1ZcKmZWZhdGUscGFjaWZpYyx2MDthbnVhdHUsdTA7IXRcIixcIlZhbnVhdHVcIixcIm5cIl0sXCJGYWthb2ZvXCI6W1widHJ1ZcKmZmFrYW9mbyxwYWNpZmljLHQwO2swb2tlbGF1OyFsLHRcIixcIlRva2VsYXVcIixcIm5cIl0sXCJGaWppXCI6W1widHJ1ZcKmZjBwYWNpZmljO2lqaSxqMDshaSxzdCx0XCIsXCJGaWppXCIsXCJzXCIsXCJmaWppXCJdLFwiRnVuYWZ1dGlcIjpbXCJ0cnVlwqZmdW5hZnV0aSxwYWNpZmljLHQwO3V2MXYwOyF0OyFhbHVcIixcIlR1dmFsdVwiLFwiblwiXSxcIkdhbGFwYWdvc1wiOltcInRydWXCpmNvMWdhbDBwYWNpZmljO2FwYWdvcyx0LMOhcGFnb3MgaXNsYW5kcztsb21iaWEsc3QsdFwiLFwiQ29sb21iaWFcIixcIm5cIl0sXCJHYW1iaWVyXCI6W1widHJ1ZcKmZ2FtMHBhY2lmaWM7YmllcjB0OyEgaXNsYW5kc1wiLFwiR2FtYmllclwiLFwiblwiXSxcIkd1YWRhbGNhbmFsXCI6W1widHJ1ZcKmZ3VhZGFsY2FuYWwscGFjaWZpYyxzMDtiMWxiLG9sb21vbjA7ISBpc2xhbmRzOyF0XCIsXCJTb2xvbW9uIElzbGFuZHNcIixcIm5cIl0sXCJHdWFtXCI6W1widHJ1ZcKmY2g1Z3VhbSxtNG5vcnRoZXJuIG1hcmlhbmEgaXNsYW5kcyxwMndlc3QwOyAwZXJuIDA7cGFjaWZpYzthY2lmaWMwb3J0IG1vcmVzYnk7IS9zYWlwYW47bnAscDthbW9ycm8sc3RcIixcIkNoYW1vcnJvXCIsXCJuXCJdLFwiSG9ub2x1bHVcIjpbXCJ0cnVlwqZhbGV1dGlhbjRoMXBhY2lmaWMwdXMvaGF3YWlpOyEvam9obnN0b247YTBvbm9sdWx1LHN0O2R0LHN0LHQsd2FpaTA7ISBhbGV1dGlhbjshIGlzbGFuZHNcIixcIkhhd2FpaS1BbGV1dGlhblwiLFwiblwiXSxcIkthbnRvblwiOltcInRydWXCpmthbnRvbixwMDthY2lmaWMxaG8wO2VuaXggaXNsYW5kcyx0OyEvZW5kZXJidXJ5XCIsXCJQaG9lbml4IElzbGFuZHNcIixcIm5cIl0sXCJLaXJpdGltYXRpXCI6W1widHJ1ZcKma2kxbGluMHBhY2lmaWM7ZSBpc2xhbmRzLHQ7IXIwOyFpMDtiYXRpLHRpbWF0aTA7ISBpc2xhbmRcIixcIkxpbmUgSXNsYW5kc1wiLFwiblwiXSxcIktvc3JhZVwiOltcInRydWXCpmtvczBwYWNpZmljO3JhZSx0XCIsXCJLb3NyYWVcIixcIm5cIl0sXCJLd2FqYWxlaW5cIjpbXCJ0cnVlwqZrd2FqYWxlaW4sbTBwYWNpZmljO2Fyc2hhbGwgaXNsYW5kcyxodFwiLFwiTWFyc2hhbGwgSXNsYW5kc1wiLFwiblwiXSxcIk1hanVyb1wiOltcInRydWXCpm0wcGFjaWZpYzthMWgwOyFsLHQ7anVybyxyc2hhbGwgaXNsYW5kc1wiLFwiTWFyc2hhbGwgSXNsYW5kc1wiLFwiblwiXSxcIk1hcnF1ZXNhc1wiOltcInRydWXCpm1hcjBwYWNpZmljO3F1ZXNhczB0OyEgaXNsYW5kc1wiLFwiTWFycXVlc2FzXCIsXCJuXCJdLFwiTmF1cnVcIjpbXCJ0cnVlwqZuMHBhY2lmaWM7YXVydSxyMDshdCx1XCIsXCJOYXVydVwiLFwiblwiXSxcIk5pdWVcIjpbXCJ0cnVlwqZuMHBhY2lmaWM7aXUxdTA7IXQ7IWVcIixcIk5pdWVcIixcIm5cIl0sXCJOb3Jmb2xrXCI6W1widHJ1ZcKmbjBwYWNpZmljO2Yxb3Jmb2xrMDshIGlzbGFuZDshZHQsayx0XCIsXCJOb3Jmb2xrIElzbGFuZFwiLFwiblwiLFwiYXVzXCJdLFwiTm91bWVhXCI6W1widHJ1ZcKmbjBwYWNpZmljO2MwZXcgY2FsZWRvbmlhLG91bWVhOyFsLHRcIixcIk5ldyBDYWxlZG9uaWFcIixcIm5cIl0sXCJQYWdvX1BhZ29cIjpbXCJ0cnVlwqZtNXBhMXMwdXMvc2E0O2Ezc3Q7Y2lmaWMwZ29fcGFnbzshLzA7bTFzYTA7bW9hO2lkd2F5XCIsXCJTYW1vYVwiLFwiblwiXSxcIlBhbGF1XCI6W1widHJ1ZcKmcDA7YTFsdyx3MDshdDtjaWZpYyxsYXVcIixcIlBhbGF1XCIsXCJuXCJdLFwiUGl0Y2Fpcm5cIjpbXCJ0cnVlwqZwMDthY2lmaWMsY24saXRjYWlybixuLHN0XCIsXCJQaXRjYWlyblwiLFwiblwiXSxcIlBvaG5wZWlcIjpbXCJ0cnVlwqZmcmVuY2ggcG9seW5lc2lhLHAwO2FjaWZpYzFmLG8weWY7aG5wZWkwbnQ7IS9wb25hcGVcIixcIlBvbmFwZVwiLFwiblwiXSxcIlBvcnRfTW9yZXNieVwiOltcInRydWXCpmFudGFyY3RpY2EvZHVtb250ZDZkdW1vbnQtZCc2Z3VpbmVhNXAwO2EzZzJuZyxvcnQwOyAwXzA7bW9yZXNieTshdDtjaWZpYyxwdWEgbmV3IGd1aW5lYTshbjt1cnZpbGxlXCIsXCJQYXB1YSBOZXcgR3VpbmVhXCIsXCJzXCJdLFwiUmFyb3RvbmdhXCI6W1widHJ1ZcKmYzBwYWNpZmljLHJhcm90b25nYTtrMm8wO2ssb2swOyEgaXNsYW5kczshdFwiLFwiQ29vayBJc2xhbmRzXCIsXCJuXCJdLFwiVGFoaXRpXCI6W1widHJ1ZcKmcGFjaWZpYyxzb2NpZXR5IGlzbGFuZHMsdGFoMDtpdGksdFwiLFwiVGFoaXRpXCIsXCJuXCJdLFwiVGFyYXdhXCI6W1widHJ1ZcKmZ2lsMHBhY2lmaWMsdGFyYXdhO2JlcnQgaXNsYW5kcyx0XCIsXCJHaWxiZXJ0IElzbGFuZHNcIixcIm5cIl0sXCJUb25nYXRhcHVcIjpbXCJ0cnVlwqZudWt1J2Fsb2ZhLHBhY2lmaWMsdG8wOyFuMHQ7IWdhMDshdGFwdVwiLFwiVG9uZ2FcIixcInNcIl0sXCJXYWtlXCI6W1widHJ1ZcKmcGFjaWZpYyx1MndhazA7ZTB0OyEgaXNsYW5kO20wcyBtaW5vciBvdXRseWluZyBpc2xhbmRzOyFpXCIsXCJXYWtlIElzbGFuZFwiLFwiblwiXSxcIldhbGxpc1wiOltcInRydWXCpnBhY2lmaWMsdzA7YWxsaXMxZjBsZjshdDshIDA7JjBhbmQwOyBmdXR1bmFcIixcIldhbGxpcyAmIEZ1dHVuYVwiLFwiblwiXX19O1xuXG4vLyBzdHJpbmdzIHRoYXQgZG9uJ3QgcGFjayBwcm9wZXJseVxudmFyIG1pc2MgPSB7XG4gICdnbXQrMCc6IFsnRXRjL0dNVCddLFxuICAnZ210LTAnOiBbJ0V0Yy9HTVQnXSxcbiAgZ210MDogWydFdGMvR01UJ10sXG4gICdldGMvZ210KzAnOiBbJ0V0Yy9HTVQnXSxcbiAgJ2V0Yy9nbXQtMCc6IFsnRXRjL0dNVCddLFxuICAnZXRjL2dtdDAnOiBbJ0V0Yy9HTVQnXSxcbiAgJ21zayswMCc6IFsnRXVyb3BlL01vc2NvdyddLFxuICAnbXNrLTAxIC0ga2FsaW5pbmdyYWQnOiBbJ0V1cm9wZS9LYWxpbmluZ3JhZCddLFxuICAnbXNrKzAwIC0gbW9zY293IGFyZWEnOiBbJ0V1cm9wZS9Nb3Njb3cnXSxcbiAgJ21zayswMCAtIGNyaW1lYSc6IFsnRXVyb3BlL0tpZXYnXSxcbiAgJ21zayswMCAtIHZvbGdvZ3JhZCc6IFsnRXVyb3BlL1ZvbGdvZ3JhZCddLFxuICAnbXNrKzAwIC0ga2lyb3YnOiBbJ0V1cm9wZS9LaXJvdiddLFxuICAnbXNrKzAxIC0gYXN0cmFraGFuJzogWydFdXJvcGUvQXN0cmFraGFuJ10sXG4gICdtc2srMDEgLSBzYXJhdG92JzogWydFdXJvcGUvU2FyYXRvdiddLFxuICAnbXNrKzAxIC0gdWx5YW5vdnNrJzogWydFdXJvcGUvVWx5YW5vdnNrJ10sXG4gICdtc2srMDEgLSBzYW1hcmF1ZG11cnRpYSc6IFsnRXVyb3BlL1NhbWFyYSddLFxuICAnbXNrKzAyIC0gdXJhbHMnOiBbJ0FzaWEvWWVrYXRlcmluYnVyZyddLFxuICAnbXNrKzAzJzogWydBc2lhL09tc2snXSxcbiAgJ21zayswNCAtIG5vdm9zaWJpcnNrJzogWydBc2lhL05vdm9zaWJpcnNrJ10sXG4gICdtc2srMDQgLSBhbHRhaSc6IFsnQXNpYS9CYXJuYXVsJ10sXG4gICdtc2srMDQnOiBbJ0FzaWEvVG9tc2snXSxcbiAgJ21zayswNCAtIGtlbWVyb3ZvJzogWydBc2lhL05vdm9rdXpuZXRzayddLFxuICAnbXNrKzA0IC0ga3Jhc25veWFyc2sgYXJlYSc6IFsnQXNpYS9LcmFzbm95YXJzayddLFxuICAnbXNrKzA1IC0gaXJrdXRza2J1cnlhdGlhJzogWydBc2lhL0lya3V0c2snXSxcbiAgJ21zayswNiAtIHphYmF5a2Fsc2t5JzogWydBc2lhL0NoaXRhJ10sXG4gICdtc2srMDYgLSBsZW5hIHJpdmVyJzogWydBc2lhL1lha3V0c2snXSxcbiAgJ21zayswNiAtIHRvbXBvbnNreXVzdC1tYXlza3knOiBbJ0FzaWEvS2hhbmR5Z2EnXSxcbiAgJ21zayswNyAtIGFtdXIgcml2ZXInOiBbJ0FzaWEvVmxhZGl2b3N0b2snXSxcbiAgJ21zayswNyAtIG95bXlha29uc2t5JzogWydBc2lhL1VzdC1OZXJhJ10sXG4gICdtc2srMDggLSBtYWdhZGFuJzogWydBc2lhL01hZ2FkYW4nXSxcbiAgJ21zayswOCAtIHNha2hhbGluIGlzbGFuZCc6IFsnQXNpYS9TYWtoYWxpbiddLFxuICAnbXNrKzA4IC0gc2FraGEgKGUpIG5vcnRoIGt1cmlsIGlzJzogWydBc2lhL1NyZWRuZWtvbHltc2snXSxcbiAgJ21zayswOSc6IFsnQXNpYS9LYW1jaGF0a2EnXSxcbiAgJ21zayswOSAtIGJlcmluZyBzZWEnOiBbJ0FzaWEvQW5hZHlyJ10sXG4gIFwicnVzc2lhIHRpbWUgem9uZSAxMVwiOiBbXCJBc2lhL0FuYWR5clwiXSxcbiAgXCJydXNzaWEgdGltZSB6b25lIDEwXCI6IFtcIkFzaWEvU3JlZG5la29seW1za1wiXSxcbiAgXCJydXNzaWEgdGltZSB6b25lIDNcIjogW1wiRXVyb3BlL1NhbWFyYVwiXSxcbiAgXCJjb29yZGluYXRlZCB1bml2ZXJzYWwgdGltZS0wOVwiOiBbXCJQYWNpZmljL0dhbWJpZXJcIl0sXG4gIFwidXRjLTA5XCI6IFtcIlBhY2lmaWMvR2FtYmllclwiXSxcbiAgXCJjb29yZGluYXRlZCB1bml2ZXJzYWwgdGltZS0wOFwiOiBbXCJQYWNpZmljL1BpdGNhaXJuXCJdXG59O1xuXG5jb25zdCBhZGRFdGMgPSBmdW5jdGlvbiAoem9uZXMpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMTQ7IGkgKz0gMSkge1xuICAgIHpvbmVzW2BFdGMvR01ULSR7aX1gXSA9IHtcbiAgICAgIG9mZnNldDogaSxcbiAgICAgIG1ldGE6IGBnbXQtJHtpfWAsXG4gICAgICBoZW06ICduJy8vc29ycnlcbiAgICB9O1xuICAgIHpvbmVzW2BFdGMvR01UKyR7aX1gXSA9IHtcbiAgICAgIG9mZnNldDogaSAqIC0xLFxuICAgICAgbWV0YTogYGdtdCske2l9YCxcbiAgICAgIGhlbTogJ24nLy9zb3JyeVxuICAgIH07XG4gIH1cbn07XG5cbnZhciBhZGRVVEMgPSBhZGRFdGM7XG5cbi8vIHVucGFjayBvdXIgbGV4aWNvbiBvZiB3b3Jkc1xubGV0IHpvbmVzID0ge307XG5sZXQgbGV4aWNvbiA9IE9iamVjdC5hc3NpZ24oe30sIG1pc2MpO1xuT2JqZWN0LmtleXMocGNrZWQpLmZvckVhY2godG9wID0+IHtcbiAgT2JqZWN0LmtleXMocGNrZWRbdG9wXSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICBsZXQgW3dvcmRzLCBtZXRhLCBoZW0sIGRzdF0gPSBwY2tlZFt0b3BdW25hbWVdO1xuICAgIGxldCBpZCA9IGAke3RvcH0vJHtuYW1lfWA7XG4gICAgem9uZXNbaWRdID0geyBtZXRhLCBoZW0gfTtcbiAgICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKHVucGFjayQxKHdvcmRzKSk7XG4gICAga2V5cy5mb3JFYWNoKGsgPT4ge1xuICAgICAgbGV4aWNvbltrXSA9IGxleGljb25ba10gfHwgW107XG4gICAgICBsZXhpY29uW2tdLnB1c2goaWQpO1xuICAgICAgLy8gdXNlIGlhbmEgYWxpYXNlc1xuICAgICAgaWYgKGsubWF0Y2goL1xcLy8pKSB7XG4gICAgICAgIGxldCBhcnIgPSBrLnNwbGl0KC9cXC8vKTtcbiAgICAgICAgbGV0IGxhc3QgPSBhcnJbYXJyLmxlbmd0aCAtIDFdLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxleGljb25bbGFzdF0gPSBsZXhpY29uW2xhc3RdIHx8IFtdO1xuICAgICAgICBsZXhpY29uW2xhc3RdLnB1c2goaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHpvbmVzW2lkXS53b3JkQ291bnQgPSBrZXlzLmxlbmd0aDtcbiAgICBpZiAoZHN0KSB7XG4gICAgICB6b25lc1tpZF0uZHN0ID0gZHN0UGF0dGVybnNbZHN0XS5zcGxpdCgvXFx8Lyk7XG4gICAgfVxuICB9KTtcbn0pO1xuXG5hZGRVVEMoem9uZXMpO1xuXG5jb25zdCB1bmlxdWUgPSBmdW5jdGlvbiAoYXJyKSB7XG4gIGxldCBvYmogPSB7fTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBvYmpbYXJyW2ldXSA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iailcbn07XG5cbi8vIHNvcnQgYnkgbnVtIG9mIGFsaWFzZXNcbk9iamVjdC5rZXlzKGxleGljb24pLmZvckVhY2goayA9PiB7XG4gIGlmIChsZXhpY29uW2tdLmxlbmd0aCA+IDEpIHtcbiAgICBsZXhpY29uW2tdID0gdW5pcXVlKGxleGljb25ba10pO1xuICAgIGxleGljb25ba10gPSBsZXhpY29uW2tdLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmICh6b25lc1thXS53b3JkQ291bnQgPiB6b25lc1tiXS53b3JkQ291bnQpIHtcbiAgICAgICAgcmV0dXJuIC0xXG4gICAgICB9IGVsc2UgaWYgKHpvbmVzW2FdLndvcmRDb3VudCA8IHpvbmVzW2JdLndvcmRDb3VudCkge1xuICAgICAgICByZXR1cm4gMVxuICAgICAgfVxuICAgICAgcmV0dXJuIDBcbiAgICB9KTtcbiAgfVxufSk7XG5cbi8vIGNvbnNvbGUubG9nKHpvbmVzWydFdGMvR01UKzQnXSlcblxuLy90cnkgdG8gbWF0Y2ggdGhlc2UgYWdhaW5zdCBpYW5hIGZvcm1cbmNvbnN0IG9uZSA9IChzdHIpID0+IHtcbiAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCk7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC9eaW4gL2csICcnKTtcbiAgc3RyID0gc3RyLnJlcGxhY2UoLyB0aW1lL2csICcnKTtcbiAgc3RyID0gc3RyLnJlcGxhY2UoLyAoc3RhbmRhcmR8ZGF5bGlnaHR8c3VtbWVyKS9nLCAnJyk7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8gLSAuKi9nLCAnJyk7IC8vYEVhc3Rlcm4gVGltZSAtIFVTICYgQ2FuYWRhYFxuICBzdHIgPSBzdHIucmVwbGFjZSgvLCAuKi9nLCAnJyk7IC8vYG11bWJhaSwgaW5kaWFgXG4gIHN0ciA9IHN0ci5yZXBsYWNlKC9cXC4vZywgJycpOy8vc3QuIHBldGVyc2JlcmdcbiAgcmV0dXJuIHN0ci50cmltKClcbn07XG5cbi8vc29tZSBtb3JlIGFnZ3Jlc3NpdmUgdHJhbnNmb3JtYXRpb25zXG5jb25zdCB0d28gPSBmdW5jdGlvbiAoc3RyKSB7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC9cXGIoZWFzdHx3ZXN0fG5vcnRofHNvdXRoKWVybi9nLCAnJDEnKTtcbiAgc3RyID0gc3RyLnJlcGxhY2UoL1xcYihhZnJpY2F8YW1lcmljYXxhdXN0cmFsaWEpbi9nLCAnJDEnKTtcbiAgc3RyID0gc3RyLnJlcGxhY2UoL1xcYmV1cm9wZWFuL2csICdldXJvcGUnKTtcbiAgc3RyID0gc3RyLnJlcGxhY2UoL1xcaXNsYW5kcy9nLCAnaXNsYW5kJyk7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8uKlxcLy9nLCAnJyk7XG4gIHJldHVybiBzdHIudHJpbSgpXG59O1xuLy8gZXZlbi1tb3JlIGFncmVzc2l2ZVxuY29uc3QgdGhyZWUgPSBmdW5jdGlvbiAoc3RyKSB7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC9cXCguKlxcKS8sICcnKTsvL2FueXRoaW5nIGluIGJyYWNrZXRzXG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8gICsvZywgJyAnKTsvL2V4dHJhIHNwYWNlc1xuICByZXR1cm4gc3RyLnRyaW0oKVxufTtcblxudmFyIG5vcm1hbGl6ZSA9IHsgb25lLCB0d28sIHRocmVlIH07XG5cbmNvbnN0IGlzT2Zmc2V0ID0gL14oWy0rXT9bMC05XSspaChyP3MpPyQvaTtcbmNvbnN0IGlzTnVtYmVyID0gL14oWy0rXT9bMC05XSspJC87XG5jb25zdCB1dGNPZmZzZXQgPSAvdXRjKFtcXC0rXT9bMC05XSspJC9pO1xuY29uc3QgZ210T2Zmc2V0ID0gL2dtdChbXFwtK10/WzAtOV0rKSQvaTtcblxuY29uc3QgdG9JYW5hID0gZnVuY3Rpb24gKG51bSkge1xuICBudW0gPSBOdW1iZXIobnVtKTtcbiAgaWYgKG51bSA+IC0xMyAmJiBudW0gPCAxMykge1xuICAgIG51bSA9IG51bSAqIC0xOyAvL2l0J3Mgb3Bwb3NpdGUhXG4gICAgbnVtID0gKG51bSA+IDAgPyAnKycgOiAnJykgKyBudW07IC8vYWRkIHBsdXMgc2lnblxuICAgIHJldHVybiAnRXRjL0dNVCcgKyBudW1cbiAgfVxuICByZXR1cm4gbnVsbFxufTtcblxuY29uc3QgcGFyc2VPZmZzZXQgPSBmdW5jdGlvbiAodHopIHtcbiAgLy8gJys1aHJzJ1xuICBsZXQgbSA9IHR6Lm1hdGNoKGlzT2Zmc2V0KTtcbiAgaWYgKG0gIT09IG51bGwpIHtcbiAgICByZXR1cm4gdG9JYW5hKG1bMV0pXG4gIH1cbiAgLy8gJ3V0Yys1J1xuICBtID0gdHoubWF0Y2godXRjT2Zmc2V0KTtcbiAgaWYgKG0gIT09IG51bGwpIHtcbiAgICByZXR1cm4gdG9JYW5hKG1bMV0pXG4gIH1cbiAgLy8gJ0dNVC01JyAobm90IG9wcG9zaXRlKVxuICBtID0gdHoubWF0Y2goZ210T2Zmc2V0KTtcbiAgaWYgKG0gIT09IG51bGwpIHtcbiAgICBsZXQgbnVtID0gTnVtYmVyKG1bMV0pICogLTE7XG4gICAgcmV0dXJuIHRvSWFuYShudW0pXG4gIH1cbiAgLy8gJys1J1xuICBtID0gdHoubWF0Y2goaXNOdW1iZXIpO1xuICBpZiAobSAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0b0lhbmEobVsxXSlcbiAgfVxuICByZXR1cm4gbnVsbFxufTtcbnZhciBwYXJzZU9mZnNldCQxID0gcGFyc2VPZmZzZXQ7XG5cbi8vIG1hdGNoIHNvbWUgdGV4dCB0byBhbiBpYW5hIGNvZGVcbmNvbnN0IGZpbmQgPSBmdW5jdGlvbiAoc3RyKSB7XG4gIC8vIHBlcmZlY3QgaWQgbWF0Y2hcbiAgaWYgKHpvbmVzLmhhc093blByb3BlcnR5KHN0cikpIHtcbiAgICByZXR1cm4gc3RyXG4gIH1cbiAgLy8gbG9va3VwIGtub3duIHdvcmRcbiAgaWYgKGxleGljb24uaGFzT3duUHJvcGVydHkoc3RyKSkge1xuICAgIHJldHVybiBsZXhpY29uW3N0cl1cbiAgfVxuICAvLyAtOGhyc1xuICBpZiAoL1swLTldLy50ZXN0KHN0cikpIHtcbiAgICBsZXQgZXRjID0gcGFyc2VPZmZzZXQkMShzdHIpO1xuICAgIGlmIChldGMpIHtcbiAgICAgIHJldHVybiBbZXRjXVxuICAgIH1cbiAgfVxuICAvLyB0cnkgYSBzZXF1ZW5jZSBvZiBub3JtYWxpemF0aW9uIHN0ZXBzXG4gIHN0ciA9IG5vcm1hbGl6ZS5vbmUoc3RyKTtcbiAgaWYgKGxleGljb24uaGFzT3duUHJvcGVydHkoc3RyKSkge1xuICAgIHJldHVybiBsZXhpY29uW3N0cl1cbiAgfVxuICBzdHIgPSBub3JtYWxpemUudHdvKHN0cik7XG4gIGlmIChsZXhpY29uLmhhc093blByb3BlcnR5KHN0cikpIHtcbiAgICByZXR1cm4gbGV4aWNvbltzdHJdXG4gIH1cbiAgc3RyID0gbm9ybWFsaXplLnRocmVlKHN0cik7XG4gIGlmIChsZXhpY29uLmhhc093blByb3BlcnR5KHN0cikpIHtcbiAgICByZXR1cm4gbGV4aWNvbltzdHJdXG4gIH1cbiAgcmV0dXJuIG51bGxcbn07XG5cbnZhciBmaW5kJDEgPSBmaW5kO1xuXG52YXIgbWV0YXMgPSB7XG4gIFwiSW5kaWFcIjoge1xuICAgIFwic3RkXCI6IFtcIklTVFwiLCA1LjVdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDU6MzApIENoZW5uYWksIEtvbGthdGEsIE11bWJhaSwgTmV3IERlbGhpXCJcbiAgfSxcbiAgXCJDaGluYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiQ1NUXCIsIDhdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDg6MDApIEJlaWppbmcsIENob25ncWluZywgSG9uZyBLb25nLCBVcnVtcWlcIlxuICB9LFxuICBcIkNlbnRyYWwgRXVyb3BlYW5cIjoge1xuICAgIFwic3RkXCI6IFtcIkNFVFwiLCAxXSxcbiAgICBcImRzdFwiOiBbXCJDRVNUXCIsIDIsIFwiQ2VudHJhbCBFdXJvcGVhbiBTdW1tZXIgVGltZVwiXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzAxOjAwKSBCcnVzc2VscywgQ29wZW5oYWdlbiwgTWFkcmlkLCBQYXJpc1wiXG4gIH0sXG4gIFwiQXRsYW50aWNcIjoge1xuICAgIFwiZHVwZVwiOiB0cnVlLFxuICAgIFwic3RkXCI6IFtcIkFTVFwiLCAtNF0sXG4gICAgXCJkc3RcIjogW1wiQURUXCIsIC0zXSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA0OjAwKSBBdGxhbnRpYyBUaW1lIChDYW5hZGEpXCJcbiAgfSxcbiAgXCJHcmVlbndpY2ggTWVhblwiOiB7XG4gICAgXCJzdGRcIjogW1wiR01UXCIsIDBdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMpIENvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lXCJcbiAgfSxcbiAgXCJFYXN0ZXJuIEV1cm9wZWFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJFRVRcIiwgMl0sXG4gICAgXCJkc3RcIjogW1wiRUVTVFwiLCAzLCBcIkVhc3Rlcm4gRXVyb3BlYW4gU3VtbWVyIFRpbWVcIlxuICAgIF1cbiAgfSxcbiAgXCJDZW50cmFsXCI6IHtcbiAgICBcImR1cGVcIjogdHJ1ZSxcbiAgICBcInN0ZFwiOiBbXCJDU1RcIiwgLTZdLFxuICAgIFwiZHN0XCI6IFtcIkNEVFwiLCAtNV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wNjowMCkgQ2VudHJhbCBUaW1lIChVUyAmIENhbmFkYSlcIlxuICB9LFxuICBcIkVhc3Rlcm5cIjoge1xuICAgIFwic3RkXCI6IFtcIkVTVFwiLCAtNV0sXG4gICAgXCJkc3RcIjogW1wiRURUXCIsIC00XSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA1OjAwKSBFYXN0ZXJuIFRpbWUgKFVTICYgQ2FuYWRhKVwiXG4gIH0sXG4gIFwiQXJnZW50aW5hXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJBUlRcIiwgLTNdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMtMDM6MDApIENpdHkgb2YgQnVlbm9zIEFpcmVzXCJcbiAgfSxcbiAgXCJFYXN0IEFmcmljYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiRUFUXCIsIDNdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDM6MDApIE5haXJvYmlcIlxuICB9LFxuICBcIldlc3QgQWZyaWNhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJXQVRcIiwgMV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswMTowMCkgV2VzdCBDZW50cmFsIEFmcmljYVwiXG4gIH0sXG4gIFwiTW9zY293XCI6IHtcbiAgICBcInN0ZFwiOiBbXCJNU0tcIiwgM10sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswMzowMCkgTW9zY293LCBTdC4gUGV0ZXJzYnVyZ1wiXG4gIH0sXG4gIFwiQnJhc2lsaWFcIjoge1xuICAgIFwic3RkXCI6IFtcIkJSVFwiLCAtM10sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wMzowMCkgQnJhc2lsaWFcIlxuICB9LFxuICBcIk1vdW50YWluXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJNU1RcIiwgLTddLFxuICAgIFwiZHN0XCI6IFtcIk1EVFwiLCAtNl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wNzowMCkgTW91bnRhaW4gVGltZSAoVVMgJiBDYW5hZGEpXCJcbiAgfSxcbiAgXCJDZW50cmFsIEFmcmljYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiQ0FUXCIsIDJdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDI6MDApIFdpbmRob2VrXCJcbiAgfSxcbiAgXCJBcmFiaWFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJBU1RcIiwgM10sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswMzowMCkgS3V3YWl0LCBSaXlhZGhcIlxuICB9LFxuICBcIkFsYXNrYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiQUtTVFwiLCAtOV0sXG4gICAgXCJkc3RcIjogW1wiQUtEVFwiLCAtOF0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wOTowMCkgQWxhc2thXCJcbiAgfSxcbiAgXCJCcml0aXNoXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJHTVRcIiwgMF0sXG4gICAgXCJkc3RcIjogW1wiQlNUXCIsIDEsIFwiQnJpdGlzaCBTdW1tZXIgVGltZVwiXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzAwOjAwKSBEdWJsaW4sIEVkaW5idXJnaCwgTGlzYm9uLCBMb25kb25cIlxuICB9LFxuICBcIklyaXNoXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJHTVRcIiwgMF0sXG4gICAgXCJkc3RcIjogW1wiSVNUXCIsIDEsIFwiSXJpc2ggU3RhbmRhcmQgVGltZVwiXVxuICB9LFxuICBcIldlc3QgS2F6YWtoc3RhblwiOiB7XG4gICAgXCJzdGRcIjogW1wiQUxNVFwiLCA1XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA1OjAwKSBBc2hnYWJhdCwgVGFzaGtlbnRcIlxuICB9LFxuICBcIkVhc3Rlcm4gQXVzdHJhbGlhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJBRVNUXCIsIDEwXSxcbiAgICBcImRzdFwiOiBbXCJBRURUXCIsIDExLCBcIkF1c3RyYWxpYW4gRWFzdGVybiBEYXlsaWdodCBUaW1lXCJdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTA6MDApIENhbmJlcnJhLCBNZWxib3VybmUsIFN5ZG5leVwiXG4gIH0sXG4gIFwiV2VzdGVybiBFdXJvcGVhblwiOiB7XG4gICAgXCJzdGRcIjogW1wiV0VUXCIsIDBdLFxuICAgIFwiZHN0XCI6IFtcIldFU1RcIiwgMSwgXCJXZXN0ZXJuIEV1cm9wZWFuIFN1bW1lciBUaW1lXCJdXG4gIH0sXG4gIFwiSW5kb2NoaW5hXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJJQ1RcIiwgN10sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswNzowMCkgQmFuZ2tvaywgSGFub2ksIEpha2FydGFcIlxuICB9LFxuICBcIkNlbnRyYWwgTWV4aWNvXCI6IHtcbiAgICBcImxvbmdcIjogXCIoVVRDLTA2OjAwKSBHdWFkYWxhamFyYSwgTWV4aWNvIENpdHksIE1vbnRlcnJleVwiLFxuICAgIFwic3RkXCI6IFtcIkNTVFwiLCAtNl0sXG4gICAgXCJkc3RcIjogW1wiQ0RUXCIsIC01LCBcIkNlbnRyYWwgRGF5bGlnaHQgVGltZVwiXG4gICAgXVxuICB9LFxuICBcIlNvdXRoIEFmcmljYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiU0FTVFwiLCAyXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzAyOjAwKSBIYXJhcmUsIFByZXRvcmlhXCJcbiAgfSxcbiAgXCJLcmFzbm95YXJza1wiOiB7XG4gICAgXCJzdGRcIjogW1wiS1JBVFwiLCA3XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA3OjAwKSBLcmFzbm95YXJza1wiXG4gIH0sXG4gIFwiWWFrdXRza1wiOiB7XG4gICAgXCJzdGRcIjogW1wiWUFLVFwiLCA5XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA5OjAwKSBZYWt1dHNrXCJcbiAgfSxcbiAgXCJQYWNpZmljXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJQU1RcIiwgLThdLFxuICAgIFwiZHN0XCI6IFtcIlBEVFwiLCAtN10sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wODowMCkgUGFjaWZpYyBUaW1lIChVUyAmIENhbmFkYSlcIlxuICB9LFxuICBcIkFtYXpvblwiOiB7XG4gICAgXCJzdGRcIjogW1wiQU1UXCIsIC00XSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA0OjAwKSBDdWlhYmFcIlxuICB9LFxuICBcIk1vcm9jY28gU3RhbmRhcmRcIjoge1xuICAgIFwib2Zmc2V0XCI6IDEsXG4gICAgXCJsb25nXCI6IFwiKFVUQyswMDowMCkgQ2FzYWJsYW5jYVwiLFxuICAgIFwic3RkXCI6IFtcIldFVFwiLCAxXSxcbiAgICBcImRzdFwiOiBbXCJXRVNUXCIsIDAsIFwiV2VzdGVybiBFdXJvcGVhbiBTdW1tZXIgVGltZVwiXG4gICAgXVxuICB9LFxuICBcIkd1bGZcIjoge1xuICAgIFwic3RkXCI6IFtcIkdTVFwiLCA0XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA0OjAwKSBBYnUgRGhhYmksIE11c2NhdFwiXG4gIH0sXG4gIFwiU2FtYXJhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJTQU1UXCIsIDRdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDQ6MDApIEl6aGV2c2ssIFNhbWFyYVwiXG4gIH0sXG4gIFwiVXpiZWtpc3RhblwiOiB7XG4gICAgXCJzdGRcIjogW1wiVVpUXCIsIDVdXG4gIH0sXG4gIFwiRWFzdCBLYXpha2hzdGFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJBTE1UXCIsIDZdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDY6MDApIEFzdGFuYVwiXG4gIH0sXG4gIFwiT21za1wiOiB7XG4gICAgXCJzdGRcIjogW1wiT01TVFwiLCA2XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA2OjAwKSBPbXNrXCJcbiAgfSxcbiAgXCJXZXN0ZXJuIEluZG9uZXNpYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiV0lCXCIsIDddXG4gIH0sXG4gIFwiVWxhYW5iYWF0YXJcIjoge1xuICAgIFwic3RkXCI6IFtcIlVMQVRcIiwgOF0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswODowMCkgVWxhYW5iYWF0YXJcIlxuICB9LFxuICBcIk1hbGF5c2lhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJNWVRcIiwgOF1cbiAgfSxcbiAgXCJLb3JlYW5cIjoge1xuICAgIFwic3RkXCI6IFtcIktTVFwiLCA5XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA5OjAwKSBTZW91bFwiXG4gIH0sXG4gIFwiQ2VudHJhbCBBdXN0cmFsaWFcIjoge1xuICAgIFwic3RkXCI6IFtcIkFDU1RcIiwgOS41XSxcbiAgICBcImRzdFwiOiBbXCJBQ0RUXCIsIDEwLjUsIFwiQXVzdHJhbGlhbiBDZW50cmFsIERheWxpZ2h0IFRpbWVcIl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswOTozMCkgQWRlbGFpZGVcIlxuICB9LFxuICBcIkJyaXNiYW5lXCI6IHtcbiAgICBcImR1cGVcIjogdHJ1ZSxcbiAgICBcInN0ZFwiOiBbXCJBRVNUXCIsIDEwXVxuICB9LFxuICBcIlZsYWRpdm9zdG9rXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJWTEFUXCIsIDEwXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzEwOjAwKSBWbGFkaXZvc3Rva1wiXG4gIH0sXG4gIFwiQ2hhbW9ycm9cIjoge1xuICAgIFwic3RkXCI6IFtcIkNoU1RcIiwgMTBdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTA6MDApIEd1YW0sIFBvcnQgTW9yZXNieVwiXG4gIH0sXG4gIFwiUGFwdWEgTmV3IEd1aW5lYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiUEdUXCIsIDExXVxuICB9LFxuICBcIk5ldyBaZWFsYW5kXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJOWlNUXCIsIDEyXSxcbiAgICBcImRzdFwiOiBbXCJOWkRUXCIsIDEzXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzEyOjAwKSBBdWNrbGFuZCwgV2VsbGluZ3RvblwiXG4gIH0sXG4gIFwiTWFyc2hhbGwgSXNsYW5kc1wiOiB7XG4gICAgXCJzdGRcIjogW1wiTUhUXCIsIDEyXVxuICB9LFxuICBcIlNhbW9hXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJTU1RcIiwgLTExXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzEzOjAwKSBTYW1vYVwiXG4gIH0sXG4gIFwiSGF3YWlpLUFsZXV0aWFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJIQVNUXCIsIC05XSxcbiAgICBcImRzdFwiOiBbXCJIQURUXCIsIC04XSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA5OjAwKSBBbGV1dGlhbiBJc2xhbmRzXCJcbiAgfSxcbiAgXCJNZXhpY2FuIFBhY2lmaWNcIjoge1xuICAgIFwic3RkXCI6IFtcIkhOUE1YXCIsIC03XSxcbiAgICBcImRzdFwiOiBbXCJIRVBNWFwiLCAtNl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wNzowMCkgQ2hpaHVhaHVhLCBMYSBQYXosIE1hemF0bGFuXCJcbiAgfSxcbiAgXCJDb2xvbWJpYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiQ09UXCIsIC01XVxuICB9LFxuICBcIkFjcmVcIjoge1xuICAgIFwic3RkXCI6IFtcIkFDVFwiLCAtNV1cbiAgfSxcbiAgXCJDaGlsZVwiOiB7XG4gICAgXCJkdXBlXCI6IHRydWUsXG4gICAgXCJzdGRcIjogW1wiQ0xUXCIsIC0zXSxcbiAgICBcImRzdFwiOiBbXCJDTFNUXCIsIC00LCBcIkNoaWxlIFN1bW1lciBUaW1lXCJcbiAgICBdXG4gIH0sXG4gIFwiVHJvbGxcIjoge1xuICAgIFwiZHVwZVwiOiB0cnVlLFxuICAgIFwic3RkXCI6IFtcIkdNVFwiLCAwXVxuICB9LFxuICBcIkVhc3QgR3JlZW5sYW5kXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJITkVHXCIsIDBdLFxuICAgIFwiZHN0XCI6IFtcIkhFRUdcIiwgMSwgXCJFYXN0IEdyZWVubGFuZCBTdW1tZXIgVGltZVwiXG4gICAgXVxuICB9LFxuICBcIklzcmFlbFwiOiB7XG4gICAgXCJzdGRcIjogW1wiSVNUXCIsIDJdLFxuICAgIFwiZHN0XCI6IFtcIklEVFwiLCAzXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzAyOjAwKSBKZXJ1c2FsZW1cIlxuICB9LFxuICBcIlN5b3dhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJTWU9UXCIsIDNdXG4gIH0sXG4gIFwiVHVya2V5XCI6IHtcbiAgICBcInN0ZFwiOiBbXCJUUlRcIiwgM10sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswMzowMCkgSXN0YW5idWxcIlxuICB9LFxuICBcIklyYW5cIjoge1xuICAgIFwic3RkXCI6IFtcIklSU1RcIiwgMy41XSxcbiAgICBcImRzdFwiOiBbXCJJUkRUXCIsIDQuNV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswMzozMCkgVGVocmFuXCJcbiAgfSxcbiAgXCJBemVyYmFpamFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJBWlRcIiwgNF0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswNDowMCkgQmFrdVwiXG4gIH0sXG4gIFwiR2VvcmdpYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiR0VUXCIsIDRdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDQ6MDApIFRiaWxpc2lcIlxuICB9LFxuICBcIkFybWVuaWFcIjoge1xuICAgIFwic3RkXCI6IFtcIkFNVFwiLCA0XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA0OjAwKSBZZXJldmFuXCJcbiAgfSxcbiAgXCJTZXljaGVsbGVzXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJTQ1RcIiwgNF1cbiAgfSxcbiAgXCJNYXVyaXRpdXNcIjoge1xuICAgIFwic3RkXCI6IFtcIk1VVFwiLCA0XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA0OjAwKSBQb3J0IExvdWlzXCJcbiAgfSxcbiAgXCJSw6l1bmlvblwiOiB7XG4gICAgXCJzdGRcIjogW1wiUkVUXCIsIDRdXG4gIH0sXG4gIFwiQWZnaGFuaXN0YW5cIjoge1xuICAgIFwic3RkXCI6IFtcIkFGVFwiLCA0LjVdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDQ6MzApIEthYnVsXCJcbiAgfSxcbiAgXCJNYXdzb25cIjoge1xuICAgIFwic3RkXCI6IFtcIk1BV1RcIiwgNV1cbiAgfSxcbiAgXCJUdXJrbWVuaXN0YW5cIjoge1xuICAgIFwic3RkXCI6IFtcIlRNVFwiLCA1XVxuICB9LFxuICBcIlRhamlraXN0YW5cIjoge1xuICAgIFwic3RkXCI6IFtcIlRKVFwiLCA1XVxuICB9LFxuICBcIlBha2lzdGFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJQS1RcIiwgNV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswNTowMCkgSXNsYW1hYmFkLCBLYXJhY2hpXCJcbiAgfSxcbiAgXCJZZWthdGVyaW5idXJnXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJZRUtUXCIsIDVdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDU6MDApIEVrYXRlcmluYnVyZ1wiXG4gIH0sXG4gIFwiRnJlbmNoIFNvdXRoZXJuICYgQW50YXJjdGljXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJURlRcIiwgNV1cbiAgfSxcbiAgXCJNYWxkaXZlc1wiOiB7XG4gICAgXCJzdGRcIjogW1wiTVZUXCIsIDVdXG4gIH0sXG4gIFwiTmVwYWxcIjoge1xuICAgIFwic3RkXCI6IFtcIk5QVFwiLCA1Ljc1XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA1OjQ1KSBLYXRobWFuZHVcIlxuICB9LFxuICBcIlZvc3Rva1wiOiB7XG4gICAgXCJzdGRcIjogW1wiTVNLKzRcIiwgNl1cbiAgfSxcbiAgXCJLeXJneXpzdGFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJLR1RcIiwgNl1cbiAgfSxcbiAgXCJCYW5nbGFkZXNoXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJCU1RcIiwgNl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswNjowMCkgRGhha2FcIlxuICB9LFxuICBcIkJodXRhblwiOiB7XG4gICAgXCJzdGRcIjogW1wiQlRcIiwgNl1cbiAgfSxcbiAgXCJJbmRpYW4gT2NlYW5cIjoge1xuICAgIFwic3RkXCI6IFtcIklPVFwiLCA2XVxuICB9LFxuICBcIk15YW5tYXJcIjoge1xuICAgIFwic3RkXCI6IFtcIk1NVFwiLCA2LjVdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDY6MzApIFlhbmdvbiAoUmFuZ29vbilcIlxuICB9LFxuICBcIkNvY29zIElzbGFuZHNcIjoge1xuICAgIFwic3RkXCI6IFtcIkNDVFwiLCA2LjVdXG4gIH0sXG4gIFwiRGF2aXNcIjoge1xuICAgIFwic3RkXCI6IFtcIkRBVlRcIiwgN11cbiAgfSxcbiAgXCJIb3ZkXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJIT1ZUXCIsIDddLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDc6MDApIEhvdmRcIlxuICB9LFxuICBcIk5vdm9zaWJpcnNrXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJOT1ZUXCIsIDddLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDc6MDApIE5vdm9zaWJpcnNrXCJcbiAgfSxcbiAgXCJDaHJpc3RtYXMgSXNsYW5kXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJDWFRcIiwgN11cbiAgfSxcbiAgXCJCcnVuZWkgRGFydXNzYWxhbVwiOiB7XG4gICAgXCJzdGRcIjogW1wiQk5UXCIsIDhdXG4gIH0sXG4gIFwiSG9uZyBLb25nXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJIS1RcIiwgOF1cbiAgfSxcbiAgXCJJcmt1dHNrXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJJUktUXCIsIDhdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDg6MDApIElya3V0c2tcIlxuICB9LFxuICBcIkNlbnRyYWwgSW5kb25lc2lhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJXSVRBXCIsIDhdXG4gIH0sXG4gIFwiUGhpbGlwcGluZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiUEhTVFwiLCA4XVxuICB9LFxuICBcIlNpbmdhcG9yZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiU0dUXCIsIDhdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDg6MDApIEt1YWxhIEx1bXB1ciwgU2luZ2Fwb3JlXCJcbiAgfSxcbiAgXCJUYWlwZWlcIjoge1xuICAgIFwic3RkXCI6IFtcIkNTVFwiLCA4XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzA4OjAwKSBUYWlwZWlcIlxuICB9LFxuICBcIldlc3Rlcm4gQXVzdHJhbGlhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJBV1NUXCIsIDhdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDg6MDApIFBlcnRoXCJcbiAgfSxcbiAgXCJBdXN0cmFsaWFuIENlbnRyYWwgV2VzdGVyblwiOiB7XG4gICAgXCJzdGRcIjogW1wiQUNXU1RcIiwgOC43NV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQyswODo0NSkgRXVjbGFcIlxuICB9LFxuICBcIkVhc3QgVGltb3JcIjoge1xuICAgIFwic3RkXCI6IFtcIlRMVFwiLCA5XVxuICB9LFxuICBcIkVhc3Rlcm4gSW5kb25lc2lhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJXSVRcIiwgOV1cbiAgfSxcbiAgXCJKYXBhblwiOiB7XG4gICAgXCJzdGRcIjogW1wiSlNUXCIsIDldLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMDk6MDApIE9zYWthLCBTYXBwb3JvLCBUb2t5b1wiXG4gIH0sXG4gIFwiUGFsYXVcIjoge1xuICAgIFwic3RkXCI6IFtcIlBXVFwiLCA5XVxuICB9LFxuICBcIkF1c3RyYWxpYW4gQ2VudHJhbFwiOiB7XG4gICAgXCJkdXBlXCI6IHRydWUsXG4gICAgXCJzdGRcIjogW1wiQUNTVFwiLCA5LjVdXG4gIH0sXG4gIFwiRHVtb250LWTigJlVcnZpbGxlXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJDTFNUXCIsIDEwXVxuICB9LFxuICBcIkNodXVrXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJDSFVUXCIsIDEwXVxuICB9LFxuICBcIkxvcmQgSG93ZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiTEhTVFwiLCAxMC41XSxcbiAgICBcImRzdFwiOiBbXCJMSERUXCIsIDExLjVdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTA6MzApIExvcmQgSG93ZSBJc2xhbmRcIlxuICB9LFxuICBcIkNhc2V5XCI6IHtcbiAgICBcInN0ZFwiOiBbXCJDQVNUXCIsIDExXSxcbiAgICBcImRzdFwiOiBbXCJDQVNUXCIsIDgsIFwiQ2FzZXkgU3VtbWVyIFRpbWVcIlxuICAgIF1cbiAgfSxcbiAgXCJNYWdhZGFuXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJNQUdUXCIsIDExXSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzExOjAwKSBNYWdhZGFuXCJcbiAgfSxcbiAgXCJTYWtoYWxpblwiOiB7XG4gICAgXCJzdGRcIjogW1wiU0FLVFwiLCAxMV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQysxMTowMCkgU2FraGFsaW5cIlxuICB9LFxuICBcIlNyZWRuZWtvbHltc2tcIjoge1xuICAgIFwic3RkXCI6IFtcIlNSRVRcIiwgMTFdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTE6MDApIENob2t1cmRha2hcIlxuICB9LFxuICBcIlZhbnVhdHVcIjoge1xuICAgIFwic3RkXCI6IFtcIlZVVFwiLCAxMV1cbiAgfSxcbiAgXCJTb2xvbW9uIElzbGFuZHNcIjoge1xuICAgIFwic3RkXCI6IFtcIlNCVFwiLCAxMV1cbiAgfSxcbiAgXCJLb3NyYWVcIjoge1xuICAgIFwic3RkXCI6IFtcIktPU1RcIiwgMTFdXG4gIH0sXG4gIFwiTmV3IENhbGVkb25pYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiTkNUXCIsIDExXVxuICB9LFxuICBcIlBvbmFwZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiUE9OVFwiLCAxMV1cbiAgfSxcbiAgXCJBbmFkeXJcIjoge1xuICAgIFwic3RkXCI6IFtcIkFOQVRcIiwgMTJdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTI6MDApIEFuYWR5ciwgUGV0cm9wYXZsb3Zzay1LYW1jaGF0c2t5XCJcbiAgfSxcbiAgXCJQZXRyb3BhdmxvdnNrLUthbWNoYXRza2lcIjoge1xuICAgIFwic3RkXCI6IFtcIlBFVFRcIiwgMTJdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTI6MDApIEFuYWR5ciwgUGV0cm9wYXZsb3Zzay1LYW1jaGF0c2t5XCJcbiAgfSxcbiAgXCJGaWppXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJGSlRcIiwgMTJdLFxuICAgIFwiZHN0XCI6IFtcIkZKVFwiLCAxMywgXCJGaWppIFN1bW1lciBUaW1lXCJdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTI6MDApIEZpamlcIlxuICB9LFxuICBcIlR1dmFsdVwiOiB7XG4gICAgXCJzdGRcIjogW1wiVFZUXCIsIDEyXVxuICB9LFxuICBcIk5hdXJ1XCI6IHtcbiAgICBcInN0ZFwiOiBbXCJOUlRcIiwgMTJdXG4gIH0sXG4gIFwiTm9yZm9sayBJc2xhbmRcIjoge1xuICAgIFwic3RkXCI6IFtcIk5GVFwiLCAxMl0sXG4gICAgXCJkc3RcIjogW1wiTkZEVFwiLCAxMV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQysxMTowMCkgTm9yZm9sayBJc2xhbmRcIlxuICB9LFxuICBcIkdpbGJlcnQgSXNsYW5kc1wiOiB7XG4gICAgXCJzdGRcIjogW1wiR0lMVFwiLCAxMl1cbiAgfSxcbiAgXCJXYWtlIElzbGFuZFwiOiB7XG4gICAgXCJzdGRcIjogW1wiV0FLVFwiLCAxMl1cbiAgfSxcbiAgXCJXYWxsaXMgJiBGdXR1bmFcIjoge1xuICAgIFwic3RkXCI6IFtcIldGVFwiLCAxMl1cbiAgfSxcbiAgXCJDaGF0aGFtXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJDSEFTVFwiLCAxMi43NV0sXG4gICAgXCJkc3RcIjogW1wiQ0hBRFRcIiwgMTMuNzVdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMrMTI6NDUpIENoYXRoYW0gSXNsYW5kc1wiXG4gIH0sXG4gIFwiV2VzdCBTYW1vYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiV1NUXCIsIDEzXSxcbiAgICBcImRzdFwiOiBbXCJXU1RcIiwgMTQsIFwiV2VzdCBTYW1vYSBTdW1tZXIgVGltZVwiXG4gICAgXVxuICB9LFxuICBcIlBob2VuaXggSXNsYW5kc1wiOiB7XG4gICAgXCJzdGRcIjogW1wiUEhPVFwiLCAxM11cbiAgfSxcbiAgXCJUb2tlbGF1XCI6IHtcbiAgICBcInN0ZFwiOiBbXCJUS1RcIiwgMTNdXG4gIH0sXG4gIFwiVG9uZ2FcIjoge1xuICAgIFwic3RkXCI6IFtcIlRPVFwiLCAxM10sXG4gICAgXCJsb25nXCI6IFwiKFVUQysxMzowMCkgTnVrdSdhbG9mYVwiXG4gIH0sXG4gIFwiTGluZSBJc2xhbmRzXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJMSU5UXCIsIDE0XSxcbiAgICBcImxvbmdcIjogXCIoVVRDKzE0OjAwKSBLaXJpdGltYXRpIElzbGFuZFwiXG4gIH0sXG4gIFwiTml1ZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiTlVUXCIsIC0xMV1cbiAgfSxcbiAgXCJDb29rIElzbGFuZHNcIjoge1xuICAgIFwic3RkXCI6IFtcIkNLVFwiLCAtMTBdXG4gIH0sXG4gIFwiVGFoaXRpXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJUQUhUXCIsIC0xMF1cbiAgfSxcbiAgXCJNYXJxdWVzYXNcIjoge1xuICAgIFwic3RkXCI6IFtcIk1BUlRcIiwgLTkuNV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wOTozMCkgTWFycXVlc2FzIElzbGFuZHNcIlxuICB9LFxuICBcIkFsZXV0aWFuIFN0YW5kYXJkXCI6IHtcbiAgICBcImlzb1wiOiBcIihVVEMtMTA6MDApIEFsZXV0aWFuIElzbGFuZHNcIixcbiAgICBcInN0ZFwiOiBbXCJIU1RcIiwgLTEwXSxcbiAgICBcImRzdFwiOiBbXCJIRFRcIiwgLTksIFwiSGF3YWlpIERheWxpZ2h0IFRpbWVcIlxuICAgIF1cbiAgfSxcbiAgXCJHYW1iaWVyXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJHQU1UXCIsIC05XSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA5OjAwKSBDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZS0wOVwiXG4gIH0sXG4gIFwiUGl0Y2Fpcm5cIjoge1xuICAgIFwic3RkXCI6IFtcIlBTVFwiLCAtOF0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wODowMCkgQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUtMDhcIlxuICB9LFxuICBcIk5vcnRod2VzdCBNZXhpY29cIjoge1xuICAgIFwic3RkXCI6IFtcIkhOTk9NWFwiLCAtNl0sXG4gICAgXCJkc3RcIjogW1wiSEVOT01YXCIsIC01XSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA4OjAwKSBCYWphIENhbGlmb3JuaWFcIlxuICB9LFxuICBcIkVhc3RlciBJc2xhbmRcIjoge1xuICAgIFwic3RkXCI6IFtcIkVBU1RcIiwgLTZdLFxuICAgIFwiZHN0XCI6IFtcIkVBU1NUXCIsIC01LCBcIkVhc3RlciBJc2xhbmQgU3VtbWVyIFRpbWVcIl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wNjowMCkgRWFzdGVyIElzbGFuZFwiXG4gIH0sXG4gIFwiRWN1YWRvclwiOiB7XG4gICAgXCJzdGRcIjogW1wiRUNUXCIsIC01XVxuICB9LFxuICBcIkN1YmFcIjoge1xuICAgIFwic3RkXCI6IFtcIkhOQ1VcIiwgLTVdLFxuICAgIFwiZHN0XCI6IFtcIkhFQ1VcIiwgLTRdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMtMDU6MDApIEhhdmFuYVwiXG4gIH0sXG4gIFwiUGVydVwiOiB7XG4gICAgXCJzdGRcIjogW1wiUEVUXCIsIC01XVxuICB9LFxuICBcIlBhcmFndWF5XCI6IHtcbiAgICBcInN0ZFwiOiBbXCJQWVRcIiwgLTRdLFxuICAgIFwiZHN0XCI6IFtcIlBZU1RcIiwgLTMsIFwiUGFyYWd1YXkgU3VtbWVyIFRpbWVcIl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wNDowMCkgQXN1bmNpb25cIlxuICB9LFxuICBcIlZlbmV6dWVsYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiVkVUXCIsIC00XSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTA0OjAwKSBDYXJhY2FzXCJcbiAgfSxcbiAgXCJHdXlhbmFcIjoge1xuICAgIFwic3RkXCI6IFtcIkdZVFwiLCAtNF1cbiAgfSxcbiAgXCJCb2xpdmlhXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJCT1RcIiwgLTRdXG4gIH0sXG4gIFwiTmV3Zm91bmRsYW5kXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJITlROXCIsIC0zLjVdLFxuICAgIFwiZHN0XCI6IFtcIkhFVE5cIiwgLTIuNV0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wMzozMCkgTmV3Zm91bmRsYW5kXCJcbiAgfSxcbiAgXCJGcmVuY2ggR3VpYW5hXCI6IHtcbiAgICBcInN0ZFwiOiBbXCJHRlRcIiwgLTNdXG4gIH0sXG4gIFwiV2VzdCBHcmVlbmxhbmRcIjoge1xuICAgIFwic3RkXCI6IFtcIldHVFwiLCAtM10sXG4gICAgXCJkc3RcIjogW1wiV0dTVFwiLCAtMiwgXCJXZXN0IEdyZWVubGFuZCBTdW1tZXIgVGltZVwiXSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTAzOjAwKSBHcmVlbmxhbmRcIlxuICB9LFxuICBcIlN0LiBQaWVycmUgJiBNaXF1ZWxvblwiOiB7XG4gICAgXCJzdGRcIjogW1wiSE5QTVwiLCAtM10sXG4gICAgXCJkc3RcIjogW1wiSEVQTVwiLCAtMl0sXG4gICAgXCJsb25nXCI6IFwiKFVUQy0wMzowMCkgU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvblwiXG4gIH0sXG4gIFwiVXJ1Z3VheVwiOiB7XG4gICAgXCJzdGRcIjogW1wiVVlUXCIsIC0zXSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTAzOjAwKSBNb250ZXZpZGVvXCJcbiAgfSxcbiAgXCJTdXJpbmFtZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiU1JUXCIsIC0zXVxuICB9LFxuICBcIkZhbGtsYW5kIElzbGFuZHNcIjoge1xuICAgIFwic3RkXCI6IFtcIkZLU1RcIiwgLTNdXG4gIH0sXG4gIFwiRmVybmFuZG8gZGUgTm9yb25oYVwiOiB7XG4gICAgXCJzdGRcIjogW1wiRk5UXCIsIC0yXVxuICB9LFxuICBcIlNvdXRoIEdlb3JnaWFcIjoge1xuICAgIFwic3RkXCI6IFtcIkdTVFwiLCAtMl1cbiAgfSxcbiAgXCJBem9yZXNcIjoge1xuICAgIFwic3RkXCI6IFtcIkFaT1RcIiwgLTFdLFxuICAgIFwiZHN0XCI6IFtcIkFaT1NUXCIsIDAsIFwiQXpvcmVzIFN1bW1lciBUaW1lXCJdLFxuICAgIFwibG9uZ1wiOiBcIihVVEMtMDE6MDApIEF6b3Jlc1wiXG4gIH0sXG4gIFwiQ2FwZSBWZXJkZVwiOiB7XG4gICAgXCJzdGRcIjogW1wiQ1ZUXCIsIC0xXSxcbiAgICBcImxvbmdcIjogXCIoVVRDLTAxOjAwKSBDYWJvIFZlcmRlIElzLlwiXG4gIH1cbn07XG5cbi8vIGNvbnN0IG1ldGFzID0gcmVxdWlyZSgnLi4vLi4vZGF0YS8wNS1tZXRhem9uZXMnKVxuLy8gaW1wb3J0IG9mZnNldHMgZnJvbSAnLi9vZmZzZXRzLmpzJ1xuXG5mb3IgKGxldCBpID0gMDsgaSA8PSAxNDsgaSArPSAxKSB7XG4gIG1ldGFzW2BnbXQtJHtpfWBdID0ge1xuICAgIG5hbWU6IGBFdGMvR01ULSR7aX1gLFxuICAgIHN0ZDogW2BHTVQtJHtpfWAsIGldLFxuICAgIGxvbmc6IGAoVVRDLSR7aX06MDApIENvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lYFxuICB9O1xuICBtZXRhc1tgZ210KyR7aX1gXSA9IHtcbiAgICBuYW1lOiBgRXRjL0dNVCske2l9YCxcbiAgICBzdGQ6IFtgR01UKyR7aX1gLCAtaV0sXG4gICAgbG9uZzogYChVVEMrJHtpfTowMCkgQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWVgXG4gIH07XG59XG5cbmNvbnN0IGRpc3BsYXkgPSBmdW5jdGlvbiAoaWQpIHtcbiAgaWYgKCFpZCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgaWYgKCF6b25lc1tpZF0pIHtcbiAgICBjb25zb2xlLmVycm9yKGBtaXNzaW5nIGlkICR7aWR9YCk7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBsZXQgbWV0YU5hbWUgPSB6b25lc1tpZF0ubWV0YTtcbiAgaWYgKCFtZXRhc1ttZXRhTmFtZV0pIHtcbiAgICBjb25zb2xlLmVycm9yKGBtaXNzaW5nIHR6LW1ldGEgJHttZXRhTmFtZX1gKTtcbiAgfVxuICBsZXQgbWV0YSA9IG1ldGFzW21ldGFOYW1lXSB8fCB7fTtcbiAgbGV0IGRzdCA9IG51bGw7XG4gIGlmICh6b25lc1tpZF0uZHN0ICYmIG1ldGEuZHN0KSB7XG4gICAgbGV0IFthYmJyLCBvZmZzZXQsIG5hbWVdID0gbWV0YS5kc3Q7XG4gICAgbmFtZSA9IG5hbWUgfHwgYCR7bWV0YU5hbWV9IERheWxpZ2h0IFRpbWVgO1xuICAgIGxldCBbc3RhcnQsIGVuZF0gPSB6b25lc1tpZF0uZHN0IHx8IFtdO1xuICAgIGRzdCA9IHsgYWJiciwgb2Zmc2V0LCBuYW1lLCBzdGFydCwgZW5kIH07XG4gIH1cblxuICBsZXQgW2FiYnIsIG9mZnNldF0gPSBtZXRhLnN0ZDtcbiAgbGV0IG5hbWUgPSBtZXRhLm5hbWUgfHwgYCR7bWV0YU5hbWV9IFRpbWVgO1xuICBsZXQgbG9uZyA9IG1ldGEubG9uZyB8fCBgKFVUQyske29mZnNldH06MDApICR7bmFtZX1gO1xuICByZXR1cm4ge1xuICAgIG5hbWU6IG5hbWUsXG4gICAgaWFuYTogaWQsXG4gICAgc3RhbmRhcmQ6IHsgYWJiciwgb2Zmc2V0LCBuYW1lOiBtZXRhLm5hbWUgfHwgYCR7bWV0YU5hbWV9IFN0YW5kYXJkIFRpbWVgLCB9LFxuICAgIGRheWxpZ2h0OiBkc3QgfHwgbnVsbCxcbiAgICBsb25nOiBsb25nLFxuICB9XG59O1xudmFyIGRpc3BsYXkkMSA9IGRpc3BsYXk7XG5cbnZhciB2ZXJzaW9uID0gJzEuNS4yJztcblxuY29uc3Qgc29mdCA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgbGV0IGlkcyA9IGZpbmQkMShzdHIpIHx8IFtdO1xuICBpZiAodHlwZW9mIGlkcyA9PT0gJ3N0cmluZycpIHtcbiAgICBpZHMgPSBbaWRzXTtcbiAgfVxuICBpZHMgPSBpZHMubWFwKChpZCkgPT4gZGlzcGxheSQxKGlkKSk7XG4gIHJldHVybiBpZHNcbn07XG5zb2Z0LnByb3RvdHlwZS52ZXJzaW9uID0gdmVyc2lvbjtcbi8vIGV4cG9ydCB7IGZpbmQsIGRpc3BsYXksIHZlcnNpb24gfVxuXG5leHBvcnQgeyBzb2Z0IGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/timezone-soft/builds/timezone-soft.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select-country-list/data-native.json":
|
||
/*!*****************************************************************!*\
|
||
!*** ./node_modules/react-select-country-list/data-native.json ***!
|
||
\*****************************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
module.exports = /*#__PURE__*/JSON.parse('[{"value":"AF","label":"افغانستان"},{"value":"AX","label":"Åland"},{"value":"AL","label":"Shqipëria"},{"value":"DZ","label":"الجزائر"},{"value":"AS","label":"American Samoa"},{"value":"AD","label":"Andorra"},{"value":"AO","label":"Angola"},{"value":"AI","label":"Anguilla"},{"value":"AQ","label":"Antarctica"},{"value":"AG","label":"Antigua and Barbuda"},{"value":"AR","label":"Argentina"},{"value":"AM","label":"Հայաստան"},{"value":"AW","label":"Aruba"},{"value":"AU","label":"Australia"},{"value":"AT","label":"Österreich"},{"value":"AZ","label":"Azərbaycan"},{"value":"BS","label":"Bahamas"},{"value":"BH","label":"البحرين"},{"value":"BD","label":"Bangladesh"},{"value":"BB","label":"Barbados"},{"value":"BY","label":"Белару́сь"},{"value":"BE","label":"België"},{"value":"BZ","label":"Belize"},{"value":"BJ","label":"Bénin"},{"value":"BM","label":"Bermuda"},{"value":"BT","label":"ʼbrug-yul"},{"value":"BO","label":"Bolivia"},{"value":"BQ","label":"Bonaire"},{"value":"BA","label":"Bosna i Hercegovina"},{"value":"BW","label":"Botswana"},{"value":"BV","label":"Bouvetøya"},{"value":"BR","label":"Brasil"},{"value":"IO","label":"British Indian Ocean Territory"},{"value":"BN","label":"Negara Brunei Darussalam"},{"value":"BG","label":"България"},{"value":"BF","label":"Burkina Faso"},{"value":"BI","label":"Burundi"},{"value":"KH","label":"Kâmpŭchéa"},{"value":"CM","label":"Cameroon"},{"value":"CA","label":"Canada"},{"value":"CV","label":"Cabo Verde"},{"value":"KY","label":"Cayman Islands"},{"value":"CF","label":"Ködörösêse tî Bêafrîka"},{"value":"TD","label":"Tchad"},{"value":"CL","label":"Chile"},{"value":"CN","label":"中国"},{"value":"CX","label":"Christmas Island"},{"value":"CC","label":"Cocos (Keeling) Islands"},{"value":"CO","label":"Colombia"},{"value":"KM","label":"Komori"},{"value":"CG","label":"République du Congo"},{"value":"CD","label":"République démocratique du Congo"},{"value":"CK","label":"Cook Islands"},{"value":"CR","label":"Costa Rica"},{"value":"CI","label":"Côte d\'Ivoire"},{"value":"HR","label":"Hrvatska"},{"value":"CU","label":"Cuba"},{"value":"CW","label":"Curaçao"},{"value":"CY","label":"Κύπρος"},{"value":"CZ","label":"Česká republika"},{"value":"DK","label":"Danmark"},{"value":"DJ","label":"Djibouti"},{"value":"DM","label":"Dominica"},{"value":"DO","label":"República Dominicana"},{"value":"EC","label":"Ecuador"},{"value":"EG","label":"مصر"},{"value":"SV","label":"El Salvador"},{"value":"GQ","label":"Guinea Ecuatorial"},{"value":"ER","label":"ኤርትራ"},{"value":"EE","label":"Eesti"},{"value":"ET","label":"ኢትዮጵያ"},{"value":"FK","label":"Falkland Islands"},{"value":"FO","label":"Føroyar"},{"value":"FJ","label":"Fiji"},{"value":"FI","label":"Suomi"},{"value":"FR","label":"France"},{"value":"GF","label":"Guyane française"},{"value":"PF","label":"Polynésie française"},{"value":"TF","label":"Territoire des Terres australes et antarctiques fr"},{"value":"GA","label":"Gabon"},{"value":"GM","label":"Gambia"},{"value":"GE","label":"საქართველო"},{"value":"DE","label":"Deutschland"},{"value":"GH","label":"Ghana"},{"value":"GI","label":"Gibraltar"},{"value":"GR","label":"Ελλάδα"},{"value":"GL","label":"Kalaallit Nunaat"},{"value":"GD","label":"Grenada"},{"value":"GP","label":"Guadeloupe"},{"value":"GU","label":"Guam"},{"value":"GT","label":"Guatemala"},{"value":"GG","label":"Guernsey"},{"value":"GN","label":"Guinée"},{"value":"GW","label":"Guiné-Bissau"},{"value":"GY","label":"Guyana"},{"value":"HT","label":"Haïti"},{"value":"HM","label":"Heard Island and McDonald Islands"},{"value":"VA","label":"Vaticano"},{"value":"HN","label":"Honduras"},{"value":"HK","label":"香港"},{"value":"HU","label":"Magyarország"},{"value":"IS","label":"Ísland"},{"value":"IN","label":"भारत"},{"value":"ID","label":"Indonesia"},{"value":"IR","label":"ایران"},{"value":"IQ","label":"العراق"},{"value":"IE","label":"Éire"},{"value":"IM","label":"Isle of Man"},{"value":"IL","label":"יִשְׂרָאֵל"},{"value":"IT","label":"Italia"},{"value":"JM","label":"Jamaica"},{"value":"JP","label":"日本"},{"value":"JE","label":"Jersey"},{"value":"JO","label":"الأردن"},{"value":"KZ","label":"Қазақстан"},{"value":"KE","label":"Kenya"},{"value":"KI","label":"Kiribati"},{"value":"KP","label":"북한"},{"value":"KR","label":"대한민국"},{"value":"KW","label":"الكويت"},{"value":"KG","label":"Кыргызстан"},{"value":"LA","label":"ສປປລາວ"},{"value":"LV","label":"Latvija"},{"value":"LB","label":"لبنان"},{"value":"LS","label":"Lesotho"},{"value":"LR","label":"Liberia"},{"value":"LY","label":"ليبيا"},{"value":"LI","label":"Liechtenstein"},{"value":"LT","label":"Lietuva"},{"value":"LU","label":"Luxembourg"},{"value":"MO","label":"澳門"},{"value":"MK","label":"Северна Македонија"},{"value":"MG","label":"Madagasikara"},{"value":"MW","label":"Malawi"},{"value":"MY","label":"Malaysia"},{"value":"MV","label":"Maldives"},{"value":"ML","label":"Mali"},{"value":"MT","label":"Malta"},{"value":"MH","label":"M̧ajeļ"},{"value":"MQ","label":"Martinique"},{"value":"MR","label":"موريتانيا"},{"value":"MU","label":"Maurice"},{"value":"YT","label":"Mayotte"},{"value":"MX","label":"México"},{"value":"FM","label":"Micronesia"},{"value":"MD","label":"Moldova"},{"value":"MC","label":"Monaco"},{"value":"MN","label":"Монгол улс"},{"value":"ME","label":"Црна Гора"},{"value":"MS","label":"Montserrat"},{"value":"MA","label":"المغرب"},{"value":"MZ","label":"Moçambique"},{"value":"MM","label":"မြန်မာ"},{"value":"NA","label":"Namibia"},{"value":"NR","label":"Nauru"},{"value":"NP","label":"नपल"},{"value":"NL","label":"Nederland"},{"value":"NC","label":"Nouvelle-Calédonie"},{"value":"NZ","label":"New Zealand"},{"value":"NI","label":"Nicaragua"},{"value":"NE","label":"Niger"},{"value":"NG","label":"Nigeria"},{"value":"NU","label":"Niuē"},{"value":"NF","label":"Norfolk Island"},{"value":"MP","label":"Northern Mariana Islands"},{"value":"NO","label":"Norge"},{"value":"OM","label":"عمان"},{"value":"PK","label":"Pakistan"},{"value":"PW","label":"Palau"},{"value":"PS","label":"فلسطين"},{"value":"PA","label":"Panamá"},{"value":"PG","label":"Papua Niugini"},{"value":"PY","label":"Paraguay"},{"value":"PE","label":"Perú"},{"value":"PH","label":"Pilipinas"},{"value":"PN","label":"Pitcairn Islands"},{"value":"PL","label":"Polska"},{"value":"PT","label":"Portugal"},{"value":"PR","label":"Puerto Rico"},{"value":"QA","label":"قطر"},{"value":"RE","label":"La Réunion"},{"value":"RO","label":"România"},{"value":"RU","label":"Россия"},{"value":"RW","label":"Rwanda"},{"value":"BL","label":"Saint-Barthélemy"},{"value":"SH","label":"Saint Helena"},{"value":"KN","label":"Saint Kitts and Nevis"},{"value":"LC","label":"Saint Lucia"},{"value":"MF","label":"Saint-Martin"},{"value":"PM","label":"Saint-Pierre-et-Miquelon"},{"value":"VC","label":"Saint Vincent and the Grenadines"},{"value":"WS","label":"Samoa"},{"value":"SM","label":"San Marino"},{"value":"ST","label":"São Tomé e Príncipe"},{"value":"SA","label":"العربية السعودية"},{"value":"SN","label":"Sénégal"},{"value":"RS","label":"Србија"},{"value":"SC","label":"Seychelles"},{"value":"SL","label":"Sierra Leone"},{"value":"SG","label":"Singapore"},{"value":"SX","label":"Sint Maarten"},{"value":"SK","label":"Slovensko"},{"value":"SI","label":"Slovenija"},{"value":"SB","label":"Solomon Islands"},{"value":"SO","label":"Soomaaliya"},{"value":"ZA","label":"South Africa"},{"value":"GS","label":"South Georgia"},{"value":"SS","label":"South Sudan"},{"value":"ES","label":"España"},{"value":"LK","label":"śrī laṃkāva"},{"value":"SD","label":"السودان"},{"value":"SR","label":"Suriname"},{"value":"SJ","label":"Svalbard og Jan Mayen"},{"value":"SZ","label":"Swaziland"},{"value":"SE","label":"Sverige"},{"value":"CH","label":"Schweiz"},{"value":"SY","label":"سوريا"},{"value":"TW","label":"臺灣"},{"value":"TJ","label":"Тоҷикистон"},{"value":"TZ","label":"Tanzania"},{"value":"TH","label":"ประเทศไทย"},{"value":"TL","label":"Timor-Leste"},{"value":"TG","label":"Togo"},{"value":"TK","label":"Tokelau"},{"value":"TO","label":"Tonga"},{"value":"TT","label":"Trinidad and Tobago"},{"value":"TN","label":"تونس"},{"value":"TR","label":"Türkiye"},{"value":"TM","label":"Türkmenistan"},{"value":"TC","label":"Turks and Caicos Islands"},{"value":"TV","label":"Tuvalu"},{"value":"UG","label":"Uganda"},{"value":"UA","label":"Україна"},{"value":"AE","label":"دولة الإمارات العربية المتحدة"},{"value":"GB","label":"United Kingdom"},{"value":"US","label":"United States"},{"value":"UM","label":"United States Minor Outlying Islands"},{"value":"UY","label":"Uruguay"},{"value":"UZ","label":"O‘zbekiston"},{"value":"VU","label":"Vanuatu"},{"value":"VE","label":"Venezuela"},{"value":"VN","label":"Việt Nam"},{"value":"VG","label":"British Virgin Islands"},{"value":"VI","label":"United States Virgin Islands"},{"value":"WF","label":"Wallis et Futuna"},{"value":"EH","label":"الصحراء الغربية"},{"value":"YE","label":"اليَمَن"},{"value":"ZM","label":"Zambia"},{"value":"ZW","label":"Zimbabwe"}]');
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/react-select-country-list/data.json":
|
||
/*!**********************************************************!*\
|
||
!*** ./node_modules/react-select-country-list/data.json ***!
|
||
\**********************************************************/
|
||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
module.exports = /*#__PURE__*/JSON.parse('[{"value":"AF","label":"Afghanistan"},{"value":"AX","label":"Åland Islands"},{"value":"AL","label":"Albania"},{"value":"DZ","label":"Algeria"},{"value":"AS","label":"American Samoa"},{"value":"AD","label":"Andorra"},{"value":"AO","label":"Angola"},{"value":"AI","label":"Anguilla"},{"value":"AQ","label":"Antarctica"},{"value":"AG","label":"Antigua and Barbuda"},{"value":"AR","label":"Argentina"},{"value":"AM","label":"Armenia"},{"value":"AW","label":"Aruba"},{"value":"AU","label":"Australia"},{"value":"AT","label":"Austria"},{"value":"AZ","label":"Azerbaijan"},{"value":"BS","label":"Bahamas"},{"value":"BH","label":"Bahrain"},{"value":"BD","label":"Bangladesh"},{"value":"BB","label":"Barbados"},{"value":"BY","label":"Belarus"},{"value":"BE","label":"Belgium"},{"value":"BZ","label":"Belize"},{"value":"BJ","label":"Benin"},{"value":"BM","label":"Bermuda"},{"value":"BT","label":"Bhutan"},{"value":"BO","label":"Bolivia, Plurinational State of"},{"value":"BQ","label":"Bonaire, Sint Eustatius and Saba"},{"value":"BA","label":"Bosnia and Herzegovina"},{"value":"BW","label":"Botswana"},{"value":"BV","label":"Bouvet Island"},{"value":"BR","label":"Brazil"},{"value":"IO","label":"British Indian Ocean Territory"},{"value":"BN","label":"Brunei Darussalam"},{"value":"BG","label":"Bulgaria"},{"value":"BF","label":"Burkina Faso"},{"value":"BI","label":"Burundi"},{"value":"CV","label":"Cabo Verde"},{"value":"KH","label":"Cambodia"},{"value":"CM","label":"Cameroon"},{"value":"CA","label":"Canada"},{"value":"KY","label":"Cayman Islands"},{"value":"CF","label":"Central African Republic"},{"value":"TD","label":"Chad"},{"value":"CL","label":"Chile"},{"value":"CN","label":"China"},{"value":"CX","label":"Christmas Island"},{"value":"CC","label":"Cocos (Keeling) Islands"},{"value":"CO","label":"Colombia"},{"value":"KM","label":"Comoros"},{"value":"CG","label":"Congo"},{"value":"CD","label":"Congo, Democratic Republic of the"},{"value":"CK","label":"Cook Islands"},{"value":"CR","label":"Costa Rica"},{"value":"HR","label":"Croatia"},{"value":"CU","label":"Cuba"},{"value":"CW","label":"Curaçao"},{"value":"CY","label":"Cyprus"},{"value":"CZ","label":"Czechia"},{"value":"CI","label":"Côte d\'Ivoire"},{"value":"DK","label":"Denmark"},{"value":"DJ","label":"Djibouti"},{"value":"DM","label":"Dominica"},{"value":"DO","label":"Dominican Republic"},{"value":"EC","label":"Ecuador"},{"value":"EG","label":"Egypt"},{"value":"SV","label":"El Salvador"},{"value":"GQ","label":"Equatorial Guinea"},{"value":"ER","label":"Eritrea"},{"value":"EE","label":"Estonia"},{"value":"SZ","label":"Eswatini"},{"value":"ET","label":"Ethiopia"},{"value":"FK","label":"Falkland Islands (Malvinas)"},{"value":"FO","label":"Faroe Islands"},{"value":"FJ","label":"Fiji"},{"value":"FI","label":"Finland"},{"value":"FR","label":"France"},{"value":"GF","label":"French Guiana"},{"value":"PF","label":"French Polynesia"},{"value":"TF","label":"French Southern Territories"},{"value":"GA","label":"Gabon"},{"value":"GM","label":"Gambia"},{"value":"GE","label":"Georgia"},{"value":"DE","label":"Germany"},{"value":"GH","label":"Ghana"},{"value":"GI","label":"Gibraltar"},{"value":"GR","label":"Greece"},{"value":"GL","label":"Greenland"},{"value":"GD","label":"Grenada"},{"value":"GP","label":"Guadeloupe"},{"value":"GU","label":"Guam"},{"value":"GT","label":"Guatemala"},{"value":"GG","label":"Guernsey"},{"value":"GN","label":"Guinea"},{"value":"GW","label":"Guinea-Bissau"},{"value":"GY","label":"Guyana"},{"value":"HT","label":"Haiti"},{"value":"HM","label":"Heard Island and McDonald Islands"},{"value":"VA","label":"Holy See"},{"value":"HN","label":"Honduras"},{"value":"HK","label":"Hong Kong"},{"value":"HU","label":"Hungary"},{"value":"IS","label":"Iceland"},{"value":"IN","label":"India"},{"value":"ID","label":"Indonesia"},{"value":"IR","label":"Iran, Islamic Republic of"},{"value":"IQ","label":"Iraq"},{"value":"IE","label":"Ireland"},{"value":"IM","label":"Isle of Man"},{"value":"IL","label":"Israel"},{"value":"IT","label":"Italy"},{"value":"JM","label":"Jamaica"},{"value":"JP","label":"Japan"},{"value":"JE","label":"Jersey"},{"value":"JO","label":"Jordan"},{"value":"KZ","label":"Kazakhstan"},{"value":"KE","label":"Kenya"},{"value":"KI","label":"Kiribati"},{"value":"KP","label":"Korea, Democratic People\'s Republic of"},{"value":"KR","label":"Korea, Republic of"},{"value":"KW","label":"Kuwait"},{"value":"KG","label":"Kyrgyzstan"},{"value":"LA","label":"Lao People\'s Democratic Republic"},{"value":"LV","label":"Latvia"},{"value":"LB","label":"Lebanon"},{"value":"LS","label":"Lesotho"},{"value":"LR","label":"Liberia"},{"value":"LY","label":"Libya"},{"value":"LI","label":"Liechtenstein"},{"value":"LT","label":"Lithuania"},{"value":"LU","label":"Luxembourg"},{"value":"MO","label":"Macao"},{"value":"MG","label":"Madagascar"},{"value":"MW","label":"Malawi"},{"value":"MY","label":"Malaysia"},{"value":"MV","label":"Maldives"},{"value":"ML","label":"Mali"},{"value":"MT","label":"Malta"},{"value":"MH","label":"Marshall Islands"},{"value":"MQ","label":"Martinique"},{"value":"MR","label":"Mauritania"},{"value":"MU","label":"Mauritius"},{"value":"YT","label":"Mayotte"},{"value":"MX","label":"Mexico"},{"value":"FM","label":"Micronesia, Federated States of"},{"value":"MD","label":"Moldova, Republic of"},{"value":"MC","label":"Monaco"},{"value":"MN","label":"Mongolia"},{"value":"ME","label":"Montenegro"},{"value":"MS","label":"Montserrat"},{"value":"MA","label":"Morocco"},{"value":"MZ","label":"Mozambique"},{"value":"MM","label":"Myanmar"},{"value":"NA","label":"Namibia"},{"value":"NR","label":"Nauru"},{"value":"NP","label":"Nepal"},{"value":"NL","label":"Netherlands"},{"value":"NC","label":"New Caledonia"},{"value":"NZ","label":"New Zealand"},{"value":"NI","label":"Nicaragua"},{"value":"NE","label":"Niger"},{"value":"NG","label":"Nigeria"},{"value":"NU","label":"Niue"},{"value":"NF","label":"Norfolk Island"},{"value":"MK","label":"North Macedonia"},{"value":"MP","label":"Northern Mariana Islands"},{"value":"NO","label":"Norway"},{"value":"OM","label":"Oman"},{"value":"PK","label":"Pakistan"},{"value":"PW","label":"Palau"},{"value":"PS","label":"Palestine, State of"},{"value":"PA","label":"Panama"},{"value":"PG","label":"Papua New Guinea"},{"value":"PY","label":"Paraguay"},{"value":"PE","label":"Peru"},{"value":"PH","label":"Philippines"},{"value":"PN","label":"Pitcairn"},{"value":"PL","label":"Poland"},{"value":"PT","label":"Portugal"},{"value":"PR","label":"Puerto Rico"},{"value":"QA","label":"Qatar"},{"value":"RO","label":"Romania"},{"value":"RU","label":"Russian Federation"},{"value":"RW","label":"Rwanda"},{"value":"RE","label":"Réunion"},{"value":"BL","label":"Saint Barthélemy"},{"value":"SH","label":"Saint Helena, Ascension and Tristan da Cunha"},{"value":"KN","label":"Saint Kitts and Nevis"},{"value":"LC","label":"Saint Lucia"},{"value":"MF","label":"Saint Martin (French part)"},{"value":"PM","label":"Saint Pierre and Miquelon"},{"value":"VC","label":"Saint Vincent and the Grenadines"},{"value":"WS","label":"Samoa"},{"value":"SM","label":"San Marino"},{"value":"ST","label":"Sao Tome and Principe"},{"value":"SA","label":"Saudi Arabia"},{"value":"SN","label":"Senegal"},{"value":"RS","label":"Serbia"},{"value":"SC","label":"Seychelles"},{"value":"SL","label":"Sierra Leone"},{"value":"SG","label":"Singapore"},{"value":"SX","label":"Sint Maarten (Dutch part)"},{"value":"SK","label":"Slovakia"},{"value":"SI","label":"Slovenia"},{"value":"SB","label":"Solomon Islands"},{"value":"SO","label":"Somalia"},{"value":"ZA","label":"South Africa"},{"value":"GS","label":"South Georgia and the South Sandwich Islands"},{"value":"SS","label":"South Sudan"},{"value":"ES","label":"Spain"},{"value":"LK","label":"Sri Lanka"},{"value":"SD","label":"Sudan"},{"value":"SR","label":"Suriname"},{"value":"SJ","label":"Svalbard and Jan Mayen"},{"value":"SE","label":"Sweden"},{"value":"CH","label":"Switzerland"},{"value":"SY","label":"Syrian Arab Republic"},{"value":"TW","label":"Taiwan, Province of China"},{"value":"TJ","label":"Tajikistan"},{"value":"TZ","label":"Tanzania, United Republic of"},{"value":"TH","label":"Thailand"},{"value":"TL","label":"Timor-Leste"},{"value":"TG","label":"Togo"},{"value":"TK","label":"Tokelau"},{"value":"TO","label":"Tonga"},{"value":"TT","label":"Trinidad and Tobago"},{"value":"TN","label":"Tunisia"},{"value":"TR","label":"Turkey"},{"value":"TM","label":"Turkmenistan"},{"value":"TC","label":"Turks and Caicos Islands"},{"value":"TV","label":"Tuvalu"},{"value":"UG","label":"Uganda"},{"value":"UA","label":"Ukraine"},{"value":"AE","label":"United Arab Emirates"},{"value":"GB","label":"United Kingdom"},{"value":"UM","label":"United States Minor Outlying Islands"},{"value":"US","label":"United States"},{"value":"UY","label":"Uruguay"},{"value":"UZ","label":"Uzbekistan"},{"value":"VU","label":"Vanuatu"},{"value":"VE","label":"Venezuela, Bolivarian Republic of"},{"value":"VN","label":"Viet Nam"},{"value":"VG","label":"Virgin Islands, British"},{"value":"VI","label":"Virgin Islands, U.S."},{"value":"WF","label":"Wallis and Futuna"},{"value":"EH","label":"Western Sahara"},{"value":"YE","label":"Yemen"},{"value":"ZM","label":"Zambia"},{"value":"ZW","label":"Zimbabwe"}]');
|
||
|
||
/***/ })
|
||
|
||
},
|
||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
||
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
||
/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5Ccompany_projects%5C%5Cverify%20pack%5C%5Cfrontend%5C%5Capp%5C%5Cdashboard%5C%5Csettings%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"); });
|
||
/******/ var __webpack_exports__ = __webpack_require__.O();
|
||
/******/ _N_E = __webpack_exports__;
|
||
/******/ }
|
||
]); |