305 lines
618 KiB
JavaScript
305 lines
618 KiB
JavaScript
"use strict";
|
|
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
exports.id = "vendor-chunks/@radix-ui";
|
|
exports.ids = ["vendor-chunks/@radix-ui"];
|
|
exports.modules = {
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/number/dist/index.mjs":
|
|
/*!******************************************************!*\
|
|
!*** ./node_modules/@radix-ui/number/dist/index.mjs ***!
|
|
\******************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clamp: () => (/* binding */ clamp)\n/* harmony export */ });\n// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL251bWJlci9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvbnVtYmVyL2Rpc3QvaW5kZXgubWpzPzgxNzgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvY29yZS9udW1iZXIvc3JjL251bWJlci50c1xuZnVuY3Rpb24gY2xhbXAodmFsdWUsIFttaW4sIG1heF0pIHtcbiAgcmV0dXJuIE1hdGgubWluKG1heCwgTWF0aC5tYXgobWluLCB2YWx1ZSkpO1xufVxuZXhwb3J0IHtcbiAgY2xhbXBcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs":
|
|
/*!*********************************************************!*\
|
|
!*** ./node_modules/@radix-ui/primitive/dist/index.mjs ***!
|
|
\*********************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ composeEventHandlers: () => (/* binding */ composeEventHandlers)\n/* harmony export */ });\n// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3ByaW1pdGl2ZS9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQSx1RUFBdUUsa0NBQWtDLElBQUk7QUFDN0c7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcHJpbWl0aXZlL2Rpc3QvaW5kZXgubWpzPzcxNmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvY29yZS9wcmltaXRpdmUvc3JjL3ByaW1pdGl2ZS50c3hcbmZ1bmN0aW9uIGNvbXBvc2VFdmVudEhhbmRsZXJzKG9yaWdpbmFsRXZlbnRIYW5kbGVyLCBvdXJFdmVudEhhbmRsZXIsIHsgY2hlY2tGb3JEZWZhdWx0UHJldmVudGVkID0gdHJ1ZSB9ID0ge30pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGhhbmRsZUV2ZW50KGV2ZW50KSB7XG4gICAgb3JpZ2luYWxFdmVudEhhbmRsZXI/LihldmVudCk7XG4gICAgaWYgKGNoZWNrRm9yRGVmYXVsdFByZXZlbnRlZCA9PT0gZmFsc2UgfHwgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybiBvdXJFdmVudEhhbmRsZXI/LihldmVudCk7XG4gICAgfVxuICB9O1xufVxuZXhwb3J0IHtcbiAgY29tcG9zZUV2ZW50SGFuZGxlcnNcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-accordion/dist/index.mjs":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-accordion/dist/index.mjs ***!
|
|
\***************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Accordion: () => (/* binding */ Accordion),\n/* harmony export */ AccordionContent: () => (/* binding */ AccordionContent),\n/* harmony export */ AccordionHeader: () => (/* binding */ AccordionHeader),\n/* harmony export */ AccordionItem: () => (/* binding */ AccordionItem),\n/* harmony export */ AccordionTrigger: () => (/* binding */ AccordionTrigger),\n/* harmony export */ Content: () => (/* binding */ Content2),\n/* harmony export */ Header: () => (/* binding */ Header),\n/* harmony export */ Item: () => (/* binding */ Item),\n/* harmony export */ Root: () => (/* binding */ Root2),\n/* harmony export */ Trigger: () => (/* binding */ Trigger2),\n/* harmony export */ createAccordionScope: () => (/* binding */ createAccordionScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-collection */ \"(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-collapsible */ \"(ssr)/./node_modules/@radix-ui/react-collapsible/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_id__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-id */ \"(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-direction */ \"(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Accordion,AccordionContent,AccordionHeader,AccordionItem,AccordionTrigger,Content,Header,Item,Root,Trigger,createAccordionScope auto */ // packages/react/accordion/src/Accordion.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\n \"Home\",\n \"End\",\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\"\n];\nvar [Collection, useCollection, createCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_2__.createCollection)(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_3__.createContextScope)(ACCORDION_NAME, [\n createCollectionScope,\n _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_4__.createCollapsibleScope\n]);\nvar useCollapsibleScope = (0,_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_4__.createCollapsibleScope)();\nvar Accordion = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.Provider, {\n scope: props.__scopeAccordion,\n children: type === \"multiple\" ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionImplMultiple, {\n ...multipleProps,\n ref: forwardedRef\n }) : /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionImplSingle, {\n ...singleProps,\n ref: forwardedRef\n })\n });\n});\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(ACCORDION_NAME, {\n collapsible: false\n});\nvar AccordionImplSingle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { value: valueProp, defaultValue, onValueChange = ()=>{}, collapsible = false, ...accordionSingleProps } = props;\n const [value, setValue] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_5__.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionValueProvider, {\n scope: props.__scopeAccordion,\n value: value ? [\n value\n ] : [],\n onItemOpen: setValue,\n onItemClose: react__WEBPACK_IMPORTED_MODULE_0__.useCallback(()=>collapsible && setValue(\"\"), [\n collapsible,\n setValue\n ]),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionCollapsibleProvider, {\n scope: props.__scopeAccordion,\n collapsible,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionImpl, {\n ...accordionSingleProps,\n ref: forwardedRef\n })\n })\n });\n});\nvar AccordionImplMultiple = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { value: valueProp, defaultValue, onValueChange = ()=>{}, ...accordionMultipleProps } = props;\n const [value = [], setValue] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_5__.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleItemOpen = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((itemValue)=>setValue((prevValue = [])=>[\n ...prevValue,\n itemValue\n ]), [\n setValue\n ]);\n const handleItemClose = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value2)=>value2 !== itemValue)), [\n setValue\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionValueProvider, {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionCollapsibleProvider, {\n scope: props.__scopeAccordion,\n collapsible: true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionImpl, {\n ...accordionMultipleProps,\n ref: forwardedRef\n })\n })\n });\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_6__.useComposedRefs)(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = (0,_radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_7__.useDirection)(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_8__.composeEventHandlers)(props.onKeyDown, (event)=>{\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item)=>!item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item)=>item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = ()=>{\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = ()=>{\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch(event.key){\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionImplProvider, {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.Slot, {\n scope: __scopeAccordion,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.div, {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n })\n })\n });\n});\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_10__.useId)();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(AccordionItemProvider, {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_4__.Root, {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2)=>{\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n })\n });\n});\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.h3, {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n });\n});\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.ItemSlot, {\n scope: __scopeAccordion,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_4__.Trigger, {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n })\n });\n});\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_4__.Content, {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n });\n});\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWFjY29yZGlvbi9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFrQjtBQUNpQjtBQUNGO0FBQ0Q7QUFDSztBQUNBO0FBQ1g7QUFDWTtBQUNDO0FBQ2pCO0FBR087QUFxQ25CO0FBN0JWLElBQU1ZLGlCQUFpQjtBQUN2QixJQUFNQyxpQkFBaUI7SUFBQztJQUFRO0lBQU87SUFBYTtJQUFXO0lBQWE7Q0FBWTtBQUV4RixJQUFNLENBQUNDLFlBQVlDLGVBQWVDLHNCQUFxQixHQUNyRGQsNEVBQWdCQSxDQUEwQlU7QUFHNUMsSUFBTSxDQUFDSyx3QkFBd0JDLHFCQUFvQixHQUFJakIsMkVBQWtCQSxDQUFDVyxnQkFBZ0I7SUFDeEZJO0lBQ0FSLCtFQUFzQkE7Q0FDdkI7QUFDRCxJQUFNVyxzQkFBc0JYLG1GQUFzQkE7QUFVbEQsSUFBTVksMEJBQVlwQiw2Q0FBTSxDQUN0QixDQUFDc0IsT0FBbUVDO0lBQ2xFLE1BQU0sRUFBRUMsSUFBQSxFQUFNLEdBQUdDLGdCQUFlLEdBQUlIO0lBQ3BDLE1BQU1JLGNBQWNEO0lBQ3BCLE1BQU1FLGdCQUFnQkY7SUFDdEIsT0FDRSxnQkFBQWQsc0RBQUFBLENBQUNHLFdBQVdjLFFBQUEsRUFBWDtRQUFvQkMsT0FBT1AsTUFBTVEsZ0JBQUE7UUFDL0JDLFVBQUFQLFNBQVMsYUFDUixnQkFBQWIsc0RBQUFBLENBQUNxQix1QkFBQTtZQUF1QixHQUFHTCxhQUFBO1lBQWVNLEtBQUtWO1FBQUEsS0FFL0MsZ0JBQUFaLHNEQUFBQSxDQUFDdUIscUJBQUE7WUFBcUIsR0FBR1IsV0FBQTtZQUFhTyxLQUFLVjtRQUFBO0lBQWM7QUFJakU7QUFHRkgsVUFBVWUsV0FBQSxHQUFjdkI7QUFVeEIsSUFBTSxDQUFDd0Isd0JBQXdCQyx5QkFBd0IsR0FDckRwQix1QkFBbURMO0FBRXJELElBQU0sQ0FBQzBCLDhCQUE4QkMsK0JBQThC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SUFBTTZCLFNBQVNsQjtBQUNmLElBQU1TLFdBQVVKO0FBQ2hCLElBQU1TLFdBQVVGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uLi9zcmMvQWNjb3JkaW9uLnRzeD8xOTJjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5pbXBvcnQgeyBjcmVhdGVDb2xsZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmcyc7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gJ0ByYWRpeC11aS9wcmltaXRpdmUnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtdXNlLWNvbnRyb2xsYWJsZS1zdGF0ZSc7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcbmltcG9ydCAqIGFzIENvbGxhcHNpYmxlUHJpbWl0aXZlIGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb2xsYXBzaWJsZSc7XG5pbXBvcnQgeyBjcmVhdGVDb2xsYXBzaWJsZVNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbGxhcHNpYmxlJztcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWlkJztcblxuaW1wb3J0IHR5cGUgeyBTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IHVzZURpcmVjdGlvbiB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1kaXJlY3Rpb24nO1xuXG50eXBlIERpcmVjdGlvbiA9ICdsdHInIHwgJ3J0bCc7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEFjY29yZGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBBQ0NPUkRJT05fTkFNRSA9ICdBY2NvcmRpb24nO1xuY29uc3QgQUNDT1JESU9OX0tFWVMgPSBbJ0hvbWUnLCAnRW5kJywgJ0Fycm93RG93bicsICdBcnJvd1VwJywgJ0Fycm93TGVmdCcsICdBcnJvd1JpZ2h0J107XG5cbmNvbnN0IFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID1cbiAgY3JlYXRlQ29sbGVjdGlvbjxBY2NvcmRpb25UcmlnZ2VyRWxlbWVudD4oQUNDT1JESU9OX05BTUUpO1xuXG50eXBlIFNjb3BlZFByb3BzPFA+ID0gUCAmIHsgX19zY29wZUFjY29yZGlvbj86IFNjb3BlIH07XG5jb25zdCBbY3JlYXRlQWNjb3JkaW9uQ29udGV4dCwgY3JlYXRlQWNjb3JkaW9uU2NvcGVdID0gY3JlYXRlQ29udGV4dFNjb3BlKEFDQ09SRElPTl9OQU1FLCBbXG4gIGNyZWF0ZUNvbGxlY3Rpb25TY29wZSxcbiAgY3JlYXRlQ29sbGFwc2libGVTY29wZSxcbl0pO1xuY29uc3QgdXNlQ29sbGFwc2libGVTY29wZSA9IGNyZWF0ZUNvbGxhcHNpYmxlU2NvcGUoKTtcblxudHlwZSBBY2NvcmRpb25FbGVtZW50ID0gQWNjb3JkaW9uSW1wbE11bHRpcGxlRWxlbWVudCB8IEFjY29yZGlvbkltcGxTaW5nbGVFbGVtZW50O1xuaW50ZXJmYWNlIEFjY29yZGlvblNpbmdsZVByb3BzIGV4dGVuZHMgQWNjb3JkaW9uSW1wbFNpbmdsZVByb3BzIHtcbiAgdHlwZTogJ3NpbmdsZSc7XG59XG5pbnRlcmZhY2UgQWNjb3JkaW9uTXVsdGlwbGVQcm9wcyBleHRlbmRzIEFjY29yZGlvbkltcGxNdWx0aXBsZVByb3BzIHtcbiAgdHlwZTogJ211bHRpcGxlJztcbn1cblxuY29uc3QgQWNjb3JkaW9uID0gUmVhY3QuZm9yd2FyZFJlZjxBY2NvcmRpb25FbGVtZW50LCBBY2NvcmRpb25TaW5nbGVQcm9wcyB8IEFjY29yZGlvbk11bHRpcGxlUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPEFjY29yZGlvblNpbmdsZVByb3BzIHwgQWNjb3JkaW9uTXVsdGlwbGVQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uYWNjb3JkaW9uUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHNpbmdsZVByb3BzID0gYWNjb3JkaW9uUHJvcHMgYXMgQWNjb3JkaW9uSW1wbFNpbmdsZVByb3BzO1xuICAgIGNvbnN0IG11bHRpcGxlUHJvcHMgPSBhY2NvcmRpb25Qcm9wcyBhcyBBY2NvcmRpb25JbXBsTXVsdGlwbGVQcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPENvbGxlY3Rpb24uUHJvdmlkZXIgc2NvcGU9e3Byb3BzLl9fc2NvcGVBY2NvcmRpb259PlxuICAgICAgICB7dHlwZSA9PT0gJ211bHRpcGxlJyA/IChcbiAgICAgICAgICA8QWNjb3JkaW9uSW1wbE11bHRpcGxlIHsuLi5tdWx0aXBsZVByb3BzfSByZWY9e2ZvcndhcmRlZFJlZn0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8QWNjb3JkaW9uSW1wbFNpbmdsZSB7Li4uc2luZ2xlUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICAgICApfVxuICAgICAgPC9Db2xsZWN0aW9uLlByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cbkFjY29yZGlvbi5kaXNwbGF5TmFtZSA9IEFDQ09SRElPTl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgQWNjb3JkaW9uVmFsdWVDb250ZXh0VmFsdWUgPSB7XG4gIHZhbHVlOiBzdHJpbmdbXTtcbiAgb25JdGVtT3Blbih2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgb25JdGVtQ2xvc2UodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59O1xuXG5jb25zdCBbQWNjb3JkaW9uVmFsdWVQcm92aWRlciwgdXNlQWNjb3JkaW9uVmFsdWVDb250ZXh0XSA9XG4gIGNyZWF0ZUFjY29yZGlvbkNvbnRleHQ8QWNjb3JkaW9uVmFsdWVDb250ZXh0VmFsdWU+KEFDQ09SRElPTl9OQU1FKTtcblxuY29uc3QgW0FjY29yZGlvbkNvbGxhcHNpYmxlUHJvdmlkZXIsIHVzZUFjY29yZGlvbkNvbGxhcHNpYmxlQ29udGV4dF0gPSBjcmVhdGVBY2NvcmRpb25Db250ZXh0KFxuICBBQ0NPUkRJT05fTkFNRSxcbiAgeyBjb2xsYXBzaWJsZTogZmFsc2UgfVxuKTtcblxudHlwZSBBY2NvcmRpb25JbXBsU2luZ2xlRWxlbWVudCA9IEFjY29yZGlvbkltcGxFbGVtZW50O1xuaW50ZXJmYWNlIEFjY29yZGlvbkltcGxTaW5nbGVQcm9wcyBleHRlbmRzIEFjY29yZGlvbkltcGxQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgY29udHJvbGxlZCBzdGF0ZWZ1bCB2YWx1ZSBvZiB0aGUgYWNjb3JkaW9uIGl0ZW0gd2hvc2UgY29udGVudCBpcyBleHBhbmRlZC5cbiAgICovXG4gIHZhbHVlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBpdGVtIHdob3NlIGNvbnRlbnQgaXMgZXhwYW5kZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGlzIGluaXRpYWxseSByZW5kZXJlZC4gVXNlXG4gICAqIGBkZWZhdWx0VmFsdWVgIGlmIHlvdSBkbyBub3QgbmVlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiBhbiBhY2NvcmRpb24uXG4gICAqL1xuICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgdGhhdCBmaXJlcyB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgYWNjb3JkaW9uIGNoYW5nZXMuXG4gICAqL1xuICBvblZhbHVlQ2hhbmdlPyh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYW4gYWNjb3JkaW9uIGl0ZW0gY2FuIGJlIGNvbGxhcHNlZCBhZnRlciBpdCBoYXMgYmVlbiBvcGVuZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG59XG5cbmNvbnN0IEFjY29yZGlvbkltcGxTaW5nbGUgPSBSZWFjdC5mb3J3YXJkUmVmPEFjY29yZGlvbkltcGxTaW5nbGVFbGVtZW50LCBBY2NvcmRpb25JbXBsU2luZ2xlUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPEFjY29yZGlvbkltcGxTaW5nbGVQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHZhbHVlOiB2YWx1ZVByb3AsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBvblZhbHVlQ2hhbmdlID0gKCkgPT4ge30sXG4gICAgICBjb2xsYXBzaWJsZSA9IGZhbHNlLFxuICAgICAgLi4uYWNjb3JkaW9uU2luZ2xlUHJvcHNcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICAgIHByb3A6IHZhbHVlUHJvcCxcbiAgICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0VmFsdWUsXG4gICAgICBvbkNoYW5nZTogb25WYWx1ZUNoYW5nZSxcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8QWNjb3JkaW9uVmFsdWVQcm92aWRlclxuICAgICAgICBzY29wZT17cHJvcHMuX19zY29wZUFjY29yZGlvbn1cbiAgICAgICAgdmFsdWU9e3ZhbHVlID8gW3ZhbHVlXSA6IFtdfVxuICAgICAgICBvbkl0ZW1PcGVuPXtzZXRWYWx1ZX1cbiAgICAgICAgb25JdGVtQ2xvc2U9e1JlYWN0LnVzZUNhbGxiYWNrKCgpID0+IGNvbGxhcHNpYmxlICYmIHNldFZhbHVlKCcnKSwgW2NvbGxhcHNpYmxlLCBzZXRWYWx1ZV0pfVxuICAgICAgPlxuICAgICAgICA8QWNjb3JkaW9uQ29sbGFwc2libGVQcm92aWRlciBzY29wZT17cHJvcHMuX19zY29wZUFjY29yZGlvbn0gY29sbGFwc2libGU9e2NvbGxhcHNpYmxlfT5cbiAgICAgICAgICA8QWNjb3JkaW9uSW1wbCB7Li4uYWNjb3JkaW9uU2luZ2xlUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICAgICA8L0FjY29yZGlvbkNvbGxhcHNpYmxlUHJvdmlkZXI+XG4gICAgICA8L0FjY29yZGlvblZhbHVlUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG50eXBlIEFjY29yZGlvbkltcGxNdWx0aXBsZUVsZW1lbnQgPSBBY2NvcmRpb25JbXBsRWxlbWVudDtcbmludGVyZmFjZSBBY2NvcmRpb25JbXBsTXVsdGlwbGVQcm9wcyBleHRlbmRzIEFjY29yZGlvbkltcGxQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgY29udHJvbGxlZCBzdGF0ZWZ1bCB2YWx1ZSBvZiB0aGUgYWNjb3JkaW9uIGl0ZW1zIHdob3NlIGNvbnRlbnRzIGFyZSBleHBhbmRlZC5cbiAgICovXG4gIHZhbHVlPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGl0ZW1zIHdob3NlIGNvbnRlbnRzIGFyZSBleHBhbmRlZCB3aGVuIHRoZSBhY2NvcmRpb24gaXMgaW5pdGlhbGx5IHJlbmRlcmVkLiBVc2VcbiAgICogYGRlZmF1bHRWYWx1ZWAgaWYgeW91IGRvIG5vdCBuZWVkIHRvIGNvbnRyb2wgdGhlIHN0YXRlIG9mIGFuIGFjY29yZGlvbi5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIHRoYXQgZmlyZXMgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIGFjY29yZGlvbiBjaGFuZ2VzLlxuICAgKi9cbiAgb25WYWx1ZUNoYW5nZT8odmFsdWU6IHN0cmluZ1tdKTogdm9pZDtcbn1cblxuY29uc3QgQWNjb3JkaW9uSW1wbE11bHRpcGxlID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgQWNjb3JkaW9uSW1wbE11bHRpcGxlRWxlbWVudCxcbiAgQWNjb3JkaW9uSW1wbE11bHRpcGxlUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxBY2NvcmRpb25JbXBsTXVsdGlwbGVQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICBkZWZhdWx0VmFsdWUsXG4gICAgb25WYWx1ZUNoYW5nZSA9ICgpID0+IHt9LFxuICAgIC4uLmFjY29yZGlvbk11bHRpcGxlUHJvcHNcbiAgfSA9IHByb3BzO1xuXG4gIGNvbnN0IFt2YWx1ZSA9IFtdLCBzZXRWYWx1ZV0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgcHJvcDogdmFsdWVQcm9wLFxuICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0VmFsdWUsXG4gICAgb25DaGFuZ2U6IG9uVmFsdWVDaGFuZ2UsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1PcGVuID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKGl0ZW1WYWx1ZTogc3RyaW5nKSA9PiBzZXRWYWx1ZSgocHJldlZhbHVlID0gW10pID0+IFsuLi5wcmV2VmFsdWUsIGl0ZW1WYWx1ZV0pLFxuICAgIFtzZXRWYWx1ZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVJdGVtQ2xvc2UgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoaXRlbVZhbHVlOiBzdHJpbmcpID0+XG4gICAgICBzZXRWYWx1ZSgocHJldlZhbHVlID0gW10pID0+IHByZXZWYWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gaXRlbVZhbHVlKSksXG4gICAgW3NldFZhbHVlXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEFjY29yZGlvblZhbHVlUHJvdmlkZXJcbiAgICAgIHNjb3BlPXtwcm9wcy5fX3Njb3BlQWNjb3JkaW9ufVxuICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgb25JdGVtT3Blbj17aGFuZGxlSXRlbU9wZW59XG4gICAgICBvbkl0ZW1DbG9zZT17aGFuZGxlSXRlbUNsb3NlfVxuICAgID5cbiAgICAgIDxBY2NvcmRpb25Db2xsYXBzaWJsZVByb3ZpZGVyIHNjb3BlPXtwcm9wcy5fX3Njb3BlQWNjb3JkaW9ufSBjb2xsYXBzaWJsZT17dHJ1ZX0+XG4gICAgICAgIDxBY2NvcmRpb25JbXBsIHsuLi5hY2NvcmRpb25NdWx0aXBsZVByb3BzfSByZWY9e2ZvcndhcmRlZFJlZn0gLz5cbiAgICAgIDwvQWNjb3JkaW9uQ29sbGFwc2libGVQcm92aWRlcj5cbiAgICA8L0FjY29yZGlvblZhbHVlUHJvdmlkZXI+XG4gICk7XG59KTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG50eXBlIEFjY29yZGlvbkltcGxDb250ZXh0VmFsdWUgPSB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZGlyZWN0aW9uOiBBY2NvcmRpb25JbXBsUHJvcHNbJ2RpciddO1xuICBvcmllbnRhdGlvbjogQWNjb3JkaW9uSW1wbFByb3BzWydvcmllbnRhdGlvbiddO1xufTtcblxuY29uc3QgW0FjY29yZGlvbkltcGxQcm92aWRlciwgdXNlQWNjb3JkaW9uQ29udGV4dF0gPVxuICBjcmVhdGVBY2NvcmRpb25Db250ZXh0PEFjY29yZGlvbkltcGxDb250ZXh0VmFsdWU+KEFDQ09SRElPTl9OQU1FKTtcblxudHlwZSBBY2NvcmRpb25JbXBsRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xudHlwZSBQcmltaXRpdmVEaXZQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgQWNjb3JkaW9uSW1wbFByb3BzIGV4dGVuZHMgUHJpbWl0aXZlRGl2UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgYW4gYWNjb3JkaW9uIGlzIGRpc2FibGVkIGZyb20gdXNlciBpbnRlcmFjdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGxheW91dCBpbiB3aGljaCB0aGUgQWNjb3JkaW9uIG9wZXJhdGVzLlxuICAgKiBAZGVmYXVsdCB2ZXJ0aWNhbFxuICAgKi9cbiAgb3JpZW50YXRpb24/OiBSZWFjdC5BcmlhQXR0cmlidXRlc1snYXJpYS1vcmllbnRhdGlvbiddO1xuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHJlYWQgZGlyZWN0aW9uLlxuICAgKi9cbiAgZGlyPzogRGlyZWN0aW9uO1xufVxuXG5jb25zdCBBY2NvcmRpb25JbXBsID0gUmVhY3QuZm9yd2FyZFJlZjxBY2NvcmRpb25JbXBsRWxlbWVudCwgQWNjb3JkaW9uSW1wbFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxBY2NvcmRpb25JbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVBY2NvcmRpb24sIGRpc2FibGVkLCBkaXIsIG9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJywgLi4uYWNjb3JkaW9uUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGFjY29yZGlvblJlZiA9IFJlYWN0LnVzZVJlZjxBY2NvcmRpb25JbXBsRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGFjY29yZGlvblJlZiwgZm9yd2FyZGVkUmVmKTtcbiAgICBjb25zdCBnZXRJdGVtcyA9IHVzZUNvbGxlY3Rpb24oX19zY29wZUFjY29yZGlvbik7XG4gICAgY29uc3QgZGlyZWN0aW9uID0gdXNlRGlyZWN0aW9uKGRpcik7XG4gICAgY29uc3QgaXNEaXJlY3Rpb25MVFIgPSBkaXJlY3Rpb24gPT09ICdsdHInO1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIUFDQ09SRElPTl9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpIHJldHVybjtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IHRyaWdnZXJDb2xsZWN0aW9uID0gZ2V0SXRlbXMoKS5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLnJlZi5jdXJyZW50Py5kaXNhYmxlZCk7XG4gICAgICBjb25zdCB0cmlnZ2VySW5kZXggPSB0cmlnZ2VyQ29sbGVjdGlvbi5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQgPT09IHRhcmdldCk7XG4gICAgICBjb25zdCB0cmlnZ2VyQ291bnQgPSB0cmlnZ2VyQ29sbGVjdGlvbi5sZW5ndGg7XG5cbiAgICAgIGlmICh0cmlnZ2VySW5kZXggPT09IC0xKSByZXR1cm47XG5cbiAgICAgIC8vIFByZXZlbnRzIHBhZ2Ugc2Nyb2xsIHdoaWxlIHVzZXIgaXMgbmF2aWdhdGluZ1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgbGV0IG5leHRJbmRleCA9IHRyaWdnZXJJbmRleDtcbiAgICAgIGNvbnN0IGhvbWVJbmRleCA9IDA7XG4gICAgICBjb25zdCBlbmRJbmRleCA9IHRyaWdnZXJDb3VudCAtIDE7XG5cbiAgICAgIGNvbnN0IG1vdmVOZXh0ID0gKCkgPT4ge1xuICAgICAgICBuZXh0SW5kZXggPSB0cmlnZ2VySW5kZXggKyAxO1xuICAgICAgICBpZiAobmV4dEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICBuZXh0SW5kZXggPSBob21lSW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1vdmVQcmV2ID0gKCkgPT4ge1xuICAgICAgICBuZXh0SW5kZXggPSB0cmlnZ2VySW5kZXggLSAxO1xuICAgICAgICBpZiAobmV4dEluZGV4IDwgaG9tZUluZGV4KSB7XG4gICAgICAgICAgbmV4dEluZGV4ID0gZW5kSW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICAgIG5leHRJbmRleCA9IGhvbWVJbmRleDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgICBuZXh0SW5kZXggPSBlbmRJbmRleDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICAgIGlmIChpc0RpcmVjdGlvbkxUUikge1xuICAgICAgICAgICAgICBtb3ZlTmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbW92ZVByZXYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICBtb3ZlTmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICBpZiAob3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgaWYgKGlzRGlyZWN0aW9uTFRSKSB7XG4gICAgICAgICAgICAgIG1vdmVQcmV2KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtb3ZlTmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICBtb3ZlUHJldigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2xhbXBlZEluZGV4ID0gbmV4dEluZGV4ICUgdHJpZ2dlckNvdW50O1xuICAgICAgdHJpZ2dlckNvbGxlY3Rpb25bY2xhbXBlZEluZGV4XS5yZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8QWNjb3JkaW9uSW1wbFByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtfX3Njb3BlQWNjb3JkaW9ufVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRpcmVjdGlvbj17ZGlyfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICA+XG4gICAgICAgIDxDb2xsZWN0aW9uLlNsb3Qgc2NvcGU9e19fc2NvcGVBY2NvcmRpb259PlxuICAgICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgICB7Li4uYWNjb3JkaW9uUHJvcHN9XG4gICAgICAgICAgICBkYXRhLW9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgICAgb25LZXlEb3duPXtkaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGhhbmRsZUtleURvd259XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db2xsZWN0aW9uLlNsb3Q+XG4gICAgICA8L0FjY29yZGlvbkltcGxQcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBBY2NvcmRpb25JdGVtXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElURU1fTkFNRSA9ICdBY2NvcmRpb25JdGVtJztcblxudHlwZSBBY2NvcmRpb25JdGVtQ29udGV4dFZhbHVlID0geyBvcGVuPzogYm9vbGVhbjsgZGlzYWJsZWQ/OiBib29sZWFuOyB0cmlnZ2VySWQ6IHN0cmluZyB9O1xuY29uc3QgW0FjY29yZGlvbkl0ZW1Qcm92aWRlciwgdXNlQWNjb3JkaW9uSXRlbUNvbnRleHRdID1cbiAgY3JlYXRlQWNjb3JkaW9uQ29udGV4dDxBY2NvcmRpb25JdGVtQ29udGV4dFZhbHVlPihJVEVNX05BTUUpO1xuXG50eXBlIEFjY29yZGlvbkl0ZW1FbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgQ29sbGFwc2libGVQcmltaXRpdmUuUm9vdD47XG50eXBlIENvbGxhcHNpYmxlUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIENvbGxhcHNpYmxlUHJpbWl0aXZlLlJvb3Q+O1xuaW50ZXJmYWNlIEFjY29yZGlvbkl0ZW1Qcm9wc1xuICBleHRlbmRzIE9taXQ8Q29sbGFwc2libGVQcm9wcywgJ29wZW4nIHwgJ2RlZmF1bHRPcGVuJyB8ICdvbk9wZW5DaGFuZ2UnPiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBhbiBhY2NvcmRpb24gaXRlbSBpcyBkaXNhYmxlZCBmcm9tIHVzZXIgaW50ZXJhY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgc3RyaW5nIHZhbHVlIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFsbCBpdGVtcyB3aXRoaW4gYW4gYWNjb3JkaW9uIHNob3VsZCB1c2UgYSB1bmlxdWUgdmFsdWUuXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIGBBY2NvcmRpb25JdGVtYCBjb250YWlucyBhbGwgb2YgdGhlIHBhcnRzIG9mIGEgY29sbGFwc2libGUgc2VjdGlvbiBpbnNpZGUgb2YgYW4gYEFjY29yZGlvbmAuXG4gKi9cbmNvbnN0IEFjY29yZGlvbkl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmPEFjY29yZGlvbkl0ZW1FbGVtZW50LCBBY2NvcmRpb25JdGVtUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPEFjY29yZGlvbkl0ZW1Qcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZUFjY29yZGlvbiwgdmFsdWUsIC4uLmFjY29yZGlvbkl0ZW1Qcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgYWNjb3JkaW9uQ29udGV4dCA9IHVzZUFjY29yZGlvbkNvbnRleHQoSVRFTV9OQU1FLCBfX3Njb3BlQWNjb3JkaW9uKTtcbiAgICBjb25zdCB2YWx1ZUNvbnRleHQgPSB1c2VBY2NvcmRpb25WYWx1ZUNvbnRleHQoSVRFTV9OQU1FLCBfX3Njb3BlQWNjb3JkaW9uKTtcbiAgICBjb25zdCBjb2xsYXBzaWJsZVNjb3BlID0gdXNlQ29sbGFwc2libGVTY29wZShfX3Njb3BlQWNjb3JkaW9uKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IG9wZW4gPSAodmFsdWUgJiYgdmFsdWVDb250ZXh0LnZhbHVlLmluY2x1ZGVzKHZhbHVlKSkgfHwgZmFsc2U7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhY2NvcmRpb25Db250ZXh0LmRpc2FibGVkIHx8IHByb3BzLmRpc2FibGVkO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBY2NvcmRpb25JdGVtUHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e19fc2NvcGVBY2NvcmRpb259XG4gICAgICAgIG9wZW49e29wZW59XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgdHJpZ2dlcklkPXt0cmlnZ2VySWR9XG4gICAgICA+XG4gICAgICAgIDxDb2xsYXBzaWJsZVByaW1pdGl2ZS5Sb290XG4gICAgICAgICAgZGF0YS1vcmllbnRhdGlvbj17YWNjb3JkaW9uQ29udGV4dC5vcmllbnRhdGlvbn1cbiAgICAgICAgICBkYXRhLXN0YXRlPXtnZXRTdGF0ZShvcGVuKX1cbiAgICAgICAgICB7Li4uY29sbGFwc2libGVTY29wZX1cbiAgICAgICAgICB7Li4uYWNjb3JkaW9uSXRlbVByb3BzfVxuICAgICAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICAgIG9uT3BlbkNoYW5nZT17KG9wZW4pID0+IHtcbiAgICAgICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICAgIHZhbHVlQ29udGV4dC5vbkl0ZW1PcGVuKHZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhbHVlQ29udGV4dC5vbkl0ZW1DbG9zZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvQWNjb3JkaW9uSXRlbVByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cbkFjY29yZGlvbkl0ZW0uZGlzcGxheU5hbWUgPSBJVEVNX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEFjY29yZGlvbkhlYWRlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBIRUFERVJfTkFNRSA9ICdBY2NvcmRpb25IZWFkZXInO1xuXG50eXBlIEFjY29yZGlvbkhlYWRlckVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuaDM+O1xudHlwZSBQcmltaXRpdmVIZWFkaW5nM1Byb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuaDM+O1xuaW50ZXJmYWNlIEFjY29yZGlvbkhlYWRlclByb3BzIGV4dGVuZHMgUHJpbWl0aXZlSGVhZGluZzNQcm9wcyB7fVxuXG4vKipcbiAqIGBBY2NvcmRpb25IZWFkZXJgIGNvbnRhaW5zIHRoZSBjb250ZW50IGZvciB0aGUgcGFydHMgb2YgYW4gYEFjY29yZGlvbkl0ZW1gIHRoYXQgd2lsbCBiZSB2aXNpYmxlXG4gKiB3aGV0aGVyIG9yIG5vdCBpdHMgY29udGVudCBpcyBjb2xsYXBzZWQuXG4gKi9cbmNvbnN0IEFjY29yZGlvbkhlYWRlciA9IFJlYWN0LmZvcndhcmRSZWY8QWNjb3JkaW9uSGVhZGVyRWxlbWVudCwgQWNjb3JkaW9uSGVhZGVyUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPEFjY29yZGlvbkhlYWRlclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWNjb3JkaW9uLCAuLi5oZWFkZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgYWNjb3JkaW9uQ29udGV4dCA9IHVzZUFjY29yZGlvbkNvbnRleHQoQUNDT1JESU9OX05BTUUsIF9fc2NvcGVBY2NvcmRpb24pO1xuICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0gdXNlQWNjb3JkaW9uSXRlbUNvbnRleHQoSEVBREVSX05BTUUsIF9fc2NvcGVBY2NvcmRpb24pO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLmgzXG4gICAgICAgIGRhdGEtb3JpZW50YXRpb249e2FjY29yZGlvbkNvbnRleHQub3JpZW50YXRpb259XG4gICAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGl0ZW1Db250ZXh0Lm9wZW4pfVxuICAgICAgICBkYXRhLWRpc2FibGVkPXtpdGVtQ29udGV4dC5kaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICB7Li4uaGVhZGVyUHJvcHN9XG4gICAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuXG5BY2NvcmRpb25IZWFkZXIuZGlzcGxheU5hbWUgPSBIRUFERVJfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQWNjb3JkaW9uVHJpZ2dlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBUUklHR0VSX05BTUUgPSAnQWNjb3JkaW9uVHJpZ2dlcic7XG5cbnR5cGUgQWNjb3JkaW9uVHJpZ2dlckVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBDb2xsYXBzaWJsZVByaW1pdGl2ZS5UcmlnZ2VyPjtcbnR5cGUgQ29sbGFwc2libGVUcmlnZ2VyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIENvbGxhcHNpYmxlUHJpbWl0aXZlLlRyaWdnZXI+O1xuaW50ZXJmYWNlIEFjY29yZGlvblRyaWdnZXJQcm9wcyBleHRlbmRzIENvbGxhcHNpYmxlVHJpZ2dlclByb3BzIHt9XG5cbi8qKlxuICogYEFjY29yZGlvblRyaWdnZXJgIGlzIHRoZSB0cmlnZ2VyIHRoYXQgdG9nZ2xlcyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFuIGBBY2NvcmRpb25JdGVtYC4gSXRcbiAqIHNob3VsZCBhbHdheXMgYmUgbmVzdGVkIGluc2lkZSBvZiBhbiBgQWNjb3JkaW9uSGVhZGVyYC5cbiAqL1xuY29uc3QgQWNjb3JkaW9uVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8QWNjb3JkaW9uVHJpZ2dlckVsZW1lbnQsIEFjY29yZGlvblRyaWdnZXJQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8QWNjb3JkaW9uVHJpZ2dlclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWNjb3JkaW9uLCAuLi50cmlnZ2VyUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGFjY29yZGlvbkNvbnRleHQgPSB1c2VBY2NvcmRpb25Db250ZXh0KEFDQ09SRElPTl9OQU1FLCBfX3Njb3BlQWNjb3JkaW9uKTtcbiAgICBjb25zdCBpdGVtQ29udGV4dCA9IHVzZUFjY29yZGlvbkl0ZW1Db250ZXh0KFRSSUdHRVJfTkFNRSwgX19zY29wZUFjY29yZGlvbik7XG4gICAgY29uc3QgY29sbGFwc2libGVDb250ZXh0ID0gdXNlQWNjb3JkaW9uQ29sbGFwc2libGVDb250ZXh0KFRSSUdHRVJfTkFNRSwgX19zY29wZUFjY29yZGlvbik7XG4gICAgY29uc3QgY29sbGFwc2libGVTY29wZSA9IHVzZUNvbGxhcHNpYmxlU2NvcGUoX19zY29wZUFjY29yZGlvbik7XG4gICAgcmV0dXJuIChcbiAgICAgIDxDb2xsZWN0aW9uLkl0ZW1TbG90IHNjb3BlPXtfX3Njb3BlQWNjb3JkaW9ufT5cbiAgICAgICAgPENvbGxhcHNpYmxlUHJpbWl0aXZlLlRyaWdnZXJcbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXsoaXRlbUNvbnRleHQub3BlbiAmJiAhY29sbGFwc2libGVDb250ZXh0LmNvbGxhcHNpYmxlKSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1vcmllbnRhdGlvbj17YWNjb3JkaW9uQ29udGV4dC5vcmllbnRhdGlvbn1cbiAgICAgICAgICBpZD17aXRlbUNvbnRleHQudHJpZ2dlcklkfVxuICAgICAgICAgIHsuLi5jb2xsYXBzaWJsZVNjb3BlfVxuICAgICAgICAgIHsuLi50cmlnZ2VyUHJvcHN9XG4gICAgICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICAgIC8+XG4gICAgICA8L0NvbGxlY3Rpb24uSXRlbVNsb3Q+XG4gICAgKTtcbiAgfVxuKTtcblxuQWNjb3JkaW9uVHJpZ2dlci5kaXNwbGF5TmFtZSA9IFRSSUdHRVJfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQWNjb3JkaW9uQ29udGVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDT05URU5UX05BTUUgPSAnQWNjb3JkaW9uQ29udGVudCc7XG5cbnR5cGUgQWNjb3JkaW9uQ29udGVudEVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBDb2xsYXBzaWJsZVByaW1pdGl2ZS5Db250ZW50PjtcbnR5cGUgQ29sbGFwc2libGVDb250ZW50UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIENvbGxhcHNpYmxlUHJpbWl0aXZlLkNvbnRlbnQ+O1xuaW50ZXJmYWNlIEFjY29yZGlvbkNvbnRlbnRQcm9wcyBleHRlbmRzIENvbGxhcHNpYmxlQ29udGVudFByb3BzIHt9XG5cbi8qKlxuICogYEFjY29yZGlvbkNvbnRlbnRgIGNvbnRhaW5zIHRoZSBjb2xsYXBzaWJsZSBjb250ZW50IGZvciBhbiBgQWNjb3JkaW9uSXRlbWAuXG4gKi9cbmNvbnN0IEFjY29yZGlvbkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPEFjY29yZGlvbkNvbnRlbnRFbGVtZW50LCBBY2NvcmRpb25Db250ZW50UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPEFjY29yZGlvbkNvbnRlbnRQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZUFjY29yZGlvbiwgLi4uY29udGVudFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBhY2NvcmRpb25Db250ZXh0ID0gdXNlQWNjb3JkaW9uQ29udGV4dChBQ0NPUkRJT05fTkFNRSwgX19zY29wZUFjY29yZGlvbik7XG4gICAgY29uc3QgaXRlbUNvbnRleHQgPSB1c2VBY2NvcmRpb25JdGVtQ29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVBY2NvcmRpb24pO1xuICAgIGNvbnN0IGNvbGxhcHNpYmxlU2NvcGUgPSB1c2VDb2xsYXBzaWJsZVNjb3BlKF9fc2NvcGVBY2NvcmRpb24pO1xuICAgIHJldHVybiAoXG4gICAgICA8Q29sbGFwc2libGVQcmltaXRpdmUuQ29udGVudFxuICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtpdGVtQ29udGV4dC50cmlnZ2VySWR9XG4gICAgICAgIGRhdGEtb3JpZW50YXRpb249e2FjY29yZGlvbkNvbnRleHQub3JpZW50YXRpb259XG4gICAgICAgIHsuLi5jb2xsYXBzaWJsZVNjb3BlfVxuICAgICAgICB7Li4uY29udGVudFByb3BzfVxuICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBbJy0tcmFkaXgtYWNjb3JkaW9uLWNvbnRlbnQtaGVpZ2h0JyBhcyBhbnldOiAndmFyKC0tcmFkaXgtY29sbGFwc2libGUtY29udGVudC1oZWlnaHQpJyxcbiAgICAgICAgICBbJy0tcmFkaXgtYWNjb3JkaW9uLWNvbnRlbnQtd2lkdGgnIGFzIGFueV06ICd2YXIoLS1yYWRpeC1jb2xsYXBzaWJsZS1jb250ZW50LXdpZHRoKScsXG4gICAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cbkFjY29yZGlvbkNvbnRlbnQuZGlzcGxheU5hbWUgPSBDT05URU5UX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuZnVuY3Rpb24gZ2V0U3RhdGUob3Blbj86IGJvb2xlYW4pIHtcbiAgcmV0dXJuIG9wZW4gPyAnb3BlbicgOiAnY2xvc2VkJztcbn1cblxuY29uc3QgUm9vdCA9IEFjY29yZGlvbjtcbmNvbnN0IEl0ZW0gPSBBY2NvcmRpb25JdGVtO1xuY29uc3QgSGVhZGVyID0gQWNjb3JkaW9uSGVhZGVyO1xuY29uc3QgVHJpZ2dlciA9IEFjY29yZGlvblRyaWdnZXI7XG5jb25zdCBDb250ZW50ID0gQWNjb3JkaW9uQ29udGVudDtcblxuZXhwb3J0IHtcbiAgY3JlYXRlQWNjb3JkaW9uU2NvcGUsXG4gIC8vXG4gIEFjY29yZGlvbixcbiAgQWNjb3JkaW9uSXRlbSxcbiAgQWNjb3JkaW9uSGVhZGVyLFxuICBBY2NvcmRpb25UcmlnZ2VyLFxuICBBY2NvcmRpb25Db250ZW50LFxuICAvL1xuICBSb290LFxuICBJdGVtLFxuICBIZWFkZXIsXG4gIFRyaWdnZXIsXG4gIENvbnRlbnQsXG59O1xuZXhwb3J0IHR5cGUge1xuICBBY2NvcmRpb25TaW5nbGVQcm9wcyxcbiAgQWNjb3JkaW9uTXVsdGlwbGVQcm9wcyxcbiAgQWNjb3JkaW9uSXRlbVByb3BzLFxuICBBY2NvcmRpb25IZWFkZXJQcm9wcyxcbiAgQWNjb3JkaW9uVHJpZ2dlclByb3BzLFxuICBBY2NvcmRpb25Db250ZW50UHJvcHMsXG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlQ29udGV4dFNjb3BlIiwiY3JlYXRlQ29sbGVjdGlvbiIsInVzZUNvbXBvc2VkUmVmcyIsImNvbXBvc2VFdmVudEhhbmRsZXJzIiwidXNlQ29udHJvbGxhYmxlU3RhdGUiLCJQcmltaXRpdmUiLCJDb2xsYXBzaWJsZVByaW1pdGl2ZSIsImNyZWF0ZUNvbGxhcHNpYmxlU2NvcGUiLCJ1c2VJZCIsInVzZURpcmVjdGlvbiIsImpzeCIsIkFDQ09SRElPTl9OQU1FIiwiQUNDT1JESU9OX0tFWVMiLCJDb2xsZWN0aW9uIiwidXNlQ29sbGVjdGlvbiIsImNyZWF0ZUNvbGxlY3Rpb25TY29wZSIsImNyZWF0ZUFjY29yZGlvbkNvbnRleHQiLCJjcmVhdGVBY2NvcmRpb25TY29wZSIsInVzZUNvbGxhcHNpYmxlU2NvcGUiLCJBY2NvcmRpb24iLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJ0eXBlIiwiYWNjb3JkaW9uUHJvcHMiLCJzaW5nbGVQcm9wcyIsIm11bHRpcGxlUHJvcHMiLCJQcm92aWRlciIsInNjb3BlIiwiX19zY29wZUFjY29yZGlvbiIsImNoaWxkcmVuIiwiQWNjb3JkaW9uSW1wbE11bHRpcGxlIiwicmVmIiwiQWNjb3JkaW9uSW1wbFNpbmdsZSIsImRpc3BsYXlOYW1lIiwiQWNjb3JkaW9uVmFsdWVQcm92aWRlciIsInVzZUFjY29yZGlvblZhbHVlQ29udGV4dCIsIkFjY29yZGlvbkNvbGxhcHNpYmxlUHJvdmlkZXIiLCJ1c2VBY2NvcmRpb25Db2xsYXBzaWJsZUNvbnRleHQiLCJjb2xsYXBzaWJsZSIsInZhbHVlIiwidmFsdWVQcm9wIiwiZGVmYXVsdFZhbHVlIiwib25WYWx1ZUNoYW5nZSIsImFjY29yZGlvblNpbmdsZVByb3BzIiwic2V0VmFsdWUiLCJwcm9wIiwiZGVmYXVsdFByb3AiLCJvbkNoYW5nZSIsIm9uSXRlbU9wZW4iLCJvbkl0ZW1DbG9zZSIsInVzZUNhbGxiYWNrIiwiQWNjb3JkaW9uSW1wbCIsImFjY29yZGlvbk11bHRpcGxlUHJvcHMiLCJoYW5kbGVJdGVtT3BlbiIsIml0ZW1WYWx1ZSIsInByZXZWYWx1ZSIsImhhbmRsZUl0ZW1DbG9zZSIsImZpbHRlciIsIkFjY29yZGlvbkltcGxQcm92aWRlciIsInVzZUFjY29yZGlvbkNvbnRleHQiLCJkaXNhYmxlZCIsImRpciIsIm9yaWVudGF0aW9uIiwiYWNjb3JkaW9uUmVmIiwidXNlUmVmIiwiY29tcG9zZWRSZWZzIiwiZ2V0SXRlbXMiLCJkaXJlY3Rpb24iLCJpc0RpcmVjdGlvbkxUUiIsImhhbmRsZUtleURvd24iLCJvbktleURvd24iLCJldmVudCIsImluY2x1ZGVzIiwia2V5IiwidGFyZ2V0IiwidHJpZ2dlckNvbGxlY3Rpb24iLCJpdGVtIiwiY3VycmVudCIsInRyaWdnZXJJbmRleCIsImZpbmRJbmRleCIsInRyaWdnZXJDb3VudCIsImxlbmd0aCIsInByZXZlbnREZWZhdWx0IiwibmV4dEluZGV4IiwiaG9tZUluZGV4IiwiZW5kSW5kZXgiLCJtb3ZlTmV4dCIsIm1vdmVQcmV2IiwiY2xhbXBlZEluZGV4IiwiZm9jdXMiLCJTbG90IiwiZGl2IiwiSVRFTV9OQU1FIiwiQWNjb3JkaW9uSXRlbVByb3ZpZGVyIiwidXNlQWNjb3JkaW9uSXRlbUNvbnRleHQiLCJBY2NvcmRpb25JdGVtIiwiYWNjb3JkaW9uSXRlbVByb3BzIiwiYWNjb3JkaW9uQ29udGV4dCIsInZhbHVlQ29udGV4dCIsImNvbGxhcHNpYmxlU2NvcGUiLCJ0cmlnZ2VySWQiLCJvcGVuIiwiUm9vdCIsImdldFN0YXRlIiwib25PcGVuQ2hhbmdlIiwiSEVBREVSX05BTUUiLCJBY2NvcmRpb25IZWFkZXIiLCJoZWFkZXJQcm9wcyIsIml0ZW1Db250ZXh0IiwiaDMiLCJUUklHR0VSX05BTUUiLCJBY2NvcmRpb25UcmlnZ2VyIiwidHJpZ2dlclByb3BzIiwiY29sbGFwc2libGVDb250ZXh0IiwiSXRlbVNsb3QiLCJUcmlnZ2VyIiwiaWQiLCJDT05URU5UX05BTUUiLCJBY2NvcmRpb25Db250ZW50IiwiY29udGVudFByb3BzIiwiQ29udGVudCIsInJvbGUiLCJzdHlsZSIsIkl0ZW0iLCJIZWFkZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-accordion/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs":
|
|
/*!**************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-checkbox/dist/index.mjs ***!
|
|
\**************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox),\n/* harmony export */ CheckboxIndicator: () => (/* binding */ CheckboxIndicator),\n/* harmony export */ Indicator: () => (/* binding */ Indicator),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ createCheckboxScope: () => (/* binding */ createCheckboxScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-use-size */ \"(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-presence */ \"(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Checkbox,CheckboxIndicator,Indicator,Root,createCheckboxScope auto */ // packages/react/checkbox/src/Checkbox.tsx\n\n\n\n\n\n\n\n\n\n\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContextScope)(CHECKBOX_NAME);\nvar [CheckboxProvider, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nvar Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox, name, checked: checkedProp, defaultChecked, required, disabled, value = \"on\", onCheckedChange, form, ...checkboxProps } = props;\n const [button, setButton] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__.useComposedRefs)(forwardedRef, (node)=>setButton(node));\n const hasConsumerStoppedPropagationRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked = false, setChecked] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_4__.useControllableState)({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n const initialCheckedStateRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(checked);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const form2 = button?.form;\n if (form2) {\n const reset = ()=>setChecked(initialCheckedStateRef.current);\n form2.addEventListener(\"reset\", reset);\n return ()=>form2.removeEventListener(\"reset\", reset);\n }\n }, [\n button,\n setChecked\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(CheckboxProvider, {\n scope: __scopeCheckbox,\n state: checked,\n disabled,\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.button, {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onKeyDown, (event)=>{\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onClick, (event)=>{\n setChecked((prevChecked)=>isIndeterminate(prevChecked) ? true : !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }),\n isFormControl && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(BubbleInput, {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: {\n transform: \"translateX(-100%)\"\n },\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked\n })\n ]\n });\n});\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__.Presence, {\n present: forceMount || isIndeterminate(context.state) || context.state === true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.span, {\n \"data-state\": getState(context.state),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n pointerEvents: \"none\",\n ...props.style\n }\n })\n });\n});\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BubbleInput = (props)=>{\n const { control, checked, bubbles = true, defaultChecked, ...inputProps } = props;\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const prevChecked = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_8__.usePrevious)(checked);\n const controlSize = (0,_radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_9__.useSize)(control);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", {\n bubbles\n });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [\n prevChecked,\n checked,\n bubbles\n ]);\n const defaultCheckedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"input\", {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n ...inputProps,\n tabIndex: -1,\n ref,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n });\n};\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Checkbox;\nvar Indicator = CheckboxIndicator;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNoZWNrYm94L2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUI7QUFDUztBQUNHO0FBQ0U7QUFDQTtBQUNUO0FBQ0o7QUFDQztBQUNDO0FBbUVwQjtBQTNETixJQUFNVyxnQkFBZ0I7QUFHdEIsSUFBTSxDQUFDQyx1QkFBdUJDLG9CQUFtQixHQUFJWCwyRUFBa0JBLENBQUNTO0FBU3hFLElBQU0sQ0FBQ0csa0JBQWtCQyxtQkFBa0IsR0FDekNILHNCQUE0Q0Q7QUFXOUMsSUFBTUsseUJBQWlCaEIsNkNBQUEsQ0FDckIsQ0FBQ2tCLE9BQW1DQztJQUNsQyxNQUFNLEVBQ0pDLGVBQUEsRUFDQUMsSUFBQSxFQUNBQyxTQUFTQyxXQUFBLEVBQ1RDLGNBQUEsRUFDQUMsUUFBQSxFQUNBQyxRQUFBLEVBQ0FDLFFBQVEsTUFDUkMsZUFBQSxFQUNBQyxJQUFBLEVBQ0EsR0FBR0MsZUFDTCxHQUFJWjtJQUNKLE1BQU0sQ0FBQ2EsUUFBUUMsVUFBUyxHQUFVaEMsMkNBQUEsQ0FBbUM7SUFDckUsTUFBTWtDLGVBQWVqQyw2RUFBZUEsQ0FBQ2tCLGNBQWMsQ0FBQ2dCLE9BQVNILFVBQVVHO0lBQ3ZFLE1BQU1DLG1DQUF5Q3BDLHlDQUFBLENBQU87SUFFdEQsTUFBTXNDLGdCQUFnQlAsU0FBU0YsUUFBUSxDQUFDLENBQUNFLE9BQU9RLE9BQUEsQ0FBUSxVQUFVO0lBQ2xFLE1BQU0sQ0FBQ2pCLFVBQVUsT0FBT2tCLFdBQVUsR0FBSXBDLDRGQUFvQkEsQ0FBQztRQUN6RHFDLE1BQU1sQjtRQUNObUIsYUFBYWxCO1FBQ2JtQixVQUFVZjtJQUNaO0lBQ0EsTUFBTWdCLHlCQUErQjVDLHlDQUFBLENBQU9zQjtJQUN0Q3RCLDRDQUFBLENBQVU7UUFDZCxNQUFNNkIsUUFBT0UsUUFBUUY7UUFDckIsSUFBSUEsT0FBTTtZQUNSLE1BQU1pQixRQUFRLElBQU1OLFdBQVdJLHVCQUF1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QU9DLGdCQUFBLENBQWlCQyxTQUFBO1FBQzNDLE1BQU1DLGFBQWFDLE9BQU9DLHdCQUFBLENBQXlCTixZQUFZO1FBQy9ELE1BQU0zQyxhQUFhK0MsV0FBV0csR0FBQTtRQUU5QixJQUFJM0IsZ0JBQWdCekMsV0FBV2tCLFlBQVk7WUFDekMsTUFBTW1CLFFBQVEsSUFBSWdDLE1BQU0sU0FBUztnQkFBRXZCO1lBQVE7WUFDM0NjLE1BQU1VLGFBQUEsR0FBZ0JyQyxnQkFBZ0JqQztZQUN0Q2tCLFdBQVdxRCxJQUFBLENBQUtYLE9BQU8zQixnQkFBZ0JqQyxXQUFXLFFBQVFBO1lBQzFENEQsTUFBTVksYUFBQSxDQUFjbkM7UUFDdEI7SUFDRixHQUFHO1FBQUNJO1FBQWF6QztRQUFTOEM7S0FBUTtJQUVsQyxNQUFNMkIsb0JBQTBCL0YseUNBQUEsQ0FBT3VELGdCQUFnQmpDLFdBQVcsUUFBUUE7SUFDMUUsT0FDRSxnQkFBQWIsc0RBQUFBLENBQUM7UUFDQzRDLE1BQUs7UUFDTCxlQUFXO1FBQ1g3QixnQkFBZ0JBLGtCQUFrQnVFLGtCQUFrQmhELE9BQUE7UUFDbkQsR0FBR2lDLFVBQUE7UUFDSmdCLFVBQVU7UUFDVnZDO1FBQ0FZLE9BQU87WUFDTCxHQUFHbkQsTUFBTW1ELEtBQUE7WUFDVCxHQUFHWSxXQUFBO1lBQ0hnQixVQUFVO1lBQ1ZsQixlQUFlO1lBQ2ZtQixTQUFTO1lBQ1RDLFFBQVE7UUFDVjtJQUFBO0FBR047QUFFQSxTQUFTNUMsZ0JBQWdCakMsT0FBQTtJQUN2QixPQUFPQSxZQUFZO0FBQ3JCO0FBRUEsU0FBU2tDLFNBQVNsQyxPQUFBO0lBQ2hCLE9BQU9pQyxnQkFBZ0JqQyxXQUFXLGtCQUFrQkEsVUFBVSxZQUFZO0FBQzVFO0FBRUEsSUFBTThFLE9BQU9wRjtBQUNiLElBQU1xRixZQUFZNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4uL3NyYy9DaGVja2JveC50c3g/ZmUyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGFibGVTdGF0ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cyc7XG5pbXBvcnQgeyB1c2VTaXplIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplJztcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlJztcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUnO1xuXG5pbXBvcnQgdHlwZSB7IFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDaGVja2JveFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDSEVDS0JPWF9OQU1FID0gJ0NoZWNrYm94JztcblxudHlwZSBTY29wZWRQcm9wczxQPiA9IFAgJiB7IF9fc2NvcGVDaGVja2JveD86IFNjb3BlIH07XG5jb25zdCBbY3JlYXRlQ2hlY2tib3hDb250ZXh0LCBjcmVhdGVDaGVja2JveFNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShDSEVDS0JPWF9OQU1FKTtcblxudHlwZSBDaGVja2VkU3RhdGUgPSBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnO1xuXG50eXBlIENoZWNrYm94Q29udGV4dFZhbHVlID0ge1xuICBzdGF0ZTogQ2hlY2tlZFN0YXRlO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBbQ2hlY2tib3hQcm92aWRlciwgdXNlQ2hlY2tib3hDb250ZXh0XSA9XG4gIGNyZWF0ZUNoZWNrYm94Q29udGV4dDxDaGVja2JveENvbnRleHRWYWx1ZT4oQ0hFQ0tCT1hfTkFNRSk7XG5cbnR5cGUgQ2hlY2tib3hFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG50eXBlIFByaW1pdGl2ZUJ1dHRvblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBDaGVja2JveFByb3BzIGV4dGVuZHMgT21pdDxQcmltaXRpdmVCdXR0b25Qcm9wcywgJ2NoZWNrZWQnIHwgJ2RlZmF1bHRDaGVja2VkJz4ge1xuICBjaGVja2VkPzogQ2hlY2tlZFN0YXRlO1xuICBkZWZhdWx0Q2hlY2tlZD86IENoZWNrZWRTdGF0ZTtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBvbkNoZWNrZWRDaGFuZ2U/KGNoZWNrZWQ6IENoZWNrZWRTdGF0ZSk6IHZvaWQ7XG59XG5cbmNvbnN0IENoZWNrYm94ID0gUmVhY3QuZm9yd2FyZFJlZjxDaGVja2JveEVsZW1lbnQsIENoZWNrYm94UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPENoZWNrYm94UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlQ2hlY2tib3gsXG4gICAgICBuYW1lLFxuICAgICAgY2hlY2tlZDogY2hlY2tlZFByb3AsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YWx1ZSA9ICdvbicsXG4gICAgICBvbkNoZWNrZWRDaGFuZ2UsXG4gICAgICBmb3JtLFxuICAgICAgLi4uY2hlY2tib3hQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbYnV0dG9uLCBzZXRCdXR0b25dID0gUmVhY3QudXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCAobm9kZSkgPT4gc2V0QnV0dG9uKG5vZGUpKTtcbiAgICBjb25zdCBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gICAgLy8gV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBieSBkZWZhdWx0IHNvIHRoYXQgZXZlbnRzIGJ1YmJsZSB0byBmb3JtcyB3aXRob3V0IEpTIChTU1IpXG4gICAgY29uc3QgaXNGb3JtQ29udHJvbCA9IGJ1dHRvbiA/IGZvcm0gfHwgISFidXR0b24uY2xvc2VzdCgnZm9ybScpIDogdHJ1ZTtcbiAgICBjb25zdCBbY2hlY2tlZCA9IGZhbHNlLCBzZXRDaGVja2VkXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICAgIHByb3A6IGNoZWNrZWRQcm9wLFxuICAgICAgZGVmYXVsdFByb3A6IGRlZmF1bHRDaGVja2VkLFxuICAgICAgb25DaGFuZ2U6IG9uQ2hlY2tlZENoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBpbml0aWFsQ2hlY2tlZFN0YXRlUmVmID0gUmVhY3QudXNlUmVmKGNoZWNrZWQpO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBmb3JtID0gYnV0dG9uPy5mb3JtO1xuICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgY29uc3QgcmVzZXQgPSAoKSA9PiBzZXRDaGVja2VkKGluaXRpYWxDaGVja2VkU3RhdGVSZWYuY3VycmVudCk7XG4gICAgICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcigncmVzZXQnLCByZXNldCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBmb3JtLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgcmVzZXQpO1xuICAgICAgfVxuICAgIH0sIFtidXR0b24sIHNldENoZWNrZWRdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Q2hlY2tib3hQcm92aWRlciBzY29wZT17X19zY29wZUNoZWNrYm94fSBzdGF0ZT17Y2hlY2tlZH0gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cbiAgICAgICAgPFByaW1pdGl2ZS5idXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICByb2xlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGFyaWEtY2hlY2tlZD17aXNJbmRldGVybWluYXRlKGNoZWNrZWQpID8gJ21peGVkJyA6IGNoZWNrZWR9XG4gICAgICAgICAgYXJpYS1yZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgZGF0YS1zdGF0ZT17Z2V0U3RhdGUoY2hlY2tlZCl9XG4gICAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIHsuLi5jaGVja2JveFByb3BzfVxuICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgIG9uS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIC8vIEFjY29yZGluZyB0byBXQUkgQVJJQSwgQ2hlY2tib3hlcyBkb24ndCBhY3RpdmF0ZSBvbiBlbnRlciBrZXlwcmVzc1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgICBvbkNsaWNrPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkNsaWNrLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHNldENoZWNrZWQoKHByZXZDaGVja2VkKSA9PiAoaXNJbmRldGVybWluYXRlKHByZXZDaGVja2VkKSA/IHRydWUgOiAhcHJldkNoZWNrZWQpKTtcbiAgICAgICAgICAgIGlmIChpc0Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgIGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQgPSBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpO1xuICAgICAgICAgICAgICAvLyBpZiBjaGVja2JveCBpcyBpbiBhIGZvcm0sIHN0b3AgcHJvcGFnYXRpb24gZnJvbSB0aGUgYnV0dG9uIHNvIHRoYXQgd2Ugb25seSBwcm9wYWdhdGVcbiAgICAgICAgICAgICAgLy8gb25lIGNsaWNrIGV2ZW50IChmcm9tIHRoZSBpbnB1dCkuIFdlIHByb3BhZ2F0ZSBjaGFuZ2VzIGZyb20gYW4gaW5wdXQgc28gdGhhdCBuYXRpdmVcbiAgICAgICAgICAgICAgLy8gZm9ybSB2YWxpZGF0aW9uIHdvcmtzIGFuZCBmb3JtIGV2ZW50cyByZWZsZWN0IGNoZWNrYm94IHVwZGF0ZXMuXG4gICAgICAgICAgICAgIGlmICghaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWYuY3VycmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSl9XG4gICAgICAgIC8+XG4gICAgICAgIHtpc0Zvcm1Db250cm9sICYmIChcbiAgICAgICAgICA8QnViYmxlSW5wdXRcbiAgICAgICAgICAgIGNvbnRyb2w9e2J1dHRvbn1cbiAgICAgICAgICAgIGJ1YmJsZXM9eyFoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50fVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBmb3JtPXtmb3JtfVxuICAgICAgICAgICAgLy8gV2UgdHJhbnNmb3JtIGJlY2F1c2UgdGhlIGlucHV0IGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCBidXQgd2UgaGF2ZVxuICAgICAgICAgICAgLy8gcmVuZGVyZWQgaXQgKiphZnRlcioqIHRoZSBidXR0b24uIFRoaXMgcHVsbHMgaXQgYmFjayB0byBzaXQgb24gdG9wXG4gICAgICAgICAgICAvLyBvZiB0aGUgYnV0dG9uLlxuICAgICAgICAgICAgc3R5bGU9e3sgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH19XG4gICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17aXNJbmRldGVybWluYXRlKGRlZmF1bHRDaGVja2VkKSA/IGZhbHNlIDogZGVmYXVsdENoZWNrZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2hlY2tib3hQcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG5DaGVja2JveC5kaXNwbGF5TmFtZSA9IENIRUNLQk9YX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENoZWNrYm94SW5kaWNhdG9yXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElORElDQVRPUl9OQU1FID0gJ0NoZWNrYm94SW5kaWNhdG9yJztcblxudHlwZSBDaGVja2JveEluZGljYXRvckVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG50eXBlIFByaW1pdGl2ZVNwYW5Qcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIENoZWNrYm94SW5kaWNhdG9yUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge1xuICAvKipcbiAgICogVXNlZCB0byBmb3JjZSBtb3VudGluZyB3aGVuIG1vcmUgY29udHJvbCBpcyBuZWVkZWQuIFVzZWZ1bCB3aGVuXG4gICAqIGNvbnRyb2xsaW5nIGFuaW1hdGlvbiB3aXRoIFJlYWN0IGFuaW1hdGlvbiBsaWJyYXJpZXMuXG4gICAqL1xuICBmb3JjZU1vdW50PzogdHJ1ZTtcbn1cblxuY29uc3QgQ2hlY2tib3hJbmRpY2F0b3IgPSBSZWFjdC5mb3J3YXJkUmVmPENoZWNrYm94SW5kaWNhdG9yRWxlbWVudCwgQ2hlY2tib3hJbmRpY2F0b3JQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8Q2hlY2tib3hJbmRpY2F0b3JQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZUNoZWNrYm94LCBmb3JjZU1vdW50LCAuLi5pbmRpY2F0b3JQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZUNoZWNrYm94Q29udGV4dChJTkRJQ0FUT1JfTkFNRSwgX19zY29wZUNoZWNrYm94KTtcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXNlbmNlIHByZXNlbnQ9e2ZvcmNlTW91bnQgfHwgaXNJbmRldGVybWluYXRlKGNvbnRleHQuc3RhdGUpIHx8IGNvbnRleHQuc3RhdGUgPT09IHRydWV9PlxuICAgICAgICA8UHJpbWl0aXZlLnNwYW5cbiAgICAgICAgICBkYXRhLXN0YXRlPXtnZXRTdGF0ZShjb250ZXh0LnN0YXRlKX1cbiAgICAgICAgICBkYXRhLWRpc2FibGVkPXtjb250ZXh0LmRpc2FibGVkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgey4uLmluZGljYXRvclByb3BzfVxuICAgICAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgICAgIHN0eWxlPXt7IHBvaW50ZXJFdmVudHM6ICdub25lJywgLi4ucHJvcHMuc3R5bGUgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvUHJlc2VuY2U+XG4gICAgKTtcbiAgfVxuKTtcblxuQ2hlY2tib3hJbmRpY2F0b3IuZGlzcGxheU5hbWUgPSBJTkRJQ0FUT1JfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG50eXBlIElucHV0UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8J2lucHV0Jz47XG5pbnRlcmZhY2UgQnViYmxlSW5wdXRQcm9wcyBleHRlbmRzIE9taXQ8SW5wdXRQcm9wcywgJ2NoZWNrZWQnPiB7XG4gIGNoZWNrZWQ6IENoZWNrZWRTdGF0ZTtcbiAgY29udHJvbDogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBidWJibGVzOiBib29sZWFuO1xufVxuXG5jb25zdCBCdWJibGVJbnB1dCA9IChwcm9wczogQnViYmxlSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRyb2wsIGNoZWNrZWQsIGJ1YmJsZXMgPSB0cnVlLCBkZWZhdWx0Q2hlY2tlZCwgLi4uaW5wdXRQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgY29uc3QgcHJldkNoZWNrZWQgPSB1c2VQcmV2aW91cyhjaGVja2VkKTtcbiAgY29uc3QgY29udHJvbFNpemUgPSB1c2VTaXplKGNvbnRyb2wpO1xuXG4gIC8vIEJ1YmJsZSBjaGVja2VkIGNoYW5nZSB0byBwYXJlbnRzIChlLmcgZm9ybSBjaGFuZ2UgZXZlbnQpXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSByZWYuY3VycmVudCE7XG4gICAgY29uc3QgaW5wdXRQcm90byA9IHdpbmRvdy5IVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnB1dFByb3RvLCAnY2hlY2tlZCcpIGFzIFByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBjb25zdCBzZXRDaGVja2VkID0gZGVzY3JpcHRvci5zZXQ7XG5cbiAgICBpZiAocHJldkNoZWNrZWQgIT09IGNoZWNrZWQgJiYgc2V0Q2hlY2tlZCkge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2NsaWNrJywgeyBidWJibGVzIH0pO1xuICAgICAgaW5wdXQuaW5kZXRlcm1pbmF0ZSA9IGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKTtcbiAgICAgIHNldENoZWNrZWQuY2FsbChpbnB1dCwgaXNJbmRldGVybWluYXRlKGNoZWNrZWQpID8gZmFsc2UgOiBjaGVja2VkKTtcbiAgICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfSwgW3ByZXZDaGVja2VkLCBjaGVja2VkLCBidWJibGVzXSk7XG5cbiAgY29uc3QgZGVmYXVsdENoZWNrZWRSZWYgPSBSZWFjdC51c2VSZWYoaXNJbmRldGVybWluYXRlKGNoZWNrZWQpID8gZmFsc2UgOiBjaGVja2VkKTtcbiAgcmV0dXJuIChcbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBhcmlhLWhpZGRlblxuICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkID8/IGRlZmF1bHRDaGVja2VkUmVmLmN1cnJlbnR9XG4gICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgIHJlZj17cmVmfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgIC4uLmNvbnRyb2xTaXplLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICBtYXJnaW46IDAsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59O1xuXG5mdW5jdGlvbiBpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZD86IENoZWNrZWRTdGF0ZSk6IGNoZWNrZWQgaXMgJ2luZGV0ZXJtaW5hdGUnIHtcbiAgcmV0dXJuIGNoZWNrZWQgPT09ICdpbmRldGVybWluYXRlJztcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGUoY2hlY2tlZDogQ2hlY2tlZFN0YXRlKSB7XG4gIHJldHVybiBpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkgPyAnaW5kZXRlcm1pbmF0ZScgOiBjaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCc7XG59XG5cbmNvbnN0IFJvb3QgPSBDaGVja2JveDtcbmNvbnN0IEluZGljYXRvciA9IENoZWNrYm94SW5kaWNhdG9yO1xuXG5leHBvcnQge1xuICBjcmVhdGVDaGVja2JveFNjb3BlLFxuICAvL1xuICBDaGVja2JveCxcbiAgQ2hlY2tib3hJbmRpY2F0b3IsXG4gIC8vXG4gIFJvb3QsXG4gIEluZGljYXRvcixcbn07XG5leHBvcnQgdHlwZSB7IENoZWNrYm94UHJvcHMsIENoZWNrYm94SW5kaWNhdG9yUHJvcHMsIENoZWNrZWRTdGF0ZSB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlQ29tcG9zZWRSZWZzIiwiY3JlYXRlQ29udGV4dFNjb3BlIiwiY29tcG9zZUV2ZW50SGFuZGxlcnMiLCJ1c2VDb250cm9sbGFibGVTdGF0ZSIsInVzZVByZXZpb3VzIiwidXNlU2l6ZSIsIlByZXNlbmNlIiwiUHJpbWl0aXZlIiwianN4IiwianN4cyIsIkNIRUNLQk9YX05BTUUiLCJjcmVhdGVDaGVja2JveENvbnRleHQiLCJjcmVhdGVDaGVja2JveFNjb3BlIiwiQ2hlY2tib3hQcm92aWRlciIsInVzZUNoZWNrYm94Q29udGV4dCIsIkNoZWNrYm94IiwiZm9yd2FyZFJlZiIsInByb3BzIiwiZm9yd2FyZGVkUmVmIiwiX19zY29wZUNoZWNrYm94IiwibmFtZSIsImNoZWNrZWQiLCJjaGVja2VkUHJvcCIsImRlZmF1bHRDaGVja2VkIiwicmVxdWlyZWQiLCJkaXNhYmxlZCIsInZhbHVlIiwib25DaGVja2VkQ2hhbmdlIiwiZm9ybSIsImNoZWNrYm94UHJvcHMiLCJidXR0b24iLCJzZXRCdXR0b24iLCJ1c2VTdGF0ZSIsImNvbXBvc2VkUmVmcyIsIm5vZGUiLCJoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZiIsInVzZVJlZiIsImlzRm9ybUNvbnRyb2wiLCJjbG9zZXN0Iiwic2V0Q2hlY2tlZCIsInByb3AiLCJkZWZhdWx0UHJvcCIsIm9uQ2hhbmdlIiwiaW5pdGlhbENoZWNrZWRTdGF0ZVJlZiIsInVzZUVmZmVjdCIsInJlc2V0IiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2NvcGUiLCJzdGF0ZSIsImNoaWxkcmVuIiwidHlwZSIsInJvbGUiLCJpc0luZGV0ZXJtaW5hdGUiLCJnZXRTdGF0ZSIsInJlZiIsIm9uS2V5RG93biIsImV2ZW50Iiwia2V5IiwicHJldmVudERlZmF1bHQiLCJvbkNsaWNrIiwicHJldkNoZWNrZWQiLCJpc1Byb3BhZ2F0aW9uU3RvcHBlZCIsInN0b3BQcm9wYWdhdGlvbiIsIkJ1YmJsZUlucHV0IiwiY29udHJvbCIsImJ1YmJsZXMiLCJzdHlsZSIsInRyYW5zZm9ybSIsImRpc3BsYXlOYW1lIiwiSU5ESUNBVE9SX05BTUUiLCJDaGVja2JveEluZGljYXRvciIsImZvcmNlTW91bnQiLCJpbmRpY2F0b3JQcm9wcyIsImNvbnRleHQiLCJwcmVzZW50Iiwic3BhbiIsInBvaW50ZXJFdmVudHMiLCJpbnB1dFByb3BzIiwiY29udHJvbFNpemUiLCJpbnB1dCIsImlucHV0UHJvdG8iLCJ3aW5kb3ciLCJIVE1MSW5wdXRFbGVtZW50IiwicHJvdG90eXBlIiwiZGVzY3JpcHRvciIsIk9iamVjdCIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInNldCIsIkV2ZW50IiwiaW5kZXRlcm1pbmF0ZSIsImNhbGwiLCJkaXNwYXRjaEV2ZW50IiwiZGVmYXVsdENoZWNrZWRSZWYiLCJ0YWJJbmRleCIsInBvc2l0aW9uIiwib3BhY2l0eSIsIm1hcmdpbiIsIlJvb3QiLCJJbmRpY2F0b3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-collapsible/dist/index.mjs":
|
|
/*!*****************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-collapsible/dist/index.mjs ***!
|
|
\*****************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collapsible: () => (/* binding */ Collapsible),\n/* harmony export */ CollapsibleContent: () => (/* binding */ CollapsibleContent),\n/* harmony export */ CollapsibleTrigger: () => (/* binding */ CollapsibleTrigger),\n/* harmony export */ Content: () => (/* binding */ Content),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ Trigger: () => (/* binding */ Trigger),\n/* harmony export */ createCollapsibleScope: () => (/* binding */ createCollapsibleScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-presence */ \"(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_id__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-id */ \"(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Collapsible,CollapsibleContent,CollapsibleTrigger,Content,Root,Trigger,createCollapsibleScope auto */ // packages/react/collapsible/src/Collapsible.tsx\n\n\n\n\n\n\n\n\n\n\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContextScope)(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible, open: openProp, defaultOpen, disabled, onOpenChange, ...collapsibleProps } = props;\n const [open = false, setOpen] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CollapsibleProvider, {\n scope: __scopeCollapsible,\n disabled,\n contentId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_4__.useId)(),\n open,\n onOpenToggle: react__WEBPACK_IMPORTED_MODULE_0__.useCallback(()=>setOpen((prevOpen)=>!prevOpen), [\n setOpen\n ]),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.div, {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n })\n });\n});\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.button, {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onClick, context.onOpenToggle)\n });\n});\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__.Presence, {\n present: forceMount || context.open,\n children: ({ present })=>/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CollapsibleContentImpl, {\n ...contentProps,\n ref: forwardedRef,\n present\n })\n });\n});\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(present);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_8__.useComposedRefs)(forwardedRef, ref);\n const heightRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const height = heightRef.current;\n const widthRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(isOpen);\n const originalStylesRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(void 0);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const rAF = requestAnimationFrame(()=>isMountAnimationPreventedRef.current = false);\n return ()=>cancelAnimationFrame(rAF);\n }, []);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_9__.useLayoutEffect)(()=>{\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [\n context.open,\n present\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.div, {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n });\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNvbGxhcHNpYmxlL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF1QjtBQUNjO0FBQ0Y7QUFDRTtBQUNMO0FBQ0E7QUFDTjtBQUNEO0FBQ0g7QUF5RGQ7QUFqRFIsSUFBTVUsbUJBQW1CO0FBR3pCLElBQU0sQ0FBQ0MsMEJBQTBCQyx1QkFBc0IsR0FBSVYsMkVBQWtCQSxDQUFDUTtBQVM5RSxJQUFNLENBQUNHLHFCQUFxQkMsc0JBQXFCLEdBQy9DSCx5QkFBa0REO0FBV3BELElBQU1LLDRCQUFvQmYsNkNBQUEsQ0FDeEIsQ0FBQ2lCLE9BQXNDQztJQUNyQyxNQUFNLEVBQ0pDLGtCQUFBLEVBQ0FDLE1BQU1DLFFBQUEsRUFDTkMsV0FBQSxFQUNBQyxRQUFBLEVBQ0FDLFlBQUEsRUFDQSxHQUFHQyxrQkFDTCxHQUFJUjtJQUVKLE1BQU0sQ0FBQ0csT0FBTyxPQUFPTSxRQUFPLEdBQUl2Qiw0RkFBb0JBLENBQUM7UUFDbkR3QixNQUFNTjtRQUNOTyxhQUFhTjtRQUNiTyxVQUFVTDtJQUNaO0lBRUEsT0FDRSxnQkFBQWYsc0RBQUFBLENBQUNJLHFCQUFBO1FBQ0NpQixPQUFPWDtRQUNQSTtRQUNBUSxXQUFXdkIseURBQUtBO1FBQ2hCWTtRQUNBWSxjQUFvQmhDLDhDQUFBLENBQVksSUFBTTBCLFFBQVEsQ0FBQ1EsV0FBYSxDQUFDQSxXQUFXO1lBQUNSO1NBQVE7UUFFakZTLFVBQUEsZ0JBQUExQixzREFBQUEsQ0FBQ0gsZ0VBQVNBLENBQUM4QixHQUFBLEVBQVY7WUFDQyxjQUFZQyxTQUFTakI7WUFDckIsaUJBQWVHLFdBQVcsS0FBSztZQUM5QixHQUFHRSxnQkFBQTtZQUNKYSxLQUFLcEI7UUFBQTtJQUNQO0FBR047QUFHRkgsWUFBWXdCLFdBQUEsR0FBYzdCO0FBTTFCLElBQU04QixlQUFlO0FBTXJCLElBQU1DLG1DQUEyQnpDLDZDQUFBLENBQy9CLENB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Q0FBQ0UsNkJBQTZCSixPQUFBLEVBQVM7Z0JBQ3pDVSxLQUFLRSxLQUFBLENBQU1ELGtCQUFBLEdBQXFCTixrQkFBa0JMLE9BQUEsQ0FBUVcsa0JBQUE7Z0JBQzFERCxLQUFLRSxLQUFBLENBQU1DLGFBQUEsR0FBZ0JSLGtCQUFrQkwsT0FBQSxDQUFRYSxhQUFBO1lBQ3ZEO1lBRUFuQixhQUFhSDtRQUNmO0lBT0YsR0FBRztRQUFDUixRQUFRdkIsSUFBQTtRQUFNK0I7S0FBUTtJQUUxQixPQUNFLGdCQUFBMUMsc0RBQUFBLENBQUNILGdFQUFTQSxDQUFDOEIsR0FBQSxFQUFWO1FBQ0MsY0FBWUMsU0FBU00sUUFBUXZCLElBQUk7UUFDakMsaUJBQWV1QixRQUFRcEIsUUFBQSxHQUFXLEtBQUs7UUFDdkNxRCxJQUFJakMsUUFBUVosU0FBQTtRQUNaOEMsUUFBUSxDQUFDZDtRQUNSLEdBQUdiLFlBQUE7UUFDSlosS0FBS21CO1FBQ0xlLE9BQU87WUFDTCxDQUFDLG9DQUEyQyxHQUFHYixTQUFTLEdBQUdBLE9BQU0sTUFBTztZQUN4RSxDQUFDLG1DQUEwQyxHQUFHRyxRQUFRLEdBQUdBLE1BQUssTUFBTztZQUNyRSxHQUFHN0MsTUFBTXVELEtBQUE7UUFDWDtRQUVDckMsVUFBQTRCLFVBQVU1QjtJQUFBO0FBR2pCO0FBSUEsU0FBU0UsU0FBU2pCLElBQUE7SUFDaEIsT0FBT0EsT0FBTyxTQUFTO0FBQ3pCO0FBRUEsSUFBTTBELE9BQU8vRDtBQUNiLElBQU1nRSxVQUFVdEM7QUFDaEIsSUFBTXVDLFVBQVVoQyIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi4vc3JjL0NvbGxhcHNpYmxlLnRzeD9hYzIwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGFibGVTdGF0ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlJztcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtbGF5b3V0LWVmZmVjdCc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUnO1xuaW1wb3J0IHsgUHJlc2VuY2UgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJlc2VuY2UnO1xuaW1wb3J0IHsgdXNlSWQgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtaWQnO1xuXG5pbXBvcnQgdHlwZSB7IFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb2xsYXBzaWJsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDT0xMQVBTSUJMRV9OQU1FID0gJ0NvbGxhcHNpYmxlJztcblxudHlwZSBTY29wZWRQcm9wczxQPiA9IFAgJiB7IF9fc2NvcGVDb2xsYXBzaWJsZT86IFNjb3BlIH07XG5jb25zdCBbY3JlYXRlQ29sbGFwc2libGVDb250ZXh0LCBjcmVhdGVDb2xsYXBzaWJsZVNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShDT0xMQVBTSUJMRV9OQU1FKTtcblxudHlwZSBDb2xsYXBzaWJsZUNvbnRleHRWYWx1ZSA9IHtcbiAgY29udGVudElkOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgb3BlbjogYm9vbGVhbjtcbiAgb25PcGVuVG9nZ2xlKCk6IHZvaWQ7XG59O1xuXG5jb25zdCBbQ29sbGFwc2libGVQcm92aWRlciwgdXNlQ29sbGFwc2libGVDb250ZXh0XSA9XG4gIGNyZWF0ZUNvbGxhcHNpYmxlQ29udGV4dDxDb2xsYXBzaWJsZUNvbnRleHRWYWx1ZT4oQ09MTEFQU0lCTEVfTkFNRSk7XG5cbnR5cGUgQ29sbGFwc2libGVFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG50eXBlIFByaW1pdGl2ZURpdlByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBDb2xsYXBzaWJsZVByb3BzIGV4dGVuZHMgUHJpbWl0aXZlRGl2UHJvcHMge1xuICBkZWZhdWx0T3Blbj86IGJvb2xlYW47XG4gIG9wZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG9uT3BlbkNoYW5nZT8ob3BlbjogYm9vbGVhbik6IHZvaWQ7XG59XG5cbmNvbnN0IENvbGxhcHNpYmxlID0gUmVhY3QuZm9yd2FyZFJlZjxDb2xsYXBzaWJsZUVsZW1lbnQsIENvbGxhcHNpYmxlUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPENvbGxhcHNpYmxlUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlQ29sbGFwc2libGUsXG4gICAgICBvcGVuOiBvcGVuUHJvcCxcbiAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAuLi5jb2xsYXBzaWJsZVByb3BzXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgW29wZW4gPSBmYWxzZSwgc2V0T3Blbl0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgICBwcm9wOiBvcGVuUHJvcCxcbiAgICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0T3BlbixcbiAgICAgIG9uQ2hhbmdlOiBvbk9wZW5DaGFuZ2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbGxhcHNpYmxlUHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e19fc2NvcGVDb2xsYXBzaWJsZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBjb250ZW50SWQ9e3VzZUlkKCl9XG4gICAgICAgIG9wZW49e29wZW59XG4gICAgICAgIG9uT3BlblRvZ2dsZT17UmVhY3QudXNlQ2FsbGJhY2soKCkgPT4gc2V0T3BlbigocHJldk9wZW4pID0+ICFwcmV2T3BlbiksIFtzZXRPcGVuXSl9XG4gICAgICA+XG4gICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgZGF0YS1zdGF0ZT17Z2V0U3RhdGUob3Blbil9XG4gICAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICB7Li4uY29sbGFwc2libGVQcm9wc31cbiAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgLz5cbiAgICAgIDwvQ29sbGFwc2libGVQcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG5Db2xsYXBzaWJsZS5kaXNwbGF5TmFtZSA9IENPTExBUFNJQkxFX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbGxhcHNpYmxlVHJpZ2dlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBUUklHR0VSX05BTUUgPSAnQ29sbGFwc2libGVUcmlnZ2VyJztcblxudHlwZSBDb2xsYXBzaWJsZVRyaWdnZXJFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG50eXBlIFByaW1pdGl2ZUJ1dHRvblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBDb2xsYXBzaWJsZVRyaWdnZXJQcm9wcyBleHRlbmRzIFByaW1pdGl2ZUJ1dHRvblByb3BzIHt9XG5cbmNvbnN0IENvbGxhcHNpYmxlVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8Q29sbGFwc2libGVUcmlnZ2VyRWxlbWVudCwgQ29sbGFwc2libGVUcmlnZ2VyUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPENvbGxhcHNpYmxlVHJpZ2dlclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQ29sbGFwc2libGUsIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZUNvbGxhcHNpYmxlQ29udGV4dChUUklHR0VSX05BTUUsIF9fc2NvcGVDb2xsYXBzaWJsZSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmltaXRpdmUuYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBhcmlhLWNvbnRyb2xzPXtjb250ZXh0LmNvbnRlbnRJZH1cbiAgICAgICAgYXJpYS1leHBhbmRlZD17Y29udGV4dC5vcGVuIHx8IGZhbHNlfVxuICAgICAgICBkYXRhLXN0YXRlPXtnZXRTdGF0ZShjb250ZXh0Lm9wZW4pfVxuICAgICAgICBkYXRhLWRpc2FibGVkPXtjb250ZXh0LmRpc2FibGVkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgIGRpc2FibGVkPXtjb250ZXh0LmRpc2FibGVkfVxuICAgICAgICB7Li4udHJpZ2dlclByb3BzfVxuICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgb25DbGljaz17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25DbGljaywgY29udGV4dC5vbk9wZW5Ub2dnbGUpfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuXG5Db2xsYXBzaWJsZVRyaWdnZXIuZGlzcGxheU5hbWUgPSBUUklHR0VSX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbGxhcHNpYmxlQ29udGVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDT05URU5UX05BTUUgPSAnQ29sbGFwc2libGVDb250ZW50JztcblxudHlwZSBDb2xsYXBzaWJsZUNvbnRlbnRFbGVtZW50ID0gQ29sbGFwc2libGVDb250ZW50SW1wbEVsZW1lbnQ7XG5pbnRlcmZhY2UgQ29sbGFwc2libGVDb250ZW50UHJvcHMgZXh0ZW5kcyBPbWl0PENvbGxhcHNpYmxlQ29udGVudEltcGxQcm9wcywgJ3ByZXNlbnQnPiB7XG4gIC8qKlxuICAgKiBVc2VkIHRvIGZvcmNlIG1vdW50aW5nIHdoZW4gbW9yZSBjb250cm9sIGlzIG5lZWRlZC4gVXNlZnVsIHdoZW5cbiAgICogY29udHJvbGxpbmcgYW5pbWF0aW9uIHdpdGggUmVhY3QgYW5pbWF0aW9uIGxpYnJhcmllcy5cbiAgICovXG4gIGZvcmNlTW91bnQ/OiB0cnVlO1xufVxuXG5jb25zdCBDb2xsYXBzaWJsZUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPENvbGxhcHNpYmxlQ29udGVudEVsZW1lbnQsIENvbGxhcHNpYmxlQ29udGVudFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxDb2xsYXBzaWJsZUNvbnRlbnRQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgZm9yY2VNb3VudCwgLi4uY29udGVudFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29sbGFwc2libGVDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZUNvbGxhcHNpYmxlKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXNlbmNlIHByZXNlbnQ9e2ZvcmNlTW91bnQgfHwgY29udGV4dC5vcGVufT5cbiAgICAgICAgeyh7IHByZXNlbnQgfSkgPT4gKFxuICAgICAgICAgIDxDb2xsYXBzaWJsZUNvbnRlbnRJbXBsIHsuLi5jb250ZW50UHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSBwcmVzZW50PXtwcmVzZW50fSAvPlxuICAgICAgICApfVxuICAgICAgPC9QcmVzZW5jZT5cbiAgICApO1xuICB9XG4pO1xuXG5Db2xsYXBzaWJsZUNvbnRlbnQuZGlzcGxheU5hbWUgPSBDT05URU5UX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBDb2xsYXBzaWJsZUNvbnRlbnRJbXBsRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIENvbGxhcHNpYmxlQ29udGVudEltcGxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHtcbiAgcHJlc2VudDogYm9vbGVhbjtcbn1cblxuY29uc3QgQ29sbGFwc2libGVDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIENvbGxhcHNpYmxlQ29udGVudEltcGxFbGVtZW50LFxuICBDb2xsYXBzaWJsZUNvbnRlbnRJbXBsUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxDb2xsYXBzaWJsZUNvbnRlbnRJbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlQ29sbGFwc2libGUsIHByZXNlbnQsIGNoaWxkcmVuLCAuLi5jb250ZW50UHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29sbGFwc2libGVDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZUNvbGxhcHNpYmxlKTtcbiAgY29uc3QgW2lzUHJlc2VudCwgc2V0SXNQcmVzZW50XSA9IFJlYWN0LnVzZVN0YXRlKHByZXNlbnQpO1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWY8Q29sbGFwc2libGVDb250ZW50SW1wbEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICBjb25zdCBoZWlnaHRSZWYgPSBSZWFjdC51c2VSZWY8bnVtYmVyIHwgdW5kZWZpbmVkPigwKTtcbiAgY29uc3QgaGVpZ2h0ID0gaGVpZ2h0UmVmLmN1cnJlbnQ7XG4gIGNvbnN0IHdpZHRoUmVmID0gUmVhY3QudXNlUmVmPG51bWJlciB8IHVuZGVmaW5lZD4oMCk7XG4gIGNvbnN0IHdpZHRoID0gd2lkdGhSZWYuY3VycmVudDtcbiAgLy8gd2hlbiBvcGVuaW5nIHdlIHdhbnQgaXQgdG8gaW1tZWRpYXRlbHkgb3BlbiB0byByZXRyaWV2ZSBkaW1lbnNpb25zXG4gIC8vIHdoZW4gY2xvc2luZyB3ZSBkZWxheSBgcHJlc2VudGAgdG8gcmV0cmlldmUgZGltZW5zaW9ucyBiZWZvcmUgY2xvc2luZ1xuICBjb25zdCBpc09wZW4gPSBjb250ZXh0Lm9wZW4gfHwgaXNQcmVzZW50O1xuICBjb25zdCBpc01vdW50QW5pbWF0aW9uUHJldmVudGVkUmVmID0gUmVhY3QudXNlUmVmKGlzT3Blbik7XG4gIGNvbnN0IG9yaWdpbmFsU3R5bGVzUmVmID0gUmVhY3QudXNlUmVmPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHVuZGVmaW5lZCk7XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByQUYgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gKGlzTW91bnRBbmltYXRpb25QcmV2ZW50ZWRSZWYuY3VycmVudCA9IGZhbHNlKSk7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJBRik7XG4gIH0sIFtdKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSByZWYuY3VycmVudDtcbiAgICBpZiAobm9kZSkge1xuICAgICAgb3JpZ2luYWxTdHlsZXNSZWYuY3VycmVudCA9IG9yaWdpbmFsU3R5bGVzUmVmLmN1cnJlbnQgfHwge1xuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IG5vZGUuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25OYW1lOiBub2RlLnN0eWxlLmFuaW1hdGlvbk5hbWUsXG4gICAgICB9O1xuICAgICAgLy8gYmxvY2sgYW55IGFuaW1hdGlvbnMvdHJhbnNpdGlvbnMgc28gdGhlIGVsZW1lbnQgcmVuZGVycyBhdCBpdHMgZnVsbCBkaW1lbnNpb25zXG4gICAgICBub2RlLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcwcyc7XG4gICAgICBub2RlLnN0eWxlLmFuaW1hdGlvbk5hbWUgPSAnbm9uZSc7XG5cbiAgICAgIC8vIGdldCB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gZnVsbCBkaW1lbnNpb25zXG4gICAgICBjb25zdCByZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGhlaWdodFJlZi5jdXJyZW50ID0gcmVjdC5oZWlnaHQ7XG4gICAgICB3aWR0aFJlZi5jdXJyZW50ID0gcmVjdC53aWR0aDtcblxuICAgICAgLy8ga2ljayBvZmYgYW55IGFuaW1hdGlvbnMvdHJhbnNpdGlvbnMgdGhhdCB3ZXJlIG9yaWdpbmFsbHkgc2V0IHVwIGlmIGl0IGlzbid0IHRoZSBpbml0aWFsIG1vdW50XG4gICAgICBpZiAoIWlzTW91bnRBbmltYXRpb25QcmV2ZW50ZWRSZWYuY3VycmVudCkge1xuICAgICAgICBub2RlLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbiA9IG9yaWdpbmFsU3R5bGVzUmVmLmN1cnJlbnQudHJhbnNpdGlvbkR1cmF0aW9uO1xuICAgICAgICBub2RlLnN0eWxlLmFuaW1hdGlvbk5hbWUgPSBvcmlnaW5hbFN0eWxlc1JlZi5jdXJyZW50LmFuaW1hdGlvbk5hbWU7XG4gICAgICB9XG5cbiAgICAgIHNldElzUHJlc2VudChwcmVzZW50KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogZGVwZW5kcyBvbiBgY29udGV4dC5vcGVuYCBiZWNhdXNlIGl0IHdpbGwgY2hhbmdlIHRvIGBmYWxzZWBcbiAgICAgKiB3aGVuIGEgY2xvc2UgaXMgdHJpZ2dlcmVkIGJ1dCBgcHJlc2VudGAgd2lsbCBiZSBgZmFsc2VgIG9uXG4gICAgICogYW5pbWF0aW9uIGVuZCAoc28gd2hlbiBjbG9zZSBmaW5pc2hlcykuIFRoaXMgYWxsb3dzIHVzIHRvXG4gICAgICogcmV0cmlldmUgdGhlIGRpbWVuc2lvbnMgKmJlZm9yZSogY2xvc2luZy5cbiAgICAgKi9cbiAgfSwgW2NvbnRleHQub3BlbiwgcHJlc2VudF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFByaW1pdGl2ZS5kaXZcbiAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGNvbnRleHQub3Blbil9XG4gICAgICBkYXRhLWRpc2FibGVkPXtjb250ZXh0LmRpc2FibGVkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICBpZD17Y29udGV4dC5jb250ZW50SWR9XG4gICAgICBoaWRkZW49eyFpc09wZW59XG4gICAgICB7Li4uY29udGVudFByb3BzfVxuICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBbYC0tcmFkaXgtY29sbGFwc2libGUtY29udGVudC1oZWlnaHRgIGFzIGFueV06IGhlaWdodCA/IGAke2hlaWdodH1weGAgOiB1bmRlZmluZWQsXG4gICAgICAgIFtgLS1yYWRpeC1jb2xsYXBzaWJsZS1jb250ZW50LXdpZHRoYCBhcyBhbnldOiB3aWR0aCA/IGAke3dpZHRofXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtpc09wZW4gJiYgY2hpbGRyZW59XG4gICAgPC9QcmltaXRpdmUuZGl2PlxuICApO1xufSk7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuZnVuY3Rpb24gZ2V0U3RhdGUob3Blbj86IGJvb2xlYW4pIHtcbiAgcmV0dXJuIG9wZW4gPyAnb3BlbicgOiAnY2xvc2VkJztcbn1cblxuY29uc3QgUm9vdCA9IENvbGxhcHNpYmxlO1xuY29uc3QgVHJpZ2dlciA9IENvbGxhcHNpYmxlVHJpZ2dlcjtcbmNvbnN0IENvbnRlbnQgPSBDb2xsYXBzaWJsZUNvbnRlbnQ7XG5cbmV4cG9ydCB7XG4gIGNyZWF0ZUNvbGxhcHNpYmxlU2NvcGUsXG4gIC8vXG4gIENvbGxhcHNpYmxlLFxuICBDb2xsYXBzaWJsZVRyaWdnZXIsXG4gIENvbGxhcHNpYmxlQ29udGVudCxcbiAgLy9cbiAgUm9vdCxcbiAgVHJpZ2dlcixcbiAgQ29udGVudCxcbn07XG5leHBvcnQgdHlwZSB7IENvbGxhcHNpYmxlUHJvcHMsIENvbGxhcHNpYmxlVHJpZ2dlclByb3BzLCBDb2xsYXBzaWJsZUNvbnRlbnRQcm9wcyB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY29tcG9zZUV2ZW50SGFuZGxlcnMiLCJjcmVhdGVDb250ZXh0U2NvcGUiLCJ1c2VDb250cm9sbGFibGVTdGF0ZSIsInVzZUxheW91dEVmZmVjdCIsInVzZUNvbXBvc2VkUmVmcyIsIlByaW1pdGl2ZSIsIlByZXNlbmNlIiwidXNlSWQiLCJqc3giLCJDT0xMQVBTSUJMRV9OQU1FIiwiY3JlYXRlQ29sbGFwc2libGVDb250ZXh0IiwiY3JlYXRlQ29sbGFwc2libGVTY29wZSIsIkNvbGxhcHNpYmxlUHJvdmlkZXIiLCJ1c2VDb2xsYXBzaWJsZUNvbnRleHQiLCJDb2xsYXBzaWJsZSIsImZvcndhcmRSZWYiLCJwcm9wcyIsImZvcndhcmRlZFJlZiIsIl9fc2NvcGVDb2xsYXBzaWJsZSIsIm9wZW4iLCJvcGVuUHJvcCIsImRlZmF1bHRPcGVuIiwiZGlzYWJsZWQiLCJvbk9wZW5DaGFuZ2UiLCJjb2xsYXBzaWJsZVByb3BzIiwic2V0T3BlbiIsInByb3AiLCJkZWZhdWx0UHJvcCIsIm9uQ2hhbmdlIiwic2NvcGUiLCJjb250ZW50SWQiLCJvbk9wZW5Ub2dnbGUiLCJ1c2VDYWxsYmFjayIsInByZXZPcGVuIiwiY2hpbGRyZW4iLCJkaXYiLCJnZXRTdGF0ZSIsInJlZiIsImRpc3BsYXlOYW1lIiwiVFJJR0dFUl9OQU1FIiwiQ29sbGFwc2libGVUcmlnZ2VyIiwidHJpZ2dlclByb3BzIiwiY29udGV4dCIsImJ1dHRvbiIsInR5cGUiLCJvbkNsaWNrIiwiQ09OVEVOVF9OQU1FIiwiQ29sbGFwc2libGVDb250ZW50IiwiZm9yY2VNb3VudCIsImNvbnRlbnRQcm9wcyIsInByZXNlbnQiLCJDb2xsYXBzaWJsZUNvbnRlbnRJbXBsIiwiaXNQcmVzZW50Iiwic2V0SXNQcmVzZW50IiwidXNlU3RhdGUiLCJ1c2VSZWYiLCJjb21wb3NlZFJlZnMiLCJoZWlnaHRSZWYiLCJoZWlnaHQiLCJjdXJyZW50Iiwid2lkdGhSZWYiLCJ3aWR0aCIsImlzT3BlbiIsImlzTW91bnRBbmltYXRpb25QcmV2ZW50ZWRSZWYiLCJvcmlnaW5hbFN0eWxlc1JlZiIsInVzZUVmZmVjdCIsInJBRiIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwibm9kZSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInN0eWxlIiwiYW5pbWF0aW9uTmFtZSIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJpZCIsImhpZGRlbiIsIlJvb3QiLCJUcmlnZ2VyIiwiQ29udGVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-collapsible/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs":
|
|
/*!****************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-collection/dist/index.mjs ***!
|
|
\****************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createCollection: () => (/* binding */ createCollection)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ createCollection auto */ // packages/react/collection/src/Collection.tsx\n\n\n\n\n\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContextScope)(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, {\n collectionRef: {\n current: null\n },\n itemMap: /* @__PURE__ */ new Map()\n });\n const CollectionProvider = (props)=>{\n const { scope, children } = props;\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const itemMap = react__WEBPACK_IMPORTED_MODULE_0__.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CollectionProviderImpl, {\n scope,\n itemMap,\n collectionRef: ref,\n children\n });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__.useComposedRefs)(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot, {\n ref: composedRefs,\n children\n });\n });\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { scope, children, ...itemData } = props;\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__.useComposedRefs)(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n context.itemMap.set(ref, {\n ref,\n ...itemData\n });\n return ()=>void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot, {\n ...{\n [ITEM_DATA_ATTR]: \"\"\n },\n ref: composedRefs,\n children\n });\n });\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(()=>{\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort((a, b)=>orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current));\n return orderedItems;\n }, [\n context.collectionRef,\n context.itemMap\n ]);\n return getItems;\n }\n return [\n {\n Provider: CollectionProvider,\n Slot: CollectionSlot,\n ItemSlot: CollectionItemSlot\n },\n useCollection,\n createCollectionScope\n ];\n}\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNvbGxlY3Rpb24vZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFrQjtBQUNpQjtBQUNIO0FBQ1g7QUF1Q2Y7QUExQk4sU0FBU0ssaUJBQWlFQyxJQUFBO0lBS3hFLE1BQU1DLGdCQUFnQkQsT0FBTztJQUM3QixNQUFNLENBQUNFLHlCQUF5QkMsc0JBQXFCLEdBQUlSLDJFQUFrQkEsQ0FBQ007SUFVNUUsTUFBTSxDQUFDRyx3QkFBd0JDLHFCQUFvQixHQUFJSCx3QkFDckRELGVBQ0E7UUFBRUssZUFBZTtZQUFFQyxTQUFTO1FBQUs7UUFBR0MsU0FBUyxvQkFBSUM7SUFBTTtJQUd6RCxNQUFNQyxxQkFBMkUsQ0FBQ0M7UUFDaEYsTUFBTSxFQUFFQyxLQUFBLEVBQU9DLFFBQUEsRUFBUyxHQUFJRjtRQUM1QixNQUFNRyxNQUFNcEIseUNBQU0sQ0FBMEI7UUFDNUMsTUFBTWMsVUFBVWQseUNBQU0sQ0FBZ0Msb0JBQUllLE9BQU9GLE9BQUE7UUFDakUsT0FDRSxnQkFBQVQsc0RBQUFBLENBQUNNLHdCQUFBO1lBQXVCUTtZQUFjSjtZQUFrQkYsZUFBZVE7WUFDcEVEO1FBQUE7SUFHUDtJQUVBSCxtQkFBbUJNLFdBQUEsR0FBY2Y7SUFNakMsTUFBTWdCLHVCQUF1QmpCLE9BQU87SUFFcEMsTUFBTWtCLCtCQUFpQnhCLDZDQUFNLENBQzNCLENBQUNpQixPQUFPUztRQUNOLE1BQU0sRUFBRVIsS0FBQSxFQUFPQyxRQUFBLEVBQVMsR0FBSUY7UUFDNUIsTUFBTVUsVUFBVWhCLHFCQUFxQlksc0JBQXNCTDtRQUMzRCxNQUFNVSxlQUFlMUIsNkVBQWVBLENBQUN3QixjQUFjQyxRQUFRZixhQUFhO1FBQ3hFLE9BQU8sZ0JBQUFSLHNEQUFBQSxDQUFDRCxzREFBSUEsRUFBSjtZQUFLaUIsS0FBS1E7WUFBZVQ7UUFBQTtJQUNuQztJQUdGSyxlQUFlRixXQUFBLEdBQWNDO0lBTTdCLE1BQU1NLGlCQUFpQnZCLE9BQU87SUFDOUIsTUFBTXdCLGlCQUFpQjtJQU92QixNQUFNQyxtQ0FBcUIvQiw2Q0FBTSxDQUMvQixDQUFDaUIsT0FBT1M7UUFDTixNQUFNLEVBQUVSLEtBQUEsRUFBT0MsUUFBQSxFQUFVLEdBQUdhLFVBQVMsR0FBSWY7UUFDekMsTUFBTUcsTUFBTXBCLHlDQUFNLENBQW9CO1FBQ3RDLE1BQU00QixlQUFlMUIsNkVBQWVBLENBQUN3QixjQUFjTjtRQUNuRCxNQUFNTyxVQUFVaEIscUJBQXFCa0IsZ0JBQWdCWDtRQUVyRGxCLDRDQUFNLENBQVU7WUFDZDJCLFFBQVFiLE9BQUEsQ0FBUW9CLEdBQUEsQ0FBSWQsS0FBSztnQkFBRUE7Z0JBQUssR0FBSVksUUFBQTtZQUFpQztZQUNyRSxPQUFPLElBQU0sS0FBS0wsUUFBUWIsT0FBQSxDQUFRcUIsTUFBQSxDQUFPZjtRQUMzQztRQUVBLE9BQ0UsZ0JBQUFoQixzREFBQUEsQ0FBQ0Qsc0RBQUlBLEVBQUo7WUFBTSxHQUFHO2dCQUFFLENBQUMyQixlQUFjLEVBQUc7WUFBRztZQUFHVixLQUFLUTtZQUN0Q1Q7UUFBQTtJQUdQO0lBR0ZZLG1CQUFtQlQsV0FBQSxHQUFjTztJQU1qQyxTQUFTTyxjQUFjbEIsS0FBQTtRQUNyQixNQUFNUyxVQUFVaEIscUJBQXFCTCxPQUFPLHNCQUFzQlk7UUFFbEUsTUFBTW1CLFdBQVdyQyw4Q0FBTSxDQUFZO1lBQ2pDLE1BQU11QyxpQkFBaUJaLFFBQVFmLGFBQUEsQ0FBY0MsT0FBQTtZQUM3QyxJQUFJLENBQUMwQixnQkFBZ0IsT0FBTyxFQUFDO1lBQzdCLE1BQU1DLGVBQWVDLE1BQU1DLElBQUEsQ0FBS0gsZUFBZUksZ0JBQUEsQ0FBaUIsSUFBSWIsZUFBYyxFQUFHO1lBQ3JGLE1BQU1jLFFBQVFILE1BQU1DLElBQUEsQ0FBS2YsUUFBUWIsT0FBQSxDQUFRK0IsTUFBQTtZQUN6QyxNQUFNQyxlQUFlRixNQUFNRyxJQUFBLENBQ3pCLENBQUNDLEdBQUdDLElBQU1ULGFBQWFVLE9BQUEsQ0FBUUYsRUFBRTVCLEdBQUEsQ0FBSVAsT0FBUSxJQUFJMkIsYUFBYVUsT0FBQSxDQUFRRCxFQUFFN0IsR0FBQSxDQUFJUCxPQUFRO1lBRXRGLE9BQU9pQztRQUNULEdBQUc7WUFBQ25CLFFBQVFmLGFBQUE7WUFBZWUsUUFBUWIsT0FBTztTQUFDO1FBRTNDLE9BQU91QjtJQUNUO0lBRUEsT0FBTztRQUNMO1lBQUVjLFVBQVVuQztZQUFvQmIsTUFBTXFCO1lBQWdCNEIsVUFBVXJCO1FBQW1CO1FBQ25GSztRQUNBM0I7S0FDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uLi9zcmMvQ29sbGVjdGlvbi50c3g/NzlkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmcyc7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXNsb3QnO1xuXG50eXBlIFNsb3RQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2xvdD47XG50eXBlIENvbGxlY3Rpb25FbGVtZW50ID0gSFRNTEVsZW1lbnQ7XG5pbnRlcmZhY2UgQ29sbGVjdGlvblByb3BzIGV4dGVuZHMgU2xvdFByb3BzIHtcbiAgc2NvcGU6IGFueTtcbn1cblxuLy8gV2UgaGF2ZSByZXNvcnRlZCB0byByZXR1cm5pbmcgc2xvdHMgZGlyZWN0bHkgcmF0aGVyIHRoYW4gZXhwb3NpbmcgcHJpbWl0aXZlcyB0aGF0IGNhbiB0aGVuXG4vLyBiZSBzbG90dGVkIGxpa2UgYDxDb2xsZWN0aW9uSXRlbSBhcz17U2xvdH0+4oCmPC9Db2xsZWN0aW9uSXRlbT5gLlxuLy8gVGhpcyBpcyBiZWNhdXNlIHdlIGVuY291bnRlcmVkIGlzc3VlcyB3aXRoIGdlbmVyaWMgdHlwZXMgdGhhdCBjYW5ub3QgYmUgc3RhdGljYWxseSBhbmFseXNlZFxuLy8gZHVlIHRvIGNyZWF0aW5nIHRoZW0gZHluYW1pY2FsbHkgdmlhIGNyZWF0ZUNvbGxlY3Rpb24uXG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbGxlY3Rpb248SXRlbUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCwgSXRlbURhdGEgPSB7fT4obmFtZTogc3RyaW5nKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENvbGxlY3Rpb25Qcm92aWRlclxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIGNvbnN0IFBST1ZJREVSX05BTUUgPSBuYW1lICsgJ0NvbGxlY3Rpb25Qcm92aWRlcic7XG4gIGNvbnN0IFtjcmVhdGVDb2xsZWN0aW9uQ29udGV4dCwgY3JlYXRlQ29sbGVjdGlvblNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShQUk9WSURFUl9OQU1FKTtcblxuICB0eXBlIENvbnRleHRWYWx1ZSA9IHtcbiAgICBjb2xsZWN0aW9uUmVmOiBSZWFjdC5SZWZPYmplY3Q8Q29sbGVjdGlvbkVsZW1lbnQgfCBudWxsPjtcbiAgICBpdGVtTWFwOiBNYXA8XG4gICAgICBSZWFjdC5SZWZPYmplY3Q8SXRlbUVsZW1lbnQgfCBudWxsPixcbiAgICAgIHsgcmVmOiBSZWFjdC5SZWZPYmplY3Q8SXRlbUVsZW1lbnQgfCBudWxsPiB9ICYgSXRlbURhdGFcbiAgICA+O1xuICB9O1xuXG4gIGNvbnN0IFtDb2xsZWN0aW9uUHJvdmlkZXJJbXBsLCB1c2VDb2xsZWN0aW9uQ29udGV4dF0gPSBjcmVhdGVDb2xsZWN0aW9uQ29udGV4dDxDb250ZXh0VmFsdWU+KFxuICAgIFBST1ZJREVSX05BTUUsXG4gICAgeyBjb2xsZWN0aW9uUmVmOiB7IGN1cnJlbnQ6IG51bGwgfSwgaXRlbU1hcDogbmV3IE1hcCgpIH1cbiAgKTtcblxuICBjb25zdCBDb2xsZWN0aW9uUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7IHNjb3BlOiBhbnkgfT4gPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHNjb3BlLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gICAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmPENvbGxlY3Rpb25FbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpdGVtTWFwID0gUmVhY3QudXNlUmVmPENvbnRleHRWYWx1ZVsnaXRlbU1hcCddPihuZXcgTWFwKCkpLmN1cnJlbnQ7XG4gICAgcmV0dXJuIChcbiAgICAgIDxDb2xsZWN0aW9uUHJvdmlkZXJJbXBsIHNjb3BlPXtzY29wZX0gaXRlbU1hcD17aXRlbU1hcH0gY29sbGVjdGlvblJlZj17cmVmfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9Db2xsZWN0aW9uUHJvdmlkZXJJbXBsPlxuICAgICk7XG4gIH07XG5cbiAgQ29sbGVjdGlvblByb3ZpZGVyLmRpc3BsYXlOYW1lID0gUFJPVklERVJfTkFNRTtcblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDb2xsZWN0aW9uU2xvdFxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIGNvbnN0IENPTExFQ1RJT05fU0xPVF9OQU1FID0gbmFtZSArICdDb2xsZWN0aW9uU2xvdCc7XG5cbiAgY29uc3QgQ29sbGVjdGlvblNsb3QgPSBSZWFjdC5mb3J3YXJkUmVmPENvbGxlY3Rpb25FbGVtZW50LCBDb2xsZWN0aW9uUHJvcHM+KFxuICAgIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgICBjb25zdCB7IHNjb3BlLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gICAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29sbGVjdGlvbkNvbnRleHQoQ09MTEVDVElPTl9TTE9UX05BTUUsIHNjb3BlKTtcbiAgICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRleHQuY29sbGVjdGlvblJlZik7XG4gICAgICByZXR1cm4gPFNsb3QgcmVmPXtjb21wb3NlZFJlZnN9PntjaGlsZHJlbn08L1Nsb3Q+O1xuICAgIH1cbiAgKTtcblxuICBDb2xsZWN0aW9uU2xvdC5kaXNwbGF5TmFtZSA9IENPTExFQ1RJT05fU0xPVF9OQU1FO1xuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENvbGxlY3Rpb25JdGVtXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgY29uc3QgSVRFTV9TTE9UX05BTUUgPSBuYW1lICsgJ0NvbGxlY3Rpb25JdGVtU2xvdCc7XG4gIGNvbnN0IElURU1fREFUQV9BVFRSID0gJ2RhdGEtcmFkaXgtY29sbGVjdGlvbi1pdGVtJztcblxuICB0eXBlIENvbGxlY3Rpb25JdGVtU2xvdFByb3BzID0gSXRlbURhdGEgJiB7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICBzY29wZTogYW55O1xuICB9O1xuXG4gIGNvbnN0IENvbGxlY3Rpb25JdGVtU2xvdCA9IFJlYWN0LmZvcndhcmRSZWY8SXRlbUVsZW1lbnQsIENvbGxlY3Rpb25JdGVtU2xvdFByb3BzPihcbiAgICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgICAgY29uc3QgeyBzY29wZSwgY2hpbGRyZW4sIC4uLml0ZW1EYXRhIH0gPSBwcm9wcztcbiAgICAgIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZjxJdGVtRWxlbWVudD4obnVsbCk7XG4gICAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICAgICAgY29uc3QgY29udGV4dCA9IHVzZUNvbGxlY3Rpb25Db250ZXh0KElURU1fU0xPVF9OQU1FLCBzY29wZSk7XG5cbiAgICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnRleHQuaXRlbU1hcC5zZXQocmVmLCB7IHJlZiwgLi4uKGl0ZW1EYXRhIGFzIHVua25vd24gYXMgSXRlbURhdGEpIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4gdm9pZCBjb250ZXh0Lml0ZW1NYXAuZGVsZXRlKHJlZik7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNsb3Qgey4uLnsgW0lURU1fREFUQV9BVFRSXTogJycgfX0gcmVmPXtjb21wb3NlZFJlZnN9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TbG90PlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgQ29sbGVjdGlvbkl0ZW1TbG90LmRpc3BsYXlOYW1lID0gSVRFTV9TTE9UX05BTUU7XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogdXNlQ29sbGVjdGlvblxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIGZ1bmN0aW9uIHVzZUNvbGxlY3Rpb24oc2NvcGU6IGFueSkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb2xsZWN0aW9uQ29udGV4dChuYW1lICsgJ0NvbGxlY3Rpb25Db25zdW1lcicsIHNjb3BlKTtcblxuICAgIGNvbnN0IGdldEl0ZW1zID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29uc3QgY29sbGVjdGlvbk5vZGUgPSBjb250ZXh0LmNvbGxlY3Rpb25SZWYuY3VycmVudDtcbiAgICAgIGlmICghY29sbGVjdGlvbk5vZGUpIHJldHVybiBbXTtcbiAgICAgIGNvbnN0IG9yZGVyZWROb2RlcyA9IEFycmF5LmZyb20oY29sbGVjdGlvbk5vZGUucXVlcnlTZWxlY3RvckFsbChgWyR7SVRFTV9EQVRBX0FUVFJ9XWApKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuZnJvbShjb250ZXh0Lml0ZW1NYXAudmFsdWVzKCkpO1xuICAgICAgY29uc3Qgb3JkZXJlZEl0ZW1zID0gaXRlbXMuc29ydChcbiAgICAgICAgKGEsIGIpID0+IG9yZGVyZWROb2Rlcy5pbmRleE9mKGEucmVmLmN1cnJlbnQhKSAtIG9yZGVyZWROb2Rlcy5pbmRleE9mKGIucmVmLmN1cnJlbnQhKVxuICAgICAgKTtcbiAgICAgIHJldHVybiBvcmRlcmVkSXRlbXM7XG4gICAgfSwgW2NvbnRleHQuY29sbGVjdGlvblJlZiwgY29udGV4dC5pdGVtTWFwXSk7XG5cbiAgICByZXR1cm4gZ2V0SXRlbXM7XG4gIH1cblxuICByZXR1cm4gW1xuICAgIHsgUHJvdmlkZXI6IENvbGxlY3Rpb25Qcm92aWRlciwgU2xvdDogQ29sbGVjdGlvblNsb3QsIEl0ZW1TbG90OiBDb2xsZWN0aW9uSXRlbVNsb3QgfSxcbiAgICB1c2VDb2xsZWN0aW9uLFxuICAgIGNyZWF0ZUNvbGxlY3Rpb25TY29wZSxcbiAgXSBhcyBjb25zdDtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQ29sbGVjdGlvbiB9O1xuZXhwb3J0IHR5cGUgeyBDb2xsZWN0aW9uUHJvcHMgfTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHRTY29wZSIsInVzZUNvbXBvc2VkUmVmcyIsIlNsb3QiLCJqc3giLCJjcmVhdGVDb2xsZWN0aW9uIiwibmFtZSIsIlBST1ZJREVSX05BTUUiLCJjcmVhdGVDb2xsZWN0aW9uQ29udGV4dCIsImNyZWF0ZUNvbGxlY3Rpb25TY29wZSIsIkNvbGxlY3Rpb25Qcm92aWRlckltcGwiLCJ1c2VDb2xsZWN0aW9uQ29udGV4dCIsImNvbGxlY3Rpb25SZWYiLCJjdXJyZW50IiwiaXRlbU1hcCIsIk1hcCIsIkNvbGxlY3Rpb25Qcm92aWRlciIsInByb3BzIiwic2NvcGUiLCJjaGlsZHJlbiIsInJlZiIsInVzZVJlZiIsImRpc3BsYXlOYW1lIiwiQ09MTEVDVElPTl9TTE9UX05BTUUiLCJDb2xsZWN0aW9uU2xvdCIsImZvcndhcmRSZWYiLCJmb3J3YXJkZWRSZWYiLCJjb250ZXh0IiwiY29tcG9zZWRSZWZzIiwiSVRFTV9TTE9UX05BTUUiLCJJVEVNX0RBVEFfQVRUUiIsIkNvbGxlY3Rpb25JdGVtU2xvdCIsIml0ZW1EYXRhIiwidXNlRWZmZWN0Iiwic2V0IiwiZGVsZXRlIiwidXNlQ29sbGVjdGlvbiIsImdldEl0ZW1zIiwidXNlQ2FsbGJhY2siLCJjb2xsZWN0aW9uTm9kZSIsIm9yZGVyZWROb2RlcyIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJpdGVtcyIsInZhbHVlcyIsIm9yZGVyZWRJdGVtcyIsInNvcnQiLCJhIiwiYiIsImluZGV4T2YiLCJQcm92aWRlciIsIkl0ZW1TbG90Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-compose-refs/dist/index.mjs ***!
|
|
\******************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ composeRefs: () => (/* binding */ composeRefs),\n/* harmony export */ useComposedRefs: () => (/* binding */ useComposedRefs)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n// packages/react/compose-refs/src/composeRefs.tsx\n\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(composeRefs(...refs), refs);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmcy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUMrQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSx3QkFBd0IscUJBQXFCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyw4Q0FBaUI7QUFDMUI7QUFJRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzL2Rpc3QvaW5kZXgubWpzPzg2M2YiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvY29tcG9zZS1yZWZzL3NyYy9jb21wb3NlUmVmcy50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gc2V0UmVmKHJlZiwgdmFsdWUpIHtcbiAgaWYgKHR5cGVvZiByZWYgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiByZWYodmFsdWUpO1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCkge1xuICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbXBvc2VSZWZzKC4uLnJlZnMpIHtcbiAgcmV0dXJuIChub2RlKSA9PiB7XG4gICAgbGV0IGhhc0NsZWFudXAgPSBmYWxzZTtcbiAgICBjb25zdCBjbGVhbnVwcyA9IHJlZnMubWFwKChyZWYpID0+IHtcbiAgICAgIGNvbnN0IGNsZWFudXAgPSBzZXRSZWYocmVmLCBub2RlKTtcbiAgICAgIGlmICghaGFzQ2xlYW51cCAmJiB0eXBlb2YgY2xlYW51cCA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgaGFzQ2xlYW51cCA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2xlYW51cDtcbiAgICB9KTtcbiAgICBpZiAoaGFzQ2xlYW51cCkge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGVhbnVwcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IGNsZWFudXAgPSBjbGVhbnVwc1tpXTtcbiAgICAgICAgICBpZiAodHlwZW9mIGNsZWFudXAgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFJlZihyZWZzW2ldLCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gdXNlQ29tcG9zZWRSZWZzKC4uLnJlZnMpIHtcbiAgcmV0dXJuIFJlYWN0LnVzZUNhbGxiYWNrKGNvbXBvc2VSZWZzKC4uLnJlZnMpLCByZWZzKTtcbn1cbmV4cG9ydCB7XG4gIGNvbXBvc2VSZWZzLFxuICB1c2VDb21wb3NlZFJlZnNcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs":
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-context/dist/index.mjs ***!
|
|
\*************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createContext: () => (/* binding */ createContext2),\n/* harmony export */ createContextScope: () => (/* binding */ createContextScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// packages/react/context/src/createContext.tsx\n\n\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = react__WEBPACK_IMPORTED_MODULE_0__.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return react__WEBPACK_IMPORTED_MODULE_0__.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQytCO0FBQ1M7QUFDeEM7QUFDQSxrQkFBa0IsZ0RBQW1CO0FBQ3JDO0FBQ0EsWUFBWSx1QkFBdUI7QUFDbkMsa0JBQWtCLDBDQUFhO0FBQy9CLDJCQUEyQixzREFBRyxxQkFBcUIsaUJBQWlCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2Q0FBZ0I7QUFDcEM7QUFDQTtBQUNBLHlCQUF5QixhQUFhLDJCQUEyQixrQkFBa0I7QUFDbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdEQUFtQjtBQUMzQztBQUNBO0FBQ0E7QUFDQSxjQUFjLDhCQUE4QjtBQUM1QztBQUNBLG9CQUFvQiwwQ0FBYTtBQUNqQyw2QkFBNkIsc0RBQUcscUJBQXFCLGlCQUFpQjtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiw2Q0FBZ0I7QUFDdEM7QUFDQTtBQUNBLDJCQUEyQixhQUFhLDJCQUEyQixrQkFBa0I7QUFDckY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsZ0RBQW1CO0FBQ2hDLEtBQUs7QUFDTDtBQUNBO0FBQ0EsYUFBYSwwQ0FBYTtBQUMxQixpQkFBaUIsV0FBVyxVQUFVLE1BQU0sbUNBQW1DO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSwyREFBMkQscUJBQXFCO0FBQ2hGO0FBQ0Esa0RBQWtELFVBQVU7QUFDNUQsaUJBQWlCO0FBQ2pCLE9BQU8sSUFBSTtBQUNYLGFBQWEsMENBQWEsVUFBVSxXQUFXLG9CQUFvQixnQkFBZ0I7QUFDbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1jb250ZXh0L2Rpc3QvaW5kZXgubWpzPzY1MWIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvY29udGV4dC9zcmMvY3JlYXRlQ29udGV4dC50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5mdW5jdGlvbiBjcmVhdGVDb250ZXh0Mihyb290Q29tcG9uZW50TmFtZSwgZGVmYXVsdENvbnRleHQpIHtcbiAgY29uc3QgQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQoZGVmYXVsdENvbnRleHQpO1xuICBjb25zdCBQcm92aWRlciA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIC4uLmNvbnRleHQgfSA9IHByb3BzO1xuICAgIGNvbnN0IHZhbHVlID0gUmVhY3QudXNlTWVtbygoKSA9PiBjb250ZXh0LCBPYmplY3QudmFsdWVzKGNvbnRleHQpKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlLCBjaGlsZHJlbiB9KTtcbiAgfTtcbiAgUHJvdmlkZXIuZGlzcGxheU5hbWUgPSByb290Q29tcG9uZW50TmFtZSArIFwiUHJvdmlkZXJcIjtcbiAgZnVuY3Rpb24gdXNlQ29udGV4dDIoY29uc3VtZXJOYW1lKSB7XG4gICAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoQ29udGV4dCk7XG4gICAgaWYgKGNvbnRleHQpIHJldHVybiBjb250ZXh0O1xuICAgIGlmIChkZWZhdWx0Q29udGV4dCAhPT0gdm9pZCAwKSByZXR1cm4gZGVmYXVsdENvbnRleHQ7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBcXGAke2NvbnN1bWVyTmFtZX1cXGAgbXVzdCBiZSB1c2VkIHdpdGhpbiBcXGAke3Jvb3RDb21wb25lbnROYW1lfVxcYGApO1xuICB9XG4gIHJldHVybiBbUHJvdmlkZXIsIHVzZUNvbnRleHQyXTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHRTY29wZShzY29wZU5hbWUsIGNyZWF0ZUNvbnRleHRTY29wZURlcHMgPSBbXSkge1xuICBsZXQgZGVmYXVsdENvbnRleHRzID0gW107XG4gIGZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQzKHJvb3RDb21wb25lbnROYW1lLCBkZWZhdWx0Q29udGV4dCkge1xuICAgIGNvbnN0IEJhc2VDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dChkZWZhdWx0Q29udGV4dCk7XG4gICAgY29uc3QgaW5kZXggPSBkZWZhdWx0Q29udGV4dHMubGVuZ3RoO1xuICAgIGRlZmF1bHRDb250ZXh0cyA9IFsuLi5kZWZhdWx0Q29udGV4dHMsIGRlZmF1bHRDb250ZXh0XTtcbiAgICBjb25zdCBQcm92aWRlciA9IChwcm9wcykgPT4ge1xuICAgICAgY29uc3QgeyBzY29wZSwgY2hpbGRyZW4sIC4uLmNvbnRleHQgfSA9IHByb3BzO1xuICAgICAgY29uc3QgQ29udGV4dCA9IHNjb3BlPy5bc2NvcGVOYW1lXT8uW2luZGV4XSB8fCBCYXNlQ29udGV4dDtcbiAgICAgIGNvbnN0IHZhbHVlID0gUmVhY3QudXNlTWVtbygoKSA9PiBjb250ZXh0LCBPYmplY3QudmFsdWVzKGNvbnRleHQpKTtcbiAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KENvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWUsIGNoaWxkcmVuIH0pO1xuICAgIH07XG4gICAgUHJvdmlkZXIuZGlzcGxheU5hbWUgPSByb290Q29tcG9uZW50TmFtZSArIFwiUHJvdmlkZXJcIjtcbiAgICBmdW5jdGlvbiB1c2VDb250ZXh0Mihjb25zdW1lck5hbWUsIHNjb3BlKSB7XG4gICAgICBjb25zdCBDb250ZXh0ID0gc2NvcGU/LltzY29wZU5hbWVdPy5baW5kZXhdIHx8IEJhc2VDb250ZXh0O1xuICAgICAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoQ29udGV4dCk7XG4gICAgICBpZiAoY29udGV4dCkgcmV0dXJuIGNvbnRleHQ7XG4gICAgICBpZiAoZGVmYXVsdENvbnRleHQgIT09IHZvaWQgMCkgcmV0dXJuIGRlZmF1bHRDb250ZXh0O1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcXGAke2NvbnN1bWVyTmFtZX1cXGAgbXVzdCBiZSB1c2VkIHdpdGhpbiBcXGAke3Jvb3RDb21wb25lbnROYW1lfVxcYGApO1xuICAgIH1cbiAgICByZXR1cm4gW1Byb3ZpZGVyLCB1c2VDb250ZXh0Ml07XG4gIH1cbiAgY29uc3QgY3JlYXRlU2NvcGUgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2NvcGVDb250ZXh0cyA9IGRlZmF1bHRDb250ZXh0cy5tYXAoKGRlZmF1bHRDb250ZXh0KSA9PiB7XG4gICAgICByZXR1cm4gUmVhY3QuY3JlYXRlQ29udGV4dChkZWZhdWx0Q29udGV4dCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHVzZVNjb3BlKHNjb3BlKSB7XG4gICAgICBjb25zdCBjb250ZXh0cyA9IHNjb3BlPy5bc2NvcGVOYW1lXSB8fCBzY29wZUNvbnRleHRzO1xuICAgICAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oXG4gICAgICAgICgpID0+ICh7IFtgX19zY29wZSR7c2NvcGVOYW1lfWBdOiB7IC4uLnNjb3BlLCBbc2NvcGVOYW1lXTogY29udGV4dHMgfSB9KSxcbiAgICAgICAgW3Njb3BlLCBjb250ZXh0c11cbiAgICAgICk7XG4gICAgfTtcbiAgfTtcbiAgY3JlYXRlU2NvcGUuc2NvcGVOYW1lID0gc2NvcGVOYW1lO1xuICByZXR1cm4gW2NyZWF0ZUNvbnRleHQzLCBjb21wb3NlQ29udGV4dFNjb3BlcyhjcmVhdGVTY29wZSwgLi4uY3JlYXRlQ29udGV4dFNjb3BlRGVwcyldO1xufVxuZnVuY3Rpb24gY29tcG9zZUNvbnRleHRTY29wZXMoLi4uc2NvcGVzKSB7XG4gIGNvbnN0IGJhc2VTY29wZSA9IHNjb3Blc1swXTtcbiAgaWYgKHNjb3Blcy5sZW5ndGggPT09IDEpIHJldHVybiBiYXNlU2NvcGU7XG4gIGNvbnN0IGNyZWF0ZVNjb3BlID0gKCkgPT4ge1xuICAgIGNvbnN0IHNjb3BlSG9va3MgPSBzY29wZXMubWFwKChjcmVhdGVTY29wZTIpID0+ICh7XG4gICAgICB1c2VTY29wZTogY3JlYXRlU2NvcGUyKCksXG4gICAgICBzY29wZU5hbWU6IGNyZWF0ZVNjb3BlMi5zY29wZU5hbWVcbiAgICB9KSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHVzZUNvbXBvc2VkU2NvcGVzKG92ZXJyaWRlU2NvcGVzKSB7XG4gICAgICBjb25zdCBuZXh0U2NvcGVzID0gc2NvcGVIb29rcy5yZWR1Y2UoKG5leHRTY29wZXMyLCB7IHVzZVNjb3BlLCBzY29wZU5hbWUgfSkgPT4ge1xuICAgICAgICBjb25zdCBzY29wZVByb3BzID0gdXNlU2NvcGUob3ZlcnJpZGVTY29wZXMpO1xuICAgICAgICBjb25zdCBjdXJyZW50U2NvcGUgPSBzY29wZVByb3BzW2BfX3Njb3BlJHtzY29wZU5hbWV9YF07XG4gICAgICAgIHJldHVybiB7IC4uLm5leHRTY29wZXMyLCAuLi5jdXJyZW50U2NvcGUgfTtcbiAgICAgIH0sIHt9KTtcbiAgICAgIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+ICh7IFtgX19zY29wZSR7YmFzZVNjb3BlLnNjb3BlTmFtZX1gXTogbmV4dFNjb3BlcyB9KSwgW25leHRTY29wZXNdKTtcbiAgICB9O1xuICB9O1xuICBjcmVhdGVTY29wZS5zY29wZU5hbWUgPSBiYXNlU2NvcGUuc2NvcGVOYW1lO1xuICByZXR1cm4gY3JlYXRlU2NvcGU7XG59XG5leHBvcnQge1xuICBjcmVhdGVDb250ZXh0MiBhcyBjcmVhdGVDb250ZXh0LFxuICBjcmVhdGVDb250ZXh0U2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-dialog/dist/index.mjs":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-dialog/dist/index.mjs ***!
|
|
\************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Close: () => (/* binding */ Close),\n/* harmony export */ Content: () => (/* binding */ Content),\n/* harmony export */ Description: () => (/* binding */ Description),\n/* harmony export */ Dialog: () => (/* binding */ Dialog),\n/* harmony export */ DialogClose: () => (/* binding */ DialogClose),\n/* harmony export */ DialogContent: () => (/* binding */ DialogContent),\n/* harmony export */ DialogDescription: () => (/* binding */ DialogDescription),\n/* harmony export */ DialogOverlay: () => (/* binding */ DialogOverlay),\n/* harmony export */ DialogPortal: () => (/* binding */ DialogPortal),\n/* harmony export */ DialogTitle: () => (/* binding */ DialogTitle),\n/* harmony export */ DialogTrigger: () => (/* binding */ DialogTrigger),\n/* harmony export */ Overlay: () => (/* binding */ Overlay),\n/* harmony export */ Portal: () => (/* binding */ Portal),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ Title: () => (/* binding */ Title),\n/* harmony export */ Trigger: () => (/* binding */ Trigger),\n/* harmony export */ WarningProvider: () => (/* binding */ WarningProvider),\n/* harmony export */ createDialogScope: () => (/* binding */ createDialogScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_id__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-id */ \"(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @radix-ui/react-dismissable-layer */ \"(ssr)/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_focus_scope__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @radix-ui/react-focus-scope */ \"(ssr)/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-portal */ \"(ssr)/./node_modules/@radix-ui/react-portal/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-presence */ \"(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_focus_guards__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @radix-ui/react-focus-guards */ \"(ssr)/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs\");\n/* harmony import */ var react_remove_scroll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-remove-scroll */ \"(ssr)/./node_modules/react-remove-scroll/dist/es2015/Combination.js\");\n/* harmony import */ var aria_hidden__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! aria-hidden */ \"(ssr)/./node_modules/aria-hidden/dist/es2015/index.js\");\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Close,Content,Description,Dialog,DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger,Overlay,Portal,Root,Title,Trigger,WarningProvider,createDialogScope auto */ // packages/react/dialog/src/Dialog.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContextScope)(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props)=>{\n const { __scopeDialog, children, open: openProp, defaultOpen, onOpenChange, modal = true } = props;\n const triggerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const contentRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const [open = false, setOpen] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DialogProvider, {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_4__.useId)(),\n titleId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_4__.useId)(),\n descriptionId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_4__.useId)(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: react__WEBPACK_IMPORTED_MODULE_0__.useCallback(()=>setOpen((prevOpen)=>!prevOpen), [\n setOpen\n ]),\n modal,\n children\n });\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_6__.Primitive.button, {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_7__.composeEventHandlers)(props.onClick, context.onOpenToggle)\n });\n});\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props)=>{\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(PortalProvider, {\n scope: __scopeDialog,\n forceMount,\n children: react__WEBPACK_IMPORTED_MODULE_0__.Children.map(children, (child)=>/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_8__.Presence, {\n present: forceMount || context.open,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_9__.Portal, {\n asChild: true,\n container,\n children: child\n })\n }))\n });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_8__.Presence, {\n present: forceMount || context.open,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DialogOverlayImpl, {\n ...overlayProps,\n ref: forwardedRef\n })\n }) : null;\n});\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return(// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_remove_scroll__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n as: _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_11__.Slot,\n allowPinchZoom: true,\n shards: [\n context.contentRef\n ],\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_6__.Primitive.div, {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: {\n pointerEvents: \"auto\",\n ...overlayProps.style\n }\n })\n }));\n});\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_8__.Presence, {\n present: forceMount || context.open,\n children: context.modal ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DialogContentModal, {\n ...contentProps,\n ref: forwardedRef\n }) : /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DialogContentNonModal, {\n ...contentProps,\n ref: forwardedRef\n })\n });\n});\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(forwardedRef, context.contentRef, contentRef);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const content = contentRef.current;\n if (content) return (0,aria_hidden__WEBPACK_IMPORTED_MODULE_12__.hideOthers)(content);\n }, []);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DialogContentImpl, {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_7__.composeEventHandlers)(props.onCloseAutoFocus, (event)=>{\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_7__.composeEventHandlers)(props.onPointerDownOutside, (event)=>{\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_7__.composeEventHandlers)(props.onFocusOutside, (event)=>event.preventDefault())\n });\n});\nvar DialogContentNonModal = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const hasPointerDownOutsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DialogContentImpl, {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event)=>{\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event)=>{\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n });\n});\nvar DialogContentImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(forwardedRef, contentRef);\n (0,_radix_ui_react_focus_guards__WEBPACK_IMPORTED_MODULE_13__.useFocusGuards)();\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_focus_scope__WEBPACK_IMPORTED_MODULE_14__.FocusScope, {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_15__.DismissableLayer, {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: ()=>context.onOpenChange(false)\n })\n }),\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(TitleWarning, {\n titleId: context.titleId\n }),\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DescriptionWarning, {\n contentRef,\n descriptionId: context.descriptionId\n })\n ]\n })\n ]\n });\n});\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_6__.Primitive.h2, {\n id: context.titleId,\n ...titleProps,\n ref: forwardedRef\n });\n});\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_6__.Primitive.p, {\n id: context.descriptionId,\n ...descriptionProps,\n ref: forwardedRef\n });\n});\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_6__.Primitive.button, {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_7__.composeEventHandlers)(props.onClick, ()=>context.onOpenChange(false))\n });\n});\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContext)(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId })=>{\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [\n MESSAGE,\n titleId\n ]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId })=>{\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [\n MESSAGE,\n contentRef,\n descriptionId\n ]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWRpYWxvZy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF1QjtBQUNjO0FBQ0w7QUFDa0I7QUFDNUI7QUFDZTtBQUNKO0FBQ047QUFDZTtBQUNqQjtBQUNDO0FBQ0s7QUFDRjtBQUNGO0FBQ047QUFxRGpCO0FBN0NKLElBQU1vQixjQUFjO0FBR3BCLElBQU0sQ0FBQ0MscUJBQXFCQyxrQkFBaUIsR0FBSWxCLDJFQUFrQkEsQ0FBQ2dCO0FBY3BFLElBQU0sQ0FBQ0csZ0JBQWdCQyxpQkFBZ0IsR0FBSUgsb0JBQXdDRDtBQVVuRixJQUFNSyxTQUFnQyxDQUFDQztJQUNyQyxNQUFNLEVBQ0pDLGFBQUEsRUFDQUMsUUFBQSxFQUNBQyxNQUFNQyxRQUFBLEVBQ05DLFdBQUEsRUFDQUMsWUFBQSxFQUNBQyxRQUFRLE1BQ1YsR0FBSVA7SUFDSixNQUFNUSxhQUFtQmxDLHlDQUFBLENBQTBCO0lBQ25ELE1BQU1vQyxhQUFtQnBDLHlDQUFBLENBQTZCO0lBQ3RELE1BQU0sQ0FBQzZCLE9BQU8sT0FBT1EsUUFBTyxHQUFJL0IsNEZBQW9CQSxDQUFDO1FBQ25EZ0MsTUFBTVI7UUFDTlMsYUFBYVI7UUFDYlMsVUFBVVI7SUFDWjtJQUVBLE9BQ0UsZ0JBQUFkLHNEQUFBQSxDQUFDSyxnQkFBQTtRQUNDa0IsT0FBT2Q7UUFDUE87UUFDQUU7UUFDQU0sV0FBV3JDLHlEQUFLQTtRQUNoQnNDLFNBQVN0Qyx5REFBS0E7UUFDZHVDLGVBQWV2Qyx5REFBS0E7UUFDcEJ3QjtRQUNBRyxjQUFjSztRQUNkUSxjQUFvQjdDLDhDQUFBLENBQVksSUFBTXFDLFFBQVEsQ0FBQ1UsV0FBYSxDQUFDQSxXQUFXO1lBQUNWO1NBQVE7UUFDakZKO1FBRUNMO0lBQUE7QUFHUDtBQUVBSCxPQUFPdUIsV0FBQSxHQUFjNUI7QUFNckIsSUFBTTZCLGVBQWU7QUFNckIs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ZCxJQUFJMkMsU0FBUztZQUNYLE1BQU1tRyxXQUFXQyxTQUFTQyxjQUFBLENBQWVyRztZQUN6QyxJQUFJLENBQUNtRyxVQUFVRyxRQUFRQyxLQUFBLENBQU1MO1FBQy9CO0lBQ0YsR0FBRztRQUFDQTtRQUFTbEc7S0FBUTtJQUVyQixPQUFPO0FBQ1Q7QUFFQSxJQUFNd0csMkJBQTJCO0FBT2pDLElBQU16QixxQkFBd0QsQ0FBQyxFQUFFdEYsVUFBQSxFQUFZUSxhQUFBLEVBQWM7SUFDekYsTUFBTXdHLDRCQUE0Qlosa0JBQWtCVztJQUNwRCxNQUFNTixVQUFVLDZFQUE2RU8sMEJBQTBCWCxXQUFXO0lBRTVIekksNENBQUEsQ0FBVTtRQUNkLE1BQU1xSixnQkFBZ0JqSCxXQUFXdUQsT0FBQSxFQUFTMkQsYUFBYTtRQUV2RCxJQUFJMUcsaUJBQWlCeUcsZUFBZTtZQUNsQyxNQUFNRSxpQkFBaUJSLFNBQVNDLGNBQUEsQ0FBZXBHO1lBQy9DLElBQUksQ0FBQzJHLGdCQUFnQk4sUUFBUU8sSUFBQSxDQUFLWDtRQUNwQztJQUNGLEdBQUc7UUFBQ0E7UUFBU3pHO1FBQVlRO0tBQWM7SUFFdkMsT0FBTztBQUNUO0FBRUEsSUFBTTZHLE9BQU9oSTtBQUNiLElBQU1pSSxVQUFVeEc7QUFDaEIsSUFBTXpDLFNBQVN3RDtBQUNmLElBQU0wRixVQUFVbEY7QUFDaEIsSUFBTW1GLFVBQVV4RTtBQUNoQixJQUFNeUUsUUFBUWpDO0FBQ2QsSUFBTWtDLGNBQWM5QjtBQUNwQixJQUFNK0IsUUFBUTNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uLi9zcmMvRGlhbG9nLnRzeD8yOTU4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWlkJztcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUnO1xuaW1wb3J0IHsgRGlzbWlzc2FibGVMYXllciB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1kaXNtaXNzYWJsZS1sYXllcic7XG5pbXBvcnQgeyBGb2N1c1Njb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWZvY3VzLXNjb3BlJztcbmltcG9ydCB7IFBvcnRhbCBhcyBQb3J0YWxQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcG9ydGFsJztcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlJztcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUnO1xuaW1wb3J0IHsgdXNlRm9jdXNHdWFyZHMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtZm9jdXMtZ3VhcmRzJztcbmltcG9ydCB7IFJlbW92ZVNjcm9sbCB9IGZyb20gJ3JlYWN0LXJlbW92ZS1zY3JvbGwnO1xuaW1wb3J0IHsgaGlkZU90aGVycyB9IGZyb20gJ2FyaWEtaGlkZGVuJztcbmltcG9ydCB7IFNsb3QgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3Qtc2xvdCc7XG5cbmltcG9ydCB0eXBlIHsgU2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERpYWxvZ1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBESUFMT0dfTkFNRSA9ICdEaWFsb2cnO1xuXG50eXBlIFNjb3BlZFByb3BzPFA+ID0gUCAmIHsgX19zY29wZURpYWxvZz86IFNjb3BlIH07XG5jb25zdCBbY3JlYXRlRGlhbG9nQ29udGV4dCwgY3JlYXRlRGlhbG9nU2NvcGVdID0gY3JlYXRlQ29udGV4dFNjb3BlKERJQUxPR19OQU1FKTtcblxudHlwZSBEaWFsb2dDb250ZXh0VmFsdWUgPSB7XG4gIHRyaWdnZXJSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MQnV0dG9uRWxlbWVudCB8IG51bGw+O1xuICBjb250ZW50UmVmOiBSZWFjdC5SZWZPYmplY3Q8RGlhbG9nQ29udGVudEVsZW1lbnQgfCBudWxsPjtcbiAgY29udGVudElkOiBzdHJpbmc7XG4gIHRpdGxlSWQ6IHN0cmluZztcbiAgZGVzY3JpcHRpb25JZDogc3RyaW5nO1xuICBvcGVuOiBib29sZWFuO1xuICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQ7XG4gIG9uT3BlblRvZ2dsZSgpOiB2b2lkO1xuICBtb2RhbDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFtEaWFsb2dQcm92aWRlciwgdXNlRGlhbG9nQ29udGV4dF0gPSBjcmVhdGVEaWFsb2dDb250ZXh0PERpYWxvZ0NvbnRleHRWYWx1ZT4oRElBTE9HX05BTUUpO1xuXG5pbnRlcmZhY2UgRGlhbG9nUHJvcHMge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgb3Blbj86IGJvb2xlYW47XG4gIGRlZmF1bHRPcGVuPzogYm9vbGVhbjtcbiAgb25PcGVuQ2hhbmdlPyhvcGVuOiBib29sZWFuKTogdm9pZDtcbiAgbW9kYWw/OiBib29sZWFuO1xufVxuXG5jb25zdCBEaWFsb2c6IFJlYWN0LkZDPERpYWxvZ1Byb3BzPiA9IChwcm9wczogU2NvcGVkUHJvcHM8RGlhbG9nUHJvcHM+KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfX3Njb3BlRGlhbG9nLFxuICAgIGNoaWxkcmVuLFxuICAgIG9wZW46IG9wZW5Qcm9wLFxuICAgIGRlZmF1bHRPcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBtb2RhbCA9IHRydWUsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgdHJpZ2dlclJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSBSZWFjdC51c2VSZWY8RGlhbG9nQ29udGVudEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbb3BlbiA9IGZhbHNlLCBzZXRPcGVuXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICBwcm9wOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0UHJvcDogZGVmYXVsdE9wZW4sXG4gICAgb25DaGFuZ2U6IG9uT3BlbkNoYW5nZSxcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RGlhbG9nUHJvdmlkZXJcbiAgICAgIHNjb3BlPXtfX3Njb3BlRGlhbG9nfVxuICAgICAgdHJpZ2dlclJlZj17dHJpZ2dlclJlZn1cbiAgICAgIGNvbnRlbnRSZWY9e2NvbnRlbnRSZWZ9XG4gICAgICBjb250ZW50SWQ9e3VzZUlkKCl9XG4gICAgICB0aXRsZUlkPXt1c2VJZCgpfVxuICAgICAgZGVzY3JpcHRpb25JZD17dXNlSWQoKX1cbiAgICAgIG9wZW49e29wZW59XG4gICAgICBvbk9wZW5DaGFuZ2U9e3NldE9wZW59XG4gICAgICBvbk9wZW5Ub2dnbGU9e1JlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHNldE9wZW4oKHByZXZPcGVuKSA9PiAhcHJldk9wZW4pLCBbc2V0T3Blbl0pfVxuICAgICAgbW9kYWw9e21vZGFsfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0RpYWxvZ1Byb3ZpZGVyPlxuICApO1xufTtcblxuRGlhbG9nLmRpc3BsYXlOYW1lID0gRElBTE9HX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERpYWxvZ1RyaWdnZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgVFJJR0dFUl9OQU1FID0gJ0RpYWxvZ1RyaWdnZXInO1xuXG50eXBlIERpYWxvZ1RyaWdnZXJFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG50eXBlIFByaW1pdGl2ZUJ1dHRvblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBEaWFsb2dUcmlnZ2VyUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVCdXR0b25Qcm9wcyB7fVxuXG5jb25zdCBEaWFsb2dUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxEaWFsb2dUcmlnZ2VyRWxlbWVudCwgRGlhbG9nVHJpZ2dlclByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxEaWFsb2dUcmlnZ2VyUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEaWFsb2csIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoVFJJR0dFUl9OQU1FLCBfX3Njb3BlRGlhbG9nKTtcbiAgICBjb25zdCBjb21wb3NlZFRyaWdnZXJSZWYgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZXh0LnRyaWdnZXJSZWYpO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLmJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9e2NvbnRleHQub3Blbn1cbiAgICAgICAgYXJpYS1jb250cm9scz17Y29udGV4dC5jb250ZW50SWR9XG4gICAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGNvbnRleHQub3Blbil9XG4gICAgICAgIHsuLi50cmlnZ2VyUHJvcHN9XG4gICAgICAgIHJlZj17Y29tcG9zZWRUcmlnZ2VyUmVmfVxuICAgICAgICBvbkNsaWNrPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkNsaWNrLCBjb250ZXh0Lm9uT3BlblRvZ2dsZSl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cbkRpYWxvZ1RyaWdnZXIuZGlzcGxheU5hbWUgPSBUUklHR0VSX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERpYWxvZ1BvcnRhbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBQT1JUQUxfTkFNRSA9ICdEaWFsb2dQb3J0YWwnO1xuXG50eXBlIFBvcnRhbENvbnRleHRWYWx1ZSA9IHsgZm9yY2VNb3VudD86IHRydWUgfTtcbmNvbnN0IFtQb3J0YWxQcm92aWRlciwgdXNlUG9ydGFsQ29udGV4dF0gPSBjcmVhdGVEaWFsb2dDb250ZXh0PFBvcnRhbENvbnRleHRWYWx1ZT4oUE9SVEFMX05BTUUsIHtcbiAgZm9yY2VNb3VudDogdW5kZWZpbmVkLFxufSk7XG5cbnR5cGUgUG9ydGFsUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFBvcnRhbFByaW1pdGl2ZT47XG5pbnRlcmZhY2UgRGlhbG9nUG9ydGFsUHJvcHMge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjb250YWluZXIgZWxlbWVudCB0byBwb3J0YWwgdGhlIGNvbnRlbnQgaW50by5cbiAgICovXG4gIGNvbnRhaW5lcj86IFBvcnRhbFByb3BzWydjb250YWluZXInXTtcbiAgLyoqXG4gICAqIFVzZWQgdG8gZm9yY2UgbW91bnRpbmcgd2hlbiBtb3JlIGNvbnRyb2wgaXMgbmVlZGVkLiBVc2VmdWwgd2hlblxuICAgKiBjb250cm9sbGluZyBhbmltYXRpb24gd2l0aCBSZWFjdCBhbmltYXRpb24gbGlicmFyaWVzLlxuICAgKi9cbiAgZm9yY2VNb3VudD86IHRydWU7XG59XG5cbmNvbnN0IERpYWxvZ1BvcnRhbDogUmVhY3QuRkM8RGlhbG9nUG9ydGFsUHJvcHM+ID0gKHByb3BzOiBTY29wZWRQcm9wczxEaWFsb2dQb3J0YWxQcm9wcz4pID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlRGlhbG9nLCBmb3JjZU1vdW50LCBjaGlsZHJlbiwgY29udGFpbmVyIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoUE9SVEFMX05BTUUsIF9fc2NvcGVEaWFsb2cpO1xuICByZXR1cm4gKFxuICAgIDxQb3J0YWxQcm92aWRlciBzY29wZT17X19zY29wZURpYWxvZ30gZm9yY2VNb3VudD17Zm9yY2VNb3VudH0+XG4gICAgICB7UmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IChcbiAgICAgICAgPFByZXNlbmNlIHByZXNlbnQ9e2ZvcmNlTW91bnQgfHwgY29udGV4dC5vcGVufT5cbiAgICAgICAgICA8UG9ydGFsUHJpbWl0aXZlIGFzQ2hpbGQgY29udGFpbmVyPXtjb250YWluZXJ9PlxuICAgICAgICAgICAge2NoaWxkfVxuICAgICAgICAgIDwvUG9ydGFsUHJpbWl0aXZlPlxuICAgICAgICA8L1ByZXNlbmNlPlxuICAgICAgKSl9XG4gICAgPC9Qb3J0YWxQcm92aWRlcj5cbiAgKTtcbn07XG5cbkRpYWxvZ1BvcnRhbC5kaXNwbGF5TmFtZSA9IFBPUlRBTF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEaWFsb2dPdmVybGF5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IE9WRVJMQVlfTkFNRSA9ICdEaWFsb2dPdmVybGF5JztcblxudHlwZSBEaWFsb2dPdmVybGF5RWxlbWVudCA9IERpYWxvZ092ZXJsYXlJbXBsRWxlbWVudDtcbmludGVyZmFjZSBEaWFsb2dPdmVybGF5UHJvcHMgZXh0ZW5kcyBEaWFsb2dPdmVybGF5SW1wbFByb3BzIHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gZm9yY2UgbW91bnRpbmcgd2hlbiBtb3JlIGNvbnRyb2wgaXMgbmVlZGVkLiBVc2VmdWwgd2hlblxuICAgKiBjb250cm9sbGluZyBhbmltYXRpb24gd2l0aCBSZWFjdCBhbmltYXRpb24gbGlicmFyaWVzLlxuICAgKi9cbiAgZm9yY2VNb3VudD86IHRydWU7XG59XG5cbmNvbnN0IERpYWxvZ092ZXJsYXkgPSBSZWFjdC5mb3J3YXJkUmVmPERpYWxvZ092ZXJsYXlFbGVtZW50LCBEaWFsb2dPdmVybGF5UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPERpYWxvZ092ZXJsYXlQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KE9WRVJMQVlfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgeyBmb3JjZU1vdW50ID0gcG9ydGFsQ29udGV4dC5mb3JjZU1vdW50LCAuLi5vdmVybGF5UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KE9WRVJMQVlfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIGNvbnRleHQubW9kYWwgPyAoXG4gICAgICA8UHJlc2VuY2UgcHJlc2VudD17Zm9yY2VNb3VudCB8fCBjb250ZXh0Lm9wZW59PlxuICAgICAgICA8RGlhbG9nT3ZlcmxheUltcGwgey4uLm92ZXJsYXlQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+XG4gICAgICA8L1ByZXNlbmNlPlxuICAgICkgOiBudWxsO1xuICB9XG4pO1xuXG5EaWFsb2dPdmVybGF5LmRpc3BsYXlOYW1lID0gT1ZFUkxBWV9OQU1FO1xuXG50eXBlIERpYWxvZ092ZXJsYXlJbXBsRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xudHlwZSBQcmltaXRpdmVEaXZQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgRGlhbG9nT3ZlcmxheUltcGxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IERpYWxvZ092ZXJsYXlJbXBsID0gUmVhY3QuZm9yd2FyZFJlZjxEaWFsb2dPdmVybGF5SW1wbEVsZW1lbnQsIERpYWxvZ092ZXJsYXlJbXBsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPERpYWxvZ092ZXJsYXlJbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEaWFsb2csIC4uLm92ZXJsYXlQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoT1ZFUkxBWV9OQU1FLCBfX3Njb3BlRGlhbG9nKTtcbiAgICByZXR1cm4gKFxuICAgICAgLy8gTWFrZSBzdXJlIGBDb250ZW50YCBpcyBzY3JvbGxhYmxlIGV2ZW4gd2hlbiBpdCBkb2Vzbid0IGxpdmUgaW5zaWRlIGBSZW1vdmVTY3JvbGxgXG4gICAgICAvLyBpZS4gd2hlbiBgT3ZlcmxheWAgYW5kIGBDb250ZW50YCBhcmUgc2libGluZ3NcbiAgICAgIDxSZW1vdmVTY3JvbGwgYXM9e1Nsb3R9IGFsbG93UGluY2hab29tIHNoYXJkcz17W2NvbnRleHQuY29udGVudFJlZl19PlxuICAgICAgICA8UHJpbWl0aXZlLmRpdlxuICAgICAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGNvbnRleHQub3Blbil9XG4gICAgICAgICAgey4uLm92ZXJsYXlQcm9wc31cbiAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICAvLyBXZSByZS1lbmFibGUgcG9pbnRlci1ldmVudHMgcHJldmVudGVkIGJ5IGBEaWFsb2cuQ29udGVudGAgdG8gYWxsb3cgc2Nyb2xsaW5nIHRoZSBvdmVybGF5LlxuICAgICAgICAgIHN0eWxlPXt7IHBvaW50ZXJFdmVudHM6ICdhdXRvJywgLi4ub3ZlcmxheVByb3BzLnN0eWxlIH19XG4gICAgICAgIC8+XG4gICAgICA8L1JlbW92ZVNjcm9sbD5cbiAgICApO1xuICB9XG4pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEaWFsb2dDb250ZW50XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IENPTlRFTlRfTkFNRSA9ICdEaWFsb2dDb250ZW50JztcblxudHlwZSBEaWFsb2dDb250ZW50RWxlbWVudCA9IERpYWxvZ0NvbnRlbnRUeXBlRWxlbWVudDtcbmludGVyZmFjZSBEaWFsb2dDb250ZW50UHJvcHMgZXh0ZW5kcyBEaWFsb2dDb250ZW50VHlwZVByb3BzIHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gZm9yY2UgbW91bnRpbmcgd2hlbiBtb3JlIGNvbnRyb2wgaXMgbmVlZGVkLiBVc2VmdWwgd2hlblxuICAgKiBjb250cm9sbGluZyBhbmltYXRpb24gd2l0aCBSZWFjdCBhbmltYXRpb24gbGlicmFyaWVzLlxuICAgKi9cbiAgZm9yY2VNb3VudD86IHRydWU7XG59XG5cbmNvbnN0IERpYWxvZ0NvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPERpYWxvZ0NvbnRlbnRFbGVtZW50LCBEaWFsb2dDb250ZW50UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPERpYWxvZ0NvbnRlbnRQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgeyBmb3JjZU1vdW50ID0gcG9ydGFsQ29udGV4dC5mb3JjZU1vdW50LCAuLi5jb250ZW50UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmVzZW5jZSBwcmVzZW50PXtmb3JjZU1vdW50IHx8IGNvbnRleHQub3Blbn0+XG4gICAgICAgIHtjb250ZXh0Lm1vZGFsID8gKFxuICAgICAgICAgIDxEaWFsb2dDb250ZW50TW9kYWwgey4uLmNvbnRlbnRQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPERpYWxvZ0NvbnRlbnROb25Nb2RhbCB7Li4uY29udGVudFByb3BzfSByZWY9e2ZvcndhcmRlZFJlZn0gLz5cbiAgICAgICAgKX1cbiAgICAgIDwvUHJlc2VuY2U+XG4gICAgKTtcbiAgfVxuKTtcblxuRGlhbG9nQ29udGVudC5kaXNwbGF5TmFtZSA9IENPTlRFTlRfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG50eXBlIERpYWxvZ0NvbnRlbnRUeXBlRWxlbWVudCA9IERpYWxvZ0NvbnRlbnRJbXBsRWxlbWVudDtcbmludGVyZmFjZSBEaWFsb2dDb250ZW50VHlwZVByb3BzXG4gIGV4dGVuZHMgT21pdDxEaWFsb2dDb250ZW50SW1wbFByb3BzLCAndHJhcEZvY3VzJyB8ICdkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMnPiB7fVxuXG5jb25zdCBEaWFsb2dDb250ZW50TW9kYWwgPSBSZWFjdC5mb3J3YXJkUmVmPERpYWxvZ0NvbnRlbnRUeXBlRWxlbWVudCwgRGlhbG9nQ29udGVudFR5cGVQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8RGlhbG9nQ29udGVudFR5cGVQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgY29udGVudFJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGV4dC5jb250ZW50UmVmLCBjb250ZW50UmVmKTtcblxuICAgIC8vIGFyaWEtaGlkZSBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgY29udGVudCAoYmV0dGVyIHN1cHBvcnRlZCBlcXVpdmFsZW50IHRvIHNldHRpbmcgYXJpYS1tb2RhbClcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRSZWYuY3VycmVudDtcbiAgICAgIGlmIChjb250ZW50KSByZXR1cm4gaGlkZU90aGVycyhjb250ZW50KTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ0NvbnRlbnRJbXBsXG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgIC8vIHdlIG1ha2Ugc3VyZSBmb2N1cyBpc24ndCB0cmFwcGVkIG9uY2UgYERpYWxvZ0NvbnRlbnRgIGhhcyBiZWVuIGNsb3NlZFxuICAgICAgICAvLyAoY2xvc2VkICE9PSB1bm1vdW50ZWQgd2hlbiBhbmltYXRpbmcgb3V0KVxuICAgICAgICB0cmFwRm9jdXM9e2NvbnRleHQub3Blbn1cbiAgICAgICAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzXG4gICAgICAgIG9uQ2xvc2VBdXRvRm9jdXM9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xvc2VBdXRvRm9jdXMsIChldmVudCkgPT4ge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY29udGV4dC50cmlnZ2VyUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgIH0pfVxuICAgICAgICBvblBvaW50ZXJEb3duT3V0c2lkZT17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Qb2ludGVyRG93bk91dHNpZGUsIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsRXZlbnQgPSBldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudDtcbiAgICAgICAgICBjb25zdCBjdHJsTGVmdENsaWNrID0gb3JpZ2luYWxFdmVudC5idXR0b24gPT09IDAgJiYgb3JpZ2luYWxFdmVudC5jdHJsS2V5ID09PSB0cnVlO1xuICAgICAgICAgIGNvbnN0IGlzUmlnaHRDbGljayA9IG9yaWdpbmFsRXZlbnQuYnV0dG9uID09PSAyIHx8IGN0cmxMZWZ0Q2xpY2s7XG5cbiAgICAgICAgICAvLyBJZiB0aGUgZXZlbnQgaXMgYSByaWdodC1jbGljaywgd2Ugc2hvdWxkbid0IGNsb3NlIGJlY2F1c2VcbiAgICAgICAgICAvLyBpdCBpcyBlZmZlY3RpdmVseSBhcyBpZiB3ZSByaWdodC1jbGlja2VkIHRoZSBgT3ZlcmxheWAuXG4gICAgICAgICAgaWYgKGlzUmlnaHRDbGljaykgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSl9XG4gICAgICAgIC8vIFdoZW4gZm9jdXMgaXMgdHJhcHBlZCwgYSBgZm9jdXNvdXRgIGV2ZW50IG1heSBzdGlsbCBoYXBwZW4uXG4gICAgICAgIC8vIFdlIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cmlnZ2VyIG91ciBgb25EaXNtaXNzYCBpbiBzdWNoIGNhc2UuXG4gICAgICAgIG9uRm9jdXNPdXRzaWRlPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkZvY3VzT3V0c2lkZSwgKGV2ZW50KSA9PlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBEaWFsb2dDb250ZW50Tm9uTW9kYWwgPSBSZWFjdC5mb3J3YXJkUmVmPERpYWxvZ0NvbnRlbnRUeXBlRWxlbWVudCwgRGlhbG9nQ29udGVudFR5cGVQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8RGlhbG9nQ29udGVudFR5cGVQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGhhc1BvaW50ZXJEb3duT3V0c2lkZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ0NvbnRlbnRJbXBsXG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICAgIHRyYXBGb2N1cz17ZmFsc2V9XG4gICAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cz17ZmFsc2V9XG4gICAgICAgIG9uQ2xvc2VBdXRvRm9jdXM9eyhldmVudCkgPT4ge1xuICAgICAgICAgIHByb3BzLm9uQ2xvc2VBdXRvRm9jdXM/LihldmVudCk7XG5cbiAgICAgICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIGlmICghaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYuY3VycmVudCkgY29udGV4dC50cmlnZ2VyUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgICAvLyBBbHdheXMgcHJldmVudCBhdXRvIGZvY3VzIGJlY2F1c2Ugd2UgZWl0aGVyIGZvY3VzIG1hbnVhbGx5IG9yIHdhbnQgdXNlciBhZ2VudCBmb2N1c1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoYXNJbnRlcmFjdGVkT3V0c2lkZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgaGFzUG9pbnRlckRvd25PdXRzaWRlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfX1cbiAgICAgICAgb25JbnRlcmFjdE91dHNpZGU9eyhldmVudCkgPT4ge1xuICAgICAgICAgIHByb3BzLm9uSW50ZXJhY3RPdXRzaWRlPy4oZXZlbnQpO1xuXG4gICAgICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICBoYXNJbnRlcmFjdGVkT3V0c2lkZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudC50eXBlID09PSAncG9pbnRlcmRvd24nKSB7XG4gICAgICAgICAgICAgIGhhc1BvaW50ZXJEb3duT3V0c2lkZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBQcmV2ZW50IGRpc21pc3Npbmcgd2hlbiBjbGlja2luZyB0aGUgdHJpZ2dlci5cbiAgICAgICAgICAvLyBBcyB0aGUgdHJpZ2dlciBpcyBhbHJlYWR5IHNldHVwIHRvIGNsb3NlLCB3aXRob3V0IGRvaW5nIHNvIHdvdWxkXG4gICAgICAgICAgLy8gY2F1c2UgaXQgdG8gY2xvc2UgYW5kIGltbWVkaWF0ZWx5IG9wZW4uXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IHRhcmdldElzVHJpZ2dlciA9IGNvbnRleHQudHJpZ2dlclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpO1xuICAgICAgICAgIGlmICh0YXJnZXRJc1RyaWdnZXIpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAvLyBPbiBTYWZhcmkgaWYgdGhlIHRyaWdnZXIgaXMgaW5zaWRlIGEgY29udGFpbmVyIHdpdGggdGFiSW5kZXg9ezB9LCB3aGVuIGNsaWNrZWRcbiAgICAgICAgICAvLyB3ZSB3aWxsIGdldCB0aGUgcG9pbnRlciBkb3duIG91dHNpZGUgZXZlbnQgb24gdGhlIHRyaWdnZXIsIGJ1dCB0aGVuIGEgc3Vic2VxdWVudFxuICAgICAgICAgIC8vIGZvY3VzIG91dHNpZGUgZXZlbnQgb24gdGhlIGNvbnRhaW5lciwgd2UgaWdub3JlIGFueSBmb2N1cyBvdXRzaWRlIGV2ZW50IHdoZW4gd2UndmVcbiAgICAgICAgICAvLyBhbHJlYWR5IGhhZCBhIHBvaW50ZXIgZG93biBvdXRzaWRlIGV2ZW50LlxuICAgICAgICAgIGlmIChldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudC50eXBlID09PSAnZm9jdXNpbicgJiYgaGFzUG9pbnRlckRvd25PdXRzaWRlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgRGlhbG9nQ29udGVudEltcGxFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRGlzbWlzc2FibGVMYXllcj47XG50eXBlIERpc21pc3NhYmxlTGF5ZXJQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRGlzbWlzc2FibGVMYXllcj47XG50eXBlIEZvY3VzU2NvcGVQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRm9jdXNTY29wZT47XG5pbnRlcmZhY2UgRGlhbG9nQ29udGVudEltcGxQcm9wcyBleHRlbmRzIE9taXQ8RGlzbWlzc2FibGVMYXllclByb3BzLCAnb25EaXNtaXNzJz4ge1xuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIGZvY3VzIGNhbm5vdCBlc2NhcGUgdGhlIGBDb250ZW50YCB2aWEga2V5Ym9hcmQsXG4gICAqIHBvaW50ZXIsIG9yIGEgcHJvZ3JhbW1hdGljIGZvY3VzLlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICB0cmFwRm9jdXM/OiBGb2N1c1Njb3BlUHJvcHNbJ3RyYXBwZWQnXTtcblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiBhdXRvLWZvY3VzaW5nIG9uIG9wZW4uXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvbk9wZW5BdXRvRm9jdXM/OiBGb2N1c1Njb3BlUHJvcHNbJ29uTW91bnRBdXRvRm9jdXMnXTtcblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiBhdXRvLWZvY3VzaW5nIG9uIGNsb3NlLlxuICAgKiBDYW4gYmUgcHJldmVudGVkLlxuICAgKi9cbiAgb25DbG9zZUF1dG9Gb2N1cz86IEZvY3VzU2NvcGVQcm9wc1snb25Vbm1vdW50QXV0b0ZvY3VzJ107XG59XG5cbmNvbnN0IERpYWxvZ0NvbnRlbnRJbXBsID0gUmVhY3QuZm9yd2FyZFJlZjxEaWFsb2dDb250ZW50SW1wbEVsZW1lbnQsIERpYWxvZ0NvbnRlbnRJbXBsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPERpYWxvZ0NvbnRlbnRJbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEaWFsb2csIHRyYXBGb2N1cywgb25PcGVuQXV0b0ZvY3VzLCBvbkNsb3NlQXV0b0ZvY3VzLCAuLi5jb250ZW50UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgY29udGVudFJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGVudFJlZik7XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIHdob2xlIHRyZWUgaGFzIGZvY3VzIGd1YXJkcyBhcyBvdXIgYERpYWxvZ2Agd2lsbCBiZVxuICAgIC8vIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIERPTSAoYmVjYXVzZSBvZiB0aGUgYFBvcnRhbGApXG4gICAgdXNlRm9jdXNHdWFyZHMoKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Rm9jdXNTY29wZVxuICAgICAgICAgIGFzQ2hpbGRcbiAgICAgICAgICBsb29wXG4gICAgICAgICAgdHJhcHBlZD17dHJhcEZvY3VzfVxuICAgICAgICAgIG9uTW91bnRBdXRvRm9jdXM9e29uT3BlbkF1dG9Gb2N1c31cbiAgICAgICAgICBvblVubW91bnRBdXRvRm9jdXM9e29uQ2xvc2VBdXRvRm9jdXN9XG4gICAgICAgID5cbiAgICAgICAgICA8RGlzbWlzc2FibGVMYXllclxuICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICBpZD17Y29udGV4dC5jb250ZW50SWR9XG4gICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtjb250ZXh0LmRlc2NyaXB0aW9uSWR9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2NvbnRleHQudGl0bGVJZH1cbiAgICAgICAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGNvbnRleHQub3Blbil9XG4gICAgICAgICAgICB7Li4uY29udGVudFByb3BzfVxuICAgICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgICBvbkRpc21pc3M9eygpID0+IGNvbnRleHQub25PcGVuQ2hhbmdlKGZhbHNlKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZvY3VzU2NvcGU+XG4gICAgICAgIHtwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFRpdGxlV2FybmluZyB0aXRsZUlkPXtjb250ZXh0LnRpdGxlSWR9IC8+XG4gICAgICAgICAgICA8RGVzY3JpcHRpb25XYXJuaW5nIGNvbnRlbnRSZWY9e2NvbnRlbnRSZWZ9IGRlc2NyaXB0aW9uSWQ9e2NvbnRleHQuZGVzY3JpcHRpb25JZH0gLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERpYWxvZ1RpdGxlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFRJVExFX05BTUUgPSAnRGlhbG9nVGl0bGUnO1xuXG50eXBlIERpYWxvZ1RpdGxlRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5oMj47XG50eXBlIFByaW1pdGl2ZUhlYWRpbmcyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5oMj47XG5pbnRlcmZhY2UgRGlhbG9nVGl0bGVQcm9wcyBleHRlbmRzIFByaW1pdGl2ZUhlYWRpbmcyUHJvcHMge31cblxuY29uc3QgRGlhbG9nVGl0bGUgPSBSZWFjdC5mb3J3YXJkUmVmPERpYWxvZ1RpdGxlRWxlbWVudCwgRGlhbG9nVGl0bGVQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8RGlhbG9nVGl0bGVQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZURpYWxvZywgLi4udGl0bGVQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoVElUTEVfTkFNRSwgX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIDxQcmltaXRpdmUuaDIgaWQ9e2NvbnRleHQudGl0bGVJZH0gey4uLnRpdGxlUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPjtcbiAgfVxuKTtcblxuRGlhbG9nVGl0bGUuZGlzcGxheU5hbWUgPSBUSVRMRV9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEaWFsb2dEZXNjcmlwdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBERVNDUklQVElPTl9OQU1FID0gJ0RpYWxvZ0Rlc2NyaXB0aW9uJztcblxudHlwZSBEaWFsb2dEZXNjcmlwdGlvbkVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUucD47XG50eXBlIFByaW1pdGl2ZVBhcmFncmFwaFByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUucD47XG5pbnRlcmZhY2UgRGlhbG9nRGVzY3JpcHRpb25Qcm9wcyBleHRlbmRzIFByaW1pdGl2ZVBhcmFncmFwaFByb3BzIHt9XG5cbmNvbnN0IERpYWxvZ0Rlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxEaWFsb2dEZXNjcmlwdGlvbkVsZW1lbnQsIERpYWxvZ0Rlc2NyaXB0aW9uUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPERpYWxvZ0Rlc2NyaXB0aW9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEaWFsb2csIC4uLmRlc2NyaXB0aW9uUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KERFU0NSSVBUSU9OX05BTUUsIF9fc2NvcGVEaWFsb2cpO1xuICAgIHJldHVybiA8UHJpbWl0aXZlLnAgaWQ9e2NvbnRleHQuZGVzY3JpcHRpb25JZH0gey4uLmRlc2NyaXB0aW9uUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPjtcbiAgfVxuKTtcblxuRGlhbG9nRGVzY3JpcHRpb24uZGlzcGxheU5hbWUgPSBERVNDUklQVElPTl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEaWFsb2dDbG9zZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDTE9TRV9OQU1FID0gJ0RpYWxvZ0Nsb3NlJztcblxudHlwZSBEaWFsb2dDbG9zZUVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBEaWFsb2dDbG9zZVByb3BzIGV4dGVuZHMgUHJpbWl0aXZlQnV0dG9uUHJvcHMge31cblxuY29uc3QgRGlhbG9nQ2xvc2UgPSBSZWFjdC5mb3J3YXJkUmVmPERpYWxvZ0Nsb3NlRWxlbWVudCwgRGlhbG9nQ2xvc2VQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8RGlhbG9nQ2xvc2VQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZURpYWxvZywgLi4uY2xvc2VQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoQ0xPU0VfTkFNRSwgX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmltaXRpdmUuYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICB7Li4uY2xvc2VQcm9wc31cbiAgICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICAgIG9uQ2xpY2s9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xpY2ssICgpID0+IGNvbnRleHQub25PcGVuQ2hhbmdlKGZhbHNlKSl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cbkRpYWxvZ0Nsb3NlLmRpc3BsYXlOYW1lID0gQ0xPU0VfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiBnZXRTdGF0ZShvcGVuOiBib29sZWFuKSB7XG4gIHJldHVybiBvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG59XG5cbmNvbnN0IFRJVExFX1dBUk5JTkdfTkFNRSA9ICdEaWFsb2dUaXRsZVdhcm5pbmcnO1xuXG5jb25zdCBbV2FybmluZ1Byb3ZpZGVyLCB1c2VXYXJuaW5nQ29udGV4dF0gPSBjcmVhdGVDb250ZXh0KFRJVExFX1dBUk5JTkdfTkFNRSwge1xuICBjb250ZW50TmFtZTogQ09OVEVOVF9OQU1FLFxuICB0aXRsZU5hbWU6IFRJVExFX05BTUUsXG4gIGRvY3NTbHVnOiAnZGlhbG9nJyxcbn0pO1xuXG50eXBlIFRpdGxlV2FybmluZ1Byb3BzID0geyB0aXRsZUlkPzogc3RyaW5nIH07XG5cbmNvbnN0IFRpdGxlV2FybmluZzogUmVhY3QuRkM8VGl0bGVXYXJuaW5nUHJvcHM+ID0gKHsgdGl0bGVJZCB9KSA9PiB7XG4gIGNvbnN0IHRpdGxlV2FybmluZ0NvbnRleHQgPSB1c2VXYXJuaW5nQ29udGV4dChUSVRMRV9XQVJOSU5HX05BTUUpO1xuXG4gIGNvbnN0IE1FU1NBR0UgPSBgXFxgJHt0aXRsZVdhcm5pbmdDb250ZXh0LmNvbnRlbnROYW1lfVxcYCByZXF1aXJlcyBhIFxcYCR7dGl0bGVXYXJuaW5nQ29udGV4dC50aXRsZU5hbWV9XFxgIGZvciB0aGUgY29tcG9uZW50IHRvIGJlIGFjY2Vzc2libGUgZm9yIHNjcmVlbiByZWFkZXIgdXNlcnMuXG5cbklmIHlvdSB3YW50IHRvIGhpZGUgdGhlIFxcYCR7dGl0bGVXYXJuaW5nQ29udGV4dC50aXRsZU5hbWV9XFxgLCB5b3UgY2FuIHdyYXAgaXQgd2l0aCBvdXIgVmlzdWFsbHlIaWRkZW4gY29tcG9uZW50LlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vcmFkaXgtdWkuY29tL3ByaW1pdGl2ZXMvZG9jcy9jb21wb25lbnRzLyR7dGl0bGVXYXJuaW5nQ29udGV4dC5kb2NzU2x1Z31gO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRpdGxlSWQpIHtcbiAgICAgIGNvbnN0IGhhc1RpdGxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGl0bGVJZCk7XG4gICAgICBpZiAoIWhhc1RpdGxlKSBjb25zb2xlLmVycm9yKE1FU1NBR0UpO1xuICAgIH1cbiAgfSwgW01FU1NBR0UsIHRpdGxlSWRdKTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbmNvbnN0IERFU0NSSVBUSU9OX1dBUk5JTkdfTkFNRSA9ICdEaWFsb2dEZXNjcmlwdGlvbldhcm5pbmcnO1xuXG50eXBlIERlc2NyaXB0aW9uV2FybmluZ1Byb3BzID0ge1xuICBjb250ZW50UmVmOiBSZWFjdC5SZWZPYmplY3Q8RGlhbG9nQ29udGVudEVsZW1lbnQgfCBudWxsPjtcbiAgZGVzY3JpcHRpb25JZD86IHN0cmluZztcbn07XG5cbmNvbnN0IERlc2NyaXB0aW9uV2FybmluZzogUmVhY3QuRkM8RGVzY3JpcHRpb25XYXJuaW5nUHJvcHM+ID0gKHsgY29udGVudFJlZiwgZGVzY3JpcHRpb25JZCB9KSA9PiB7XG4gIGNvbnN0IGRlc2NyaXB0aW9uV2FybmluZ0NvbnRleHQgPSB1c2VXYXJuaW5nQ29udGV4dChERVNDUklQVElPTl9XQVJOSU5HX05BTUUpO1xuICBjb25zdCBNRVNTQUdFID0gYFdhcm5pbmc6IE1pc3NpbmcgXFxgRGVzY3JpcHRpb25cXGAgb3IgXFxgYXJpYS1kZXNjcmliZWRieT17dW5kZWZpbmVkfVxcYCBmb3IgeyR7ZGVzY3JpcHRpb25XYXJuaW5nQ29udGV4dC5jb250ZW50TmFtZX19LmA7XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkID0gY29udGVudFJlZi5jdXJyZW50Py5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICAvLyBpZiB3ZSBoYXZlIGFuIGlkIGFuZCB0aGUgdXNlciBoYXNuJ3Qgc2V0IGFyaWEtZGVzY3JpYmVkYnk9e3VuZGVmaW5lZH1cbiAgICBpZiAoZGVzY3JpcHRpb25JZCAmJiBkZXNjcmliZWRCeUlkKSB7XG4gICAgICBjb25zdCBoYXNEZXNjcmlwdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRlc2NyaXB0aW9uSWQpO1xuICAgICAgaWYgKCFoYXNEZXNjcmlwdGlvbikgY29uc29sZS53YXJuKE1FU1NBR0UpO1xuICAgIH1cbiAgfSwgW01FU1NBR0UsIGNvbnRlbnRSZWYsIGRlc2NyaXB0aW9uSWRdKTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbmNvbnN0IFJvb3QgPSBEaWFsb2c7XG5jb25zdCBUcmlnZ2VyID0gRGlhbG9nVHJpZ2dlcjtcbmNvbnN0IFBvcnRhbCA9IERpYWxvZ1BvcnRhbDtcbmNvbnN0IE92ZXJsYXkgPSBEaWFsb2dPdmVybGF5O1xuY29uc3QgQ29udGVudCA9IERpYWxvZ0NvbnRlbnQ7XG5jb25zdCBUaXRsZSA9IERpYWxvZ1RpdGxlO1xuY29uc3QgRGVzY3JpcHRpb24gPSBEaWFsb2dEZXNjcmlwdGlvbjtcbmNvbnN0IENsb3NlID0gRGlhbG9nQ2xvc2U7XG5cbmV4cG9ydCB7XG4gIGNyZWF0ZURpYWxvZ1Njb3BlLFxuICAvL1xuICBEaWFsb2csXG4gIERpYWxvZ1RyaWdnZXIsXG4gIERpYWxvZ1BvcnRhbCxcbiAgRGlhbG9nT3ZlcmxheSxcbiAgRGlhbG9nQ29udGVudCxcbiAgRGlhbG9nVGl0bGUsXG4gIERpYWxvZ0Rlc2NyaXB0aW9uLFxuICBEaWFsb2dDbG9zZSxcbiAgLy9cbiAgUm9vdCxcbiAgVHJpZ2dlcixcbiAgUG9ydGFsLFxuICBPdmVybGF5LFxuICBDb250ZW50LFxuICBUaXRsZSxcbiAgRGVzY3JpcHRpb24sXG4gIENsb3NlLFxuICAvL1xuICBXYXJuaW5nUHJvdmlkZXIsXG59O1xuZXhwb3J0IHR5cGUge1xuICBEaWFsb2dQcm9wcyxcbiAgRGlhbG9nVHJpZ2dlclByb3BzLFxuICBEaWFsb2dQb3J0YWxQcm9wcyxcbiAgRGlhbG9nT3ZlcmxheVByb3BzLFxuICBEaWFsb2dDb250ZW50UHJvcHMsXG4gIERpYWxvZ1RpdGxlUHJvcHMsXG4gIERpYWxvZ0Rlc2NyaXB0aW9uUHJvcHMsXG4gIERpYWxvZ0Nsb3NlUHJvcHMsXG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY29tcG9zZUV2ZW50SGFuZGxlcnMiLCJ1c2VDb21wb3NlZFJlZnMiLCJjcmVhdGVDb250ZXh0IiwiY3JlYXRlQ29udGV4dFNjb3BlIiwidXNlSWQiLCJ1c2VDb250cm9sbGFibGVTdGF0ZSIsIkRpc21pc3NhYmxlTGF5ZXIiLCJGb2N1c1Njb3BlIiwiUG9ydGFsIiwiUG9ydGFsUHJpbWl0aXZlIiwiUHJlc2VuY2UiLCJQcmltaXRpdmUiLCJ1c2VGb2N1c0d1YXJkcyIsIlJlbW92ZVNjcm9sbCIsImhpZGVPdGhlcnMiLCJTbG90IiwiRnJhZ21lbnQiLCJqc3giLCJqc3hzIiwiRElBTE9HX05BTUUiLCJjcmVhdGVEaWFsb2dDb250ZXh0IiwiY3JlYXRlRGlhbG9nU2NvcGUiLCJEaWFsb2dQcm92aWRlciIsInVzZURpYWxvZ0NvbnRleHQiLCJEaWFsb2ciLCJwcm9wcyIsIl9fc2NvcGVEaWFsb2ciLCJjaGlsZHJlbiIsIm9wZW4iLCJvcGVuUHJvcCIsImRlZmF1bHRPcGVuIiwib25PcGVuQ2hhbmdlIiwibW9kYWwiLCJ0cmlnZ2VyUmVmIiwidXNlUmVmIiwiY29udGVudFJlZiIsInNldE9wZW4iLCJwcm9wIiwiZGVmYXVsdFByb3AiLCJvbkNoYW5nZSIsInNjb3BlIiwiY29udGVudElkIiwidGl0bGVJZCIsImRlc2NyaXB0aW9uSWQiLCJvbk9wZW5Ub2dnbGUiLCJ1c2VDYWxsYmFjayIsInByZXZPcGVuIiwiZGlzcGxheU5hbWUiLCJUUklHR0VSX05BTUUiLCJEaWFsb2dUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImZvcndhcmRlZFJlZiIsInRyaWdnZXJQcm9wcyIsImNvbnRleHQiLCJjb21wb3NlZFRyaWdnZXJSZWYiLCJidXR0b24iLCJ0eXBlIiwiZ2V0U3RhdGUiLCJyZWYiLCJvbkNsaWNrIiwiUE9SVEFMX05BTUUiLCJQb3J0YWxQcm92aWRlciIsInVzZVBvcnRhbENvbnRleHQiLCJmb3JjZU1vdW50IiwiRGlhbG9nUG9ydGFsIiwiY29udGFpbmVyIiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsInByZXNlbnQiLCJhc0NoaWxkIiwiT1ZFUkxBWV9OQU1FIiwiRGlhbG9nT3ZlcmxheSIsInBvcnRhbENvbnRleHQiLCJvdmVybGF5UHJvcHMiLCJEaWFsb2dPdmVybGF5SW1wbCIsImFzIiwiYWxsb3dQaW5jaFpvb20iLCJzaGFyZHMiLCJkaXYiLCJzdHlsZSIsInBvaW50ZXJFdmVudHMiLCJDT05URU5UX05BTUUiLCJEaWFsb2dDb250ZW50IiwiY29udGVudFByb3BzIiwiRGlhbG9nQ29udGVudE1vZGFsIiwiRGlhbG9nQ29udGVudE5vbk1vZGFsIiwiY29tcG9zZWRSZWZzIiwidXNlRWZmZWN0IiwiY29udGVudCIsImN1cnJlbnQiLCJEaWFsb2dDb250ZW50SW1wbCIsInRyYXBGb2N1cyIsImRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cyIsIm9uQ2xvc2VBdXRvRm9jdXMiLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiZm9jdXMiLCJvblBvaW50ZXJEb3duT3V0c2lkZSIsIm9yaWdpbmFsRXZlbnQiLCJkZXRhaWwiLCJjdHJsTGVmdENsaWNrIiwiY3RybEtleSIsImlzUmlnaHRDbGljayIsIm9uRm9jdXNPdXRzaWRlIiwiaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYiLCJoYXNQb2ludGVyRG93bk91dHNpZGVSZWYiLCJkZWZhdWx0UHJldmVudGVkIiwib25JbnRlcmFjdE91dHNpZGUiLCJ0YXJnZXQiLCJ0YXJnZXRJc1RyaWdnZXIiLCJjb250YWlucyIsIm9uT3BlbkF1dG9Gb2N1cyIsImxvb3AiLCJ0cmFwcGVkIiwib25Nb3VudEF1dG9Gb2N1cyIsIm9uVW5tb3VudEF1dG9Gb2N1cyIsInJvbGUiLCJpZCIsIm9uRGlzbWlzcyIsIlRpdGxlV2FybmluZyIsIkRlc2NyaXB0aW9uV2FybmluZyIsIlRJVExFX05BTUUiLCJEaWFsb2dUaXRsZSIsInRpdGxlUHJvcHMiLCJoMiIsIkRFU0NSSVBUSU9OX05BTUUiLCJEaWFsb2dEZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uUHJvcHMiLCJwIiwiQ0xPU0VfTkFNRSIsIkRpYWxvZ0Nsb3NlIiwiY2xvc2VQcm9wcyIsIlRJVExFX1dBUk5JTkdfTkFNRSIsIldhcm5pbmdQcm92aWRlciIsInVzZVdhcm5pbmdDb250ZXh0IiwiY29udGVudE5hbWUiLCJ0aXRsZU5hbWUiLCJkb2NzU2x1ZyIsInRpdGxlV2FybmluZ0NvbnRleHQiLCJNRVNTQUdFIiwiaGFzVGl0bGUiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY29uc29sZSIsImVycm9yIiwiREVTQ1JJUFRJT05fV0FSTklOR19OQU1FIiwiZGVzY3JpcHRpb25XYXJuaW5nQ29udGV4dCIsImRlc2NyaWJlZEJ5SWQiLCJnZXRBdHRyaWJ1dGUiLCJoYXNEZXNjcmlwdGlvbiIsIndhcm4iLCJSb290IiwiVHJpZ2dlciIsIk92ZXJsYXkiLCJDb250ZW50IiwiVGl0bGUiLCJEZXNjcmlwdGlvbiIsIkNsb3NlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-dialog/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-direction/dist/index.mjs ***!
|
|
\***************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DirectionProvider: () => (/* binding */ DirectionProvider),\n/* harmony export */ Provider: () => (/* binding */ Provider),\n/* harmony export */ useDirection: () => (/* binding */ useDirection)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// packages/react/direction/src/Direction.tsx\n\n\nvar DirectionContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = react__WEBPACK_IMPORTED_MODULE_0__.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbi9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQytCO0FBQ1M7QUFDeEMsdUJBQXVCLGdEQUFtQjtBQUMxQztBQUNBLFVBQVUsZ0JBQWdCO0FBQzFCLHlCQUF5QixzREFBRyw4QkFBOEIsc0JBQXNCO0FBQ2hGO0FBQ0E7QUFDQSxvQkFBb0IsNkNBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUtFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1kaXJlY3Rpb24vZGlzdC9pbmRleC5tanM/ZmYwNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBwYWNrYWdlcy9yZWFjdC9kaXJlY3Rpb24vc3JjL0RpcmVjdGlvbi50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgRGlyZWN0aW9uQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQodm9pZCAwKTtcbnZhciBEaXJlY3Rpb25Qcm92aWRlciA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGRpciwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChEaXJlY3Rpb25Db250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiBkaXIsIGNoaWxkcmVuIH0pO1xufTtcbmZ1bmN0aW9uIHVzZURpcmVjdGlvbihsb2NhbERpcikge1xuICBjb25zdCBnbG9iYWxEaXIgPSBSZWFjdC51c2VDb250ZXh0KERpcmVjdGlvbkNvbnRleHQpO1xuICByZXR1cm4gbG9jYWxEaXIgfHwgZ2xvYmFsRGlyIHx8IFwibHRyXCI7XG59XG52YXIgUHJvdmlkZXIgPSBEaXJlY3Rpb25Qcm92aWRlcjtcbmV4cG9ydCB7XG4gIERpcmVjdGlvblByb3ZpZGVyLFxuICBQcm92aWRlcixcbiAgdXNlRGlyZWN0aW9uXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs ***!
|
|
\***********************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Branch: () => (/* binding */ Branch),\n/* harmony export */ DismissableLayer: () => (/* binding */ DismissableLayer),\n/* harmony export */ DismissableLayerBranch: () => (/* binding */ DismissableLayerBranch),\n/* harmony export */ Root: () => (/* binding */ Root)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_escape_keydown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-use-escape-keydown */ \"(ssr)/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Branch,DismissableLayer,DismissableLayerBranch,Root auto */ // packages/react/dismissable-layer/src/DismissableLayer.tsx\n\n\n\n\n\n\n\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { disableOutsidePointerEvents = false, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, ...layerProps } = props;\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(DismissableLayerContext);\n const [node, setNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = react__WEBPACK_IMPORTED_MODULE_0__.useState({});\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__.useComposedRefs)(forwardedRef, (node2)=>setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [\n ...context.layersWithOutsidePointerEventsDisabled\n ].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event)=>{\n const target = event.target;\n const isPointerDownOnBranch = [\n ...context.branches\n ].some((branch)=>branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event)=>{\n const target = event.target;\n const isFocusInBranch = [\n ...context.branches\n ].some((branch)=>branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n (0,_radix_ui_react_use_escape_keydown__WEBPACK_IMPORTED_MODULE_3__.useEscapeKeydown)((event)=>{\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return ()=>{\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [\n node,\n ownerDocument,\n disableOutsidePointerEvents,\n context\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n return ()=>{\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [\n node,\n context\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const handleUpdate = ()=>force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return ()=>document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__.Primitive.div, {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_5__.composeEventHandlers)(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_5__.composeEventHandlers)(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_5__.composeEventHandlers)(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)\n });\n});\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(DismissableLayerContext);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__.useComposedRefs)(forwardedRef, ref);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return ()=>{\n context.branches.delete(node);\n };\n }\n }, [\n context.branches\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__.Primitive.div, {\n ...props,\n ref: composedRefs\n });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_6__.useCallbackRef)(onPointerDownOutside);\n const isPointerInsideReactTreeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const handleClickRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(()=>{});\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const handlePointerDown = (event)=>{\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {\n discrete: true\n });\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = {\n originalEvent: event\n };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, {\n once: true\n });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(()=>{\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return ()=>{\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [\n ownerDocument,\n handlePointerDownOutside\n ]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: ()=>isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_6__.useCallbackRef)(onFocusOutside);\n const isFocusInsideReactTreeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const handleFocus = (event)=>{\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = {\n originalEvent: event\n };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return ()=>ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [\n ownerDocument,\n handleFocusOutside\n ]);\n return {\n onFocusCapture: ()=>isFocusInsideReactTreeRef.current = true,\n onBlurCapture: ()=>isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: true,\n detail\n });\n if (handler) target.addEventListener(name, handler, {\n once: true\n });\n if (discrete) {\n (0,_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__.dispatchDiscreteCustomEvent)(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWRpc21pc3NhYmxlLWxheWVyL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUF1QjtBQUNjO0FBQ2tCO0FBQ3ZCO0FBQ0Q7QUFDRTtBQXFKM0I7QUEvSU4sSUFBTVEseUJBQXlCO0FBQy9CLElBQU1DLGlCQUFpQjtBQUN2QixJQUFNQyx1QkFBdUI7QUFDN0IsSUFBTUMsZ0JBQWdCO0FBRXRCLElBQUlDO0FBRUosSUFBTUMsd0NBQWdDYixnREFBQSxDQUFjO0lBQ2xEZSxRQUFRLG9CQUFJQztJQUNaQyx3Q0FBd0Msb0JBQUlEO0lBQzVDRSxVQUFVLG9CQUFJRjtBQUNoQjtBQXNDQSxJQUFNRyxpQ0FBeUJuQiw2Q0FBQSxDQUM3QixDQUFDcUIsT0FBT0M7SUFDTixNQUFNLEVBQ0pDLDhCQUE4QixPQUM5QkMsZUFBQSxFQUNBQyxvQkFBQSxFQUNBQyxjQUFBLEVBQ0FDLGlCQUFBLEVBQ0FDLFNBQUEsRUFDQSxHQUFHQyxZQUNMLEdBQUlSO0lBQ0osTUFBTVMsVUFBZ0I5Qiw2Q0FBQSxDQUFXYTtJQUNqQyxNQUFNLENBQUNtQixNQUFNQyxRQUFPLEdBQVVqQywyQ0FBQSxDQUF5QztJQUN2RSxNQUFNbUMsZ0JBQWdCSCxNQUFNRyxpQkFBaUJDLFlBQVlDO0lBQ3pELE1BQU0sR0FBR0MsTUFBSyxHQUFVdEMsMkNBQUEsQ0FBUyxDQUFDO0lBQ2xDLE1BQU11QyxlQUFlbkMsNkVBQWVBLENBQUNrQixjQUFjLENBQUNVLFFBQVNDLFFBQVFEO0lBQ3JFLE1BQU1qQixTQUFTeUIsTUFBTUMsSUFBQSxDQUFLWCxRQUFRZixNQUFNO0lBQ3hDLE1BQU0sQ0FBQzJCLDZDQUE0QyxHQUFJO1dBQUlaLFFBQVFiLHNDQUFzQztLQUFBLENBQUUwQixLQUFBLENBQU07SUFDakgsTUFBTUMsb0RBQW9EN0IsT0FBTzhCLE9BQUEsQ0FBUUg7SUFDekUsTUFBTUksUUFBUWQsT0FBT2pCLE9BQU84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QWMsQ0FBQ2pEO1lBQ25CLElBQUlBLE1BQU1DLE1BQUEsSUFBVSxDQUFDK0MsMEJBQTBCakIsT0FBQSxFQUFTO2dCQUN0RCxNQUFNTyxjQUFjO29CQUFFRSxlQUFleEM7Z0JBQU07Z0JBQzNDcUMsNkJBQTZCOUUsZUFBZXdGLG9CQUFvQlQsYUFBYTtvQkFDM0VDLFVBQVU7Z0JBQ1o7WUFDRjtRQUNGO1FBQ0F4RCxjQUFjcUMsZ0JBQUEsQ0FBaUIsV0FBVzZCO1FBQzFDLE9BQU8sSUFBTWxFLGNBQWNzQyxtQkFBQSxDQUFvQixXQUFXNEI7SUFDNUQsR0FBRztRQUFDbEU7UUFBZWdFO0tBQW1CO0lBRXRDLE9BQU87UUFDTHZCLGdCQUFnQixJQUFPd0IsMEJBQTBCakIsT0FBQSxHQUFVO1FBQzNETixlQUFlLElBQU91QiwwQkFBMEJqQixPQUFBLEdBQVU7SUFDNUQ7QUFDRjtBQUVBLFNBQVNkO0lBQ1AsTUFBTWpCLFFBQVEsSUFBSWtELFlBQVk3RjtJQUM5QjRCLFNBQVNrRSxhQUFBLENBQWNuRDtBQUN6QjtBQUVBLFNBQVNxQyw2QkFDUGUsSUFBQSxFQUNBQyxPQUFBLEVBQ0FDLE1BQUEsRUFDQSxFQUFFZixRQUFBLEVBQVM7SUFFWCxNQUFNdEMsU0FBU3FELE9BQU9kLGFBQUEsQ0FBY3ZDLE1BQUE7SUFDcEMsTUFBTUQsUUFBUSxJQUFJa0QsWUFBWUUsTUFBTTtRQUFFRyxTQUFTO1FBQU9DLFlBQVk7UUFBTUY7SUFBTztJQUMvRSxJQUFJRCxTQUFTcEQsT0FBT21CLGdCQUFBLENBQWlCZ0MsTUFBTUMsU0FBMEI7UUFBRVgsTUFBTTtJQUFLO0lBRWxGLElBQUlILFVBQVU7UUFDWnhGLHNGQUEyQkEsQ0FBQ2tELFFBQVFEO0lBQ3RDLE9BQU87UUFDTEMsT0FBT2tELGFBQUEsQ0FBY25EO0lBQ3ZCO0FBQ0Y7QUFFQSxJQUFNeUQsT0FBTzFGO0FBQ2IsSUFBTTJGLFNBQVM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi4vc3JjL0Rpc21pc3NhYmxlTGF5ZXIudHN4PzViZTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tICdAcmFkaXgtdWkvcHJpbWl0aXZlJztcbmltcG9ydCB7IFByaW1pdGl2ZSwgZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50IH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jYWxsYmFjay1yZWYnO1xuaW1wb3J0IHsgdXNlRXNjYXBlS2V5ZG93biB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtZXNjYXBlLWtleWRvd24nO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEaXNtaXNzYWJsZUxheWVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IERJU01JU1NBQkxFX0xBWUVSX05BTUUgPSAnRGlzbWlzc2FibGVMYXllcic7XG5jb25zdCBDT05URVhUX1VQREFURSA9ICdkaXNtaXNzYWJsZUxheWVyLnVwZGF0ZSc7XG5jb25zdCBQT0lOVEVSX0RPV05fT1VUU0lERSA9ICdkaXNtaXNzYWJsZUxheWVyLnBvaW50ZXJEb3duT3V0c2lkZSc7XG5jb25zdCBGT0NVU19PVVRTSURFID0gJ2Rpc21pc3NhYmxlTGF5ZXIuZm9jdXNPdXRzaWRlJztcblxubGV0IG9yaWdpbmFsQm9keVBvaW50ZXJFdmVudHM6IHN0cmluZztcblxuY29uc3QgRGlzbWlzc2FibGVMYXllckNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KHtcbiAgbGF5ZXJzOiBuZXcgU2V0PERpc21pc3NhYmxlTGF5ZXJFbGVtZW50PigpLFxuICBsYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZDogbmV3IFNldDxEaXNtaXNzYWJsZUxheWVyRWxlbWVudD4oKSxcbiAgYnJhbmNoZXM6IG5ldyBTZXQ8RGlzbWlzc2FibGVMYXllckJyYW5jaEVsZW1lbnQ+KCksXG59KTtcblxudHlwZSBEaXNtaXNzYWJsZUxheWVyRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xudHlwZSBQcmltaXRpdmVEaXZQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgRGlzbWlzc2FibGVMYXllclByb3BzIGV4dGVuZHMgUHJpbWl0aXZlRGl2UHJvcHMge1xuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIGhvdmVyL2ZvY3VzL2NsaWNrIGludGVyYWN0aW9ucyB3aWxsIGJlIGRpc2FibGVkIG9uIGVsZW1lbnRzIG91dHNpZGVcbiAgICogdGhlIGBEaXNtaXNzYWJsZUxheWVyYC4gVXNlcnMgd2lsbCBuZWVkIHRvIGNsaWNrIHR3aWNlIG9uIG91dHNpZGUgZWxlbWVudHMgdG9cbiAgICogaW50ZXJhY3Qgd2l0aCB0aGVtOiBvbmNlIHRvIGNsb3NlIHRoZSBgRGlzbWlzc2FibGVMYXllcmAsIGFuZCBhZ2FpbiB0byB0cmlnZ2VyIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGVzY2FwZSBrZXkgaXMgZG93bi5cbiAgICogQ2FuIGJlIHByZXZlbnRlZC5cbiAgICovXG4gIG9uRXNjYXBlS2V5RG93bj86IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGEgYHBvaW50ZXJkb3duYCBldmVudCBoYXBwZW5zIG91dHNpZGUgb2YgdGhlIGBEaXNtaXNzYWJsZUxheWVyYC5cbiAgICogQ2FuIGJlIHByZXZlbnRlZC5cbiAgICovXG4gIG9uUG9pbnRlckRvd25PdXRzaWRlPzogKGV2ZW50OiBQb2ludGVyRG93bk91dHNpZGVFdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGZvY3VzIG1vdmVzIG91dHNpZGUgb2YgdGhlIGBEaXNtaXNzYWJsZUxheWVyYC5cbiAgICogQ2FuIGJlIHByZXZlbnRlZC5cbiAgICovXG4gIG9uRm9jdXNPdXRzaWRlPzogKGV2ZW50OiBGb2N1c091dHNpZGVFdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gYW4gaW50ZXJhY3Rpb24gaGFwcGVucyBvdXRzaWRlIHRoZSBgRGlzbWlzc2FibGVMYXllcmAuXG4gICAqIFNwZWNpZmljYWxseSwgd2hlbiBhIGBwb2ludGVyZG93bmAgZXZlbnQgaGFwcGVucyBvdXRzaWRlIG9yIGZvY3VzIG1vdmVzIG91dHNpZGUgb2YgaXQuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvbkludGVyYWN0T3V0c2lkZT86IChldmVudDogUG9pbnRlckRvd25PdXRzaWRlRXZlbnQgfCBGb2N1c091dHNpZGVFdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGBEaXNtaXNzYWJsZUxheWVyYCBzaG91bGQgYmUgZGlzbWlzc2VkXG4gICAqL1xuICBvbkRpc21pc3M/OiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBEaXNtaXNzYWJsZUxheWVyID0gUmVhY3QuZm9yd2FyZFJlZjxEaXNtaXNzYWJsZUxheWVyRWxlbWVudCwgRGlzbWlzc2FibGVMYXllclByb3BzPihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMgPSBmYWxzZSxcbiAgICAgIG9uRXNjYXBlS2V5RG93bixcbiAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlLFxuICAgICAgb25Gb2N1c091dHNpZGUsXG4gICAgICBvbkludGVyYWN0T3V0c2lkZSxcbiAgICAgIG9uRGlzbWlzcyxcbiAgICAgIC4uLmxheWVyUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRGlzbWlzc2FibGVMYXllckNvbnRleHQpO1xuICAgIGNvbnN0IFtub2RlLCBzZXROb2RlXSA9IFJlYWN0LnVzZVN0YXRlPERpc21pc3NhYmxlTGF5ZXJFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3Qgb3duZXJEb2N1bWVudCA9IG5vZGU/Lm93bmVyRG9jdW1lbnQgPz8gZ2xvYmFsVGhpcz8uZG9jdW1lbnQ7XG4gICAgY29uc3QgWywgZm9yY2VdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXROb2RlKG5vZGUpKTtcbiAgICBjb25zdCBsYXllcnMgPSBBcnJheS5mcm9tKGNvbnRleHQubGF5ZXJzKTtcbiAgICBjb25zdCBbaGlnaGVzdExheWVyV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWRdID0gWy4uLmNvbnRleHQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWRdLnNsaWNlKC0xKTsgLy8gcHJldHRpZXItaWdub3JlXG4gICAgY29uc3QgaGlnaGVzdExheWVyV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWRJbmRleCA9IGxheWVycy5pbmRleE9mKGhpZ2hlc3RMYXllcldpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkKTsgLy8gcHJldHRpZXItaWdub3JlXG4gICAgY29uc3QgaW5kZXggPSBub2RlID8gbGF5ZXJzLmluZGV4T2Yobm9kZSkgOiAtMTtcbiAgICBjb25zdCBpc0JvZHlQb2ludGVyRXZlbnRzRGlzYWJsZWQgPSBjb250ZXh0LmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkLnNpemUgPiAwO1xuICAgIGNvbnN0IGlzUG9pbnRlckV2ZW50c0VuYWJsZWQgPSBpbmRleCA+PSBoaWdoZXN0TGF5ZXJXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZEluZGV4O1xuXG4gICAgY29uc3QgcG9pbnRlckRvd25PdXRzaWRlID0gdXNlUG9pbnRlckRvd25PdXRzaWRlKChldmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgY29uc3QgaXNQb2ludGVyRG93bk9uQnJhbmNoID0gWy4uLmNvbnRleHQuYnJhbmNoZXNdLnNvbWUoKGJyYW5jaCkgPT4gYnJhbmNoLmNvbnRhaW5zKHRhcmdldCkpO1xuICAgICAgaWYgKCFpc1BvaW50ZXJFdmVudHNFbmFibGVkIHx8IGlzUG9pbnRlckRvd25PbkJyYW5jaCkgcmV0dXJuO1xuICAgICAgb25Qb2ludGVyRG93bk91dHNpZGU/LihldmVudCk7XG4gICAgICBvbkludGVyYWN0T3V0c2lkZT8uKGV2ZW50KTtcbiAgICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgb25EaXNtaXNzPy4oKTtcbiAgICB9LCBvd25lckRvY3VtZW50KTtcblxuICAgIGNvbnN0IGZvY3VzT3V0c2lkZSA9IHVzZUZvY3VzT3V0c2lkZSgoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IGlzRm9jdXNJbkJyYW5jaCA9IFsuLi5jb250ZXh0LmJyYW5jaGVzXS5zb21lKChicmFuY2gpID0+IGJyYW5jaC5jb250YWlucyh0YXJnZXQpKTtcbiAgICAgIGlmIChpc0ZvY3VzSW5CcmFuY2gpIHJldHVybjtcbiAgICAgIG9uRm9jdXNPdXRzaWRlPy4oZXZlbnQpO1xuICAgICAgb25JbnRlcmFjdE91dHNpZGU/LihldmVudCk7XG4gICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIG9uRGlzbWlzcz8uKCk7XG4gICAgfSwgb3duZXJEb2N1bWVudCk7XG5cbiAgICB1c2VFc2NhcGVLZXlkb3duKChldmVudCkgPT4ge1xuICAgICAgY29uc3QgaXNIaWdoZXN0TGF5ZXIgPSBpbmRleCA9PT0gY29udGV4dC5sYXllcnMuc2l6ZSAtIDE7XG4gICAgICBpZiAoIWlzSGlnaGVzdExheWVyKSByZXR1cm47XG4gICAgICBvbkVzY2FwZUtleURvd24/LihldmVudCk7XG4gICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiYgb25EaXNtaXNzKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uRGlzbWlzcygpO1xuICAgICAgfVxuICAgIH0sIG93bmVyRG9jdW1lbnQpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghbm9kZSkgcmV0dXJuO1xuICAgICAgaWYgKGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cykge1xuICAgICAgICBpZiAoY29udGV4dC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5zaXplID09PSAwKSB7XG4gICAgICAgICAgb3JpZ2luYWxCb2R5UG9pbnRlckV2ZW50cyA9IG93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzO1xuICAgICAgICAgIG93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuYWRkKG5vZGUpO1xuICAgICAgfVxuICAgICAgY29udGV4dC5sYXllcnMuYWRkKG5vZGUpO1xuICAgICAgZGlzcGF0Y2hVcGRhdGUoKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMgJiZcbiAgICAgICAgICBjb250ZXh0LmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkLnNpemUgPT09IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgb3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSBvcmlnaW5hbEJvZHlQb2ludGVyRXZlbnRzO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtub2RlLCBvd25lckRvY3VtZW50LCBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMsIGNvbnRleHRdKTtcblxuICAgIC8qKlxuICAgICAqIFdlIHB1cnBvc2VmdWxseSBwcmV2ZW50IGNvbWJpbmluZyB0aGlzIGVmZmVjdCB3aXRoIHRoZSBgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzYCBlZmZlY3RcbiAgICAgKiBiZWNhdXNlIGEgY2hhbmdlIHRvIGBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHNgIHdvdWxkIHJlbW92ZSB0aGlzIGxheWVyIGZyb20gdGhlIHN0YWNrXG4gICAgICogYW5kIGFkZCBpdCB0byB0aGUgZW5kIGFnYWluIHNvIHRoZSBsYXllcmluZyBvcmRlciB3b3VsZG4ndCBiZSBfY3JlYXRpb24gb3JkZXJfLlxuICAgICAqIFdlIG9ubHkgd2FudCB0aGVtIHRvIGJlIHJlbW92ZWQgZnJvbSBjb250ZXh0IHN0YWNrcyB3aGVuIHVubW91bnRlZC5cbiAgICAgKi9cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKCFub2RlKSByZXR1cm47XG4gICAgICAgIGNvbnRleHQubGF5ZXJzLmRlbGV0ZShub2RlKTtcbiAgICAgICAgY29udGV4dC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5kZWxldGUobm9kZSk7XG4gICAgICAgIGRpc3BhdGNoVXBkYXRlKCk7XG4gICAgICB9O1xuICAgIH0sIFtub2RlLCBjb250ZXh0XSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlVXBkYXRlID0gKCkgPT4gZm9yY2Uoe30pO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihDT05URVhUX1VQREFURSwgaGFuZGxlVXBkYXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKENPTlRFWFRfVVBEQVRFLCBoYW5kbGVVcGRhdGUpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLmRpdlxuICAgICAgICB7Li4ubGF5ZXJQcm9wc31cbiAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgcG9pbnRlckV2ZW50czogaXNCb2R5UG9pbnRlckV2ZW50c0Rpc2FibGVkXG4gICAgICAgICAgICA/IGlzUG9pbnRlckV2ZW50c0VuYWJsZWRcbiAgICAgICAgICAgICAgPyAnYXV0bydcbiAgICAgICAgICAgICAgOiAnbm9uZSdcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIC4uLnByb3BzLnN0eWxlLFxuICAgICAgICB9fVxuICAgICAgICBvbkZvY3VzQ2FwdHVyZT17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1c0NhcHR1cmUsIGZvY3VzT3V0c2lkZS5vbkZvY3VzQ2FwdHVyZSl9XG4gICAgICAgIG9uQmx1ckNhcHR1cmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQmx1ckNhcHR1cmUsIGZvY3VzT3V0c2lkZS5vbkJsdXJDYXB0dXJlKX1cbiAgICAgICAgb25Qb2ludGVyRG93bkNhcHR1cmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgIHByb3BzLm9uUG9pbnRlckRvd25DYXB0dXJlLFxuICAgICAgICAgIHBvaW50ZXJEb3duT3V0c2lkZS5vblBvaW50ZXJEb3duQ2FwdHVyZVxuICAgICAgICApfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuXG5EaXNtaXNzYWJsZUxheWVyLmRpc3BsYXlOYW1lID0gRElTTUlTU0FCTEVfTEFZRVJfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGlzbWlzc2FibGVMYXllckJyYW5jaFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBCUkFOQ0hfTkFNRSA9ICdEaXNtaXNzYWJsZUxheWVyQnJhbmNoJztcblxudHlwZSBEaXNtaXNzYWJsZUxheWVyQnJhbmNoRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIERpc21pc3NhYmxlTGF5ZXJCcmFuY2hQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IERpc21pc3NhYmxlTGF5ZXJCcmFuY2ggPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBEaXNtaXNzYWJsZUxheWVyQnJhbmNoRWxlbWVudCxcbiAgRGlzbWlzc2FibGVMYXllckJyYW5jaFByb3BzXG4+KChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSBSZWFjdC51c2VDb250ZXh0KERpc21pc3NhYmxlTGF5ZXJDb250ZXh0KTtcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmPERpc21pc3NhYmxlTGF5ZXJCcmFuY2hFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSByZWYuY3VycmVudDtcbiAgICBpZiAobm9kZSkge1xuICAgICAgY29udGV4dC5icmFuY2hlcy5hZGQobm9kZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb250ZXh0LmJyYW5jaGVzLmRlbGV0ZShub2RlKTtcbiAgICAgIH07XG4gICAgfVxuICB9LCBbY29udGV4dC5icmFuY2hlc10pO1xuXG4gIHJldHVybiA8UHJpbWl0aXZlLmRpdiB7Li4ucHJvcHN9IHJlZj17Y29tcG9zZWRSZWZzfSAvPjtcbn0pO1xuXG5EaXNtaXNzYWJsZUxheWVyQnJhbmNoLmRpc3BsYXlOYW1lID0gQlJBTkNIX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBQb2ludGVyRG93bk91dHNpZGVFdmVudCA9IEN1c3RvbUV2ZW50PHsgb3JpZ2luYWxFdmVudDogUG9pbnRlckV2ZW50IH0+O1xudHlwZSBGb2N1c091dHNpZGVFdmVudCA9IEN1c3RvbUV2ZW50PHsgb3JpZ2luYWxFdmVudDogRm9jdXNFdmVudCB9PjtcblxuLyoqXG4gKiBMaXN0ZW5zIGZvciBgcG9pbnRlcmRvd25gIG91dHNpZGUgYSByZWFjdCBzdWJ0cmVlLiBXZSB1c2UgYHBvaW50ZXJkb3duYCByYXRoZXIgdGhhbiBgcG9pbnRlcnVwYFxuICogdG8gbWltaWMgbGF5ZXIgZGlzbWlzc2luZyBiZWhhdmlvdXIgcHJlc2VudCBpbiBPUy5cbiAqIFJldHVybnMgcHJvcHMgdG8gcGFzcyB0byB0aGUgbm9kZSB3ZSB3YW50IHRvIGNoZWNrIGZvciBvdXRzaWRlIGV2ZW50cy5cbiAqL1xuZnVuY3Rpb24gdXNlUG9pbnRlckRvd25PdXRzaWRlKFxuICBvblBvaW50ZXJEb3duT3V0c2lkZT86IChldmVudDogUG9pbnRlckRvd25PdXRzaWRlRXZlbnQpID0+IHZvaWQsXG4gIG93bmVyRG9jdW1lbnQ6IERvY3VtZW50ID0gZ2xvYmFsVGhpcz8uZG9jdW1lbnRcbikge1xuICBjb25zdCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUgPSB1c2VDYWxsYmFja1JlZihvblBvaW50ZXJEb3duT3V0c2lkZSkgYXMgRXZlbnRMaXN0ZW5lcjtcbiAgY29uc3QgaXNQb2ludGVySW5zaWRlUmVhY3RUcmVlUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaGFuZGxlQ2xpY2tSZWYgPSBSZWFjdC51c2VSZWYoKCkgPT4ge30pO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRhcmdldCAmJiAhaXNQb2ludGVySW5zaWRlUmVhY3RUcmVlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3QgZXZlbnREZXRhaWwgPSB7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50IH07XG5cbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlQW5kRGlzcGF0Y2hQb2ludGVyRG93bk91dHNpZGVFdmVudCgpIHtcbiAgICAgICAgICBoYW5kbGVBbmREaXNwYXRjaEN1c3RvbUV2ZW50KFxuICAgICAgICAgICAgUE9JTlRFUl9ET1dOX09VVFNJREUsXG4gICAgICAgICAgICBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUsXG4gICAgICAgICAgICBldmVudERldGFpbCxcbiAgICAgICAgICAgIHsgZGlzY3JldGU6IHRydWUgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogT24gdG91Y2ggZGV2aWNlcywgd2UgbmVlZCB0byB3YWl0IGZvciBhIGNsaWNrIGV2ZW50IGJlY2F1c2UgYnJvd3NlcnMgaW1wbGVtZW50XG4gICAgICAgICAqIGEgfjM1MG1zIGRlbGF5IGJldHdlZW4gdGhlIHRpbWUgdGhlIHVzZXIgc3RvcHMgdG91Y2hpbmcgdGhlIGRpc3BsYXkgYW5kIHdoZW4gdGhlXG4gICAgICAgICAqIGJyb3dzZXIgZXhlY3V0cmVzIGV2ZW50cy4gV2UgbmVlZCB0byBlbnN1cmUgd2UgZG9uJ3QgcmVhY3RpdmF0ZSBwb2ludGVyLWV2ZW50cyB3aXRoaW5cbiAgICAgICAgICogdGhpcyB0aW1lZnJhbWUgb3RoZXJ3aXNlIHRoZSBicm93c2VyIG1heSBleGVjdXRlIGV2ZW50cyB0aGF0IHNob3VsZCBoYXZlIGJlZW4gcHJldmVudGVkLlxuICAgICAgICAgKlxuICAgICAgICAgKiBBZGRpdGlvbmFsbHksIHRoaXMgYWxzbyBsZXRzIHVzIGRlYWwgYXV0b21hdGljYWxseSB3aXRoIGNhbmNlbGxhdGlvbnMgd2hlbiBhIGNsaWNrIGV2ZW50XG4gICAgICAgICAqIGlzbid0IHJhaXNlZCBiZWNhdXNlIHRoZSBwYWdlIHdhcyBjb25zaWRlcmVkIHNjcm9sbGVkL2RyYWctc2Nyb2xsZWQsIGxvbmctcHJlc3NlZCwgZXRjLlxuICAgICAgICAgKlxuICAgICAgICAgKiBUaGlzIGlzIHdoeSB3ZSBhbHNvIGNvbnRpbnVvdXNseSByZW1vdmUgdGhlIHByZXZpb3VzIGxpc3RlbmVyLCBiZWNhdXNlIHdlIGNhbm5vdCBiZVxuICAgICAgICAgKiBjZXJ0YWluIHRoYXQgaXQgd2FzIHJhaXNlZCwgYW5kIHRoZXJlZm9yZSBjbGVhbmVkLXVwLlxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlID09PSAndG91Y2gnKSB7XG4gICAgICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrUmVmLmN1cnJlbnQpO1xuICAgICAgICAgIGhhbmRsZUNsaWNrUmVmLmN1cnJlbnQgPSBoYW5kbGVBbmREaXNwYXRjaFBvaW50ZXJEb3duT3V0c2lkZUV2ZW50O1xuICAgICAgICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja1JlZi5jdXJyZW50LCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaGFuZGxlQW5kRGlzcGF0Y2hQb2ludGVyRG93bk91dHNpZGVFdmVudCgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIHJlbW92ZSB0aGUgZXZlbnQgbGlzdGVuZXIgaW4gY2FzZSB0aGUgb3V0c2lkZSBjbGljayBoYXMgYmVlbiBjYW5jZWxlZC5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vcmFkaXgtdWkvcHJpbWl0aXZlcy9pc3N1ZXMvMjE3MVxuICAgICAgICBvd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgICBpc1BvaW50ZXJJbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogaWYgdGhpcyBob29rIGV4ZWN1dGVzIGluIGEgY29tcG9uZW50IHRoYXQgbW91bnRzIHZpYSBhIGBwb2ludGVyZG93bmAgZXZlbnQsIHRoZSBldmVudFxuICAgICAqIHdvdWxkIGJ1YmJsZSB1cCB0byB0aGUgZG9jdW1lbnQgYW5kIHRyaWdnZXIgYSBgcG9pbnRlckRvd25PdXRzaWRlYCBldmVudC4gV2UgYXZvaWRcbiAgICAgKiB0aGlzIGJ5IGRlbGF5aW5nIHRoZSBldmVudCBsaXN0ZW5lciByZWdpc3RyYXRpb24gb24gdGhlIGRvY3VtZW50LlxuICAgICAqIFRoaXMgaXMgbm90IFJlYWN0IHNwZWNpZmljLCBidXQgcmF0aGVyIGhvdyB0aGUgRE9NIHdvcmtzLCBpZTpcbiAgICAgKiBgYGBcbiAgICAgKiBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAoKSA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnSSB3aWxsIGxvZycpO1xuICAgICAqICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAoKSA9PiB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJIHdpbGwgYWxzbyBsb2cnKTtcbiAgICAgKiAgIH0pXG4gICAgICogfSk7XG4gICAgICovXG4gICAgY29uc3QgdGltZXJJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBoYW5kbGVQb2ludGVyRG93bik7XG4gICAgfSwgMCk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICBvd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgaGFuZGxlUG9pbnRlckRvd24pO1xuICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrUmVmLmN1cnJlbnQpO1xuICAgIH07XG4gIH0sIFtvd25lckRvY3VtZW50LCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGVdKTtcblxuICByZXR1cm4ge1xuICAgIC8vIGVuc3VyZXMgd2UgY2hlY2sgUmVhY3QgY29tcG9uZW50IHRyZWUgKG5vdCBqdXN0IERPTSB0cmVlKVxuICAgIG9uUG9pbnRlckRvd25DYXB0dXJlOiAoKSA9PiAoaXNQb2ludGVySW5zaWRlUmVhY3RUcmVlUmVmLmN1cnJlbnQgPSB0cnVlKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMaXN0ZW5zIGZvciB3aGVuIGZvY3VzIGhhcHBlbnMgb3V0c2lkZSBhIHJlYWN0IHN1YnRyZWUuXG4gKiBSZXR1cm5zIHByb3BzIHRvIHBhc3MgdG8gdGhlIHJvb3QgKG5vZGUpIG9mIHRoZSBzdWJ0cmVlIHdlIHdhbnQgdG8gY2hlY2suXG4gKi9cbmZ1bmN0aW9uIHVzZUZvY3VzT3V0c2lkZShcbiAgb25Gb2N1c091dHNpZGU/OiAoZXZlbnQ6IEZvY3VzT3V0c2lkZUV2ZW50KSA9PiB2b2lkLFxuICBvd25lckRvY3VtZW50OiBEb2N1bWVudCA9IGdsb2JhbFRoaXM/LmRvY3VtZW50XG4pIHtcbiAgY29uc3QgaGFuZGxlRm9jdXNPdXRzaWRlID0gdXNlQ2FsbGJhY2tSZWYob25Gb2N1c091dHNpZGUpIGFzIEV2ZW50TGlzdGVuZXI7XG4gIGNvbnN0IGlzRm9jdXNJbnNpZGVSZWFjdFRyZWVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlRm9jdXMgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgIWlzRm9jdXNJbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCBldmVudERldGFpbCA9IHsgb3JpZ2luYWxFdmVudDogZXZlbnQgfTtcbiAgICAgICAgaGFuZGxlQW5kRGlzcGF0Y2hDdXN0b21FdmVudChGT0NVU19PVVRTSURFLCBoYW5kbGVGb2N1c091dHNpZGUsIGV2ZW50RGV0YWlsLCB7XG4gICAgICAgICAgZGlzY3JldGU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGhhbmRsZUZvY3VzKTtcbiAgICByZXR1cm4gKCkgPT4gb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c2luJywgaGFuZGxlRm9jdXMpO1xuICB9LCBbb3duZXJEb2N1bWVudCwgaGFuZGxlRm9jdXNPdXRzaWRlXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBvbkZvY3VzQ2FwdHVyZTogKCkgPT4gKGlzRm9jdXNJbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IHRydWUpLFxuICAgIG9uQmx1ckNhcHR1cmU6ICgpID0+IChpc0ZvY3VzSW5zaWRlUmVhY3RUcmVlUmVmLmN1cnJlbnQgPSBmYWxzZSksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoVXBkYXRlKCkge1xuICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChDT05URVhUX1VQREFURSk7XG4gIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVBbmREaXNwYXRjaEN1c3RvbUV2ZW50PEUgZXh0ZW5kcyBDdXN0b21FdmVudCwgT3JpZ2luYWxFdmVudCBleHRlbmRzIEV2ZW50PihcbiAgbmFtZTogc3RyaW5nLFxuICBoYW5kbGVyOiAoKGV2ZW50OiBFKSA9PiB2b2lkKSB8IHVuZGVmaW5lZCxcbiAgZGV0YWlsOiB7IG9yaWdpbmFsRXZlbnQ6IE9yaWdpbmFsRXZlbnQgfSAmIChFIGV4dGVuZHMgQ3VzdG9tRXZlbnQ8aW5mZXIgRD4gPyBEIDogbmV2ZXIpLFxuICB7IGRpc2NyZXRlIH06IHsgZGlzY3JldGU6IGJvb2xlYW4gfVxuKSB7XG4gIGNvbnN0IHRhcmdldCA9IGRldGFpbC5vcmlnaW5hbEV2ZW50LnRhcmdldDtcbiAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQobmFtZSwgeyBidWJibGVzOiBmYWxzZSwgY2FuY2VsYWJsZTogdHJ1ZSwgZGV0YWlsIH0pO1xuICBpZiAoaGFuZGxlcikgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgaGFuZGxlciBhcyBFdmVudExpc3RlbmVyLCB7IG9uY2U6IHRydWUgfSk7XG5cbiAgaWYgKGRpc2NyZXRlKSB7XG4gICAgZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50KHRhcmdldCwgZXZlbnQpO1xuICB9IGVsc2Uge1xuICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxuXG5jb25zdCBSb290ID0gRGlzbWlzc2FibGVMYXllcjtcbmNvbnN0IEJyYW5jaCA9IERpc21pc3NhYmxlTGF5ZXJCcmFuY2g7XG5cbmV4cG9ydCB7XG4gIERpc21pc3NhYmxlTGF5ZXIsXG4gIERpc21pc3NhYmxlTGF5ZXJCcmFuY2gsXG4gIC8vXG4gIFJvb3QsXG4gIEJyYW5jaCxcbn07XG5leHBvcnQgdHlwZSB7IERpc21pc3NhYmxlTGF5ZXJQcm9wcyB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY29tcG9zZUV2ZW50SGFuZGxlcnMiLCJQcmltaXRpdmUiLCJkaXNwYXRjaERpc2NyZXRlQ3VzdG9tRXZlbnQiLCJ1c2VDb21wb3NlZFJlZnMiLCJ1c2VDYWxsYmFja1JlZiIsInVzZUVzY2FwZUtleWRvd24iLCJqc3giLCJESVNNSVNTQUJMRV9MQVlFUl9OQU1FIiwiQ09OVEVYVF9VUERBVEUiLCJQT0lOVEVSX0RPV05fT1VUU0lERSIsIkZPQ1VTX09VVFNJREUiLCJvcmlnaW5hbEJvZHlQb2ludGVyRXZlbnRzIiwiRGlzbWlzc2FibGVMYXllckNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwibGF5ZXJzIiwiU2V0IiwibGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQiLCJicmFuY2hlcyIsIkRpc21pc3NhYmxlTGF5ZXIiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMiLCJvbkVzY2FwZUtleURvd24iLCJvblBvaW50ZXJEb3duT3V0c2lkZSIsIm9uRm9jdXNPdXRzaWRlIiwib25JbnRlcmFjdE91dHNpZGUiLCJvbkRpc21pc3MiLCJsYXllclByb3BzIiwiY29udGV4dCIsInVzZUNvbnRleHQiLCJub2RlIiwic2V0Tm9kZSIsInVzZVN0YXRlIiwib3duZXJEb2N1bWVudCIsImdsb2JhbFRoaXMiLCJkb2N1bWVudCIsImZvcmNlIiwiY29tcG9zZWRSZWZzIiwiQXJyYXkiLCJmcm9tIiwiaGlnaGVzdExheWVyV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQiLCJzbGljZSIsImhpZ2hlc3RMYXllcldpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkSW5kZXgiLCJpbmRleE9mIiwiaW5kZXgiLCJpc0JvZHlQb2ludGVyRXZlbnRzRGlzYWJsZWQiLCJzaXplIiwiaXNQb2ludGVyRXZlbnRzRW5hYmxlZCIsInBvaW50ZXJEb3duT3V0c2lkZSIsInVzZVBvaW50ZXJEb3duT3V0c2lkZSIsImV2ZW50IiwidGFyZ2V0IiwiaXNQb2ludGVyRG93bk9uQnJhbmNoIiwic29tZSIsImJyYW5jaCIsImNvbnRhaW5zIiwiZGVmYXVsdFByZXZlbnRlZCIsImZvY3VzT3V0c2lkZSIsInVzZUZvY3VzT3V0c2lkZSIsImlzRm9jdXNJbkJyYW5jaCIsImlzSGlnaGVzdExheWVyIiwicHJldmVudERlZmF1bHQiLCJ1c2VFZmZlY3QiLCJib2R5Iiwic3R5bGUiLCJwb2ludGVyRXZlbnRzIiwiYWRkIiwiZGlzcGF0Y2hVcGRhdGUiLCJkZWxldGUiLCJoYW5kbGVVcGRhdGUiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRpdiIsInJlZiIsIm9uRm9jdXNDYXB0dXJlIiwib25CbHVyQ2FwdHVyZSIsIm9uUG9pbnRlckRvd25DYXB0dXJlIiwiZGlzcGxheU5hbWUiLCJCUkFOQ0hfTkFNRSIsIkRpc21pc3NhYmxlTGF5ZXJCcmFuY2giLCJ1c2VSZWYiLCJjdXJyZW50IiwiaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlIiwiaXNQb2ludGVySW5zaWRlUmVhY3RUcmVlUmVmIiwiaGFuZGxlQ2xpY2tSZWYiLCJoYW5kbGVQb2ludGVyRG93biIsImhhbmRsZUFuZERpc3BhdGNoUG9pbnRlckRvd25PdXRzaWRlRXZlbnQiLCJoYW5kbGVBbmREaXNwYXRjaEN1c3RvbUV2ZW50IiwiZXZlbnREZXRhaWwiLCJkaXNjcmV0ZSIsIm9yaWdpbmFsRXZlbnQiLCJwb2ludGVyVHlwZSIsIm9uY2UiLCJ0aW1lcklkIiwid2luZG93Iiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsImhhbmRsZUZvY3VzT3V0c2lkZSIsImlzRm9jdXNJbnNpZGVSZWFjdFRyZWVSZWYiLCJoYW5kbGVGb2N1cyIsIkN1c3RvbUV2ZW50IiwiZGlzcGF0Y2hFdmVudCIsIm5hbWUiLCJoYW5kbGVyIiwiZGV0YWlsIiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJSb290IiwiQnJhbmNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-focus-guards/dist/index.mjs ***!
|
|
\******************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusGuards: () => (/* binding */ FocusGuards),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ useFocusGuards: () => (/* binding */ useFocusGuards)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* __next_internal_client_entry_do_not_use__ FocusGuards,Root,useFocusGuards auto */ // packages/react/focus-guards/src/FocusGuards.tsx\n\nvar count = 0;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\nfunction useFocusGuards() {\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count++;\n return ()=>{\n if (count === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node)=>node.remove());\n }\n count--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\nvar Root = FocusGuards;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWZvY3VzLWd1YXJkcy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF1QjtBQUd2QixJQUFJQyxRQUFRO0FBRVosU0FBU0MsWUFBWUMsS0FBQTtJQUNuQkM7SUFDQSxPQUFPRCxNQUFNRSxRQUFBO0FBQ2Y7QUFNQSxTQUFTRDtJQUNESiw0Q0FBQSxDQUFVO1FBQ2QsTUFBTU8sYUFBYUMsU0FBU0MsZ0JBQUEsQ0FBaUI7UUFDN0NELFNBQVNFLElBQUEsQ0FBS0MscUJBQUEsQ0FBc0IsY0FBY0osVUFBQSxDQUFXLEVBQUMsSUFBS0s7UUFDbkVKLFNBQVNFLElBQUEsQ0FBS0MscUJBQUEsQ0FBc0IsYUFBYUosVUFBQSxDQUFXLEVBQUMsSUFBS0s7UUFDbEVYO1FBRUEsT0FBTztZQUNMLElBQUlBLFVBQVUsR0FBRztnQkFDZk8sU0FBU0MsZ0JBQUEsQ0FBaUIsNEJBQTRCSSxPQUFBLENBQVEsQ0FBQ0MsT0FBU0EsS0FBS0MsTUFBQTtZQUMvRTtZQUNBZDtRQUNGO0lBQ0YsR0FBRyxFQUFFO0FBQ1A7QUFFQSxTQUFTVztJQUNQLE1BQU1JLFVBQVVSLFNBQVNTLGFBQUEsQ0FBYztJQUN2Q0QsUUFBUUUsWUFBQSxDQUFhLDBCQUEwQjtJQUMvQ0YsUUFBUUcsUUFBQSxHQUFXO0lBQ25CSCxRQUFRSSxLQUFBLENBQU1DLE9BQUEsR0FBVTtJQUN4QkwsUUFBUUksS0FBQSxDQUFNRSxPQUFBLEdBQVU7SUFDeEJOLFFBQVFJLEtBQUEsQ0FBTUcsUUFBQSxHQUFXO0lBQ3pCUCxRQUFRSSxLQUFBLENBQU1JLGFBQUEsR0FBZ0I7SUFDOUIsT0FBT1I7QUFDVDtBQUVBLElBQU1TLE9BQU92QiIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi4vc3JjL0ZvY3VzR3VhcmRzLnRzeD9kNThhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcblxuLyoqIE51bWJlciBvZiBjb21wb25lbnRzIHdoaWNoIGhhdmUgcmVxdWVzdGVkIGludGVyZXN0IHRvIGhhdmUgZm9jdXMgZ3VhcmRzICovXG5sZXQgY291bnQgPSAwO1xuXG5mdW5jdGlvbiBGb2N1c0d1YXJkcyhwcm9wczogYW55KSB7XG4gIHVzZUZvY3VzR3VhcmRzKCk7XG4gIHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBJbmplY3RzIGEgcGFpciBvZiBmb2N1cyBndWFyZHMgYXQgdGhlIGVkZ2VzIG9mIHRoZSB3aG9sZSBET00gdHJlZVxuICogdG8gZW5zdXJlIGBmb2N1c2luYCAmIGBmb2N1c291dGAgZXZlbnRzIGNhbiBiZSBjYXVnaHQgY29uc2lzdGVudGx5LlxuICovXG5mdW5jdGlvbiB1c2VGb2N1c0d1YXJkcygpIHtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlZGdlR3VhcmRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcmFkaXgtZm9jdXMtZ3VhcmRdJyk7XG4gICAgZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyYmVnaW4nLCBlZGdlR3VhcmRzWzBdID8/IGNyZWF0ZUZvY3VzR3VhcmQoKSk7XG4gICAgZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2JlZm9yZWVuZCcsIGVkZ2VHdWFyZHNbMV0gPz8gY3JlYXRlRm9jdXNHdWFyZCgpKTtcbiAgICBjb3VudCsrO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChjb3VudCA9PT0gMSkge1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1yYWRpeC1mb2N1cy1ndWFyZF0nKS5mb3JFYWNoKChub2RlKSA9PiBub2RlLnJlbW92ZSgpKTtcbiAgICAgIH1cbiAgICAgIGNvdW50LS07XG4gICAgfTtcbiAgfSwgW10pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGb2N1c0d1YXJkKCkge1xuICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1yYWRpeC1mb2N1cy1ndWFyZCcsICcnKTtcbiAgZWxlbWVudC50YWJJbmRleCA9IDA7XG4gIGVsZW1lbnQuc3R5bGUub3V0bGluZSA9ICdub25lJztcbiAgZWxlbWVudC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICByZXR1cm4gZWxlbWVudDtcbn1cblxuY29uc3QgUm9vdCA9IEZvY3VzR3VhcmRzO1xuXG5leHBvcnQge1xuICBGb2N1c0d1YXJkcyxcbiAgLy9cbiAgUm9vdCxcbiAgLy9cbiAgdXNlRm9jdXNHdWFyZHMsXG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY291bnQiLCJGb2N1c0d1YXJkcyIsInByb3BzIiwidXNlRm9jdXNHdWFyZHMiLCJjaGlsZHJlbiIsInVzZUVmZmVjdCIsImVkZ2VHdWFyZHMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJib2R5IiwiaW5zZXJ0QWRqYWNlbnRFbGVtZW50IiwiY3JlYXRlRm9jdXNHdWFyZCIsImZvckVhY2giLCJub2RlIiwicmVtb3ZlIiwiZWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJ0YWJJbmRleCIsInN0eWxlIiwib3V0bGluZSIsIm9wYWNpdHkiLCJwb3NpdGlvbiIsInBvaW50ZXJFdmVudHMiLCJSb290Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs":
|
|
/*!*****************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-focus-scope/dist/index.mjs ***!
|
|
\*****************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusScope: () => (/* binding */ FocusScope),\n/* harmony export */ Root: () => (/* binding */ Root)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ FocusScope,Root auto */ // packages/react/focus-scope/src/FocusScope.tsx\n\n\n\n\n\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = {\n bubbles: false,\n cancelable: true\n};\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { loop = false, trapped = false, onMountAutoFocus: onMountAutoFocusProp, onUnmountAutoFocus: onUnmountAutoFocusProp, ...scopeProps } = props;\n const [container, setContainer] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const onMountAutoFocus = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_2__.useCallbackRef)(onMountAutoFocusProp);\n const onUnmountAutoFocus = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_2__.useCallbackRef)(onUnmountAutoFocusProp);\n const lastFocusedElementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_3__.useComposedRefs)(forwardedRef, (node)=>setContainer(node));\n const focusScope = react__WEBPACK_IMPORTED_MODULE_0__.useRef({\n paused: false,\n pause () {\n this.paused = true;\n },\n resume () {\n this.paused = false;\n }\n }).current;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, {\n select: true\n });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, {\n select: true\n });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations){\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, {\n childList: true,\n subtree: true\n });\n return ()=>{\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [\n trapped,\n container,\n focusScope.paused\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), {\n select: true\n });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return ()=>{\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(()=>{\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, {\n select: true\n });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [\n container,\n onMountAutoFocus,\n onUnmountAutoFocus,\n focusScope\n ]);\n const handleKeyDown = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((event)=>{\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, {\n select: true\n });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, {\n select: true\n });\n }\n }\n }\n }, [\n loop,\n trapped,\n focusScope.paused\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__.Primitive.div, {\n tabIndex: -1,\n ...scopeProps,\n ref: composedRefs,\n onKeyDown: handleKeyDown\n });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates){\n focus(candidate, {\n select\n });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [\n first,\n last\n ];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node)=>{\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while(walker.nextNode())nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements){\n if (!isHidden(element, {\n upTo: container\n })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while(node){\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({\n preventScroll: true\n });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select) element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add (focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove (focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [\n ...array\n ];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item)=>item.tagName !== \"A\");\n}\nvar Root = FocusScope;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWZvY3VzLXNjb3BlL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQXVCO0FBQ1M7QUFDTjtBQUNLO0FBd00zQjtBQXRNSixJQUFNSyxxQkFBcUI7QUFDM0IsSUFBTUMsdUJBQXVCO0FBQzdCLElBQU1DLGdCQUFnQjtJQUFFQyxTQUFTO0lBQU9DLFlBQVk7QUFBSztBQVF6RCxJQUFNQyxtQkFBbUI7QUFnQ3pCLElBQU1DLDJCQUFtQlgsNkNBQUEsQ0FBK0MsQ0FBQ2EsT0FBT0M7SUFDOUUsTUFBTSxFQUNKQyxPQUFPLE9BQ1BDLFVBQVUsT0FDVkMsa0JBQWtCQyxvQkFBQSxFQUNsQkMsb0JBQW9CQyxzQkFBQSxFQUNwQixHQUFHQyxZQUNMLEdBQUlSO0lBQ0osTUFBTSxDQUFDUyxXQUFXQyxhQUFZLEdBQVV2QiwyQ0FBQSxDQUE2QjtJQUNyRSxNQUFNaUIsbUJBQW1CZCxnRkFBY0EsQ0FBQ2U7SUFDeEMsTUFBTUMscUJBQXFCaEIsZ0ZBQWNBLENBQUNpQjtJQUMxQyxNQUFNSyx3QkFBOEJ6Qix5Q0FBQSxDQUEyQjtJQUMvRCxNQUFNMkIsZUFBZTFCLDZFQUFlQSxDQUFDYSxjQUFjLENBQUNjLE9BQVNMLGFBQWFLO0lBRTFFLE1BQU1DLGFBQW1CN0IseUNBQUEsQ0FBTztRQUM5QjhCLFFBQVE7UUFDUkM7WUFDRSxLQUFLRCxNQUFBLEdBQVM7UUFDaEI7UUFDQUU7WUFDRSxLQUFLRixNQUFBLEdBQVM7UUFDaEI7SUFDRixHQUFHRyxPQUFBO0lBR0dqQyw0Q0FBQSxDQUFVO1FBQ2QsSUFBSWdCLFNBQVM7WUFDWCxJQUFTbUIsaUJBQVQsU0FBdUJDLEtBQUE7Z0JBQ3JCLElBQUlQLFdBQVdDLE1BQUEsSUFBVSxDQUFDUixXQUFXO2dCQUNyQyxNQUFNZSxTQUFTRCxNQUFNQyxNQUFBO2dCQUNyQixJQUFJZixVQUFVZ0IsUUFBQSxDQUFTRCxTQUFTO29CQUM5Qlosc0JBQXNCUSxP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QUM3QjtJQUNBLE9BQU9EO0FBQ1Q7QUFFQSxTQUFTOUQsWUFBWWtFLEtBQUE7SUFDbkIsT0FBT0EsTUFBTUMsTUFBQSxDQUFPLENBQUNOLE9BQVNBLEtBQUsxQixPQUFBLEtBQVk7QUFDakQ7QUFFQSxJQUFNaUMsT0FBTzlIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uLi9zcmMvRm9jdXNTY29wZS50c3g/YjMwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtdXNlLWNhbGxiYWNrLXJlZic7XG5cbmNvbnN0IEFVVE9GT0NVU19PTl9NT1VOVCA9ICdmb2N1c1Njb3BlLmF1dG9Gb2N1c09uTW91bnQnO1xuY29uc3QgQVVUT0ZPQ1VTX09OX1VOTU9VTlQgPSAnZm9jdXNTY29wZS5hdXRvRm9jdXNPblVubW91bnQnO1xuY29uc3QgRVZFTlRfT1BUSU9OUyA9IHsgYnViYmxlczogZmFsc2UsIGNhbmNlbGFibGU6IHRydWUgfTtcblxudHlwZSBGb2N1c2FibGVUYXJnZXQgPSBIVE1MRWxlbWVudCB8IHsgZm9jdXMoKTogdm9pZCB9O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBGb2N1c1Njb3BlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IEZPQ1VTX1NDT1BFX05BTUUgPSAnRm9jdXNTY29wZSc7XG5cbnR5cGUgRm9jdXNTY29wZUVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbnR5cGUgUHJpbWl0aXZlRGl2UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIEZvY3VzU2NvcGVQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHtcbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCB0YWJiaW5nIGZyb20gbGFzdCBpdGVtIHdpbGwgZm9jdXMgZmlyc3QgdGFiYmFibGVcbiAgICogYW5kIHNoaWZ0K3RhYiBmcm9tIGZpcnN0IGl0ZW0gd2lsbCBmb2N1cyBsYXN0IHRhYmFiYmxlLlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICBsb29wPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIGZvY3VzIGNhbm5vdCBlc2NhcGUgdGhlIGZvY3VzIHNjb3BlIHZpYSBrZXlib2FyZCxcbiAgICogcG9pbnRlciwgb3IgYSBwcm9ncmFtbWF0aWMgZm9jdXMuXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHRyYXBwZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIGF1dG8tZm9jdXNpbmcgb24gbW91bnQuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvbk1vdW50QXV0b0ZvY3VzPzogKGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiBhdXRvLWZvY3VzaW5nIG9uIHVubW91bnQuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvblVubW91bnRBdXRvRm9jdXM/OiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkO1xufVxuXG5jb25zdCBGb2N1c1Njb3BlID0gUmVhY3QuZm9yd2FyZFJlZjxGb2N1c1Njb3BlRWxlbWVudCwgRm9jdXNTY29wZVByb3BzPigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgbG9vcCA9IGZhbHNlLFxuICAgIHRyYXBwZWQgPSBmYWxzZSxcbiAgICBvbk1vdW50QXV0b0ZvY3VzOiBvbk1vdW50QXV0b0ZvY3VzUHJvcCxcbiAgICBvblVubW91bnRBdXRvRm9jdXM6IG9uVW5tb3VudEF1dG9Gb2N1c1Byb3AsXG4gICAgLi4uc2NvcGVQcm9wc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtjb250YWluZXIsIHNldENvbnRhaW5lcl0gPSBSZWFjdC51c2VTdGF0ZTxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBvbk1vdW50QXV0b0ZvY3VzID0gdXNlQ2FsbGJhY2tSZWYob25Nb3VudEF1dG9Gb2N1c1Byb3ApO1xuICBjb25zdCBvblVubW91bnRBdXRvRm9jdXMgPSB1c2VDYWxsYmFja1JlZihvblVubW91bnRBdXRvRm9jdXNQcm9wKTtcbiAgY29uc3QgbGFzdEZvY3VzZWRFbGVtZW50UmVmID0gUmVhY3QudXNlUmVmPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRDb250YWluZXIobm9kZSkpO1xuXG4gIGNvbnN0IGZvY3VzU2NvcGUgPSBSZWFjdC51c2VSZWYoe1xuICAgIHBhdXNlZDogZmFsc2UsXG4gICAgcGF1c2UoKSB7XG4gICAgICB0aGlzLnBhdXNlZCA9IHRydWU7XG4gICAgfSxcbiAgICByZXN1bWUoKSB7XG4gICAgICB0aGlzLnBhdXNlZCA9IGZhbHNlO1xuICAgIH0sXG4gIH0pLmN1cnJlbnQ7XG5cbiAgLy8gVGFrZXMgY2FyZSBvZiB0cmFwcGluZyBmb2N1cyBpZiBmb2N1cyBpcyBtb3ZlZCBvdXRzaWRlIHByb2dyYW1tYXRpY2FsbHkgZm9yIGV4YW1wbGVcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHJhcHBlZCkge1xuICAgICAgZnVuY3Rpb24gaGFuZGxlRm9jdXNJbihldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICBpZiAoZm9jdXNTY29wZS5wYXVzZWQgfHwgIWNvbnRhaW5lcikgcmV0dXJuO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBpZiAoY29udGFpbmVyLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICBsYXN0Rm9jdXNlZEVsZW1lbnRSZWYuY3VycmVudCA9IHRhcmdldDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb2N1cyhsYXN0Rm9jdXNlZEVsZW1lbnRSZWYuY3VycmVudCwgeyBzZWxlY3Q6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaGFuZGxlRm9jdXNPdXQoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgaWYgKGZvY3VzU2NvcGUucGF1c2VkIHx8ICFjb250YWluZXIpIHJldHVybjtcbiAgICAgICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgICAgIC8vIEEgYGZvY3Vzb3V0YCBldmVudCB3aXRoIGEgYG51bGxgIGByZWxhdGVkVGFyZ2V0YCB3aWxsIGhhcHBlbiBpbiBhdCBsZWFzdCB0d28gY2FzZXM6XG4gICAgICAgIC8vXG4gICAgICAgIC8vIDEuIFdoZW4gdGhlIHVzZXIgc3dpdGNoZXMgYXBwL3RhYnMvd2luZG93cy90aGUgYnJvd3NlciBpdHNlbGYgbG9zZXMgZm9jdXMuXG4gICAgICAgIC8vIDIuIEluIEdvb2dsZSBDaHJvbWUsIHdoZW4gdGhlIGZvY3VzZWQgZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gV2UgbGV0IHRoZSBicm93c2VyIGRvIGl0cyB0aGluZyBoZXJlIGJlY2F1c2U6XG4gICAgICAgIC8vXG4gICAgICAgIC8vIDEuIFRoZSBicm93c2VyIGFscmVhZHkga2VlcHMgYSBtZW1vcnkgb2Ygd2hhdCdzIGZvY3VzZWQgZm9yIHdoZW4gdGhlIHBhZ2UgZ2V0cyByZWZvY3VzZWQuXG4gICAgICAgIC8vIDIuIEluIEdvb2dsZSBDaHJvbWUsIGlmIHdlIHRyeSB0byBmb2N1cyB0aGUgZGVsZXRlZCBmb2N1c2VkIGVsZW1lbnQgKGFzIHBlciBiZWxvdyksIGl0XG4gICAgICAgIC8vICAgIHRocm93cyB0aGUgQ1BVIHRvIDEwMCUsIHNvIHdlIGF2b2lkIGRvaW5nIGFueXRoaW5nIGZvciB0aGlzIHJlYXNvbiBoZXJlIHRvby5cbiAgICAgICAgaWYgKHJlbGF0ZWRUYXJnZXQgPT09IG51bGwpIHJldHVybjtcblxuICAgICAgICAvLyBJZiB0aGUgZm9jdXMgaGFzIG1vdmVkIHRvIGFuIGFjdHVhbCBsZWdpdGltYXRlIGVsZW1lbnQgKGByZWxhdGVkVGFyZ2V0ICE9PSBudWxsYClcbiAgICAgICAgLy8gdGhhdCBpcyBvdXRzaWRlIHRoZSBjb250YWluZXIsIHdlIG1vdmUgZm9jdXMgdG8gdGhlIGxhc3QgdmFsaWQgZm9jdXNlZCBlbGVtZW50IGluc2lkZS5cbiAgICAgICAgaWYgKCFjb250YWluZXIuY29udGFpbnMocmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICBmb2N1cyhsYXN0Rm9jdXNlZEVsZW1lbnRSZWYuY3VycmVudCwgeyBzZWxlY3Q6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiB0aGUgZm9jdXNlZCBlbGVtZW50IGdldHMgcmVtb3ZlZCBmcm9tIHRoZSBET00sIGJyb3dzZXJzIG1vdmUgZm9jdXNcbiAgICAgIC8vIGJhY2sgdG8gdGhlIGRvY3VtZW50LmJvZHkuIEluIHRoaXMgY2FzZSwgd2UgbW92ZSBmb2N1cyB0byB0aGUgY29udGFpbmVyXG4gICAgICAvLyB0byBrZWVwIGZvY3VzIHRyYXBwZWQgY29ycmVjdGx5LlxuICAgICAgZnVuY3Rpb24gaGFuZGxlTXV0YXRpb25zKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkge1xuICAgICAgICBjb25zdCBmb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBpZiAoZm9jdXNlZEVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkpIHJldHVybjtcbiAgICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgICBpZiAobXV0YXRpb24ucmVtb3ZlZE5vZGVzLmxlbmd0aCA+IDApIGZvY3VzKGNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGhhbmRsZUZvY3VzSW4pO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBoYW5kbGVGb2N1c091dCk7XG4gICAgICBjb25zdCBtdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoaGFuZGxlTXV0YXRpb25zKTtcbiAgICAgIGlmIChjb250YWluZXIpIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c2luJywgaGFuZGxlRm9jdXNJbik7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgaGFuZGxlRm9jdXNPdXQpO1xuICAgICAgICBtdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH07XG4gICAgfVxuICB9LCBbdHJhcHBlZCwgY29udGFpbmVyLCBmb2N1c1Njb3BlLnBhdXNlZF0pO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgZm9jdXNTY29wZXNTdGFjay5hZGQoZm9jdXNTY29wZSk7XG4gICAgICBjb25zdCBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICAgIGNvbnN0IGhhc0ZvY3VzZWRDYW5kaWRhdGUgPSBjb250YWluZXIuY29udGFpbnMocHJldmlvdXNseUZvY3VzZWRFbGVtZW50KTtcblxuICAgICAgaWYgKCFoYXNGb2N1c2VkQ2FuZGlkYXRlKSB7XG4gICAgICAgIGNvbnN0IG1vdW50RXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoQVVUT0ZPQ1VTX09OX01PVU5ULCBFVkVOVF9PUFRJT05TKTtcbiAgICAgICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoQVVUT0ZPQ1VTX09OX01PVU5ULCBvbk1vdW50QXV0b0ZvY3VzKTtcbiAgICAgICAgY29udGFpbmVyLmRpc3BhdGNoRXZlbnQobW91bnRFdmVudCk7XG4gICAgICAgIGlmICghbW91bnRFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgZm9jdXNGaXJzdChyZW1vdmVMaW5rcyhnZXRUYWJiYWJsZUNhbmRpZGF0ZXMoY29udGFpbmVyKSksIHsgc2VsZWN0OiB0cnVlIH0pO1xuICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGZvY3VzKGNvbnRhaW5lcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKEFVVE9GT0NVU19PTl9NT1VOVCwgb25Nb3VudEF1dG9Gb2N1cyk7XG5cbiAgICAgICAgLy8gV2UgaGl0IGEgcmVhY3QgYnVnIChmaXhlZCBpbiB2MTcpIHdpdGggZm9jdXNpbmcgaW4gdW5tb3VudC5cbiAgICAgICAgLy8gV2UgbmVlZCB0byBkZWxheSB0aGUgZm9jdXMgYSBsaXR0bGUgdG8gZ2V0IGFyb3VuZCBpdCBmb3Igbm93LlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTc4OTRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdW5tb3VudEV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KEFVVE9GT0NVU19PTl9VTk1PVU5ULCBFVkVOVF9PUFRJT05TKTtcbiAgICAgICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihBVVRPRk9DVVNfT05fVU5NT1VOVCwgb25Vbm1vdW50QXV0b0ZvY3VzKTtcbiAgICAgICAgICBjb250YWluZXIuZGlzcGF0Y2hFdmVudCh1bm1vdW50RXZlbnQpO1xuICAgICAgICAgIGlmICghdW5tb3VudEV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIGZvY3VzKHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA/PyBkb2N1bWVudC5ib2R5LCB7IHNlbGVjdDogdHJ1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxpc3RlbmVyIGFmdGVyIHdlIGBkaXNwYXRjaEV2ZW50YFxuICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKEFVVE9GT0NVU19PTl9VTk1PVU5ULCBvblVubW91bnRBdXRvRm9jdXMpO1xuXG4gICAgICAgICAgZm9jdXNTY29wZXNTdGFjay5yZW1vdmUoZm9jdXNTY29wZSk7XG4gICAgICAgIH0sIDApO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtjb250YWluZXIsIG9uTW91bnRBdXRvRm9jdXMsIG9uVW5tb3VudEF1dG9Gb2N1cywgZm9jdXNTY29wZV0pO1xuXG4gIC8vIFRha2VzIGNhcmUgb2YgbG9vcGluZyBmb2N1cyAod2hlbiB0YWJiaW5nIHdoaWxzdCBhdCB0aGUgZWRnZXMpXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmICghbG9vcCAmJiAhdHJhcHBlZCkgcmV0dXJuO1xuICAgICAgaWYgKGZvY3VzU2NvcGUucGF1c2VkKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGlzVGFiS2V5ID0gZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5jdHJsS2V5ICYmICFldmVudC5tZXRhS2V5O1xuICAgICAgY29uc3QgZm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgICAgaWYgKGlzVGFiS2V5ICYmIGZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IFtmaXJzdCwgbGFzdF0gPSBnZXRUYWJiYWJsZUVkZ2VzKGNvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGhhc1RhYmJhYmxlRWxlbWVudHNJbnNpZGUgPSBmaXJzdCAmJiBsYXN0O1xuXG4gICAgICAgIC8vIHdlIGNhbiBvbmx5IHdyYXAgZm9jdXMgaWYgd2UgaGF2ZSB0YWJiYWJsZSBlZGdlc1xuICAgICAgICBpZiAoIWhhc1RhYmJhYmxlRWxlbWVudHNJbnNpZGUpIHtcbiAgICAgICAgICBpZiAoZm9jdXNlZEVsZW1lbnQgPT09IGNvbnRhaW5lcikgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5ICYmIGZvY3VzZWRFbGVtZW50ID09PSBsYXN0KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKGxvb3ApIGZvY3VzKGZpcnN0LCB7IHNlbGVjdDogdHJ1ZSB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5ICYmIGZvY3VzZWRFbGVtZW50ID09PSBmaXJzdCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChsb29wKSBmb2N1cyhsYXN0LCB7IHNlbGVjdDogdHJ1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtsb29wLCB0cmFwcGVkLCBmb2N1c1Njb3BlLnBhdXNlZF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxQcmltaXRpdmUuZGl2IHRhYkluZGV4PXstMX0gey4uLnNjb3BlUHJvcHN9IHJlZj17Y29tcG9zZWRSZWZzfSBvbktleURvd249e2hhbmRsZUtleURvd259IC8+XG4gICk7XG59KTtcblxuRm9jdXNTY29wZS5kaXNwbGF5TmFtZSA9IEZPQ1VTX1NDT1BFX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFV0aWxzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogQXR0ZW1wdHMgZm9jdXNpbmcgdGhlIGZpcnN0IGVsZW1lbnQgaW4gYSBsaXN0IG9mIGNhbmRpZGF0ZXMuXG4gKiBTdG9wcyB3aGVuIGZvY3VzIGhhcyBhY3R1YWxseSBtb3ZlZC5cbiAqL1xuZnVuY3Rpb24gZm9jdXNGaXJzdChjYW5kaWRhdGVzOiBIVE1MRWxlbWVudFtdLCB7IHNlbGVjdCA9IGZhbHNlIH0gPSB7fSkge1xuICBjb25zdCBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgZm9jdXMoY2FuZGlkYXRlLCB7IHNlbGVjdCB9KTtcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gcHJldmlvdXNseUZvY3VzZWRFbGVtZW50KSByZXR1cm47XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBhbmQgbGFzdCB0YWJiYWJsZSBlbGVtZW50cyBpbnNpZGUgYSBjb250YWluZXIuXG4gKi9cbmZ1bmN0aW9uIGdldFRhYmJhYmxlRWRnZXMoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICBjb25zdCBjYW5kaWRhdGVzID0gZ2V0VGFiYmFibGVDYW5kaWRhdGVzKGNvbnRhaW5lcik7XG4gIGNvbnN0IGZpcnN0ID0gZmluZFZpc2libGUoY2FuZGlkYXRlcywgY29udGFpbmVyKTtcbiAgY29uc3QgbGFzdCA9IGZpbmRWaXNpYmxlKGNhbmRpZGF0ZXMucmV2ZXJzZSgpLCBjb250YWluZXIpO1xuICByZXR1cm4gW2ZpcnN0LCBsYXN0XSBhcyBjb25zdDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBwb3RlbnRpYWwgdGFiYmFibGUgY2FuZGlkYXRlcy5cbiAqXG4gKiBOT1RFOiBUaGlzIGlzIG9ubHkgYSBjbG9zZSBhcHByb3hpbWF0aW9uLiBGb3IgZXhhbXBsZSBpdCBkb2Vzbid0IHRha2UgaW50byBhY2NvdW50IGNhc2VzIGxpa2Ugd2hlblxuICogZWxlbWVudHMgYXJlIG5vdCB2aXNpYmxlLiBUaGlzIGNhbm5vdCBiZSB3b3JrZWQgb3V0IGVhc2lseSBieSBqdXN0IHJlYWRpbmcgYSBwcm9wZXJ0eSwgYnV0IHJhdGhlclxuICogbmVjZXNzaXRhdGUgcnVudGltZSBrbm93bGVkZ2UgKGNvbXB1dGVkIHN0eWxlcywgZXRjKS4gV2UgZGVhbCB3aXRoIHRoZXNlIGNhc2VzIHNlcGFyYXRlbHkuXG4gKlxuICogU2VlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvVHJlZVdhbGtlclxuICogQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vZGlzY29yZC9mb2N1cy1sYXllcnMvYmxvYi9tYXN0ZXIvc3JjL3V0aWwvd3JhcEZvY3VzLnRzeCNMMVxuICovXG5mdW5jdGlvbiBnZXRUYWJiYWJsZUNhbmRpZGF0ZXMoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICBjb25zdCBub2RlczogSFRNTEVsZW1lbnRbXSA9IFtdO1xuICBjb25zdCB3YWxrZXIgPSBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGNvbnRhaW5lciwgTm9kZUZpbHRlci5TSE9XX0VMRU1FTlQsIHtcbiAgICBhY2NlcHROb2RlOiAobm9kZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc0hpZGRlbklucHV0ID0gbm9kZS50YWdOYW1lID09PSAnSU5QVVQnICYmIG5vZGUudHlwZSA9PT0gJ2hpZGRlbic7XG4gICAgICBpZiAobm9kZS5kaXNhYmxlZCB8fCBub2RlLmhpZGRlbiB8fCBpc0hpZGRlbklucHV0KSByZXR1cm4gTm9kZUZpbHRlci5GSUxURVJfU0tJUDtcbiAgICAgIC8vIGAudGFiSW5kZXhgIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgYHRhYmluZGV4YCBhdHRyaWJ1dGUuIEl0IHdvcmtzIG9uIHRoZVxuICAgICAgLy8gcnVudGltZSdzIHVuZGVyc3RhbmRpbmcgb2YgdGFiYmFiaWxpdHksIHNvIHRoaXMgYXV0b21hdGljYWxseSBhY2NvdW50c1xuICAgICAgLy8gZm9yIGFueSBraW5kIG9mIGVsZW1lbnQgdGhhdCBjb3VsZCBiZSB0YWJiZWQgdG8uXG4gICAgICByZXR1cm4gbm9kZS50YWJJbmRleCA+PSAwID8gTm9kZUZpbHRlci5GSUxURVJfQUNDRVBUIDogTm9kZUZpbHRlci5GSUxURVJfU0tJUDtcbiAgICB9LFxuICB9KTtcbiAgd2hpbGUgKHdhbGtlci5uZXh0Tm9kZSgpKSBub2Rlcy5wdXNoKHdhbGtlci5jdXJyZW50Tm9kZSBhcyBIVE1MRWxlbWVudCk7XG4gIC8vIHdlIGRvIG5vdCB0YWtlIGludG8gYWNjb3VudCB0aGUgb3JkZXIgb2Ygbm9kZXMgd2l0aCBwb3NpdGl2ZSBgdGFiSW5kZXhgIGFzIGl0XG4gIC8vIGhpbmRlcnMgYWNjZXNzaWJpbGl0eSB0byBoYXZlIHRhYiBvcmRlciBkaWZmZXJlbnQgZnJvbSB2aXN1YWwgb3JkZXIuXG4gIHJldHVybiBub2Rlcztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCB2aXNpYmxlIGVsZW1lbnQgaW4gYSBsaXN0LlxuICogTk9URTogT25seSBjaGVja3MgdmlzaWJpbGl0eSB1cCB0byB0aGUgYGNvbnRhaW5lcmAuXG4gKi9cbmZ1bmN0aW9uIGZpbmRWaXNpYmxlKGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdLCBjb250YWluZXI6IEhUTUxFbGVtZW50KSB7XG4gIGZvciAoY29uc3QgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgIC8vIHdlIHN0b3AgY2hlY2tpbmcgaWYgaXQncyBoaWRkZW4gYXQgdGhlIGBjb250YWluZXJgIGxldmVsIChleGNsdWRpbmcpXG4gICAgaWYgKCFpc0hpZGRlbihlbGVtZW50LCB7IHVwVG86IGNvbnRhaW5lciB9KSkgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNIaWRkZW4obm9kZTogSFRNTEVsZW1lbnQsIHsgdXBUbyB9OiB7IHVwVG8/OiBIVE1MRWxlbWVudCB9KSB7XG4gIGlmIChnZXRDb21wdXRlZFN0eWxlKG5vZGUpLnZpc2liaWxpdHkgPT09ICdoaWRkZW4nKSByZXR1cm4gdHJ1ZTtcbiAgd2hpbGUgKG5vZGUpIHtcbiAgICAvLyB3ZSBzdG9wIGF0IGB1cFRvYCAoZXhjbHVkaW5nIGl0KVxuICAgIGlmICh1cFRvICE9PSB1bmRlZmluZWQgJiYgbm9kZSA9PT0gdXBUbykgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChnZXRDb21wdXRlZFN0eWxlKG5vZGUpLmRpc3BsYXkgPT09ICdub25lJykgcmV0dXJuIHRydWU7XG4gICAgbm9kZSA9IG5vZGUucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGlzU2VsZWN0YWJsZUlucHV0KGVsZW1lbnQ6IGFueSk6IGVsZW1lbnQgaXMgRm9jdXNhYmxlVGFyZ2V0ICYgeyBzZWxlY3Q6ICgpID0+IHZvaWQgfSB7XG4gIHJldHVybiBlbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCAmJiAnc2VsZWN0JyBpbiBlbGVtZW50O1xufVxuXG5mdW5jdGlvbiBmb2N1cyhlbGVtZW50PzogRm9jdXNhYmxlVGFyZ2V0IHwgbnVsbCwgeyBzZWxlY3QgPSBmYWxzZSB9ID0ge30pIHtcbiAgLy8gb25seSBmb2N1cyBpZiB0aGF0IGVsZW1lbnQgaXMgZm9jdXNhYmxlXG4gIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuZm9jdXMpIHtcbiAgICBjb25zdCBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIC8vIE5PVEU6IHdlIHByZXZlbnQgc2Nyb2xsaW5nIG9uIGZvY3VzLCB0byBtaW5pbWl6ZSBqYXJyaW5nIHRyYW5zaXRpb25zIGZvciB1c2Vyc1xuICAgIGVsZW1lbnQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIC8vIG9ubHkgc2VsZWN0IGlmIGl0cyBub3QgdGhlIHNhbWUgZWxlbWVudCwgaXQgc3VwcG9ydHMgc2VsZWN0aW9uIGFuZCB3ZSBuZWVkIHRvIHNlbGVjdFxuICAgIGlmIChlbGVtZW50ICE9PSBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgaXNTZWxlY3RhYmxlSW5wdXQoZWxlbWVudCkgJiYgc2VsZWN0KVxuICAgICAgZWxlbWVudC5zZWxlY3QoKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBGb2N1c1Njb3BlIHN0YWNrXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgRm9jdXNTY29wZUFQSSA9IHsgcGF1c2VkOiBib29sZWFuOyBwYXVzZSgpOiB2b2lkOyByZXN1bWUoKTogdm9pZCB9O1xuY29uc3QgZm9jdXNTY29wZXNTdGFjayA9IGNyZWF0ZUZvY3VzU2NvcGVzU3RhY2soKTtcblxuZnVuY3Rpb24gY3JlYXRlRm9jdXNTY29wZXNTdGFjaygpIHtcbiAgLyoqIEEgc3RhY2sgb2YgZm9jdXMgc2NvcGVzLCB3aXRoIHRoZSBhY3RpdmUgb25lIGF0IHRoZSB0b3AgKi9cbiAgbGV0IHN0YWNrOiBGb2N1c1Njb3BlQVBJW10gPSBbXTtcblxuICByZXR1cm4ge1xuICAgIGFkZChmb2N1c1Njb3BlOiBGb2N1c1Njb3BlQVBJKSB7XG4gICAgICAvLyBwYXVzZSB0aGUgY3VycmVudGx5IGFjdGl2ZSBmb2N1cyBzY29wZSAoYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2spXG4gICAgICBjb25zdCBhY3RpdmVGb2N1c1Njb3BlID0gc3RhY2tbMF07XG4gICAgICBpZiAoZm9jdXNTY29wZSAhPT0gYWN0aXZlRm9jdXNTY29wZSkge1xuICAgICAgICBhY3RpdmVGb2N1c1Njb3BlPy5wYXVzZSgpO1xuICAgICAgfVxuICAgICAgLy8gcmVtb3ZlIGluIGNhc2UgaXQgYWxyZWFkeSBleGlzdHMgKGJlY2F1c2Ugd2UnbGwgcmUtYWRkIGl0IGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrKVxuICAgICAgc3RhY2sgPSBhcnJheVJlbW92ZShzdGFjaywgZm9jdXNTY29wZSk7XG4gICAgICBzdGFjay51bnNoaWZ0KGZvY3VzU2NvcGUpO1xuICAgIH0sXG5cbiAgICByZW1vdmUoZm9jdXNTY29wZTogRm9jdXNTY29wZUFQSSkge1xuICAgICAgc3RhY2sgPSBhcnJheVJlbW92ZShzdGFjaywgZm9jdXNTY29wZSk7XG4gICAgICBzdGFja1swXT8ucmVzdW1lKCk7XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYXJyYXlSZW1vdmU8VD4oYXJyYXk6IFRbXSwgaXRlbTogVCkge1xuICBjb25zdCB1cGRhdGVkQXJyYXkgPSBbLi4uYXJyYXldO1xuICBjb25zdCBpbmRleCA9IHVwZGF0ZWRBcnJheS5pbmRleE9mKGl0ZW0pO1xuICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgdXBkYXRlZEFycmF5LnNwbGljZShpbmRleCwgMSk7XG4gIH1cbiAgcmV0dXJuIHVwZGF0ZWRBcnJheTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTGlua3MoaXRlbXM6IEhUTUxFbGVtZW50W10pIHtcbiAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS50YWdOYW1lICE9PSAnQScpO1xufVxuXG5jb25zdCBSb290ID0gRm9jdXNTY29wZTtcblxuZXhwb3J0IHtcbiAgRm9jdXNTY29wZSxcbiAgLy9cbiAgUm9vdCxcbn07XG5leHBvcnQgdHlwZSB7IEZvY3VzU2NvcGVQcm9wcyB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlQ29tcG9zZWRSZWZzIiwiUHJpbWl0aXZlIiwidXNlQ2FsbGJhY2tSZWYiLCJqc3giLCJBVVRPRk9DVVNfT05fTU9VTlQiLCJBVVRPRk9DVVNfT05fVU5NT1VOVCIsIkVWRU5UX09QVElPTlMiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsIkZPQ1VTX1NDT1BFX05BTUUiLCJGb2N1c1Njb3BlIiwiZm9yd2FyZFJlZiIsInByb3BzIiwiZm9yd2FyZGVkUmVmIiwibG9vcCIsInRyYXBwZWQiLCJvbk1vdW50QXV0b0ZvY3VzIiwib25Nb3VudEF1dG9Gb2N1c1Byb3AiLCJvblVubW91bnRBdXRvRm9jdXMiLCJvblVubW91bnRBdXRvRm9jdXNQcm9wIiwic2NvcGVQcm9wcyIsImNvbnRhaW5lciIsInNldENvbnRhaW5lciIsInVzZVN0YXRlIiwibGFzdEZvY3VzZWRFbGVtZW50UmVmIiwidXNlUmVmIiwiY29tcG9zZWRSZWZzIiwibm9kZSIsImZvY3VzU2NvcGUiLCJwYXVzZWQiLCJwYXVzZSIsInJlc3VtZSIsImN1cnJlbnQiLCJ1c2VFZmZlY3QiLCJoYW5kbGVGb2N1c0luIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImZvY3VzIiwic2VsZWN0IiwiaGFuZGxlRm9jdXNPdXQiLCJyZWxhdGVkVGFyZ2V0IiwiaGFuZGxlTXV0YXRpb25zIiwibXV0YXRpb25zIiwiZm9jdXNlZEVsZW1lbnQiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJib2R5IiwibXV0YXRpb24iLCJyZW1vdmVkTm9kZXMiLCJsZW5ndGgiLCJhZGRFdmVudExpc3RlbmVyIiwibXV0YXRpb25PYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkaXNjb25uZWN0IiwiZm9jdXNTY29wZXNTdGFjayIsImFkZCIsInByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCIsImhhc0ZvY3VzZWRDYW5kaWRhdGUiLCJtb3VudEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiZGVmYXVsdFByZXZlbnRlZCIsImZvY3VzRmlyc3QiLCJyZW1vdmVMaW5rcyIsImdldFRhYmJhYmxlQ2FuZGlkYXRlcyIsInNldFRpbWVvdXQiLCJ1bm1vdW50RXZlbnQiLCJyZW1vdmUiLCJoYW5kbGVLZXlEb3duIiwidXNlQ2FsbGJhY2siLCJpc1RhYktleSIsImtleSIsImFsdEtleSIsImN0cmxLZXkiLCJtZXRhS2V5IiwiY3VycmVudFRhcmdldCIsImZpcnN0IiwibGFzdCIsImdldFRhYmJhYmxlRWRnZXMiLCJoYXNUYWJiYWJsZUVsZW1lbnRzSW5zaWRlIiwicHJldmVudERlZmF1bHQiLCJzaGlmdEtleSIsImRpdiIsInRhYkluZGV4IiwicmVmIiwib25LZXlEb3duIiwiZGlzcGxheU5hbWUiLCJjYW5kaWRhdGVzIiwiY2FuZGlkYXRlIiwiZmluZFZpc2libGUiLCJyZXZlcnNlIiwibm9kZXMiLCJ3YWxrZXIiLCJjcmVhdGVUcmVlV2Fsa2VyIiwiTm9kZUZpbHRlciIsIlNIT1dfRUxFTUVOVCIsImFjY2VwdE5vZGUiLCJpc0hpZGRlbklucHV0IiwidGFnTmFtZSIsInR5cGUiLCJkaXNhYmxlZCIsImhpZGRlbiIsIkZJTFRFUl9TS0lQIiwiRklMVEVSX0FDQ0VQVCIsIm5leHROb2RlIiwicHVzaCIsImN1cnJlbnROb2RlIiwiZWxlbWVudHMiLCJlbGVtZW50IiwiaXNIaWRkZW4iLCJ1cFRvIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInZpc2liaWxpdHkiLCJkaXNwbGF5IiwicGFyZW50RWxlbWVudCIsImlzU2VsZWN0YWJsZUlucHV0IiwiSFRNTElucHV0RWxlbWVudCIsInByZXZlbnRTY3JvbGwiLCJjcmVhdGVGb2N1c1Njb3Blc1N0YWNrIiwic3RhY2siLCJhY3RpdmVGb2N1c1Njb3BlIiwiYXJyYXlSZW1vdmUiLCJ1bnNoaWZ0IiwiYXJyYXkiLCJpdGVtIiwidXBkYXRlZEFycmF5IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwiaXRlbXMiLCJmaWx0ZXIiLCJSb290Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs":
|
|
/*!********************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-id/dist/index.mjs ***!
|
|
\********************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("var react__WEBPACK_IMPORTED_MODULE_0___namespace_cache;\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useId: () => (/* binding */ useId)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n// packages/react/id/src/id.tsx\n\n\nvar useReactId = /*#__PURE__*/ (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache || (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache = __webpack_require__.t(react__WEBPACK_IMPORTED_MODULE_0__, 2)))[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = react__WEBPACK_IMPORTED_MODULE_0__.useState(useReactId());\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWlkL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMrQjtBQUNxQztBQUNwRSxpQkFBaUIseUxBQUs7QUFDdEI7QUFDQTtBQUNBLHNCQUFzQiwyQ0FBYztBQUNwQyxFQUFFLGtGQUFlO0FBQ2pCO0FBQ0EsR0FBRztBQUNILDJDQUEyQyxHQUFHO0FBQzlDO0FBR0U7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWlkL2Rpc3QvaW5kZXgubWpzPzAzY2MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvaWQvc3JjL2lkLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0XCI7XG52YXIgdXNlUmVhY3RJZCA9IFJlYWN0W1widXNlSWRcIi50b1N0cmluZygpXSB8fCAoKCkgPT4gdm9pZCAwKTtcbnZhciBjb3VudCA9IDA7XG5mdW5jdGlvbiB1c2VJZChkZXRlcm1pbmlzdGljSWQpIHtcbiAgY29uc3QgW2lkLCBzZXRJZF0gPSBSZWFjdC51c2VTdGF0ZSh1c2VSZWFjdElkKCkpO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGV0ZXJtaW5pc3RpY0lkKSBzZXRJZCgocmVhY3RJZCkgPT4gcmVhY3RJZCA/PyBTdHJpbmcoY291bnQrKykpO1xuICB9LCBbZGV0ZXJtaW5pc3RpY0lkXSk7XG4gIHJldHVybiBkZXRlcm1pbmlzdGljSWQgfHwgKGlkID8gYHJhZGl4LSR7aWR9YCA6IFwiXCIpO1xufVxuZXhwb3J0IHtcbiAgdXNlSWRcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-navigation-menu/dist/index.mjs":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-navigation-menu/dist/index.mjs ***!
|
|
\*********************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Content: () => (/* binding */ Content),\n/* harmony export */ Indicator: () => (/* binding */ Indicator),\n/* harmony export */ Item: () => (/* binding */ Item),\n/* harmony export */ Link: () => (/* binding */ Link),\n/* harmony export */ List: () => (/* binding */ List),\n/* harmony export */ NavigationMenu: () => (/* binding */ NavigationMenu),\n/* harmony export */ NavigationMenuContent: () => (/* binding */ NavigationMenuContent),\n/* harmony export */ NavigationMenuIndicator: () => (/* binding */ NavigationMenuIndicator),\n/* harmony export */ NavigationMenuItem: () => (/* binding */ NavigationMenuItem),\n/* harmony export */ NavigationMenuLink: () => (/* binding */ NavigationMenuLink),\n/* harmony export */ NavigationMenuList: () => (/* binding */ NavigationMenuList),\n/* harmony export */ NavigationMenuSub: () => (/* binding */ NavigationMenuSub),\n/* harmony export */ NavigationMenuTrigger: () => (/* binding */ NavigationMenuTrigger),\n/* harmony export */ NavigationMenuViewport: () => (/* binding */ NavigationMenuViewport),\n/* harmony export */ Root: () => (/* binding */ Root2),\n/* harmony export */ Sub: () => (/* binding */ Sub),\n/* harmony export */ Trigger: () => (/* binding */ Trigger),\n/* harmony export */ Viewport: () => (/* binding */ Viewport),\n/* harmony export */ createNavigationMenuScope: () => (/* binding */ createNavigationMenuScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/react-direction */ \"(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @radix-ui/react-presence */ \"(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_id__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-id */ \"(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-collection */ \"(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @radix-ui/react-dismissable-layer */ \"(ssr)/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_visually_hidden__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @radix-ui/react-visually-hidden */ \"(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Content,Indicator,Item,Link,List,NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuSub,NavigationMenuTrigger,NavigationMenuViewport,Root,Sub,Trigger,Viewport,createNavigationMenuScope auto */ // packages/react/navigation-menu/src/NavigationMenu.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar NAVIGATION_MENU_NAME = \"NavigationMenu\";\nvar [Collection, useCollection, createCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__.createCollection)(NAVIGATION_MENU_NAME);\nvar [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__.createCollection)(NAVIGATION_MENU_NAME);\nvar [createNavigationMenuContext, createNavigationMenuScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_4__.createContextScope)(NAVIGATION_MENU_NAME, [\n createCollectionScope,\n createFocusGroupCollectionScope\n]);\nvar [NavigationMenuProviderImpl, useNavigationMenuContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar NavigationMenu = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, value: valueProp, onValueChange, defaultValue, delayDuration = 200, skipDelayDuration = 300, orientation = \"horizontal\", dir, ...NavigationMenuProps } = props;\n const [navigationMenu, setNavigationMenu] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRef = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(forwardedRef, (node)=>setNavigationMenu(node));\n const direction = (0,_radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_6__.useDirection)(dir);\n const openTimerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const closeTimerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const skipDelayTimerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = react__WEBPACK_IMPORTED_MODULE_0__.useState(true);\n const [value = \"\", setValue] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__.useControllableState)({\n prop: valueProp,\n onChange: (value2)=>{\n const isOpen = value2 !== \"\";\n const hasSkipDelayDuration = skipDelayDuration > 0;\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(()=>setIsOpenDelayed(true), skipDelayDuration);\n }\n onValueChange?.(value2);\n },\n defaultProp: defaultValue\n });\n const startCloseTimer = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(()=>{\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(()=>setValue(\"\"), 150);\n }, [\n setValue\n ]);\n const handleOpen = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((itemValue)=>{\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, [\n setValue\n ]);\n const handleDelayedOpen = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((itemValue)=>{\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(()=>{\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n }, [\n value,\n setValue,\n delayDuration\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n return ()=>{\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuProvider, {\n scope: __scopeNavigationMenu,\n isRootMenu: true,\n value,\n dir: direction,\n orientation,\n rootNavigationMenu: navigationMenu,\n onTriggerEnter: (itemValue)=>{\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n },\n onTriggerLeave: ()=>{\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n },\n onContentEnter: ()=>window.clearTimeout(closeTimerRef.current),\n onContentLeave: startCloseTimer,\n onItemSelect: (itemValue)=>{\n setValue((prevValue)=>prevValue === itemValue ? \"\" : itemValue);\n },\n onItemDismiss: ()=>setValue(\"\"),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.nav, {\n \"aria-label\": \"Main\",\n \"data-orientation\": orientation,\n dir: direction,\n ...NavigationMenuProps,\n ref: composedRef\n })\n });\n});\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\nvar SUB_NAME = \"NavigationMenuSub\";\nvar NavigationMenuSub = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, value: valueProp, onValueChange, defaultValue, orientation = \"horizontal\", ...subProps } = props;\n const context = useNavigationMenuContext(SUB_NAME, __scopeNavigationMenu);\n const [value = \"\", setValue] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__.useControllableState)({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuProvider, {\n scope: __scopeNavigationMenu,\n isRootMenu: false,\n value,\n dir: context.dir,\n orientation,\n rootNavigationMenu: context.rootNavigationMenu,\n onTriggerEnter: (itemValue)=>setValue(itemValue),\n onItemSelect: (itemValue)=>setValue(itemValue),\n onItemDismiss: ()=>setValue(\"\"),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.div, {\n \"data-orientation\": orientation,\n ...subProps,\n ref: forwardedRef\n })\n });\n});\nNavigationMenuSub.displayName = SUB_NAME;\nvar NavigationMenuProvider = (props)=>{\n const { scope, isRootMenu, rootNavigationMenu, dir, orientation, children, value, onItemSelect, onItemDismiss, onTriggerEnter, onTriggerLeave, onContentEnter, onContentLeave } = props;\n const [viewport, setViewport] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [viewportContent, setViewportContent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(/* @__PURE__ */ new Map());\n const [indicatorTrack, setIndicatorTrack] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuProviderImpl, {\n scope,\n isRootMenu,\n rootNavigationMenu,\n value,\n previousValue: (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_9__.usePrevious)(value),\n baseId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_10__.useId)(),\n dir,\n orientation,\n viewport,\n onViewportChange: setViewport,\n indicatorTrack,\n onIndicatorTrackChange: setIndicatorTrack,\n onTriggerEnter: (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onTriggerEnter),\n onTriggerLeave: (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onTriggerLeave),\n onContentEnter: (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onContentEnter),\n onContentLeave: (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onContentLeave),\n onItemSelect: (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onItemSelect),\n onItemDismiss: (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onItemDismiss),\n onViewportContentChange: react__WEBPACK_IMPORTED_MODULE_0__.useCallback((contentValue, contentData)=>{\n setViewportContent((prevContent)=>{\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, []),\n onViewportContentRemove: react__WEBPACK_IMPORTED_MODULE_0__.useCallback((contentValue)=>{\n setViewportContent((prevContent)=>{\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, []),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Provider, {\n scope,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(ViewportContentProvider, {\n scope,\n items: viewportContent,\n children\n })\n })\n });\n};\nvar LIST_NAME = \"NavigationMenuList\";\nvar NavigationMenuList = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n const list = /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.ul, {\n \"data-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.div, {\n style: {\n position: \"relative\"\n },\n ref: context.onIndicatorTrackChange,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Slot, {\n scope: __scopeNavigationMenu,\n children: context.isRootMenu ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroup, {\n asChild: true,\n children: list\n }) : list\n })\n });\n});\nNavigationMenuList.displayName = LIST_NAME;\nvar ITEM_NAME = \"NavigationMenuItem\";\nvar [NavigationMenuItemContextProvider, useNavigationMenuItemContext] = createNavigationMenuContext(ITEM_NAME);\nvar NavigationMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_10__.useId)();\n const value = valueProp || autoValue || \"LEGACY_REACT_AUTO_VALUE\";\n const contentRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const triggerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const focusProxyRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const restoreContentTabOrderRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(()=>{});\n const wasEscapeCloseRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const handleContentEntry = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((side = \"start\")=>{\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === \"start\" ? candidates : candidates.reverse());\n }\n }, []);\n const handleContentExit = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(()=>{\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuItemContextProvider, {\n scope: __scopeNavigationMenu,\n value,\n triggerRef,\n contentRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onEntryKeyDown: handleContentEntry,\n onFocusProxyEnter: handleContentEntry,\n onRootContentClose: handleContentExit,\n onContentFocusOutside: handleContentExit,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.li, {\n ...itemProps,\n ref: forwardedRef\n })\n });\n});\nNavigationMenuItem.displayName = ITEM_NAME;\nvar TRIGGER_NAME = \"NavigationMenuTrigger\";\nvar NavigationMenuTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const wasClickCloseRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const open = itemContext.value === context.value;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.ItemSlot, {\n scope: __scopeNavigationMenu,\n value: itemContext.value,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroupItem, {\n asChild: true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.button, {\n id: triggerId,\n disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n \"data-state\": getOpenState(open),\n \"aria-expanded\": open,\n \"aria-controls\": contentId,\n ...triggerProps,\n ref: composedRefs,\n onPointerEnter: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerEnter, ()=>{\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerMove, whenMouse(()=>{\n if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current) return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerLeave, whenMouse(()=>{\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })),\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onClick, ()=>{\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n }),\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onKeyDown, (event)=>{\n const verticalEntryKey = context.dir === \"rtl\" ? \"ArrowLeft\" : \"ArrowRight\";\n const entryKey = {\n horizontal: \"ArrowDown\",\n vertical: verticalEntryKey\n }[context.orientation];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n event.preventDefault();\n }\n })\n })\n })\n }),\n open && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_visually_hidden__WEBPACK_IMPORTED_MODULE_13__.Root, {\n \"aria-hidden\": true,\n tabIndex: 0,\n ref: itemContext.focusProxyRef,\n onFocus: (event)=>{\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? \"start\" : \"end\");\n }\n }\n }),\n context.viewport && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n \"aria-owns\": contentId\n })\n ]\n })\n ]\n });\n});\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\nvar LINK_NAME = \"NavigationMenuLink\";\nvar LINK_SELECT = \"navigationMenu.linkSelect\";\nvar NavigationMenuLink = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroupItem, {\n asChild: true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.a, {\n \"data-active\": active ? \"\" : void 0,\n \"aria-current\": active ? \"page\" : void 0,\n ...linkProps,\n ref: forwardedRef,\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onClick, (event)=>{\n const target = event.target;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true\n });\n target.addEventListener(LINK_SELECT, (event2)=>onSelect?.(event2), {\n once: true\n });\n (0,_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.dispatchDiscreteCustomEvent)(target, linkSelectEvent);\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n (0,_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.dispatchDiscreteCustomEvent)(target, rootContentDismissEvent);\n }\n }, {\n checkForDefaultPrevented: false\n })\n })\n });\n});\nNavigationMenuLink.displayName = LINK_NAME;\nvar INDICATOR_NAME = \"NavigationMenuIndicator\";\nvar NavigationMenuIndicator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n return context.indicatorTrack ? /*#__PURE__*/ react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_14__.Presence, {\n present: forceMount || isVisible,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuIndicatorImpl, {\n ...indicatorProps,\n ref: forwardedRef\n })\n }), context.indicatorTrack) : null;\n});\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\nvar NavigationMenuIndicatorImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, __scopeNavigationMenu);\n const getItems = useCollection(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [position, setPosition] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const isHorizontal = context.orientation === \"horizontal\";\n const isVisible = Boolean(context.value);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const items = getItems();\n const triggerNode = items.find((item)=>item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [\n getItems,\n context.value\n ]);\n const handlePositionChange = ()=>{\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n return position ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.div, {\n \"aria-hidden\": true,\n \"data-state\": isVisible ? \"visible\" : \"hidden\",\n \"data-orientation\": context.orientation,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n position: \"absolute\",\n ...isHorizontal ? {\n left: 0,\n width: position.size + \"px\",\n transform: `translateX(${position.offset}px)`\n } : {\n top: 0,\n height: position.size + \"px\",\n transform: `translateY(${position.offset}px)`\n },\n ...indicatorProps.style\n }\n }) : null;\n});\nvar CONTENT_NAME = \"NavigationMenuContent\";\nvar NavigationMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps\n };\n return !context.viewport ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_14__.Presence, {\n present: forceMount || open,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuContentImpl, {\n \"data-state\": getOpenState(open),\n ...commonProps,\n ref: composedRefs,\n onPointerEnter: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerLeave, whenMouse(context.onContentLeave)),\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n ...commonProps.style\n }\n })\n }) : /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(ViewportContentMounter, {\n forceMount,\n ...commonProps,\n ref: composedRefs\n });\n});\nNavigationMenuContent.displayName = CONTENT_NAME;\nvar ViewportContentMounter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_15__.useLayoutEffect)(()=>{\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props\n });\n }, [\n props,\n forwardedRef,\n onViewportContentChange\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_15__.useLayoutEffect)(()=>{\n return ()=>onViewportContentRemove(props.value);\n }, [\n props.value,\n onViewportContentRemove\n ]);\n return null;\n});\nvar ROOT_CONTENT_DISMISS = \"navigationMenu.rootContentDismiss\";\nvar NavigationMenuContentImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, value, triggerRef, focusProxyRef, wasEscapeCloseRef, onRootContentClose, onContentFocusOutside, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, __scopeNavigationMenu);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection(__scopeNavigationMenu);\n const prevMotionAttributeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const { onItemDismiss } = context;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const content = ref.current;\n if (context.isRootMenu && content) {\n const handleClose = ()=>{\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return ()=>content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [\n context.isRootMenu,\n props.value,\n triggerRef,\n onItemDismiss,\n onRootContentClose\n ]);\n const motionAttribute = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(()=>{\n const items = getItems();\n const values = items.map((item)=>item.value);\n if (context.dir === \"rtl\") values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n const attribute = (()=>{\n if (index !== prevIndex) {\n if (isSelected && prevIndex !== -1) return index > prevIndex ? \"from-end\" : \"from-start\";\n if (wasSelected && index !== -1) return index > prevIndex ? \"to-start\" : \"to-end\";\n }\n return null;\n })();\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [\n context.previousValue,\n context.value,\n context.dir,\n getItems,\n value\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroup, {\n asChild: true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_16__.DismissableLayer, {\n id: contentId,\n \"aria-labelledby\": triggerId,\n \"data-motion\": motionAttribute,\n \"data-orientation\": context.orientation,\n ...contentProps,\n ref: composedRefs,\n disableOutsidePointerEvents: false,\n onDismiss: ()=>{\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n },\n onFocusOutside: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onFocusOutside, (event)=>{\n onContentFocusOutside();\n const target = event.target;\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n }),\n onPointerDownOutside: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerDownOutside, (event)=>{\n const target = event.target;\n const isTrigger = getItems().some((item)=>item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n }),\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onKeyDown, (event)=>{\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === \"Tab\" && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate)=>candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards ? candidates.slice(0, index).reverse() : candidates.slice(index + 1, candidates.length);\n if (focusFirst(nextCandidates)) {\n event.preventDefault();\n } else {\n focusProxyRef.current?.focus();\n }\n }\n }),\n onEscapeKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onEscapeKeyDown, (event)=>{\n wasEscapeCloseRef.current = true;\n })\n })\n });\n});\nvar VIEWPORT_NAME = \"NavigationMenuViewport\";\nvar NavigationMenuViewport = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_14__.Presence, {\n present: forceMount || open,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuViewportImpl, {\n ...viewportProps,\n ref: forwardedRef\n })\n });\n});\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\nvar NavigationMenuViewportImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.useComposedRefs)(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const [size, setSize] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [content, setContent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const viewportWidth = size ? size?.width + \"px\" : void 0;\n const viewportHeight = size ? size?.height + \"px\" : void 0;\n const open = Boolean(context.value);\n const activeContentValue = open ? context.value : context.previousValue;\n const handleSizeChange = ()=>{\n if (content) setSize({\n width: content.offsetWidth,\n height: content.offsetHeight\n });\n };\n useResizeObserver(content, handleSizeChange);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.div, {\n \"data-state\": getOpenState(open),\n \"data-orientation\": context.orientation,\n ...viewportImplProps,\n ref: composedRefs,\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n [\"--radix-navigation-menu-viewport-width\"]: viewportWidth,\n [\"--radix-navigation-menu-viewport-height\"]: viewportHeight,\n ...viewportImplProps.style\n },\n onPointerEnter: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onPointerLeave, whenMouse(context.onContentLeave)),\n children: Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props2 }])=>{\n const isActive = activeContentValue === value;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_14__.Presence, {\n present: forceMount || isActive,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(NavigationMenuContentImpl, {\n ...props2,\n ref: (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_5__.composeRefs)(ref, (node)=>{\n if (isActive && node) setContent(node);\n })\n })\n }, value);\n })\n });\n});\nvar FOCUS_GROUP_NAME = \"FocusGroup\";\nvar FocusGroup = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroupCollection.Provider, {\n scope: __scopeNavigationMenu,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroupCollection.Slot, {\n scope: __scopeNavigationMenu,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.div, {\n dir: context.dir,\n ...groupProps,\n ref: forwardedRef\n })\n })\n });\n});\nvar ARROW_KEYS = [\n \"ArrowRight\",\n \"ArrowLeft\",\n \"ArrowUp\",\n \"ArrowDown\"\n];\nvar FOCUS_GROUP_ITEM_NAME = \"FocusGroupItem\";\nvar FocusGroupItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(FocusGroupCollection.ItemSlot, {\n scope: __scopeNavigationMenu,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_8__.Primitive.button, {\n ...groupProps,\n ref: forwardedRef,\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_12__.composeEventHandlers)(props.onKeyDown, (event)=>{\n const isFocusNavigationKey = [\n \"Home\",\n \"End\",\n ...ARROW_KEYS\n ].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item)=>item.ref.current);\n const prevItemKey = context.dir === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n const prevKeys = [\n prevItemKey,\n \"ArrowUp\",\n \"End\"\n ];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(()=>focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n })\n });\n});\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node)=>{\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while(walker.nextNode())nodes.push(walker.currentNode);\n return nodes;\n}\nfunction focusFirst(candidates) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate)=>{\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\nfunction removeFromTabOrder(candidates) {\n candidates.forEach((candidate)=>{\n candidate.dataset.tabindex = candidate.getAttribute(\"tabindex\") || \"\";\n candidate.setAttribute(\"tabindex\", \"-1\");\n });\n return ()=>{\n candidates.forEach((candidate)=>{\n const prevTabIndex = candidate.dataset.tabindex;\n candidate.setAttribute(\"tabindex\", prevTabIndex);\n });\n };\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_11__.useCallbackRef)(onResize);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_15__.useLayoutEffect)(()=>{\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(()=>{\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return ()=>{\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [\n element,\n handleResize\n ]);\n}\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nfunction whenMouse(handler) {\n return (event)=>event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = NavigationMenu;\nvar Sub = NavigationMenuSub;\nvar List = NavigationMenuList;\nvar Item = NavigationMenuItem;\nvar Trigger = NavigationMenuTrigger;\nvar Link = NavigationMenuLink;\nvar Indicator = NavigationMenuIndicator;\nvar Content = NavigationMenuContent;\nvar Viewport = NavigationMenuViewport;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LW5hdmlnYXRpb24tbWVudS9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXVCO0FBQ0Y7QUFDYztBQUNFO0FBQ2tCO0FBQ2xCO0FBQ1E7QUFDaEI7QUFDSjtBQUNIO0FBQ1c7QUFDQTtBQUNMO0FBQ0k7QUFDRDtBQUNVO0FBMExqQztBQS9LUixJQUFNcUIsdUJBQXVCO0FBRTdCLElBQU0sQ0FBQ0MsWUFBWUMsZUFBZUMsc0JBQXFCLEdBQUlaLDRFQUFnQkEsQ0FHekVTO0FBRUYsSUFBTSxDQUFDSSxzQkFBc0JDLHlCQUF5QkMsZ0NBQStCLEdBQ25GZiw0RUFBZ0JBLENBQTRCUztBQUc5QyxJQUFNLENBQUNPLDZCQUE2QkMsMEJBQXlCLEdBQUkzQiwyRUFBa0JBLENBQ2pGbUIsc0JBQ0E7SUFBQ0c7SUFBdUJHO0NBQStCO0FBNkJ6RCxJQUFNLENBQUNHLDRCQUE0QkMseUJBQXdCLEdBQ3pESCw0QkFBd0RQO0FBRTFELElBQU0sQ0FBQ1cseUJBQXlCQywwQkFBeUIsR0FBSUwsNEJBRTFEUDtBQXdCSCxJQUFNYSwrQkFBdUJsQyw2Q0FBQSxDQUMzQixDQUFDb0MsT0FBeUNDO0lBQ3hDLE1BQU0sRUFDSkMscUJBQUEsRUFDQUMsT0FBT0MsU0FBQSxFQUNQQyxhQUFBLEVBQ0FDLFlBQUEsRUFDQUMsZ0JBQWdCLEtBQ2hCQyxvQkFBb0IsS0FDcEJDLGNBQWMsY0FDZEMsR0FBQSxFQUNBLEdBQUdDLHFCQUNMLEdBQUlYO0lBQ0osTUFBTSxDQUFDWSxnQkFBZ0JDLGtCQUFpQixHQUFVakQsMkNBQUEsQ0FBdUM7SUFDekYsTUFBTW1ELGNBQWMzQyw2RUFBZUEsQ0FBQzZCLGNBQWMsQ0FBQ2UsT0FBU0gsa0JBQWtCRztJQUM5RSxNQUFNQyxZQUFZNUMsdUVBQVlBLENBQUNxQztJQUMvQixNQUFNUSxlQUFxQnRELHlDQUFBLENBQU87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LFNBQVN2SyxhQUFhTCxJQUFBO0lBQ3BCLE9BQU9BLE9BQU8sU0FBUztBQUN6QjtBQUVBLFNBQVNMLGNBQWN2RCxNQUFBLEVBQWdCbEUsS0FBQTtJQUNyQyxPQUFPLEdBQUdrRSxPQUFNLFdBQVlsRSxNQUFLO0FBQ25DO0FBRUEsU0FBUzJILGNBQWN6RCxNQUFBLEVBQWdCbEUsS0FBQTtJQUNyQyxPQUFPLEdBQUdrRSxPQUFNLFdBQVlsRSxNQUFLO0FBQ25DO0FBRUEsU0FBU3NJLFVBQWE0SyxPQUFBO0lBQ3BCLE9BQU8sQ0FBQ3hLLFFBQVdBLE1BQU15SyxXQUFBLEtBQWdCLFVBQVVELFFBQVF4SyxTQUFTO0FBQ3RFO0FBSUEsSUFBTU8sUUFBT3RKO0FBQ2IsSUFBTXlULE1BQU05UDtBQUNaLElBQU0rUCxPQUFPck87QUFDYixJQUFNc08sT0FBTzFOO0FBQ2IsSUFBTTJOLFVBQVVwTTtBQUNoQixJQUFNcU0sT0FBTzVKO0FBQ2IsSUFBTTZKLFlBQVkzSTtBQUNsQixJQUFNNEksVUFBVTlHO0FBQ2hCLElBQU0rRyxXQUFXbEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4uL3NyYy9OYXZpZ2F0aW9uTWVudS50c3g/ZmZiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInJlc2l6ZS1vYnNlcnZlci1icm93c2VyXCIgLz5cblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gJ0ByYWRpeC11aS9wcmltaXRpdmUnO1xuaW1wb3J0IHsgUHJpbWl0aXZlLCBkaXNwYXRjaERpc2NyZXRlQ3VzdG9tRXZlbnQgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUnO1xuaW1wb3J0IHsgY29tcG9zZVJlZnMsIHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnMnO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbic7XG5pbXBvcnQgeyBQcmVzZW5jZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmVzZW5jZSc7XG5pbXBvcnQgeyB1c2VJZCB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1pZCc7XG5pbXBvcnQgeyBjcmVhdGVDb2xsZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGlzbWlzc2FibGVMYXllciB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1kaXNtaXNzYWJsZS1sYXllcic7XG5pbXBvcnQgeyB1c2VQcmV2aW91cyB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtcHJldmlvdXMnO1xuaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jYWxsYmFjay1yZWYnO1xuaW1wb3J0ICogYXMgVmlzdWFsbHlIaWRkZW5QcmltaXRpdmUgZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbic7XG5cbmltcG9ydCB0eXBlIHsgU2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5cbnR5cGUgT3JpZW50YXRpb24gPSAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xudHlwZSBEaXJlY3Rpb24gPSAnbHRyJyB8ICdydGwnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBOYXZpZ2F0aW9uTWVudVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBOQVZJR0FUSU9OX01FTlVfTkFNRSA9ICdOYXZpZ2F0aW9uTWVudSc7XG5cbmNvbnN0IFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID0gY3JlYXRlQ29sbGVjdGlvbjxcbiAgTmF2aWdhdGlvbk1lbnVUcmlnZ2VyRWxlbWVudCxcbiAgeyB2YWx1ZTogc3RyaW5nIH1cbj4oTkFWSUdBVElPTl9NRU5VX05BTUUpO1xuXG5jb25zdCBbRm9jdXNHcm91cENvbGxlY3Rpb24sIHVzZUZvY3VzR3JvdXBDb2xsZWN0aW9uLCBjcmVhdGVGb2N1c0dyb3VwQ29sbGVjdGlvblNjb3BlXSA9XG4gIGNyZWF0ZUNvbGxlY3Rpb248Rm9jdXNHcm91cEl0ZW1FbGVtZW50LCB7fT4oTkFWSUdBVElPTl9NRU5VX05BTUUpO1xuXG50eXBlIFNjb3BlZFByb3BzPFA+ID0gUCAmIHsgX19zY29wZU5hdmlnYXRpb25NZW51PzogU2NvcGUgfTtcbmNvbnN0IFtjcmVhdGVOYXZpZ2F0aW9uTWVudUNvbnRleHQsIGNyZWF0ZU5hdmlnYXRpb25NZW51U2NvcGVdID0gY3JlYXRlQ29udGV4dFNjb3BlKFxuICBOQVZJR0FUSU9OX01FTlVfTkFNRSxcbiAgW2NyZWF0ZUNvbGxlY3Rpb25TY29wZSwgY3JlYXRlRm9jdXNHcm91cENvbGxlY3Rpb25TY29wZV1cbik7XG5cbnR5cGUgQ29udGVudERhdGEgPSB7XG4gIHJlZj86IFJlYWN0LlJlZjxWaWV3cG9ydENvbnRlbnRNb3VudGVyRWxlbWVudD47XG59ICYgVmlld3BvcnRDb250ZW50TW91bnRlclByb3BzO1xuXG50eXBlIE5hdmlnYXRpb25NZW51Q29udGV4dFZhbHVlID0ge1xuICBpc1Jvb3RNZW51OiBib29sZWFuO1xuICB2YWx1ZTogc3RyaW5nO1xuICBwcmV2aW91c1ZhbHVlOiBzdHJpbmc7XG4gIGJhc2VJZDogc3RyaW5nO1xuICBkaXI6IERpcmVjdGlvbjtcbiAgb3JpZW50YXRpb246IE9yaWVudGF0aW9uO1xuICByb290TmF2aWdhdGlvbk1lbnU6IE5hdmlnYXRpb25NZW51RWxlbWVudCB8IG51bGw7XG4gIGluZGljYXRvclRyYWNrOiBIVE1MRGl2RWxlbWVudCB8IG51bGw7XG4gIG9uSW5kaWNhdG9yVHJhY2tDaGFuZ2UoaW5kaWNhdG9yVHJhY2s6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG4gIHZpZXdwb3J0OiBOYXZpZ2F0aW9uTWVudVZpZXdwb3J0RWxlbWVudCB8IG51bGw7XG4gIG9uVmlld3BvcnRDaGFuZ2Uodmlld3BvcnQ6IE5hdmlnYXRpb25NZW51Vmlld3BvcnRFbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG4gIG9uVmlld3BvcnRDb250ZW50Q2hhbmdlKGNvbnRlbnRWYWx1ZTogc3RyaW5nLCBjb250ZW50RGF0YTogQ29udGVudERhdGEpOiB2b2lkO1xuICBvblZpZXdwb3J0Q29udGVudFJlbW92ZShjb250ZW50VmFsdWU6IHN0cmluZyk6IHZvaWQ7XG4gIG9uVHJpZ2dlckVudGVyKGl0ZW1WYWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgb25UcmlnZ2VyTGVhdmUoKTogdm9pZDtcbiAgb25Db250ZW50RW50ZXIoKTogdm9pZDtcbiAgb25Db250ZW50TGVhdmUoKTogdm9pZDtcbiAgb25JdGVtU2VsZWN0KGl0ZW1WYWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgb25JdGVtRGlzbWlzcygpOiB2b2lkO1xufTtcblxuY29uc3QgW05hdmlnYXRpb25NZW51UHJvdmlkZXJJbXBsLCB1c2VOYXZpZ2F0aW9uTWVudUNvbnRleHRdID1cbiAgY3JlYXRlTmF2aWdhdGlvbk1lbnVDb250ZXh0PE5hdmlnYXRpb25NZW51Q29udGV4dFZhbHVlPihOQVZJR0FUSU9OX01FTlVfTkFNRSk7XG5cbmNvbnN0IFtWaWV3cG9ydENvbnRlbnRQcm92aWRlciwgdXNlVmlld3BvcnRDb250ZW50Q29udGV4dF0gPSBjcmVhdGVOYXZpZ2F0aW9uTWVudUNvbnRleHQ8e1xuICBpdGVtczogTWFwPHN0cmluZywgQ29udGVudERhdGE+O1xufT4oTkFWSUdBVElPTl9NRU5VX05BTUUpO1xuXG50eXBlIE5hdmlnYXRpb25NZW51RWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5uYXY+O1xudHlwZSBQcmltaXRpdmVOYXZQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLm5hdj47XG5pbnRlcmZhY2UgTmF2aWdhdGlvbk1lbnVQcm9wc1xuICBleHRlbmRzIE9taXQ8TmF2aWdhdGlvbk1lbnVQcm92aWRlclByb3BzLCBrZXlvZiBOYXZpZ2F0aW9uTWVudVByb3ZpZGVyUHJpdmF0ZVByb3BzPixcbiAgICBQcmltaXRpdmVOYXZQcm9wcyB7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgZGlyPzogRGlyZWN0aW9uO1xuICBvcmllbnRhdGlvbj86IE9yaWVudGF0aW9uO1xuICAvKipcbiAgICogVGhlIGR1cmF0aW9uIGZyb20gd2hlbiB0aGUgcG9pbnRlciBlbnRlcnMgdGhlIHRyaWdnZXIgdW50aWwgdGhlIHRvb2x0aXAgZ2V0cyBvcGVuZWQuXG4gICAqIEBkZWZhdWx0VmFsdWUgMjAwXG4gICAqL1xuICBkZWxheUR1cmF0aW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogSG93IG11Y2ggdGltZSBhIHVzZXIgaGFzIHRvIGVudGVyIGFub3RoZXIgdHJpZ2dlciB3aXRob3V0IGluY3VycmluZyBhIGRlbGF5IGFnYWluLlxuICAgKiBAZGVmYXVsdFZhbHVlIDMwMFxuICAgKi9cbiAgc2tpcERlbGF5RHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmNvbnN0IE5hdmlnYXRpb25NZW51ID0gUmVhY3QuZm9yd2FyZFJlZjxOYXZpZ2F0aW9uTWVudUVsZW1lbnQsIE5hdmlnYXRpb25NZW51UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPE5hdmlnYXRpb25NZW51UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlTmF2aWdhdGlvbk1lbnUsXG4gICAgICB2YWx1ZTogdmFsdWVQcm9wLFxuICAgICAgb25WYWx1ZUNoYW5nZSxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlbGF5RHVyYXRpb24gPSAyMDAsXG4gICAgICBza2lwRGVsYXlEdXJhdGlvbiA9IDMwMCxcbiAgICAgIG9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnLFxuICAgICAgZGlyLFxuICAgICAgLi4uTmF2aWdhdGlvbk1lbnVQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbbmF2aWdhdGlvbk1lbnUsIHNldE5hdmlnYXRpb25NZW51XSA9IFJlYWN0LnVzZVN0YXRlPE5hdmlnYXRpb25NZW51RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldE5hdmlnYXRpb25NZW51KG5vZGUpKTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgICBjb25zdCBvcGVuVGltZXJSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gICAgY29uc3QgY2xvc2VUaW1lclJlZiA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICBjb25zdCBza2lwRGVsYXlUaW1lclJlZiA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICBjb25zdCBbaXNPcGVuRGVsYXllZCwgc2V0SXNPcGVuRGVsYXllZF0gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbdmFsdWUgPSAnJywgc2V0VmFsdWVdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgICAgcHJvcDogdmFsdWVQcm9wLFxuICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBpc09wZW4gPSB2YWx1ZSAhPT0gJyc7XG4gICAgICAgIGNvbnN0IGhhc1NraXBEZWxheUR1cmF0aW9uID0gc2tpcERlbGF5RHVyYXRpb24gPiAwO1xuXG4gICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHNraXBEZWxheVRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgIGlmIChoYXNTa2lwRGVsYXlEdXJhdGlvbikgc2V0SXNPcGVuRGVsYXllZChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChza2lwRGVsYXlUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICBza2lwRGVsYXlUaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoXG4gICAgICAgICAgICAoKSA9PiBzZXRJc09wZW5EZWxheWVkKHRydWUpLFxuICAgICAgICAgICAgc2tpcERlbGF5RHVyYXRpb25cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgb25WYWx1ZUNoYW5nZT8uKHZhbHVlKTtcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhcnRDbG9zZVRpbWVyID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dChjbG9zZVRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgY2xvc2VUaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gc2V0VmFsdWUoJycpLCAxNTApO1xuICAgIH0sIFtzZXRWYWx1ZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlT3BlbiA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICAgKGl0ZW1WYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgc2V0VmFsdWUoaXRlbVZhbHVlKTtcbiAgICAgIH0sXG4gICAgICBbc2V0VmFsdWVdXG4gICAgKTtcblxuICAgIGNvbnN0IGhhbmRsZURlbGF5ZWRPcGVuID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAoaXRlbVZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgaXNPcGVuSXRlbSA9IHZhbHVlID09PSBpdGVtVmFsdWU7XG4gICAgICAgIGlmIChpc09wZW5JdGVtKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIGl0ZW0gaXMgYWxyZWFkeSBvcGVuIChlLmcuIHdlJ3JlIHRyYW5zaXRpb25pbmcgZnJvbSB0aGUgY29udGVudCB0byB0aGUgdHJpZ2dlcilcbiAgICAgICAgICAvLyB0aGVuIHdlIHdhbnQgdG8gY2xlYXIgdGhlIGNsb3NlIHRpbWVyIGltbWVkaWF0ZWx5LlxuICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvcGVuVGltZXJSZWYuY3VycmVudCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIHNldFZhbHVlKGl0ZW1WYWx1ZSk7XG4gICAgICAgICAgfSwgZGVsYXlEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmFsdWUsIHNldFZhbHVlLCBkZWxheUR1cmF0aW9uXVxuICAgICk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChvcGVuVGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChza2lwRGVsYXlUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgIH07XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZpZ2F0aW9uTWVudVByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtfX3Njb3BlTmF2aWdhdGlvbk1lbnV9XG4gICAgICAgIGlzUm9vdE1lbnU9e3RydWV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgZGlyPXtkaXJlY3Rpb259XG4gICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgcm9vdE5hdmlnYXRpb25NZW51PXtuYXZpZ2F0aW9uTWVudX1cbiAgICAgICAgb25UcmlnZ2VyRW50ZXI9eyhpdGVtVmFsdWUpID0+IHtcbiAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KG9wZW5UaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICBpZiAoaXNPcGVuRGVsYXllZCkgaGFuZGxlRGVsYXllZE9wZW4oaXRlbVZhbHVlKTtcbiAgICAgICAgICBlbHNlIGhhbmRsZU9wZW4oaXRlbVZhbHVlKTtcbiAgICAgICAgfX1cbiAgICAgICAgb25UcmlnZ2VyTGVhdmU9eygpID0+IHtcbiAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KG9wZW5UaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICBzdGFydENsb3NlVGltZXIoKTtcbiAgICAgICAgfX1cbiAgICAgICAgb25Db250ZW50RW50ZXI9eygpID0+IHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KX1cbiAgICAgICAgb25Db250ZW50TGVhdmU9e3N0YXJ0Q2xvc2VUaW1lcn1cbiAgICAgICAgb25JdGVtU2VsZWN0PXsoaXRlbVZhbHVlKSA9PiB7XG4gICAgICAgICAgc2V0VmFsdWUoKHByZXZWYWx1ZSkgPT4gKHByZXZWYWx1ZSA9PT0gaXRlbVZhbHVlID8gJycgOiBpdGVtVmFsdWUpKTtcbiAgICAgICAgfX1cbiAgICAgICAgb25JdGVtRGlzbWlzcz17KCkgPT4gc2V0VmFsdWUoJycpfVxuICAgICAgPlxuICAgICAgICA8UHJpbWl0aXZlLm5hdlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJNYWluXCJcbiAgICAgICAgICBkYXRhLW9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgICBkaXI9e2RpcmVjdGlvbn1cbiAgICAgICAgICB7Li4uTmF2aWdhdGlvbk1lbnVQcm9wc31cbiAgICAgICAgICByZWY9e2NvbXBvc2VkUmVmfVxuICAgICAgICAvPlxuICAgICAgPC9OYXZpZ2F0aW9uTWVudVByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cbk5hdmlnYXRpb25NZW51LmRpc3BsYXlOYW1lID0gTkFWSUdBVElPTl9NRU5VX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIE5hdmlnYXRpb25NZW51U3ViXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFNVQl9OQU1FID0gJ05hdmlnYXRpb25NZW51U3ViJztcblxudHlwZSBOYXZpZ2F0aW9uTWVudVN1YkVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbnR5cGUgUHJpbWl0aXZlRGl2UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIE5hdmlnYXRpb25NZW51U3ViUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PE5hdmlnYXRpb25NZW51UHJvdmlkZXJQcm9wcywga2V5b2YgTmF2aWdhdGlvbk1lbnVQcm92aWRlclByaXZhdGVQcm9wcz4sXG4gICAgUHJpbWl0aXZlRGl2UHJvcHMge1xuICB2YWx1ZT86IHN0cmluZztcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICBvblZhbHVlQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9yaWVudGF0aW9uPzogT3JpZW50YXRpb247XG59XG5cbmNvbnN0IE5hdmlnYXRpb25NZW51U3ViID0gUmVhY3QuZm9yd2FyZFJlZjxOYXZpZ2F0aW9uTWVudVN1YkVsZW1lbnQsIE5hdmlnYXRpb25NZW51U3ViUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPE5hdmlnYXRpb25NZW51U3ViUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlTmF2aWdhdGlvbk1lbnUsXG4gICAgICB2YWx1ZTogdmFsdWVQcm9wLFxuICAgICAgb25WYWx1ZUNoYW5nZSxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIG9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnLFxuICAgICAgLi4uc3ViUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChTVUJfTkFNRSwgX19zY29wZU5hdmlnYXRpb25NZW51KTtcbiAgICBjb25zdCBbdmFsdWUgPSAnJywgc2V0VmFsdWVdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgICAgcHJvcDogdmFsdWVQcm9wLFxuICAgICAgb25DaGFuZ2U6IG9uVmFsdWVDaGFuZ2UsXG4gICAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZpZ2F0aW9uTWVudVByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtfX3Njb3BlTmF2aWdhdGlvbk1lbnV9XG4gICAgICAgIGlzUm9vdE1lbnU9e2ZhbHNlfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGRpcj17Y29udGV4dC5kaXJ9XG4gICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgcm9vdE5hdmlnYXRpb25NZW51PXtjb250ZXh0LnJvb3ROYXZpZ2F0aW9uTWVudX1cbiAgICAgICAgb25UcmlnZ2VyRW50ZXI9eyhpdGVtVmFsdWUpID0+IHNldFZhbHVlKGl0ZW1WYWx1ZSl9XG4gICAgICAgIG9uSXRlbVNlbGVjdD17KGl0ZW1WYWx1ZSkgPT4gc2V0VmFsdWUoaXRlbVZhbHVlKX1cbiAgICAgICAgb25JdGVtRGlzbWlzcz17KCkgPT4gc2V0VmFsdWUoJycpfVxuICAgICAgPlxuICAgICAgICA8UHJpbWl0aXZlLmRpdiBkYXRhLW9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn0gey4uLnN1YlByb3BzfSByZWY9e2ZvcndhcmRlZFJlZn0gLz5cbiAgICAgIDwvTmF2aWdhdGlvbk1lbnVQcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG5OYXZpZ2F0aW9uTWVudVN1Yi5kaXNwbGF5TmFtZSA9IFNVQl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudVByb3ZpZGVyUHJpdmF0ZVByb3BzIHtcbiAgaXNSb290TWVudTogYm9vbGVhbjtcbiAgc2NvcGU6IFNjb3BlO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBvcmllbnRhdGlvbjogT3JpZW50YXRpb247XG4gIGRpcjogRGlyZWN0aW9uO1xuICByb290TmF2aWdhdGlvbk1lbnU6IE5hdmlnYXRpb25NZW51RWxlbWVudCB8IG51bGw7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG9uVHJpZ2dlckVudGVyKGl0ZW1WYWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgb25UcmlnZ2VyTGVhdmU/KCk6IHZvaWQ7XG4gIG9uQ29udGVudEVudGVyPygpOiB2b2lkO1xuICBvbkNvbnRlbnRMZWF2ZT8oKTogdm9pZDtcbiAgb25JdGVtU2VsZWN0KGl0ZW1WYWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgb25JdGVtRGlzbWlzcygpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgTmF2aWdhdGlvbk1lbnVQcm92aWRlclByb3BzIGV4dGVuZHMgTmF2aWdhdGlvbk1lbnVQcm92aWRlclByaXZhdGVQcm9wcyB7fVxuXG5jb25zdCBOYXZpZ2F0aW9uTWVudVByb3ZpZGVyOiBSZWFjdC5GQzxOYXZpZ2F0aW9uTWVudVByb3ZpZGVyUHJvcHM+ID0gKFxuICBwcm9wczogU2NvcGVkUHJvcHM8TmF2aWdhdGlvbk1lbnVQcm92aWRlclByb3BzPlxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzY29wZSxcbiAgICBpc1Jvb3RNZW51LFxuICAgIHJvb3ROYXZpZ2F0aW9uTWVudSxcbiAgICBkaXIsXG4gICAgb3JpZW50YXRpb24sXG4gICAgY2hpbGRyZW4sXG4gICAgdmFsdWUsXG4gICAgb25JdGVtU2VsZWN0LFxuICAgIG9uSXRlbURpc21pc3MsXG4gICAgb25UcmlnZ2VyRW50ZXIsXG4gICAgb25UcmlnZ2VyTGVhdmUsXG4gICAgb25Db250ZW50RW50ZXIsXG4gICAgb25Db250ZW50TGVhdmUsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW3ZpZXdwb3J0LCBzZXRWaWV3cG9ydF0gPSBSZWFjdC51c2VTdGF0ZTxOYXZpZ2F0aW9uTWVudVZpZXdwb3J0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbdmlld3BvcnRDb250ZW50LCBzZXRWaWV3cG9ydENvbnRlbnRdID0gUmVhY3QudXNlU3RhdGU8TWFwPHN0cmluZywgQ29udGVudERhdGE+PihuZXcgTWFwKCkpO1xuICBjb25zdCBbaW5kaWNhdG9yVHJhY2ssIHNldEluZGljYXRvclRyYWNrXSA9IFJlYWN0LnVzZVN0YXRlPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgcmV0dXJuIChcbiAgICA8TmF2aWdhdGlvbk1lbnVQcm92aWRlckltcGxcbiAgICAgIHNjb3BlPXtzY29wZX1cbiAgICAgIGlzUm9vdE1lbnU9e2lzUm9vdE1lbnV9XG4gICAgICByb290TmF2aWdhdGlvbk1lbnU9e3Jvb3ROYXZpZ2F0aW9uTWVudX1cbiAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgIHByZXZpb3VzVmFsdWU9e3VzZVByZXZpb3VzKHZhbHVlKX1cbiAgICAgIGJhc2VJZD17dXNlSWQoKX1cbiAgICAgIGRpcj17ZGlyfVxuICAgICAgb3JpZW50YXRpb249e29yaWVudGF0aW9ufVxuICAgICAgdmlld3BvcnQ9e3ZpZXdwb3J0fVxuICAgICAgb25WaWV3cG9ydENoYW5nZT17c2V0Vmlld3BvcnR9XG4gICAgICBpbmRpY2F0b3JUcmFjaz17aW5kaWNhdG9yVHJhY2t9XG4gICAgICBvbkluZGljYXRvclRyYWNrQ2hhbmdlPXtzZXRJbmRpY2F0b3JUcmFja31cbiAgICAgIG9uVHJpZ2dlckVudGVyPXt1c2VDYWxsYmFja1JlZihvblRyaWdnZXJFbnRlcil9XG4gICAgICBvblRyaWdnZXJMZWF2ZT17dXNlQ2FsbGJhY2tSZWYob25UcmlnZ2VyTGVhdmUpfVxuICAgICAgb25Db250ZW50RW50ZXI9e3VzZUNhbGxiYWNrUmVmKG9uQ29udGVudEVudGVyKX1cbiAgICAgIG9uQ29udGVudExlYXZlPXt1c2VDYWxsYmFja1JlZihvbkNvbnRlbnRMZWF2ZSl9XG4gICAgICBvbkl0ZW1TZWxlY3Q9e3VzZUNhbGxiYWNrUmVmKG9uSXRlbVNlbGVjdCl9XG4gICAgICBvbkl0ZW1EaXNtaXNzPXt1c2VDYWxsYmFja1JlZihvbkl0ZW1EaXNtaXNzKX1cbiAgICAgIG9uVmlld3BvcnRDb250ZW50Q2hhbmdlPXtSZWFjdC51c2VDYWxsYmFjaygoY29udGVudFZhbHVlLCBjb250ZW50RGF0YSkgPT4ge1xuICAgICAgICBzZXRWaWV3cG9ydENvbnRlbnQoKHByZXZDb250ZW50KSA9PiB7XG4gICAgICAgICAgcHJldkNvbnRlbnQuc2V0KGNvbnRlbnRWYWx1ZSwgY29udGVudERhdGEpO1xuICAgICAgICAgIHJldHVybiBuZXcgTWFwKHByZXZDb250ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9LCBbXSl9XG4gICAgICBvblZpZXdwb3J0Q29udGVudFJlbW92ZT17UmVhY3QudXNlQ2FsbGJhY2soKGNvbnRlbnRWYWx1ZSkgPT4ge1xuICAgICAgICBzZXRWaWV3cG9ydENvbnRlbnQoKHByZXZDb250ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKCFwcmV2Q29udGVudC5oYXMoY29udGVudFZhbHVlKSkgcmV0dXJuIHByZXZDb250ZW50O1xuICAgICAgICAgIHByZXZDb250ZW50LmRlbGV0ZShjb250ZW50VmFsdWUpO1xuICAgICAgICAgIHJldHVybiBuZXcgTWFwKHByZXZDb250ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9LCBbXSl9XG4gICAgPlxuICAgICAgPENvbGxlY3Rpb24uUHJvdmlkZXIgc2NvcGU9e3Njb3BlfT5cbiAgICAgICAgPFZpZXdwb3J0Q29udGVudFByb3ZpZGVyIHNjb3BlPXtzY29wZX0gaXRlbXM9e3ZpZXdwb3J0Q29udGVudH0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1ZpZXdwb3J0Q29udGVudFByb3ZpZGVyPlxuICAgICAgPC9Db2xsZWN0aW9uLlByb3ZpZGVyPlxuICAgIDwvTmF2aWdhdGlvbk1lbnVQcm92aWRlckltcGw+XG4gICk7XG59O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBOYXZpZ2F0aW9uTWVudUxpc3RcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgTElTVF9OQU1FID0gJ05hdmlnYXRpb25NZW51TGlzdCc7XG5cbnR5cGUgTmF2aWdhdGlvbk1lbnVMaXN0RWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS51bD47XG50eXBlIFByaW1pdGl2ZVVub3JkZXJlZExpc3RQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLnVsPjtcbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUxpc3RQcm9wcyBleHRlbmRzIFByaW1pdGl2ZVVub3JkZXJlZExpc3RQcm9wcyB7fVxuXG5jb25zdCBOYXZpZ2F0aW9uTWVudUxpc3QgPSBSZWFjdC5mb3J3YXJkUmVmPE5hdmlnYXRpb25NZW51TGlzdEVsZW1lbnQsIE5hdmlnYXRpb25NZW51TGlzdFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxOYXZpZ2F0aW9uTWVudUxpc3RQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU5hdmlnYXRpb25NZW51LCAuLi5saXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VOYXZpZ2F0aW9uTWVudUNvbnRleHQoTElTVF9OQU1FLCBfX3Njb3BlTmF2aWdhdGlvbk1lbnUpO1xuXG4gICAgY29uc3QgbGlzdCA9IChcbiAgICAgIDxQcmltaXRpdmUudWwgZGF0YS1vcmllbnRhdGlvbj17Y29udGV4dC5vcmllbnRhdGlvbn0gey4uLmxpc3RQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLmRpdiBzdHlsZT17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9fSByZWY9e2NvbnRleHQub25JbmRpY2F0b3JUcmFja0NoYW5nZX0+XG4gICAgICAgIDxDb2xsZWN0aW9uLlNsb3Qgc2NvcGU9e19fc2NvcGVOYXZpZ2F0aW9uTWVudX0+XG4gICAgICAgICAge2NvbnRleHQuaXNSb290TWVudSA/IDxGb2N1c0dyb3VwIGFzQ2hpbGQ+e2xpc3R9PC9Gb2N1c0dyb3VwPiA6IGxpc3R9XG4gICAgICAgIDwvQ29sbGVjdGlvbi5TbG90PlxuICAgICAgPC9QcmltaXRpdmUuZGl2PlxuICAgICk7XG4gIH1cbik7XG5cbk5hdmlnYXRpb25NZW51TGlzdC5kaXNwbGF5TmFtZSA9IExJU1RfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogTmF2aWdhdGlvbk1lbnVJdGVtXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElURU1fTkFNRSA9ICdOYXZpZ2F0aW9uTWVudUl0ZW0nO1xuXG50eXBlIEZvY3VzUHJveHlFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgVmlzdWFsbHlIaWRkZW5QcmltaXRpdmUuUm9vdD47XG5cbnR5cGUgTmF2aWdhdGlvbk1lbnVJdGVtQ29udGV4dFZhbHVlID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICB0cmlnZ2VyUmVmOiBSZWFjdC5SZWZPYmplY3Q8TmF2aWdhdGlvbk1lbnVUcmlnZ2VyRWxlbWVudCB8IG51bGw+O1xuICBjb250ZW50UmVmOiBSZWFjdC5SZWZPYmplY3Q8TmF2aWdhdGlvbk1lbnVDb250ZW50RWxlbWVudCB8IG51bGw+O1xuICBmb2N1c1Byb3h5UmVmOiBSZWFjdC5SZWZPYmplY3Q8Rm9jdXNQcm94eUVsZW1lbnQgfCBudWxsPjtcbiAgd2FzRXNjYXBlQ2xvc2VSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8Ym9vbGVhbj47XG4gIG9uRW50cnlLZXlEb3duKCk6IHZvaWQ7XG4gIG9uRm9jdXNQcm94eUVudGVyKHNpZGU6ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQ7XG4gIG9uUm9vdENvbnRlbnRDbG9zZSgpOiB2b2lkO1xuICBvbkNvbnRlbnRGb2N1c091dHNpZGUoKTogdm9pZDtcbn07XG5cbmNvbnN0IFtOYXZpZ2F0aW9uTWVudUl0ZW1Db250ZXh0UHJvdmlkZXIsIHVzZU5hdmlnYXRpb25NZW51SXRlbUNvbnRleHRdID1cbiAgY3JlYXRlTmF2aWdhdGlvbk1lbnVDb250ZXh0PE5hdmlnYXRpb25NZW51SXRlbUNvbnRleHRWYWx1ZT4oSVRFTV9OQU1FKTtcblxudHlwZSBOYXZpZ2F0aW9uTWVudUl0ZW1FbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmxpPjtcbnR5cGUgUHJpbWl0aXZlTGlzdEl0ZW1Qcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmxpPjtcbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUl0ZW1Qcm9wcyBleHRlbmRzIFByaW1pdGl2ZUxpc3RJdGVtUHJvcHMge1xuICB2YWx1ZT86IHN0cmluZztcbn1cblxuY29uc3QgTmF2aWdhdGlvbk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxOYXZpZ2F0aW9uTWVudUl0ZW1FbGVtZW50LCBOYXZpZ2F0aW9uTWVudUl0ZW1Qcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8TmF2aWdhdGlvbk1lbnVJdGVtUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVOYXZpZ2F0aW9uTWVudSwgdmFsdWU6IHZhbHVlUHJvcCwgLi4uaXRlbVByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBhdXRvVmFsdWUgPSB1c2VJZCgpO1xuICAgIC8vIFdlIG5lZWQgdG8gcHJvdmlkZSBhbiBpbml0aWFsIGRldGVybWluaXN0aWMgdmFsdWUgYXMgYHVzZUlkYCB3aWxsIHJldHVyblxuICAgIC8vIGVtcHR5IHN0cmluZyBvbiB0aGUgZmlyc3QgcmVuZGVyIGFuZCB3ZSBkb24ndCB3YW50IHRvIG1hdGNoIG91ciBpbnRlcm5hbCBcImNsb3NlZFwiIHZhbHVlLlxuICAgIGNvbnN0IHZhbHVlID0gdmFsdWVQcm9wIHx8IGF1dG9WYWx1ZSB8fCAnTEVHQUNZX1JFQUNUX0FVVE9fVkFMVUUnO1xuICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBSZWFjdC51c2VSZWY8TmF2aWdhdGlvbk1lbnVDb250ZW50RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IFJlYWN0LnVzZVJlZjxOYXZpZ2F0aW9uTWVudVRyaWdnZXJFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBmb2N1c1Byb3h5UmVmID0gUmVhY3QudXNlUmVmPEZvY3VzUHJveHlFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCByZXN0b3JlQ29udGVudFRhYk9yZGVyUmVmID0gUmVhY3QudXNlUmVmKCgpID0+IHt9KTtcbiAgICBjb25zdCB3YXNFc2NhcGVDbG9zZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG5cbiAgICBjb25zdCBoYW5kbGVDb250ZW50RW50cnkgPSBSZWFjdC51c2VDYWxsYmFjaygoc2lkZSA9ICdzdGFydCcpID0+IHtcbiAgICAgIGlmIChjb250ZW50UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmVzdG9yZUNvbnRlbnRUYWJPcmRlclJlZi5jdXJyZW50KCk7XG4gICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBnZXRUYWJiYWJsZUNhbmRpZGF0ZXMoY29udGVudFJlZi5jdXJyZW50KTtcbiAgICAgICAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoKSBmb2N1c0ZpcnN0KHNpZGUgPT09ICdzdGFydCcgPyBjYW5kaWRhdGVzIDogY2FuZGlkYXRlcy5yZXZlcnNlKCkpO1xuICAgICAgfVxuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGhhbmRsZUNvbnRlbnRFeGl0ID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGNvbnRlbnRSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gZ2V0VGFiYmFibGVDYW5kaWRhdGVzKGNvbnRlbnRSZWYuY3VycmVudCk7XG4gICAgICAgIGlmIChjYW5kaWRhdGVzLmxlbmd0aCkgcmVzdG9yZUNvbnRlbnRUYWJPcmRlclJlZi5jdXJyZW50ID0gcmVtb3ZlRnJvbVRhYk9yZGVyKGNhbmRpZGF0ZXMpO1xuICAgICAgfVxuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TmF2aWdhdGlvbk1lbnVJdGVtQ29udGV4dFByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtfX3Njb3BlTmF2aWdhdGlvbk1lbnV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgdHJpZ2dlclJlZj17dHJpZ2dlclJlZn1cbiAgICAgICAgY29udGVudFJlZj17Y29udGVudFJlZn1cbiAgICAgICAgZm9jdXNQcm94eVJlZj17Zm9jdXNQcm94eVJlZn1cbiAgICAgICAgd2FzRXNjYXBlQ2xvc2VSZWY9e3dhc0VzY2FwZUNsb3NlUmVmfVxuICAgICAgICBvbkVudHJ5S2V5RG93bj17aGFuZGxlQ29udGVudEVudHJ5fVxuICAgICAgICBvbkZvY3VzUHJveHlFbnRlcj17aGFuZGxlQ29udGVudEVudHJ5fVxuICAgICAgICBvblJvb3RDb250ZW50Q2xvc2U9e2hhbmRsZUNvbnRlbnRFeGl0fVxuICAgICAgICBvbkNvbnRlbnRGb2N1c091dHNpZGU9e2hhbmRsZUNvbnRlbnRFeGl0fVxuICAgICAgPlxuICAgICAgICA8UHJpbWl0aXZlLmxpIHsuLi5pdGVtUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICAgPC9OYXZpZ2F0aW9uTWVudUl0ZW1Db250ZXh0UHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuTmF2aWdhdGlvbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gSVRFTV9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBOYXZpZ2F0aW9uTWVudVRyaWdnZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgVFJJR0dFUl9OQU1FID0gJ05hdmlnYXRpb25NZW51VHJpZ2dlcic7XG5cbnR5cGUgTmF2aWdhdGlvbk1lbnVUcmlnZ2VyRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5idXR0b24+O1xudHlwZSBQcmltaXRpdmVCdXR0b25Qcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG5pbnRlcmZhY2UgTmF2aWdhdGlvbk1lbnVUcmlnZ2VyUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVCdXR0b25Qcm9wcyB7fVxuXG5jb25zdCBOYXZpZ2F0aW9uTWVudVRyaWdnZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBOYXZpZ2F0aW9uTWVudVRyaWdnZXJFbGVtZW50LFxuICBOYXZpZ2F0aW9uTWVudVRyaWdnZXJQcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPE5hdmlnYXRpb25NZW51VHJpZ2dlclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZU5hdmlnYXRpb25NZW51LCBkaXNhYmxlZCwgLi4udHJpZ2dlclByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChUUklHR0VSX05BTUUsIHByb3BzLl9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IGl0ZW1Db250ZXh0ID0gdXNlTmF2aWdhdGlvbk1lbnVJdGVtQ29udGV4dChUUklHR0VSX05BTUUsIHByb3BzLl9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZjxOYXZpZ2F0aW9uTWVudVRyaWdnZXJFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKHJlZiwgaXRlbUNvbnRleHQudHJpZ2dlclJlZiwgZm9yd2FyZGVkUmVmKTtcbiAgY29uc3QgdHJpZ2dlcklkID0gbWFrZVRyaWdnZXJJZChjb250ZXh0LmJhc2VJZCwgaXRlbUNvbnRleHQudmFsdWUpO1xuICBjb25zdCBjb250ZW50SWQgPSBtYWtlQ29udGVudElkKGNvbnRleHQuYmFzZUlkLCBpdGVtQ29udGV4dC52YWx1ZSk7XG4gIGNvbnN0IGhhc1BvaW50ZXJNb3ZlT3BlbmVkUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgd2FzQ2xpY2tDbG9zZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IG9wZW4gPSBpdGVtQ29udGV4dC52YWx1ZSA9PT0gY29udGV4dC52YWx1ZTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Q29sbGVjdGlvbi5JdGVtU2xvdCBzY29wZT17X19zY29wZU5hdmlnYXRpb25NZW51fSB2YWx1ZT17aXRlbUNvbnRleHQudmFsdWV9PlxuICAgICAgICA8Rm9jdXNHcm91cEl0ZW0gYXNDaGlsZD5cbiAgICAgICAgICA8UHJpbWl0aXZlLmJ1dHRvblxuICAgICAgICAgICAgaWQ9e3RyaWdnZXJJZH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBkYXRhLXN0YXRlPXtnZXRPcGVuU3RhdGUob3Blbil9XG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtvcGVufVxuICAgICAgICAgICAgYXJpYS1jb250cm9scz17Y29udGVudElkfVxuICAgICAgICAgICAgey4uLnRyaWdnZXJQcm9wc31cbiAgICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlckVudGVyLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHdhc0NsaWNrQ2xvc2VSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICBpdGVtQ29udGV4dC53YXNFc2NhcGVDbG9zZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uUG9pbnRlck1vdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgICAgICBwcm9wcy5vblBvaW50ZXJNb3ZlLFxuICAgICAgICAgICAgICB3aGVuTW91c2UoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkIHx8XG4gICAgICAgICAgICAgICAgICB3YXNDbGlja0Nsb3NlUmVmLmN1cnJlbnQgfHxcbiAgICAgICAgICAgICAgICAgIGl0ZW1Db250ZXh0Lndhc0VzY2FwZUNsb3NlUmVmLmN1cnJlbnQgfHxcbiAgICAgICAgICAgICAgICAgIGhhc1BvaW50ZXJNb3ZlT3BlbmVkUmVmLmN1cnJlbnRcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY29udGV4dC5vblRyaWdnZXJFbnRlcihpdGVtQ29udGV4dC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgaGFzUG9pbnRlck1vdmVPcGVuZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgICAgICBwcm9wcy5vblBvaW50ZXJMZWF2ZSxcbiAgICAgICAgICAgICAgd2hlbk1vdXNlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICAgICAgICBjb250ZXh0Lm9uVHJpZ2dlckxlYXZlKCk7XG4gICAgICAgICAgICAgICAgaGFzUG9pbnRlck1vdmVPcGVuZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xpY2ssICgpID0+IHtcbiAgICAgICAgICAgICAgY29udGV4dC5vbkl0ZW1TZWxlY3QoaXRlbUNvbnRleHQudmFsdWUpO1xuICAgICAgICAgICAgICB3YXNDbGlja0Nsb3NlUmVmLmN1cnJlbnQgPSBvcGVuO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBvbktleURvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsRW50cnlLZXkgPSBjb250ZXh0LmRpciA9PT0gJ3J0bCcgPyAnQXJyb3dMZWZ0JyA6ICdBcnJvd1JpZ2h0JztcbiAgICAgICAgICAgICAgY29uc3QgZW50cnlLZXkgPSB7IGhvcml6b250YWw6ICdBcnJvd0Rvd24nLCB2ZXJ0aWNhbDogdmVydGljYWxFbnRyeUtleSB9W1xuICAgICAgICAgICAgICAgIGNvbnRleHQub3JpZW50YXRpb25cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgaWYgKG9wZW4gJiYgZXZlbnQua2V5ID09PSBlbnRyeUtleSkge1xuICAgICAgICAgICAgICAgIGl0ZW1Db250ZXh0Lm9uRW50cnlLZXlEb3duKCk7XG4gICAgICAgICAgICAgICAgLy8gUHJldmVudCBGb2N1c0dyb3VwSXRlbSBmcm9tIGhhbmRsaW5nIHRoZSBldmVudFxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRm9jdXNHcm91cEl0ZW0+XG4gICAgICA8L0NvbGxlY3Rpb24uSXRlbVNsb3Q+XG5cbiAgICAgIHsvKiBQcm94eSB0YWIgb3JkZXIgYmV0d2VlbiB0cmlnZ2VyIGFuZCBjb250ZW50ICovfVxuICAgICAge29wZW4gJiYgKFxuICAgICAgICA8PlxuICAgICAgICAgIDxWaXN1YWxseUhpZGRlblByaW1pdGl2ZS5Sb290XG4gICAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgICAgICByZWY9e2l0ZW1Db250ZXh0LmZvY3VzUHJveHlSZWZ9XG4gICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGl0ZW1Db250ZXh0LmNvbnRlbnRSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgY29uc3QgcHJldkZvY3VzZWRFbGVtZW50ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgICAgICAgIGNvbnN0IHdhc1RyaWdnZXJGb2N1c2VkID0gcHJldkZvY3VzZWRFbGVtZW50ID09PSByZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgY29uc3Qgd2FzRm9jdXNGcm9tQ29udGVudCA9IGNvbnRlbnQ/LmNvbnRhaW5zKHByZXZGb2N1c2VkRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgaWYgKHdhc1RyaWdnZXJGb2N1c2VkIHx8ICF3YXNGb2N1c0Zyb21Db250ZW50KSB7XG4gICAgICAgICAgICAgICAgaXRlbUNvbnRleHQub25Gb2N1c1Byb3h5RW50ZXIod2FzVHJpZ2dlckZvY3VzZWQgPyAnc3RhcnQnIDogJ2VuZCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICB7LyogUmVzdHJ1Y3R1cmUgYTExeSB0cmVlIHRvIG1ha2UgY29udGVudCBhY2Nlc3NpYmxlIHRvIHNjcmVlbiByZWFkZXIgd2hlbiB1c2luZyB0aGUgdmlld3BvcnQgKi99XG4gICAgICAgICAge2NvbnRleHQudmlld3BvcnQgJiYgPHNwYW4gYXJpYS1vd25zPXtjb250ZW50SWR9IC8+fVxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59KTtcblxuTmF2aWdhdGlvbk1lbnVUcmlnZ2VyLmRpc3BsYXlOYW1lID0gVFJJR0dFUl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBOYXZpZ2F0aW9uTWVudUxpbmtcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgTElOS19OQU1FID0gJ05hdmlnYXRpb25NZW51TGluayc7XG5jb25zdCBMSU5LX1NFTEVDVCA9ICduYXZpZ2F0aW9uTWVudS5saW5rU2VsZWN0JztcblxudHlwZSBOYXZpZ2F0aW9uTWVudUxpbmtFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmE+O1xudHlwZSBQcmltaXRpdmVMaW5rUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5hPjtcbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUxpbmtQcm9wcyBleHRlbmRzIE9taXQ8UHJpbWl0aXZlTGlua1Byb3BzLCAnb25TZWxlY3QnPiB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIG9uU2VsZWN0PzogKGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcbn1cblxuY29uc3QgTmF2aWdhdGlvbk1lbnVMaW5rID0gUmVhY3QuZm9yd2FyZFJlZjxOYXZpZ2F0aW9uTWVudUxpbmtFbGVtZW50LCBOYXZpZ2F0aW9uTWVudUxpbmtQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8TmF2aWdhdGlvbk1lbnVMaW5rUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVOYXZpZ2F0aW9uTWVudSwgYWN0aXZlLCBvblNlbGVjdCwgLi4ubGlua1Byb3BzIH0gPSBwcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8Rm9jdXNHcm91cEl0ZW0gYXNDaGlsZD5cbiAgICAgICAgPFByaW1pdGl2ZS5hXG4gICAgICAgICAgZGF0YS1hY3RpdmU9e2FjdGl2ZSA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIGFyaWEtY3VycmVudD17YWN0aXZlID8gJ3BhZ2UnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHsuLi5saW5rUHJvcHN9XG4gICAgICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICAgICAgb25DbGljaz17Y29tcG9zZUV2ZW50SGFuZGxlcnMoXG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrLFxuICAgICAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgY29uc3QgbGlua1NlbGVjdEV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KExJTktfU0VMRUNULCB7XG4gICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoTElOS19TRUxFQ1QsIChldmVudCkgPT4gb25TZWxlY3Q/LihldmVudCksIHsgb25jZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50KHRhcmdldCwgbGlua1NlbGVjdEV2ZW50KTtcblxuICAgICAgICAgICAgICBpZiAoIWxpbmtTZWxlY3RFdmVudC5kZWZhdWx0UHJldmVudGVkICYmICFldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm9vdENvbnRlbnREaXNtaXNzRXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoUk9PVF9DT05URU5UX0RJU01JU1MsIHtcbiAgICAgICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoRGlzY3JldGVDdXN0b21FdmVudCh0YXJnZXQsIHJvb3RDb250ZW50RGlzbWlzc0V2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgY2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOiBmYWxzZSB9XG4gICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9jdXNHcm91cEl0ZW0+XG4gICAgKTtcbiAgfVxuKTtcblxuTmF2aWdhdGlvbk1lbnVMaW5rLmRpc3BsYXlOYW1lID0gTElOS19OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBOYXZpZ2F0aW9uTWVudUluZGljYXRvclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBJTkRJQ0FUT1JfTkFNRSA9ICdOYXZpZ2F0aW9uTWVudUluZGljYXRvcic7XG5cbnR5cGUgTmF2aWdhdGlvbk1lbnVJbmRpY2F0b3JFbGVtZW50ID0gTmF2aWdhdGlvbk1lbnVJbmRpY2F0b3JJbXBsRWxlbWVudDtcbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUluZGljYXRvclByb3BzIGV4dGVuZHMgTmF2aWdhdGlvbk1lbnVJbmRpY2F0b3JJbXBsUHJvcHMge1xuICAvKipcbiAgICogVXNlZCB0byBmb3JjZSBtb3VudGluZyB3aGVuIG1vcmUgY29udHJvbCBpcyBuZWVkZWQuIFVzZWZ1bCB3aGVuXG4gICAqIGNvbnRyb2xsaW5nIGFuaW1hdGlvbiB3aXRoIFJlYWN0IGFuaW1hdGlvbiBsaWJyYXJpZXMuXG4gICAqL1xuICBmb3JjZU1vdW50PzogdHJ1ZTtcbn1cblxuY29uc3QgTmF2aWdhdGlvbk1lbnVJbmRpY2F0b3IgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBOYXZpZ2F0aW9uTWVudUluZGljYXRvckVsZW1lbnQsXG4gIE5hdmlnYXRpb25NZW51SW5kaWNhdG9yUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxOYXZpZ2F0aW9uTWVudUluZGljYXRvclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgZm9yY2VNb3VudCwgLi4uaW5kaWNhdG9yUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbk1lbnVDb250ZXh0KElORElDQVRPUl9OQU1FLCBwcm9wcy5fX3Njb3BlTmF2aWdhdGlvbk1lbnUpO1xuICBjb25zdCBpc1Zpc2libGUgPSBCb29sZWFuKGNvbnRleHQudmFsdWUpO1xuXG4gIHJldHVybiBjb250ZXh0LmluZGljYXRvclRyYWNrXG4gICAgPyBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgIDxQcmVzZW5jZSBwcmVzZW50PXtmb3JjZU1vdW50IHx8IGlzVmlzaWJsZX0+XG4gICAgICAgICAgPE5hdmlnYXRpb25NZW51SW5kaWNhdG9ySW1wbCB7Li4uaW5kaWNhdG9yUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICAgICA8L1ByZXNlbmNlPixcbiAgICAgICAgY29udGV4dC5pbmRpY2F0b3JUcmFja1xuICAgICAgKVxuICAgIDogbnVsbDtcbn0pO1xuXG5OYXZpZ2F0aW9uTWVudUluZGljYXRvci5kaXNwbGF5TmFtZSA9IElORElDQVRPUl9OQU1FO1xuXG50eXBlIE5hdmlnYXRpb25NZW51SW5kaWNhdG9ySW1wbEVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUluZGljYXRvckltcGxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IE5hdmlnYXRpb25NZW51SW5kaWNhdG9ySW1wbCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIE5hdmlnYXRpb25NZW51SW5kaWNhdG9ySW1wbEVsZW1lbnQsXG4gIE5hdmlnYXRpb25NZW51SW5kaWNhdG9ySW1wbFByb3BzXG4+KChwcm9wczogU2NvcGVkUHJvcHM8TmF2aWdhdGlvbk1lbnVJbmRpY2F0b3JJbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlTmF2aWdhdGlvbk1lbnUsIC4uLmluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChJTkRJQ0FUT1JfTkFNRSwgX19zY29wZU5hdmlnYXRpb25NZW51KTtcbiAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IFthY3RpdmVUcmlnZ2VyLCBzZXRBY3RpdmVUcmlnZ2VyXSA9IFJlYWN0LnVzZVN0YXRlPE5hdmlnYXRpb25NZW51VHJpZ2dlckVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gUmVhY3QudXNlU3RhdGU8eyBzaXplOiBudW1iZXI7IG9mZnNldDogbnVtYmVyIH0gfCBudWxsPihudWxsKTtcbiAgY29uc3QgaXNIb3Jpem9udGFsID0gY29udGV4dC5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnO1xuICBjb25zdCBpc1Zpc2libGUgPSBCb29sZWFuKGNvbnRleHQudmFsdWUpO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpO1xuICAgIGNvbnN0IHRyaWdnZXJOb2RlID0gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gY29udGV4dC52YWx1ZSk/LnJlZi5jdXJyZW50O1xuICAgIGlmICh0cmlnZ2VyTm9kZSkgc2V0QWN0aXZlVHJpZ2dlcih0cmlnZ2VyTm9kZSk7XG4gIH0sIFtnZXRJdGVtcywgY29udGV4dC52YWx1ZV0pO1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgcG9zaXRpb24gd2hlbiB0aGUgaW5kaWNhdG9yIG9yIHBhcmVudCB0cmFjayBzaXplIGNoYW5nZXNcbiAgICovXG4gIGNvbnN0IGhhbmRsZVBvc2l0aW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChhY3RpdmVUcmlnZ2VyKSB7XG4gICAgICBzZXRQb3NpdGlvbih7XG4gICAgICAgIHNpemU6IGlzSG9yaXpvbnRhbCA/IGFjdGl2ZVRyaWdnZXIub2Zmc2V0V2lkdGggOiBhY3RpdmVUcmlnZ2VyLm9mZnNldEhlaWdodCxcbiAgICAgICAgb2Zmc2V0OiBpc0hvcml6b250YWwgPyBhY3RpdmVUcmlnZ2VyLm9mZnNldExlZnQgOiBhY3RpdmVUcmlnZ2VyLm9mZnNldFRvcCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbiAgdXNlUmVzaXplT2JzZXJ2ZXIoYWN0aXZlVHJpZ2dlciwgaGFuZGxlUG9zaXRpb25DaGFuZ2UpO1xuICB1c2VSZXNpemVPYnNlcnZlcihjb250ZXh0LmluZGljYXRvclRyYWNrLCBoYW5kbGVQb3NpdGlvbkNoYW5nZSk7XG5cbiAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgaW5kaWNhdG9yIHBvc2l0aW9uIHRvIGJlIGF2YWlsYWJsZSBiZWZvcmUgcmVuZGVyaW5nIHRvXG4gIC8vIHNuYXAgaW1tZWRpYXRlbHkgaW50byBwb3NpdGlvbiByYXRoZXIgdGhhbiB0cmFuc2l0aW9uaW5nIGZyb20gaW5pdGlhbFxuICByZXR1cm4gcG9zaXRpb24gPyAoXG4gICAgPFByaW1pdGl2ZS5kaXZcbiAgICAgIGFyaWEtaGlkZGVuXG4gICAgICBkYXRhLXN0YXRlPXtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31cbiAgICAgIGRhdGEtb3JpZW50YXRpb249e2NvbnRleHQub3JpZW50YXRpb259XG4gICAgICB7Li4uaW5kaWNhdG9yUHJvcHN9XG4gICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAuLi4oaXNIb3Jpem9udGFsXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgIHdpZHRoOiBwb3NpdGlvbi5zaXplICsgJ3B4JyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgke3Bvc2l0aW9uLm9mZnNldH1weClgLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgIGhlaWdodDogcG9zaXRpb24uc2l6ZSArICdweCcsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtwb3NpdGlvbi5vZmZzZXR9cHgpYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAuLi5pbmRpY2F0b3JQcm9wcy5zdHlsZSxcbiAgICAgIH19XG4gICAgLz5cbiAgKSA6IG51bGw7XG59KTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogTmF2aWdhdGlvbk1lbnVDb250ZW50XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IENPTlRFTlRfTkFNRSA9ICdOYXZpZ2F0aW9uTWVudUNvbnRlbnQnO1xuXG50eXBlIE5hdmlnYXRpb25NZW51Q29udGVudEVsZW1lbnQgPSBOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsRWxlbWVudDtcbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUNvbnRlbnRQcm9wc1xuICBleHRlbmRzIE9taXQ8TmF2aWdhdGlvbk1lbnVDb250ZW50SW1wbFByb3BzLCBrZXlvZiBOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsUHJpdmF0ZVByb3BzPiB7XG4gIC8qKlxuICAgKiBVc2VkIHRvIGZvcmNlIG1vdW50aW5nIHdoZW4gbW9yZSBjb250cm9sIGlzIG5lZWRlZC4gVXNlZnVsIHdoZW5cbiAgICogY29udHJvbGxpbmcgYW5pbWF0aW9uIHdpdGggUmVhY3QgYW5pbWF0aW9uIGxpYnJhcmllcy5cbiAgICovXG4gIGZvcmNlTW91bnQ/OiB0cnVlO1xufVxuXG5jb25zdCBOYXZpZ2F0aW9uTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBOYXZpZ2F0aW9uTWVudUNvbnRlbnRFbGVtZW50LFxuICBOYXZpZ2F0aW9uTWVudUNvbnRlbnRQcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPE5hdmlnYXRpb25NZW51Q29udGVudFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgZm9yY2VNb3VudCwgLi4uY29udGVudFByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IGl0ZW1Db250ZXh0ID0gdXNlTmF2aWdhdGlvbk1lbnVJdGVtQ29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhpdGVtQ29udGV4dC5jb250ZW50UmVmLCBmb3J3YXJkZWRSZWYpO1xuICBjb25zdCBvcGVuID0gaXRlbUNvbnRleHQudmFsdWUgPT09IGNvbnRleHQudmFsdWU7XG5cbiAgY29uc3QgY29tbW9uUHJvcHMgPSB7XG4gICAgdmFsdWU6IGl0ZW1Db250ZXh0LnZhbHVlLFxuICAgIHRyaWdnZXJSZWY6IGl0ZW1Db250ZXh0LnRyaWdnZXJSZWYsXG4gICAgZm9jdXNQcm94eVJlZjogaXRlbUNvbnRleHQuZm9jdXNQcm94eVJlZixcbiAgICB3YXNFc2NhcGVDbG9zZVJlZjogaXRlbUNvbnRleHQud2FzRXNjYXBlQ2xvc2VSZWYsXG4gICAgb25Db250ZW50Rm9jdXNPdXRzaWRlOiBpdGVtQ29udGV4dC5vbkNvbnRlbnRGb2N1c091dHNpZGUsXG4gICAgb25Sb290Q29udGVudENsb3NlOiBpdGVtQ29udGV4dC5vblJvb3RDb250ZW50Q2xvc2UsXG4gICAgLi4uY29udGVudFByb3BzLFxuICB9O1xuXG4gIHJldHVybiAhY29udGV4dC52aWV3cG9ydCA/IChcbiAgICA8UHJlc2VuY2UgcHJlc2VudD17Zm9yY2VNb3VudCB8fCBvcGVufT5cbiAgICAgIDxOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsXG4gICAgICAgIGRhdGEtc3RhdGU9e2dldE9wZW5TdGF0ZShvcGVuKX1cbiAgICAgICAgey4uLmNvbW1vblByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgb25Qb2ludGVyRW50ZXI9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlckVudGVyLCBjb250ZXh0Lm9uQ29udGVudEVudGVyKX1cbiAgICAgICAgb25Qb2ludGVyTGVhdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgIHByb3BzLm9uUG9pbnRlckxlYXZlLFxuICAgICAgICAgIHdoZW5Nb3VzZShjb250ZXh0Lm9uQ29udGVudExlYXZlKVxuICAgICAgICApfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIC8vIFByZXZlbnQgaW50ZXJhY3Rpb24gd2hlbiBhbmltYXRpbmcgb3V0XG4gICAgICAgICAgcG9pbnRlckV2ZW50czogIW9wZW4gJiYgY29udGV4dC5pc1Jvb3RNZW51ID8gJ25vbmUnIDogdW5kZWZpbmVkLFxuICAgICAgICAgIC4uLmNvbW1vblByb3BzLnN0eWxlLFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICA8L1ByZXNlbmNlPlxuICApIDogKFxuICAgIDxWaWV3cG9ydENvbnRlbnRNb3VudGVyIGZvcmNlTW91bnQ9e2ZvcmNlTW91bnR9IHsuLi5jb21tb25Qcm9wc30gcmVmPXtjb21wb3NlZFJlZnN9IC8+XG4gICk7XG59KTtcblxuTmF2aWdhdGlvbk1lbnVDb250ZW50LmRpc3BsYXlOYW1lID0gQ09OVEVOVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgVmlld3BvcnRDb250ZW50TW91bnRlckVsZW1lbnQgPSBOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsRWxlbWVudDtcbmludGVyZmFjZSBWaWV3cG9ydENvbnRlbnRNb3VudGVyUHJvcHMgZXh0ZW5kcyBOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsUHJvcHMge1xuICAvKipcbiAgICogVXNlZCB0byBmb3JjZSBtb3VudGluZyB3aGVuIG1vcmUgY29udHJvbCBpcyBuZWVkZWQuIFVzZWZ1bCB3aGVuXG4gICAqIGNvbnRyb2xsaW5nIGFuaW1hdGlvbiB3aXRoIFJlYWN0IGFuaW1hdGlvbiBsaWJyYXJpZXMuXG4gICAqL1xuICBmb3JjZU1vdW50PzogdHJ1ZTtcbn1cblxuY29uc3QgVmlld3BvcnRDb250ZW50TW91bnRlciA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFZpZXdwb3J0Q29udGVudE1vdW50ZXJFbGVtZW50LFxuICBWaWV3cG9ydENvbnRlbnRNb3VudGVyUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxWaWV3cG9ydENvbnRlbnRNb3VudGVyUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IHsgb25WaWV3cG9ydENvbnRlbnRDaGFuZ2UsIG9uVmlld3BvcnRDb250ZW50UmVtb3ZlIH0gPSBjb250ZXh0O1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgb25WaWV3cG9ydENvbnRlbnRDaGFuZ2UocHJvcHMudmFsdWUsIHtcbiAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH0sIFtwcm9wcywgZm9yd2FyZGVkUmVmLCBvblZpZXdwb3J0Q29udGVudENoYW5nZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IG9uVmlld3BvcnRDb250ZW50UmVtb3ZlKHByb3BzLnZhbHVlKTtcbiAgfSwgW3Byb3BzLnZhbHVlLCBvblZpZXdwb3J0Q29udGVudFJlbW92ZV0pO1xuXG4gIC8vIENvbnRlbnQgaXMgcHJveGllZCBpbnRvIHRoZSB2aWV3cG9ydFxuICByZXR1cm4gbnVsbDtcbn0pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFJPT1RfQ09OVEVOVF9ESVNNSVNTID0gJ25hdmlnYXRpb25NZW51LnJvb3RDb250ZW50RGlzbWlzcyc7XG5cbnR5cGUgTW90aW9uQXR0cmlidXRlID0gJ3RvLXN0YXJ0JyB8ICd0by1lbmQnIHwgJ2Zyb20tc3RhcnQnIHwgJ2Zyb20tZW5kJztcbnR5cGUgTmF2aWdhdGlvbk1lbnVDb250ZW50SW1wbEVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEaXNtaXNzYWJsZUxheWVyPjtcbnR5cGUgRGlzbWlzc2FibGVMYXllclByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEaXNtaXNzYWJsZUxheWVyPjtcblxuaW50ZXJmYWNlIE5hdmlnYXRpb25NZW51Q29udGVudEltcGxQcml2YXRlUHJvcHMge1xuICB2YWx1ZTogc3RyaW5nO1xuICB0cmlnZ2VyUmVmOiBSZWFjdC5SZWZPYmplY3Q8TmF2aWdhdGlvbk1lbnVUcmlnZ2VyRWxlbWVudCB8IG51bGw+O1xuICBmb2N1c1Byb3h5UmVmOiBSZWFjdC5SZWZPYmplY3Q8Rm9jdXNQcm94eUVsZW1lbnQgfCBudWxsPjtcbiAgd2FzRXNjYXBlQ2xvc2VSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8Ym9vbGVhbj47XG4gIG9uQ29udGVudEZvY3VzT3V0c2lkZSgpOiB2b2lkO1xuICBvblJvb3RDb250ZW50Q2xvc2UoKTogdm9pZDtcbn1cbmludGVyZmFjZSBOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PERpc21pc3NhYmxlTGF5ZXJQcm9wcywgJ29uRGlzbWlzcycgfCAnZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzJz4sXG4gICAgTmF2aWdhdGlvbk1lbnVDb250ZW50SW1wbFByaXZhdGVQcm9wcyB7fVxuXG5jb25zdCBOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgTmF2aWdhdGlvbk1lbnVDb250ZW50SW1wbEVsZW1lbnQsXG4gIE5hdmlnYXRpb25NZW51Q29udGVudEltcGxQcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPE5hdmlnYXRpb25NZW51Q29udGVudEltcGxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZU5hdmlnYXRpb25NZW51LFxuICAgIHZhbHVlLFxuICAgIHRyaWdnZXJSZWYsXG4gICAgZm9jdXNQcm94eVJlZixcbiAgICB3YXNFc2NhcGVDbG9zZVJlZixcbiAgICBvblJvb3RDb250ZW50Q2xvc2UsXG4gICAgb25Db250ZW50Rm9jdXNPdXRzaWRlLFxuICAgIC4uLmNvbnRlbnRQcm9wc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VOYXZpZ2F0aW9uTWVudUNvbnRleHQoQ09OVEVOVF9OQU1FLCBfX3Njb3BlTmF2aWdhdGlvbk1lbnUpO1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWY8TmF2aWdhdGlvbk1lbnVDb250ZW50SW1wbEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMocmVmLCBmb3J3YXJkZWRSZWYpO1xuICBjb25zdCB0cmlnZ2VySWQgPSBtYWtlVHJpZ2dlcklkKGNvbnRleHQuYmFzZUlkLCB2YWx1ZSk7XG4gIGNvbnN0IGNvbnRlbnRJZCA9IG1ha2VDb250ZW50SWQoY29udGV4dC5iYXNlSWQsIHZhbHVlKTtcbiAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gIGNvbnN0IHByZXZNb3Rpb25BdHRyaWJ1dGVSZWYgPSBSZWFjdC51c2VSZWY8TW90aW9uQXR0cmlidXRlIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgeyBvbkl0ZW1EaXNtaXNzIH0gPSBjb250ZXh0O1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHJlZi5jdXJyZW50O1xuXG4gICAgLy8gQnViYmxlIGRpc21pc3MgdG8gdGhlIHJvb3QgY29udGVudCBub2RlIGFuZCBmb2N1cyBpdHMgdHJpZ2dlclxuICAgIGlmIChjb250ZXh0LmlzUm9vdE1lbnUgJiYgY29udGVudCkge1xuICAgICAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIG9uSXRlbURpc21pc3MoKTtcbiAgICAgICAgb25Sb290Q29udGVudENsb3NlKCk7XG4gICAgICAgIGlmIChjb250ZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB0cmlnZ2VyUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9O1xuICAgICAgY29udGVudC5hZGRFdmVudExpc3RlbmVyKFJPT1RfQ09OVEVOVF9ESVNNSVNTLCBoYW5kbGVDbG9zZSk7XG4gICAgICByZXR1cm4gKCkgPT4gY29udGVudC5yZW1vdmVFdmVudExpc3RlbmVyKFJPT1RfQ09OVEVOVF9ESVNNSVNTLCBoYW5kbGVDbG9zZSk7XG4gICAgfVxuICB9LCBbY29udGV4dC5pc1Jvb3RNZW51LCBwcm9wcy52YWx1ZSwgdHJpZ2dlclJlZiwgb25JdGVtRGlzbWlzcywgb25Sb290Q29udGVudENsb3NlXSk7XG5cbiAgY29uc3QgbW90aW9uQXR0cmlidXRlID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpO1xuICAgIGNvbnN0IHZhbHVlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZSk7XG4gICAgaWYgKGNvbnRleHQuZGlyID09PSAncnRsJykgdmFsdWVzLnJldmVyc2UoKTtcbiAgICBjb25zdCBpbmRleCA9IHZhbHVlcy5pbmRleE9mKGNvbnRleHQudmFsdWUpO1xuICAgIGNvbnN0IHByZXZJbmRleCA9IHZhbHVlcy5pbmRleE9mKGNvbnRleHQucHJldmlvdXNWYWx1ZSk7XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHZhbHVlID09PSBjb250ZXh0LnZhbHVlO1xuICAgIGNvbnN0IHdhc1NlbGVjdGVkID0gcHJldkluZGV4ID09PSB2YWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG5cbiAgICAvLyBXZSBvbmx5IHdhbnQgdG8gdXBkYXRlIHNlbGVjdGVkIGFuZCB0aGUgbGFzdCBzZWxlY3RlZCBjb250ZW50XG4gICAgLy8gdGhpcyBhdm9pZHMgYW5pbWF0aW9ucyBiZWluZyBpbnRlcnJ1cHRlZCBvdXRzaWRlIG9mIHRoYXQgcmFuZ2VcbiAgICBpZiAoIWlzU2VsZWN0ZWQgJiYgIXdhc1NlbGVjdGVkKSByZXR1cm4gcHJldk1vdGlvbkF0dHJpYnV0ZVJlZi5jdXJyZW50O1xuXG4gICAgY29uc3QgYXR0cmlidXRlID0gKCgpID0+IHtcbiAgICAgIC8vIERvbid0IHByb3ZpZGUgYSBkaXJlY3Rpb24gb24gdGhlIGluaXRpYWwgb3BlblxuICAgICAgaWYgKGluZGV4ICE9PSBwcmV2SW5kZXgpIHtcbiAgICAgICAgLy8gSWYgd2UncmUgbW92aW5nIHRvIHRoaXMgaXRlbSBmcm9tIGFub3RoZXJcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQgJiYgcHJldkluZGV4ICE9PSAtMSkgcmV0dXJuIGluZGV4ID4gcHJldkluZGV4ID8gJ2Zyb20tZW5kJyA6ICdmcm9tLXN0YXJ0JztcbiAgICAgICAgLy8gSWYgd2UncmUgbGVhdmluZyB0aGlzIGl0ZW0gZm9yIGFub3RoZXJcbiAgICAgICAgaWYgKHdhc1NlbGVjdGVkICYmIGluZGV4ICE9PSAtMSkgcmV0dXJuIGluZGV4ID4gcHJldkluZGV4ID8gJ3RvLXN0YXJ0JyA6ICd0by1lbmQnO1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlIHdlJ3JlIGVudGVyaW5nIGZyb20gY2xvc2VkIG9yIGxlYXZpbmcgdGhlIGxpc3RcbiAgICAgIC8vIGVudGlyZWx5IGFuZCBzaG91bGQgbm90IGFuaW1hdGUgaW4gYW55IGRpcmVjdGlvblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSkoKTtcblxuICAgIHByZXZNb3Rpb25BdHRyaWJ1dGVSZWYuY3VycmVudCA9IGF0dHJpYnV0ZTtcbiAgICByZXR1cm4gYXR0cmlidXRlO1xuICB9LCBbY29udGV4dC5wcmV2aW91c1ZhbHVlLCBjb250ZXh0LnZhbHVlLCBjb250ZXh0LmRpciwgZ2V0SXRlbXMsIHZhbHVlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Rm9jdXNHcm91cCBhc0NoaWxkPlxuICAgICAgPERpc21pc3NhYmxlTGF5ZXJcbiAgICAgICAgaWQ9e2NvbnRlbnRJZH1cbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXt0cmlnZ2VySWR9XG4gICAgICAgIGRhdGEtbW90aW9uPXttb3Rpb25BdHRyaWJ1dGV9XG4gICAgICAgIGRhdGEtb3JpZW50YXRpb249e2NvbnRleHQub3JpZW50YXRpb259XG4gICAgICAgIHsuLi5jb250ZW50UHJvcHN9XG4gICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM9e2ZhbHNlfVxuICAgICAgICBvbkRpc21pc3M9eygpID0+IHtcbiAgICAgICAgICBjb25zdCByb290Q29udGVudERpc21pc3NFdmVudCA9IG5ldyBFdmVudChST09UX0NPTlRFTlRfRElTTUlTUywge1xuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVmLmN1cnJlbnQ/LmRpc3BhdGNoRXZlbnQocm9vdENvbnRlbnREaXNtaXNzRXZlbnQpO1xuICAgICAgICB9fVxuICAgICAgICBvbkZvY3VzT3V0c2lkZT17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1c091dHNpZGUsIChldmVudCkgPT4ge1xuICAgICAgICAgIG9uQ29udGVudEZvY3VzT3V0c2lkZSgpO1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAvLyBPbmx5IGRpc21pc3MgY29udGVudCB3aGVuIGZvY3VzIG1vdmVzIG91dHNpZGUgb2YgdGhlIG1lbnVcbiAgICAgICAgICBpZiAoY29udGV4dC5yb290TmF2aWdhdGlvbk1lbnU/LmNvbnRhaW5zKHRhcmdldCkpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0pfVxuICAgICAgICBvblBvaW50ZXJEb3duT3V0c2lkZT17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Qb2ludGVyRG93bk91dHNpZGUsIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICBjb25zdCBpc1RyaWdnZXIgPSBnZXRJdGVtcygpLnNvbWUoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCkpO1xuICAgICAgICAgIGNvbnN0IGlzUm9vdFZpZXdwb3J0ID0gY29udGV4dC5pc1Jvb3RNZW51ICYmIGNvbnRleHQudmlld3BvcnQ/LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgICAgICAgaWYgKGlzVHJpZ2dlciB8fCBpc1Jvb3RWaWV3cG9ydCB8fCAhY29udGV4dC5pc1Jvb3RNZW51KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9KX1cbiAgICAgICAgb25LZXlEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzTWV0YUtleSA9IGV2ZW50LmFsdEtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG4gICAgICAgICAgY29uc3QgaXNUYWJLZXkgPSBldmVudC5rZXkgPT09ICdUYWInICYmICFpc01ldGFLZXk7XG4gICAgICAgICAgaWYgKGlzVGFiS2V5KSB7XG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gZ2V0VGFiYmFibGVDYW5kaWRhdGVzKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgZm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBjYW5kaWRhdGVzLmZpbmRJbmRleCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUgPT09IGZvY3VzZWRFbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGlzTW92aW5nQmFja3dhcmRzID0gZXZlbnQuc2hpZnRLZXk7XG4gICAgICAgICAgICBjb25zdCBuZXh0Q2FuZGlkYXRlcyA9IGlzTW92aW5nQmFja3dhcmRzXG4gICAgICAgICAgICAgID8gY2FuZGlkYXRlcy5zbGljZSgwLCBpbmRleCkucmV2ZXJzZSgpXG4gICAgICAgICAgICAgIDogY2FuZGlkYXRlcy5zbGljZShpbmRleCArIDEsIGNhbmRpZGF0ZXMubGVuZ3RoKTtcblxuICAgICAgICAgICAgaWYgKGZvY3VzRmlyc3QobmV4dENhbmRpZGF0ZXMpKSB7XG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgYnJvd3NlciB0YWIga2V5ZG93biBiZWNhdXNlIHdlJ3ZlIGhhbmRsZWQgZm9jdXNcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIElmIHdlIGNhbid0IGZvY3VzIHRoYXQgbWVhbnMgd2UncmUgYXQgdGhlIGVkZ2VzXG4gICAgICAgICAgICAgIC8vIHNvIGZvY3VzIHRoZSBwcm94eSBhbmQgbGV0IGJyb3dzZXIgaGFuZGxlXG4gICAgICAgICAgICAgIC8vIHRhYi9zaGlmdCt0YWIga2V5cHJlc3Mgb24gdGhlIHByb3h5IGluc3RlYWRcbiAgICAgICAgICAgICAgZm9jdXNQcm94eVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSl9XG4gICAgICAgIG9uRXNjYXBlS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Fc2NhcGVLZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBwcmV2ZW50IHRoZSBkcm9wZG93biBmcm9tIHJlb3BlbmluZ1xuICAgICAgICAgIC8vIGFmdGVyIHRoZSBlc2NhcGUga2V5IGhhcyBiZWVuIHByZXNzZWRcbiAgICAgICAgICB3YXNFc2NhcGVDbG9zZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfSl9XG4gICAgICAvPlxuICAgIDwvRm9jdXNHcm91cD5cbiAgKTtcbn0pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBOYXZpZ2F0aW9uTWVudVZpZXdwb3J0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFZJRVdQT1JUX05BTUUgPSAnTmF2aWdhdGlvbk1lbnVWaWV3cG9ydCc7XG5cbnR5cGUgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydEVsZW1lbnQgPSBOYXZpZ2F0aW9uTWVudVZpZXdwb3J0SW1wbEVsZW1lbnQ7XG5pbnRlcmZhY2UgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydFByb3BzXG4gIGV4dGVuZHMgT21pdDxOYXZpZ2F0aW9uTWVudVZpZXdwb3J0SW1wbFByb3BzLCAnYWN0aXZlQ29udGVudFZhbHVlJz4ge1xuICAvKipcbiAgICogVXNlZCB0byBmb3JjZSBtb3VudGluZyB3aGVuIG1vcmUgY29udHJvbCBpcyBuZWVkZWQuIFVzZWZ1bCB3aGVuXG4gICAqIGNvbnRyb2xsaW5nIGFuaW1hdGlvbiB3aXRoIFJlYWN0IGFuaW1hdGlvbiBsaWJyYXJpZXMuXG4gICAqL1xuICBmb3JjZU1vdW50PzogdHJ1ZTtcbn1cblxuY29uc3QgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIE5hdmlnYXRpb25NZW51Vmlld3BvcnRFbGVtZW50LFxuICBOYXZpZ2F0aW9uTWVudVZpZXdwb3J0UHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxOYXZpZ2F0aW9uTWVudVZpZXdwb3J0UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBmb3JjZU1vdW50LCAuLi52aWV3cG9ydFByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChWSUVXUE9SVF9OQU1FLCBwcm9wcy5fX3Njb3BlTmF2aWdhdGlvbk1lbnUpO1xuICBjb25zdCBvcGVuID0gQm9vbGVhbihjb250ZXh0LnZhbHVlKTtcblxuICByZXR1cm4gKFxuICAgIDxQcmVzZW5jZSBwcmVzZW50PXtmb3JjZU1vdW50IHx8IG9wZW59PlxuICAgICAgPE5hdmlnYXRpb25NZW51Vmlld3BvcnRJbXBsIHsuLi52aWV3cG9ydFByb3BzfSByZWY9e2ZvcndhcmRlZFJlZn0gLz5cbiAgICA8L1ByZXNlbmNlPlxuICApO1xufSk7XG5cbk5hdmlnYXRpb25NZW51Vmlld3BvcnQuZGlzcGxheU5hbWUgPSBWSUVXUE9SVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydEltcGxFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydEltcGxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IE5hdmlnYXRpb25NZW51Vmlld3BvcnRJbXBsID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydEltcGxFbGVtZW50LFxuICBOYXZpZ2F0aW9uTWVudVZpZXdwb3J0SW1wbFByb3BzXG4+KChwcm9wczogU2NvcGVkUHJvcHM8TmF2aWdhdGlvbk1lbnVWaWV3cG9ydEltcGxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVOYXZpZ2F0aW9uTWVudSwgY2hpbGRyZW4sIC4uLnZpZXdwb3J0SW1wbFByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChWSUVXUE9SVF9OQU1FLCBfX3Njb3BlTmF2aWdhdGlvbk1lbnUpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZXh0Lm9uVmlld3BvcnRDaGFuZ2UpO1xuICBjb25zdCB2aWV3cG9ydENvbnRlbnRDb250ZXh0ID0gdXNlVmlld3BvcnRDb250ZW50Q29udGV4dChcbiAgICBDT05URU5UX05BTUUsXG4gICAgcHJvcHMuX19zY29wZU5hdmlnYXRpb25NZW51XG4gICk7XG4gIGNvbnN0IFtzaXplLCBzZXRTaXplXSA9IFJlYWN0LnVzZVN0YXRlPHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY29udGVudCwgc2V0Q29udGVudF0gPSBSZWFjdC51c2VTdGF0ZTxOYXZpZ2F0aW9uTWVudUNvbnRlbnRFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBzaXplID8gc2l6ZT8ud2lkdGggKyAncHgnIDogdW5kZWZpbmVkO1xuICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHNpemUgPyBzaXplPy5oZWlnaHQgKyAncHgnIDogdW5kZWZpbmVkO1xuICBjb25zdCBvcGVuID0gQm9vbGVhbihjb250ZXh0LnZhbHVlKTtcbiAgLy8gV2UgcGVyc2lzdCB0aGUgbGFzdCBhY3RpdmUgY29udGVudCB2YWx1ZSBhcyB0aGUgdmlld3BvcnQgbWF5IGJlIGFuaW1hdGluZyBvdXRcbiAgLy8gYW5kIHdlIHdhbnQgdGhlIGNvbnRlbnQgdG8gcmVtYWluIG1vdW50ZWQgZm9yIHRoZSBsaWZlY3ljbGUgb2YgdGhlIHZpZXdwb3J0LlxuICBjb25zdCBhY3RpdmVDb250ZW50VmFsdWUgPSBvcGVuID8gY29udGV4dC52YWx1ZSA6IGNvbnRleHQucHJldmlvdXNWYWx1ZTtcblxuICAvKipcbiAgICogVXBkYXRlIHZpZXdwb3J0IHNpemUgdG8gbWF0Y2ggdGhlIGFjdGl2ZSBjb250ZW50IG5vZGUuXG4gICAqIFdlIHByZWZlciBvZmZzZXQgZGltZW5zaW9ucyBvdmVyIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIGFzIHRoZSBsYXR0ZXIgcmVzcGVjdHMgQ1NTIHRyYW5zZm9ybS5cbiAgICogRm9yIGV4YW1wbGUsIGlmIGNvbnRlbnQgYW5pbWF0ZXMgaW4gZnJvbSBgc2NhbGUoMC41KWAgdGhlIGRpbWVuc2lvbnMgd291bGQgYmUgYW55dGhpbmdcbiAgICogZnJvbSBgMC41YCB0byBgMWAgb2YgdGhlIGludGVuZGVkIHNpemUuXG4gICAqL1xuICBjb25zdCBoYW5kbGVTaXplQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChjb250ZW50KSBzZXRTaXplKHsgd2lkdGg6IGNvbnRlbnQub2Zmc2V0V2lkdGgsIGhlaWdodDogY29udGVudC5vZmZzZXRIZWlnaHQgfSk7XG4gIH07XG4gIHVzZVJlc2l6ZU9ic2VydmVyKGNvbnRlbnQsIGhhbmRsZVNpemVDaGFuZ2UpO1xuXG4gIHJldHVybiAoXG4gICAgPFByaW1pdGl2ZS5kaXZcbiAgICAgIGRhdGEtc3RhdGU9e2dldE9wZW5TdGF0ZShvcGVuKX1cbiAgICAgIGRhdGEtb3JpZW50YXRpb249e2NvbnRleHQub3JpZW50YXRpb259XG4gICAgICB7Li4udmlld3BvcnRJbXBsUHJvcHN9XG4gICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIC8vIFByZXZlbnQgaW50ZXJhY3Rpb24gd2hlbiBhbmltYXRpbmcgb3V0XG4gICAgICAgIHBvaW50ZXJFdmVudHM6ICFvcGVuICYmIGNvbnRleHQuaXNSb290TWVudSA/ICdub25lJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgWyctLXJhZGl4LW5hdmlnYXRpb24tbWVudS12aWV3cG9ydC13aWR0aCcgYXMgYW55XTogdmlld3BvcnRXaWR0aCxcbiAgICAgICAgWyctLXJhZGl4LW5hdmlnYXRpb24tbWVudS12aWV3cG9ydC1oZWlnaHQnIGFzIGFueV06IHZpZXdwb3J0SGVpZ2h0LFxuICAgICAgICAuLi52aWV3cG9ydEltcGxQcm9wcy5zdHlsZSxcbiAgICAgIH19XG4gICAgICBvblBvaW50ZXJFbnRlcj17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Qb2ludGVyRW50ZXIsIGNvbnRleHQub25Db250ZW50RW50ZXIpfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlckxlYXZlLCB3aGVuTW91c2UoY29udGV4dC5vbkNvbnRlbnRMZWF2ZSkpfVxuICAgID5cbiAgICAgIHtBcnJheS5mcm9tKHZpZXdwb3J0Q29udGVudENvbnRleHQuaXRlbXMpLm1hcCgoW3ZhbHVlLCB7IHJlZiwgZm9yY2VNb3VudCwgLi4ucHJvcHMgfV0pID0+IHtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBhY3RpdmVDb250ZW50VmFsdWUgPT09IHZhbHVlO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxQcmVzZW5jZSBrZXk9e3ZhbHVlfSBwcmVzZW50PXtmb3JjZU1vdW50IHx8IGlzQWN0aXZlfT5cbiAgICAgICAgICAgIDxOYXZpZ2F0aW9uTWVudUNvbnRlbnRJbXBsXG4gICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgcmVmPXtjb21wb3NlUmVmcyhyZWYsIChub2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gV2Ugb25seSB3YW50IHRvIHVwZGF0ZSB0aGUgc3RvcmVkIG5vZGUgd2hlbiBhbm90aGVyIGlzIGF2YWlsYWJsZVxuICAgICAgICAgICAgICAgIC8vIGFzIHdlIG5lZWQgdG8gc21vb3RobHkgdHJhbnNpdGlvbiBiZXR3ZWVuIHRoZW0uXG4gICAgICAgICAgICAgICAgaWYgKGlzQWN0aXZlICYmIG5vZGUpIHNldENvbnRlbnQobm9kZSk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1ByZXNlbmNlPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9QcmltaXRpdmUuZGl2PlxuICApO1xufSk7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgRk9DVVNfR1JPVVBfTkFNRSA9ICdGb2N1c0dyb3VwJztcblxudHlwZSBGb2N1c0dyb3VwRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIEZvY3VzR3JvdXBQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IEZvY3VzR3JvdXAgPSBSZWFjdC5mb3J3YXJkUmVmPEZvY3VzR3JvdXBFbGVtZW50LCBGb2N1c0dyb3VwUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPEZvY3VzR3JvdXBQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU5hdmlnYXRpb25NZW51LCAuLi5ncm91cFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbk1lbnVDb250ZXh0KEZPQ1VTX0dST1VQX05BTUUsIF9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvY3VzR3JvdXBDb2xsZWN0aW9uLlByb3ZpZGVyIHNjb3BlPXtfX3Njb3BlTmF2aWdhdGlvbk1lbnV9PlxuICAgICAgICA8Rm9jdXNHcm91cENvbGxlY3Rpb24uU2xvdCBzY29wZT17X19zY29wZU5hdmlnYXRpb25NZW51fT5cbiAgICAgICAgICA8UHJpbWl0aXZlLmRpdiBkaXI9e2NvbnRleHQuZGlyfSB7Li4uZ3JvdXBQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+XG4gICAgICAgIDwvRm9jdXNHcm91cENvbGxlY3Rpb24uU2xvdD5cbiAgICAgIDwvRm9jdXNHcm91cENvbGxlY3Rpb24uUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBBUlJPV19LRVlTID0gWydBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddO1xuY29uc3QgRk9DVVNfR1JPVVBfSVRFTV9OQU1FID0gJ0ZvY3VzR3JvdXBJdGVtJztcblxudHlwZSBGb2N1c0dyb3VwSXRlbUVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBGb2N1c0dyb3VwSXRlbVByb3BzIGV4dGVuZHMgUHJpbWl0aXZlQnV0dG9uUHJvcHMge31cblxuY29uc3QgRm9jdXNHcm91cEl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmPEZvY3VzR3JvdXBJdGVtRWxlbWVudCwgRm9jdXNHcm91cEl0ZW1Qcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8Rm9jdXNHcm91cEl0ZW1Qcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU5hdmlnYXRpb25NZW51LCAuLi5ncm91cFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBnZXRJdGVtcyA9IHVzZUZvY3VzR3JvdXBDb2xsZWN0aW9uKF9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZU5hdmlnYXRpb25NZW51Q29udGV4dChGT0NVU19HUk9VUF9JVEVNX05BTUUsIF9fc2NvcGVOYXZpZ2F0aW9uTWVudSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvY3VzR3JvdXBDb2xsZWN0aW9uLkl0ZW1TbG90IHNjb3BlPXtfX3Njb3BlTmF2aWdhdGlvbk1lbnV9PlxuICAgICAgICA8UHJpbWl0aXZlLmJ1dHRvblxuICAgICAgICAgIHsuLi5ncm91cFByb3BzfVxuICAgICAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgICAgIG9uS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzRm9jdXNOYXZpZ2F0aW9uS2V5ID0gWydIb21lJywgJ0VuZCcsIC4uLkFSUk9XX0tFWVNdLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgICAgICBpZiAoaXNGb2N1c05hdmlnYXRpb25LZXkpIHtcbiAgICAgICAgICAgICAgbGV0IGNhbmRpZGF0ZU5vZGVzID0gZ2V0SXRlbXMoKS5tYXAoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQhKTtcbiAgICAgICAgICAgICAgY29uc3QgcHJldkl0ZW1LZXkgPSBjb250ZXh0LmRpciA9PT0gJ3J0bCcgPyAnQXJyb3dSaWdodCcgOiAnQXJyb3dMZWZ0JztcbiAgICAgICAgICAgICAgY29uc3QgcHJldktleXMgPSBbcHJldkl0ZW1LZXksICdBcnJvd1VwJywgJ0VuZCddO1xuICAgICAgICAgICAgICBpZiAocHJldktleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkgY2FuZGlkYXRlTm9kZXMucmV2ZXJzZSgpO1xuICAgICAgICAgICAgICBpZiAoQVJST1dfS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gY2FuZGlkYXRlTm9kZXMuaW5kZXhPZihldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgICAgICAgICBjYW5kaWRhdGVOb2RlcyA9IGNhbmRpZGF0ZU5vZGVzLnNsaWNlKGN1cnJlbnRJbmRleCArIDEpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBJbXBlcmF0aXZlIGZvY3VzIGR1cmluZyBrZXlkb3duIGlzIHJpc2t5IHNvIHdlIHByZXZlbnQgUmVhY3QncyBiYXRjaGluZyB1cGRhdGVzXG4gICAgICAgICAgICAgICAqIHRvIGF2b2lkIHBvdGVudGlhbCBidWdzLiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjAzMzJcbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZm9jdXNGaXJzdChjYW5kaWRhdGVOb2RlcykpO1xuXG4gICAgICAgICAgICAgIC8vIFByZXZlbnQgcGFnZSBzY3JvbGwgd2hpbGUgbmF2aWdhdGluZ1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pfVxuICAgICAgICAvPlxuICAgICAgPC9Gb2N1c0dyb3VwQ29sbGVjdGlvbi5JdGVtU2xvdD5cbiAgICApO1xuICB9XG4pO1xuXG4vKipcbiAqIFJldHVybnMgYSBsaXN0IG9mIHBvdGVudGlhbCB0YWJiYWJsZSBjYW5kaWRhdGVzLlxuICpcbiAqIE5PVEU6IFRoaXMgaXMgb25seSBhIGNsb3NlIGFwcHJveGltYXRpb24uIEZvciBleGFtcGxlIGl0IGRvZXNuJ3QgdGFrZSBpbnRvIGFjY291bnQgY2FzZXMgbGlrZSB3aGVuXG4gKiBlbGVtZW50cyBhcmUgbm90IHZpc2libGUuIFRoaXMgY2Fubm90IGJlIHdvcmtlZCBvdXQgZWFzaWx5IGJ5IGp1c3QgcmVhZGluZyBhIHByb3BlcnR5LCBidXQgcmF0aGVyXG4gKiBuZWNlc3NpdGF0ZSBydW50aW1lIGtub3dsZWRnZSAoY29tcHV0ZWQgc3R5bGVzLCBldGMpLiBXZSBkZWFsIHdpdGggdGhlc2UgY2FzZXMgc2VwYXJhdGVseS5cbiAqXG4gKiBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmVlV2Fsa2VyXG4gKiBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9kaXNjb3JkL2ZvY3VzLWxheWVycy9ibG9iL21hc3Rlci9zcmMvdXRpbC93cmFwRm9jdXMudHN4I0wxXG4gKi9cbmZ1bmN0aW9uIGdldFRhYmJhYmxlQ2FuZGlkYXRlcyhjb250YWluZXI6IEhUTUxFbGVtZW50KSB7XG4gIGNvbnN0IG5vZGVzOiBIVE1MRWxlbWVudFtdID0gW107XG4gIGNvbnN0IHdhbGtlciA9IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoY29udGFpbmVyLCBOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwge1xuICAgIGFjY2VwdE5vZGU6IChub2RlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGlzSGlkZGVuSW5wdXQgPSBub2RlLnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgbm9kZS50eXBlID09PSAnaGlkZGVuJztcbiAgICAgIGlmIChub2RlLmRpc2FibGVkIHx8IG5vZGUuaGlkZGVuIHx8IGlzSGlkZGVuSW5wdXQpIHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO1xuICAgICAgLy8gYC50YWJJbmRleGAgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBgdGFiaW5kZXhgIGF0dHJpYnV0ZS4gSXQgd29ya3Mgb24gdGhlXG4gICAgICAvLyBydW50aW1lJ3MgdW5kZXJzdGFuZGluZyBvZiB0YWJiYWJpbGl0eSwgc28gdGhpcyBhdXRvbWF0aWNhbGx5IGFjY291bnRzXG4gICAgICAvLyBmb3IgYW55IGtpbmQgb2YgZWxlbWVudCB0aGF0IGNvdWxkIGJlIHRhYmJlZCB0by5cbiAgICAgIHJldHVybiBub2RlLnRhYkluZGV4ID49IDAgPyBOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQgOiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO1xuICAgIH0sXG4gIH0pO1xuICB3aGlsZSAod2Fsa2VyLm5leHROb2RlKCkpIG5vZGVzLnB1c2god2Fsa2VyLmN1cnJlbnROb2RlIGFzIEhUTUxFbGVtZW50KTtcbiAgLy8gd2UgZG8gbm90IHRha2UgaW50byBhY2NvdW50IHRoZSBvcmRlciBvZiBub2RlcyB3aXRoIHBvc2l0aXZlIGB0YWJJbmRleGAgYXMgaXRcbiAgLy8gaGluZGVycyBhY2Nlc3NpYmlsaXR5IHRvIGhhdmUgdGFiIG9yZGVyIGRpZmZlcmVudCBmcm9tIHZpc3VhbCBvcmRlci5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG5mdW5jdGlvbiBmb2N1c0ZpcnN0KGNhbmRpZGF0ZXM6IEhUTUxFbGVtZW50W10pIHtcbiAgY29uc3QgcHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgcmV0dXJuIGNhbmRpZGF0ZXMuc29tZSgoY2FuZGlkYXRlKSA9PiB7XG4gICAgLy8gaWYgZm9jdXMgaXMgYWxyZWFkeSB3aGVyZSB3ZSB3YW50IHRvIGdvLCB3ZSBkb24ndCB3YW50IHRvIGtlZXAgZ29pbmcgdGhyb3VnaCB0aGUgY2FuZGlkYXRlc1xuICAgIGlmIChjYW5kaWRhdGUgPT09IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCkgcmV0dXJuIHRydWU7XG4gICAgY2FuZGlkYXRlLmZvY3VzKCk7XG4gICAgcmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZyb21UYWJPcmRlcihjYW5kaWRhdGVzOiBIVE1MRWxlbWVudFtdKSB7XG4gIGNhbmRpZGF0ZXMuZm9yRWFjaCgoY2FuZGlkYXRlKSA9PiB7XG4gICAgY2FuZGlkYXRlLmRhdGFzZXQudGFiaW5kZXggPSBjYW5kaWRhdGUuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpIHx8ICcnO1xuICAgIGNhbmRpZGF0ZS5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gIH0pO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGNhbmRpZGF0ZXMuZm9yRWFjaCgoY2FuZGlkYXRlKSA9PiB7XG4gICAgICBjb25zdCBwcmV2VGFiSW5kZXggPSBjYW5kaWRhdGUuZGF0YXNldC50YWJpbmRleCBhcyBzdHJpbmc7XG4gICAgICBjYW5kaWRhdGUuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIHByZXZUYWJJbmRleCk7XG4gICAgfSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHVzZVJlc2l6ZU9ic2VydmVyKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCwgb25SZXNpemU6ICgpID0+IHZvaWQpIHtcbiAgY29uc3QgaGFuZGxlUmVzaXplID0gdXNlQ2FsbGJhY2tSZWYob25SZXNpemUpO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByQUYgPSAwO1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlc2l6ZSBPYnNlcnZlciB3aWxsIHRocm93IGFuIG9mdGVuIGJlbmlnbiBlcnJvciB0aGF0IHNheXMgYFJlc2l6ZU9ic2VydmVyIGxvb3BcbiAgICAgICAqIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNgLiBUaGlzIG1lYW5zIHRoYXQgUmVzaXplT2JzZXJ2ZXIgd2FzIG5vdFxuICAgICAgICogYWJsZSB0byBkZWxpdmVyIGFsbCBvYnNlcnZhdGlvbnMgd2l0aGluIGEgc2luZ2xlIGFuaW1hdGlvbiBmcmFtZSwgc28gd2UgdXNlXG4gICAgICAgKiBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCB0byBlbnN1cmUgd2UgZG9uJ3QgZGVsaXZlciB1bm5lY2Vzc2FyeSBvYnNlcnZhdGlvbnMuXG4gICAgICAgKiBGdXJ0aGVyIHJlYWRpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzhcbiAgICAgICAqL1xuICAgICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyQUYpO1xuICAgICAgICByQUYgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGhhbmRsZVJlc2l6ZSk7XG4gICAgICB9KTtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUockFGKTtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtlbGVtZW50LCBoYW5kbGVSZXNpemVdKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3BlblN0YXRlKG9wZW46IGJvb2xlYW4pIHtcbiAgcmV0dXJuIG9wZW4gPyAnb3BlbicgOiAnY2xvc2VkJztcbn1cblxuZnVuY3Rpb24gbWFrZVRyaWdnZXJJZChiYXNlSWQ6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gYCR7YmFzZUlkfS10cmlnZ2VyLSR7dmFsdWV9YDtcbn1cblxuZnVuY3Rpb24gbWFrZUNvbnRlbnRJZChiYXNlSWQ6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gYCR7YmFzZUlkfS1jb250ZW50LSR7dmFsdWV9YDtcbn1cblxuZnVuY3Rpb24gd2hlbk1vdXNlPEU+KGhhbmRsZXI6IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8RT4pOiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEU+IHtcbiAgcmV0dXJuIChldmVudCkgPT4gKGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbW91c2UnID8gaGFuZGxlcihldmVudCkgOiB1bmRlZmluZWQpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFJvb3QgPSBOYXZpZ2F0aW9uTWVudTtcbmNvbnN0IFN1YiA9IE5hdmlnYXRpb25NZW51U3ViO1xuY29uc3QgTGlzdCA9IE5hdmlnYXRpb25NZW51TGlzdDtcbmNvbnN0IEl0ZW0gPSBOYXZpZ2F0aW9uTWVudUl0ZW07XG5jb25zdCBUcmlnZ2VyID0gTmF2aWdhdGlvbk1lbnVUcmlnZ2VyO1xuY29uc3QgTGluayA9IE5hdmlnYXRpb25NZW51TGluaztcbmNvbnN0IEluZGljYXRvciA9IE5hdmlnYXRpb25NZW51SW5kaWNhdG9yO1xuY29uc3QgQ29udGVudCA9IE5hdmlnYXRpb25NZW51Q29udGVudDtcbmNvbnN0IFZpZXdwb3J0ID0gTmF2aWdhdGlvbk1lbnVWaWV3cG9ydDtcblxuZXhwb3J0IHtcbiAgY3JlYXRlTmF2aWdhdGlvbk1lbnVTY29wZSxcbiAgLy9cbiAgTmF2aWdhdGlvbk1lbnUsXG4gIE5hdmlnYXRpb25NZW51U3ViLFxuICBOYXZpZ2F0aW9uTWVudUxpc3QsXG4gIE5hdmlnYXRpb25NZW51SXRlbSxcbiAgTmF2aWdhdGlvbk1lbnVUcmlnZ2VyLFxuICBOYXZpZ2F0aW9uTWVudUxpbmssXG4gIE5hdmlnYXRpb25NZW51SW5kaWNhdG9yLFxuICBOYXZpZ2F0aW9uTWVudUNvbnRlbnQsXG4gIE5hdmlnYXRpb25NZW51Vmlld3BvcnQsXG4gIC8vXG4gIFJvb3QsXG4gIFN1YixcbiAgTGlzdCxcbiAgSXRlbSxcbiAgVHJpZ2dlcixcbiAgTGluayxcbiAgSW5kaWNhdG9yLFxuICBDb250ZW50LFxuICBWaWV3cG9ydCxcbn07XG5leHBvcnQgdHlwZSB7XG4gIE5hdmlnYXRpb25NZW51UHJvcHMsXG4gIE5hdmlnYXRpb25NZW51U3ViUHJvcHMsXG4gIE5hdmlnYXRpb25NZW51TGlzdFByb3BzLFxuICBOYXZpZ2F0aW9uTWVudUl0ZW1Qcm9wcyxcbiAgTmF2aWdhdGlvbk1lbnVUcmlnZ2VyUHJvcHMsXG4gIE5hdmlnYXRpb25NZW51TGlua1Byb3BzLFxuICBOYXZpZ2F0aW9uTWVudUluZGljYXRvclByb3BzLFxuICBOYXZpZ2F0aW9uTWVudUNvbnRlbnRQcm9wcyxcbiAgTmF2aWdhdGlvbk1lbnVWaWV3cG9ydFByb3BzLFxufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlJlYWN0RE9NIiwiY3JlYXRlQ29udGV4dFNjb3BlIiwiY29tcG9zZUV2ZW50SGFuZGxlcnMiLCJQcmltaXRpdmUiLCJkaXNwYXRjaERpc2NyZXRlQ3VzdG9tRXZlbnQiLCJ1c2VDb250cm9sbGFibGVTdGF0ZSIsImNvbXBvc2VSZWZzIiwidXNlQ29tcG9zZWRSZWZzIiwidXNlRGlyZWN0aW9uIiwiUHJlc2VuY2UiLCJ1c2VJZCIsImNyZWF0ZUNvbGxlY3Rpb24iLCJEaXNtaXNzYWJsZUxheWVyIiwidXNlUHJldmlvdXMiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDYWxsYmFja1JlZiIsIlZpc3VhbGx5SGlkZGVuUHJpbWl0aXZlIiwiRnJhZ21lbnQiLCJqc3giLCJqc3hzIiwiTkFWSUdBVElPTl9NRU5VX05BTUUiLCJDb2xsZWN0aW9uIiwidXNlQ29sbGVjdGlvbiIsImNyZWF0ZUNvbGxlY3Rpb25TY29wZSIsIkZvY3VzR3JvdXBDb2xsZWN0aW9uIiwidXNlRm9jdXNHcm91cENvbGxlY3Rpb24iLCJjcmVhdGVGb2N1c0dyb3VwQ29sbGVjdGlvblNjb3BlIiwiY3JlYXRlTmF2aWdhdGlvbk1lbnVDb250ZXh0IiwiY3JlYXRlTmF2aWdhdGlvbk1lbnVTY29wZSIsIk5hdmlnYXRpb25NZW51UHJvdmlkZXJJbXBsIiwidXNlTmF2aWdhdGlvbk1lbnVDb250ZXh0IiwiVmlld3BvcnRDb250ZW50UHJvdmlkZXIiLCJ1c2VWaWV3cG9ydENvbnRlbnRDb250ZXh0IiwiTmF2aWdhdGlvbk1lbnUiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJfX3Njb3BlTmF2aWdhdGlvbk1lbnUiLCJ2YWx1ZSIsInZhbHVlUHJvcCIsIm9uVmFsdWVDaGFuZ2UiLCJkZWZhdWx0VmFsdWUiLCJkZWxheUR1cmF0aW9uIiwic2tpcERlbGF5RHVyYXRpb24iLCJvcmllbnRhdGlvbiIsImRpciIsIk5hdmlnYXRpb25NZW51UHJvcHMiLCJuYXZpZ2F0aW9uTWVudSIsInNldE5hdmlnYXRpb25NZW51IiwidXNlU3RhdGUiLCJjb21wb3NlZFJlZiIsIm5vZGUiLCJkaXJlY3Rpb24iLCJvcGVuVGltZXJSZWYiLCJ1c2VSZWYiLCJjbG9zZVRpbWVyUmVmIiwic2tpcERlbGF5VGltZXJSZWYiLCJpc09wZW5EZWxheWVkIiwic2V0SXNPcGVuRGVsYXllZCIsInNldFZhbHVlIiwicHJvcCIsIm9uQ2hhbmdlIiwiaXNPcGVuIiwiaGFzU2tpcERlbGF5RHVyYXRpb24iLCJ3aW5kb3ciLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50Iiwic2V0VGltZW91dCIsImRlZmF1bHRQcm9wIiwic3RhcnRDbG9zZVRpbWVyIiwidXNlQ2FsbGJhY2siLCJoYW5kbGVPcGVuIiwiaXRlbVZhbHVlIiwiaGFuZGxlRGVsYXllZE9wZW4iLCJpc09wZW5JdGVtIiwidXNlRWZmZWN0IiwiTmF2aWdhdGlvbk1lbnVQcm92aWRlciIsInNjb3BlIiwiaXNSb290TWVudSIsInJvb3ROYXZpZ2F0aW9uTWVudSIsIm9uVHJpZ2dlckVudGVyIiwib25UcmlnZ2VyTGVhdmUiLCJvbkNvbnRlbnRFbnRlciIsIm9uQ29udGVudExlYXZlIiwib25JdGVtU2VsZWN0IiwicHJldlZhbHVlIiwib25JdGVtRGlzbWlzcyIsImNoaWxkcmVuIiwibmF2IiwicmVmIiwiZGlzcGxheU5hbWUiLCJTVUJfTkFNRSIsIk5hdmlnYXRpb25NZW51U3ViIiwic3ViUHJvcHMiLCJjb250ZXh0IiwiZGl2Iiwidmlld3BvcnQiLCJzZXRWaWV3cG9ydCIsInZpZXdwb3J0Q29udGVudCIsInNldFZpZXdwb3J0Q29udGVudCIsIk1hcCIsImluZGljYXRvclRyYWNrIiwic2V0SW5kaWNhdG9yVHJhY2siLCJwcmV2aW91c1ZhbHVlIiwiYmFzZUlkIiwib25WaWV3cG9ydENoYW5nZSIsIm9uSW5kaWNhdG9yVHJhY2tDaGFuZ2UiLCJvblZpZXdwb3J0Q29udGVudENoYW5nZSIsImNvbnRlbnRWYWx1ZSIsImNvbnRlbnREYXRhIiwicHJldkNvbnRlbnQiLCJzZXQiLCJvblZpZXdwb3J0Q29udGVudFJlbW92ZSIsImhhcyIsImRlbGV0ZSIsIlByb3ZpZGVyIiwiaXRlbXMiLCJMSVNUX05BTUUiLCJOYXZpZ2F0aW9uTWVudUxpc3QiLCJsaXN0UHJvcHMiLCJsaXN0IiwidWwiLCJzdHlsZSIsInBvc2l0aW9uIiwiU2xvdCIsIkZvY3VzR3JvdXAiLCJhc0NoaWxkIiwiSVRFTV9OQU1FIiwiTmF2aWdhdGlvbk1lbnVJdGVtQ29udGV4dFByb3ZpZGVyIiwidXNlTmF2aWdhdGlvbk1lbnVJdGVtQ29udGV4dCIsIk5hdmlnYXRpb25NZW51SXRlbSIsIml0ZW1Qcm9wcyIsImF1dG9WYWx1ZSIsImNvbnRlbnRSZWYiLCJ0cmlnZ2VyUmVmIiwiZm9jdXNQcm94eVJlZiIsInJlc3RvcmVDb250ZW50VGFiT3JkZXJSZWYiLCJ3YXNFc2NhcGVDbG9zZVJlZiIsImhhbmRsZUNvbnRlbnRFbnRyeSIsInNpZGUiLCJjYW5kaWRhdGVzIiwiZ2V0VGFiYmFibGVDYW5kaWRhdGVzIiwibGVuZ3RoIiwiZm9jdXNGaXJzdCIsInJldmVyc2UiLCJoYW5kbGVDb250ZW50RXhpdCIsInJlbW92ZUZyb21UYWJPcmRlciIsIm9uRW50cnlLZXlEb3duIiwib25Gb2N1c1Byb3h5RW50ZXIiLCJvblJvb3RDb250ZW50Q2xvc2UiLCJvbkNvbnRlbnRGb2N1c091dHNpZGUiLCJsaSIsIlRSSUdHRVJfTkFNRSIsIk5hdmlnYXRpb25NZW51VHJpZ2dlciIsImRpc2FibGVkIiwidHJpZ2dlclByb3BzIiwiaXRlbUNvbnRleHQiLCJjb21wb3NlZFJlZnMiLCJ0cmlnZ2VySWQiLCJtYWtlVHJpZ2dlcklkIiwiY29udGVudElkIiwibWFrZUNvbnRlbnRJZCIsImhhc1BvaW50ZXJNb3ZlT3BlbmVkUmVmIiwid2FzQ2xpY2tDbG9zZVJlZiIsIm9wZW4iLCJJdGVtU2xvdCIsIkZvY3VzR3JvdXBJdGVtIiwiYnV0dG9uIiwiaWQiLCJnZXRPcGVuU3RhdGUiLCJvblBvaW50ZXJFbnRlciIsIm9uUG9pbnRlck1vdmUiLCJ3aGVuTW91c2UiLCJvblBvaW50ZXJMZWF2ZSIsIm9uQ2xpY2siLCJvbktleURvd24iLCJldmVudCIsInZlcnRpY2FsRW50cnlLZXkiLCJlbnRyeUtleSIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsImtleSIsInByZXZlbnREZWZhdWx0IiwiUm9vdCIsInRhYkluZGV4Iiwib25Gb2N1cyIsImNvbnRlbnQiLCJwcmV2Rm9jdXNlZEVsZW1lbnQiLCJyZWxhdGVkVGFyZ2V0Iiwid2FzVHJpZ2dlckZvY3VzZWQiLCJ3YXNGb2N1c0Zyb21Db250ZW50IiwiY29udGFpbnMiLCJMSU5LX05BTUUiLCJMSU5LX1NFTEVDVCIsIk5hdmlnYXRpb25NZW51TGluayIsImFjdGl2ZSIsIm9uU2VsZWN0IiwibGlua1Byb3BzIiwiYSIsInRhcmdldCIsImxpbmtTZWxlY3RFdmVudCIsIkN1c3RvbUV2ZW50IiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJhZGRFdmVudExpc3RlbmVyIiwib25jZSIsImRlZmF1bHRQcmV2ZW50ZWQiLCJtZXRhS2V5Iiwicm9vdENvbnRlbnREaXNtaXNzRXZlbnQiLCJST09UX0NPTlRFTlRfRElTTUlTUyIsImNoZWNrRm9yRGVmYXVsdFByZXZlbnRlZCIsIklORElDQVRPUl9OQU1FIiwiTmF2aWdhdGlvbk1lbnVJbmRpY2F0b3IiLCJmb3JjZU1vdW50IiwiaW5kaWNhdG9yUHJvcHMiLCJpc1Zpc2libGUiLCJCb29sZWFuIiwiY3JlYXRlUG9ydGFsIiwicHJlc2VudCIsIk5hdmlnYXRpb25NZW51SW5kaWNhdG9ySW1wbCIsImdldEl0ZW1zIiwiYWN0aXZlVHJpZ2dlciIsInNldEFjdGl2ZVRyaWdnZXIiLCJzZXRQb3NpdGlvbiIsImlzSG9yaXpvbnRhbCIsInRyaWdnZXJOb2RlIiwiZmluZCIsIml0ZW0iLCJoYW5kbGVQb3NpdGlvbkNoYW5nZSIsInNpemUiLCJvZmZzZXRXaWR0aCIsIm9mZnNldEhlaWdodCIsIm9mZnNldCIsIm9mZnNldExlZnQiLCJvZmZzZXRUb3AiLCJ1c2VSZXNpemVPYnNlcnZlciIsImxlZnQiLCJ3aWR0aCIsInRyYW5zZm9ybSIsInRvcCIsImhlaWdodCIsIkNPTlRFTlRfTkFNRSIsIk5hdmlnYXRpb25NZW51Q29udGVudCIsImNvbnRlbnRQcm9wcyIsImNvbW1vblByb3BzIiwiTmF2aWdhdGlvbk1lbnVDb250ZW50SW1wbCIsInBvaW50ZXJFdmVudHMiLCJWaWV3cG9ydENvbnRlbnRNb3VudGVyIiwicHJldk1vdGlvbkF0dHJpYnV0ZVJlZiIsImhhbmRsZUNsb3NlIiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiZm9jdXMiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibW90aW9uQXR0cmlidXRlIiwidXNlTWVtbyIsInZhbHVlcyIsIm1hcCIsImluZGV4IiwiaW5kZXhPZiIsInByZXZJbmRleCIsImlzU2VsZWN0ZWQiLCJ3YXNTZWxlY3RlZCIsImF0dHJpYnV0ZSIsImRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cyIsIm9uRGlzbWlzcyIsIkV2ZW50IiwiZGlzcGF0Y2hFdmVudCIsIm9uRm9jdXNPdXRzaWRlIiwib25Qb2ludGVyRG93bk91dHNpZGUiLCJpc1RyaWdnZXIiLCJzb21lIiwiaXNSb290Vmlld3BvcnQiLCJpc01ldGFLZXkiLCJhbHRLZXkiLCJjdHJsS2V5IiwiaXNUYWJLZXkiLCJjdXJyZW50VGFyZ2V0IiwiZm9jdXNlZEVsZW1lbnQiLCJmaW5kSW5kZXgiLCJjYW5kaWRhdGUiLCJpc01vdmluZ0JhY2t3YXJkcyIsInNoaWZ0S2V5IiwibmV4dENhbmRpZGF0ZXMiLCJzbGljZSIsIm9uRXNjYXBlS2V5RG93biIsIlZJRVdQT1JUX05BTUUiLCJOYXZpZ2F0aW9uTWVudVZpZXdwb3J0Iiwidmlld3BvcnRQcm9wcyIsIk5hdmlnYXRpb25NZW51Vmlld3BvcnRJbXBsIiwidmlld3BvcnRJbXBsUHJvcHMiLCJ2aWV3cG9ydENvbnRlbnRDb250ZXh0Iiwic2V0U2l6ZSIsInNldENvbnRlbnQiLCJ2aWV3cG9ydFdpZHRoIiwidmlld3BvcnRIZWlnaHQiLCJhY3RpdmVDb250ZW50VmFsdWUiLCJoYW5kbGVTaXplQ2hhbmdlIiwiQXJyYXkiLCJmcm9tIiwiaXNBY3RpdmUiLCJGT0NVU19HUk9VUF9OQU1FIiwiZ3JvdXBQcm9wcyIsIkFSUk9XX0tFWVMiLCJGT0NVU19HUk9VUF9JVEVNX05BTUUiLCJpc0ZvY3VzTmF2aWdhdGlvbktleSIsImluY2x1ZGVzIiwiY2FuZGlkYXRlTm9kZXMiLCJwcmV2SXRlbUtleSIsInByZXZLZXlzIiwiY3VycmVudEluZGV4IiwiY29udGFpbmVyIiwibm9kZXMiLCJ3YWxrZXIiLCJjcmVhdGVUcmVlV2Fsa2VyIiwiTm9kZUZpbHRlciIsIlNIT1dfRUxFTUVOVCIsImFjY2VwdE5vZGUiLCJpc0hpZGRlbklucHV0IiwidGFnTmFtZSIsInR5cGUiLCJoaWRkZW4iLCJGSUxURVJfU0tJUCIsIkZJTFRFUl9BQ0NFUFQiLCJuZXh0Tm9kZSIsInB1c2giLCJjdXJyZW50Tm9kZSIsInByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCIsImZvckVhY2giLCJkYXRhc2V0IiwidGFiaW5kZXgiLCJnZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGUiLCJwcmV2VGFiSW5kZXgiLCJlbGVtZW50Iiwib25SZXNpemUiLCJoYW5kbGVSZXNpemUiLCJyQUYiLCJyZXNpemVPYnNlcnZlciIsIlJlc2l6ZU9ic2VydmVyIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJvYnNlcnZlIiwidW5vYnNlcnZlIiwiaGFuZGxlciIsInBvaW50ZXJUeXBlIiwiU3ViIiwiTGlzdCIsIkl0ZW0iLCJUcmlnZ2VyIiwiTGluayIsIkluZGljYXRvciIsIkNvbnRlbnQiLCJWaWV3cG9ydCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-navigation-menu/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-portal/dist/index.mjs":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-portal/dist/index.mjs ***!
|
|
\************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Portal: () => (/* binding */ Portal),\n/* harmony export */ Root: () => (/* binding */ Root)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Portal,Root auto */ // packages/react/portal/src/Portal.tsx\n\n\n\n\n\nvar PORTAL_NAME = \"Portal\";\nvar Portal = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_3__.useLayoutEffect)(()=>setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? /*#__PURE__*/ react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_4__.Primitive.div, {\n ...portalProps,\n ref: forwardedRef\n }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXBvcnRhbC9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUF1QjtBQUNGO0FBQ0s7QUFDTTtBQXVCSjtBQWpCNUIsSUFBTUssY0FBYztBQVdwQixJQUFNQyx1QkFBZU4sNkNBQUEsQ0FBdUMsQ0FBQ1EsT0FBT0M7SUFDbEUsTUFBTSxFQUFFQyxXQUFXQyxhQUFBLEVBQWUsR0FBR0MsYUFBWSxHQUFJSjtJQUNyRCxNQUFNLENBQUNLLFNBQVNDLFdBQVUsR0FBVWQsMkNBQUEsQ0FBUztJQUM3Q0csa0ZBQWVBLENBQUMsSUFBTVcsV0FBVyxPQUFPLEVBQUU7SUFDMUMsTUFBTUosWUFBWUMsaUJBQWtCRSxXQUFXRyxZQUFZQyxVQUFVQztJQUNyRSxPQUFPUiwwQkFDSFQsbURBQVMsQ0FBYSxnQkFBQUcsc0RBQUFBLENBQUNGLGdFQUFTQSxDQUFDa0IsR0FBQSxFQUFWO1FBQWUsR0FBR1IsV0FBQTtRQUFhUyxLQUFLWjtJQUFBLElBQWtCQyxhQUM3RTtBQUNOO0FBRUFKLE9BQU9nQixXQUFBLEdBQWNqQjtBQUlyQixJQUFNa0IsT0FBT2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uLi9zcmMvUG9ydGFsLnRzeD9iNjc2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtdXNlLWxheW91dC1lZmZlY3QnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQb3J0YWxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgUE9SVEFMX05BTUUgPSAnUG9ydGFsJztcblxudHlwZSBQb3J0YWxFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG50eXBlIFByaW1pdGl2ZURpdlByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBQb3J0YWxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGNvbnRhaW5lciB3aGVyZSB0aGUgcG9ydGFsZWQgY29udGVudCBzaG91bGQgYmUgYXBwZW5kZWQuXG4gICAqL1xuICBjb250YWluZXI/OiBFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB8IG51bGw7XG59XG5cbmNvbnN0IFBvcnRhbCA9IFJlYWN0LmZvcndhcmRSZWY8UG9ydGFsRWxlbWVudCwgUG9ydGFsUHJvcHM+KChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY29udGFpbmVyOiBjb250YWluZXJQcm9wLCAuLi5wb3J0YWxQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IFttb3VudGVkLCBzZXRNb3VudGVkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHNldE1vdW50ZWQodHJ1ZSksIFtdKTtcbiAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUHJvcCB8fCAobW91bnRlZCAmJiBnbG9iYWxUaGlzPy5kb2N1bWVudD8uYm9keSk7XG4gIHJldHVybiBjb250YWluZXJcbiAgICA/IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbCg8UHJpbWl0aXZlLmRpdiB7Li4ucG9ydGFsUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPiwgY29udGFpbmVyKVxuICAgIDogbnVsbDtcbn0pO1xuXG5Qb3J0YWwuZGlzcGxheU5hbWUgPSBQT1JUQUxfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBSb290ID0gUG9ydGFsO1xuXG5leHBvcnQge1xuICBQb3J0YWwsXG4gIC8vXG4gIFJvb3QsXG59O1xuZXhwb3J0IHR5cGUgeyBQb3J0YWxQcm9wcyB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiUmVhY3RET00iLCJQcmltaXRpdmUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJqc3giLCJQT1JUQUxfTkFNRSIsIlBvcnRhbCIsImZvcndhcmRSZWYiLCJwcm9wcyIsImZvcndhcmRlZFJlZiIsImNvbnRhaW5lciIsImNvbnRhaW5lclByb3AiLCJwb3J0YWxQcm9wcyIsIm1vdW50ZWQiLCJzZXRNb3VudGVkIiwidXNlU3RhdGUiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJib2R5IiwiY3JlYXRlUG9ydGFsIiwiZGl2IiwicmVmIiwiZGlzcGxheU5hbWUiLCJSb290Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-portal/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs":
|
|
/*!**************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-presence/dist/index.mjs ***!
|
|
\**************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Presence: () => (/* binding */ Presence)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Presence auto */ // packages/react/presence/src/Presence.tsx\n\n\n\n// packages/react/presence/src/useStateMachine.tsx\n\nfunction useStateMachine(initialState, machine) {\n return react__WEBPACK_IMPORTED_MODULE_0__.useReducer((state, event)=>{\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props)=>{\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({\n present: presence.isPresent\n }) : react__WEBPACK_IMPORTED_MODULE_0__.Children.only(children);\n const ref = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_1__.useComposedRefs)(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(child, {\n ref\n }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n const stylesRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef({});\n const prevPresentRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(present);\n const prevAnimationNameRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [\n state\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect)(()=>{\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [\n present,\n send\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect)(()=>{\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event)=>{\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(()=>{\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event)=>{\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return ()=>{\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [\n node,\n send\n ]);\n return {\n isPresent: [\n \"mounted\",\n \"unmountSuspended\"\n ].includes(state),\n ref: react__WEBPACK_IMPORTED_MODULE_0__.useCallback((node2)=>{\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVCO0FBQ1M7QUFDQTs7QUNGVDtBQVdoQixTQUFTRyxnQkFDZEMsWUFBQSxFQUNBQyxPQUFBO0lBRUEsT0FBYUwsNkNBQUEsQ0FBVyxDQUFDTyxPQUF3QkM7UUFDL0MsTUFBTUMsWUFBYUosT0FBQSxDQUFRRSxNQUFLLENBQVVDLE1BQUs7UUFDL0MsT0FBT0MsYUFBYUY7SUFDdEIsR0FBR0g7QUFDTDs7QURUQSxJQUFNTSxXQUFvQyxDQUFDQztJQUN6QyxNQUFNLEVBQUVDLE9BQUEsRUFBU0MsUUFBQSxFQUFTLEdBQUlGO0lBQzlCLE1BQU1HLFdBQVdDLFlBQVlIO0lBRTdCLE1BQU1JLFFBQ0osT0FBT0gsYUFBYSxhQUNoQkEsU0FBUztRQUFFRCxTQUFTRSxTQUFTRyxTQUFBO0lBQVUsS0FDakNDLDJDQUFBLENBQVNFLElBQUEsQ0FBS1A7SUFHMUIsTUFBTVEsTUFBTXBCLDZFQUFlQSxDQUFDYSxTQUFTTyxHQUFBLEVBQUtDLGNBQWNOO0lBQ3hELE1BQU1PLGFBQWEsT0FBT1YsYUFBYTtJQUN2QyxPQUFPVSxjQUFjVCxTQUFTRyxTQUFBLGlCQUFrQkMsK0NBQUEsQ0FBYUYsT0FBTztRQUFFSztJQUFJLEtBQUs7QUFDakY7QUFFQVgsU0FBU2UsV0FBQSxHQUFjO0FBTXZCLFNBQVNWLFlBQVlILE9BQUE7SUFDbkIsTUFBTSxDQUFDYyxNQUFNQyxRQUFPLEdBQVVULDJDQUFBO0lBQzlCLE1BQU1XLFlBQWtCWCx5Q0FBQSxDQUE0QixDQUFDO0lBQ3JELE1BQU1hLGlCQUF1QmIseUNBQUEsQ0FBT047SUFDcEMsTUFBTW9CLHVCQUE2QmQseUNBQUEsQ0FBZTtJQUNsRCxNQUFNZCxlQUFlUSxVQUFVLFlBQVk7SUFDM0MsTUFBTSxDQUFDTCxPQUFPMEIsS0FBSSxHQUFJOUIsZ0JBQWdCQyxjQUFjO1FBQ2xEOEIsU0FBUztZ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QUNQO0FBQ0Y7QUFJQSxTQUFTaUIsaUJBQWlCRSxNQUFBO0lBQ3hCLE9BQU9BLFFBQVFjLGlCQUFpQjtBQUNsQztBQU9BLFNBQVNyQyxjQUFjaUQsT0FBQTtJQUVyQixJQUFJQyxTQUFTQyxPQUFPQyx3QkFBQSxDQUF5QkgsUUFBUTVELEtBQUEsRUFBTyxRQUFRZ0U7SUFDcEUsSUFBSUMsVUFBVUosVUFBVSxvQkFBb0JBLFVBQVVBLE9BQU9LLGNBQUE7SUFDN0QsSUFBSUQsU0FBUztRQUNYLE9BQVFMLFFBQWdCbEQsR0FBQTtJQUMxQjtJQUdBbUQsU0FBU0MsT0FBT0Msd0JBQUEsQ0FBeUJILFNBQVMsUUFBUUk7SUFDMURDLFVBQVVKLFVBQVUsb0JBQW9CQSxVQUFVQSxPQUFPSyxjQUFBO0lBQ3pELElBQUlELFNBQVM7UUFDWCxPQUFPTCxRQUFRNUQsS0FBQSxDQUFNVSxHQUFBO0lBQ3ZCO0lBR0EsT0FBT2tELFFBQVE1RCxLQUFBLENBQU1VLEdBQUEsSUFBUWtELFFBQWdCbEQsR0FBQTtBQUMvQyIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi4vc3JjL1ByZXNlbmNlLnRzeD84YjM5Iiwid2VicGFjazovL215LXYwLXByb2plY3QvLi4vc3JjL3VzZVN0YXRlTWFjaGluZS50c3g/YTMyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtbGF5b3V0LWVmZmVjdCc7XG5pbXBvcnQgeyB1c2VTdGF0ZU1hY2hpbmUgfSBmcm9tICcuL3VzZVN0YXRlTWFjaGluZSc7XG5cbmludGVyZmFjZSBQcmVzZW5jZVByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudCB8ICgocHJvcHM6IHsgcHJlc2VudDogYm9vbGVhbiB9KSA9PiBSZWFjdC5SZWFjdEVsZW1lbnQpO1xuICBwcmVzZW50OiBib29sZWFuO1xufVxuXG5jb25zdCBQcmVzZW5jZTogUmVhY3QuRkM8UHJlc2VuY2VQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwcmVzZW50LCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIGNvbnN0IHByZXNlbmNlID0gdXNlUHJlc2VuY2UocHJlc2VudCk7XG5cbiAgY29uc3QgY2hpbGQgPSAoXG4gICAgdHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nXG4gICAgICA/IGNoaWxkcmVuKHsgcHJlc2VudDogcHJlc2VuY2UuaXNQcmVzZW50IH0pXG4gICAgICA6IFJlYWN0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pXG4gICkgYXMgUmVhY3QuUmVhY3RFbGVtZW50PHsgcmVmPzogUmVhY3QuUmVmPEhUTUxFbGVtZW50PiB9PjtcblxuICBjb25zdCByZWYgPSB1c2VDb21wb3NlZFJlZnMocHJlc2VuY2UucmVmLCBnZXRFbGVtZW50UmVmKGNoaWxkKSk7XG4gIGNvbnN0IGZvcmNlTW91bnQgPSB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbic7XG4gIHJldHVybiBmb3JjZU1vdW50IHx8IHByZXNlbmNlLmlzUHJlc2VudCA/IFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgeyByZWYgfSkgOiBudWxsO1xufTtcblxuUHJlc2VuY2UuZGlzcGxheU5hbWUgPSAnUHJlc2VuY2UnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiB1c2VQcmVzZW5jZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiB1c2VQcmVzZW5jZShwcmVzZW50OiBib29sZWFuKSB7XG4gIGNvbnN0IFtub2RlLCBzZXROb2RlXSA9IFJlYWN0LnVzZVN0YXRlPEhUTUxFbGVtZW50PigpO1xuICBjb25zdCBzdHlsZXNSZWYgPSBSZWFjdC51c2VSZWY8Q1NTU3R5bGVEZWNsYXJhdGlvbj4oe30gYXMgYW55KTtcbiAgY29uc3QgcHJldlByZXNlbnRSZWYgPSBSZWFjdC51c2VSZWYocHJlc2VudCk7XG4gIGNvbnN0IHByZXZBbmltYXRpb25OYW1lUmVmID0gUmVhY3QudXNlUmVmPHN0cmluZz4oJ25vbmUnKTtcbiAgY29uc3QgaW5pdGlhbFN0YXRlID0gcHJlc2VudCA/ICdtb3VudGVkJyA6ICd1bm1vdW50ZWQnO1xuICBjb25zdCBbc3RhdGUsIHNlbmRdID0gdXNlU3RhdGVNYWNoaW5lKGluaXRpYWxTdGF0ZSwge1xuICAgIG1vdW50ZWQ6IHtcbiAgICAgIFVOTU9VTlQ6ICd1bm1vdW50ZWQnLFxuICAgICAgQU5JTUFUSU9OX09VVDogJ3VubW91bnRTdXNwZW5kZWQnLFxuICAgIH0sXG4gICAgdW5tb3VudFN1c3BlbmRlZDoge1xuICAgICAgTU9VTlQ6ICdtb3VudGVkJyxcbiAgICAgIEFOSU1BVElPTl9FTkQ6ICd1bm1vdW50ZWQnLFxuICAgIH0sXG4gICAgdW5tb3VudGVkOiB7XG4gICAgICBNT1VOVDogJ21vdW50ZWQnLFxuICAgIH0sXG4gIH0pO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudEFuaW1hdGlvbk5hbWUgPSBnZXRBbmltYXRpb25OYW1lKHN0eWxlc1JlZi5jdXJyZW50KTtcbiAgICBwcmV2QW5pbWF0aW9uTmFtZVJlZi5jdXJyZW50ID0gc3RhdGUgPT09ICdtb3VudGVkJyA/IGN1cnJlbnRBbmltYXRpb25OYW1lIDogJ25vbmUnO1xuICB9LCBbc3RhdGVdKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHN0eWxlcyA9IHN0eWxlc1JlZi5jdXJyZW50O1xuICAgIGNvbnN0IHdhc1ByZXNlbnQgPSBwcmV2UHJlc2VudFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGhhc1ByZXNlbnRDaGFuZ2VkID0gd2FzUHJlc2VudCAhPT0gcHJlc2VudDtcblxuICAgIGlmIChoYXNQcmVzZW50Q2hhbmdlZCkge1xuICAgICAgY29uc3QgcHJldkFuaW1hdGlvbk5hbWUgPSBwcmV2QW5pbWF0aW9uTmFtZVJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgY3VycmVudEFuaW1hdGlvbk5hbWUgPSBnZXRBbmltYXRpb25OYW1lKHN0eWxlcyk7XG5cbiAgICAgIGlmIChwcmVzZW50KSB7XG4gICAgICAgIHNlbmQoJ01PVU5UJyk7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRBbmltYXRpb25OYW1lID09PSAnbm9uZScgfHwgc3R5bGVzPy5kaXNwbGF5ID09PSAnbm9uZScpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZXhpdCBhbmltYXRpb24gb3IgdGhlIGVsZW1lbnQgaXMgaGlkZGVuLCBhbmltYXRpb25zIHdvbid0IHJ1blxuICAgICAgICAvLyBzbyB3ZSB1bm1vdW50IGluc3RhbnRseVxuICAgICAgICBzZW5kKCdVTk1PVU5UJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKipcbiAgICAgICAgICogV2hlbiBgcHJlc2VudGAgY2hhbmdlcyB0byBgZmFsc2VgLCB3ZSBjaGVjayBjaGFuZ2VzIHRvIGFuaW1hdGlvbi1uYW1lIHRvXG4gICAgICAgICAqIGRldGVybWluZSB3aGV0aGVyIGFuIGFuaW1hdGlvbiBoYXMgc3RhcnRlZC4gV2UgY2hvc2UgdGhpcyBhcHByb2FjaCAocmVhZGluZ1xuICAgICAgICAgKiBjb21wdXRlZCBzdHlsZXMpIGJlY2F1c2UgdGhlcmUgaXMgbm8gYGFuaW1hdGlvbnJ1bmAgZXZlbnQgYW5kIGBhbmltYXRpb25zdGFydGBcbiAgICAgICAgICogZmlyZXMgYWZ0ZXIgYGFuaW1hdGlvbi1kZWxheWAgaGFzIGV4cGlyZWQgd2hpY2ggd291bGQgYmUgdG9vIGxhdGUuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBpc0FuaW1hdGluZyA9IHByZXZBbmltYXRpb25OYW1lICE9PSBjdXJyZW50QW5pbWF0aW9uTmFtZTtcblxuICAgICAgICBpZiAod2FzUHJlc2VudCAmJiBpc0FuaW1hdGluZykge1xuICAgICAgICAgIHNlbmQoJ0FOSU1BVElPTl9PVVQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZW5kKCdVTk1PVU5UJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHJldlByZXNlbnRSZWYuY3VycmVudCA9IHByZXNlbnQ7XG4gICAgfVxuICB9LCBbcHJlc2VudCwgc2VuZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIGxldCB0aW1lb3V0SWQ6IG51bWJlcjtcbiAgICAgIGNvbnN0IG93bmVyV2luZG93ID0gbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3ID8/IHdpbmRvdztcbiAgICAgIC8qKlxuICAgICAgICogVHJpZ2dlcmluZyBhbiBBTklNQVRJT05fT1VUIGR1cmluZyBhbiBBTklNQVRJT05fSU4gd2lsbCBmaXJlIGFuIGBhbmltYXRpb25jYW5jZWxgXG4gICAgICAgKiBldmVudCBmb3IgQU5JTUFUSU9OX0lOIGFmdGVyIHdlIGhhdmUgZW50ZXJlZCBgdW5tb3VudFN1c3BlbmRlZGAgc3RhdGUuIFNvLCB3ZVxuICAgICAgICogbWFrZSBzdXJlIHdlIG9ubHkgdHJpZ2dlciBBTklNQVRJT05fRU5EIGZvciB0aGUgY3VycmVudGx5IGFjdGl2ZSBhbmltYXRpb24uXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGhhbmRsZUFuaW1hdGlvbkVuZCA9IChldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEFuaW1hdGlvbk5hbWUgPSBnZXRBbmltYXRpb25OYW1lKHN0eWxlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgY29uc3QgaXNDdXJyZW50QW5pbWF0aW9uID0gY3VycmVudEFuaW1hdGlvbk5hbWUuaW5jbHVkZXMoZXZlbnQuYW5pbWF0aW9uTmFtZSk7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IG5vZGUgJiYgaXNDdXJyZW50QW5pbWF0aW9uKSB7XG4gICAgICAgICAgLy8gV2l0aCBSZWFjdCAxOCBjb25jdXJyZW5jeSB0aGlzIHVwZGF0ZSBpcyBhcHBsaWVkIGEgZnJhbWUgYWZ0ZXIgdGhlXG4gICAgICAgICAgLy8gYW5pbWF0aW9uIGVuZHMsIGNyZWF0aW5nIGEgZmxhc2ggb2YgdmlzaWJsZSBjb250ZW50LiBCeSBzZXR0aW5nIHRoZVxuICAgICAgICAgIC8vIGFuaW1hdGlvbiBmaWxsIG1vZGUgdG8gXCJmb3J3YXJkc1wiLCB3ZSBmb3JjZSB0aGUgbm9kZSB0byBrZWVwIHRoZVxuICAgICAgICAgIC8vIHN0eWxlcyBvZiB0aGUgbGFzdCBrZXlmcmFtZSwgcmVtb3ZpbmcgdGhlIGZsYXNoLlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gUHJldmlvdXNseSB3ZSBmbHVzaGVkIHRoZSB1cGRhdGUgdmlhIFJlYWN0RG9tLmZsdXNoU3luYywgYnV0IHdpdGhcbiAgICAgICAgICAvLyBleGl0IGFuaW1hdGlvbnMgdGhpcyByZXN1bHRlZCBpbiB0aGUgbm9kZSBiZWluZyByZW1vdmVkIGZyb20gdGhlXG4gICAgICAgICAgLy8gRE9NIGJlZm9yZSB0aGUgc3ludGhldGljIGFuaW1hdGlvbkVuZCBldmVudCB3YXMgZGlzcGF0Y2hlZCwgbWVhbmluZ1xuICAgICAgICAgIC8vIHVzZXItcHJvdmlkZWQgZXZlbnQgaGFuZGxlcnMgd291bGQgbm90IGJlIGNhbGxlZC5cbiAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcmFkaXgtdWkvcHJpbWl0aXZlcy9wdWxsLzE4NDlcbiAgICAgICAgICBzZW5kKCdBTklNQVRJT05fRU5EJyk7XG4gICAgICAgICAgaWYgKCFwcmV2UHJlc2VudFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RmlsbE1vZGUgPSBub2RlLnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlO1xuICAgICAgICAgICAgbm9kZS5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9ICdmb3J3YXJkcyc7XG4gICAgICAgICAgICAvLyBSZXNldCB0aGUgc3R5bGUgYWZ0ZXIgdGhlIG5vZGUgaGFkIHRpbWUgdG8gdW5tb3VudCAoZm9yIGNhc2VzXG4gICAgICAgICAgICAvLyB3aGVyZSB0aGUgY29tcG9uZW50IGNob29zZXMgbm90IHRvIHVubW91bnQpLiBEb2luZyB0aGlzIGFueVxuICAgICAgICAgICAgLy8gc29vbmVyIHRoYW4gYHNldFRpbWVvdXRgIChlLmcuIHdpdGggYHJlcXVlc3RBbmltYXRpb25GcmFtZWApXG4gICAgICAgICAgICAvLyBzdGlsbCBjYXVzZXMgYSBmbGFzaC5cbiAgICAgICAgICAgIHRpbWVvdXRJZCA9IG93bmVyV2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAobm9kZS5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9PT0gJ2ZvcndhcmRzJykge1xuICAgICAgICAgICAgICAgIG5vZGUuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSBjdXJyZW50RmlsbE1vZGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGhhbmRsZUFuaW1hdGlvblN0YXJ0ID0gKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBub2RlKSB7XG4gICAgICAgICAgLy8gaWYgYW5pbWF0aW9uIG9jY3VycmVkLCBzdG9yZSBpdHMgbmFtZSBhcyB0aGUgcHJldmlvdXMgYW5pbWF0aW9uLlxuICAgICAgICAgIHByZXZBbmltYXRpb25OYW1lUmVmLmN1cnJlbnQgPSBnZXRBbmltYXRpb25OYW1lKHN0eWxlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uc3RhcnQnLCBoYW5kbGVBbmltYXRpb25TdGFydCk7XG4gICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmNhbmNlbCcsIGhhbmRsZUFuaW1hdGlvbkVuZCk7XG4gICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIGhhbmRsZUFuaW1hdGlvbkVuZCk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBvd25lcldpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25zdGFydCcsIGhhbmRsZUFuaW1hdGlvblN0YXJ0KTtcbiAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25jYW5jZWwnLCBoYW5kbGVBbmltYXRpb25FbmQpO1xuICAgICAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIGhhbmRsZUFuaW1hdGlvbkVuZCk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSB1bm1vdW50ZWQgc3RhdGUgaWYgdGhlIG5vZGUgaXMgcmVtb3ZlZCBwcmVtYXR1cmVseS5cbiAgICAgIC8vIFdlIGF2b2lkIGRvaW5nIHNvIGR1cmluZyBjbGVhbnVwIGFzIHRoZSBub2RlIG1heSBjaGFuZ2UgYnV0IHN0aWxsIGV4aXN0LlxuICAgICAgc2VuZCgnQU5JTUFUSU9OX0VORCcpO1xuICAgIH1cbiAgfSwgW25vZGUsIHNlbmRdKTtcblxuICByZXR1cm4ge1xuICAgIGlzUHJlc2VudDogWydtb3VudGVkJywgJ3VubW91bnRTdXNwZW5kZWQnXS5pbmNsdWRlcyhzdGF0ZSksXG4gICAgcmVmOiBSZWFjdC51c2VDYWxsYmFjaygobm9kZTogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChub2RlKSBzdHlsZXNSZWYuY3VycmVudCA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG4gICAgICBzZXROb2RlKG5vZGUpO1xuICAgIH0sIFtdKSxcbiAgfTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiBnZXRBbmltYXRpb25OYW1lKHN0eWxlcz86IENTU1N0eWxlRGVjbGFyYXRpb24pIHtcbiAgcmV0dXJuIHN0eWxlcz8uYW5pbWF0aW9uTmFtZSB8fCAnbm9uZSc7XG59XG5cbi8vIEJlZm9yZSBSZWFjdCAxOSBhY2Nlc3NpbmcgYGVsZW1lbnQucHJvcHMucmVmYCB3aWxsIHRocm93IGEgd2FybmluZyBhbmQgc3VnZ2VzdCB1c2luZyBgZWxlbWVudC5yZWZgXG4vLyBBZnRlciBSZWFjdCAxOSBhY2Nlc3NpbmcgYGVsZW1lbnQucmVmYCBkb2VzIHRoZSBvcHBvc2l0ZS5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzI4MzQ4XG4vL1xuLy8gQWNjZXNzIHRoZSByZWYgdXNpbmcgdGhlIG1ldGhvZCB0aGF0IGRvZXNuJ3QgeWllbGQgYSB3YXJuaW5nLlxuZnVuY3Rpb24gZ2V0RWxlbWVudFJlZihlbGVtZW50OiBSZWFjdC5SZWFjdEVsZW1lbnQ8eyByZWY/OiBSZWFjdC5SZWY8dW5rbm93bj4gfT4pIHtcbiAgLy8gUmVhY3QgPD0xOCBpbiBERVZcbiAgbGV0IGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudC5wcm9wcywgJ3JlZicpPy5nZXQ7XG4gIGxldCBtYXlXYXJuID0gZ2V0dGVyICYmICdpc1JlYWN0V2FybmluZycgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gKGVsZW1lbnQgYXMgYW55KS5yZWY7XG4gIH1cblxuICAvLyBSZWFjdCAxOSBpbiBERVZcbiAgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LCAncmVmJyk/LmdldDtcbiAgbWF5V2FybiA9IGdldHRlciAmJiAnaXNSZWFjdFdhcm5pbmcnIGluIGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmc7XG4gIGlmIChtYXlXYXJuKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQucHJvcHMucmVmO1xuICB9XG5cbiAgLy8gTm90IERFVlxuICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWYgfHwgKGVsZW1lbnQgYXMgYW55KS5yZWY7XG59XG5cbmV4cG9ydCB7IFByZXNlbmNlIH07XG5leHBvcnQgdHlwZSB7IFByZXNlbmNlUHJvcHMgfTtcbiIsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcblxudHlwZSBNYWNoaW5lPFM+ID0geyBbazogc3RyaW5nXTogeyBbazogc3RyaW5nXTogUyB9IH07XG50eXBlIE1hY2hpbmVTdGF0ZTxUPiA9IGtleW9mIFQ7XG50eXBlIE1hY2hpbmVFdmVudDxUPiA9IGtleW9mIFVuaW9uVG9JbnRlcnNlY3Rpb248VFtrZXlvZiBUXT47XG5cbi8vIPCfpK8gaHR0cHM6Ly9mZXR0YmxvZy5ldS90eXBlc2NyaXB0LXVuaW9uLXRvLWludGVyc2VjdGlvbi9cbnR5cGUgVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9IChUIGV4dGVuZHMgYW55ID8gKHg6IFQpID0+IGFueSA6IG5ldmVyKSBleHRlbmRzICh4OiBpbmZlciBSKSA9PiBhbnlcbiAgPyBSXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTdGF0ZU1hY2hpbmU8TT4oXG4gIGluaXRpYWxTdGF0ZTogTWFjaGluZVN0YXRlPE0+LFxuICBtYWNoaW5lOiBNICYgTWFjaGluZTxNYWNoaW5lU3RhdGU8TT4+XG4pIHtcbiAgcmV0dXJuIFJlYWN0LnVzZVJlZHVjZXIoKHN0YXRlOiBNYWNoaW5lU3RhdGU8TT4sIGV2ZW50OiBNYWNoaW5lRXZlbnQ8TT4pOiBNYWNoaW5lU3RhdGU8TT4gPT4ge1xuICAgIGNvbnN0IG5leHRTdGF0ZSA9IChtYWNoaW5lW3N0YXRlXSBhcyBhbnkpW2V2ZW50XTtcbiAgICByZXR1cm4gbmV4dFN0YXRlID8/IHN0YXRlO1xuICB9LCBpbml0aWFsU3RhdGUpO1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlQ29tcG9zZWRSZWZzIiwidXNlTGF5b3V0RWZmZWN0IiwidXNlU3RhdGVNYWNoaW5lIiwiaW5pdGlhbFN0YXRlIiwibWFjaGluZSIsInVzZVJlZHVjZXIiLCJzdGF0ZSIsImV2ZW50IiwibmV4dFN0YXRlIiwiUHJlc2VuY2UiLCJwcm9wcyIsInByZXNlbnQiLCJjaGlsZHJlbiIsInByZXNlbmNlIiwidXNlUHJlc2VuY2UiLCJjaGlsZCIsImlzUHJlc2VudCIsIlJlYWN0MiIsIkNoaWxkcmVuIiwib25seSIsInJlZiIsImdldEVsZW1lbnRSZWYiLCJmb3JjZU1vdW50IiwiY2xvbmVFbGVtZW50IiwiZGlzcGxheU5hbWUiLCJub2RlIiwic2V0Tm9kZSIsInVzZVN0YXRlIiwic3R5bGVzUmVmIiwidXNlUmVmIiwicHJldlByZXNlbnRSZWYiLCJwcmV2QW5pbWF0aW9uTmFtZVJlZiIsInNlbmQiLCJtb3VudGVkIiwiVU5NT1VOVCIsIkFOSU1BVElPTl9PVVQiLCJ1bm1vdW50U3VzcGVuZGVkIiwiTU9VTlQiLCJBTklNQVRJT05fRU5EIiwidW5tb3VudGVkIiwidXNlRWZmZWN0IiwiY3VycmVudEFuaW1hdGlvbk5hbWUiLCJnZXRBbmltYXRpb25OYW1lIiwiY3VycmVudCIsInN0eWxlcyIsIndhc1ByZXNlbnQiLCJoYXNQcmVzZW50Q2hhbmdlZCIsInByZXZBbmltYXRpb25OYW1lIiwiZGlzcGxheSIsImlzQW5pbWF0aW5nIiwidGltZW91dElkIiwib3duZXJXaW5kb3ciLCJvd25lckRvY3VtZW50IiwiZGVmYXVsdFZpZXciLCJ3aW5kb3ciLCJoYW5kbGVBbmltYXRpb25FbmQiLCJpc0N1cnJlbnRBbmltYXRpb24iLCJpbmNsdWRlcyIsImFuaW1hdGlvbk5hbWUiLCJ0YXJnZXQiLCJjdXJyZW50RmlsbE1vZGUiLCJzdHlsZSIsImFuaW1hdGlvbkZpbGxNb2RlIiwic2V0VGltZW91dCIsImhhbmRsZUFuaW1hdGlvblN0YXJ0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ1c2VDYWxsYmFjayIsImdldENvbXB1dGVkU3R5bGUiLCJlbGVtZW50IiwiZ2V0dGVyIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0IiwibWF5V2FybiIsImlzUmVhY3RXYXJuaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-primitive/dist/index.mjs ***!
|
|
\***************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Primitive: () => (/* binding */ Primitive),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ dispatchDiscreteCustomEvent: () => (/* binding */ dispatchDiscreteCustomEvent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// packages/react/primitive/src/Primitive.tsx\n\n\n\n\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_3__.Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZS9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDK0I7QUFDTztBQUNNO0FBQ0o7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZDQUFnQjtBQUMvQixZQUFZLDZCQUE2QjtBQUN6QywyQkFBMkIsc0RBQUk7QUFDL0I7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHNEQUFHLFNBQVMsc0NBQXNDO0FBQzdFLEdBQUc7QUFDSCxrQ0FBa0MsS0FBSztBQUN2QyxXQUFXO0FBQ1gsQ0FBQyxJQUFJO0FBQ0w7QUFDQSxjQUFjLGdEQUFrQjtBQUNoQztBQUNBO0FBS0U7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZS9kaXN0L2luZGV4Lm1qcz9kZDQ5Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3ByaW1pdGl2ZS9zcmMvUHJpbWl0aXZlLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBOT0RFUyA9IFtcbiAgXCJhXCIsXG4gIFwiYnV0dG9uXCIsXG4gIFwiZGl2XCIsXG4gIFwiZm9ybVwiLFxuICBcImgyXCIsXG4gIFwiaDNcIixcbiAgXCJpbWdcIixcbiAgXCJpbnB1dFwiLFxuICBcImxhYmVsXCIsXG4gIFwibGlcIixcbiAgXCJuYXZcIixcbiAgXCJvbFwiLFxuICBcInBcIixcbiAgXCJzcGFuXCIsXG4gIFwic3ZnXCIsXG4gIFwidWxcIlxuXTtcbnZhciBQcmltaXRpdmUgPSBOT0RFUy5yZWR1Y2UoKHByaW1pdGl2ZSwgbm9kZSkgPT4ge1xuICBjb25zdCBOb2RlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgYXNDaGlsZCwgLi4ucHJpbWl0aXZlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IENvbXAgPSBhc0NoaWxkID8gU2xvdCA6IG5vZGU7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvd1tTeW1ib2wuZm9yKFwicmFkaXgtdWlcIildID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQ29tcCwgeyAuLi5wcmltaXRpdmVQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH0pO1xuICBOb2RlLmRpc3BsYXlOYW1lID0gYFByaW1pdGl2ZS4ke25vZGV9YDtcbiAgcmV0dXJuIHsgLi4ucHJpbWl0aXZlLCBbbm9kZV06IE5vZGUgfTtcbn0sIHt9KTtcbmZ1bmN0aW9uIGRpc3BhdGNoRGlzY3JldGVDdXN0b21FdmVudCh0YXJnZXQsIGV2ZW50KSB7XG4gIGlmICh0YXJnZXQpIFJlYWN0RE9NLmZsdXNoU3luYygoKSA9PiB0YXJnZXQuZGlzcGF0Y2hFdmVudChldmVudCkpO1xufVxudmFyIFJvb3QgPSBQcmltaXRpdmU7XG5leHBvcnQge1xuICBQcmltaXRpdmUsXG4gIFJvb3QsXG4gIGRpc3BhdGNoRGlzY3JldGVDdXN0b21FdmVudFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-slider/dist/index.mjs":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-slider/dist/index.mjs ***!
|
|
\************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Range: () => (/* binding */ Range),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ Slider: () => (/* binding */ Slider),\n/* harmony export */ SliderRange: () => (/* binding */ SliderRange),\n/* harmony export */ SliderThumb: () => (/* binding */ SliderThumb),\n/* harmony export */ SliderTrack: () => (/* binding */ SliderTrack),\n/* harmony export */ Thumb: () => (/* binding */ Thumb),\n/* harmony export */ Track: () => (/* binding */ Track),\n/* harmony export */ createSliderScope: () => (/* binding */ createSliderScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/number */ \"(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-direction */ \"(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-use-size */ \"(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-collection */ \"(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Range,Root,Slider,SliderRange,SliderThumb,SliderTrack,Thumb,Track,createSliderScope auto */ // packages/react/slider/src/Slider.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nvar PAGE_KEYS = [\n \"PageUp\",\n \"PageDown\"\n];\nvar ARROW_KEYS = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\"\n];\nvar BACK_KEYS = {\n \"from-left\": [\n \"Home\",\n \"PageDown\",\n \"ArrowDown\",\n \"ArrowLeft\"\n ],\n \"from-right\": [\n \"Home\",\n \"PageDown\",\n \"ArrowDown\",\n \"ArrowRight\"\n ],\n \"from-bottom\": [\n \"Home\",\n \"PageDown\",\n \"ArrowDown\",\n \"ArrowLeft\"\n ],\n \"from-top\": [\n \"Home\",\n \"PageDown\",\n \"ArrowUp\",\n \"ArrowLeft\"\n ]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_2__.createCollection)(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_3__.createContextScope)(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { name, min = 0, max = 100, step = 1, orientation = \"horizontal\", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [\n min\n ], value, onValueChange = ()=>{}, onValueCommit = ()=>{}, inverted = false, form, ...sliderProps } = props;\n const thumbRefs = react__WEBPACK_IMPORTED_MODULE_0__.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_4__.useControllableState)({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2)=>{\n const thumbs = [\n ...thumbRefs.current\n ];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = {\n commit: false\n }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_5__.clamp)(snapToStep, [\n min,\n max\n ]);\n setValues((prevValues = [])=>{\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderProvider, {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.Provider, {\n scope: props.__scopeSlider,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.Slot, {\n scope: props.__scopeSlider,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderOrientation, {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(sliderProps.onPointerDown, ()=>{\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: ()=>!disabled && updateValues(min, 0, {\n commit: true\n }),\n onEndKeyDown: ()=>!disabled && updateValues(max, values.length - 1, {\n commit: true\n }),\n onStepKeyDown: ({ event, direction: stepDirection })=>{\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, {\n commit: true\n });\n }\n }\n })\n })\n })\n });\n});\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { min, max, dir, inverted, onSlideStart, onSlideMove, onSlideEnd, onStepKeyDown, ...sliderProps } = props;\n const [slider, setSlider] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, (node)=>setSlider(node));\n const rectRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(void 0);\n const direction = (0,_radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_8__.useDirection)(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [\n 0,\n rect.width\n ];\n const output = isSlidingFromLeft ? [\n min,\n max\n ] : [\n max,\n min\n ];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderOrientationProvider, {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderImpl, {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event)=>{\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event)=>{\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: ()=>{\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event)=>{\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({\n event,\n direction: isBackKey ? -1 : 1\n });\n }\n })\n });\n});\nvar SliderVertical = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { min, max, inverted, onSlideStart, onSlideMove, onSlideEnd, onStepKeyDown, ...sliderProps } = props;\n const sliderRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const ref = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, sliderRef);\n const rectRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [\n 0,\n rect.height\n ];\n const output = isSlidingFromBottom ? [\n max,\n min\n ] : [\n min,\n max\n ];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderOrientationProvider, {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderImpl, {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event)=>{\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event)=>{\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: ()=>{\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event)=>{\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({\n event,\n direction: isBackKey ? -1 : 1\n });\n }\n })\n });\n});\nvar SliderImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, ...sliderProps } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onKeyDown, (event)=>{\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onPointerDown, (event)=>{\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onPointerMove, (event)=>{\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onPointerUp, (event)=>{\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n });\n});\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n });\n});\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map((value)=>convertValueToPercentage(value, context.min, context.max));\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n });\n});\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, (node)=>setThumb(node));\n const index = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(()=>thumb ? getItems().findIndex((item)=>item.ref.current === thumb) : -1, [\n getItems,\n thumb\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderThumbImpl, {\n ...props,\n ref: composedRefs,\n index\n });\n});\nvar SliderThumbImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, (node)=>setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = (0,_radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_10__.useSize)(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n if (thumb) {\n context.thumbs.add(thumb);\n return ()=>{\n context.thumbs.delete(thumb);\n };\n }\n }, [\n thumb,\n context.thumbs\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(\"span\", {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.ItemSlot, {\n scope: props.__scopeSlider,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? {\n display: \"none\"\n } : props.style,\n onFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onFocus, ()=>{\n context.valueIndexToChangeRef.current = index;\n })\n })\n }),\n isFormControl && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(BubbleInput, {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n }, index)\n ]\n });\n});\nSliderThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props)=>{\n const { value, ...inputProps } = props;\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const prevValue = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_11__.usePrevious)(value);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", {\n bubbles: true\n });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [\n prevValue,\n value\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"input\", {\n style: {\n display: \"none\"\n },\n ...inputProps,\n ref,\n defaultValue: value\n });\n};\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [\n ...prevValues\n ];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b)=>a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_5__.clamp)(percentage, [\n 0,\n 100\n ]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\n \"Minimum\",\n \"Maximum\"\n ][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value)=>Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([\n 0,\n halfPercent\n ], [\n 0,\n halfWidth\n ]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index)=>values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value)=>{\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsaWRlci9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVCO0FBQ0Q7QUFDZTtBQUNMO0FBQ0c7QUFDRTtBQUNSO0FBQ0Q7QUFDSjtBQUNFO0FBQ087QUFzSnJCO0FBaEpaLElBQU1hLFlBQVk7SUFBQztJQUFVO0NBQVU7QUFDdkMsSUFBTUMsYUFBYTtJQUFDO0lBQVc7SUFBYTtJQUFhO0NBQVk7QUFHckUsSUFBTUMsWUFBOEM7SUFDbEQsYUFBYTtRQUFDO1FBQVE7UUFBWTtRQUFhO0tBQVc7SUFDMUQsY0FBYztRQUFDO1FBQVE7UUFBWTtRQUFhO0tBQVk7SUFDNUQsZUFBZTtRQUFDO1FBQVE7UUFBWTtRQUFhO0tBQVc7SUFDNUQsWUFBWTtRQUFDO1FBQVE7UUFBWTtRQUFXO0tBQVc7QUFDekQ7QUFNQSxJQUFNQyxjQUFjO0FBRXBCLElBQU0sQ0FBQ0MsWUFBWUMsZUFBZUMsc0JBQXFCLEdBQ3JEVCw0RUFBZ0JBLENBQXFCTTtBQUd2QyxJQUFNLENBQUNJLHFCQUFxQkMsa0JBQWlCLEdBQUlqQiwyRUFBa0JBLENBQUNZLGFBQWE7SUFDL0VHO0NBQ0Q7QUFjRCxJQUFNLENBQUNHLGdCQUFnQkMsaUJBQWdCLEdBQUlILG9CQUF3Q0o7QUF3Qm5GLElBQU1RLHVCQUFleEIsNkNBQUEsQ0FDbkIsQ0FBQzBCLE9BQWlDQztJQUNoQyxNQUFNLEVBQ0pDLElBQUEsRUFDQUMsTUFBTSxHQUNOQyxNQUFNLEtBQ05DLE9BQU8sR0FDUEMsY0FBYyxjQUNkQyxXQUFXLE9BQ1hDLHdCQUF3QixHQUN4QkMsZUFBZTtRQUFDTjtLQUFHLEVBQ25CTyxLQUFBLEVBQ0FDLGdCQUFnQixLQUFPLEdBQ3ZCQyxnQkFBZ0IsS0FBTyxHQUN2QkMsV0FBVyxPQUNYQyxJQUFBLEVBQ0EsR0FBR0MsYUFDTCxHQUFJZjtJQUNKLE1BQU1nQixZQUFrQjFDLHlDQUFBLENBQXFDLG9C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aEcsWUFBWUgsS0FBQSxFQUFrQ0UsTUFBQTtJQUNyRCxPQUFPLENBQUMzRjtRQUNOLElBQUl5RixLQUFBLENBQU0sRUFBQyxLQUFNQSxLQUFBLENBQU0sRUFBQyxJQUFLRSxNQUFBLENBQU8sRUFBQyxLQUFNQSxNQUFBLENBQU8sRUFBQyxFQUFHLE9BQU9BLE1BQUEsQ0FBTyxFQUFDO1FBQ3JFLE1BQU1vRyxRQUFBLENBQVNwRyxNQUFBLENBQU8sRUFBQyxHQUFJQSxNQUFBLENBQU8sRUFBQyxJQUFNRixDQUFBQSxLQUFBLENBQU0sRUFBQyxHQUFJQSxLQUFBLENBQU0sRUFBQztRQUMzRCxPQUFPRSxNQUFBLENBQU8sRUFBQyxHQUFJb0csUUFBUy9MLENBQUFBLFFBQVF5RixLQUFBLENBQU0sRUFBQztJQUM3QztBQUNGO0FBRUEsU0FBU3RELGdCQUFnQm5DLEtBQUE7SUFDdkIsUUFBUTZDLE9BQU83QyxPQUFPZ00sS0FBQSxDQUFNLElBQUcsQ0FBRSxFQUFDLElBQUssSUFBSXRJLE1BQUE7QUFDN0M7QUFFQSxTQUFTckIsV0FBV3JDLEtBQUEsRUFBZWtDLFlBQUE7SUFDakMsTUFBTStKLFVBQVUzSixLQUFLNEosR0FBQSxDQUFJLElBQUloSztJQUM3QixPQUFPSSxLQUFLQyxLQUFBLENBQU12QyxRQUFRaU0sV0FBV0E7QUFDdkM7QUFFQSxJQUFNRSxPQUFPL007QUFDYixJQUFNZ04sUUFBUTlFO0FBQ2QsSUFBTStFLFFBQVE1RTtBQUNkLElBQU02RSxRQUFRcEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4uL3NyYy9TbGlkZXIudHN4PzM5NDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY2xhbXAgfSBmcm9tICdAcmFkaXgtdWkvbnVtYmVyJztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUnO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbic7XG5pbXBvcnQgeyB1c2VQcmV2aW91cyB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtcHJldmlvdXMnO1xuaW1wb3J0IHsgdXNlU2l6ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2Utc2l6ZSc7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcbmltcG9ydCB7IGNyZWF0ZUNvbGxlY3Rpb24gfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGVjdGlvbic7XG5cbmltcG9ydCB0eXBlIHsgU2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5cbnR5cGUgRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcblxuY29uc3QgUEFHRV9LRVlTID0gWydQYWdlVXAnLCAnUGFnZURvd24nXTtcbmNvbnN0IEFSUk9XX0tFWVMgPSBbJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCcsICdBcnJvd1JpZ2h0J107XG5cbnR5cGUgU2xpZGVEaXJlY3Rpb24gPSAnZnJvbS1sZWZ0JyB8ICdmcm9tLXJpZ2h0JyB8ICdmcm9tLWJvdHRvbScgfCAnZnJvbS10b3AnO1xuY29uc3QgQkFDS19LRVlTOiBSZWNvcmQ8U2xpZGVEaXJlY3Rpb24sIHN0cmluZ1tdPiA9IHtcbiAgJ2Zyb20tbGVmdCc6IFsnSG9tZScsICdQYWdlRG93bicsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0J10sXG4gICdmcm9tLXJpZ2h0JzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd1JpZ2h0J10sXG4gICdmcm9tLWJvdHRvbSc6IFsnSG9tZScsICdQYWdlRG93bicsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0J10sXG4gICdmcm9tLXRvcCc6IFsnSG9tZScsICdQYWdlRG93bicsICdBcnJvd1VwJywgJ0Fycm93TGVmdCddLFxufTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFNMSURFUl9OQU1FID0gJ1NsaWRlcic7XG5cbmNvbnN0IFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID1cbiAgY3JlYXRlQ29sbGVjdGlvbjxTbGlkZXJUaHVtYkVsZW1lbnQ+KFNMSURFUl9OQU1FKTtcblxudHlwZSBTY29wZWRQcm9wczxQPiA9IFAgJiB7IF9fc2NvcGVTbGlkZXI/OiBTY29wZSB9O1xuY29uc3QgW2NyZWF0ZVNsaWRlckNvbnRleHQsIGNyZWF0ZVNsaWRlclNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShTTElERVJfTkFNRSwgW1xuICBjcmVhdGVDb2xsZWN0aW9uU2NvcGUsXG5dKTtcblxudHlwZSBTbGlkZXJDb250ZXh0VmFsdWUgPSB7XG4gIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbiAgdmFsdWVzOiBudW1iZXJbXTtcbiAgdmFsdWVJbmRleFRvQ2hhbmdlUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PG51bWJlcj47XG4gIHRodW1iczogU2V0PFNsaWRlclRodW1iRWxlbWVudD47XG4gIG9yaWVudGF0aW9uOiBTbGlkZXJQcm9wc1snb3JpZW50YXRpb24nXTtcbiAgZm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuY29uc3QgW1NsaWRlclByb3ZpZGVyLCB1c2VTbGlkZXJDb250ZXh0XSA9IGNyZWF0ZVNsaWRlckNvbnRleHQ8U2xpZGVyQ29udGV4dFZhbHVlPihTTElERVJfTkFNRSk7XG5cbnR5cGUgU2xpZGVyRWxlbWVudCA9IFNsaWRlckhvcml6b250YWxFbGVtZW50IHwgU2xpZGVyVmVydGljYWxFbGVtZW50O1xuaW50ZXJmYWNlIFNsaWRlclByb3BzXG4gIGV4dGVuZHMgT21pdDxcbiAgICBTbGlkZXJIb3Jpem9udGFsUHJvcHMgfCBTbGlkZXJWZXJ0aWNhbFByb3BzLFxuICAgIGtleW9mIFNsaWRlck9yaWVudGF0aW9uUHJpdmF0ZVByb3BzIHwgJ2RlZmF1bHRWYWx1ZSdcbiAgPiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgb3JpZW50YXRpb24/OiBSZWFjdC5BcmlhQXR0cmlidXRlc1snYXJpYS1vcmllbnRhdGlvbiddO1xuICBkaXI/OiBEaXJlY3Rpb247XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyO1xuICBzdGVwPzogbnVtYmVyO1xuICBtaW5TdGVwc0JldHdlZW5UaHVtYnM/OiBudW1iZXI7XG4gIHZhbHVlPzogbnVtYmVyW107XG4gIGRlZmF1bHRWYWx1ZT86IG51bWJlcltdO1xuICBvblZhbHVlQ2hhbmdlPyh2YWx1ZTogbnVtYmVyW10pOiB2b2lkO1xuICBvblZhbHVlQ29tbWl0Pyh2YWx1ZTogbnVtYmVyW10pOiB2b2lkO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIGZvcm0/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFNsaWRlciA9IFJlYWN0LmZvcndhcmRSZWY8U2xpZGVyRWxlbWVudCwgU2xpZGVyUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbmFtZSxcbiAgICAgIG1pbiA9IDAsXG4gICAgICBtYXggPSAxMDAsXG4gICAgICBzdGVwID0gMSxcbiAgICAgIG9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnLFxuICAgICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgIG1pblN0ZXBzQmV0d2VlblRodW1icyA9IDAsXG4gICAgICBkZWZhdWx0VmFsdWUgPSBbbWluXSxcbiAgICAgIHZhbHVlLFxuICAgICAgb25WYWx1ZUNoYW5nZSA9ICgpID0+IHt9LFxuICAgICAgb25WYWx1ZUNvbW1pdCA9ICgpID0+IHt9LFxuICAgICAgaW52ZXJ0ZWQgPSBmYWxzZSxcbiAgICAgIGZvcm0sXG4gICAgICAuLi5zbGlkZXJQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB0aHVtYlJlZnMgPSBSZWFjdC51c2VSZWY8U2xpZGVyQ29udGV4dFZhbHVlWyd0aHVtYnMnXT4obmV3IFNldCgpKTtcbiAgICBjb25zdCB2YWx1ZUluZGV4VG9DaGFuZ2VSZWYgPSBSZWFjdC51c2VSZWY8bnVtYmVyPigwKTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnO1xuICAgIGNvbnN0IFNsaWRlck9yaWVudGF0aW9uID0gaXNIb3Jpem9udGFsID8gU2xpZGVySG9yaXpvbnRhbCA6IFNsaWRlclZlcnRpY2FsO1xuXG4gICAgY29uc3QgW3ZhbHVlcyA9IFtdLCBzZXRWYWx1ZXNdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgICAgcHJvcDogdmFsdWUsXG4gICAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlLFxuICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB0aHVtYnMgPSBbLi4udGh1bWJSZWZzLmN1cnJlbnRdO1xuICAgICAgICB0aHVtYnNbdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnRdPy5mb2N1cygpO1xuICAgICAgICBvblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgdmFsdWVzQmVmb3JlU2xpZGVTdGFydFJlZiA9IFJlYWN0LnVzZVJlZih2YWx1ZXMpO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlU2xpZGVTdGFydCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICBjb25zdCBjbG9zZXN0SW5kZXggPSBnZXRDbG9zZXN0VmFsdWVJbmRleCh2YWx1ZXMsIHZhbHVlKTtcbiAgICAgIHVwZGF0ZVZhbHVlcyh2YWx1ZSwgY2xvc2VzdEluZGV4KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVTbGlkZU1vdmUodmFsdWU6IG51bWJlcikge1xuICAgICAgdXBkYXRlVmFsdWVzKHZhbHVlLCB2YWx1ZUluZGV4VG9DaGFuZ2VSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlU2xpZGVFbmQoKSB7XG4gICAgICBjb25zdCBwcmV2VmFsdWUgPSB2YWx1ZXNCZWZvcmVTbGlkZVN0YXJ0UmVmLmN1cnJlbnRbdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnRdO1xuICAgICAgY29uc3QgbmV4dFZhbHVlID0gdmFsdWVzW3ZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50XTtcbiAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBuZXh0VmFsdWUgIT09IHByZXZWYWx1ZTtcbiAgICAgIGlmIChoYXNDaGFuZ2VkKSBvblZhbHVlQ29tbWl0KHZhbHVlcyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdXBkYXRlVmFsdWVzKHZhbHVlOiBudW1iZXIsIGF0SW5kZXg6IG51bWJlciwgeyBjb21taXQgfSA9IHsgY29tbWl0OiBmYWxzZSB9KSB7XG4gICAgICBjb25zdCBkZWNpbWFsQ291bnQgPSBnZXREZWNpbWFsQ291bnQoc3RlcCk7XG4gICAgICBjb25zdCBzbmFwVG9TdGVwID0gcm91bmRWYWx1ZShNYXRoLnJvdW5kKCh2YWx1ZSAtIG1pbikgLyBzdGVwKSAqIHN0ZXAgKyBtaW4sIGRlY2ltYWxDb3VudCk7XG4gICAgICBjb25zdCBuZXh0VmFsdWUgPSBjbGFtcChzbmFwVG9TdGVwLCBbbWluLCBtYXhdKTtcblxuICAgICAgc2V0VmFsdWVzKChwcmV2VmFsdWVzID0gW10pID0+IHtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IGdldE5leHRTb3J0ZWRWYWx1ZXMocHJldlZhbHVlcywgbmV4dFZhbHVlLCBhdEluZGV4KTtcbiAgICAgICAgaWYgKGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhuZXh0VmFsdWVzLCBtaW5TdGVwc0JldHdlZW5UaHVtYnMgKiBzdGVwKSkge1xuICAgICAgICAgIHZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50ID0gbmV4dFZhbHVlcy5pbmRleE9mKG5leHRWYWx1ZSk7XG4gICAgICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9IFN0cmluZyhuZXh0VmFsdWVzKSAhPT0gU3RyaW5nKHByZXZWYWx1ZXMpO1xuICAgICAgICAgIGlmIChoYXNDaGFuZ2VkICYmIGNvbW1pdCkgb25WYWx1ZUNvbW1pdChuZXh0VmFsdWVzKTtcbiAgICAgICAgICByZXR1cm4gaGFzQ2hhbmdlZCA/IG5leHRWYWx1ZXMgOiBwcmV2VmFsdWVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBwcmV2VmFsdWVzO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNsaWRlclByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG1pbj17bWlufVxuICAgICAgICBtYXg9e21heH1cbiAgICAgICAgdmFsdWVJbmRleFRvQ2hhbmdlUmVmPXt2YWx1ZUluZGV4VG9DaGFuZ2VSZWZ9XG4gICAgICAgIHRodW1icz17dGh1bWJSZWZzLmN1cnJlbnR9XG4gICAgICAgIHZhbHVlcz17dmFsdWVzfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICAgIGZvcm09e2Zvcm19XG4gICAgICA+XG4gICAgICAgIDxDb2xsZWN0aW9uLlByb3ZpZGVyIHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfT5cbiAgICAgICAgICA8Q29sbGVjdGlvbi5TbG90IHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfT5cbiAgICAgICAgICAgIDxTbGlkZXJPcmllbnRhdGlvblxuICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgey4uLnNsaWRlclByb3BzfVxuICAgICAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICAgICAgb25Qb2ludGVyRG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMoc2xpZGVyUHJvcHMub25Qb2ludGVyRG93biwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZGlzYWJsZWQpIHZhbHVlc0JlZm9yZVNsaWRlU3RhcnRSZWYuY3VycmVudCA9IHZhbHVlcztcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgICBtYXg9e21heH1cbiAgICAgICAgICAgICAgaW52ZXJ0ZWQ9e2ludmVydGVkfVxuICAgICAgICAgICAgICBvblNsaWRlU3RhcnQ9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogaGFuZGxlU2xpZGVTdGFydH1cbiAgICAgICAgICAgICAgb25TbGlkZU1vdmU9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogaGFuZGxlU2xpZGVNb3ZlfVxuICAgICAgICAgICAgICBvblNsaWRlRW5kPXtkaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGhhbmRsZVNsaWRlRW5kfVxuICAgICAgICAgICAgICBvbkhvbWVLZXlEb3duPXsoKSA9PiAhZGlzYWJsZWQgJiYgdXBkYXRlVmFsdWVzKG1pbiwgMCwgeyBjb21taXQ6IHRydWUgfSl9XG4gICAgICAgICAgICAgIG9uRW5kS2V5RG93bj17KCkgPT5cbiAgICAgICAgICAgICAgICAhZGlzYWJsZWQgJiYgdXBkYXRlVmFsdWVzKG1heCwgdmFsdWVzLmxlbmd0aCAtIDEsIHsgY29tbWl0OiB0cnVlIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb25TdGVwS2V5RG93bj17KHsgZXZlbnQsIGRpcmVjdGlvbjogc3RlcERpcmVjdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXNQYWdlS2V5ID0gUEFHRV9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpc1NraXBLZXkgPSBpc1BhZ2VLZXkgfHwgKGV2ZW50LnNoaWZ0S2V5ICYmIEFSUk9XX0tFWVMuaW5jbHVkZXMoZXZlbnQua2V5KSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gaXNTa2lwS2V5ID8gMTAgOiAxO1xuICAgICAgICAgICAgICAgICAgY29uc3QgYXRJbmRleCA9IHZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbYXRJbmRleF07XG4gICAgICAgICAgICAgICAgICBjb25zdCBzdGVwSW5EaXJlY3Rpb24gPSBzdGVwICogbXVsdGlwbGllciAqIHN0ZXBEaXJlY3Rpb247XG4gICAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZXModmFsdWUgKyBzdGVwSW5EaXJlY3Rpb24sIGF0SW5kZXgsIHsgY29tbWl0OiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2xsZWN0aW9uLlNsb3Q+XG4gICAgICAgIDwvQ29sbGVjdGlvbi5Qcm92aWRlcj5cbiAgICAgIDwvU2xpZGVyUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuU2xpZGVyLmRpc3BsYXlOYW1lID0gU0xJREVSX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlckhvcml6b250YWxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBTaWRlID0gJ3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc7XG5cbmNvbnN0IFtTbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyLCB1c2VTbGlkZXJPcmllbnRhdGlvbkNvbnRleHRdID0gY3JlYXRlU2xpZGVyQ29udGV4dDx7XG4gIHN0YXJ0RWRnZTogU2lkZTtcbiAgZW5kRWRnZTogU2lkZTtcbiAgc2l6ZToga2V5b2YgTm9uTnVsbGFibGU8UmV0dXJuVHlwZTx0eXBlb2YgdXNlU2l6ZT4+O1xuICBkaXJlY3Rpb246IG51bWJlcjtcbn0+KFNMSURFUl9OQU1FLCB7XG4gIHN0YXJ0RWRnZTogJ2xlZnQnLFxuICBlbmRFZGdlOiAncmlnaHQnLFxuICBzaXplOiAnd2lkdGgnLFxuICBkaXJlY3Rpb246IDEsXG59KTtcblxudHlwZSBTbGlkZXJPcmllbnRhdGlvblByaXZhdGVQcm9wcyA9IHtcbiAgbWluOiBudW1iZXI7XG4gIG1heDogbnVtYmVyO1xuICBpbnZlcnRlZDogYm9vbGVhbjtcbiAgb25TbGlkZVN0YXJ0Pyh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbiAgb25TbGlkZU1vdmU/KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuICBvblNsaWRlRW5kPygpOiB2b2lkO1xuICBvbkhvbWVLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgb25FbmRLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgb25TdGVwS2V5RG93bihzdGVwOiB7IGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50OyBkaXJlY3Rpb246IG51bWJlciB9KTogdm9pZDtcbn07XG5pbnRlcmZhY2UgU2xpZGVyT3JpZW50YXRpb25Qcm9wc1xuICBleHRlbmRzIE9taXQ8U2xpZGVySW1wbFByb3BzLCBrZXlvZiBTbGlkZXJJbXBsUHJpdmF0ZVByb3BzPixcbiAgICBTbGlkZXJPcmllbnRhdGlvblByaXZhdGVQcm9wcyB7fVxuXG50eXBlIFNsaWRlckhvcml6b250YWxFbGVtZW50ID0gU2xpZGVySW1wbEVsZW1lbnQ7XG5pbnRlcmZhY2UgU2xpZGVySG9yaXpvbnRhbFByb3BzIGV4dGVuZHMgU2xpZGVyT3JpZW50YXRpb25Qcm9wcyB7XG4gIGRpcj86IERpcmVjdGlvbjtcbn1cblxuY29uc3QgU2xpZGVySG9yaXpvbnRhbCA9IFJlYWN0LmZvcndhcmRSZWY8U2xpZGVySG9yaXpvbnRhbEVsZW1lbnQsIFNsaWRlckhvcml6b250YWxQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2xpZGVySG9yaXpvbnRhbFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbWluLFxuICAgICAgbWF4LFxuICAgICAgZGlyLFxuICAgICAgaW52ZXJ0ZWQsXG4gICAgICBvblNsaWRlU3RhcnQsXG4gICAgICBvblNsaWRlTW92ZSxcbiAgICAgIG9uU2xpZGVFbmQsXG4gICAgICBvblN0ZXBLZXlEb3duLFxuICAgICAgLi4uc2xpZGVyUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW3NsaWRlciwgc2V0U2xpZGVyXSA9IFJlYWN0LnVzZVN0YXRlPFNsaWRlckltcGxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldFNsaWRlcihub2RlKSk7XG4gICAgY29uc3QgcmVjdFJlZiA9IFJlYWN0LnVzZVJlZjxET01SZWN0Pih1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHVzZURpcmVjdGlvbihkaXIpO1xuICAgIGNvbnN0IGlzRGlyZWN0aW9uTFRSID0gZGlyZWN0aW9uID09PSAnbHRyJztcbiAgICBjb25zdCBpc1NsaWRpbmdGcm9tTGVmdCA9IChpc0RpcmVjdGlvbkxUUiAmJiAhaW52ZXJ0ZWQpIHx8ICghaXNEaXJlY3Rpb25MVFIgJiYgaW52ZXJ0ZWQpO1xuXG4gICAgZnVuY3Rpb24gZ2V0VmFsdWVGcm9tUG9pbnRlcihwb2ludGVyUG9zaXRpb246IG51bWJlcikge1xuICAgICAgY29uc3QgcmVjdCA9IHJlY3RSZWYuY3VycmVudCB8fCBzbGlkZXIhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5wdXQ6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgcmVjdC53aWR0aF07XG4gICAgICBjb25zdCBvdXRwdXQ6IFtudW1iZXIsIG51bWJlcl0gPSBpc1NsaWRpbmdGcm9tTGVmdCA/IFttaW4sIG1heF0gOiBbbWF4LCBtaW5dO1xuICAgICAgY29uc3QgdmFsdWUgPSBsaW5lYXJTY2FsZShpbnB1dCwgb3V0cHV0KTtcblxuICAgICAgcmVjdFJlZi5jdXJyZW50ID0gcmVjdDtcbiAgICAgIHJldHVybiB2YWx1ZShwb2ludGVyUG9zaXRpb24gLSByZWN0LmxlZnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U2xpZGVyT3JpZW50YXRpb25Qcm92aWRlclxuICAgICAgICBzY29wZT17cHJvcHMuX19zY29wZVNsaWRlcn1cbiAgICAgICAgc3RhcnRFZGdlPXtpc1NsaWRpbmdGcm9tTGVmdCA/ICdsZWZ0JyA6ICdyaWdodCd9XG4gICAgICAgIGVuZEVkZ2U9e2lzU2xpZGluZ0Zyb21MZWZ0ID8gJ3JpZ2h0JyA6ICdsZWZ0J31cbiAgICAgICAgZGlyZWN0aW9uPXtpc1NsaWRpbmdGcm9tTGVmdCA/IDEgOiAtMX1cbiAgICAgICAgc2l6ZT1cIndpZHRoXCJcbiAgICAgID5cbiAgICAgICAgPFNsaWRlckltcGxcbiAgICAgICAgICBkaXI9e2RpcmVjdGlvbn1cbiAgICAgICAgICBkYXRhLW9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgey4uLnNsaWRlclByb3BzfVxuICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zbGlkZXJQcm9wcy5zdHlsZSxcbiAgICAgICAgICAgIFsnLS1yYWRpeC1zbGlkZXItdGh1bWItdHJhbnNmb3JtJyBhcyBhbnldOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblNsaWRlU3RhcnQ9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRWYWx1ZUZyb21Qb2ludGVyKGV2ZW50LmNsaWVudFgpO1xuICAgICAgICAgICAgb25TbGlkZVN0YXJ0Py4odmFsdWUpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25TbGlkZU1vdmU9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRWYWx1ZUZyb21Qb2ludGVyKGV2ZW50LmNsaWVudFgpO1xuICAgICAgICAgICAgb25TbGlkZU1vdmU/Lih2YWx1ZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblNsaWRlRW5kPXsoKSA9PiB7XG4gICAgICAgICAgICByZWN0UmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBvblNsaWRlRW5kPy4oKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uU3RlcEtleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2xpZGVEaXJlY3Rpb24gPSBpc1NsaWRpbmdGcm9tTGVmdCA/ICdmcm9tLWxlZnQnIDogJ2Zyb20tcmlnaHQnO1xuICAgICAgICAgICAgY29uc3QgaXNCYWNrS2V5ID0gQkFDS19LRVlTW3NsaWRlRGlyZWN0aW9uXS5pbmNsdWRlcyhldmVudC5rZXkpO1xuICAgICAgICAgICAgb25TdGVwS2V5RG93bj8uKHsgZXZlbnQsIGRpcmVjdGlvbjogaXNCYWNrS2V5ID8gLTEgOiAxIH0pO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L1NsaWRlck9yaWVudGF0aW9uUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyVmVydGljYWxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBTbGlkZXJWZXJ0aWNhbEVsZW1lbnQgPSBTbGlkZXJJbXBsRWxlbWVudDtcbmludGVyZmFjZSBTbGlkZXJWZXJ0aWNhbFByb3BzIGV4dGVuZHMgU2xpZGVyT3JpZW50YXRpb25Qcm9wcyB7fVxuXG5jb25zdCBTbGlkZXJWZXJ0aWNhbCA9IFJlYWN0LmZvcndhcmRSZWY8U2xpZGVyVmVydGljYWxFbGVtZW50LCBTbGlkZXJWZXJ0aWNhbFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTbGlkZXJWZXJ0aWNhbFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbWluLFxuICAgICAgbWF4LFxuICAgICAgaW52ZXJ0ZWQsXG4gICAgICBvblNsaWRlU3RhcnQsXG4gICAgICBvblNsaWRlTW92ZSxcbiAgICAgIG9uU2xpZGVFbmQsXG4gICAgICBvblN0ZXBLZXlEb3duLFxuICAgICAgLi4uc2xpZGVyUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3Qgc2xpZGVyUmVmID0gUmVhY3QudXNlUmVmPFNsaWRlckltcGxFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCByZWYgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBzbGlkZXJSZWYpO1xuICAgIGNvbnN0IHJlY3RSZWYgPSBSZWFjdC51c2VSZWY8RE9NUmVjdD4odW5kZWZpbmVkKTtcbiAgICBjb25zdCBpc1NsaWRpbmdGcm9tQm90dG9tID0gIWludmVydGVkO1xuXG4gICAgZnVuY3Rpb24gZ2V0VmFsdWVGcm9tUG9pbnRlcihwb2ludGVyUG9zaXRpb246IG51bWJlcikge1xuICAgICAgY29uc3QgcmVjdCA9IHJlY3RSZWYuY3VycmVudCB8fCBzbGlkZXJSZWYuY3VycmVudCEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBpbnB1dDogW251bWJlciwgbnVtYmVyXSA9IFswLCByZWN0LmhlaWdodF07XG4gICAgICBjb25zdCBvdXRwdXQ6IFtudW1iZXIsIG51bWJlcl0gPSBpc1NsaWRpbmdGcm9tQm90dG9tID8gW21heCwgbWluXSA6IFttaW4sIG1heF07XG4gICAgICBjb25zdCB2YWx1ZSA9IGxpbmVhclNjYWxlKGlucHV0LCBvdXRwdXQpO1xuXG4gICAgICByZWN0UmVmLmN1cnJlbnQgPSByZWN0O1xuICAgICAgcmV0dXJuIHZhbHVlKHBvaW50ZXJQb3NpdGlvbiAtIHJlY3QudG9wKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNsaWRlck9yaWVudGF0aW9uUHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e3Byb3BzLl9fc2NvcGVTbGlkZXJ9XG4gICAgICAgIHN0YXJ0RWRnZT17aXNTbGlkaW5nRnJvbUJvdHRvbSA/ICdib3R0b20nIDogJ3RvcCd9XG4gICAgICAgIGVuZEVkZ2U9e2lzU2xpZGluZ0Zyb21Cb3R0b20gPyAndG9wJyA6ICdib3R0b20nfVxuICAgICAgICBzaXplPVwiaGVpZ2h0XCJcbiAgICAgICAgZGlyZWN0aW9uPXtpc1NsaWRpbmdGcm9tQm90dG9tID8gMSA6IC0xfVxuICAgICAgPlxuICAgICAgICA8U2xpZGVySW1wbFxuICAgICAgICAgIGRhdGEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gICAgICAgICAgey4uLnNsaWRlclByb3BzfVxuICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zbGlkZXJQcm9wcy5zdHlsZSxcbiAgICAgICAgICAgIFsnLS1yYWRpeC1zbGlkZXItdGh1bWItdHJhbnNmb3JtJyBhcyBhbnldOiAndHJhbnNsYXRlWSg1MCUpJyxcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uU2xpZGVTdGFydD17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WSk7XG4gICAgICAgICAgICBvblNsaWRlU3RhcnQ/Lih2YWx1ZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblNsaWRlTW92ZT17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WSk7XG4gICAgICAgICAgICBvblNsaWRlTW92ZT8uKHZhbHVlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uU2xpZGVFbmQ9eygpID0+IHtcbiAgICAgICAgICAgIHJlY3RSZWYuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIG9uU2xpZGVFbmQ/LigpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25TdGVwS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzbGlkZURpcmVjdGlvbiA9IGlzU2xpZGluZ0Zyb21Cb3R0b20gPyAnZnJvbS1ib3R0b20nIDogJ2Zyb20tdG9wJztcbiAgICAgICAgICAgIGNvbnN0IGlzQmFja0tleSA9IEJBQ0tfS0VZU1tzbGlkZURpcmVjdGlvbl0uaW5jbHVkZXMoZXZlbnQua2V5KTtcbiAgICAgICAgICAgIG9uU3RlcEtleURvd24/Lih7IGV2ZW50LCBkaXJlY3Rpb246IGlzQmFja0tleSA/IC0xIDogMSB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9TbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlckltcGxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBTbGlkZXJJbXBsRWxlbWVudCA9IFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbnR5cGUgUHJpbWl0aXZlRGl2UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xudHlwZSBTbGlkZXJJbXBsUHJpdmF0ZVByb3BzID0ge1xuICBvblNsaWRlU3RhcnQoZXZlbnQ6IFJlYWN0LlBvaW50ZXJFdmVudCk6IHZvaWQ7XG4gIG9uU2xpZGVNb3ZlKGV2ZW50OiBSZWFjdC5Qb2ludGVyRXZlbnQpOiB2b2lkO1xuICBvblNsaWRlRW5kKGV2ZW50OiBSZWFjdC5Qb2ludGVyRXZlbnQpOiB2b2lkO1xuICBvbkhvbWVLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgb25FbmRLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgb25TdGVwS2V5RG93bihldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG59O1xuaW50ZXJmYWNlIFNsaWRlckltcGxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzLCBTbGlkZXJJbXBsUHJpdmF0ZVByb3BzIHt9XG5cbmNvbnN0IFNsaWRlckltcGwgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlckltcGxFbGVtZW50LCBTbGlkZXJJbXBsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlckltcGxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVTbGlkZXIsXG4gICAgICBvblNsaWRlU3RhcnQsXG4gICAgICBvblNsaWRlTW92ZSxcbiAgICAgIG9uU2xpZGVFbmQsXG4gICAgICBvbkhvbWVLZXlEb3duLFxuICAgICAgb25FbmRLZXlEb3duLFxuICAgICAgb25TdGVwS2V5RG93bixcbiAgICAgIC4uLnNsaWRlclByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTbGlkZXJDb250ZXh0KFNMSURFUl9OQU1FLCBfX3Njb3BlU2xpZGVyKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLnNwYW5cbiAgICAgICAgey4uLnNsaWRlclByb3BzfVxuICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgb25LZXlEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgICAgICAgb25Ib21lS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAvLyBQcmV2ZW50IHNjcm9sbGluZyB0byBwYWdlIHN0YXJ0XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgICAgICAgb25FbmRLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgc2Nyb2xsaW5nIHRvIHBhZ2UgZW5kXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoUEFHRV9LRVlTLmNvbmNhdChBUlJPV19LRVlTKS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICBvblN0ZXBLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgc2Nyb2xsaW5nIGZvciBkaXJlY3Rpb25hbCBrZXkgcHJlc3Nlc1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pfVxuICAgICAgICBvblBvaW50ZXJEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgdGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG4gICAgICAgICAgLy8gUHJldmVudCBicm93c2VyIGZvY3VzIGJlaGF2aW91ciBiZWNhdXNlIHdlIGZvY3VzIGEgdGh1bWIgbWFudWFsbHkgd2hlbiB2YWx1ZXMgY2hhbmdlLlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgLy8gVG91Y2ggZGV2aWNlcyBoYXZlIGEgZGVsYXkgYmVmb3JlIGZvY3VzaW5nIHNvIHdvbid0IGZvY3VzIGlmIHRvdWNoIGltbWVkaWF0ZWx5IG1vdmVzXG4gICAgICAgICAgLy8gYXdheSBmcm9tIHRhcmdldCAoc2xpZGluZykuIFdlIHdhbnQgdGh1bWIgdG8gZm9jdXMgcmVnYXJkbGVzcy5cbiAgICAgICAgICBpZiAoY29udGV4dC50aHVtYnMuaGFzKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvblNsaWRlU3RhcnQoZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSl9XG4gICAgICAgIG9uUG9pbnRlck1vdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlck1vdmUsIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICBpZiAodGFyZ2V0Lmhhc1BvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCkpIG9uU2xpZGVNb3ZlKGV2ZW50KTtcbiAgICAgICAgfSl9XG4gICAgICAgIG9uUG9pbnRlclVwPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJVcCwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIGlmICh0YXJnZXQuaGFzUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKSkge1xuICAgICAgICAgICAgdGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuICAgICAgICAgICAgb25TbGlkZUVuZChldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyVHJhY2tcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgVFJBQ0tfTkFNRSA9ICdTbGlkZXJUcmFjayc7XG5cbnR5cGUgU2xpZGVyVHJhY2tFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xudHlwZSBQcmltaXRpdmVTcGFuUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbmludGVyZmFjZSBTbGlkZXJUcmFja1Byb3BzIGV4dGVuZHMgUHJpbWl0aXZlU3BhblByb3BzIHt9XG5cbmNvbnN0IFNsaWRlclRyYWNrID0gUmVhY3QuZm9yd2FyZFJlZjxTbGlkZXJUcmFja0VsZW1lbnQsIFNsaWRlclRyYWNrUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlclRyYWNrUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTbGlkZXIsIC4uLnRyYWNrUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTbGlkZXJDb250ZXh0KFRSQUNLX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLnNwYW5cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17Y29udGV4dC5kaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICBkYXRhLW9yaWVudGF0aW9uPXtjb250ZXh0Lm9yaWVudGF0aW9ufVxuICAgICAgICB7Li4udHJhY2tQcm9wc31cbiAgICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cblNsaWRlclRyYWNrLmRpc3BsYXlOYW1lID0gVFJBQ0tfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyUmFuZ2VcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgUkFOR0VfTkFNRSA9ICdTbGlkZXJSYW5nZSc7XG5cbnR5cGUgU2xpZGVyUmFuZ2VFbGVtZW50ID0gUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIFNsaWRlclJhbmdlUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge31cblxuY29uc3QgU2xpZGVyUmFuZ2UgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlclJhbmdlRWxlbWVudCwgU2xpZGVyUmFuZ2VQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2xpZGVyUmFuZ2VQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNsaWRlciwgLi4ucmFuZ2VQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNsaWRlckNvbnRleHQoUkFOR0VfTkFNRSwgX19zY29wZVNsaWRlcik7XG4gICAgY29uc3Qgb3JpZW50YXRpb24gPSB1c2VTbGlkZXJPcmllbnRhdGlvbkNvbnRleHQoUkFOR0VfTkFNRSwgX19zY29wZVNsaWRlcik7XG4gICAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICBjb25zdCB2YWx1ZXNDb3VudCA9IGNvbnRleHQudmFsdWVzLmxlbmd0aDtcbiAgICBjb25zdCBwZXJjZW50YWdlcyA9IGNvbnRleHQudmFsdWVzLm1hcCgodmFsdWUpID0+XG4gICAgICBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWUsIGNvbnRleHQubWluLCBjb250ZXh0Lm1heClcbiAgICApO1xuICAgIGNvbnN0IG9mZnNldFN0YXJ0ID0gdmFsdWVzQ291bnQgPiAxID8gTWF0aC5taW4oLi4ucGVyY2VudGFnZXMpIDogMDtcbiAgICBjb25zdCBvZmZzZXRFbmQgPSAxMDAgLSBNYXRoLm1heCguLi5wZXJjZW50YWdlcyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5zcGFuXG4gICAgICAgIGRhdGEtb3JpZW50YXRpb249e2NvbnRleHQub3JpZW50YXRpb259XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e2NvbnRleHQuZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgey4uLnJhbmdlUHJvcHN9XG4gICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIC4uLnByb3BzLnN0eWxlLFxuICAgICAgICAgIFtvcmllbnRhdGlvbi5zdGFydEVkZ2VdOiBvZmZzZXRTdGFydCArICclJyxcbiAgICAgICAgICBbb3JpZW50YXRpb24uZW5kRWRnZV06IG9mZnNldEVuZCArICclJyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2xpZGVyUmFuZ2UuZGlzcGxheU5hbWUgPSBSQU5HRV9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTbGlkZXJUaHVtYlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBUSFVNQl9OQU1FID0gJ1NsaWRlclRodW1iJztcblxudHlwZSBTbGlkZXJUaHVtYkVsZW1lbnQgPSBTbGlkZXJUaHVtYkltcGxFbGVtZW50O1xuaW50ZXJmYWNlIFNsaWRlclRodW1iUHJvcHMgZXh0ZW5kcyBPbWl0PFNsaWRlclRodW1iSW1wbFByb3BzLCAnaW5kZXgnPiB7fVxuXG5jb25zdCBTbGlkZXJUaHVtYiA9IFJlYWN0LmZvcndhcmRSZWY8U2xpZGVyVGh1bWJFbGVtZW50LCBTbGlkZXJUaHVtYlByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTbGlkZXJUaHVtYlByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKHByb3BzLl9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IFt0aHVtYiwgc2V0VGh1bWJdID0gUmVhY3QudXNlU3RhdGU8U2xpZGVyVGh1bWJJbXBsRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRUaHVtYihub2RlKSk7XG4gICAgY29uc3QgaW5kZXggPSBSZWFjdC51c2VNZW1vKFxuICAgICAgKCkgPT4gKHRodW1iID8gZ2V0SXRlbXMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQgPT09IHRodW1iKSA6IC0xKSxcbiAgICAgIFtnZXRJdGVtcywgdGh1bWJdXG4gICAgKTtcbiAgICByZXR1cm4gPFNsaWRlclRodW1iSW1wbCB7Li4ucHJvcHN9IHJlZj17Y29tcG9zZWRSZWZzfSBpbmRleD17aW5kZXh9IC8+O1xuICB9XG4pO1xuXG50eXBlIFNsaWRlclRodW1iSW1wbEVsZW1lbnQgPSBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgU2xpZGVyVGh1bWJJbXBsUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge1xuICBpbmRleDogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5jb25zdCBTbGlkZXJUaHVtYkltcGwgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlclRodW1iSW1wbEVsZW1lbnQsIFNsaWRlclRodW1iSW1wbFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTbGlkZXJUaHVtYkltcGxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNsaWRlciwgaW5kZXgsIG5hbWUsIC4uLnRodW1iUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTbGlkZXJDb250ZXh0KFRIVU1CX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IG9yaWVudGF0aW9uID0gdXNlU2xpZGVyT3JpZW50YXRpb25Db250ZXh0KFRIVU1CX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IFt0aHVtYiwgc2V0VGh1bWJdID0gUmVhY3QudXNlU3RhdGU8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldFRodW1iKG5vZGUpKTtcbiAgICAvLyBXZSBzZXQgdGhpcyB0byB0cnVlIGJ5IGRlZmF1bHQgc28gdGhhdCBldmVudHMgYnViYmxlIHRvIGZvcm1zIHdpdGhvdXQgSlMgKFNTUilcbiAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gdGh1bWIgPyBjb250ZXh0LmZvcm0gfHwgISF0aHVtYi5jbG9zZXN0KCdmb3JtJykgOiB0cnVlO1xuICAgIGNvbnN0IHNpemUgPSB1c2VTaXplKHRodW1iKTtcbiAgICAvLyBXZSBjYXN0IGJlY2F1c2UgaW5kZXggY291bGQgYmUgYC0xYCB3aGljaCB3b3VsZCByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZXh0LnZhbHVlc1tpbmRleF0gYXMgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBlcmNlbnQgPVxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IDAgOiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWUsIGNvbnRleHQubWluLCBjb250ZXh0Lm1heCk7XG4gICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbChpbmRleCwgY29udGV4dC52YWx1ZXMubGVuZ3RoKTtcbiAgICBjb25zdCBvcmllbnRhdGlvblNpemUgPSBzaXplPy5bb3JpZW50YXRpb24uc2l6ZV07XG4gICAgY29uc3QgdGh1bWJJbkJvdW5kc09mZnNldCA9IG9yaWVudGF0aW9uU2l6ZVxuICAgICAgPyBnZXRUaHVtYkluQm91bmRzT2Zmc2V0KG9yaWVudGF0aW9uU2l6ZSwgcGVyY2VudCwgb3JpZW50YXRpb24uZGlyZWN0aW9uKVxuICAgICAgOiAwO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aHVtYikge1xuICAgICAgICBjb250ZXh0LnRodW1icy5hZGQodGh1bWIpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGNvbnRleHQudGh1bWJzLmRlbGV0ZSh0aHVtYik7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSwgW3RodW1iLCBjb250ZXh0LnRodW1ic10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndmFyKC0tcmFkaXgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybSknLFxuICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIFtvcmllbnRhdGlvbi5zdGFydEVkZ2VdOiBgY2FsYygke3BlcmNlbnR9JSArICR7dGh1bWJJbkJvdW5kc09mZnNldH1weClgLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Q29sbGVjdGlvbi5JdGVtU2xvdCBzY29wZT17cHJvcHMuX19zY29wZVNsaWRlcn0+XG4gICAgICAgICAgPFByaW1pdGl2ZS5zcGFuXG4gICAgICAgICAgICByb2xlPVwic2xpZGVyXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3Byb3BzWydhcmlhLWxhYmVsJ10gfHwgbGFiZWx9XG4gICAgICAgICAgICBhcmlhLXZhbHVlbWluPXtjb250ZXh0Lm1pbn1cbiAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e3ZhbHVlfVxuICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17Y29udGV4dC5tYXh9XG4gICAgICAgICAgICBhcmlhLW9yaWVudGF0aW9uPXtjb250ZXh0Lm9yaWVudGF0aW9ufVxuICAgICAgICAgICAgZGF0YS1vcmllbnRhdGlvbj17Y29udGV4dC5vcmllbnRhdGlvbn1cbiAgICAgICAgICAgIGRhdGEtZGlzYWJsZWQ9e2NvbnRleHQuZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIHRhYkluZGV4PXtjb250ZXh0LmRpc2FibGVkID8gdW5kZWZpbmVkIDogMH1cbiAgICAgICAgICAgIHsuLi50aHVtYlByb3BzfVxuICAgICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZXJlIHdpbGwgYmUgbm8gdmFsdWUgb24gaW5pdGlhbCByZW5kZXIgd2hpbGUgd2Ugd29yayBvdXQgdGhlIGluZGV4IHNvIHdlIGhpZGUgdGh1bWJzXG4gICAgICAgICAgICAgKiB3aXRob3V0IGEgdmFsdWUsIG90aGVyd2lzZSBTU1Igd2lsbCByZW5kZXIgdGhlbSBpbiB0aGUgd3JvbmcgcG9zaXRpb24gYmVmb3JlIHRoZXlcbiAgICAgICAgICAgICAqIHNuYXAgaW50byB0aGUgY29ycmVjdCBwb3NpdGlvbiBkdXJpbmcgaHlkcmF0aW9uIHdoaWNoIHdvdWxkIGJlIHZpc3VhbGx5IGphcnJpbmcgZm9yXG4gICAgICAgICAgICAgKiBzbG93ZXIgY29ubmVjdGlvbnMuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlPXt2YWx1ZSA9PT0gdW5kZWZpbmVkID8geyBkaXNwbGF5OiAnbm9uZScgfSA6IHByb3BzLnN0eWxlfVxuICAgICAgICAgICAgb25Gb2N1cz17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1cywgKCkgPT4ge1xuICAgICAgICAgICAgICBjb250ZXh0LnZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50ID0gaW5kZXg7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbGxlY3Rpb24uSXRlbVNsb3Q+XG5cbiAgICAgICAge2lzRm9ybUNvbnRyb2wgJiYgKFxuICAgICAgICAgIDxCdWJibGVJbnB1dFxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIG5hbWU9e1xuICAgICAgICAgICAgICBuYW1lID8/XG4gICAgICAgICAgICAgIChjb250ZXh0Lm5hbWUgPyBjb250ZXh0Lm5hbWUgKyAoY29udGV4dC52YWx1ZXMubGVuZ3RoID4gMSA/ICdbXScgOiAnJykgOiB1bmRlZmluZWQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtPXtjb250ZXh0LmZvcm19XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5TbGlkZXJUaHVtYi5kaXNwbGF5TmFtZSA9IFRIVU1CX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQnViYmxlSW5wdXQgPSAocHJvcHM6IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjwnaW5wdXQnPikgPT4ge1xuICBjb25zdCB7IHZhbHVlLCAuLi5pbnB1dFByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBwcmV2VmFsdWUgPSB1c2VQcmV2aW91cyh2YWx1ZSk7XG5cbiAgLy8gQnViYmxlIHZhbHVlIGNoYW5nZSB0byBwYXJlbnRzIChlLmcgZm9ybSBjaGFuZ2UgZXZlbnQpXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSByZWYuY3VycmVudCE7XG4gICAgY29uc3QgaW5wdXRQcm90byA9IHdpbmRvdy5IVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnB1dFByb3RvLCAndmFsdWUnKSBhcyBQcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgY29uc3Qgc2V0VmFsdWUgPSBkZXNjcmlwdG9yLnNldDtcbiAgICBpZiAocHJldlZhbHVlICE9PSB2YWx1ZSAmJiBzZXRWYWx1ZSkge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgc2V0VmFsdWUuY2FsbChpbnB1dCwgdmFsdWUpO1xuICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgfVxuICB9LCBbcHJldlZhbHVlLCB2YWx1ZV0pO1xuXG4gIC8qKlxuICAgKiBXZSBwdXJwb3NlZnVsbHkgZG8gbm90IHVzZSBgdHlwZT1cImhpZGRlblwiYCBoZXJlIG90aGVyd2lzZSBmb3JtcyB0aGF0XG4gICAqIHdyYXAgaXQgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgaXRzIHZhbHVlIHZpYSB0aGUgRm9ybURhdGEgQVBJLlxuICAgKlxuICAgKiBXZSBwdXJwb3NlZnVsbHkgZG8gbm90IGFkZCB0aGUgYHZhbHVlYCBhdHRyaWJ1dGUgaGVyZSB0byBhbGxvdyB0aGUgdmFsdWVcbiAgICogdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgYW5kIGJ1YmJsZSB0byBhbnkgcGFyZW50IGZvcm0gYG9uQ2hhbmdlYCBldmVudC5cbiAgICogQWRkaW5nIHRoZSBgdmFsdWVgIHdpbGwgY2F1c2UgUmVhY3QgdG8gY29uc2lkZXIgdGhlIHByb2dyYW1tYXRpY1xuICAgKiBkaXNwYXRjaCBhIGR1cGxpY2F0ZSBhbmQgaXQgd2lsbCBnZXQgc3dhbGxvd2VkLlxuICAgKi9cbiAgcmV0dXJuIDxpbnB1dCBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX0gey4uLmlucHV0UHJvcHN9IHJlZj17cmVmfSBkZWZhdWx0VmFsdWU9e3ZhbHVlfSAvPjtcbn07XG5cbmZ1bmN0aW9uIGdldE5leHRTb3J0ZWRWYWx1ZXMocHJldlZhbHVlczogbnVtYmVyW10gPSBbXSwgbmV4dFZhbHVlOiBudW1iZXIsIGF0SW5kZXg6IG51bWJlcikge1xuICBjb25zdCBuZXh0VmFsdWVzID0gWy4uLnByZXZWYWx1ZXNdO1xuICBuZXh0VmFsdWVzW2F0SW5kZXhdID0gbmV4dFZhbHVlO1xuICByZXR1cm4gbmV4dFZhbHVlcy5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgY29uc3QgbWF4U3RlcHMgPSBtYXggLSBtaW47XG4gIGNvbnN0IHBlcmNlbnRQZXJTdGVwID0gMTAwIC8gbWF4U3RlcHM7XG4gIGNvbnN0IHBlcmNlbnRhZ2UgPSBwZXJjZW50UGVyU3RlcCAqICh2YWx1ZSAtIG1pbik7XG4gIHJldHVybiBjbGFtcChwZXJjZW50YWdlLCBbMCwgMTAwXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGxhYmVsIGZvciBlYWNoIHRodW1iIHdoZW4gdGhlcmUgYXJlIHR3byBvciBtb3JlIHRodW1ic1xuICovXG5mdW5jdGlvbiBnZXRMYWJlbChpbmRleDogbnVtYmVyLCB0b3RhbFZhbHVlczogbnVtYmVyKSB7XG4gIGlmICh0b3RhbFZhbHVlcyA+IDIpIHtcbiAgICByZXR1cm4gYFZhbHVlICR7aW5kZXggKyAxfSBvZiAke3RvdGFsVmFsdWVzfWA7XG4gIH0gZWxzZSBpZiAodG90YWxWYWx1ZXMgPT09IDIpIHtcbiAgICByZXR1cm4gWydNaW5pbXVtJywgJ01heGltdW0nXVtpbmRleF07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEdpdmVuIGEgYHZhbHVlc2AgYXJyYXkgYW5kIGEgYG5leHRWYWx1ZWAsIGRldGVybWluZSB3aGljaCB2YWx1ZSBpblxuICogdGhlIGFycmF5IGlzIGNsb3Nlc3QgdG8gYG5leHRWYWx1ZWAgYW5kIHJldHVybiBpdHMgaW5kZXguXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIHJldHVybnMgMVxuICogZ2V0Q2xvc2VzdFZhbHVlSW5kZXgoWzEwLCAzMF0sIDI1KTtcbiAqL1xuZnVuY3Rpb24gZ2V0Q2xvc2VzdFZhbHVlSW5kZXgodmFsdWVzOiBudW1iZXJbXSwgbmV4dFZhbHVlOiBudW1iZXIpIHtcbiAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDEpIHJldHVybiAwO1xuICBjb25zdCBkaXN0YW5jZXMgPSB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4gTWF0aC5hYnModmFsdWUgLSBuZXh0VmFsdWUpKTtcbiAgY29uc3QgY2xvc2VzdERpc3RhbmNlID0gTWF0aC5taW4oLi4uZGlzdGFuY2VzKTtcbiAgcmV0dXJuIGRpc3RhbmNlcy5pbmRleE9mKGNsb3Nlc3REaXN0YW5jZSk7XG59XG5cbi8qKlxuICogT2Zmc2V0cyB0aGUgdGh1bWIgY2VudHJlIHBvaW50IHdoaWxlIHNsaWRpbmcgdG8gZW5zdXJlIGl0IHJlbWFpbnNcbiAqIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoZSBzbGlkZXIgd2hlbiByZWFjaGluZyB0aGUgZWRnZXNcbiAqL1xuZnVuY3Rpb24gZ2V0VGh1bWJJbkJvdW5kc09mZnNldCh3aWR0aDogbnVtYmVyLCBsZWZ0OiBudW1iZXIsIGRpcmVjdGlvbjogbnVtYmVyKSB7XG4gIGNvbnN0IGhhbGZXaWR0aCA9IHdpZHRoIC8gMjtcbiAgY29uc3QgaGFsZlBlcmNlbnQgPSA1MDtcbiAgY29uc3Qgb2Zmc2V0ID0gbGluZWFyU2NhbGUoWzAsIGhhbGZQZXJjZW50XSwgWzAsIGhhbGZXaWR0aF0pO1xuICByZXR1cm4gKGhhbGZXaWR0aCAtIG9mZnNldChsZWZ0KSAqIGRpcmVjdGlvbikgKiBkaXJlY3Rpb247XG59XG5cbi8qKlxuICogR2V0cyBhbiBhcnJheSBvZiBzdGVwcyBiZXR3ZWVuIGVhY2ggdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIHJldHVybnMgWzEsIDldXG4gKiBnZXRTdGVwc0JldHdlZW5WYWx1ZXMoWzEwLCAxMSwgMjBdKTtcbiAqL1xuZnVuY3Rpb24gZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzKHZhbHVlczogbnVtYmVyW10pIHtcbiAgcmV0dXJuIHZhbHVlcy5zbGljZSgwLCAtMSkubWFwKCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlc1tpbmRleCArIDFdIC0gdmFsdWUpO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoZSBtaW5pbXVtIHN0ZXBzIGJldHdlZW4gYWxsIHZhbHVlcyBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWxcbiAqIHRvIHRoZSBleHBlY3RlZCBtaW5pbXVtIHN0ZXBzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyByZXR1cm5zIGZhbHNlXG4gKiBoYXNNaW5TdGVwc0JldHdlZW5WYWx1ZXMoWzEsMiwzXSwgMik7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIHJldHVybnMgdHJ1ZVxuICogaGFzTWluU3RlcHNCZXR3ZWVuVmFsdWVzKFsxLDIsM10sIDEpO1xuICovXG5mdW5jdGlvbiBoYXNNaW5TdGVwc0JldHdlZW5WYWx1ZXModmFsdWVzOiBudW1iZXJbXSwgbWluU3RlcHNCZXR3ZWVuVmFsdWVzOiBudW1iZXIpIHtcbiAgaWYgKG1pblN0ZXBzQmV0d2VlblZhbHVlcyA+IDApIHtcbiAgICBjb25zdCBzdGVwc0JldHdlZW5WYWx1ZXMgPSBnZXRTdGVwc0JldHdlZW5WYWx1ZXModmFsdWVzKTtcbiAgICBjb25zdCBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPSBNYXRoLm1pbiguLi5zdGVwc0JldHdlZW5WYWx1ZXMpO1xuICAgIHJldHVybiBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPj0gbWluU3RlcHNCZXR3ZWVuVmFsdWVzO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdG1jdy11cC1mb3ItYWRvcHRpb24vc2ltcGxlLWxpbmVhci1zY2FsZS9ibG9iL21hc3Rlci9pbmRleC5qc1xuZnVuY3Rpb24gbGluZWFyU2NhbGUoaW5wdXQ6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0sIG91dHB1dDogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSkge1xuICByZXR1cm4gKHZhbHVlOiBudW1iZXIpID0+IHtcbiAgICBpZiAoaW5wdXRbMF0gPT09IGlucHV0WzFdIHx8IG91dHB1dFswXSA9PT0gb3V0cHV0WzFdKSByZXR1cm4gb3V0cHV0WzBdO1xuICAgIGNvbnN0IHJhdGlvID0gKG91dHB1dFsxXSAtIG91dHB1dFswXSkgLyAoaW5wdXRbMV0gLSBpbnB1dFswXSk7XG4gICAgcmV0dXJuIG91dHB1dFswXSArIHJhdGlvICogKHZhbHVlIC0gaW5wdXRbMF0pO1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXREZWNpbWFsQ291bnQodmFsdWU6IG51bWJlcikge1xuICByZXR1cm4gKFN0cmluZyh2YWx1ZSkuc3BsaXQoJy4nKVsxXSB8fCAnJykubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiByb3VuZFZhbHVlKHZhbHVlOiBudW1iZXIsIGRlY2ltYWxDb3VudDogbnVtYmVyKSB7XG4gIGNvbnN0IHJvdW5kZXIgPSBNYXRoLnBvdygxMCwgZGVjaW1hbENvdW50KTtcbiAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiByb3VuZGVyKSAvIHJvdW5kZXI7XG59XG5cbmNvbnN0IFJvb3QgPSBTbGlkZXI7XG5jb25zdCBUcmFjayA9IFNsaWRlclRyYWNrO1xuY29uc3QgUmFuZ2UgPSBTbGlkZXJSYW5nZTtcbmNvbnN0IFRodW1iID0gU2xpZGVyVGh1bWI7XG5cbmV4cG9ydCB7XG4gIGNyZWF0ZVNsaWRlclNjb3BlLFxuICAvL1xuICBTbGlkZXIsXG4gIFNsaWRlclRyYWNrLFxuICBTbGlkZXJSYW5nZSxcbiAgU2xpZGVyVGh1bWIsXG4gIC8vXG4gIFJvb3QsXG4gIFRyYWNrLFxuICBSYW5nZSxcbiAgVGh1bWIsXG59O1xuZXhwb3J0IHR5cGUgeyBTbGlkZXJQcm9wcywgU2xpZGVyVHJhY2tQcm9wcywgU2xpZGVyUmFuZ2VQcm9wcywgU2xpZGVyVGh1bWJQcm9wcyB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY2xhbXAiLCJjb21wb3NlRXZlbnRIYW5kbGVycyIsInVzZUNvbXBvc2VkUmVmcyIsImNyZWF0ZUNvbnRleHRTY29wZSIsInVzZUNvbnRyb2xsYWJsZVN0YXRlIiwidXNlRGlyZWN0aW9uIiwidXNlUHJldmlvdXMiLCJ1c2VTaXplIiwiUHJpbWl0aXZlIiwiY3JlYXRlQ29sbGVjdGlvbiIsImpzeCIsImpzeHMiLCJQQUdFX0tFWVMiLCJBUlJPV19LRVlTIiwiQkFDS19LRVlTIiwiU0xJREVSX05BTUUiLCJDb2xsZWN0aW9uIiwidXNlQ29sbGVjdGlvbiIsImNyZWF0ZUNvbGxlY3Rpb25TY29wZSIsImNyZWF0ZVNsaWRlckNvbnRleHQiLCJjcmVhdGVTbGlkZXJTY29wZSIsIlNsaWRlclByb3ZpZGVyIiwidXNlU2xpZGVyQ29udGV4dCIsIlNsaWRlciIsImZvcndhcmRSZWYiLCJwcm9wcyIsImZvcndhcmRlZFJlZiIsIm5hbWUiLCJtaW4iLCJtYXgiLCJzdGVwIiwib3JpZW50YXRpb24iLCJkaXNhYmxlZCIsIm1pblN0ZXBzQmV0d2VlblRodW1icyIsImRlZmF1bHRWYWx1ZSIsInZhbHVlIiwib25WYWx1ZUNoYW5nZSIsIm9uVmFsdWVDb21taXQiLCJpbnZlcnRlZCIsImZvcm0iLCJzbGlkZXJQcm9wcyIsInRodW1iUmVmcyIsInVzZVJlZiIsIlNldCIsInZhbHVlSW5kZXhUb0NoYW5nZVJlZiIsImlzSG9yaXpvbnRhbCIsIlNsaWRlck9yaWVudGF0aW9uIiwiU2xpZGVySG9yaXpvbnRhbCIsIlNsaWRlclZlcnRpY2FsIiwidmFsdWVzIiwic2V0VmFsdWVzIiwicHJvcCIsImRlZmF1bHRQcm9wIiwib25DaGFuZ2UiLCJ0aHVtYnMiLCJjdXJyZW50IiwiZm9jdXMiLCJ2YWx1ZXNCZWZvcmVTbGlkZVN0YXJ0UmVmIiwiaGFuZGxlU2xpZGVTdGFydCIsImNsb3Nlc3RJbmRleCIsImdldENsb3Nlc3RWYWx1ZUluZGV4IiwidXBkYXRlVmFsdWVzIiwiaGFuZGxlU2xpZGVNb3ZlIiwiaGFuZGxlU2xpZGVFbmQiLCJwcmV2VmFsdWUiLCJuZXh0VmFsdWUiLCJoYXNDaGFuZ2VkIiwiYXRJbmRleCIsImNvbW1pdCIsImRlY2ltYWxDb3VudCIsImdldERlY2ltYWxDb3VudCIsInNuYXBUb1N0ZXAiLCJyb3VuZFZhbHVlIiwiTWF0aCIsInJvdW5kIiwicHJldlZhbHVlcyIsIm5leHRWYWx1ZXMiLCJnZXROZXh0U29ydGVkVmFsdWVzIiwiaGFzTWluU3RlcHNCZXR3ZWVuVmFsdWVzIiwiaW5kZXhPZiIsIlN0cmluZyIsInNjb3BlIiwiX19zY29wZVNsaWRlciIsImNoaWxkcmVuIiwiUHJvdmlkZXIiLCJTbG90IiwicmVmIiwib25Qb2ludGVyRG93biIsIm9uU2xpZGVTdGFydCIsIm9uU2xpZGVNb3ZlIiwib25TbGlkZUVuZCIsIm9uSG9tZUtleURvd24iLCJvbkVuZEtleURvd24iLCJsZW5ndGgiLCJvblN0ZXBLZXlEb3duIiwiZXZlbnQiLCJkaXJlY3Rpb24iLCJzdGVwRGlyZWN0aW9uIiwiaXNQYWdlS2V5IiwiaW5jbHVkZXMiLCJrZXkiLCJpc1NraXBLZXkiLCJzaGlmdEtleSIsIm11bHRpcGxpZXIiLCJzdGVwSW5EaXJlY3Rpb24iLCJkaXNwbGF5TmFtZSIsIlNsaWRlck9yaWVudGF0aW9uUHJvdmlkZXIiLCJ1c2VTbGlkZXJPcmllbnRhdGlvbkNvbnRleHQiLCJzdGFydEVkZ2UiLCJlbmRFZGdlIiwic2l6ZSIsImRpciIsInNsaWRlciIsInNldFNsaWRlciIsInVzZVN0YXRlIiwiY29tcG9zZWRSZWZzIiwibm9kZSIsInJlY3RSZWYiLCJpc0RpcmVjdGlvbkxUUiIsImlzU2xpZGluZ0Zyb21MZWZ0IiwiZ2V0VmFsdWVGcm9tUG9pbnRlciIsInBvaW50ZXJQb3NpdGlvbiIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJpbnB1dCIsIndpZHRoIiwib3V0cHV0IiwibGluZWFyU2NhbGUiLCJsZWZ0IiwiU2xpZGVySW1wbCIsInN0eWxlIiwiY2xpZW50WCIsInNsaWRlRGlyZWN0aW9uIiwiaXNCYWNrS2V5Iiwic2xpZGVyUmVmIiwiaXNTbGlkaW5nRnJvbUJvdHRvbSIsImhlaWdodCIsInRvcCIsImNsaWVudFkiLCJjb250ZXh0Iiwic3BhbiIsIm9uS2V5RG93biIsInByZXZlbnREZWZhdWx0IiwiY29uY2F0IiwidGFyZ2V0Iiwic2V0UG9pbnRlckNhcHR1cmUiLCJwb2ludGVySWQiLCJoYXMiLCJvblBvaW50ZXJNb3ZlIiwiaGFzUG9pbnRlckNhcHR1cmUiLCJvblBvaW50ZXJVcCIsInJlbGVhc2VQb2ludGVyQ2FwdHVyZSIsIlRSQUNLX05BTUUiLCJTbGlkZXJUcmFjayIsInRyYWNrUHJvcHMiLCJSQU5HRV9OQU1FIiwiU2xpZGVyUmFuZ2UiLCJyYW5nZVByb3BzIiwidmFsdWVzQ291bnQiLCJwZXJjZW50YWdlcyIsIm1hcCIsImNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSIsIm9mZnNldFN0YXJ0Iiwib2Zmc2V0RW5kIiwiVEhVTUJfTkFNRSIsIlNsaWRlclRodW1iIiwiZ2V0SXRlbXMiLCJ0aHVtYiIsInNldFRodW1iIiwiaW5kZXgiLCJ1c2VNZW1vIiwiZmluZEluZGV4IiwiaXRlbSIsIlNsaWRlclRodW1iSW1wbCIsInRodW1iUHJvcHMiLCJpc0Zvcm1Db250cm9sIiwiY2xvc2VzdCIsInBlcmNlbnQiLCJsYWJlbCIsImdldExhYmVsIiwib3JpZW50YXRpb25TaXplIiwidGh1bWJJbkJvdW5kc09mZnNldCIsImdldFRodW1iSW5Cb3VuZHNPZmZzZXQiLCJ1c2VFZmZlY3QiLCJhZGQiLCJkZWxldGUiLCJ0cmFuc2Zvcm0iLCJwb3NpdGlvbiIsIkl0ZW1TbG90Iiwicm9sZSIsInRhYkluZGV4IiwiZGlzcGxheSIsIm9uRm9jdXMiLCJCdWJibGVJbnB1dCIsImlucHV0UHJvcHMiLCJpbnB1dFByb3RvIiwid2luZG93IiwiSFRNTElucHV0RWxlbWVudCIsInByb3RvdHlwZSIsImRlc2NyaXB0b3IiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJzZXRWYWx1ZSIsInNldCIsIkV2ZW50IiwiYnViYmxlcyIsImNhbGwiLCJkaXNwYXRjaEV2ZW50Iiwic29ydCIsImEiLCJiIiwibWF4U3RlcHMiLCJwZXJjZW50UGVyU3RlcCIsInBlcmNlbnRhZ2UiLCJ0b3RhbFZhbHVlcyIsImRpc3RhbmNlcyIsImFicyIsImNsb3Nlc3REaXN0YW5jZSIsImhhbGZXaWR0aCIsImhhbGZQZXJjZW50Iiwib2Zmc2V0IiwiZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzIiwic2xpY2UiLCJtaW5TdGVwc0JldHdlZW5WYWx1ZXMiLCJzdGVwc0JldHdlZW5WYWx1ZXMiLCJhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMiLCJyYXRpbyIsInNwbGl0Iiwicm91bmRlciIsInBvdyIsIlJvb3QiLCJUcmFjayIsIlJhbmdlIiwiVGh1bWIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-slider/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs":
|
|
/*!**********************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-slot/dist/index.mjs ***!
|
|
\**********************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ Slot: () => (/* binding */ Slot),\n/* harmony export */ Slottable: () => (/* binding */ Slottable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// packages/react/slot/src/Slot.tsx\n\n\n\nvar Slot = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (react__WEBPACK_IMPORTED_MODULE_0__.Children.count(newElement) > 1) return react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null);\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__.composeRefs)(forwardedRef, childrenRef) : childrenRef\n });\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.Children.count(children) > 1 ? react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { children });\n};\nfunction isSlottable(child) {\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsb3QvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDK0I7QUFDNEI7QUFDVDtBQUNsRCxXQUFXLDZDQUFnQjtBQUMzQixVQUFVLHlCQUF5QjtBQUNuQyx3QkFBd0IsMkNBQWM7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksMkNBQWMsK0JBQStCLDJDQUFjO0FBQ3ZFLGVBQWUsaURBQW9CO0FBQ25DLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMLDJCQUEyQixzREFBRyxjQUFjLDJDQUEyQyxpREFBb0IsZUFBZSwrQ0FBa0IsMENBQTBDO0FBQ3RMO0FBQ0EseUJBQXlCLHNEQUFHLGNBQWMsMkNBQTJDO0FBQ3JGLENBQUM7QUFDRDtBQUNBLGdCQUFnQiw2Q0FBZ0I7QUFDaEMsVUFBVSx5QkFBeUI7QUFDbkMsTUFBTSxpREFBb0I7QUFDMUI7QUFDQSxXQUFXLCtDQUFrQjtBQUM3QjtBQUNBO0FBQ0EsMEJBQTBCLHlFQUFXO0FBQ3JDLEtBQUs7QUFDTDtBQUNBLFNBQVMsMkNBQWMsdUJBQXVCLDJDQUFjO0FBQzVELENBQUM7QUFDRDtBQUNBLG1CQUFtQixVQUFVO0FBQzdCLHlCQUF5QixzREFBRyxDQUFDLHVEQUFRLElBQUksVUFBVTtBQUNuRDtBQUNBO0FBQ0EsU0FBUyxpREFBb0I7QUFDN0I7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOLGtDQUFrQztBQUNsQyxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1zbG90L2Rpc3QvaW5kZXgubWpzP2ZlM2QiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3Qvc2xvdC9zcmMvU2xvdC50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZVJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFNsb3QgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnNsb3RQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkcmVuKTtcbiAgY29uc3Qgc2xvdHRhYmxlID0gY2hpbGRyZW5BcnJheS5maW5kKGlzU2xvdHRhYmxlKTtcbiAgaWYgKHNsb3R0YWJsZSkge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBzbG90dGFibGUucHJvcHMuY2hpbGRyZW47XG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBjaGlsZHJlbkFycmF5Lm1hcCgoY2hpbGQpID0+IHtcbiAgICAgIGlmIChjaGlsZCA9PT0gc2xvdHRhYmxlKSB7XG4gICAgICAgIGlmIChSZWFjdC5DaGlsZHJlbi5jb3VudChuZXdFbGVtZW50KSA+IDEpIHJldHVybiBSZWFjdC5DaGlsZHJlbi5vbmx5KG51bGwpO1xuICAgICAgICByZXR1cm4gUmVhY3QuaXNWYWxpZEVsZW1lbnQobmV3RWxlbWVudCkgPyBuZXdFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW46IFJlYWN0LmlzVmFsaWRFbGVtZW50KG5ld0VsZW1lbnQpID8gUmVhY3QuY2xvbmVFbGVtZW50KG5ld0VsZW1lbnQsIHZvaWQgMCwgbmV3Q2hpbGRyZW4pIDogbnVsbCB9KTtcbiAgfVxuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW4gfSk7XG59KTtcblNsb3QuZGlzcGxheU5hbWUgPSBcIlNsb3RcIjtcbnZhciBTbG90Q2xvbmUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnNsb3RQcm9wcyB9ID0gcHJvcHM7XG4gIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IGdldEVsZW1lbnRSZWYoY2hpbGRyZW4pO1xuICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHtcbiAgICAgIC4uLm1lcmdlUHJvcHMoc2xvdFByb3BzLCBjaGlsZHJlbi5wcm9wcyksXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZWY6IGZvcndhcmRlZFJlZiA/IGNvbXBvc2VSZWZzKGZvcndhcmRlZFJlZiwgY2hpbGRyZW5SZWYpIDogY2hpbGRyZW5SZWZcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMSA/IFJlYWN0LkNoaWxkcmVuLm9ubHkobnVsbCkgOiBudWxsO1xufSk7XG5TbG90Q2xvbmUuZGlzcGxheU5hbWUgPSBcIlNsb3RDbG9uZVwiO1xudmFyIFNsb3R0YWJsZSA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRnJhZ21lbnQsIHsgY2hpbGRyZW4gfSk7XG59O1xuZnVuY3Rpb24gaXNTbG90dGFibGUoY2hpbGQpIHtcbiAgcmV0dXJuIFJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSAmJiBjaGlsZC50eXBlID09PSBTbG90dGFibGU7XG59XG5mdW5jdGlvbiBtZXJnZVByb3BzKHNsb3RQcm9wcywgY2hpbGRQcm9wcykge1xuICBjb25zdCBvdmVycmlkZVByb3BzID0geyAuLi5jaGlsZFByb3BzIH07XG4gIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hpbGRQcm9wcykge1xuICAgIGNvbnN0IHNsb3RQcm9wVmFsdWUgPSBzbG90UHJvcHNbcHJvcE5hbWVdO1xuICAgIGNvbnN0IGNoaWxkUHJvcFZhbHVlID0gY2hpbGRQcm9wc1twcm9wTmFtZV07XG4gICAgY29uc3QgaXNIYW5kbGVyID0gL15vbltBLVpdLy50ZXN0KHByb3BOYW1lKTtcbiAgICBpZiAoaXNIYW5kbGVyKSB7XG4gICAgICBpZiAoc2xvdFByb3BWYWx1ZSAmJiBjaGlsZFByb3BWYWx1ZSkge1xuICAgICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgY2hpbGRQcm9wVmFsdWUoLi4uYXJncyk7XG4gICAgICAgICAgc2xvdFByb3BWYWx1ZSguLi5hcmdzKTtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc2xvdFByb3BWYWx1ZSkge1xuICAgICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHNsb3RQcm9wVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHsgLi4uc2xvdFByb3BWYWx1ZSwgLi4uY2hpbGRQcm9wVmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImNsYXNzTmFtZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IFtzbG90UHJvcFZhbHVlLCBjaGlsZFByb3BWYWx1ZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyAuLi5zbG90UHJvcHMsIC4uLm92ZXJyaWRlUHJvcHMgfTtcbn1cbmZ1bmN0aW9uIGdldEVsZW1lbnRSZWYoZWxlbWVudCkge1xuICBsZXQgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LnByb3BzLCBcInJlZlwiKT8uZ2V0O1xuICBsZXQgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5yZWY7XG4gIH1cbiAgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LCBcInJlZlwiKT8uZ2V0O1xuICBtYXlXYXJuID0gZ2V0dGVyICYmIFwiaXNSZWFjdFdhcm5pbmdcIiBpbiBnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nO1xuICBpZiAobWF5V2Fybikge1xuICAgIHJldHVybiBlbGVtZW50LnByb3BzLnJlZjtcbiAgfVxuICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWYgfHwgZWxlbWVudC5yZWY7XG59XG52YXIgUm9vdCA9IFNsb3Q7XG5leHBvcnQge1xuICBSb290LFxuICBTbG90LFxuICBTbG90dGFibGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs":
|
|
/*!**********************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs ***!
|
|
\**********************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useCallbackRef: () => (/* binding */ useCallbackRef)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n// packages/react/use-callback-ref/src/useCallbackRef.tsx\n\nfunction useCallbackRef(callback) {\n const callbackRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(callback);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n callbackRef.current = callback;\n });\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1jYWxsYmFjay1yZWYvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUMrQjtBQUMvQjtBQUNBLHNCQUFzQix5Q0FBWTtBQUNsQyxFQUFFLDRDQUFlO0FBQ2pCO0FBQ0EsR0FBRztBQUNILFNBQVMsMENBQWE7QUFDdEI7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2luZGV4Lm1qcz83YWU4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3VzZS1jYWxsYmFjay1yZWYvc3JjL3VzZUNhbGxiYWNrUmVmLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiB1c2VDYWxsYmFja1JlZihjYWxsYmFjaykge1xuICBjb25zdCBjYWxsYmFja1JlZiA9IFJlYWN0LnVzZVJlZihjYWxsYmFjayk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY2FsbGJhY2tSZWYuY3VycmVudCA9IGNhbGxiYWNrO1xuICB9KTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKC4uLmFyZ3MpID0+IGNhbGxiYWNrUmVmLmN1cnJlbnQ/LiguLi5hcmdzKSwgW10pO1xufVxuZXhwb3J0IHtcbiAgdXNlQ2FsbGJhY2tSZWZcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs":
|
|
/*!****************************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs ***!
|
|
\****************************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useControllableState: () => (/* binding */ useControllableState)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n// packages/react/use-controllable-state/src/useControllableState.tsx\n\n\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_1__.useCallbackRef)(onChange);\n const setValue = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = react__WEBPACK_IMPORTED_MODULE_0__.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(value);\n const handleChange = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_1__.useCallbackRef)(onChange);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDK0I7QUFDbUM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx5RUFBeUUsdUJBQXVCO0FBQ2hHO0FBQ0E7QUFDQSx1QkFBdUIsZ0ZBQWM7QUFDckMsbUJBQW1CLDhDQUFpQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsNEJBQTRCLDJDQUFjO0FBQzFDO0FBQ0EsdUJBQXVCLHlDQUFZO0FBQ25DLHVCQUF1QixnRkFBYztBQUNyQyxFQUFFLDRDQUFlO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLWNvbnRyb2xsYWJsZS1zdGF0ZS9kaXN0L2luZGV4Lm1qcz9iODM1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3VzZS1jb250cm9sbGFibGUtc3RhdGUvc3JjL3VzZUNvbnRyb2xsYWJsZVN0YXRlLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFja1JlZiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWNhbGxiYWNrLXJlZlwiO1xuZnVuY3Rpb24gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICBwcm9wLFxuICBkZWZhdWx0UHJvcCxcbiAgb25DaGFuZ2UgPSAoKSA9PiB7XG4gIH1cbn0pIHtcbiAgY29uc3QgW3VuY29udHJvbGxlZFByb3AsIHNldFVuY29udHJvbGxlZFByb3BdID0gdXNlVW5jb250cm9sbGVkU3RhdGUoeyBkZWZhdWx0UHJvcCwgb25DaGFuZ2UgfSk7XG4gIGNvbnN0IGlzQ29udHJvbGxlZCA9IHByb3AgIT09IHZvaWQgMDtcbiAgY29uc3QgdmFsdWUgPSBpc0NvbnRyb2xsZWQgPyBwcm9wIDogdW5jb250cm9sbGVkUHJvcDtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2tSZWYob25DaGFuZ2UpO1xuICBjb25zdCBzZXRWYWx1ZSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChuZXh0VmFsdWUpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgY29uc3Qgc2V0dGVyID0gbmV4dFZhbHVlO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSB0eXBlb2YgbmV4dFZhbHVlID09PSBcImZ1bmN0aW9uXCIgPyBzZXR0ZXIocHJvcCkgOiBuZXh0VmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZTIgIT09IHByb3ApIGhhbmRsZUNoYW5nZSh2YWx1ZTIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VW5jb250cm9sbGVkUHJvcChuZXh0VmFsdWUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2lzQ29udHJvbGxlZCwgcHJvcCwgc2V0VW5jb250cm9sbGVkUHJvcCwgaGFuZGxlQ2hhbmdlXVxuICApO1xuICByZXR1cm4gW3ZhbHVlLCBzZXRWYWx1ZV07XG59XG5mdW5jdGlvbiB1c2VVbmNvbnRyb2xsZWRTdGF0ZSh7XG4gIGRlZmF1bHRQcm9wLFxuICBvbkNoYW5nZVxufSkge1xuICBjb25zdCB1bmNvbnRyb2xsZWRTdGF0ZSA9IFJlYWN0LnVzZVN0YXRlKGRlZmF1bHRQcm9wKTtcbiAgY29uc3QgW3ZhbHVlXSA9IHVuY29udHJvbGxlZFN0YXRlO1xuICBjb25zdCBwcmV2VmFsdWVSZWYgPSBSZWFjdC51c2VSZWYodmFsdWUpO1xuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFja1JlZihvbkNoYW5nZSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZWYWx1ZVJlZi5jdXJyZW50ICE9PSB2YWx1ZSkge1xuICAgICAgaGFuZGxlQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHByZXZWYWx1ZVJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICB9LCBbdmFsdWUsIHByZXZWYWx1ZVJlZiwgaGFuZGxlQ2hhbmdlXSk7XG4gIHJldHVybiB1bmNvbnRyb2xsZWRTdGF0ZTtcbn1cbmV4cG9ydCB7XG4gIHVzZUNvbnRyb2xsYWJsZVN0YXRlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs":
|
|
/*!************************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs ***!
|
|
\************************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEscapeKeydown: () => (/* binding */ useEscapeKeydown)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\n\n\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_1__.useCallbackRef)(onEscapeKeyDownProp);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1lc2NhcGUta2V5ZG93bi9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUMrQjtBQUNtQztBQUNsRTtBQUNBLDBCQUEwQixnRkFBYztBQUN4QyxFQUFFLDRDQUFlO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsZUFBZTtBQUM5RSwrRUFBK0UsZUFBZTtBQUM5RixHQUFHO0FBQ0g7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLWVzY2FwZS1rZXlkb3duL2Rpc3QvaW5kZXgubWpzP2RlOWQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvdXNlLWVzY2FwZS1rZXlkb3duL3NyYy91c2VFc2NhcGVLZXlkb3duLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFja1JlZiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWNhbGxiYWNrLXJlZlwiO1xuZnVuY3Rpb24gdXNlRXNjYXBlS2V5ZG93bihvbkVzY2FwZUtleURvd25Qcm9wLCBvd25lckRvY3VtZW50ID0gZ2xvYmFsVGhpcz8uZG9jdW1lbnQpIHtcbiAgY29uc3Qgb25Fc2NhcGVLZXlEb3duID0gdXNlQ2FsbGJhY2tSZWYob25Fc2NhcGVLZXlEb3duUHJvcCk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xuICAgICAgICBvbkVzY2FwZUtleURvd24oZXZlbnQpO1xuICAgICAgfVxuICAgIH07XG4gICAgb3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVLZXlEb3duLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgcmV0dXJuICgpID0+IG93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9LCBbb25Fc2NhcGVLZXlEb3duLCBvd25lckRvY3VtZW50XSk7XG59XG5leHBvcnQge1xuICB1c2VFc2NhcGVLZXlkb3duXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs ***!
|
|
\***********************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLayoutEffect: () => (/* binding */ useLayoutEffect2)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n// packages/react/use-layout-effect/src/useLayoutEffect.tsx\n\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : () => {\n};\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0L2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDK0I7QUFDL0IsdURBQXVELGtEQUFxQjtBQUM1RTtBQUdFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC11c2UtbGF5b3V0LWVmZmVjdC9kaXN0L2luZGV4Lm1qcz9iMDNhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3VzZS1sYXlvdXQtZWZmZWN0L3NyYy91c2VMYXlvdXRFZmZlY3QudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbnZhciB1c2VMYXlvdXRFZmZlY3QyID0gQm9vbGVhbihnbG9iYWxUaGlzPy5kb2N1bWVudCkgPyBSZWFjdC51c2VMYXlvdXRFZmZlY3QgOiAoKSA9PiB7XG59O1xuZXhwb3J0IHtcbiAgdXNlTGF5b3V0RWZmZWN0MiBhcyB1c2VMYXlvdXRFZmZlY3Rcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-use-previous/dist/index.mjs ***!
|
|
\******************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ usePrevious: () => (/* binding */ usePrevious)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n// packages/react/use-previous/src/usePrevious.tsx\n\nfunction usePrevious(value) {\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef({ value, previous: value });\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQytCO0FBQy9CO0FBQ0EsY0FBYyx5Q0FBWSxHQUFHLHdCQUF3QjtBQUNyRCxTQUFTLDBDQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLXByZXZpb3VzL2Rpc3QvaW5kZXgubWpzPzA1OTkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvdXNlLXByZXZpb3VzL3NyYy91c2VQcmV2aW91cy50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gdXNlUHJldmlvdXModmFsdWUpIHtcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmKHsgdmFsdWUsIHByZXZpb3VzOiB2YWx1ZSB9KTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChyZWYuY3VycmVudC52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHJlZi5jdXJyZW50LnByZXZpb3VzID0gcmVmLmN1cnJlbnQudmFsdWU7XG4gICAgICByZWYuY3VycmVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gcmVmLmN1cnJlbnQucHJldmlvdXM7XG4gIH0sIFt2YWx1ZV0pO1xufVxuZXhwb3J0IHtcbiAgdXNlUHJldmlvdXNcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs":
|
|
/*!**************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-use-size/dist/index.mjs ***!
|
|
\**************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSize: () => (/* binding */ useSize)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n// packages/react/use-size/src/useSize.tsx\n\n\nfunction useSize(element) {\n const [size, setSize] = react__WEBPACK_IMPORTED_MODULE_0__.useState(void 0);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQytCO0FBQ3FDO0FBQ3BFO0FBQ0EsMEJBQTBCLDJDQUFjO0FBQ3hDLEVBQUUsa0ZBQWU7QUFDakI7QUFDQSxnQkFBZ0IsMERBQTBEO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZUFBZTtBQUNqQyxPQUFPO0FBQ1Asd0NBQXdDLG1CQUFtQjtBQUMzRDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLXNpemUvZGlzdC9pbmRleC5tanM/YzQzZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBwYWNrYWdlcy9yZWFjdC91c2Utc2l6ZS9zcmMvdXNlU2l6ZS50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtbGF5b3V0LWVmZmVjdFwiO1xuZnVuY3Rpb24gdXNlU2l6ZShlbGVtZW50KSB7XG4gIGNvbnN0IFtzaXplLCBzZXRTaXplXSA9IFJlYWN0LnVzZVN0YXRlKHZvaWQgMCk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHNldFNpemUoeyB3aWR0aDogZWxlbWVudC5vZmZzZXRXaWR0aCwgaGVpZ2h0OiBlbGVtZW50Lm9mZnNldEhlaWdodCB9KTtcbiAgICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShlbnRyaWVzKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTtcbiAgICAgICAgbGV0IHdpZHRoO1xuICAgICAgICBsZXQgaGVpZ2h0O1xuICAgICAgICBpZiAoXCJib3JkZXJCb3hTaXplXCIgaW4gZW50cnkpIHtcbiAgICAgICAgICBjb25zdCBib3JkZXJTaXplRW50cnkgPSBlbnRyeVtcImJvcmRlckJveFNpemVcIl07XG4gICAgICAgICAgY29uc3QgYm9yZGVyU2l6ZSA9IEFycmF5LmlzQXJyYXkoYm9yZGVyU2l6ZUVudHJ5KSA/IGJvcmRlclNpemVFbnRyeVswXSA6IGJvcmRlclNpemVFbnRyeTtcbiAgICAgICAgICB3aWR0aCA9IGJvcmRlclNpemVbXCJpbmxpbmVTaXplXCJdO1xuICAgICAgICAgIGhlaWdodCA9IGJvcmRlclNpemVbXCJibG9ja1NpemVcIl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgIGhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHNldFNpemUoeyB3aWR0aCwgaGVpZ2h0IH0pO1xuICAgICAgfSk7XG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHsgYm94OiBcImJvcmRlci1ib3hcIiB9KTtcbiAgICAgIHJldHVybiAoKSA9PiByZXNpemVPYnNlcnZlci51bm9ic2VydmUoZWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNpemUodm9pZCAwKTtcbiAgICB9XG4gIH0sIFtlbGVtZW50XSk7XG4gIHJldHVybiBzaXplO1xufVxuZXhwb3J0IHtcbiAgdXNlU2l6ZVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs ***!
|
|
\*********************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ VisuallyHidden: () => (/* binding */ VisuallyHidden)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// packages/react/visually-hidden/src/VisuallyHidden.tsx\n\n\n\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\n _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__.Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...props.style\n }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbi9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQytCO0FBQ3VCO0FBQ2Q7QUFDeEM7QUFDQSxxQkFBcUIsNkNBQWdCO0FBQ3JDO0FBQ0EsMkJBQTJCLHNEQUFHO0FBQzlCLE1BQU0sZ0VBQVM7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUU7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL215LXYwLXByb2plY3QvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbi9kaXN0L2luZGV4Lm1qcz85YWE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3Zpc3VhbGx5LWhpZGRlbi9zcmMvVmlzdWFsbHlIaWRkZW4udHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBOQU1FID0gXCJWaXN1YWxseUhpZGRlblwiO1xudmFyIFZpc3VhbGx5SGlkZGVuID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5zcGFuLFxuICAgICAge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2Nzc1xuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICAgIHdpZHRoOiAxLFxuICAgICAgICAgIGhlaWdodDogMSxcbiAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgIG1hcmdpbjogLTEsXG4gICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgY2xpcDogXCJyZWN0KDAsIDAsIDAsIDApXCIsXG4gICAgICAgICAgd2hpdGVTcGFjZTogXCJub3dyYXBcIixcbiAgICAgICAgICB3b3JkV3JhcDogXCJub3JtYWxcIixcbiAgICAgICAgICAuLi5wcm9wcy5zdHlsZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcblZpc3VhbGx5SGlkZGVuLmRpc3BsYXlOYW1lID0gTkFNRTtcbnZhciBSb290ID0gVmlzdWFsbHlIaWRkZW47XG5leHBvcnQge1xuICBSb290LFxuICBWaXN1YWxseUhpZGRlblxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-compose-refs/dist/index.mjs ***!
|
|
\******************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ composeRefs: () => (/* binding */ composeRefs),\n/* harmony export */ useComposedRefs: () => (/* binding */ useComposedRefs)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n// packages/react/compose-refs/src/composeRefs.tsx\n\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(composeRefs(...refs), refs);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmcy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUMrQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSx3QkFBd0IscUJBQXFCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyw4Q0FBaUI7QUFDMUI7QUFJRTtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXktdjAtcHJvamVjdC8uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzL2Rpc3QvaW5kZXgubWpzPzQ5ZGMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvY29tcG9zZS1yZWZzL3NyYy9jb21wb3NlUmVmcy50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gc2V0UmVmKHJlZiwgdmFsdWUpIHtcbiAgaWYgKHR5cGVvZiByZWYgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiByZWYodmFsdWUpO1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCkge1xuICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbXBvc2VSZWZzKC4uLnJlZnMpIHtcbiAgcmV0dXJuIChub2RlKSA9PiB7XG4gICAgbGV0IGhhc0NsZWFudXAgPSBmYWxzZTtcbiAgICBjb25zdCBjbGVhbnVwcyA9IHJlZnMubWFwKChyZWYpID0+IHtcbiAgICAgIGNvbnN0IGNsZWFudXAgPSBzZXRSZWYocmVmLCBub2RlKTtcbiAgICAgIGlmICghaGFzQ2xlYW51cCAmJiB0eXBlb2YgY2xlYW51cCA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgaGFzQ2xlYW51cCA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2xlYW51cDtcbiAgICB9KTtcbiAgICBpZiAoaGFzQ2xlYW51cCkge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGVhbnVwcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IGNsZWFudXAgPSBjbGVhbnVwc1tpXTtcbiAgICAgICAgICBpZiAodHlwZW9mIGNsZWFudXAgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFJlZihyZWZzW2ldLCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gdXNlQ29tcG9zZWRSZWZzKC4uLnJlZnMpIHtcbiAgcmV0dXJuIFJlYWN0LnVzZUNhbGxiYWNrKGNvbXBvc2VSZWZzKC4uLnJlZnMpLCByZWZzKTtcbn1cbmV4cG9ydCB7XG4gIGNvbXBvc2VSZWZzLFxuICB1c2VDb21wb3NlZFJlZnNcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/@radix-ui/react-slot/dist/index.mjs":
|
|
/*!**********************************************************!*\
|
|
!*** ./node_modules/@radix-ui/react-slot/dist/index.mjs ***!
|
|
\**********************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ Slot: () => (/* binding */ Slot),\n/* harmony export */ Slottable: () => (/* binding */ Slottable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(rsc)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js\");\n// packages/react/slot/src/Slot.tsx\n\n\n\nvar Slot = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (react__WEBPACK_IMPORTED_MODULE_0__.Children.count(newElement) > 1) return react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null);\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__.composeRefs)(forwardedRef, childrenRef) : childrenRef\n });\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.Children.count(children) > 1 ? react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { children });\n};\nfunction isSlottable(child) {\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsb3QvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDK0I7QUFDNEI7QUFDVDtBQUNsRCxXQUFXLDZDQUFnQjtBQUMzQixVQUFVLHlCQUF5QjtBQUNuQyx3QkFBd0IsMkNBQWM7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksMkNBQWMsK0JBQStCLDJDQUFjO0FBQ3ZFLGVBQWUsaURBQW9CO0FBQ25DLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMLDJCQUEyQixzREFBRyxjQUFjLDJDQUEyQyxpREFBb0IsZUFBZSwrQ0FBa0IsMENBQTBDO0FBQ3RMO0FBQ0EseUJBQXlCLHNEQUFHLGNBQWMsMkNBQTJDO0FBQ3JGLENBQUM7QUFDRDtBQUNBLGdCQUFnQiw2Q0FBZ0I7QUFDaEMsVUFBVSx5QkFBeUI7QUFDbkMsTUFBTSxpREFBb0I7QUFDMUI7QUFDQSxXQUFXLCtDQUFrQjtBQUM3QjtBQUNBO0FBQ0EsMEJBQTBCLHlFQUFXO0FBQ3JDLEtBQUs7QUFDTDtBQUNBLFNBQVMsMkNBQWMsdUJBQXVCLDJDQUFjO0FBQzVELENBQUM7QUFDRDtBQUNBLG1CQUFtQixVQUFVO0FBQzdCLHlCQUF5QixzREFBRyxDQUFDLHVEQUFRLElBQUksVUFBVTtBQUNuRDtBQUNBO0FBQ0EsU0FBUyxpREFBb0I7QUFDN0I7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOLGtDQUFrQztBQUNsQyxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS12MC1wcm9qZWN0Ly4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1zbG90L2Rpc3QvaW5kZXgubWpzPzhkNGYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3Qvc2xvdC9zcmMvU2xvdC50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZVJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFNsb3QgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnNsb3RQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkcmVuKTtcbiAgY29uc3Qgc2xvdHRhYmxlID0gY2hpbGRyZW5BcnJheS5maW5kKGlzU2xvdHRhYmxlKTtcbiAgaWYgKHNsb3R0YWJsZSkge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBzbG90dGFibGUucHJvcHMuY2hpbGRyZW47XG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBjaGlsZHJlbkFycmF5Lm1hcCgoY2hpbGQpID0+IHtcbiAgICAgIGlmIChjaGlsZCA9PT0gc2xvdHRhYmxlKSB7XG4gICAgICAgIGlmIChSZWFjdC5DaGlsZHJlbi5jb3VudChuZXdFbGVtZW50KSA+IDEpIHJldHVybiBSZWFjdC5DaGlsZHJlbi5vbmx5KG51bGwpO1xuICAgICAgICByZXR1cm4gUmVhY3QuaXNWYWxpZEVsZW1lbnQobmV3RWxlbWVudCkgPyBuZXdFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW46IFJlYWN0LmlzVmFsaWRFbGVtZW50KG5ld0VsZW1lbnQpID8gUmVhY3QuY2xvbmVFbGVtZW50KG5ld0VsZW1lbnQsIHZvaWQgMCwgbmV3Q2hpbGRyZW4pIDogbnVsbCB9KTtcbiAgfVxuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW4gfSk7XG59KTtcblNsb3QuZGlzcGxheU5hbWUgPSBcIlNsb3RcIjtcbnZhciBTbG90Q2xvbmUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnNsb3RQcm9wcyB9ID0gcHJvcHM7XG4gIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IGdldEVsZW1lbnRSZWYoY2hpbGRyZW4pO1xuICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHtcbiAgICAgIC4uLm1lcmdlUHJvcHMoc2xvdFByb3BzLCBjaGlsZHJlbi5wcm9wcyksXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZWY6IGZvcndhcmRlZFJlZiA/IGNvbXBvc2VSZWZzKGZvcndhcmRlZFJlZiwgY2hpbGRyZW5SZWYpIDogY2hpbGRyZW5SZWZcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMSA/IFJlYWN0LkNoaWxkcmVuLm9ubHkobnVsbCkgOiBudWxsO1xufSk7XG5TbG90Q2xvbmUuZGlzcGxheU5hbWUgPSBcIlNsb3RDbG9uZVwiO1xudmFyIFNsb3R0YWJsZSA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRnJhZ21lbnQsIHsgY2hpbGRyZW4gfSk7XG59O1xuZnVuY3Rpb24gaXNTbG90dGFibGUoY2hpbGQpIHtcbiAgcmV0dXJuIFJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSAmJiBjaGlsZC50eXBlID09PSBTbG90dGFibGU7XG59XG5mdW5jdGlvbiBtZXJnZVByb3BzKHNsb3RQcm9wcywgY2hpbGRQcm9wcykge1xuICBjb25zdCBvdmVycmlkZVByb3BzID0geyAuLi5jaGlsZFByb3BzIH07XG4gIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hpbGRQcm9wcykge1xuICAgIGNvbnN0IHNsb3RQcm9wVmFsdWUgPSBzbG90UHJvcHNbcHJvcE5hbWVdO1xuICAgIGNvbnN0IGNoaWxkUHJvcFZhbHVlID0gY2hpbGRQcm9wc1twcm9wTmFtZV07XG4gICAgY29uc3QgaXNIYW5kbGVyID0gL15vbltBLVpdLy50ZXN0KHByb3BOYW1lKTtcbiAgICBpZiAoaXNIYW5kbGVyKSB7XG4gICAgICBpZiAoc2xvdFByb3BWYWx1ZSAmJiBjaGlsZFByb3BWYWx1ZSkge1xuICAgICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgY2hpbGRQcm9wVmFsdWUoLi4uYXJncyk7XG4gICAgICAgICAgc2xvdFByb3BWYWx1ZSguLi5hcmdzKTtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc2xvdFByb3BWYWx1ZSkge1xuICAgICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHNsb3RQcm9wVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHsgLi4uc2xvdFByb3BWYWx1ZSwgLi4uY2hpbGRQcm9wVmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImNsYXNzTmFtZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IFtzbG90UHJvcFZhbHVlLCBjaGlsZFByb3BWYWx1ZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyAuLi5zbG90UHJvcHMsIC4uLm92ZXJyaWRlUHJvcHMgfTtcbn1cbmZ1bmN0aW9uIGdldEVsZW1lbnRSZWYoZWxlbWVudCkge1xuICBsZXQgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LnByb3BzLCBcInJlZlwiKT8uZ2V0O1xuICBsZXQgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5yZWY7XG4gIH1cbiAgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LCBcInJlZlwiKT8uZ2V0O1xuICBtYXlXYXJuID0gZ2V0dGVyICYmIFwiaXNSZWFjdFdhcm5pbmdcIiBpbiBnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nO1xuICBpZiAobWF5V2Fybikge1xuICAgIHJldHVybiBlbGVtZW50LnByb3BzLnJlZjtcbiAgfVxuICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWYgfHwgZWxlbWVudC5yZWY7XG59XG52YXIgUm9vdCA9IFNsb3Q7XG5leHBvcnQge1xuICBSb290LFxuICBTbG90LFxuICBTbG90dGFibGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@radix-ui/react-slot/dist/index.mjs\n");
|
|
|
|
/***/ })
|
|
|
|
};
|
|
; |