www_veda_2025/.next/static/chunks/app/page.js
2025-08-13 18:37:34 +02:00

1687 lines
2.5 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/page"],{
/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Ftabs%2Ftabs.js%22%2C%22ids%22%3A%5B%22*%22%2C%22TabGroup%22%2C%22TabList%22%2C%22TabPanel%22%2C%22TabPanels%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FCarousel.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRoute.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FSecondaryFeatures.jsx%22%2C%22ids%22%3A%5B%22SecondaryFeatures%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact1.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact2.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact3.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-1.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-3.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-5.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-faqs.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda1.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda2.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda3.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda4.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F1.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F3.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F4.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F5.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F6.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flaravel.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flogo_name.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatamic.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fveda.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures0.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures3.png%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Ftabs%2Ftabs.js%22%2C%22ids%22%3A%5B%22*%22%2C%22TabGroup%22%2C%22TabList%22%2C%22TabPanel%22%2C%22TabPanels%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FCarousel.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRoute.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FSecondaryFeatures.jsx%22%2C%22ids%22%3A%5B%22SecondaryFeatures%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact1.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact2.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact3.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-1.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-3.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-5.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-faqs.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda1.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda2.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda3.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda4.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F1.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F3.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F4.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F5.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F6.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flaravel.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flogo_name.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatamic.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fveda.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures0.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures3.png%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/@headlessui/react/dist/components/tabs/tabs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Carousel.jsx */ \"(app-pages-browser)/./src/components/Carousel.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Header.jsx */ \"(app-pages-browser)/./src/components/Header.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Route.jsx */ \"(app-pages-browser)/./src/components/Route.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/SecondaryFeatures.jsx */ \"(app-pages-browser)/./src/components/SecondaryFeatures.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/act1.png */ \"(app-pages-browser)/./src/images/act1.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/act2.png */ \"(app-pages-browser)/./src/images/act2.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/act3.png */ \"(app-pages-browser)/./src/images/act3.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/avatars/avatar-1.png */ \"(app-pages-browser)/./src/images/avatars/avatar-1.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/avatars/avatar-2.png */ \"(app-pages-browser)/./src/images/avatars/avatar-2.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/avatars/avatar-3.png */ \"(app-pages-browser)/./src/images/avatars/avatar-3.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/avatars/avatar-4.png */ \"(app-pages-browser)/./src/images/avatars/avatar-4.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/avatars/avatar-5.png */ \"(app-pages-browser)/./src/images/avatars/avatar-5.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-call-to-action.jpg */ \"(app-pages-browser)/./src/images/background-call-to-action.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-call-to-action2.png */ \"(app-pages-browser)/./src/images/background-call-to-action2.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-call-to-action4.png */ \"(app-pages-browser)/./src/images/background-call-to-action4.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/background-faqs.jpg */ \"(app-pages-browser)/./src/images/background-faqs.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/dahabiyas/veda1.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda1.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/dahabiyas/veda2.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda2.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/dahabiyas/veda3.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda3.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/dahabiyas/veda4.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda4.jpg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/1.svg */ \"(app-pages-browser)/./src/images/logos/1.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/2.svg */ \"(app-pages-browser)/./src/images/logos/2.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/3.svg */ \"(app-pages-browser)/./src/images/logos/3.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/4.svg */ \"(app-pages-browser)/./src/images/logos/4.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/5.svg */ \"(app-pages-browser)/./src/images/logos/5.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/6.svg */ \"(app-pages-browser)/./src/images/logos/6.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/laravel.svg */ \"(app-pages-browser)/./src/images/logos/laravel.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/logo_name.svg */ \"(app-pages-browser)/./src/images/logos/logo_name.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/mirage.svg */ \"(app-pages-browser)/./src/images/logos/mirage.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statamic.svg */ \"(app-pages-browser)/./src/images/logos/statamic.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/statickit.svg */ \"(app-pages-browser)/./src/images/logos/statickit.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/transistor.svg */ \"(app-pages-browser)/./src/images/logos/transistor.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/tuple.svg */ \"(app-pages-browser)/./src/images/logos/tuple.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/logos/veda.svg */ \"(app-pages-browser)/./src/images/logos/veda.svg\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/newfeatures0.png */ \"(app-pages-browser)/./src/images/newfeatures0.png\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/images/newfeatures3.png */ \"(app-pages-browser)/./src/images/newfeatures3.png\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRm5vZGVfbW9kdWxlcyUyRiU0MGhlYWRsZXNzdWklMkZyZWFjdCUyRmRpc3QlMkZjb21wb25lbnRzJTJGdGFicyUyRnRhYnMuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTJDJTIyVGFiR3JvdXAlMjIlMkMlMjJUYWJMaXN0JTIyJTJDJTIyVGFiUGFuZWwlMjIlMkMlMjJUYWJQYW5lbHMlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmxpbmsuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZjb21wb25lbnRzJTJGQ2Fyb3VzZWwuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyZGVmYXVsdCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGY29tcG9uZW50cyUyRkhlYWRlci5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJIZWFkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmNvbXBvbmVudHMlMkZSb3V0ZS5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJkZWZhdWx0JTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZjb21wb25lbnRzJTJGU2Vjb25kYXJ5RmVhdHVyZXMuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyU2Vjb25kYXJ5RmVhdHVyZXMlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRmFjdDEucG5nJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZhY3QyLnBuZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGYWN0My5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRmF2YXRhcnMlMkZhdmF0YXItMS5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZhdmF0YXJzJTJGYXZhdGFyLTIucG5nJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGYXZhdGFycyUyRmF2YXRhci0zLnBuZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRmF2YXRhcnMlMkZhdmF0YXItNC5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZhdmF0YXJzJTJGYXZhdGFyLTUucG5nJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbi5qcGclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uMi5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uNC5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZiYWNrZ3JvdW5kLWZhcXMuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGZGFoYWJpeWFzJTJGdmVkYTEuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGZGFoYWJpeWFzJTJGdmVkYTIuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGZGFoYWJpeWFzJTJGdmVkYTMuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGZGFoYWJpeWFzJTJGdmVkYTQuanBnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkYxLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGMi5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRjMuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkY0LnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRmxvZ29zJTJGNS5zdmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjIqJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRjYuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZsYXJhdmVsLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZsb2dvX25hbWUuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZtaXJhZ2Uuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnN0YXRhbWljLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZzdGF0aWNraXQuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnRyYW5zaXN0b3Iuc3ZnJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZpbWFnZXMlMkZsb2dvcyUyRnR1cGxlLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZ2ZWRhLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRm5ld2ZlYXR1cmVzMC5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmltYWdlcyUyRm5ld2ZlYXR1cmVzMy5wbmclMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxvUEFBdUo7QUFDdko7QUFDQSxvT0FBNEk7QUFDNUk7QUFDQSw4TUFBaUk7QUFDakk7QUFDQSxvTEFBb0o7QUFDcEo7QUFDQSxnTEFBaUo7QUFDako7QUFDQSw4S0FBaUo7QUFDako7QUFDQSxzTUFBdUs7QUFDdks7QUFDQSxvS0FBK0c7QUFDL0c7QUFDQSxvS0FBK0c7QUFDL0c7QUFDQSxvS0FBK0c7QUFDL0c7QUFDQSw0TEFBMkg7QUFDM0g7QUFDQSw0TEFBMkg7QUFDM0g7QUFDQSw0TEFBMkg7QUFDM0g7QUFDQSw0TEFBMkg7QUFDM0g7QUFDQSw0TEFBMkg7QUFDM0g7QUFDQSw4TUFBb0k7QUFDcEk7QUFDQSxnTkFBcUk7QUFDckk7QUFDQSxnTkFBcUk7QUFDckk7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSwwS0FBa0g7QUFDbEg7QUFDQSwwS0FBa0g7QUFDbEg7QUFDQSwwS0FBa0g7QUFDbEg7QUFDQSwwS0FBa0g7QUFDbEg7QUFDQSwwS0FBa0g7QUFDbEg7QUFDQSwwS0FBa0g7QUFDbEg7QUFDQSxzTEFBd0g7QUFDeEg7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSxvTEFBdUg7QUFDdkg7QUFDQSx3TEFBeUg7QUFDekg7QUFDQSwwTEFBMEg7QUFDMUg7QUFDQSw0TEFBMkg7QUFDM0g7QUFDQSxrTEFBc0g7QUFDdEg7QUFDQSxnTEFBcUg7QUFDckg7QUFDQSxvTEFBdUg7QUFDdkg7QUFDQSxvTEFBdUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz8yYjFhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvdGFicy90YWJzLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvY29tcG9uZW50cy9DYXJvdXNlbC5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJkZWZhdWx0XCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9jb21wb25lbnRzL1JvdXRlLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiU2Vjb25kYXJ5RmVhdHVyZXNcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2NvbXBvbmVudHMvU2Vjb25kYXJ5RmVhdHVyZXMuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9hY3QxLnBuZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvYWN0Mi5wbmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2FjdDMucG5nXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9hdmF0YXJzL2F2YXRhci0xLnBuZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMi5wbmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2F2YXRhcnMvYXZhdGFyLTMucG5nXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9hdmF0YXJzL2F2YXRhci00LnBuZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItNS5wbmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2JhY2tncm91bmQtY2FsbC10by1hY3Rpb24uanBnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uMi5wbmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2JhY2tncm91bmQtY2FsbC10by1hY3Rpb240LnBuZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvYmFja2dyb3VuZC1mYXFzLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGExLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGEyLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGEzLmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGE0LmpwZ1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvbG9nb3MvMS5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zLzIuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9sb2dvcy8zLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvbG9nb3MvNC5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zLzUuc3ZnXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9sb2dvcy82LnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvbG9nb3MvbGFyYXZlbC5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zL2xvZ29fbmFtZS5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zL21pcmFnZS5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRhbWljLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Z1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9pbWFnZXMvbG9nb3MvdmVkYS5zdmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL25ld2ZlYXR1cmVzMC5wbmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL25ld2ZlYXR1cmVzMy5wbmdcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Ftabs%2Ftabs.js%22%2C%22ids%22%3A%5B%22*%22%2C%22TabGroup%22%2C%22TabList%22%2C%22TabPanel%22%2C%22TabPanels%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FCarousel.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRoute.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FSecondaryFeatures.jsx%22%2C%22ids%22%3A%5B%22SecondaryFeatures%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact1.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact2.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact3.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-1.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-3.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-5.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-faqs.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda1.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda2.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda3.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda4.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F1.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F3.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F4.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F5.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F6.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flaravel.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flogo_name.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatamic.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fveda.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures0.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures3.png%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/api/image.js":
/*!*********************************************!*\
!*** ./node_modules/next/dist/api/image.js ***!
\*********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2ltYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1RDtBQUNWOztBQUU3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcz9iMzAwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/image.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/api/link.js":
/*!********************************************!*\
!*** ./node_modules/next/dist/api/link.js ***!
\********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(app-pages-browser)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _client_link__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXlDO0FBQ1Y7O0FBRS9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/NWI3YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/link.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/compiled/picomatch/index.js ***!
\************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/process/browser.js\");\n(()=>{\"use strict\";var t={170:(t,e,u)=>{const n=u(510);const isWindows=()=>{if(typeof navigator!==\"undefined\"&&navigator.platform){const t=navigator.platform.toLowerCase();return t===\"win32\"||t===\"windows\"}if(typeof process!==\"undefined\"&&process.platform){return process.platform===\"win32\"}return false};function picomatch(t,e,u=false){if(e&&(e.windows===null||e.windows===undefined)){e={...e,windows:isWindows()}}return n(t,e,u)}Object.assign(picomatch,n);t.exports=picomatch},154:t=>{const e=\"\\\\\\\\/\";const u=`[^${e}]`;const n=\"\\\\.\";const o=\"\\\\+\";const s=\"\\\\?\";const r=\"\\\\/\";const a=\"(?=.)\";const i=\"[^/]\";const c=`(?:${r}|$)`;const p=`(?:^|${r})`;const l=`${n}{1,2}${c}`;const f=`(?!${n})`;const A=`(?!${p}${l})`;const _=`(?!${n}{0,1}${c})`;const R=`(?!${l})`;const E=`[^.${r}]`;const h=`${i}*?`;const g=\"/\";const b={DOT_LITERAL:n,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:r,ONE_CHAR:a,QMARK:i,END_ANCHOR:c,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:A,NO_DOT_SLASH:_,NO_DOTS_SLASH:R,QMARK_NO_DOT:E,STAR:h,START_ANCHOR:p,SEP:g};const C={...b,SLASH_LITERAL:`[${e}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`,SEP:\"\\\\\"};const y={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:y,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${t.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(t){return t===true?C:b}}},697:(t,e,u)=>{const n=u(154);const o=u(96);const{MAX_LENGTH:s,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:i,REPLACEMENTS:c}=n;const expandRange=(t,e)=>{if(typeof e.expandRange===\"function\"){return e.expandRange(...t,e)}t.sort();const u=`[${t.join(\"-\")}]`;try{new RegExp(u)}catch(e){return t.map((t=>o.escapeRegex(t))).join(\"..\")}return u};const syntaxError=(t,e)=>`Missing ${t}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`;const parse=(t,e)=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected a string\")}t=c[t]||t;const u={...e};const p=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;let l=t.length;if(l>p){throw new SyntaxError(`Input length: ${l}, exceeds maximum allowed length: ${p}`)}const f={type:\"bos\",value:\"\",output:u.prepend||\"\"};const A=[f];const _=u.capture?\"\":\"?:\";const R=n.globChars(u.windows);const E=n.extglobChars(R);const{DOT_LITERAL:h,PLUS_LITERAL:g,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:y,NO_DOT:$,NO_DOT_SLASH:x,NO_DOTS_SLASH:S,QMARK:H,QMARK_NO_DOT:v,STAR:d,START_ANCHOR:L}=R;const globstar=t=>`(${_}(?:(?!${L}${t.dot?y:h}).)*?)`;const T=u.dot?\"\":$;const O=u.dot?H:v;let k=u.bash===true?globstar(u):d;if(u.capture){k=`(${k})`}if(typeof u.noext===\"boolean\"){u.noextglob=u.noext}const m={input:t,index:-1,start:0,dot:u.dot===true,consumed:\"\",output:\"\",prefix:\"\",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:A};t=o.removePrefix(t,m);l=t.length;const w=[];const N=[];const I=[];let B=f;let G;const eos=()=>m.index===l-1;const D=m.peek=(e=1)=>t[m.index+e];const M=m.advance=()=>t[++m.index]||\"\";const remaining=()=>t.slice(m.index+1);const consume=(t=\"\",e=0)=>{m.consumed+=t;m.index+=e};const append=t=>{m.output+=t.output!=null?t.output:t.value;consume(t.value)};const negate=()=>{let t=1;while(D()===\"!\"&&(D(2)!==\"(\"||D(3)===\"?\")){M();m.start++;t++}if(t%2===0){return false}m.negated=true;m.start++;return true};const increment=t=>{m[t]++;I.push(t)};const decrement=t=>{m[t]--;I.pop()};const push=t=>{if(B.type===\"globstar\"){const e=m.braces>0&&(t.type===\"comma\"||t.type===\"brace\");const u=t.extglob===true||w.length&&(t.type===\"pipe\"||t.type===\"paren\");if(t.type!==\"slash\"&&t.type!==\"paren\"&&!e&&!u){m.output=m.output.slice(0,-B.output.length);B.type=\"star\";B.value=\"*\";B.output=k;m.output+=B.output}}if(w.length&&t.type!==\"paren\"){w[w.length-1].inner+=t.value}if(t.value||t.output)append(t);if(B&&B.type===\"text\"&&t.type===\"text\"){B.output=(B.output||B.value)+t.value;B.value+=t.value;return}t.prev=B;A.push(t);B=t};const extglobOpen=(t,e)=>{const n={...E[e],conditions:1,inner:\"\"};n.prev=B;n.parens=m.parens;n.output=m.output;const o=(u.capture?\"(\":\"\")+n.open;increment(\"parens\");push({type:t,value:e,output:m.output?\"\":C});push({type:\"paren\",extglob:true,value:M(),output:o});w.push(n)};const extglobClose=t=>{let n=t.close+(u.capture?\")\":\"\");let o;if(t.type===\"negate\"){let s=k;if(t.inner&&t.inner.length>1&&t.inner.includes(\"/\")){s=globstar(u)}if(s!==k||eos()||/^\\)+$/.test(remaining())){n=t.close=`)$))${s}`}if(t.inner.includes(\"*\")&&(o=remaining())&&/^\\.[^\\\\/.]+$/.test(o)){const u=parse(o,{...e,fastpaths:false}).output;n=t.close=`)${u})${s})`}if(t.prev.type===\"bos\"){m.negatedExtglob=true}}push({type:\"paren\",extglob:true,value:G,output:n});decrement(\"parens\")};if(u.fastpaths!==false&&!/(^[*!]|[/()[\\]{}\"])/.test(t)){let n=false;let s=t.replace(i,((t,e,u,o,s,r)=>{if(o===\"\\\\\"){n=true;return t}if(o===\"?\"){if(e){return e+o+(s?H.repeat(s.length):\"\")}if(r===0){return O+(s?H.repeat(s.length):\"\")}return H.repeat(u.length)}if(o===\".\"){return h.repeat(u.length)}if(o===\"*\"){if(e){return e+o+(s?k:\"\")}return k}return e?t:`\\\\${t}`}));if(n===true){if(u.unescape===true){s=s.replace(/\\\\/g,\"\")}else{s=s.replace(/\\\\+/g,(t=>t.length%2===0?\"\\\\\\\\\":t?\"\\\\\":\"\"))}}if(s===t&&u.contains===true){m.output=t;return m}m.output=o.wrapOutput(s,m,e);return m}while(!eos()){G=M();if(G===\"\\0\"){continue}if(G===\"\\\\\"){const t=D();if(t===\"/\"&&u.bash!==true){continue}if(t===\".\"||t===\";\"){continue}if(!t){G+=\"\\\\\";push({type:\"text\",value:G});continue}const e=/^\\\\+/.exec(remaining());let n=0;if(e&&e[0].length>2){n=e[0].length;m.index+=n;if(n%2!==0){G+=\"\\\\\"}}if(u.unescape===true){G=M()}else{G+=M()}if(m.brackets===0){push({type:\"text\",value:G});continue}}if(m.brackets>0&&(G!==\"]\"||B.value===\"[\"||B.value===\"[^\")){if(u.posix!==false&&G===\":\"){const t=B.value.slice(1);if(t.includes(\"[\")){B.posix=true;if(t.includes(\":\")){const t=B.value.lastIndexOf(\"[\");const e=B.value.slice(0,t);const u=B.value.slice(t+2);const n=r[u];if(n){B.value=e+n;m.backtrack=true;M();if(!f.output&&A.indexOf(B)===1){f.output=C}continue}}}}if(G===\"[\"&&D()!==\":\"||G===\"-\"&&D()===\"]\"){G=`\\\\${G}`}if(G===\"]\"&&(B.value===\"[\"||B.value===\"[^\")){G=`\\\\${G}`}if(u.posix===true&&G===\"!\"&&B.value===\"[\"){G=\"^\"}B.value+=G;append({value:G});continue}if(m.quotes===1&&G!=='\"'){G=o.escapeRegex(G);B.value+=G;append({value:G});continue}if(G==='\"'){m.quotes=m.quotes===1?0:1;if(u.keepQuotes===true){push({type:\"text\",value:G})}continue}if(G===\"(\"){increment(\"parens\");push({type:\"paren\",value:G});continue}if(G===\")\"){if(m.parens===0&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"(\"))}const t=w[w.length-1];if(t&&m.parens===t.parens+1){extglobClose(w.pop());continue}push({type:\"paren\",value:G,output:m.parens?\")\":\"\\\\)\"});decrement(\"parens\");continue}if(G===\"[\"){if(u.nobracket===true||!remaining().includes(\"]\")){if(u.nobracket!==true&&u.strictBrackets===true){throw new SyntaxError(syntaxError(\"closing\",\"]\"))}G=`\\\\${G}`}else{increment(\"brackets\")}push({type:\"bracket\",value:G});continue}if(G===\"]\"){if(u.nobracket===true||B&&B.type===\"bracket\"&&B.value.length===1){push({type:\"text\",value:G,output:`\\\\${G}`});continue}if(m.brackets===0){if(u.strictBrackets===true){throw new SyntaxError(syntaxError(\"opening\",\"[\"))}push({type:\"text\",value:G,output:`\\\\${G}`});continue}decrement(\"brackets\");const t=B.value.slice(1);if(B.posix!==true&&t[0]===\"^\"&&!t.includes(\"/\")){G=`/${G}`}B.value+=G;append({value:G});if(u.literalBrackets===false||o.hasRegexChars(t)){continue}const e=o.escapeRegex(B.value);m.output=m.output.slice(0,-B.value.length);if(u.literalBrackets===true){m.output+=e;B.value=e;continue}B.value=`(${_}${e}|${B.value})`;m.output+=B.value;continue}if(G===\"{\"&&u.nobrace!==true){increment(\"braces\");const t={type:\"brace\",value:G,output:\"(\",outputIndex:m.output.length,tokensIndex:m.tokens.length};N.push(t);push(t);continue}if(G===\"}\"){const t=N[N.length-1];if(u.nobrace===true||!t){push({type:\"text\",value:G,output:G});continue}let e=\")\";if(t.dots===true){const t=A.slice();const n=[];for(let e=t.length-1;e>=0;e--){A.pop();if(t[e].type===\"brace\"){break}if(t[e].type!==\"dots\"){n.unshift(t[e].value)}}e=expandRange(n,u);m.backtrack=true}if(t.comma!==true&&t.dots!==true){const u=m.output.slice(0,t.outputIndex);const n=m.tokens.slice(t.tokensIndex);t.value=t.output=\"\\\\{\";G=e=\"\\\\}\";m.output=u;for(const t of n){m.output+=t.output||t.value}}push({type:\"brace\",value:G,output:e});decrement(\"braces\");N.pop();continue}if(G===\"|\"){if(w.length>0){w[w.length-1].conditions++}push({type:\"text\",value:G});continue}if(G===\",\"){let t=G;const e=N[N.length-1];if(e&&I[I.length-1]===\"braces\"){e.comma=true;t=\"|\"}push({type:\"comma\",value:G,output:t});continue}if(G===\"/\"){if(B.type===\"dot\"&&m.index===m.start+1){m.start=m.index+1;m.consumed=\"\";m.output=\"\";A.pop();B=f;continue}push({type:\"slash\",value:G,output:b});continue}if(G===\".\"){if(m.braces>0&&B.type===\"dot\"){if(B.value===\".\")B.output=h;const t=N[N.length-1];B.type=\"dots\";B.output+=G;B.value+=G;t.dots=true;continue}if(m.braces+m.parens===0&&B.type!==\"bos\"&&B.type!==\"slash\"){push({type:\"text\",value:G,output:h});continue}push({type:\"dot\",value:G,output:h});continue}if(G===\"?\"){const t=B&&B.value===\"(\";if(!t&&u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"qmark\",G);continue}if(B&&B.type===\"paren\"){const t=D();let e=G;if(B.value===\"(\"&&!/[!=<:]/.test(t)||t===\"<\"&&!/<([!=]|\\w+>)/.test(remaining())){e=`\\\\${G}`}push({type:\"text\",value:G,output:e});continue}if(u.dot!==true&&(B.type===\"slash\"||B.type===\"bos\")){push({type:\"qmark\",value:G,output:v});continue}push({type:\"qmark\",value:G,output:H});continue}if(G===\"!\"){if(u.noextglob!==true&&D()===\"(\"){if(D(2)!==\"?\"||!/[!=<:]/.test(D(3))){extglobOpen(\"negate\",G);continue}}if(u.nonegate!==true&&m.index===0){negate();continue}}if(G===\"+\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){extglobOpen(\"plus\",G);continue}if(B&&B.value===\"(\"||u.regex===false){push({type:\"plus\",value:G,output:g});continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\"||B.type===\"brace\")||m.parens>0){push({type:\"plus\",value:G});continue}push({type:\"plus\",value:g});continue}if(G===\"@\"){if(u.noextglob!==true&&D()===\"(\"&&D(2)!==\"?\"){push({type:\"at\",extglob:true,value:G,output:\"\"});continue}push({type:\"text\",value:G});continue}if(G!==\"*\"){if(G===\"$\"||G===\"^\"){G=`\\\\${G}`}const t=a.exec(remaining());if(t){G+=t[0];m.index+=t[0].length}push({type:\"text\",value:G});continue}if(B&&(B.type===\"globstar\"||B.star===true)){B.type=\"star\";B.star=true;B.value+=G;B.output=k;m.backtrack=true;m.globstar=true;consume(G);continue}let e=remaining();if(u.noextglob!==true&&/^\\([^?]/.test(e)){extglobOpen(\"star\",G);continue}if(B.type===\"star\"){if(u.noglobstar===true){consume(G);continue}const n=B.prev;const o=n.prev;const s=n.type===\"slash\"||n.type===\"bos\";const r=o&&(o.type===\"star\"||o.type===\"globstar\");if(u.bash===true&&(!s||e[0]&&e[0]!==\"/\")){push({type:\"star\",value:G,output:\"\"});continue}const a=m.braces>0&&(n.type===\"comma\"||n.type===\"brace\");const i=w.length&&(n.type===\"pipe\"||n.type===\"paren\");if(!s&&n.type!==\"paren\"&&!a&&!i){push({type:\"star\",value:G,output:\"\"});continue}while(e.slice(0,3)===\"/**\"){const u=t[m.index+4];if(u&&u!==\"/\"){break}e=e.slice(3);consume(\"/**\",3)}if(n.type===\"bos\"&&eos()){B.type=\"globstar\";B.value+=G;B.output=globstar(u);m.output=B.output;m.globstar=true;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&!r&&eos()){m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=globstar(u)+(u.strictSlashes?\")\":\"|$)\");B.value+=G;m.globstar=true;m.output+=n.output+B.output;consume(G);continue}if(n.type===\"slash\"&&n.prev.type!==\"bos\"&&e[0]===\"/\"){const t=e[1]!==void 0?\"|$\":\"\";m.output=m.output.slice(0,-(n.output+B.output).length);n.output=`(?:${n.output}`;B.type=\"globstar\";B.output=`${globstar(u)}${b}|${b}${t})`;B.value+=G;m.output+=n.output+B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}if(n.type===\"bos\"&&e[0]===\"/\"){B.type=\"globstar\";B.value+=G;B.output=`(?:^|${b}|${globstar(u)}${b})`;m.output=B.output;m.globstar=true;consume(G+M());push({type:\"slash\",value:\"/\",output:\"\"});continue}m.output=m.output.slice(0,-B.output.length);B.type=\"globstar\";B.output=globstar(u);B.value+=G;m.output+=B.output;m.globstar=true;consume(G);continue}const n={type:\"star\",value:G,output:k};if(u.bash===true){n.output=\".*?\";if(B.type===\"bos\"||B.type===\"slash\"){n.output=T+n.output}push(n);continue}if(B&&(B.type===\"bracket\"||B.type===\"paren\")&&u.regex===true){n.output=G;push(n);continue}if(m.index===m.start||B.type===\"slash\"||B.type===\"dot\"){if(B.type===\"dot\"){m.output+=x;B.output+=x}else if(u.dot===true){m.output+=S;B.output+=S}else{m.output+=T;B.output+=T}if(D()!==\"*\"){m.output+=C;B.output+=C}}push(n)}while(m.brackets>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"]\"));m.output=o.escapeLast(m.output,\"[\");decrement(\"brackets\")}while(m.parens>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\")\"));m.output=o.escapeLast(m.output,\"(\");decrement(\"parens\")}while(m.braces>0){if(u.strictBrackets===true)throw new SyntaxError(syntaxError(\"closing\",\"}\"));m.output=o.escapeLast(m.output,\"{\");decrement(\"braces\")}if(u.strictSlashes!==true&&(B.type===\"star\"||B.type===\"bracket\")){push({type:\"maybe_slash\",value:\"\",output:`${b}?`})}if(m.backtrack===true){m.output=\"\";for(const t of m.tokens){m.output+=t.output!=null?t.output:t.value;if(t.suffix){m.output+=t.suffix}}}return m};parse.fastpaths=(t,e)=>{const u={...e};const r=typeof u.maxLength===\"number\"?Math.min(s,u.maxLength):s;const a=t.length;if(a>r){throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${r}`)}t=c[t]||t;const{DOT_LITERAL:i,SLASH_LITERAL:p,ONE_CHAR:l,DOTS_SLASH:f,NO_DOT:A,NO_DOTS:_,NO_DOTS_SLASH:R,STAR:E,START_ANCHOR:h}=n.globChars(u.windows);const g=u.dot?_:A;const b=u.dot?R:A;const C=u.capture?\"\":\"?:\";const y={negated:false,prefix:\"\"};let $=u.bash===true?\".*?\":E;if(u.capture){$=`(${$})`}const globstar=t=>{if(t.noglobstar===true)return $;return`(${C}(?:(?!${h}${t.dot?f:i}).)*?)`};const create=t=>{switch(t){case\"*\":return`${g}${l}${$}`;case\".*\":return`${i}${l}${$}`;case\"*.*\":return`${g}${$}${i}${l}${$}`;case\"*/*\":return`${g}${$}${p}${l}${b}${$}`;case\"**\":return g+globstar(u);case\"**/*\":return`(?:${g}${globstar(u)}${p})?${b}${l}${$}`;case\"**/*.*\":return`(?:${g}${globstar(u)}${p})?${b}${$}${i}${l}${$}`;case\"**/.*\":return`(?:${g}${globstar(u)}${p})?${i}${l}${$}`;default:{const e=/^(.*?)\\.(\\w+)$/.exec(t);if(!e)return;const u=create(e[1]);if(!u)return;return u+i+e[2]}}};const x=o.removePrefix(t,y);let S=create(x);if(S&&u.strictSlashes!==true){S+=`${p}?`}return S};t.exports=parse},510:(t,e,u)=>{const n=u(716);const o=u(697);const s=u(96);const r=u(154);const isObject=t=>t&&typeof t===\"object\"&&!Array.isArray(t);const picomatch=(t,e,u=false)=>{if(Array.isArray(t)){const n=t.map((t=>picomatch(t,e,u)));const arrayMatcher=t=>{for(const e of n){const u=e(t);if(u)return u}return false};return arrayMatcher}const n=isObject(t)&&t.tokens&&t.input;if(t===\"\"||typeof t!==\"string\"&&!n){throw new TypeError(\"Expected pattern to be a non-empty string\")}const o=e||{};const s=o.windows;const r=n?picomatch.compileRe(t,e):picomatch.makeRe(t,e,false,true);const a=r.state;delete r.state;let isIgnored=()=>false;if(o.ignore){const t={...e,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(o.ignore,t,u)}const matcher=(u,n=false)=>{const{isMatch:i,match:c,output:p}=picomatch.test(u,r,e,{glob:t,posix:s});const l={glob:t,state:a,regex:r,posix:s,input:u,output:p,match:c,isMatch:i};if(typeof o.onResult===\"function\"){o.onResult(l)}if(i===false){l.isMatch=false;return n?l:false}if(isIgnored(u)){if(typeof o.onIgnore===\"function\"){o.onIgnore(l)}l.isMatch=false;return n?l:false}if(typeof o.onMatch===\"function\"){o.onMatch(l)}return n?l:true};if(u){matcher.state=a}return matcher};picomatch.test=(t,e,u,{glob:n,posix:o}={})=>{if(typeof t!==\"string\"){throw new TypeError(\"Expected input to be a string\")}if(t===\"\"){return{isMatch:false,output:\"\"}}const r=u||{};const a=r.format||(o?s.toPosixSlashes:null);let i=t===n;let c=i&&a?a(t):t;if(i===false){c=a?a(t):t;i=c===n}if(i===false||r.capture===true){if(r.matchBase===true||r.basename===true){i=picomatch.matchBase(t,e,u,o)}else{i=e.exec(c)}}return{isMatch:Boolean(i),match:i,output:c}};picomatch.matchBase=(t,e,u)=>{const n=e instanceof RegExp?e:picomatch.makeRe(e,u);return n.test(s.basename(t))};picomatch.isMatch=(t,e,u)=>picomatch(e,u)(t);picomatch.parse=(t,e)=>{if(Array.isArray(t))return t.map((t=>picomatch.parse(t,e)));return o(t,{...e,fastpaths:false})};picomatch.scan=(t,e)=>n(t,e);picomatch.compileRe=(t,e,u=false,n=false)=>{if(u===true){return t.output}const o=e||{};const s=o.contains?\"\":\"^\";const r=o.contains?\"\":\"$\";let a=`${s}(?:${t.output})${r}`;if(t&&t.negated===true){a=`^(?!${a}).*$`}const i=picomatch.toRegex(a,e);if(n===true){i.state=t}return i};picomatch.makeRe=(t,e={},u=false,n=false)=>{if(!t||typeof t!==\"string\"){throw new TypeError(\"Expected a non-empty string\")}let s={negated:false,fastpaths:true};if(e.fastpaths!==false&&(t[0]===\".\"||t[0]===\"*\")){s.output=o.fastpaths(t,e)}if(!s.output){s=o(t,e)}return picomatch.compileRe(s,e,u,n)};picomatch.toRegex=(t,e)=>{try{const u=e||{};return new RegExp(t,u.flags||(u.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===true)throw t;return/$^/}};picomatch.constants=r;t.exports=picomatch},716:(t,e,u)=>{const n=u(96);const{CHAR_ASTERISK:o,CHAR_AT:s,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:a,CHAR_DOT:i,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:A,CHAR_PLUS:_,CHAR_QUESTION_MARK:R,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:h,CHAR_RIGHT_SQUARE_BRACKET:g}=u(154);const isPathSeparator=t=>t===p||t===r;const depth=t=>{if(t.isPrefix!==true){t.depth=t.isGlobstar?Infinity:1}};const scan=(t,e)=>{const u=e||{};const b=t.length-1;const C=u.parts===true||u.scanToEnd===true;const y=[];const $=[];const x=[];let S=t;let H=-1;let v=0;let d=0;let L=false;let T=false;let O=false;let k=false;let m=false;let w=false;let N=false;let I=false;let B=false;let G=false;let D=0;let M;let P;let K={value:\"\",depth:0,isGlob:false};const eos=()=>H>=b;const peek=()=>S.charCodeAt(H+1);const advance=()=>{M=P;return S.charCodeAt(++H)};while(H<b){P=advance();let t;if(P===r){N=K.backslashes=true;P=advance();if(P===l){w=true}continue}if(w===true||P===l){D++;while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;advance();continue}if(P===l){D++;continue}if(w!==true&&P===i&&(P=advance())===i){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(w!==true&&P===a){L=K.isBrace=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===E){D--;if(D===0){w=false;L=K.isBrace=true;G=true;break}}}if(C===true){continue}break}if(P===p){y.push(H);$.push(K);K={value:\"\",depth:0,isGlob:false};if(G===true)continue;if(M===i&&H===v+1){v+=2;continue}d=H+1;continue}if(u.noext!==true){const t=P===_||P===s||P===o||P===R||P===c;if(t===true&&peek()===f){O=K.isGlob=true;k=K.isExtglob=true;G=true;if(P===c&&H===v){B=true}if(C===true){while(eos()!==true&&(P=advance())){if(P===r){N=K.backslashes=true;P=advance();continue}if(P===h){O=K.isGlob=true;G=true;break}}continue}break}}if(P===o){if(M===o)m=K.isGlobstar=true;O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===R){O=K.isGlob=true;G=true;if(C===true){continue}break}if(P===A){while(eos()!==true&&(t=advance())){if(t===r){N=K.backslashes=true;advance();continue}if(t===g){T=K.isBracket=true;O=K.isGlob=true;G=true;break}}if(C===true){continue}break}if(u.nonegate!==true&&P===c&&H===v){I=K.negated=true;v++;continue}if(u.noparen!==true&&P===f){O=K.isGlob=true;if(C===true){while(eos()!==true&&(P=advance())){if(P===f){N=K.backslashes=true;P=advance();continue}if(P===h){G=true;break}}continue}break}if(O===true){G=true;if(C===true){continue}break}}if(u.noext===true){k=false;O=false}let U=S;let X=\"\";let F=\"\";if(v>0){X=S.slice(0,v);S=S.slice(v);d-=v}if(U&&O===true&&d>0){U=S.slice(0,d);F=S.slice(d)}else if(O===true){U=\"\";F=S}else{U=S}if(U&&U!==\"\"&&U!==\"/\"&&U!==S){if(isPathSeparator(U.charCodeAt(U.length-1))){U=U.slice(0,-1)}}if(u.unescape===true){if(F)F=n.removeBackslashes(F);if(U&&N===true){U=n.removeBackslashes(U)}}const Q={prefix:X,input:t,start:v,base:U,glob:F,isBrace:L,isBracket:T,isGlob:O,isExtglob:k,isGlobstar:m,negated:I,negatedExtglob:B};if(u.tokens===true){Q.maxDepth=0;if(!isPathSeparator(P)){$.push(K)}Q.tokens=$}if(u.parts===true||u.tokens===true){let e;for(let n=0;n<y.length;n++){const o=e?e+1:v;const s=y[n];const r=t.slice(o,s);if(u.tokens){if(n===0&&v!==0){$[n].isPrefix=true;$[n].value=X}else{$[n].value=r}depth($[n]);Q.maxDepth+=$[n].depth}if(n!==0||r!==\"\"){x.push(r)}e=s}if(e&&e+1<t.length){const n=t.slice(e+1);x.push(n);if(u.tokens){$[$.length-1].value=n;depth($[$.length-1]);Q.maxDepth+=$[$.length-1].depth}}Q.slashes=y;Q.parts=x}return Q};t.exports=scan},96:(t,e,u)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:r}=u(154);e.isObject=t=>t!==null&&typeof t===\"object\"&&!Array.isArray(t);e.hasRegexChars=t=>s.test(t);e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t);e.escapeRegex=t=>t.replace(r,\"\\\\$1\");e.toPosixSlashes=t=>t.replace(n,\"/\");e.removeBackslashes=t=>t.replace(o,(t=>t===\"\\\\\"?\"\":t));e.escapeLast=(t,u,n)=>{const o=t.lastIndexOf(u,n);if(o===-1)return t;if(t[o-1]===\"\\\\\")return e.escapeLast(t,u,o-1);return`${t.slice(0,o)}\\\\${t.slice(o)}`};e.removePrefix=(t,e={})=>{let u=t;if(u.startsWith(\"./\")){u=u.slice(2);e.prefix=\"./\"}return u};e.wrapOutput=(t,e={},u={})=>{const n=u.contains?\"\":\"^\";const o=u.contains?\"\":\"$\";let s=`${n}(?:${t})${o}`;if(e.negated===true){s=`(?:^(?!${s}).*$)`}return s};e.basename=(t,{windows:e}={})=>{const u=t.split(e?/[\\\\/]/:\"/\");const n=u[u.length-1];if(n===\"\"){return u[u.length-2]}return n}}};var e={};function __nccwpck_require__(u){var n=e[u];if(n!==undefined){return n.exports}var o=e[u]={exports:{}};var s=true;try{t[u](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete e[u]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var u=__nccwpck_require__(170);module.exports=u})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8sR0FBRyxNQUFNLG1DQUFtQyxNQUFNLGtDQUFrQyxNQUFNLGtDQUFrQyxNQUFNLGlDQUFpQyxjQUFjLHNCQUFzQixlQUFlLGVBQWUs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QUFPLGFBQWEsU0FBUyxPQUFPLG1CQUFtQixRQUFRLFFBQVEsUUFBUSxTQUFTLFNBQVMsUUFBUSxlQUFlLGFBQWEsS0FBSyxxQkFBcUIsZUFBZSxhQUFhLGtCQUFrQixLQUFLLElBQUksS0FBSyxJQUFJLDhCQUE4Qiw4Q0FBOEMsaUJBQWlCLHNCQUFzQiw4QkFBOEIsZ0JBQWdCLDBCQUEwQixTQUFTLDJIQUEySCxvQkFBb0IsYUFBYSx3QkFBd0IsVUFBVSxXQUFXLG9DQUFvQyxNQUFNLFlBQVksV0FBVyxLQUFLLGdCQUFnQixhQUFhLHFCQUFxQixhQUFhLGlCQUFpQixtQkFBbUIsYUFBYSxLQUFLLGFBQWEsWUFBWSx1QkFBdUIsa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0IscUJBQXFCLFVBQVUsYUFBYSxzQkFBc0IscUJBQXFCLGlDQUFpQyxZQUFZLFVBQVUsVUFBVSxlQUFlLGNBQWMsTUFBTSw4RkFBOEYsUUFBUSwrREFBK0QsNkJBQTZCLGtEQUFrRCxxQ0FBcUMscUNBQXFDLHVEQUF1RCx1QkFBdUIsMkJBQTJCLG1CQUFtQiw4Q0FBOEMsU0FBUyxhQUFhLElBQUksV0FBVyxHQUFHLHNCQUFzQixJQUFJLFFBQVEsdUJBQXVCLGFBQWEsY0FBYyxVQUFVLG9CQUFvQixLQUFLLElBQUksMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixZQUFZLEVBQUUsT0FBTyxVQUFVLGVBQWUsVUFBVSxHQUFHLElBQUksK0JBQStCLHNCQUFzQixXQUFXLHFCQUFxQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/OWJmYiJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/tabbable/dist/index.esm.js":
/*!*************************************************!*\
!*** ./node_modules/tabbable/dist/index.esm.js ***!
\*************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ focusable: function() { return /* binding */ focusable; },\n/* harmony export */ getTabIndex: function() { return /* binding */ getTabIndex; },\n/* harmony export */ isFocusable: function() { return /* binding */ isFocusable; },\n/* harmony export */ isTabbable: function() { return /* binding */ isTabbable; },\n/* harmony export */ tabbable: function() { return /* binding */ tabbable; }\n/* harmony export */ });\n/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\n// NOTE: separate `:not()` selectors has broader browser support than the newer\n// `:not([inert], [inert] *)` (Feb 2023)\n// CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes\n// the entire query to fail, resulting in no nodes found, which will break a lot\n// of things... so we have to rely on JS to identify nodes inside an inert container\nvar candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function (element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n\n/**\n * Determines if a node is inert or in an inert ancestor.\n * @param {Element} [node]\n * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n * see if any of them are inert. If false, only `node` itself is considered.\n * @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n * False if `node` is falsy.\n */\nvar isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`\n // JS API property; we have to check the attribute, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's an active element\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');\n var inert = inertAtt === '' || inertAtt === 'true';\n\n // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`\n // if it weren't for `matches()` not being a function on shadow roots; the following\n // code works for any kind of node\n // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`\n // so it likely would not support `:is([inert] *)` either...\n var result = inert || lookUp && node && isInert(node.parentNode); // recursive\n\n return result;\n};\n\n/**\n * Determines if a node's content is editable.\n * @param {Element} [node]\n * @returns True if it's content-editable; false if it's not or `node` is falsy.\n */\nvar isContentEditable = function isContentEditable(node) {\n var _node$getAttribute2;\n // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have\n // to use the attribute directly to check for this, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's a non-editable element\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');\n return attValue === '' || attValue === 'true';\n};\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n // even if `includeContainer=false`, we still have to check it for inertness because\n // if it's inert, all its children are inert\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidateScope\n * @property {Element} scopeParent contains inner candidates\n * @property {Element[]} candidates list of candidates found in the scope parent\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.<Element|CandidateScope>}\n */\nvar getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n // no need to look up since we're drilling down\n // anything inside this container will also be inert\n continue;\n }\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n var shadowRoot = element.shadowRoot ||\n // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n\n // no inert look up because we're already drilling down and checking for inertness\n // on the way down, so all containers to this root node should have already been\n // vetted as non-inert\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\n\n/**\n * @private\n * Determines if the node has an explicitly specified `tabindex` attribute.\n * @param {HTMLElement} node\n * @returns {boolean} True if so; false if not.\n */\nvar hasTabIndex = function hasTabIndex(node) {\n return !isNaN(parseInt(node.getAttribute('tabindex'), 10));\n};\n\n/**\n * Determine the tab index of a given node.\n * @param {HTMLElement} node\n * @returns {number} Tab order (negative, 0, or positive number).\n * @throws {Error} If `node` is falsy.\n */\nvar getTabIndex = function getTabIndex(node) {\n if (!node) {\n throw new Error('No node provided');\n }\n if (node.tabIndex < 0) {\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n // Also browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\n\n/**\n * Determine the tab index of a given node __for sort order purposes__.\n * @param {HTMLElement} node\n * @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,\n * has tabIndex -1, but needs to be sorted by document order in order for its content to be\n * inserted into the correct sort position.\n * @returns {number} Tab order (negative, 0, or positive number).\n */\nvar getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput(node) {\n return node.tagName === 'INPUT';\n};\nvar isHiddenInput = function isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n};\nvar isDetailsWithSummary = function isDetailsWithSummary(node) {\n var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {\n return child.tagName === 'SUMMARY';\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio(node) {\n return isInput(node) && node.type === 'radio';\n};\nvar isNonTabbableRadio = function isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\n\n// determines if a node is ultimately attached to the window's document\nvar isNodeAttached = function isNodeAttached(node) {\n var _nodeRoot;\n // The root node is the shadow root if the node is in a shadow DOM; some document otherwise\n // (but NOT _the_ document; see second 'If' comment below for more).\n // If rootNode is shadow root, it'll have a host, which is the element to which the shadow\n // is attached, and the one we need to check if it's in the document or not (because the\n // shadow, and all nodes it contains, is never considered in the document since shadows\n // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,\n // is hidden, or is not in the document itself but is detached, it will affect the shadow's\n // visibility, including all the nodes it contains). The host could be any normal node,\n // or a custom element (i.e. web component). Either way, that's the one that is considered\n // part of the document, not the shadow root, nor any of its children (i.e. the node being\n // tested).\n // To further complicate things, we have to look all the way up until we find a shadow HOST\n // that is attached (or find none) because the node might be in nested shadows...\n // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the\n // document (per the docs) and while it's a Document-type object, that document does not\n // appear to be the same as the node's `ownerDocument` for some reason, so it's safer\n // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,\n // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when\n // node is actually detached.\n // NOTE: If `nodeRootHost` or `node` happens to be the `document` itself (which is possible\n // if a tabbable/focusable node was quickly added to the DOM, focused, and then removed\n // from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then\n // `ownerDocument` will be `null`, hence the optional chaining on it.\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n\n // in some cases, a detached node will return itself as the root instead of a document or\n // shadow root object, in which case, we shouldn't try to look further up the host chain\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,\n // which means we need to get the host's host and check if that parent host is contained\n // in (i.e. attached to) the document\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n width = _node$getBoundingClie.width,\n height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden(node, _ref) {\n var displayCheck = _ref.displayCheck,\n getShadowRoot = _ref.getShadowRoot;\n // NOTE: visibility will be `undefined` if node is detached from the document\n // (see notes about this further down), which means we will consider it visible\n // (this is legacy behavior from a very long way back)\n // NOTE: we check this regardless of `displayCheck=\"none\"` because this is a\n // _visibility_ check, not a _display_ check\n if (getComputedStyle(node).visibility === 'hidden') {\n return true;\n }\n var isDirectSummary = matches.call(node, 'details>summary:first-of-type');\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n return true;\n }\n if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {\n if (typeof getShadowRoot === 'function') {\n // figure out if we should consider the node to be in an undisclosed shadow and use the\n // 'non-zero-area' fallback\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow\n ) {\n // node has an undisclosed shadow which means we can only treat it as a black box, so we\n // fall back to a non-zero-area test\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n // iterate up slot\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n // cross shadow boundary\n node = rootNode.host;\n } else {\n // iterate up normal dom\n node = parentElement;\n }\n }\n node = originalNode;\n }\n // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support\n // (i.e. it does not also presume that all nodes might have undisclosed shadows); or\n // it might be a falsy value, which means shadow DOM support is disabled\n\n // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)\n // now we can just test to see if it would normally be visible or not, provided it's\n // attached to the main document.\n // NOTE: We must consider case where node is inside a shadow DOM and given directly to\n // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.\n\n if (isNodeAttached(node)) {\n // this works wherever the node is: if there's at least one client rect, it's\n // somehow displayed; it also covers the CSS 'display: contents' case where the\n // node itself is hidden in place of its contents; and there's no need to search\n // up the hierarchy either\n return !node.getClientRects().length;\n }\n\n // Else, the node isn't attached to the document, which means the `getClientRects()`\n // API will __always__ return zero rects (this can happen, for example, if React\n // is used to render nodes onto a detached tree, as confirmed in this thread:\n // https://github.com/facebook/react/issues/9117#issuecomment-284228870)\n //\n // It also means that even window.getComputedStyle(node).display will return `undefined`\n // because styles are only computed for nodes that are in the document.\n //\n // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable\n // somehow. Though it was never stated officially, anyone who has ever used tabbable\n // APIs on nodes in detached containers has actually implicitly used tabbable in what\n // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck=\"none\"` mode -- essentially\n // considering __everything__ to be visible because of the innability to determine styles.\n //\n // v6.0.0: As of this major release, the default 'full' option __no longer treats detached\n // nodes as visible with the 'none' fallback.__\n if (displayCheck !== 'legacy-full') {\n return true; // hidden\n }\n // else, fallback to 'none' mode and consider the node visible\n } else if (displayCheck === 'non-zero-area') {\n // NOTE: Even though this tests that the node's client rect is non-zero to determine\n // whether it's displayed, and that a detached node will __always__ have a zero-area\n // client rect, we don't special-case for whether the node is attached or not. In\n // this mode, we do want to consider nodes that have a zero area to be hidden at all\n // times, and that includes attached or not.\n return isZeroArea(node);\n }\n\n // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume\n // it's visible\n return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n// unless they are in the _first_ <legend> element of the top-most disabled\n// fieldset\nvar isDisabledFromFieldset = function isDisabledFromFieldset(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n // check if `node` is contained in a disabled <fieldset>\n while (parentNode) {\n if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {\n // look for the first <legend> among the children of the disabled <fieldset>\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n // when the first <legend> (in document order) is found\n if (child.tagName === 'LEGEND') {\n // if its parent <fieldset> is not nested in another disabled <fieldset>,\n // return whether `node` is a descendant of its first <legend>\n return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);\n }\n }\n // the disabled <fieldset> containing `node` has no <legend>\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n\n // else, node's tabbable/focusable state should not be affected by a fieldset's\n // enabled/disabled state\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {\n if (node.disabled ||\n // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) ||\n // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n // If a custom element has an explicit negative tabindex,\n // browsers will not allow tab targeting said element's children.\n return false;\n};\n\n/**\n * @param {Array.<Element|CandidateScope>} candidates\n * @returns Element[]\n */\nvar sortByOrder = function sortByOrder(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function (item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item: item,\n isScope: isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');\nvar isFocusable = function isFocusable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n\n\n//# sourceMappingURL=index.esm.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy90YWJiYWJsZS9kaXN0L2luZGV4LmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRTs7QUFFcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsNEJBQTRCO0FBQ3ZDLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsYUFBYSxvQkFBb0I7QUFDakM7O0FBRUE7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixhQUFhLFNBQVM7QUFDdEI7O0FBRUE7QUFDQSxhQUFhLFFBQVE7QUFDckIsY0FBYyxTQUFTO0FBQ3ZCLGNBQWMsV0FBVztBQUN6Qjs7QUFFQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixjQUFjLHVCQUF1QixpREFBaUQ7QUFDdEY7QUFDQTtBQUNBLGNBQWMsNEJBQTRCO0FBQzFDLGNBQWMsU0FBUztBQUN2QixjQUFjLGtCQUFrQjtBQUNo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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQ0FBZ0M7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsZ0NBQWdDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVxRTtBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdGFiYmFibGUvZGlzdC9pbmRleC5lc20uanM/MDQ5MyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiogdGFiYmFibGUgNi4yLjBcbiogQGxpY2Vuc2UgTUlULCBodHRwczovL2dpdGh1Yi5jb20vZm9jdXMtdHJhcC90YWJiYWJsZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4qL1xuLy8gTk9URTogc2VwYXJhdGUgYDpub3QoKWAgc2VsZWN0b3JzIGhhcyBicm9hZGVyIGJyb3dzZXIgc3VwcG9ydCB0aGFuIHRoZSBuZXdlclxuLy8gIGA6bm90KFtpbmVydF0sIFtpbmVydF0gKilgIChGZWIgMjAyMylcbi8vIENBUkVGVUw6IEpTRG9tIGRvZXMgbm90IHN1cHBvcnQgYDpub3QoW2luZXJ0XSAqKWAgYXMgYSBzZWxlY3RvcjsgdXNpbmcgaXQgY2F1c2VzXG4vLyAgdGhlIGVudGlyZSBxdWVyeSB0byBmYWlsLCByZXN1bHRpbmcgaW4gbm8gbm9kZXMgZm91bmQsIHdoaWNoIHdpbGwgYnJlYWsgYSBsb3Rcbi8vICBvZiB0aGluZ3MuLi4gc28gd2UgaGF2ZSB0byByZWx5IG9uIEpTIHRvIGlkZW50aWZ5IG5vZGVzIGluc2lkZSBhbiBpbmVydCBjb250YWluZXJcbnZhciBjYW5kaWRhdGVTZWxlY3RvcnMgPSBbJ2lucHV0Om5vdChbaW5lcnRdKScsICdzZWxlY3Q6bm90KFtpbmVydF0pJywgJ3RleHRhcmVhOm5vdChbaW5lcnRdKScsICdhW2hyZWZdOm5vdChbaW5lcnRdKScsICdidXR0b246bm90KFtpbmVydF0pJywgJ1t0YWJpbmRleF06bm90KHNsb3QpOm5vdChbaW5lcnRdKScsICdhdWRpb1tjb250cm9sc106bm90KFtpbmVydF0pJywgJ3ZpZGVvW2NvbnRyb2xzXTpub3QoW2luZXJ0XSknLCAnW2NvbnRlbnRlZGl0YWJsZV06bm90KFtjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiXSk6bm90KFtpbmVydF0pJywgJ2RldGFpbHM+c3VtbWFyeTpmaXJzdC1vZi10eXBlOm5vdChbaW5lcnRdKScsICdkZXRhaWxzOm5vdChbaW5lcnRdKSddO1xudmFyIGNhbmRpZGF0ZVNlbGVjdG9yID0gLyogI19fUFVSRV9fICovY2FuZGlkYXRlU2VsZWN0b3JzLmpvaW4oJywnKTtcbnZhciBOb0VsZW1lbnQgPSB0eXBlb2YgRWxlbWVudCA9PT0gJ3VuZGVmaW5lZCc7XG52YXIgbWF0Y2hlcyA9IE5vRWxlbWVudCA/IGZ1bmN0aW9uICgpIHt9IDogRWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcyB8fCBFbGVtZW50LnByb3RvdHlwZS5tc01hdGNoZXNTZWxlY3RvciB8fCBFbGVtZW50LnByb3RvdHlwZS53ZWJraXRNYXRjaGVzU2VsZWN0b3I7XG52YXIgZ2V0Um9vdE5vZGUgPSAhTm9FbGVtZW50ICYmIEVsZW1lbnQucHJvdG90eXBlLmdldFJvb3ROb2RlID8gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgdmFyIF9lbGVtZW50JGdldFJvb3ROb2RlO1xuICByZXR1cm4gZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiAoX2VsZW1lbnQkZ2V0Um9vdE5vZGUgPSBlbGVtZW50LmdldFJvb3ROb2RlKSA9PT0gbnVsbCB8fCBfZWxlbWVudCRnZXRSb290Tm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2VsZW1lbnQkZ2V0Um9vdE5vZGUuY2FsbChlbGVtZW50KTtcbn0gOiBmdW5jdGlvbiAoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBub2RlIGlzIGluZXJ0IG9yIGluIGFuIGluZXJ0IGFuY2VzdG9yLlxuICogQHBhcmFtIHtFbGVtZW50fSBbbm9kZV1cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xvb2tVcF0gSWYgdHJ1ZSBhbmQgYG5vZGVgIGlzIG5vdCBpbmVydCwgbG9va3MgdXAgYXQgYW5jZXN0b3JzIHRvXG4gKiAgc2VlIGlmIGFueSBvZiB0aGVtIGFyZSBpbmVydC4gSWYgZmFsc2UsIG9ubHkgYG5vZGVgIGl0c2VsZiBpcyBjb25zaWRlcmVkLlxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgaW5lcnQgaXRzZWxmIG9yIGJ5IHdheSBvZiBiZWluZyBpbiBhbiBpbmVydCBhbmNlc3Rvci5cbiAqICBGYWxzZSBpZiBgbm9kZWAgaXMgZmFsc3kuXG4gKi9cbnZhciBpc0luZXJ0ID0gZnVuY3Rpb24gaXNJbmVydChub2RlLCBsb29rVXApIHtcbiAgdmFyIF9ub2RlJGdldEF0dHJpYnV0ZTtcbiAgaWYgKGxvb2tVcCA9PT0gdm9pZCAwKSB7XG4gICAgbG9va1VwID0gdHJ1ZTtcbiAgfVxuICAvLyBDQVJFRlVMOiBKU0RvbSBkb2VzIG5vdCBzdXBwb3J0IGluZXJ0IGF0IGFsbCwgc28gd2UgY2FuJ3QgdXNlIHRoZSBgSFRNTEVsZW1lbnQuaW5lcnRgXG4gIC8vICBKUyBBUEkgcHJvcGVydHk7IHdlIGhhdmUgdG8gY2hlY2sgdGhlIGF0dHJpYnV0ZSwgd2hpY2ggY2FuIGVpdGhlciBiZSBlbXB0eSBvciAndHJ1ZSc7XG4gIC8vICBpZiBpdCdzIGBudWxsYCAobm90IHNwZWNpZmllZCkgb3IgJ2ZhbHNlJywgaXQncyBhbiBhY3RpdmUgZWxlbWVudFxuICB2YXIgaW5lcnRBdHQgPSBub2RlID09PSBudWxsIHx8IG5vZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfbm9kZSRnZXRBdHRyaWJ1dGUgPSBub2RlLmdldEF0dHJpYnV0ZSkgPT09IG51bGwgfHwgX25vZGUkZ2V0QXR0cmlidXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfbm9kZSRnZXRBdHRyaWJ1dGUuY2FsbChub2RlLCAnaW5lcnQnKTtcbiAgdmFyIGluZXJ0ID0gaW5lcnRBdHQgPT09ICcnIHx8IGluZXJ0QXR0ID09PSAndHJ1ZSc7XG5cbiAgLy8gTk9URTogdGhpcyBjb3VsZCBhbHNvIGJlIGhhbmRsZWQgd2l0aCBgbm9kZS5tYXRjaGVzKCdbaW5lcnRdLCA6aXMoW2luZXJ0XSAqKScpYFxuICAvLyAgaWYgaXQgd2VyZW4ndCBmb3IgYG1hdGNoZXMoKWAgbm90IGJlaW5nIGEgZnVuY3Rpb24gb24gc2hhZG93IHJvb3RzOyB0aGUgZm9sbG93aW5nXG4gIC8vICBjb2RlIHdvcmtzIGZvciBhbnkga2luZCBvZiBub2RlXG4gIC8vIENBUkVGVUw6IEpTRG9tIGRvZXMgbm90IGFwcGVhciB0byBzdXBwb3J0IGNlcnRhaW4gc2VsZWN0b3JzIGxpa2UgYDpub3QoW2luZXJ0XSAqKWBcbiAgLy8gIHNvIGl0IGxpa2VseSB3b3VsZCBub3Qgc3VwcG9ydCBgOmlzKFtpbmVydF0gKilgIGVpdGhlci4uLlxuICB2YXIgcmVzdWx0ID0gaW5lcnQgfHwgbG9va1VwICYmIG5vZGUgJiYgaXNJbmVydChub2RlLnBhcmVudE5vZGUpOyAvLyByZWN1cnNpdmVcblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgbm9kZSdzIGNvbnRlbnQgaXMgZWRpdGFibGUuXG4gKiBAcGFyYW0ge0VsZW1lbnR9IFtub2RlXVxuICogQHJldHVybnMgVHJ1ZSBpZiBpdCdzIGNvbnRlbnQtZWRpdGFibGU7IGZhbHNlIGlmIGl0J3Mgbm90IG9yIGBub2RlYCBpcyBmYWxzeS5cbiAqL1xudmFyIGlzQ29udGVudEVkaXRhYmxlID0gZnVuY3Rpb24gaXNDb250ZW50RWRpdGFibGUobm9kZSkge1xuICB2YXIgX25vZGUkZ2V0QXR0cmlidXRlMjtcbiAgLy8gQ0FSRUZVTDogSlNEb20gZG9lcyBub3Qgc3VwcG9ydCB0aGUgYEhUTUxFbGVtZW50LmlzQ29udGVudEVkaXRhYmxlYCBBUEkgc28gd2UgaGF2ZVxuICAvLyAgdG8gdXNlIHRoZSBhdHRyaWJ1dGUgZGlyZWN0bHkgdG8gY2hlY2sgZm9yIHRoaXMsIHdoaWNoIGNhbiBlaXRoZXIgYmUgZW1wdHkgb3IgJ3RydWUnO1xuICAvLyAgaWYgaXQncyBgbnVsbGAgKG5vdCBzcGVjaWZpZWQpIG9yICdmYWxzZScsIGl0J3MgYSBub24tZWRpdGFibGUgZWxlbWVudFxuICB2YXIgYXR0VmFsdWUgPSBub2RlID09PSBudWxsIHx8IG5vZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfbm9kZSRnZXRBdHRyaWJ1dGUyID0gbm9kZS5nZXRBdHRyaWJ1dGUpID09PSBudWxsIHx8IF9ub2RlJGdldEF0dHJpYnV0ZTIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9ub2RlJGdldEF0dHJpYnV0ZTIuY2FsbChub2RlLCAnY29udGVudGVkaXRhYmxlJyk7XG4gIHJldHVybiBhdHRWYWx1ZSA9PT0gJycgfHwgYXR0VmFsdWUgPT09ICd0cnVlJztcbn07XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBlbCBjb250YWluZXIgdG8gY2hlY2sgaW5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5jbHVkZUNvbnRhaW5lciBhZGQgY29udGFpbmVyIHRvIGNoZWNrXG4gKiBAcGFyYW0geyhub2RlOiBFbGVtZW50KSA9PiBib29sZWFufSBmaWx0ZXIgZmlsdGVyIGNhbmRpZGF0ZXNcbiAqIEByZXR1cm5zIHtFbGVtZW50W119XG4gKi9cbnZhciBnZXRDYW5kaWRhdGVzID0gZnVuY3Rpb24gZ2V0Q2FuZGlkYXRlcyhlbCwgaW5jbHVkZUNvbnRhaW5lciwgZmlsdGVyKSB7XG4gIC8vIGV2ZW4gaWYgYGluY2x1ZGVDb250YWluZXI9ZmFsc2VgLCB3ZSBzdGlsbCBoYXZlIHRvIGNoZWNrIGl0IGZvciBpbmVydG5lc3MgYmVjYXVzZVxuICAvLyAgaWYgaXQncyBpbmVydCwgYWxsIGl0cyBjaGlsZHJlbiBhcmUgaW5lcnRcbiAgaWYgKGlzSW5lcnQoZWwpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHZhciBjYW5kaWRhdGVzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGVsLnF1ZXJ5U2VsZWN0b3JBbGwoY2FuZGlkYXRlU2VsZWN0b3IpKTtcbiAgaWYgKGluY2x1ZGVDb250YWluZXIgJiYgbWF0Y2hlcy5jYWxsKGVsLCBjYW5kaWRhdGVTZWxlY3RvcikpIHtcbiAgICBjYW5kaWRhdGVzLnVuc2hpZnQoZWwpO1xuICB9XG4gIGNhbmRpZGF0ZXMgPSBjYW5kaWRhdGVzLmZpbHRlcihmaWx0ZXIpO1xuICByZXR1cm4gY2FuZGlkYXRlcztcbn07XG5cbi8qKlxuICogQGNhbGxiYWNrIEdldFNoYWRvd1Jvb3RcbiAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbWVudCB0byBjaGVjayBmb3Igc2hhZG93IHJvb3RcbiAqIEByZXR1cm5zIHtTaGFkb3dSb290fGJvb2xlYW59IFNoYWRvd1Jvb3QgaWYgYXZhaWxhYmxlIG9yIGJvb2xlYW4gaW5kaWNhdGluZyBpZiBhIHNoYWRvd1Jvb3QgaXMgYXR0YWNoZWQgYnV0IG5vdCBhdmFpbGFibGUuXG4gKi9cblxuLyoqXG4gKiBAY2FsbGJhY2sgU2hhZG93Um9vdEZpbHRlclxuICogQHBhcmFtIHtFbGVtZW50fSBzaGFkb3dIb3N0Tm9kZSB0aGUgZWxlbWVudCB3aGljaCBjb250YWlucyBzaGFkb3cgY29udGVudFxuICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgYSBzaGFkb3cgcm9vdCBjb3VsZCBwb3RlbnRpYWxseSBjb250YWluIHZhbGlkIGNhbmRpZGF0ZXMuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBDYW5kaWRhdGVTY29wZVxuICogQHByb3BlcnR5IHtFbGVtZW50fSBzY29wZVBhcmVudCBjb250YWlucyBpbm5lciBjYW5kaWRhdGVzXG4gKiBAcHJvcGVydHkge0VsZW1lbnRbXX0gY2FuZGlkYXRlcyBsaXN0IG9mIGNhbmRpZGF0ZXMgZm91bmQgaW4gdGhlIHNjb3BlIHBhcmVudFxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gSXRlcmF0aXZlT3B0aW9uc1xuICogQHByb3BlcnR5IHtHZXRTaGFkb3dSb290fGJvb2xlYW59IGdldFNoYWRvd1Jvb3QgdHJ1ZSBpZiBzaGFkb3cgc3VwcG9ydCBpcyBlbmFibGVkOyBmYWxzeSBpZiBub3Q7XG4gKiAgaWYgYSBmdW5jdGlvbiwgaW1wbGllcyBzaGFkb3cgc3VwcG9ydCBpcyBlbmFibGVkIGFuZCBlaXRoZXIgcmV0dXJucyB0aGUgc2hhZG93IHJvb3Qgb2YgYW4gZWxlbWVudFxuICogIG9yIGEgYm9vbGVhbiBzdGF0aW5nIGlmIGl0IGhhcyBhbiB1bmRpc2Nsb3NlZCBzaGFkb3cgcm9vdFxuICogQHByb3BlcnR5IHsobm9kZTogRWxlbWVudCkgPT4gYm9vbGVhbn0gZmlsdGVyIGZpbHRlciBjYW5kaWRhdGVzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGZsYXR0ZW4gaWYgdHJ1ZSB0aGVuIHJlc3VsdCB3aWxsIGZsYXR0ZW4gYW55IENhbmRpZGF0ZVNjb3BlIGludG8gdGhlIHJldHVybmVkIGxpc3RcbiAqIEBwcm9wZXJ0eSB7U2hhZG93Um9vdEZpbHRlcn0gc2hhZG93Um9vdEZpbHRlciBmaWx0ZXIgc2hhZG93IHJvb3RzO1xuICovXG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50W119IGVsZW1lbnRzIGxpc3Qgb2YgZWxlbWVudCBjb250YWluZXJzIHRvIG1hdGNoIGNhbmRpZGF0ZXMgZnJvbVxuICogQHBhcmFtIHtib29sZWFufSBpbmNsdWRlQ29udGFpbmVyIGFkZCBjb250YWluZXIgbGlzdCB0byBjaGVja1xuICogQHBhcmFtIHtJdGVyYXRpdmVPcHRpb25zfSBvcHRpb25zXG4gKiBAcmV0dXJucyB7QXJyYXkuPEVsZW1lbnR8Q2FuZGlkYXRlU2NvcGU+fVxuICovXG52YXIgZ2V0Q2FuZGlkYXRlc0l0ZXJhdGl2ZWx5ID0gZnVuY3Rpb24gZ2V0Q2FuZGlkYXRlc0l0ZXJhdGl2ZWx5KGVsZW1lbnRzLCBpbmNsdWRlQ29udGFpbmVyLCBvcHRpb25zKSB7XG4gIHZhciBjYW5kaWRhdGVzID0gW107XG4gIHZhciBlbGVtZW50c1RvQ2hlY2sgPSBBcnJheS5mcm9tKGVsZW1lbnRzKTtcbiAgd2hpbGUgKGVsZW1lbnRzVG9DaGVjay5sZW5ndGgpIHtcbiAgICB2YXIgZWxlbWVudCA9IGVsZW1lbnRzVG9DaGVjay5zaGlmdCgpO1xuICAgIGlmIChpc0luZXJ0KGVsZW1lbnQsIGZhbHNlKSkge1xuICAgICAgLy8gbm8gbmVlZCB0byBsb29rIHVwIHNpbmNlIHdlJ3JlIGRyaWxsaW5nIGRvd25cbiAgICAgIC8vIGFueXRoaW5nIGluc2lkZSB0aGlzIGNvbnRhaW5lciB3aWxsIGFsc28gYmUgaW5lcnRcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoZWxlbWVudC50YWdOYW1lID09PSAnU0xPVCcpIHtcbiAgICAgIC8vIGFkZCBzaGFkb3cgZG9tIHNsb3Qgc2NvcGUgKHNsb3QgaXRzZWxmIGNhbm5vdCBiZSBmb2N1c2FibGUpXG4gICAgICB2YXIgYXNzaWduZWQgPSBlbGVtZW50LmFzc2lnbmVkRWxlbWVudHMoKTtcbiAgICAgIHZhciBjb250ZW50ID0gYXNzaWduZWQubGVuZ3RoID8gYXNzaWduZWQgOiBlbGVtZW50LmNoaWxkcmVuO1xuICAgICAgdmFyIG5lc3RlZENhbmRpZGF0ZXMgPSBnZXRDYW5kaWRhdGVzSXRlcmF0aXZlbHkoY29udGVudCwgdHJ1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAob3B0aW9ucy5mbGF0dGVuKSB7XG4gICAgICAgIGNhbmRpZGF0ZXMucHVzaC5hcHBseShjYW5kaWRhdGVzLCBuZXN0ZWRDYW5kaWRhdGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhbmRpZGF0ZXMucHVzaCh7XG4gICAgICAgICAgc2NvcGVQYXJlbnQ6IGVsZW1lbnQsXG4gICAgICAgICAgY2FuZGlkYXRlczogbmVzdGVkQ2FuZGlkYXRlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2hlY2sgY2FuZGlkYXRlIGVsZW1lbnRcbiAgICAgIHZhciB2YWxpZENhbmRpZGF0ZSA9IG1hdGNoZXMuY2FsbChlbGVtZW50LCBjYW5kaWRhdGVTZWxlY3Rvcik7XG4gICAgICBpZiAodmFsaWRDYW5kaWRhdGUgJiYgb3B0aW9ucy5maWx0ZXIoZWxlbWVudCkgJiYgKGluY2x1ZGVDb250YWluZXIgfHwgIWVsZW1lbnRzLmluY2x1ZGVzKGVsZW1lbnQpKSkge1xuICAgICAgICBjYW5kaWRhdGVzLnB1c2goZWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGl0ZXJhdGUgb3ZlciBzaGFkb3cgY29udGVudCBpZiBwb3NzaWJsZVxuICAgICAgdmFyIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jvb3QgfHxcbiAgICAgIC8vIGNoZWNrIGZvciBhbiB1bmRpc2Nsb3NlZCBzaGFkb3dcbiAgICAgIHR5cGVvZiBvcHRpb25zLmdldFNoYWRvd1Jvb3QgPT09ICdmdW5jdGlvbicgJiYgb3B0aW9ucy5nZXRTaGFkb3dSb290KGVsZW1lbnQpO1xuXG4gICAgICAvLyBubyBpbmVydCBsb29rIHVwIGJlY2F1c2Ugd2UncmUgYWxyZWFkeSBkcmlsbGluZyBkb3duIGFuZCBjaGVja2luZyBmb3IgaW5lcnRuZXNzXG4gICAgICAvLyAgb24gdGhlIHdheSBkb3duLCBzbyBhbGwgY29udGFpbmVycyB0byB0aGlzIHJvb3Qgbm9kZSBzaG91bGQgaGF2ZSBhbHJlYWR5IGJlZW5cbiAgICAgIC8vICB2ZXR0ZWQgYXMgbm9uLWluZXJ0XG4gICAgICB2YXIgdmFsaWRTaGFkb3dSb290ID0gIWlzSW5lcnQoc2hhZG93Um9vdCwgZmFsc2UpICYmICghb3B0aW9ucy5zaGFkb3dSb290RmlsdGVyIHx8IG9wdGlvbnMuc2hhZG93Um9vdEZpbHRlcihlbGVtZW50KSk7XG4gICAgICBpZiAoc2hhZG93Um9vdCAmJiB2YWxpZFNoYWRvd1Jvb3QpIHtcbiAgICAgICAgLy8gYWRkIHNoYWRvdyBkb20gc2NvcGUgSUlGIGEgc2hhZG93IHJvb3Qgbm9kZSB3YXMgZ2l2ZW47IG90aGVyd2lzZSwgYW4gdW5kaXNjbG9zZWRcbiAgICAgICAgLy8gIHNoYWRvdyBleGlzdHMsIHNvIGxvb2sgYXQgbGlnaHQgZG9tIGNoaWxkcmVuIGFzIGZhbGxiYWNrIEJVVCBjcmVhdGUgYSBzY29wZSBmb3IgYW55XG4gICAgICAgIC8vICBjaGlsZCBjYW5kaWRhdGVzIGZvdW5kIGJlY2F1c2UgdGhleSdyZSBsaWtlbHkgc2xvdHRlZCBlbGVtZW50cyAoZWxlbWVudHMgdGhhdCBhcmVcbiAgICAgICAgLy8gIGNoaWxkcmVuIG9mIHRoZSB3ZWIgY29tcG9uZW50IGVsZW1lbnQgKHdoaWNoIGhhcyB0aGUgc2hhZG93KSwgaW4gdGhlIGxpZ2h0IGRvbSwgYnV0XG4gICAgICAgIC8vICBzbG90dGVkIHNvbWV3aGVyZSBfaW5zaWRlXyB0aGUgdW5kaXNjbG9zZWQgc2hhZG93KSAtLSB0aGUgc2NvcGUgaXMgY3JlYXRlZCBiZWxvdyxcbiAgICAgICAgLy8gIF9hZnRlcl8gd2UgcmV0dXJuIGZyb20gdGhpcyByZWN1cnNpdmUgY2FsbFxuICAgICAgICB2YXIgX25lc3RlZENhbmRpZGF0ZXMgPSBnZXRDYW5kaWRhdGVzSXRlcmF0aXZlbHkoc2hhZG93Um9vdCA9PT0gdHJ1ZSA/IGVsZW1lbnQuY2hpbGRyZW4gOiBzaGFkb3dSb290LmNoaWxkcmVuLCB0cnVlLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZmxhdHRlbikge1xuICAgICAgICAgIGNhbmRpZGF0ZXMucHVzaC5hcHBseShjYW5kaWRhdGVzLCBfbmVzdGVkQ2FuZGlkYXRlcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2FuZGlkYXRlcy5wdXNoKHtcbiAgICAgICAgICAgIHNjb3BlUGFyZW50OiBlbGVtZW50LFxuICAgICAgICAgICAgY2FuZGlkYXRlczogX25lc3RlZENhbmRpZGF0ZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdGhlcmUncyBub3Qgc2hhZG93IHNvIGp1c3QgZGlnIGludG8gdGhlIGVsZW1lbnQncyAobGlnaHQgZG9tKSBjaGlsZHJlblxuICAgICAgICAvLyAgX193aXRob3V0X18gZ2l2aW5nIHRoZSBlbGVtZW50IHNwZWNpYWwgc2NvcGUgdHJlYXRtZW50XG4gICAgICAgIGVsZW1lbnRzVG9DaGVjay51bnNoaWZ0LmFwcGx5KGVsZW1lbnRzVG9DaGVjaywgZWxlbWVudC5jaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBjYW5kaWRhdGVzO1xufTtcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICogRGV0ZXJtaW5lcyBpZiB0aGUgbm9kZSBoYXMgYW4gZXhwbGljaXRseSBzcGVjaWZpZWQgYHRhYmluZGV4YCBhdHRyaWJ1dGUuXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBub2RlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBzbzsgZmFsc2UgaWYgbm90LlxuICovXG52YXIgaGFzVGFiSW5kZXggPSBmdW5jdGlvbiBoYXNUYWJJbmRleChub2RlKSB7XG4gIHJldHVybiAhaXNOYU4ocGFyc2VJbnQobm9kZS5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JyksIDEwKSk7XG59O1xuXG4vKipcbiAqIERldGVybWluZSB0aGUgdGFiIGluZGV4IG9mIGEgZ2l2ZW4gbm9kZS5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG5vZGVcbiAqIEByZXR1cm5zIHtudW1iZXJ9IFRhYiBvcmRlciAobmVnYXRpdmUsIDAsIG9yIHBvc2l0aXZlIG51bWJlcikuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgYG5vZGVgIGlzIGZhbHN5LlxuICovXG52YXIgZ2V0VGFiSW5kZXggPSBmdW5jdGlvbiBnZXRUYWJJbmRleChub2RlKSB7XG4gIGlmICghbm9kZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm8gbm9kZSBwcm92aWRlZCcpO1xuICB9XG4gIGlmIChub2RlLnRhYkluZGV4IDwgMCkge1xuICAgIC8vIGluIENocm9tZSwgPGRldGFpbHMvPiwgPGF1ZGlvIGNvbnRyb2xzLz4gYW5kIDx2aWRlbyBjb250cm9scy8+IGVsZW1lbnRzIGdldCBhIGRlZmF1bHRcbiAgICAvLyBgdGFiSW5kZXhgIG9mIC0xIHdoZW4gdGhlICd0YWJpbmRleCcgYXR0cmlidXRlIGlzbid0IHNwZWNpZmllZCBpbiB0aGUgRE9NLFxuICAgIC8vIHlldCB0aGV5IGFyZSBzdGlsbCBwYXJ0IG9mIHRoZSByZWd1bGFyIHRhYiBvcmRlcjsgaW4gRkYsIHRoZXkgZ2V0IGEgZGVmYXVsdFxuICAgIC8vIGB0YWJJbmRleGAgb2YgMDsgc2luY2UgQ2hyb21lIHN0aWxsIHB1dHMgdGhvc2UgZWxlbWVudHMgaW4gdGhlIHJlZ3VsYXIgdGFiXG4gICAgLy8gb3JkZXIsIGNvbnNpZGVyIHRoZWlyIHRhYiBpbmRleCB0byBiZSAwLlxuICAgIC8vIEFsc28gYnJvd3NlcnMgZG8gbm90IHJldHVybiBgdGFiSW5kZXhgIGNvcnJlY3RseSBmb3IgY29udGVudEVkaXRhYmxlIG5vZGVzO1xuICAgIC8vIHNvIGlmIHRoZXkgZG9uJ3QgaGF2ZSBhIHRhYmluZGV4IGF0dHJpYnV0ZSBzcGVjaWZpY2FsbHkgc2V0LCBhc3N1bWUgaXQncyAwLlxuICAgIGlmICgoL14oQVVESU98VklERU98REVUQUlMUykkLy50ZXN0KG5vZGUudGFnTmFtZSkgfHwgaXNDb250ZW50RWRpdGFibGUobm9kZSkpICYmICFoYXNUYWJJbmRleChub2RlKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG4gIHJldHVybiBub2RlLnRhYkluZGV4O1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIHRhYiBpbmRleCBvZiBhIGdpdmVuIG5vZGUgX19mb3Igc29ydCBvcmRlciBwdXJwb3Nlc19fLlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtib29sZWFufSBbaXNTY29wZV0gVHJ1ZSBmb3IgYSBjdXN0b20gZWxlbWVudCB3aXRoIHNoYWRvdyByb290IG9yIHNsb3QgdGhhdCwgYnkgZGVmYXVsdCxcbiAqICBoYXMgdGFiSW5kZXggLTEsIGJ1dCBuZWVkcyB0byBiZSBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIgaW4gb3JkZXIgZm9yIGl0cyBjb250ZW50IHRvIGJlXG4gKiAgaW5zZXJ0ZWQgaW50byB0aGUgY29ycmVjdCBzb3J0IHBvc2l0aW9uLlxuICogQHJldHVybnMge251bWJlcn0gVGFiIG9yZGVyIChuZWdhdGl2ZSwgMCwgb3IgcG9zaXRpdmUgbnVtYmVyKS5cbiAqL1xudmFyIGdldFNvcnRPcmRlclRhYkluZGV4ID0gZnVuY3Rpb24gZ2V0U29ydE9yZGVyVGFiSW5kZXgobm9kZSwgaXNTY29wZSkge1xuICB2YXIgdGFiSW5kZXggPSBnZXRUYWJJbmRleChub2RlKTtcbiAgaWYgKHRhYkluZGV4IDwgMCAmJiBpc1Njb3BlICYmICFoYXNUYWJJbmRleChub2RlKSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIHJldHVybiB0YWJJbmRleDtcbn07XG52YXIgc29ydE9yZGVyZWRUYWJiYWJsZXMgPSBmdW5jdGlvbiBzb3J0T3JkZXJlZFRhYmJhYmxlcyhhLCBiKSB7XG4gIHJldHVybiBhLnRhYkluZGV4ID09PSBiLnRhYkluZGV4ID8gYS5kb2N1bWVudE9yZGVyIC0gYi5kb2N1bWVudE9yZGVyIDogYS50YWJJbmRleCAtIGIudGFiSW5kZXg7XG59O1xudmFyIGlzSW5wdXQgPSBmdW5jdGlvbiBpc0lucHV0KG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudGFnTmFtZSA9PT0gJ0lOUFVUJztcbn07XG52YXIgaXNIaWRkZW5JbnB1dCA9IGZ1bmN0aW9uIGlzSGlkZGVuSW5wdXQobm9kZSkge1xuICByZXR1cm4gaXNJbnB1dChub2RlKSAmJiBub2RlLnR5cGUgPT09ICdoaWRkZW4nO1xufTtcbnZhciBpc0RldGFpbHNXaXRoU3VtbWFyeSA9IGZ1bmN0aW9uIGlzRGV0YWlsc1dpdGhTdW1tYXJ5KG5vZGUpIHtcbiAgdmFyIHIgPSBub2RlLnRhZ05hbWUgPT09ICdERVRBSUxTJyAmJiBBcnJheS5wcm90b3R5cGUuc2xpY2UuYXBwbHkobm9kZS5jaGlsZHJlbikuc29tZShmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gY2hpbGQudGFnTmFtZSA9PT0gJ1NVTU1BUlknO1xuICB9KTtcbiAgcmV0dXJuIHI7XG59O1xudmFyIGdldENoZWNrZWRSYWRpbyA9IGZ1bmN0aW9uIGdldENoZWNrZWRSYWRpbyhub2RlcywgZm9ybSkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKG5vZGVzW2ldLmNoZWNrZWQgJiYgbm9kZXNbaV0uZm9ybSA9PT0gZm9ybSkge1xuICAgICAgcmV0dXJuIG5vZGVzW2ldO1xuICAgIH1cbiAgfVxufTtcbnZhciBpc1RhYmJhYmxlUmFkaW8gPSBmdW5jdGlvbiBpc1RhYmJhYmxlUmFkaW8obm9kZSkge1xuICBpZiAoIW5vZGUubmFtZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHZhciByYWRpb1Njb3BlID0gbm9kZS5mb3JtIHx8IGdldFJvb3ROb2RlKG5vZGUpO1xuICB2YXIgcXVlcnlSYWRpb3MgPSBmdW5jdGlvbiBxdWVyeVJhZGlvcyhuYW1lKSB7XG4gICAgcmV0dXJuIHJhZGlvU2NvcGUucXVlcnlTZWxlY3RvckFsbCgnaW5wdXRbdHlwZT1cInJhZGlvXCJdW25hbWU9XCInICsgbmFtZSArICdcIl0nKTtcbiAgfTtcbiAgdmFyIHJhZGlvU2V0O1xuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5DU1MgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuQ1NTLmVzY2FwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJhZGlvU2V0ID0gcXVlcnlSYWRpb3Mod2luZG93LkNTUy5lc2NhcGUobm9kZS5uYW1lKSk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIHJhZGlvU2V0ID0gcXVlcnlSYWRpb3Mobm9kZS5uYW1lKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdMb29rcyBsaWtlIHlvdSBoYXZlIGEgcmFkaW8gYnV0dG9uIHdpdGggYSBuYW1lIGF0dHJpYnV0ZSBjb250YWluaW5nIGludmFsaWQgQ1NTIHNlbGVjdG9yIGNoYXJhY3RlcnMgYW5kIG5lZWQgdGhlIENTUy5lc2NhcGUgcG9seWZpbGw6ICVzJywgZXJyLm1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICB2YXIgY2hlY2tlZCA9IGdldENoZWNrZWRSYWRpbyhyYWRpb1NldCwgbm9kZS5mb3JtKTtcbiAgcmV0dXJuICFjaGVja2VkIHx8IGNoZWNrZWQgPT09IG5vZGU7XG59O1xudmFyIGlzUmFkaW8gPSBmdW5jdGlvbiBpc1JhZGlvKG5vZGUpIHtcbiAgcmV0dXJuIGlzSW5wdXQobm9kZSkgJiYgbm9kZS50eXBlID09PSAncmFkaW8nO1xufTtcbnZhciBpc05vblRhYmJhYmxlUmFkaW8gPSBmdW5jdGlvbiBpc05vblRhYmJhYmxlUmFkaW8obm9kZSkge1xuICByZXR1cm4gaXNSYWRpbyhub2RlKSAmJiAhaXNUYWJiYWJsZVJhZGlvKG5vZGUpO1xufTtcblxuLy8gZGV0ZXJtaW5lcyBpZiBhIG5vZGUgaXMgdWx0aW1hdGVseSBhdHRhY2hlZCB0byB0aGUgd2luZG93J3MgZG9jdW1lbnRcbnZhciBpc05vZGVBdHRhY2hlZCA9IGZ1bmN0aW9uIGlzTm9kZUF0dGFjaGVkKG5vZGUpIHtcbiAgdmFyIF9ub2RlUm9vdDtcbiAgLy8gVGhlIHJvb3Qgbm9kZSBpcyB0aGUgc2hhZG93IHJvb3QgaWYgdGhlIG5vZGUgaXMgaW4gYSBzaGFkb3cgRE9NOyBzb21lIGRvY3VtZW50IG90aGVyd2lzZVxuICAvLyAgKGJ1dCBOT1QgX3RoZV8gZG9jdW1lbnQ7IHNlZSBzZWNvbmQgJ0lmJyBjb21tZW50IGJlbG93IGZvciBtb3JlKS5cbiAgLy8gSWYgcm9vdE5vZGUgaXMgc2hhZG93IHJvb3QsIGl0J2xsIGhhdmUgYSBob3N0LCB3aGljaCBpcyB0aGUgZWxlbWVudCB0byB3aGljaCB0aGUgc2hhZG93XG4gIC8vICBpcyBhdHRhY2hlZCwgYW5kIHRoZSBvbmUgd2UgbmVlZCB0byBjaGVjayBpZiBpdCdzIGluIHRoZSBkb2N1bWVudCBvciBub3QgKGJlY2F1c2UgdGhlXG4gIC8vICBzaGFkb3csIGFuZCBhbGwgbm9kZXMgaXQgY29udGFpbnMsIGlzIG5ldmVyIGNvbnNpZGVyZWQgaW4gdGhlIGRvY3VtZW50IHNpbmNlIHNoYWRvd3NcbiAgLy8gIGJlaGF2ZSBsaWtlIHNlbGYtY29udGFpbmVkIERPTXM7IGJ1dCBpZiB0aGUgc2hhZG93J3MgSE9TVCwgd2hpY2ggaXMgcGFydCBvZiB0aGUgZG9jdW1lbnQsXG4gIC8vICBpcyBoaWRkZW4sIG9yIGlzIG5vdCBpbiB0aGUgZG9jdW1lbnQgaXRzZWxmIGJ1dCBpcyBkZXRhY2hlZCwgaXQgd2lsbCBhZmZlY3QgdGhlIHNoYWRvdydzXG4gIC8vICB2aXNpYmlsaXR5LCBpbmNsdWRpbmcgYWxsIHRoZSBub2RlcyBpdCBjb250YWlucykuIFRoZSBob3N0IGNvdWxkIGJlIGFueSBub3JtYWwgbm9kZSxcbiAgLy8gIG9yIGEgY3VzdG9tIGVsZW1lbnQgKGkuZS4gd2ViIGNvbXBvbmVudCkuIEVpdGhlciB3YXksIHRoYXQncyB0aGUgb25lIHRoYXQgaXMgY29uc2lkZXJlZFxuICAvLyAgcGFydCBvZiB0aGUgZG9jdW1lbnQsIG5vdCB0aGUgc2hhZG93IHJvb3QsIG5vciBhbnkgb2YgaXRzIGNoaWxkcmVuIChpLmUuIHRoZSBub2RlIGJlaW5nXG4gIC8vICB0ZXN0ZWQpLlxuICAvLyBUbyBmdXJ0aGVyIGNvbXBsaWNhdGUgdGhpbmdzLCB3ZSBoYXZlIHRvIGxvb2sgYWxsIHRoZSB3YXkgdXAgdW50aWwgd2UgZmluZCBhIHNoYWRvdyBIT1NUXG4gIC8vICB0aGF0IGlzIGF0dGFjaGVkIChvciBmaW5kIG5vbmUpIGJlY2F1c2UgdGhlIG5vZGUgbWlnaHQgYmUgaW4gbmVzdGVkIHNoYWRvd3MuLi5cbiAgLy8gSWYgcm9vdE5vZGUgaXMgbm90IGEgc2hhZG93IHJvb3QsIGl0IHdvbid0IGhhdmUgYSBob3N0LCBhbmQgc28gcm9vdE5vZGUgc2hvdWxkIGJlIHRoZVxuICAvLyAgZG9jdW1lbnQgKHBlciB0aGUgZG9jcykgYW5kIHdoaWxlIGl0J3MgYSBEb2N1bWVudC10eXBlIG9iamVjdCwgdGhhdCBkb2N1bWVudCBkb2VzIG5vdFxuICAvLyAgYXBwZWFyIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBub2RlJ3MgYG93bmVyRG9jdW1lbnRgIGZvciBzb21lIHJlYXNvbiwgc28gaXQncyBzYWZlclxuICAvLyAgdG8gaWdub3JlIHRoZSByb290Tm9kZSBhdCB0aGlzIHBvaW50LCBhbmQgdXNlIGBub2RlLm93bmVyRG9jdW1lbnRgLiBPdGhlcndpc2UsXG4gIC8vICB1c2luZyBgcm9vdE5vZGUuY29udGFpbnMobm9kZSlgIHdpbGwgX2Fsd2F5c18gYmUgdHJ1ZSB3ZSdsbCBnZXQgZmFsc2UtcG9zaXRpdmVzIHdoZW5cbiAgLy8gIG5vZGUgaXMgYWN0dWFsbHkgZGV0YWNoZWQuXG4gIC8vIE5PVEU6IElmIGBub2RlUm9vdEhvc3RgIG9yIGBub2RlYCBoYXBwZW5zIHRvIGJlIHRoZSBgZG9jdW1lbnRgIGl0c2VsZiAod2hpY2ggaXMgcG9zc2libGVcbiAgLy8gIGlmIGEgdGFiYmFibGUvZm9jdXNhYmxlIG5vZGUgd2FzIHF1aWNrbHkgYWRkZWQgdG8gdGhlIERPTSwgZm9jdXNlZCwgYW5kIHRoZW4gcmVtb3ZlZFxuICAvLyAgZnJvbSB0aGUgRE9NIGFzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mb2N1cy10cmFwL2ZvY3VzLXRyYXAtcmVhY3QvaXNzdWVzLzkwNSksIHRoZW5cbiAgLy8gIGBvd25lckRvY3VtZW50YCB3aWxsIGJlIGBudWxsYCwgaGVuY2UgdGhlIG9wdGlvbmFsIGNoYWluaW5nIG9uIGl0LlxuICB2YXIgbm9kZVJvb3QgPSBub2RlICYmIGdldFJvb3ROb2RlKG5vZGUpO1xuICB2YXIgbm9kZVJvb3RIb3N0ID0gKF9ub2RlUm9vdCA9IG5vZGVSb290KSA9PT0gbnVsbCB8fCBfbm9kZVJvb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9ub2RlUm9vdC5ob3N0O1xuXG4gIC8vIGluIHNvbWUgY2FzZXMsIGEgZGV0YWNoZWQgbm9kZSB3aWxsIHJldHVybiBpdHNlbGYgYXMgdGhlIHJvb3QgaW5zdGVhZCBvZiBhIGRvY3VtZW50IG9yXG4gIC8vICBzaGFkb3cgcm9vdCBvYmplY3QsIGluIHdoaWNoIGNhc2UsIHdlIHNob3VsZG4ndCB0cnkgdG8gbG9vayBmdXJ0aGVyIHVwIHRoZSBob3N0IGNoYWluXG4gIHZhciBhdHRhY2hlZCA9IGZhbHNlO1xuICBpZiAobm9kZVJvb3QgJiYgbm9kZVJvb3QgIT09IG5vZGUpIHtcbiAgICB2YXIgX25vZGVSb290SG9zdCwgX25vZGVSb290SG9zdCRvd25lckRvLCBfbm9kZSRvd25lckRvY3VtZW50O1xuICAgIGF0dGFjaGVkID0gISEoKF9ub2RlUm9vdEhvc3QgPSBub2RlUm9vdEhvc3QpICE9PSBudWxsICYmIF9ub2RlUm9vdEhvc3QgIT09IHZvaWQgMCAmJiAoX25vZGVSb290SG9zdCRvd25lckRvID0gX25vZGVSb290SG9zdC5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfbm9kZVJvb3RIb3N0JG93bmVyRG8gIT09IHZvaWQgMCAmJiBfbm9kZVJvb3RIb3N0JG93bmVyRG8uY29udGFpbnMobm9kZVJvb3RIb3N0KSB8fCBub2RlICE9PSBudWxsICYmIG5vZGUgIT09IHZvaWQgMCAmJiAoX25vZGUkb3duZXJEb2N1bWVudCA9IG5vZGUub3duZXJEb2N1bWVudCkgIT09IG51bGwgJiYgX25vZGUkb3duZXJEb2N1bWVudCAhPT0gdm9pZCAwICYmIF9ub2RlJG93bmVyRG9jdW1lbnQuY29udGFpbnMobm9kZSkpO1xuICAgIHdoaWxlICghYXR0YWNoZWQgJiYgbm9kZVJvb3RIb3N0KSB7XG4gICAgICB2YXIgX25vZGVSb290MiwgX25vZGVSb290SG9zdDIsIF9ub2RlUm9vdEhvc3QyJG93bmVyRDtcbiAgICAgIC8vIHNpbmNlIGl0J3Mgbm90IGF0dGFjaGVkIGFuZCB3ZSBoYXZlIGEgcm9vdCBob3N0LCB0aGUgbm9kZSBNVVNUIGJlIGluIGEgbmVzdGVkIHNoYWRvdyBET00sXG4gICAgICAvLyAgd2hpY2ggbWVhbnMgd2UgbmVlZCB0byBnZXQgdGhlIGhvc3QncyBob3N0IGFuZCBjaGVjayBpZiB0aGF0IHBhcmVudCBob3N0IGlzIGNvbnRhaW5lZFxuICAgICAgLy8gIGluIChpLmUuIGF0dGFjaGVkIHRvKSB0aGUgZG9jdW1lbnRcbiAgICAgIG5vZGVSb290ID0gZ2V0Um9vdE5vZGUobm9kZVJvb3RIb3N0KTtcbiAgICAgIG5vZGVSb290SG9zdCA9IChfbm9kZVJvb3QyID0gbm9kZVJvb3QpID09PSBudWxsIHx8IF9ub2RlUm9vdDIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9ub2RlUm9vdDIuaG9zdDtcbiAgICAgIGF0dGFjaGVkID0gISEoKF9ub2RlUm9vdEhvc3QyID0gbm9kZVJvb3RIb3N0KSAhPT0gbnVsbCAmJiBfbm9kZVJvb3RIb3N0MiAhPT0gdm9pZCAwICYmIChfbm9kZVJvb3RIb3N0MiRvd25lckQgPSBfbm9kZVJvb3RIb3N0Mi5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfbm9kZVJvb3RIb3N0MiRvd25lckQgIT09IHZvaWQgMCAmJiBfbm9kZVJvb3RIb3N0MiRvd25lckQuY29udGFpbnMobm9kZVJvb3RIb3N0KSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBhdHRhY2hlZDtcbn07XG52YXIgaXNaZXJvQXJlYSA9IGZ1bmN0aW9uIGlzWmVyb0FyZWEobm9kZSkge1xuICB2YXIgX25vZGUkZ2V0Qm91bmRpbmdDbGllID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICB3aWR0aCA9IF9ub2RlJGdldEJvdW5kaW5nQ2xpZS53aWR0aCxcbiAgICBoZWlnaHQgPSBfbm9kZSRnZXRCb3VuZGluZ0NsaWUuaGVpZ2h0O1xuICByZXR1cm4gd2lkdGggPT09IDAgJiYgaGVpZ2h0ID09PSAwO1xufTtcbnZhciBpc0hpZGRlbiA9IGZ1bmN0aW9uIGlzSGlkZGVuKG5vZGUsIF9yZWYpIHtcbiAgdmFyIGRpc3BsYXlDaGVjayA9IF9yZWYuZGlzcGxheUNoZWNrLFxuICAgIGdldFNoYWRvd1Jvb3QgPSBfcmVmLmdldFNoYWRvd1Jvb3Q7XG4gIC8vIE5PVEU6IHZpc2liaWxpdHkgd2lsbCBiZSBgdW5kZWZpbmVkYCBpZiBub2RlIGlzIGRldGFjaGVkIGZyb20gdGhlIGRvY3VtZW50XG4gIC8vICAoc2VlIG5vdGVzIGFib3V0IHRoaXMgZnVydGhlciBkb3duKSwgd2hpY2ggbWVhbnMgd2Ugd2lsbCBjb25zaWRlciBpdCB2aXNpYmxlXG4gIC8vICAodGhpcyBpcyBsZWdhY3kgYmVoYXZpb3IgZnJvbSBhIHZlcnkgbG9uZyB3YXkgYmFjaylcbiAgLy8gTk9URTogd2UgY2hlY2sgdGhpcyByZWdhcmRsZXNzIG9mIGBkaXNwbGF5Q2hlY2s9XCJub25lXCJgIGJlY2F1c2UgdGhpcyBpcyBhXG4gIC8vICBfdmlzaWJpbGl0eV8gY2hlY2ssIG5vdCBhIF9kaXNwbGF5XyBjaGVja1xuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS52aXNpYmlsaXR5ID09PSAnaGlkZGVuJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHZhciBpc0RpcmVjdFN1bW1hcnkgPSBtYXRjaGVzLmNhbGwobm9kZSwgJ2RldGFpbHM+c3VtbWFyeTpmaXJzdC1vZi10eXBlJyk7XG4gIHZhciBub2RlVW5kZXJEZXRhaWxzID0gaXNEaXJlY3RTdW1tYXJ5ID8gbm9kZS5wYXJlbnRFbGVtZW50IDogbm9kZTtcbiAgaWYgKG1hdGNoZXMuY2FsbChub2RlVW5kZXJEZXRhaWxzLCAnZGV0YWlsczpub3QoW29wZW5dKSAqJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoIWRpc3BsYXlDaGVjayB8fCBkaXNwbGF5Q2hlY2sgPT09ICdmdWxsJyB8fCBkaXNwbGF5Q2hlY2sgPT09ICdsZWdhY3ktZnVsbCcpIHtcbiAgICBpZiAodHlwZW9mIGdldFNoYWRvd1Jvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIGZpZ3VyZSBvdXQgaWYgd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBub2RlIHRvIGJlIGluIGFuIHVuZGlzY2xvc2VkIHNoYWRvdyBhbmQgdXNlIHRoZVxuICAgICAgLy8gICdub24temVyby1hcmVhJyBmYWxsYmFja1xuICAgICAgdmFyIG9yaWdpbmFsTm9kZSA9IG5vZGU7XG4gICAgICB3aGlsZSAobm9kZSkge1xuICAgICAgICB2YXIgcGFyZW50RWxlbWVudCA9IG5vZGUucGFyZW50RWxlbWVudDtcbiAgICAgICAgdmFyIHJvb3ROb2RlID0gZ2V0Um9vdE5vZGUobm9kZSk7XG4gICAgICAgIGlmIChwYXJlbnRFbGVtZW50ICYmICFwYXJlbnRFbGVtZW50LnNoYWRvd1Jvb3QgJiYgZ2V0U2hhZG93Um9vdChwYXJlbnRFbGVtZW50KSA9PT0gdHJ1ZSAvLyBjaGVjayBpZiB0aGVyZSdzIGFuIHVuZGlzY2xvc2VkIHNoYWRvd1xuICAgICAgICApIHtcbiAgICAgICAgICAvLyBub2RlIGhhcyBhbiB1bmRpc2Nsb3NlZCBzaGFkb3cgd2hpY2ggbWVhbnMgd2UgY2FuIG9ubHkgdHJlYXQgaXQgYXMgYSBibGFjayBib3gsIHNvIHdlXG4gICAgICAgICAgLy8gIGZhbGwgYmFjayB0byBhIG5vbi16ZXJvLWFyZWEgdGVzdFxuICAgICAgICAgIHJldHVybiBpc1plcm9BcmVhKG5vZGUpO1xuICAgICAgICB9IGVsc2UgaWYgKG5vZGUuYXNzaWduZWRTbG90KSB7XG4gICAgICAgICAgLy8gaXRlcmF0ZSB1cCBzbG90XG4gICAgICAgICAgbm9kZSA9IG5vZGUuYXNzaWduZWRTbG90O1xuICAgICAgICB9IGVsc2UgaWYgKCFwYXJlbnRFbGVtZW50ICYmIHJvb3ROb2RlICE9PSBub2RlLm93bmVyRG9jdW1lbnQpIHtcbiAgICAgICAgICAvLyBjcm9zcyBzaGFkb3cgYm91bmRhcnlcbiAgICAgICAgICBub2RlID0gcm9vdE5vZGUuaG9zdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBpdGVyYXRlIHVwIG5vcm1hbCBkb21cbiAgICAgICAgICBub2RlID0gcGFyZW50RWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbm9kZSA9IG9yaWdpbmFsTm9kZTtcbiAgICB9XG4gICAgLy8gZWxzZSwgYGdldFNoYWRvd1Jvb3RgIG1pZ2h0IGJlIHRydWUsIGJ1dCBhbGwgdGhhdCBkb2VzIGlzIGVuYWJsZSBzaGFkb3cgRE9NIHN1cHBvcnRcbiAgICAvLyAgKGkuZS4gaXQgZG9lcyBub3QgYWxzbyBwcmVzdW1lIHRoYXQgYWxsIG5vZGVzIG1pZ2h0IGhhdmUgdW5kaXNjbG9zZWQgc2hhZG93cyk7IG9yXG4gICAgLy8gIGl0IG1pZ2h0IGJlIGEgZmFsc3kgdmFsdWUsIHdoaWNoIG1lYW5zIHNoYWRvdyBET00gc3VwcG9ydCBpcyBkaXNhYmxlZFxuXG4gICAgLy8gU2luY2Ugd2UgZGlkbid0IGZpbmQgaXQgc2l0dGluZyBpbiBhbiB1bmRpc2Nsb3NlZCBzaGFkb3cgKG9yIHNoYWRvd3MgYXJlIGRpc2FibGVkKVxuICAgIC8vICBub3cgd2UgY2FuIGp1c3QgdGVzdCB0byBzZWUgaWYgaXQgd291bGQgbm9ybWFsbHkgYmUgdmlzaWJsZSBvciBub3QsIHByb3ZpZGVkIGl0J3NcbiAgICAvLyAgYXR0YWNoZWQgdG8gdGhlIG1haW4gZG9jdW1lbnQuXG4gICAgLy8gTk9URTogV2UgbXVzdCBjb25zaWRlciBjYXNlIHdoZXJlIG5vZGUgaXMgaW5zaWRlIGEgc2hhZG93IERPTSBhbmQgZ2l2ZW4gZGlyZWN0bHkgdG9cbiAgICAvLyAgYGlzVGFiYmFibGUoKWAgb3IgYGlzRm9jdXNhYmxlKClgIC0tIHJlZ2FyZGxlc3Mgb2YgYGdldFNoYWRvd1Jvb3RgIG9wdGlvbiBzZXR0aW5nLlxuXG4gICAgaWYgKGlzTm9kZUF0dGFjaGVkKG5vZGUpKSB7XG4gICAgICAvLyB0aGlzIHdvcmtzIHdoZXJldmVyIHRoZSBub2RlIGlzOiBpZiB0aGVyZSdzIGF0IGxlYXN0IG9uZSBjbGllbnQgcmVjdCwgaXQnc1xuICAgICAgLy8gIHNvbWVob3cgZGlzcGxheWVkOyBpdCBhbHNvIGNvdmVycyB0aGUgQ1NTICdkaXNwbGF5OiBjb250ZW50cycgY2FzZSB3aGVyZSB0aGVcbiAgICAgIC8vICBub2RlIGl0c2VsZiBpcyBoaWRkZW4gaW4gcGxhY2Ugb2YgaXRzIGNvbnRlbnRzOyBhbmQgdGhlcmUncyBubyBuZWVkIHRvIHNlYXJjaFxuICAgICAgLy8gIHVwIHRoZSBoaWVyYXJjaHkgZWl0aGVyXG4gICAgICByZXR1cm4gIW5vZGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLy8gRWxzZSwgdGhlIG5vZGUgaXNuJ3QgYXR0YWNoZWQgdG8gdGhlIGRvY3VtZW50LCB3aGljaCBtZWFucyB0aGUgYGdldENsaWVudFJlY3RzKClgXG4gICAgLy8gIEFQSSB3aWxsIF9fYWx3YXlzX18gcmV0dXJuIHplcm8gcmVjdHMgKHRoaXMgY2FuIGhhcHBlbiwgZm9yIGV4YW1wbGUsIGlmIFJlYWN0XG4gICAgLy8gIGlzIHVzZWQgdG8gcmVuZGVyIG5vZGVzIG9udG8gYSBkZXRhY2hlZCB0cmVlLCBhcyBjb25maXJtZWQgaW4gdGhpcyB0aHJlYWQ6XG4gICAgLy8gIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvOTExNyNpc3N1ZWNvbW1lbnQtMjg0MjI4ODcwKVxuICAgIC8vXG4gICAgLy8gSXQgYWxzbyBtZWFucyB0aGF0IGV2ZW4gd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSkuZGlzcGxheSB3aWxsIHJldHVybiBgdW5kZWZpbmVkYFxuICAgIC8vICBiZWNhdXNlIHN0eWxlcyBhcmUgb25seSBjb21wdXRlZCBmb3Igbm9kZXMgdGhhdCBhcmUgaW4gdGhlIGRvY3VtZW50LlxuICAgIC8vXG4gICAgLy8gTk9URTogVEhJUyBIQVMgQkVFTiBUSEUgQ0FTRSBGT1IgWUVBUlMuIEl0IGlzIG5vdCBuZXcsIG5vciBpcyBpdCBjYXVzZWQgYnkgdGFiYmFibGVcbiAgICAvLyAgc29tZWhvdy4gVGhvdWdoIGl0IHdhcyBuZXZlciBzdGF0ZWQgb2ZmaWNpYWxseSwgYW55b25lIHdobyBoYXMgZXZlciB1c2VkIHRhYmJhYmxlXG4gICAgLy8gIEFQSXMgb24gbm9kZXMgaW4gZGV0YWNoZWQgY29udGFpbmVycyBoYXMgYWN0dWFsbHkgaW1wbGljaXRseSB1c2VkIHRhYmJhYmxlIGluIHdoYXRcbiAgICAvLyAgd2FzIGxhdGVyIChhcyBvZiB2NS4yLjAgb24gQXByIDksIDIwMjEpIGNhbGxlZCBgZGlzcGxheUNoZWNrPVwibm9uZVwiYCBtb2RlIC0tIGVzc2VudGlhbGx5XG4gICAgLy8gIGNvbnNpZGVyaW5nIF9fZXZlcnl0aGluZ19fIHRvIGJlIHZpc2libGUgYmVjYXVzZSBvZiB0aGUgaW5uYWJpbGl0eSB0byBkZXRlcm1pbmUgc3R5bGVzLlxuICAgIC8vXG4gICAgLy8gdjYuMC4wOiBBcyBvZiB0aGlzIG1ham9yIHJlbGVhc2UsIHRoZSBkZWZhdWx0ICdmdWxsJyBvcHRpb24gX19ubyBsb25nZXIgdHJlYXRzIGRldGFjaGVkXG4gICAgLy8gIG5vZGVzIGFzIHZpc2libGUgd2l0aCB0aGUgJ25vbmUnIGZhbGxiYWNrLl9fXG4gICAgaWYgKGRpc3BsYXlDaGVjayAhPT0gJ2xlZ2FjeS1mdWxsJykge1xuICAgICAgcmV0dXJuIHRydWU7IC8vIGhpZGRlblxuICAgIH1cbiAgICAvLyBlbHNlLCBmYWxsYmFjayB0byAnbm9uZScgbW9kZSBhbmQgY29uc2lkZXIgdGhlIG5vZGUgdmlzaWJsZVxuICB9IGVsc2UgaWYgKGRpc3BsYXlDaGVjayA9PT0gJ25vbi16ZXJvLWFyZWEnKSB7XG4gICAgLy8gTk9URTogRXZlbiB0aG91Z2ggdGhpcyB0ZXN0cyB0aGF0IHRoZSBub2RlJ3MgY2xpZW50IHJlY3QgaXMgbm9uLXplcm8gdG8gZGV0ZXJtaW5lXG4gICAgLy8gIHdoZXRoZXIgaXQncyBkaXNwbGF5ZWQsIGFuZCB0aGF0IGEgZGV0YWNoZWQgbm9kZSB3aWxsIF9fYWx3YXlzX18gaGF2ZSBhIHplcm8tYXJlYVxuICAgIC8vICBjbGllbnQgcmVjdCwgd2UgZG9uJ3Qgc3BlY2lhbC1jYXNlIGZvciB3aGV0aGVyIHRoZSBub2RlIGlzIGF0dGFjaGVkIG9yIG5vdC4gSW5cbiAgICAvLyAgdGhpcyBtb2RlLCB3ZSBkbyB3YW50IHRvIGNvbnNpZGVyIG5vZGVzIHRoYXQgaGF2ZSBhIHplcm8gYXJlYSB0byBiZSBoaWRkZW4gYXQgYWxsXG4gICAgLy8gIHRpbWVzLCBhbmQgdGhhdCBpbmNsdWRlcyBhdHRhY2hlZCBvciBub3QuXG4gICAgcmV0dXJuIGlzWmVyb0FyZWEobm9kZSk7XG4gIH1cblxuICAvLyB2aXNpYmxlLCBhcyBmYXIgYXMgd2UgY2FuIHRlbGwsIG9yIHBlciBjdXJyZW50IGBkaXNwbGF5Q2hlY2s9bm9uZWAgbW9kZSwgd2UgYXNzdW1lXG4gIC8vICBpdCdzIHZpc2libGVcbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLy8gZm9ybSBmaWVsZHMgKG5lc3RlZCkgaW5zaWRlIGEgZGlzYWJsZWQgZmllbGRzZXQgYXJlIG5vdCBmb2N1c2FibGUvdGFiYmFibGVcbi8vICB1bmxlc3MgdGhleSBhcmUgaW4gdGhlIF9maXJzdF8gPGxlZ2VuZD4gZWxlbWVudCBvZiB0aGUgdG9wLW1vc3QgZGlzYWJsZWRcbi8vICBmaWVsZHNldFxudmFyIGlzRGlzYWJsZWRGcm9tRmllbGRzZXQgPSBmdW5jdGlvbiBpc0Rpc2FibGVkRnJvbUZpZWxkc2V0KG5vZGUpIHtcbiAgaWYgKC9eKElOUFVUfEJVVFRPTnxTRUxFQ1R8VEVYVEFSRUEpJC8udGVzdChub2RlLnRhZ05hbWUpKSB7XG4gICAgdmFyIHBhcmVudE5vZGUgPSBub2RlLnBhcmVudEVsZW1lbnQ7XG4gICAgLy8gY2hlY2sgaWYgYG5vZGVgIGlzIGNvbnRhaW5lZCBpbiBhIGRpc2FibGVkIDxmaWVsZHNldD5cbiAgICB3aGlsZSAocGFyZW50Tm9kZSkge1xuICAgICAgaWYgKHBhcmVudE5vZGUudGFnTmFtZSA9PT0gJ0ZJRUxEU0VUJyAmJiBwYXJlbnROb2RlLmRpc2FibGVkKSB7XG4gICAgICAgIC8vIGxvb2sgZm9yIHRoZSBmaXJzdCA8bGVnZW5kPiBhbW9uZyB0aGUgY2hpbGRyZW4gb2YgdGhlIGRpc2FibGVkIDxmaWVsZHNldD5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJlbnROb2RlLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGNoaWxkID0gcGFyZW50Tm9kZS5jaGlsZHJlbi5pdGVtKGkpO1xuICAgICAgICAgIC8vIHdoZW4gdGhlIGZpcnN0IDxsZWdlbmQ+IChpbiBkb2N1bWVudCBvcmRlcikgaXMgZm91bmRcbiAgICAgICAgICBpZiAoY2hpbGQudGFnTmFtZSA9PT0gJ0xFR0VORCcpIHtcbiAgICAgICAgICAgIC8vIGlmIGl0cyBwYXJlbnQgPGZpZWxkc2V0PiBpcyBub3QgbmVzdGVkIGluIGFub3RoZXIgZGlzYWJsZWQgPGZpZWxkc2V0PixcbiAgICAgICAgICAgIC8vIHJldHVybiB3aGV0aGVyIGBub2RlYCBpcyBhIGRlc2NlbmRhbnQgb2YgaXRzIGZpcnN0IDxsZWdlbmQ+XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcy5jYWxsKHBhcmVudE5vZGUsICdmaWVsZHNldFtkaXNhYmxlZF0gKicpID8gdHJ1ZSA6ICFjaGlsZC5jb250YWlucyhub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGhlIGRpc2FibGVkIDxmaWVsZHNldD4gY29udGFpbmluZyBgbm9kZWAgaGFzIG5vIDxsZWdlbmQ+XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50RWxlbWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBlbHNlLCBub2RlJ3MgdGFiYmFibGUvZm9jdXNhYmxlIHN0YXRlIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgYSBmaWVsZHNldCdzXG4gIC8vICBlbmFibGVkL2Rpc2FibGVkIHN0YXRlXG4gIHJldHVybiBmYWxzZTtcbn07XG52YXIgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZSA9IGZ1bmN0aW9uIGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JGb2N1c2FibGUob3B0aW9ucywgbm9kZSkge1xuICBpZiAobm9kZS5kaXNhYmxlZCB8fFxuICAvLyB3ZSBtdXN0IGRvIGFuIGluZXJ0IGxvb2sgdXAgdG8gZmlsdGVyIG91dCBhbnkgZWxlbWVudHMgaW5zaWRlIGFuIGluZXJ0IGFuY2VzdG9yXG4gIC8vICBiZWNhdXNlIHdlJ3JlIGxpbWl0ZWQgaW4gdGhlIHR5cGUgb2Ygc2VsZWN0b3JzIHdlIGNhbiB1c2UgaW4gSlNEb20gKHNlZSByZWxhdGVkXG4gIC8vICBub3RlIHJlbGF0ZWQgdG8gYGNhbmRpZGF0ZVNlbGVjdG9yc2ApXG4gIGlzSW5lcnQobm9kZSkgfHwgaXNIaWRkZW5JbnB1dChub2RlKSB8fCBpc0hpZGRlbihub2RlLCBvcHRpb25zKSB8fFxuICAvLyBGb3IgYSBkZXRhaWxzIGVsZW1lbnQgd2l0aCBhIHN1bW1hcnksIHRoZSBzdW1tYXJ5IGVsZW1lbnQgZ2V0cyB0aGUgZm9jdXNcbiAgaXNEZXRhaWxzV2l0aFN1bW1hcnkobm9kZSkgfHwgaXNEaXNhYmxlZEZyb21GaWVsZHNldChub2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlID0gZnVuY3Rpb24gaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlKG9wdGlvbnMsIG5vZGUpIHtcbiAgaWYgKGlzTm9uVGFiYmFibGVSYWRpbyhub2RlKSB8fCBnZXRUYWJJbmRleChub2RlKSA8IDAgfHwgIWlzTm9kZU1hdGNoaW5nU2VsZWN0b3JGb2N1c2FibGUob3B0aW9ucywgbm9kZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xudmFyIGlzVmFsaWRTaGFkb3dSb290VGFiYmFibGUgPSBmdW5jdGlvbiBpc1ZhbGlkU2hhZG93Um9vdFRhYmJhYmxlKHNoYWRvd0hvc3ROb2RlKSB7XG4gIHZhciB0YWJJbmRleCA9IHBhcnNlSW50KHNoYWRvd0hvc3ROb2RlLmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSwgMTApO1xuICBpZiAoaXNOYU4odGFiSW5kZXgpIHx8IHRhYkluZGV4ID49IDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiBhIGN1c3RvbSBlbGVtZW50IGhhcyBhbiBleHBsaWNpdCBuZWdhdGl2ZSB0YWJpbmRleCxcbiAgLy8gYnJvd3NlcnMgd2lsbCBub3QgYWxsb3cgdGFiIHRhcmdldGluZyBzYWlkIGVsZW1lbnQncyBjaGlsZHJlbi5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBAcGFyYW0ge0FycmF5LjxFbGVtZW50fENhbmRpZGF0ZVNjb3BlPn0gY2FuZGlkYXRlc1xuICogQHJldHVybnMgRWxlbWVudFtdXG4gKi9cbnZhciBzb3J0QnlPcmRlciA9IGZ1bmN0aW9uIHNvcnRCeU9yZGVyKGNhbmRpZGF0ZXMpIHtcbiAgdmFyIHJlZ3VsYXJUYWJiYWJsZXMgPSBbXTtcbiAgdmFyIG9yZGVyZWRUYWJiYWJsZXMgPSBbXTtcbiAgY2FuZGlkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLCBpKSB7XG4gICAgdmFyIGlzU2NvcGUgPSAhIWl0ZW0uc2NvcGVQYXJlbnQ7XG4gICAgdmFyIGVsZW1lbnQgPSBpc1Njb3BlID8gaXRlbS5zY29wZVBhcmVudCA6IGl0ZW07XG4gICAgdmFyIGNhbmRpZGF0ZVRhYmluZGV4ID0gZ2V0U29ydE9yZGVyVGFiSW5kZXgoZWxlbWVudCwgaXNTY29wZSk7XG4gICAgdmFyIGVsZW1lbnRzID0gaXNTY29wZSA/IHNvcnRCeU9yZGVyKGl0ZW0uY2FuZGlkYXRlcykgOiBlbGVtZW50O1xuICAgIGlmIChjYW5kaWRhdGVUYWJpbmRleCA9PT0gMCkge1xuICAgICAgaXNTY29wZSA/IHJlZ3VsYXJUYWJiYWJsZXMucHVzaC5hcHBseShyZWd1bGFyVGFiYmFibGVzLCBlbGVtZW50cykgOiByZWd1bGFyVGFiYmFibGVzLnB1c2goZWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9yZGVyZWRUYWJiYWJsZXMucHVzaCh7XG4gICAgICAgIGRvY3VtZW50T3JkZXI6IGksXG4gICAgICAgIHRhYkluZGV4OiBjYW5kaWRhdGVUYWJpbmRleCxcbiAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgaXNTY29wZTogaXNTY29wZSxcbiAgICAgICAgY29udGVudDogZWxlbWVudHNcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBvcmRlcmVkVGFiYmFibGVzLnNvcnQoc29ydE9yZGVyZWRUYWJiYWJsZXMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBzb3J0YWJsZSkge1xuICAgIHNvcnRhYmxlLmlzU2NvcGUgPyBhY2MucHVzaC5hcHBseShhY2MsIHNvcnRhYmxlLmNvbnRlbnQpIDogYWNjLnB1c2goc29ydGFibGUuY29udGVudCk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgW10pLmNvbmNhdChyZWd1bGFyVGFiYmFibGVzKTtcbn07XG52YXIgdGFiYmFibGUgPSBmdW5jdGlvbiB0YWJiYWJsZShjb250YWluZXIsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIHZhciBjYW5kaWRhdGVzO1xuICBpZiAob3B0aW9ucy5nZXRTaGFkb3dSb290KSB7XG4gICAgY2FuZGlkYXRlcyA9IGdldENhbmRpZGF0ZXNJdGVyYXRpdmVseShbY29udGFpbmVyXSwgb3B0aW9ucy5pbmNsdWRlQ29udGFpbmVyLCB7XG4gICAgICBmaWx0ZXI6IGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JUYWJiYWJsZS5iaW5kKG51bGwsIG9wdGlvbnMpLFxuICAgICAgZmxhdHRlbjogZmFsc2UsXG4gICAgICBnZXRTaGFkb3dSb290OiBvcHRpb25zLmdldFNoYWRvd1Jvb3QsXG4gICAgICBzaGFkb3dSb290RmlsdGVyOiBpc1ZhbGlkU2hhZG93Um9vdFRhYmJhYmxlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY2FuZGlkYXRlcyA9IGdldENhbmRpZGF0ZXMoY29udGFpbmVyLCBvcHRpb25zLmluY2x1ZGVDb250YWluZXIsIGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JUYWJiYWJsZS5iaW5kKG51bGwsIG9wdGlvbnMpKTtcbiAgfVxuICByZXR1cm4gc29ydEJ5T3JkZXIoY2FuZGlkYXRlcyk7XG59O1xudmFyIGZvY3VzYWJsZSA9IGZ1bmN0aW9uIGZvY3VzYWJsZShjb250YWluZXIsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIHZhciBjYW5kaWRhdGVzO1xuICBpZiAob3B0aW9ucy5nZXRTaGFkb3dSb290KSB7XG4gICAgY2FuZGlkYXRlcyA9IGdldENhbmRpZGF0ZXNJdGVyYXRpdmVseShbY29udGFpbmVyXSwgb3B0aW9ucy5pbmNsdWRlQ29udGFpbmVyLCB7XG4gICAgICBmaWx0ZXI6IGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JGb2N1c2FibGUuYmluZChudWxsLCBvcHRpb25zKSxcbiAgICAgIGZsYXR0ZW46IHRydWUsXG4gICAgICBnZXRTaGFkb3dSb290OiBvcHRpb25zLmdldFNoYWRvd1Jvb3RcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjYW5kaWRhdGVzID0gZ2V0Q2FuZGlkYXRlcyhjb250YWluZXIsIG9wdGlvbnMuaW5jbHVkZUNvbnRhaW5lciwgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZS5iaW5kKG51bGwsIG9wdGlvbnMpKTtcbiAgfVxuICByZXR1cm4gY2FuZGlkYXRlcztcbn07XG52YXIgaXNUYWJiYWJsZSA9IGZ1bmN0aW9uIGlzVGFiYmFibGUobm9kZSwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgaWYgKCFub2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBub2RlIHByb3ZpZGVkJyk7XG4gIH1cbiAgaWYgKG1hdGNoZXMuY2FsbChub2RlLCBjYW5kaWRhdGVTZWxlY3RvcikgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBpc05vZGVNYXRjaGluZ1NlbGVjdG9yVGFiYmFibGUob3B0aW9ucywgbm9kZSk7XG59O1xudmFyIGZvY3VzYWJsZUNhbmRpZGF0ZVNlbGVjdG9yID0gLyogI19fUFVSRV9fICovY2FuZGlkYXRlU2VsZWN0b3JzLmNvbmNhdCgnaWZyYW1lJykuam9pbignLCcpO1xudmFyIGlzRm9jdXNhYmxlID0gZnVuY3Rpb24gaXNGb2N1c2FibGUobm9kZSwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgaWYgKCFub2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBub2RlIHByb3ZpZGVkJyk7XG4gIH1cbiAgaWYgKG1hdGNoZXMuY2FsbChub2RlLCBmb2N1c2FibGVDYW5kaWRhdGVTZWxlY3RvcikgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBpc05vZGVNYXRjaGluZ1NlbGVjdG9yRm9jdXNhYmxlKG9wdGlvbnMsIG5vZGUpO1xufTtcblxuZXhwb3J0IHsgZm9jdXNhYmxlLCBnZXRUYWJJbmRleCwgaXNGb2N1c2FibGUsIGlzVGFiYmFibGUsIHRhYmJhYmxlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5lc20uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/tabbable/dist/index.esm.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/act1.png":
/*!*****************************!*\
!*** ./src/images/act1.png ***!
\*****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/act1.42297fa8.png\",\"height\":769,\"width\":950,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fact1.42297fa8.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":6});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYWN0MS5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsNExBQTRMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYWN0MS5wbmc/Yzg5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYWN0MS40MjI5N2ZhOC5wbmdcIixcImhlaWdodFwiOjc2OSxcIndpZHRoXCI6OTUwLFwiYmx1ckRhdGFVUkxcIjpcIi9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRmFjdDEuNDIyOTdmYTgucG5nJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjZ9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/act1.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/act2.png":
/*!*****************************!*\
!*** ./src/images/act2.png ***!
\*****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/act2.4b9f1132.png\",\"height\":769,\"width\":950,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fact2.4b9f1132.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":6});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYWN0Mi5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsNExBQTRMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYWN0Mi5wbmc/NzA1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYWN0Mi40YjlmMTEzMi5wbmdcIixcImhlaWdodFwiOjc2OSxcIndpZHRoXCI6OTUwLFwiYmx1ckRhdGFVUkxcIjpcIi9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRmFjdDIuNGI5ZjExMzIucG5nJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjZ9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/act2.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/act3.png":
/*!*****************************!*\
!*** ./src/images/act3.png ***!
\*****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/act3.c6e86186.png\",\"height\":769,\"width\":950,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fact3.c6e86186.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":6});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYWN0My5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsNExBQTRMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYWN0My5wbmc/MTg5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYWN0My5jNmU4NjE4Ni5wbmdcIixcImhlaWdodFwiOjc2OSxcIndpZHRoXCI6OTUwLFwiYmx1ckRhdGFVUkxcIjpcIi9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRmFjdDMuYzZlODYxODYucG5nJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjZ9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/act3.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/avatars/avatar-1.png":
/*!*****************************************!*\
!*** ./src/images/avatars/avatar-1.png ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/avatar-1.c78616b7.png\",\"height\":112,\"width\":112,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Favatar-1.c78616b7.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMS5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsb01BQW9NIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMS5wbmc/OTQ4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYXZhdGFyLTEuYzc4NjE2YjcucG5nXCIsXCJoZWlnaHRcIjoxMTIsXCJ3aWR0aFwiOjExMixcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhdmF0YXItMS5jNzg2MTZiNy5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/avatar-1.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/avatars/avatar-2.png":
/*!*****************************************!*\
!*** ./src/images/avatars/avatar-2.png ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/avatar-2.c72e5a40.png\",\"height\":112,\"width\":112,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Favatar-2.c72e5a40.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMi5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsb01BQW9NIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMi5wbmc/MjA1NyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYXZhdGFyLTIuYzcyZTVhNDAucG5nXCIsXCJoZWlnaHRcIjoxMTIsXCJ3aWR0aFwiOjExMixcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhdmF0YXItMi5jNzJlNWE0MC5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/avatar-2.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/avatars/avatar-3.png":
/*!*****************************************!*\
!*** ./src/images/avatars/avatar-3.png ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/avatar-3.eaa9ef6f.png\",\"height\":112,\"width\":112,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Favatar-3.eaa9ef6f.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMy5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsb01BQW9NIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItMy5wbmc/ZTQwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYXZhdGFyLTMuZWFhOWVmNmYucG5nXCIsXCJoZWlnaHRcIjoxMTIsXCJ3aWR0aFwiOjExMixcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhdmF0YXItMy5lYWE5ZWY2Zi5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/avatar-3.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/avatars/avatar-4.png":
/*!*****************************************!*\
!*** ./src/images/avatars/avatar-4.png ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/avatar-4.16b4e29e.png\",\"height\":112,\"width\":112,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Favatar-4.16b4e29e.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItNC5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsb01BQW9NIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItNC5wbmc/NzhiYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYXZhdGFyLTQuMTZiNGUyOWUucG5nXCIsXCJoZWlnaHRcIjoxMTIsXCJ3aWR0aFwiOjExMixcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhdmF0YXItNC4xNmI0ZTI5ZS5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/avatar-4.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/avatars/avatar-5.png":
/*!*****************************************!*\
!*** ./src/images/avatars/avatar-5.png ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/avatar-5.e7f7faf2.png\",\"height\":112,\"width\":112,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Favatar-5.e7f7faf2.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItNS5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsb01BQW9NIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYXZhdGFycy9hdmF0YXItNS5wbmc/MTA0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYXZhdGFyLTUuZTdmN2ZhZjIucG5nXCIsXCJoZWlnaHRcIjoxMTIsXCJ3aWR0aFwiOjExMixcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZhdmF0YXItNS5lN2Y3ZmFmMi5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/avatars/avatar-5.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/background-call-to-action.jpg":
/*!**************************************************!*\
!*** ./src/images/background-call-to-action.jpg ***!
\**************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background-call-to-action.c015e16f.jpg\",\"height\":2488,\"width\":4694,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-call-to-action.c015e16f.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbi5qcGciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsd09BQXdPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbi5qcGc/ZDE3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbi5jMDE1ZTE2Zi5qcGdcIixcImhlaWdodFwiOjI0ODgsXCJ3aWR0aFwiOjQ2OTQsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbi5jMDE1ZTE2Zi5qcGcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-call-to-action.jpg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/background-call-to-action2.png":
/*!***************************************************!*\
!*** ./src/images/background-call-to-action2.png ***!
\***************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background-call-to-action2.d9f87ea8.png\",\"height\":2488,\"width\":4694,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-call-to-action2.d9f87ea8.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbjIucG5nIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLDBPQUEwTyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtY2FsbC10by1hY3Rpb24yLnBuZz84YmMzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9iYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uMi5kOWY4N2VhOC5wbmdcIixcImhlaWdodFwiOjI0ODgsXCJ3aWR0aFwiOjQ2OTQsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbjIuZDlmODdlYTgucG5nJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-call-to-action2.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/background-call-to-action4.png":
/*!***************************************************!*\
!*** ./src/images/background-call-to-action4.png ***!
\***************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background-call-to-action4.f1074346.png\",\"height\":564,\"width\":1440,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-call-to-action4.f1074346.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":3});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbjQucG5nIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLHlPQUF5TyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtY2FsbC10by1hY3Rpb240LnBuZz9mZjViIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9iYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uNC5mMTA3NDM0Ni5wbmdcIixcImhlaWdodFwiOjU2NCxcIndpZHRoXCI6MTQ0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZiYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uNC5mMTA3NDM0Ni5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6M307Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-call-to-action4.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/background-faqs.jpg":
/*!****************************************!*\
!*** ./src/images/background-faqs.jpg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/background-faqs.55d2e36a.jpg\",\"height\":1892,\"width\":3116,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground-faqs.55d2e36a.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":5});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1mYXFzLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxvTkFBb04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLWZhcXMuanBnPzAxYmQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhY2tncm91bmQtZmFxcy41NWQyZTM2YS5qcGdcIixcImhlaWdodFwiOjE4OTIsXCJ3aWR0aFwiOjMxMTYsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGYmFja2dyb3VuZC1mYXFzLjU1ZDJlMzZhLmpwZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo1fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-faqs.jpg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/dahabiyas/veda1.jpg":
/*!****************************************!*\
!*** ./src/images/dahabiyas/veda1.jpg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/veda1.3bc26d7d.jpg\",\"height\":295,\"width\":525,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fveda1.3bc26d7d.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGExLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyw4TEFBOEwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9kYWhhYml5YXMvdmVkYTEuanBnPzE4ODAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3ZlZGExLjNiYzI2ZDdkLmpwZ1wiLFwiaGVpZ2h0XCI6Mjk1LFwid2lkdGhcIjo1MjUsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGdmVkYTEuM2JjMjZkN2QuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/dahabiyas/veda1.jpg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/dahabiyas/veda2.jpg":
/*!****************************************!*\
!*** ./src/images/dahabiyas/veda2.jpg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/veda2.d6a4a301.jpg\",\"height\":295,\"width\":525,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fveda2.d6a4a301.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGEyLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyw4TEFBOEwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9kYWhhYml5YXMvdmVkYTIuanBnPzVlMWYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3ZlZGEyLmQ2YTRhMzAxLmpwZ1wiLFwiaGVpZ2h0XCI6Mjk1LFwid2lkdGhcIjo1MjUsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGdmVkYTIuZDZhNGEzMDEuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/dahabiyas/veda2.jpg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/dahabiyas/veda3.jpg":
/*!****************************************!*\
!*** ./src/images/dahabiyas/veda3.jpg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/veda3.deca791e.jpg\",\"height\":295,\"width\":525,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fveda3.deca791e.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGEzLmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyw4TEFBOEwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9kYWhhYml5YXMvdmVkYTMuanBnPzllOGEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3ZlZGEzLmRlY2E3OTFlLmpwZ1wiLFwiaGVpZ2h0XCI6Mjk1LFwid2lkdGhcIjo1MjUsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGdmVkYTMuZGVjYTc5MWUuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/dahabiyas/veda3.jpg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/dahabiyas/veda4.jpg":
/*!****************************************!*\
!*** ./src/images/dahabiyas/veda4.jpg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/veda4.153182c1.jpg\",\"height\":295,\"width\":525,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fveda4.153182c1.jpg&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":4});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvZGFoYWJpeWFzL3ZlZGE0LmpwZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyw4TEFBOEwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9kYWhhYml5YXMvdmVkYTQuanBnPzE1YzUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3ZlZGE0LjE1MzE4MmMxLmpwZ1wiLFwiaGVpZ2h0XCI6Mjk1LFwid2lkdGhcIjo1MjUsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGdmVkYTQuMTUzMTgyYzEuanBnJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjR9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/dahabiyas/veda4.jpg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/1.svg":
/*!********************************!*\
!*** ./src/images/logos/1.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/1.c1dd8c88.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvMS5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ0dBQWdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvMS5zdmc/YTBkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvMS5jMWRkOGM4OC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/1.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/2.svg":
/*!********************************!*\
!*** ./src/images/logos/2.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/2.61fe5d45.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvMi5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ0dBQWdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvMi5zdmc/ZTNmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvMi42MWZlNWQ0NS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/2.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/3.svg":
/*!********************************!*\
!*** ./src/images/logos/3.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/3.27cdc0c2.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvMy5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ0dBQWdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvMy5zdmc/ZGM0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvMy4yN2NkYzBjMi5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/3.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/4.svg":
/*!********************************!*\
!*** ./src/images/logos/4.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/4.f84323cb.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvNC5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ0dBQWdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvNC5zdmc/MWNkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvNC5mODQzMjNjYi5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/4.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/5.svg":
/*!********************************!*\
!*** ./src/images/logos/5.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/5.b17316e3.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvNS5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ0dBQWdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvNS5zdmc/MjBkYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvNS5iMTczMTZlMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/5.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/6.svg":
/*!********************************!*\
!*** ./src/images/logos/6.svg ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/6.e4517726.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvNi5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsZ0dBQWdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvNi5zdmc/N2ZjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvNi5lNDUxNzcyNi5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/6.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/laravel.svg":
/*!**************************************!*\
!*** ./src/images/logos/laravel.svg ***!
\**************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/laravel.7deed17e.svg\",\"height\":48,\"width\":136,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvbGFyYXZlbC5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsc0dBQXNHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvbGFyYXZlbC5zdmc/ZmJiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvbGFyYXZlbC43ZGVlZDE3ZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMzYsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/laravel.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/logo_name.svg":
/*!****************************************!*\
!*** ./src/images/logos/logo_name.svg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/logo_name.9eb5fb93.svg\",\"height\":45,\"width\":100,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvbG9nb19uYW1lLnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyx3R0FBd0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9sb2dvX25hbWUuc3ZnP2Q5NDQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2xvZ29fbmFtZS45ZWI1ZmI5My5zdmdcIixcImhlaWdodFwiOjQ1LFwid2lkdGhcIjoxMDAsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/logo_name.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/mirage.svg":
/*!*************************************!*\
!*** ./src/images/logos/mirage.svg ***!
\*************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/mirage.18d2ec4e.svg\",\"height\":48,\"width\":138,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvbWlyYWdlLnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxxR0FBcUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9taXJhZ2Uuc3ZnP2YwODgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL21pcmFnZS4xOGQyZWM0ZS5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMzgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/mirage.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/statamic.svg":
/*!***************************************!*\
!*** ./src/images/logos/statamic.svg ***!
\***************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/statamic.6da5ebfb.svg\",\"height\":48,\"width\":147,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGFtaWMuc3ZnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLHVHQUF1RyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2xvZ29zL3N0YXRhbWljLnN2Zz85NTdlIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9zdGF0YW1pYy42ZGE1ZWJmYi5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNDcsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/statamic.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/statickit.svg":
/*!****************************************!*\
!*** ./src/images/logos/statickit.svg ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/statickit.d7937794.svg\",\"height\":48,\"width\":127,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3Mvc3RhdGlja2l0LnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyx3R0FBd0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9sb2dvcy9zdGF0aWNraXQuc3ZnP2QyMDAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3N0YXRpY2tpdC5kNzkzNzc5NC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMjcsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/statickit.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/transistor.svg":
/*!*****************************************!*\
!*** ./src/images/logos/transistor.svg ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/transistor.7274e6c3.svg\",\"height\":48,\"width\":158,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMseUdBQXlHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvdHJhbnNpc3Rvci5zdmc/MDhjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdHJhbnNpc3Rvci43Mjc0ZTZjMy5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxNTgsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/transistor.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/tuple.svg":
/*!************************************!*\
!*** ./src/images/logos/tuple.svg ***!
\************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/tuple.74eb0ae0.svg\",\"height\":48,\"width\":105,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdHVwbGUuc3ZnIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLG9HQUFvRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2xvZ29zL3R1cGxlLnN2Zz8xYTJkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS90dXBsZS43NGViMGFlMC5zdmdcIixcImhlaWdodFwiOjQ4LFwid2lkdGhcIjoxMDUsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/tuple.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/logos/veda.svg":
/*!***********************************!*\
!*** ./src/images/logos/veda.svg ***!
\***********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/veda.62d707fd.svg\",\"height\":150,\"width\":150,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdmVkYS5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsb0dBQW9HIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvdmVkYS5zdmc/ZWM2YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdmVkYS42MmQ3MDdmZC5zdmdcIixcImhlaWdodFwiOjE1MCxcIndpZHRoXCI6MTUwLFwiYmx1cldpZHRoXCI6MCxcImJsdXJIZWlnaHRcIjowfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/veda.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/newfeatures0.png":
/*!*************************************!*\
!*** ./src/images/newfeatures0.png ***!
\*************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/newfeatures0.da45213f.png\",\"height\":1100,\"width\":1100,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fnewfeatures0.da45213f.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbmV3ZmVhdHVyZXMwLnBuZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyw4TUFBOE0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9uZXdmZWF0dXJlczAucG5nP2U4NmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL25ld2ZlYXR1cmVzMC5kYTQ1MjEzZi5wbmdcIixcImhlaWdodFwiOjExMDAsXCJ3aWR0aFwiOjExMDAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGbmV3ZmVhdHVyZXMwLmRhNDUyMTNmLnBuZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/newfeatures0.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/images/newfeatures3.png":
/*!*************************************!*\
!*** ./src/images/newfeatures3.png ***!
\*************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\"src\":\"/_next/static/media/newfeatures3.f677537c.png\",\"height\":1100,\"width\":1100,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fnewfeatures3.f677537c.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbmV3ZmVhdHVyZXMzLnBuZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyw4TUFBOE0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2ltYWdlcy9uZXdmZWF0dXJlczMucG5nPzMwMjIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL25ld2ZlYXR1cmVzMy5mNjc3NTM3Yy5wbmdcIixcImhlaWdodFwiOjExMDAsXCJ3aWR0aFwiOjExMDAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGbmV3ZmVhdHVyZXMzLmY2Nzc1MzdjLnBuZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/newfeatures3.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/add-locale.js":
/*!*****************************************************!*\
!*** ./node_modules/next/dist/client/add-locale.js ***!
\*****************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FHYUE7OztlQUFBQTs7O29EQUY4QjtBQUVwQyxNQUFNQSxZQUF1QixTQUFDQyxJQUFBQTtxQ0FBU0MsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsSUFBQUEsT0FBQUEsSUFBQUEsSUFBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7UUFBQUEsSUFBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O0lBQzVDLElBQUlDLEtBQStCLEVBQUUsRUFJckM7SUFDQSxPQUFPRjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L2FkZC1sb2NhbGUudHM/ZmFhZSJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/client/get-domain-locale.js ***!
\************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBT2dCQTs7O2VBQUFBOzs7b0RBSjJCO0FBRTNDLE1BQU1DLFdBQVdDLE1BQW1DLElBQWU7QUFFNUQsU0FBU0YsZ0JBQ2RLLElBQVksRUFDWkMsTUFBdUIsRUFDdkJDLE9BQWtCLEVBQ2xCQyxhQUE4QjtJQUU5QixJQUFJTixLQUErQixFQUFFLEVBZ0JyQyxNQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUudHM/MWQ0ZSJdLCJuYW1lcyI6WyJnZXREb21haW5Mb2NhbGUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJyZXF1aXJlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/image-component.js":
/*!**********************************************************!*\
!*** ./node_modules/next/dist/client/image-component.js ***!
\**********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]};\nif (typeof window === \"undefined\") {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!sizesInput || sizesInput === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n if (Boolean(_react.use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n sizesInput: props.sizes,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\nvar _c;\n$RefreshReg$(_c, \"ImagePreload\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OzsrRUFhaUI7cURBQ1dBLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7eUNBWU87O3lDQUVWQSxtQkFBQUEsQ0FBQTs7O0FBTXpCLE1BQUFDLGVBQUEsY0FBQUMseUJBQTRDSCxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO0FBQzVDLDRDQUE4Qkc7QUFFOUIsTUFBSUMsWUFBT0MsME5BQXdCO0lBQy9CRSxPQUFBQSxXQUFtQkMsYUFBQUE7SUFDdkJELFdBQUFDLHFCQUFBO0FBbUJBO0FBQ0EsMEVBQWlEO0FBQ2pELGlEQUdFQztTQU1BQyxjQUFZQyxHQUFBQSxFQUFBQSxXQUFBQSxFQUFBQSxTQUFRLEVBQUFDLG9CQUFBLEVBQUFDLGVBQUEsRUFBQUMsV0FBQSxFQUFBQyxVQUFBO0lBQ3BCLE1BQUtKLE1BQU9BLE9BQUksZ0JBQWtCQSxJQUFLSyxHQUFBQTtRQUNyQyxDQUFBTCxPQUFBQSxHQUFBLHdCQUFBSyxLQUFBO1FBQ0Y7SUFDQUw7SUFDQUEsR0FBQSxtQkFBc0JBLEdBQUFBO0lBQ3RCTSxNQUFFQyxJQUFNLFlBQWVQLE1BQUFBLElBQUFRLE1BQUEsS0FBQUMsUUFBQUMsT0FBQTtXQUNyQixDQUFJLEtBQUtDLEdBQUFBLElBQUFBLENBQUFBO1lBQ1AsQ0FBQVgsSUFBQVcsYUFBQSxLQUFBWCxJQUFBWSxXQUFBLEVBQXdDO1lBQ3hDLHdDQUF1QjtZQUN2QjtZQUNBLHNDQUFzQjtZQUN0QjtZQUNBO1lBQ0Y7UUFDQTtZQUNFVixnQkFBZ0I7WUFDbEJBLGdCQUFBO1FBQ0E7WUFDRUosYUFBQSxnQkFBQUEsVUFBQWUsT0FBQSxFQUErQztZQUMvQywrQ0FBMEM7WUFDMUM7WUFDQSwyQ0FBd0I7WUFDeEJDLE1BQUFBLFFBQU9DLElBQUFBLE1BQWVDO21CQUFtQkMsY0FBVSxDQUFBRCxPQUFBO2dCQUFP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QStELGNBQUE7Z0JBQ2pCM0gsR0FBQUEsYUFBYW9IO2dCQUNiOUMsYUFBYThDLFFBQVE5QyxXQUFXO2dCQUNoQ3NELGFBQU1SLFFBQVk5QyxXQUFBO2dCQUNsQjNFLE1BQUFBLFFBQVdBLElBQUFBO2dCQUNYRyxXQUFBQTtnQkFDQUMsc0JBQWlCQTtnQkFDakJ5RSxpQkFBZ0JBO2dCQUNoQnZFLGdCQUFZdUg7Z0JBQ1p4RCxZQUFLRSxNQUFBQSxLQUFBQTs7WUFHUmtEO29CQUVHbEMsUUFBQUEsR0FBYUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsY0FBQUE7Z0JBQ2JQLGFBQUFBOytCQUVBQTs7O0lBR1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaW1hZ2UtY29tcG9uZW50LnRzeD81MWUxIl0sIm5hbWVzIjpbIl8iLCJyZXF1aXJlIiwiX2ltYWdlbG9hZGVyIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwiX19ORVhUX0lNQUdFX09QVFMiLCJjb25maWdFbnYiLCJ3aW5kb3ciLCJlbnYiLCJnbG9iYWxUaGlzIiwiX19ORVhUX0lNQUdFX0lNUE9SVEVEIiwib25Mb2FkUmVmIiwiaGFuZGxlTG9hZGluZyIsImltZyIsIm9uTG9hZGluZ0NvbXBsZXRlUmVmIiwic2V0Qmx1ckNvbXBsZXRlIiwidW5vcHRpbWl6ZWQiLCJzaXplc0lucHV0Iiwic3JjIiwicCIsImNhdGNoIiwiZGVjb2RlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwYXJlbnRFbGVtZW50IiwiaXNDb25uZWN0ZWQiLCJjdXJyZW50IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJldmVudCIsIndyaXRhYmxlIiwidmFsdWUiLCJzdG9wcGVkIiwibmF0aXZlRXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiaXNEZWZhdWx0UHJldmVudGVkIiwiaXNQcm9wYWdhdGlvblN0b3BwZWQiLCJwcmV2ZW50ZWQiLCJwZXJzaXN0IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcm9jZXNzIiwiZ2V0QXR0cmlidXRlIiwiVVJMIiwic2VhcmNoUGFyYW1zIiwiZ2V0Iiwid2lkdGhWaWV3cG9ydFJhdGlvIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJpbm5lcldpZHRoIiwid2Fybk9uY2UiLCJfd2Fybm9uY2UiLCJvcmlnU3JjIiwidmFsaWQiLCJnZXRDb21wdXRlZFN0eWxlIiwicG9zaXRpb24iLCJtYXAiLCJTdHJpbmciLCJqb2luIiwid2lkdGhNb2RpZmllZCIsInRvU3RyaW5nIiwiaGVpZ2h0TW9kaWZpZWQiLCJCb29sZWFuIiwidXNlIiwiX3JlYWN0IiwiZmV0Y2hQcmlvcml0eSIsImZldGNocHJpb3JpdHkiLCJoZWlnaHQiLCJkZWNvZGluZyIsImNsYXNzTmFtZSIsInN0eWxlIiwic3JjU2V0Iiwic2l6ZXMiLCJyZXN0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJnZXREeW5hbWljUHJvcHMiLCJsb2FkaW5nIiwiZGF0YS1uaW1nIiwicmVmIiwidXNlQ2FsbGJhY2siLCJmb3J3YXJkZWRSZWYiLCJvbkVycm9yIiwiY29uc29sZSIsImVycm9yIiwicGxhY2Vob2xkZXIiLCJvbkxvYWQiLCJzZXRTaG93QWx0VGV4dCIsIkltYWdlUHJlbG9hZCIsInBhcmFtIiwiaW1nQXR0cmlidXRlcyIsIm9wdHMiLCJhcyIsImltYWdlU3JjU2V0IiwiaW1hZ2VTaXplcyIsImNyb3NzT3JpZ2luIiwicmVmZXJyZXJQb2xpY3kiLCJpc0FwcFJvdXRlciIsIl9yZWFjdGRvbSIsImRlZmF1bHQiLCJwcmVsb2FkIiwiUmVhY3RET00iLCJfaGVhZCIsImxpbmsiLCJyZWwiLCJocmVmIiwidW5kZWZpbmVkIiwiSW1hZ2UiLCJ1c2VDb250ZXh0IiwicGFnZXNSb3V0ZXIiLCJSb3V0ZXJDb250ZXh0IiwiX3JvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiY29uZmlnQ29udGV4dCIsImNvbmZpZyIsInVzZU1lbW8iLCJfaW1hZ2Vjb25maWdjb250ZXh0c2hhcmVkcnVudGltZSIsIkltYWdlQ29uZmlnQ29udGV4dCIsImFsbFNpemVzIiwiX2ltYWdlY29uZmlnIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiZGV2aWNlU2l6ZXMiLCJjIiwiYSIsImIiLCJzb3J0IiwidXNlUmVmIiwidXNlRWZmZWN0Iiwib25Mb2FkaW5nQ29tcGxldGUiLCJzaG93QWx0VGV4dCIsInVzZVN0YXRlIiwibWV0YSIsImltZ01ldGEiLCJnZXRJbWdQcm9wcyIsImRlZmF1bHRMb2FkZXIiLCJfZ2V0aW1ncHJvcHMiLCJwcm9wcyIsImltZ0NvbmYiLCJibHVyQ29tcGxldGUiLCJJbWFnZUVsZW1lbnQiLCJmaWxsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/image-component.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/link.js":
/*!***********************************************!*\
!*** ./node_modules/next/dist/client/link.js ***!
\***********************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (typeof window === \"undefined\") {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const doPrefetch = async ()=>{\n if (isAppRouter) {\n // note that `appRouter.prefetch()` is currently sync,\n // so we have to wrap this call in an async function to be able to catch() errors below.\n return router.prefetch(href, appOptions);\n } else {\n return router.prefetch(href, as, options);\n }\n };\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n doPrefetch().catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browsers default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7NkJBUzRCQSx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FDRDt3Q0FDRDt1Q0FDSTs7Ozt1Q0FRRUEsbUJBQUFBLENBQUE7NkNBQ0E7NkNBQ0o7O0FBMkY1QixNQUFNQyxzQkFBaUJDLG1CQUFBQSxDQUFBQSwrSkFBQUE7QUFVdkIsTUFBQUQsYUFDRUUsSUFBQUE7U0FPSUMsU0FBT0MsTUFBQUEsRUFBV0MsSUFBQSxFQUFBQyxFQUFBLEVBQUFDLE9BQWEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBO1FBQ2pDLE9BQUFMLFdBQUE7UUFDRjtJQUVBO0lBQ0EsZ0pBQXVDO1FBQ3JDLENBQUFLLGVBQUEsS0FBQUMsWUFBQUMsVUFBQSxFQUFBTixPQUFBO1FBQ0Y7SUFFQTtJQUNBLDRFQUFZO0lBQ1osWUFBS0U7UUFDSCxDQUFBQSxRQUFNSyxxQkFDSjtRQUNBLE1BQUFBLFNBT0YsT0FBTUMsUUFBQUEsTUFBQUEsS0FBZ0JSLGNBQWtCRSxRQUFNSyxNQUFBQSxHQUFBQSxZQUFBQSxTQUFBQSxPQUFBQSxNQUFBQSxHQUFBQTtRQUU5QyxNQUFBQyxnQkFBQVIsT0FBQSxNQUFBQyxLQUFBLE1BQUFNO1FBQ0Esa0VBQW1DO1lBQ2pDWixXQUFBYyxHQUFBLENBQUFELGdCQUFBO1lBQ0Y7UUFFQTtRQUNBYiwrQkFBZWE7UUFDakJiLFdBQUFlLEdBQUEsQ0FBQUY7SUFFQTtVQUNFRyxhQUFJUDtZQUNGQSxhQUFBO1lBQ0E7WUFDQSx3RkFBb0REO1lBQ3RELE9BQU9OLE9BQUFDLFFBQUEsQ0FBQUUsTUFBQUc7ZUFDTDtZQUNGLE9BQUFOLE9BQUFDLFFBQUEsQ0FBQUUsTUFBQUMsSUFBQUM7UUFDRjtJQUVBO0lBQ0E7SUFDQSwwREFBc0Q7SUFDdEQ7SUFDQVMseURBQW9CQztpQkFDZEMsS0FBUUMsQ0FBRyxDQUFDQztZ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Y0FBQTVGLE9BQUFDLE9BQUEsQ0FBQTRGLFlBQUEsQ0FBQXJDLE9BQUF3QixjQUFBLGtCQUFBYyxZQUFBQyxHQUFBO1FBQUcsR0FBR2YsU0FBQUE7cUJBQ25CekU7O0lBR1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvbGluay50c3g/YWNmMCJdLCJuYW1lcyI6WyJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfIiwicmVxdWlyZSIsInByZWZldGNoZWQiLCJTZXQiLCJyb3V0ZXIiLCJwcmVmZXRjaCIsIndpbmRvdyIsImhyZWYiLCJhcyIsIm9wdGlvbnMiLCJhcHBPcHRpb25zIiwiaXNBcHBSb3V0ZXIiLCJfaXNsb2NhbHVybCIsImlzTG9jYWxVUkwiLCJsb2NhbGUiLCJwcmVmZXRjaGVkS2V5IiwiaGFzIiwiYWRkIiwiZG9QcmVmZXRjaCIsImVyciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTW9kaWZpZWRFdmVudCIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImV2ZW50VGFyZ2V0IiwibmF0aXZlRXZlbnQiLCJ3aGljaCIsIm1ldGFLZXkiLCJjdHJsS2V5Iiwic2hpZnRLZXkiLCJhbHRLZXkiLCJsaW5rQ2xpY2tlZCIsImUiLCJyZXBsYWNlIiwic2hhbGxvdyIsInNjcm9sbCIsIm5vZGVOYW1lIiwiaXNBbmNob3JOb2RlTmFtZSIsInByZXZlbnREZWZhdWx0IiwibmF2aWdhdGUiLCJyb3V0ZXJTY3JvbGwiLCJSZWFjdCIsIl9yZWFjdCIsImRlZmF1bHQiLCJzdGFydFRyYW5zaXRpb24iLCJmb3JtYXRTdHJpbmdPclVybCIsInVybE9iak9yU3RyaW5nIiwiX2Zvcm1hdHVybCIsImZvcm1hdFVybCIsImNoaWxkcmVuIiwiY2hpbGRyZW5Qcm9wIiwibGVnYWN5QmVoYXZpb3IiLCJhIiwiYXBwUm91dGVyIiwidXNlQ29udGV4dCIsIkFwcFJvdXRlckNvbnRleHQiLCJwYWdlc1JvdXRlciIsInByZWZldGNoRW5hYmxlZCIsInByZWZldGNoUHJvcCIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJQcmVmZXRjaEtpbmQiLCJBVVRPIiwiRlVMTCIsImFyZ3MiLCJjcmVhdGVQcm9wRXJyb3IiLCJFcnJvciIsImtleSIsImV4cGVjdGVkIiwiYWN0dWFsIiwicmVxdWlyZWRQcm9wcyIsIk9iamVjdCIsInByb3BzIiwicGFzc0hyZWYiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwib25Ub3VjaFN0YXJ0Iiwib3B0aW9uYWxQcm9wcyIsInZhbFR5cGUiLCJoYXNXYXJuZWQiLCJjdXJyZW50IiwiY29uc29sZSIsIndhcm4iLCJhc1Byb3AiLCJocmVmUHJvcCIsInBhdGhuYW1lIiwiaGFzRHluYW1pY1NlZ21lbnQiLCJzcGxpdCIsInNvbWUiLCJzZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwidXNlTWVtbyIsInJlc29sdmVkSHJlZiIsInJlc29sdmVkQXMiLCJfcmVzb2x2ZWhyZWYiLCJyZXNvbHZlSHJlZiIsInByZXZpb3VzQXMiLCJ1c2VSZWYiLCJjaGlsZCIsIkNoaWxkcmVuIiwib25seSIsInR5cGUiLCJjaGlsZFJlZiIsInNldEludGVyc2VjdGlvblJlZiIsImlzVmlzaWJsZSIsInJlc2V0VmlzaWJsZSIsInVzZUludGVyc2VjdGlvbiIsInJvb3RNYXJnaW4iLCJfdXNlaW50ZXJzZWN0aW9uIiwic2V0UmVmIiwidXNlQ2FsbGJhY2siLCJlbCIsInByZXZpb3VzSHJlZiIsInVzZUVmZmVjdCIsImFwcFByZWZldGNoS2luZCIsInJlZiIsImRlZmF1bHRQcmV2ZW50ZWQiLCJvbk1vdXNlRW50ZXJQcm9wIiwicHJpb3JpdHkiLCJieXBhc3NQcmVmZXRjaGVkQ2hlY2siLCJvblRvdWNoU3RhcnRQcm9wIiwidW5kZWZpbmVkIiwiY2hpbGRQcm9wcyIsImN1ckxvY2FsZSIsImlzTG9jYWxlRG9tYWluIiwibG9jYWxlRG9tYWluIiwiYWRkQmFzZVBhdGgiLCJhZGRMb2NhbGUiLCJfZ2V0ZG9tYWlubG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX2FkZGJhc2VwYXRoIiwiX2FkZGxvY2FsZSIsInJlc3RQcm9wcyIsImNsb25lRWxlbWVudCIsIl9qc3hydW50aW1lIiwianN4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/link.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js":
/*!****************************************************************!*\
!*** ./node_modules/next/dist/client/request-idle-callback.js ***!
\****************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n },\n requestIdleCallback: function() {\n return requestIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQmFBLG9CQUFrQjtlQUFsQkE7O0lBaEJBQyxxQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxPQUFRQyxTQUFTLGVBQ2ZBLEtBQUtELG1CQUFtQixJQUN4QkMsS0FBS0QsbUJBQW1CLENBQUNFLElBQUksQ0FBQ0MsV0FDaEMsU0FBVUMsRUFBdUI7SUFDL0IsSUFBSUMsUUFBUUMsS0FBS0MsR0FBRztJQUNwQixPQUFPTixLQUFLTyxVQUFVLENBQUM7UUFDckJKLEdBQUc7WUFDREssWUFBWTtZQUNaQyxlQUFlO2dCQUNiLE9BQU9DLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLEtBQU1OLENBQUFBLEtBQUtDLEdBQUcsS0FBS0YsS0FBQUE7WUFDeEM7UUFDRjtJQUNGLEdBQUc7QUFDTDtBQUVLLE1BQU1OLHFCQUNYLE9BQVFFLFNBQVMsZUFDZkEsS0FBS0Ysa0JBQWtCLElBQ3ZCRSxLQUFLRixrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDQyxXQUMvQixTQUFVVSxFQUFVO0lBQ2xCLE9BQU9DLGFBQWFEO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay50cz8wNWY0Il0sIm5hbWVzIjpbImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js":
/*!*******************************************************!*\
!*** ./node_modules/next/dist/client/resolve-href.js ***!
\*******************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQXlCZ0JBOzs7ZUFBQUE7Ozt5Q0F2QnVCO3VDQUNGO2tDQUNoQjttQ0FDb0I7b0RBQ0U7d0NBQ2hCO29DQUNJOzJDQUNEO0FBZ0J2QixTQUFTQSxZQUNkQyxNQUFrQixFQUNsQkMsSUFBUyxFQUNUQyxTQUFtQjtJQUVuQiw0Q0FBNEM7SUFDNUMsSUFBSUM7SUFDSixJQUFJQyxjQUFjLE9BQU9ILFNBQVMsV0FBV0EsT0FBT0ksQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUNKO0lBRXpFLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFDdkJGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUN6Q047SUFFSixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBRS9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJSixLQUFLLENBQUMsY0FBYztRQUMxQ00sUUFBUUMsS0FBSyxDQUNYLG1CQUFpQlYsY0FBWSx1Q0FBb0NKLE9BQU9lLFFBQVEsR0FBQztRQUVuRixNQUFNQyxnQkFBZ0JDLENBQUFBLEdBQUFBLE9BQUFBLHdCQUF3QixFQUFDVDtRQUMvQ0osY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsTUFBTVU7SUFDMUQ7SUFFQSwyREFBMkQ7SUFDM0QsSUFBSSxDQUFDRSxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNkLGNBQWM7UUFDNUIsT0FBUUYsWUFBWTtZQUFDRTtTQUFZLEdBQUdBO0lBQ3RDO0lBRUEsSUFBSTtRQUNGRCxPQUFPLElBQUlnQixJQUNUZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUM3RDtJQUVKLEVBQUUsT0FBT08sR0FBRztRQUNWLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN0QjtJQUVBLElBQUk7UUFDRixNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSx3QkFBQUEsMEJBQTBCLEVBQUNELFNBQVNSLFFBQVE7UUFDaEUsSUFBSVUsaUJBQWlCO1FBRXJCLElBQ0VDLENBQUFBLEdBQUFBLFFBQUFBLGNBQWMsRUFBQ0gsU0FBU1IsUUFBUSxLQUNoQ1EsU0FBU0ksWUFBWSxJQUNyQnpCLFdBQ0E7WUFDQSxNQUFNMEIsUUFBUUMsQ0FBQUEsR0FBQUEsYUFBQUEsc0JBQXNCLEVBQUNOLFNBQVNJLFlBQVk7WUFFMUQsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFhLEVBQ3RDVCxTQUFTUixRQUFRLEVBQ2pCUSxTQUFTUixRQUFRLEVBQ2pCYTtZQUdGLElBQUlFLFFBQVE7Z0JBQ1ZMLGlCQUFpQnBCLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFvQixFQUFDO29CQUNwQ1UsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPTSxDQUFBQSxHQUFBQSxNQUFBQSxJQUFJLEVBQUNOLE9BQU9HO2dCQUNyQjtZQUNGO1FBQ0Y7UUFFQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFDSlosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FDM0JiLFNBQVN0QixJQUFJLENBQUNRLEtBQUssQ0FBQ2MsU0FBU2EsTUFBTSxDQUFDMUIsTUFBTSxJQUMxQ2EsU0FBU3RCLElBQUk7UUFFbkIsT0FBT0MsWUFDSDtZQUFDaUM7WUFBY1Ysa0JBQWtCVTtTQUFhLEdBQzlDQTtJQUNOLEVBQUUsT0FBT2IsR0FBRztRQUNWLE9BQU9wQixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDckM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9yZXNvbHZlLWhyZWYudHM/ZTZkMiJdLCJuYW1lcyI6WyJyZXNvbHZlSHJlZiIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/resolve-href.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js":
/*!***********************************************************!*\
!*** ./node_modules/next/dist/client/use-intersection.js ***!
\***********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OzttREErRmdCQTs7O2VBQUFBOzs7bUNBL0Z5QztpREFJbEQ7QUFxQlAsTUFBTUMsMEJBQTBCLE9BQU9DLHlCQUF5QjtBQUVoRSxNQUFNQyxZQUFZLElBQUlDO0FBQ3RCLE1BQU1DLFNBQXVCLEVBQUU7QUFFL0IsU0FBU0MsZUFBZUMsT0FBb0M7SUFDMUQsTUFBTUMsS0FBSztRQUNUQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNoQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FDMUIsQ0FBQ0MsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtJQUUzRCxJQUFJSztJQUVKLElBQUlILFVBQVU7UUFDWkcsV0FBV1osVUFBVWEsR0FBRyxDQUFDSjtRQUN6QixJQUFJRyxVQUFVO1lBQ1osT0FBT0E7UUFDVDtJQUNGO0lBRUEsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCO1FBQ3pDQSxRQUFRQyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixNQUFNQyxXQUFXTCxTQUFTRCxHQUFHLENBQUNLLE1BQU1FLE1BQU07WUFDMUMsTUFBTUMsWUFBWUgsTUFBTUksY0FBYyxJQUFJSixNQUFNSyxpQkFBaUIsR0FBRztZQUNwRSxJQUFJSixZQUFZRSxXQUFXO2dCQUN6QkYsU0FBU0U7WUFDWDtRQUNGO0lBQ0YsR0FBR2pCO0lBQ0hRLFdBQVc7UUFDVFA7UUFDQVU7UUFDQUQ7SUFDRjtJQUVBWixPQUFPc0IsSUFBSSxDQUFDbkI7SUFDWkwsVUFBVXlCLEdBQUcsQ0FBQ3BCLElBQUlPO0lBQ2xCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTYyxRQUNQQyxPQUFnQixFQUNoQlIsUUFBeUIsRUFDekJmLE9BQW9DO0lBRXBDLE1BQU0sRUFBRUMsRUFBRSxFQUFFVSxRQUFRLEVBQUVELFFBQVEsRUFBRSxHQUFHWCxlQUFlQztJQUNsRFUsU0FBU1csR0FBRyxDQUFDRSxTQUFTUjtJQUV0QkosU0FBU1csT0FBTyxDQUFDQztJQUNqQixPQUFPLFNBQVNDO1FBQ2RkLFNBQVNlLE1BQU0sQ0FBQ0Y7UUFDaEJaLFNBQVNhLFNBQVMsQ0FBQ0Q7UUFFbkIsdURBQXVEO1FBQ3ZELElBQUliLFNBQVNnQixJQUFJLEtBQUssR0FBRztZQUN2QmYsU0FBU2dCLFVBQVU7WUFDbkIvQixVQUFVNkIsTUFBTSxDQUFDeEI7WUFDakIsTUFBTTJCLFFBQVE5QixPQUFPK0IsU0FBUyxDQUM1QixDQUFDdEIsTUFBUUEsSUFBSUwsSUFBSSxLQUFLRCxHQUFHQyxJQUFJLElBQUlLLElBQUlKLE1BQU0sS0FBS0YsR0FBR0UsTUFBTTtZQUUzRCxJQUFJeUIsUUFBUSxDQUFDLEdBQUc7Z0JBQ2Q5QixPQUFPZ0MsTUFBTSxDQUFDRixPQUFPO1lBQ3ZCO1FBQ0Y7SUFDRjtBQUNGO0FBRU8sU0FBU25DLGdCQUFtQ3NDLEtBSWpDO0lBSmlDLE1BQ2pEQyxPQUFPLEVBQ1A1QixVQUFVLEVBQ1Y2QixRQUFRLEVBQ1EsR0FKaUNGO0lBS2pELE1BQU1HLGFBQXNCRCxZQUFZLENBQUN2QztJQUV6QyxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBQztJQUN2QyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFNLEVBQVc7SUFDcEMsTUFBTUMsYUFBYUMsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDLENBQUNsQjtRQUM5QmUsV0FBV0ksT0FBTyxHQUFHbkI7SUFDdkIsR0FBRyxFQUFFO0lBRUxvQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFTLEVBQUM7UUFDUixJQUFJakQseUJBQXlCO1lBQzNCLElBQUl3QyxjQUFjQyxTQUFTO1lBRTNCLE1BQU1aLFVBQVVlLFdBQVdJLE9BQU87WUFDbEMsSUFBSW5CLFdBQVdBLFFBQVFxQixPQUFPLEVBQUU7Z0JBQzlCLE1BQU1wQixZQUFZRixRQUNoQkMsU0FDQSxDQUFDTixZQUFjQSxhQUFhbUIsV0FBV25CLFlBQ3ZDO29CQUFFZixNQUFNOEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1UsT0FBTztvQkFBRXRDO2dCQUFXO2dCQUd2QyxPQUFPb0I7WUFDVDtRQUNGLE9BQU87WUFDTCxJQUFJLENBQUNXLFNBQVM7Z0JBQ1osTUFBTVUsZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDLElBQU1WLFdBQVc7Z0JBQzFELE9BQU8sSUFBTVcsQ0FBQUEsR0FBQUEscUJBQUFBLGtCQUFrQixFQUFDRjtZQUNsQztRQUNGO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1g7UUFBWTlCO1FBQVk0QjtRQUFTRztRQUFTRyxXQUFXSSxPQUFPO0tBQUM7SUFFakUsTUFBTU0sZUFBZVAsQ0FBQUEsR0FBQUEsT0FBQUEsV0FBVyxFQUFDO1FBQy9CTCxXQUFXO0lBQ2IsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFDSTtRQUFZTDtRQUFTYTtLQUFhO0FBQzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24udHN4PzU3ZWUiXSwibmFtZXMiOlsidXNlSW50ZXJzZWN0aW9uIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIm9ic2VydmVycyIsIk1hcCIsImlkTGlzdCIsImNyZWF0ZU9ic2VydmVyIiwib3B0aW9ucyIsImlkIiwicm9vdCIsIm1hcmdpbiIsInJvb3RNYXJnaW4iLCJleGlzdGluZyIsImZpbmQiLCJvYmoiLCJpbnN0YW5jZSIsImdldCIsImVsZW1lbnRzIiwib2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImVudHJ5IiwiY2FsbGJhY2siLCJ0YXJnZXQiLCJpc1Zpc2libGUiLCJpc0ludGVyc2VjdGluZyIsImludGVyc2VjdGlvblJhdGlvIiwicHVzaCIsInNldCIsIm9ic2VydmUiLCJlbGVtZW50IiwidW5vYnNlcnZlIiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsInBhcmFtIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/use-intersection.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js":
/*!*************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***!
\*************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGdCQUFnQkksV0FBVyxHQUFHO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS50cz85NjQxIl0sIm5hbWVzIjpbIkFtcFN0YXRlQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js":
/*!*******************************************************!*\
!*** ./node_modules/next/dist/shared/lib/amp-mode.js ***!
\*******************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWUMsS0FBQTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkJILFVBQUEsU0FJeEIsQ0FBQyxJQUp1QkE7SUFLMUIsT0FBT0MsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***!
\************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzIiwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTs7Ozs7c0RBSTFEQTs7O2VBQUFBOzs7QUFIaEIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxrQkFBa0I7QUFFakIsU0FBU0YsbUJBQW1CRyxHQUFXO0lBQzVDLCtHQUErRztJQUMvRyxJQUFJRixZQUFZRyxJQUFJLENBQUNELE1BQU07UUFDekIsT0FBT0EsSUFBSUUsT0FBTyxDQUFDSCxpQkFBaUI7SUFDdEM7SUFDQSxPQUFPQztBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLnRzP2RjYjEiXSwibmFtZXMiOlsiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/get-img-props.js ***!
\************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n if (typeof defaultLoader === \"undefined\") {\n throw new Error(\"images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config\");\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (typeof window !== \"undefined\" && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var _entry_element;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (_entry_element = entry.element) == null ? void 0 : _entry_element.src) || \"\";\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder === \"empty\" && !lcpImage.src.startsWith(\"data:\") && !lcpImage.src.startsWith(\"blob:\")) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnonce.warnOnce)('Image with src \"' + lcpImage.src + '\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.' + \"\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority\");\n }\n }\n });\n try {\n perfObserver.observe({\n type: \"largest-contentful-paint\",\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (typeof window !== \"undefined\") {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBMk9nQkE7OztlQUFBQTs7O3NDQTNPUzswQ0FDTzt5Q0FDRztBQTZFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBa0J6RCxTQUFTQyxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBT0EsSUFBdUJDLE9BQU8sS0FBS0g7QUFDNUM7QUFFQSxTQUFTSSxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBT0EsSUFBeUJBLEdBQUcsS0FBS0Y7QUFDMUM7QUFFQSxTQUFTSyxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLE9BQU9BLFFBQVEsWUFDZEQsQ0FBQUEsZ0JBQWdCQyxRQUNmRSxrQkFBa0JGLElBQUFBO0FBRXhCO0FBRUEsTUFBTUksVUFBVSxJQUFJQztBQUlwQixJQUFJQztBQUVKLFNBQVNDLE9BQU9DLENBQVU7SUFDeEIsSUFBSSxPQUFPQSxNQUFNLGFBQWE7UUFDNUIsT0FBT0E7SUFDVDtJQUNBLElBQUksT0FBT0EsTUFBTSxVQUFVO1FBQ3pCLE9BQU9DLE9BQU9DLFFBQVEsQ0FBQ0YsS0FBS0EsSUFBSUc7SUFDbEM7SUFDQSxJQUFJLE9BQU9ILE1BQU0sWUFBWSxXQUFXSSxJQUFJLENBQUNKLElBQUk7UUFDL0MsT0FBT0ssU0FBU0wsR0FBRztJQUNyQjtJQUNBLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTRyxVQUNQQyxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFlLEdBQXRDSjtJQUlBLElBQUlFLE9BQU87UUFDVCx5REFBeUQ7UUFDekQsTUFBTUcsa0JBQWtCO1FBQ3hCLE1BQU1DLGVBQWUsRUFBRTtRQUN2QixJQUFLLElBQUlDLE9BQVFBLFFBQVFGLGdCQUFnQkcsSUFBSSxDQUFDTixRQUFTSyxNQUFPO1lBQzVERCxhQUFhRyxJ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QUFPMEU7UUFDUGpELFNBQVM4RDtRQUNUdEY7UUFDQXlCO0lBQ0Y7SUFFQSxJQUFJOEQsSUFBeUIsRUFBYztRQUN6QyxJQUFJLE9BQU9rQixXQUFXLGFBQWE7WUFDakMsSUFBSTRCO1lBQ0osSUFBSTtnQkFDRkEsVUFBVSxJQUFJcEMsSUFBSW1DLGNBQWNySixHQUFHO1lBQ3JDLEVBQUUsT0FBT3VKLEdBQUc7Z0JBQ1ZELFVBQVUsSUFBSXBDLElBQUltQyxjQUFjckosR0FBRyxFQUFFMEgsT0FBTzhCLFFBQVEsQ0FBQ0MsSUFBSTtZQUMzRDtZQUNBckosUUFBUXNKLEdBQUcsQ0FBQ0osUUFBUUcsSUFBSSxFQUFFO2dCQUFFeko7Z0JBQUtnRDtnQkFBVVM7WUFBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTWtHLFFBQWtCO1FBQ3RCLEdBQUcxRixJQUFJO1FBQ1BoQixTQUFTa0QsU0FBUyxTQUFTbEQ7UUFDM0JVO1FBQ0EzQyxPQUFPMEU7UUFDUHZDLFFBQVF3QztRQUNSaUUsVUFBVTtRQUNWMUc7UUFDQUcsT0FBTztZQUFFLEdBQUdtRixRQUFRO1lBQUUsR0FBR1MsZ0JBQWdCO1FBQUM7UUFDMUNoSSxPQUFPb0ksY0FBY3BJLEtBQUs7UUFDMUIwQixRQUFRMEcsY0FBYzFHLE1BQU07UUFDNUIzQyxLQUFLc0QsZUFBZStGLGNBQWNySixHQUFHO0lBQ3ZDO0lBQ0EsTUFBTTZKLE9BQU87UUFBRXJIO1FBQWFRO1FBQVVTO1FBQWFMO0lBQUs7SUFDeEQsT0FBTztRQUFFdUc7UUFBT0U7SUFBSztBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy50cz9lYzkxIl0sIm5hbWVzIjpbImdldEltZ1Byb3BzIiwiVkFMSURfTE9BRElOR19WQUxVRVMiLCJ1bmRlZmluZWQiLCJpc1N0YXRpY1JlcXVpcmUiLCJzcmMiLCJkZWZhdWx0IiwiaXNTdGF0aWNJbWFnZURhdGEiLCJpc1N0YXRpY0ltcG9ydCIsImFsbEltZ3MiLCJNYXAiLCJwZXJmT2JzZXJ2ZXIiLCJnZXRJbnQiLCJ4IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJOYU4iLCJ0ZXN0IiwicGFyc2VJbnQiLCJnZXRXaWR0aHMiLCJwYXJhbSIsIndpZHRoIiwic2l6ZXMiLCJkZXZpY2VTaXplcyIsImFsbFNpemVzIiwidmlld3BvcnRXaWR0aFJlIiwicGVyY2VudFNpemVzIiwibWF0Y2giLCJleGVjIiwicHVzaCIsImxlbmd0aCIsInNtYWxsZXN0UmF0aW8iLCJNYXRoIiwibWluIiwid2lkdGhzIiwiZmlsdGVyIiwicyIsImtpbmQiLCJTZXQiLCJtYXAiLCJ3IiwiZmluZCIsInAiLCJnZW5lcmF0ZUltZ0F0dHJzIiwiY29uZmlnIiwidW5vcHRpbWl6ZWQiLCJxdWFsaXR5IiwibG9hZGVyIiwic3JjU2V0IiwibGFzdCIsImkiLCJqb2luIiwiX3N0YXRlIiwicHJpb3JpdHkiLCJsb2FkaW5nIiwiY2xhc3NOYW1lIiwiaGVpZ2h0IiwiZmlsbCIsInN0eWxlIiwib3ZlcnJpZGVTcmMiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwibGF5b3V0Iiwib2JqZWN0Rml0Iiwib2JqZWN0UG9zaXRpb24iLCJsYXp5Qm91bmRhcnkiLCJsYXp5Um9vdCIsInJlc3QiLCJpbWdDb25mIiwic2hvd0FsdFRleHQiLCJibHVyQ29tcGxldGUiLCJkZWZhdWx0TG9hZGVyIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImltYWdlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJFcnJvciIsImlzRGVmYXVsdExvYWRlciIsImN1c3RvbUltYWdlTG9hZGVyIiwib2JqIiwiXyIsIm9wdHMiLCJsYXlvdXRUb1N0eWxlIiwiaW50cmluc2ljIiwibWF4V2lkdGgiLCJyZXNwb25zaXZlIiwibGF5b3V0VG9TaXplcyIsImxheW91dFN0eWxlIiwibGF5b3V0U2l6ZXMiLCJzdGF0aWNTcmMiLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJzdGF0aWNJbWFnZURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmF0aW8iLCJyb3VuZCIsImlzTGF6eSIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJwYXRobmFtZSIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJpbWdTcmMiLCJlbGVtZW50IiwibGNwSW1hZ2UiLCJnZXQiLCJvYnNlcnZlIiwidHlwZSIsImJ1ZmZlcmVkIiwiY29uc29sZSIsImVycm9yIiwiaW1nU3R5bGUiLCJhc3NpZ24iLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJjb2xvciIsImJhY2tncm91bmRJbWFnZSIsImdldEltYWdlQmx1clN2ZyIsInBsYWNlaG9sZGVyU3R5bGUiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRSZXBlYXQiLCJpbWdBdHRyaWJ1dGVzIiwiZnVsbFVybCIsImUiLCJsb2NhdGlvbiIsImhyZWYiLCJzZXQiLCJwcm9wcyIsImRlY29kaW5nIiwibWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js":
/*!***************************************************!*\
!*** ./node_modules/next/dist/shared/lib/head.js ***!
\***************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBcU1BQSxTQUFtQjs7O0lBeExIQztpQkFBQUE7Ozs7Ozs7OzJEQVRnQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7eUNBRUpBLG1CQUFBQSxDQUFBOztBQU9yQixNQUFBQyxZQUFTSCxtQkFBQUEsQ0FBWUkscUdBQUFBO1NBQUFBLFlBQUFBLFNBQUFBO0lBQzFCLElBQUFBLGNBQWEsUUFBQUEsWUFBQTs7bUJBQU9DLEdBQVEsSUFBQUMsWUFBQUMsR0FBQTs7UUFBVztLQUN2QztRQUNFQyxDQUFBQSxXQUFTO2FBQU9DLElBQUFBLENBQUssa0JBQUFILFlBQUFDLEdBQUE7WUFBV0csTUFBQUE7O1FBQ2xDO0lBQ0E7SUFDRixPQUFBRjtBQUVBO1NBSUVHLGlCQUFBQyxJQUFBLEVBQUFDLEtBQUE7SUFDQSw4RkFBNEQ7UUFDMUQsT0FBT0QsVUFBQUEsWUFBQUEsT0FBQUEsVUFBQUEsVUFBQUE7UUFDVCxPQUFBQTtJQUNBO0lBQ0Esa0NBQXlCRTtRQUN2QkQsTUFBQUUsSUFBT0gsS0FBS0ksT0FDVkMsT0FBQSxDQUFBSCxRQUFBO1FBQ0FJLE9BQUFBLEtBQUFBLE1BQU1DLENBRUpDLE9BQ0VDLE9BQUFBLENBQ0FDLFFBQUFBLENBQUFBLE9BQUFBLENBQUFBLE1BQUFBLEtBQUFBLENBQUFBLFFBQUFBLEVBQUFBLE1BQUFBLGdCQUdTQTtnQkFHUCxPQUFPRCxrQkFBQUEsWUFBQUEsT0FBQUEsa0JBQUFBLFVBQUFBO2dCQUNULE9BQUFBO1lBQ0E7WUFFRixPQUFFQSxhQUFBTCxNQUFBLENBQUFNO1FBR1I7SUFDQTtJQUNGLE9BQUFWLEtBQUFJLE1BQUEsQ0FBQUg7QUFFQTtNQUFtQlUsWUFBQTtJQUFRO0lBQWE7SUFBVztJQUFXO0NBRTlEOzs7OztZQU1RQztJQUNOLE1BQU1DLE9BQU8sSUFBSUM7SUFDakIsTUFB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QSxDQUNFLEdBQUF6QyxPQUFBd0MsVUFBQSxFQUFDRyxpQ0FBTUQsa0JBQUE7V0FDTEUsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBeUJDLEdBQUFBLEVBQUFBLFlBQUFBLE9BQUFBLEVBQUFBO1FBQ3pCSix5QkFBYUE7UUFDYnpELGFBQVc4RDttQkFFVlQsQ0FBQUEsR0FBQUEsU0FBQUEsV0FBQUEsRUFBQUE7O0lBR1A7O0tBWmdCQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGVhZC50c3g/MzY3MCJdLCJuYW1lcyI6WyJleHBvcnRzIiwiZGVmYXVsdEhlYWQiLCJfIiwicmVxdWlyZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImNoYXJTZXQiLCJfanN4cnVudGltZSIsImpzeCIsImhlYWQiLCJuYW1lIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJGcmFnbWVudCIsInR5cGUiLCJjb25jYXQiLCJkZWZhdWx0IiwiUmVhY3QiLCJDaGlsZHJlbiIsIl9yZWFjdCIsImZyYWdtZW50TGlzdCIsImZyYWdtZW50Q2hpbGQiLCJNRVRBVFlQRVMiLCJrZXlzIiwidGFncyIsIlNldCIsIm1ldGFUeXBlcyIsIm1ldGFDYXRlZ29yaWVzIiwiaCIsImlzVW5pcXVlIiwiaGFzS2V5Iiwia2V5IiwiaW5kZXhPZiIsImFkZCIsImkiLCJtZXRhdHlwZSIsImxlbiIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcmllcyIsImhhcyIsImNhdGVnb3J5IiwicHJvcHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImMiLCJfX05FWFRfT1BUSU1JWkVfRk9OVFMiLCJzb21lIiwidXJsIiwibmV3UHJvcHMiLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiY2xvbmVFbGVtZW50Iiwic3JjTWVzc2FnZSIsIndhcm5PbmNlIiwiY2hpbGRyZW4iLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiRWZmZWN0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJyZWR1Y2VDb21wb25lbnRzIiwiaXNJbkFtcE1vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js":
/*!*************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***!
\*************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzttREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0JBQWdCQyxLQWMvQjtJQWQrQixNQUM5QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFNBQVMsRUFRVixHQWQrQk47SUFlOUIsTUFBTU8sTUFBTTtJQUNaLE1BQU1DLFdBQVdMLFlBQVlBLFlBQVksS0FBS0Y7SUFDOUMsTUFBTVEsWUFBWUwsYUFBYUEsYUFBYSxLQUFLRjtJQUVqRCxNQUFNUSxVQUNKRixZQUFZQyxZQUFZLGtCQUFnQkQsV0FBUyxNQUFHQyxZQUFVLE1BQUs7SUFDckUsTUFBTUUsc0JBQXNCRCxVQUN4QixTQUNBSixjQUFjLFlBQ2QsYUFDQUEsY0FBYyxVQUNkLG1CQUNBO0lBRUosT0FBTywrQ0FBNkNJLFVBQVEsOEZBQTJGSCxNQUFJLG9RQUFpUUEsTUFBSSxnR0FBNkZJLHNCQUFvQix3Q0FBcUNOLGNBQVk7QUFDcGtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js":
/*!**********************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***!
\**********************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUlhQTs7O2VBQUFBOzs7OzRFQUpLO3lDQUVpQjtBQUU1QixNQUFNQSxxQkFDWEMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQXNCQyxhQUFBQSxrQkFBa0I7QUFFN0QsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0osbUJBQW1CSyxXQUFXLEdBQUc7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzNkNzUiXSwibmFtZXMiOlsiSW1hZ2VDb25maWdDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiaW1hZ2VDb25maWdEZWZhdWx0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js":
/*!***********************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-config.js ***!
\***********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLGVBQWE7ZUFBYkE7O0lBc0dBQyxvQkFBa0I7ZUFBbEJBOzs7QUF0R04sTUFBTUQsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQWdHTSxNQUFNQyxxQkFBMEM7SUFDckRDLGFBQWE7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUs7SUFDMURDLFlBQVk7UUFBQztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSztRQUFLO0tBQUk7SUFDL0NDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUFDO0tBQWE7SUFDdkJDLHFCQUFxQjtJQUNyQkMsdUJBQXdCO0lBQ3hCQyx3QkFBd0I7SUFDeEJDLGdCQUFnQixFQUFFO0lBQ2xCQyxhQUFhO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwicmVtb3RlUGF0dGVybnMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js":
/*!*************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-external.js ***!
\*************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ0FBLFNBQW9CO2VBQXBCQzs7SUFqQmdCQyxlQUFhO2VBQWJBOzs7O3lDQWJZOzRDQUNOO2tGQUdJO0FBU25CLFNBQVNBLGNBQWNDLFFBQW9CO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0YsVUFBVTtRQUN0Q0csZUFBQUEsYUFBQUEsT0FBYTtRQUNiLDRDQUE0QztRQUM1Q0MsU0FBU0MsME5BQTZCO0lBQ3hDO0lBQ0EsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSx3REFBd0Q7SUFDeEQsS0FBSyxNQUFNLENBQUNHLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDVixPQUFRO1FBQ2hELElBQUlRLFVBQVVHLFdBQVc7WUFDdkIsT0FBT1gsS0FBSyxDQUFDTyxJQUEwQjtRQUN6QztJQUNGO0lBQ0EsT0FBTztRQUFFUDtJQUFNO0FBQ2pCO01BRUFILFdBQWVlLGdCQUFBQSxLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC50c3g/MzgyNiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js":
/*!***********************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-loader.js ***!
\***********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F3RUE7OztlQUFBQTs7O0FBdEVBLFNBQVNDLGNBQWNDLEtBS007SUFMTixNQUNyQkMsTUFBTSxFQUNOQyxHQUFHLEVBQ0hDLEtBQUssRUFDTEMsT0FBTyxFQUNvQixHQUxOSjtJQU1yQixJQUFJSyxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLGdCQUFnQixFQUFFO1FBRXhCLHlEQUF5RDtRQUN6RCxJQUFJLENBQUNKLEtBQUtJLGNBQWNDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUNKLE9BQU9HLGNBQWNDLElBQUksQ0FBQztRQUUvQixJQUFJRCxjQUFjRSxNQUFNLEdBQUcsR0FBRztZQUM1QixNQUFNLElBQUlDLE1BQ1Isc0NBQW9DSCxjQUFjSSxJQUFJLENBQ3BELFFBQ0EsZ0dBQStGQyxLQUFLQyxTQUFTLENBQzdHO2dCQUFFVjtnQkFBS0M7Z0JBQU9DO1lBQVE7UUFHNUI7UUFFQSxJQUFJRixJQUFJVyxVQUFVLENBQUMsT0FBTztZQUN4QixNQUFNLElBQUlKLE1BQ1IsMEJBQXdCUCxNQUFJO1FBRWhDO1FBRUEsSUFBSSxDQUFDQSxJQUFJVyxVQUFVLENBQUMsUUFBU1osQ0FBQUEsT0FBT2EsT0FBTyxJQUFJYixPQUFPYyxjQUFjLEdBQUc7WUFDckUsSUFBSUM7WUFDSixJQUFJO2dCQUNGQSxZQUFZLElBQUlDLElBQUlmO1lBQ3RCLEVBQUUsT0FBT2dCLEtBQUs7Z0JBQ1pDLFFBQVFDLEtBQUssQ0FBQ0Y7Z0JBQ2QsTUFBTSxJQUFJVCxNQUNSLDBCQUF3QlAsTUFBSTtZQUVoQztZQUVBLElBQ0VHLElBRTZCLEVBQzdCO2dCQUNBLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFa0IsUUFBUSxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO2dCQUM3QixJQUFJLENBQUNELFNBQVN0QixPQUFPYSxPQUFPLEVBQUViLE9BQU9jLGNBQWMsRUFBRUMsWUFBWTtvQkFDL0QsTUFBTSxJQUFJUCxNQUNSLHVCQUFxQlAsTUFBSSxrQ0FBaUNjLFVBQVVTLFFBQVEsR0FBQyxnRUFDMUU7Z0JBRVA7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPeEIsT0FBVXlCLElBQUksR0FBQyxVQUFPQyxtQkFBbUJ6QixPQUFLLFFBQUtDLFFBQU0sUUFDOURDLENBQUFBLFdBQVcsTUFFWEMsQ0FBQUEsTUFBOEIsR0FDMUIsQ0FBc0MsR0FDdEM7QUFFUjtBQUVBLCtEQUErRDtBQUMvRCwyREFBMkQ7QUFDM0ROLGNBQWM4QixrQkFBa0IsR0FBRztNQUVuQy9CLFdBQWVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTWF0Y2giLCJyZXF1aXJlIiwiaG9zdG5hbWUiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js":
/*!*******************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***!
\*******************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hasMatch: function() {\n return hasMatch;\n },\n matchRemotePattern: function() {\n return matchRemotePattern;\n }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _picomatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _picomatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\", {\n dot: true\n }).test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ2dCQSxVQUFRO2VBQVJBOztJQTlCQUMsb0JBQWtCO2VBQWxCQTs7O3VDQUZPO0FBRWhCLFNBQVNBLG1CQUFtQkMsT0FBc0IsRUFBRUMsR0FBUTtJQUNqRSxJQUFJRCxRQUFRRSxRQUFRLEtBQUtDLFdBQVc7UUFDbEMsTUFBTUMsY0FBY0gsSUFBSUMsUUFBUSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUlMLFFBQVFFLFFBQVEsS0FBS0UsYUFBYTtZQUNwQyxPQUFPO1FBQ1Q7SUFDRjtJQUNBLElBQUlKLFFBQVFNLElBQUksS0FBS0gsV0FBVztRQUM5QixJQUFJSCxRQUFRTSxJQUFJLEtBQUtMLElBQUlLLElBQUksRUFBRTtZQUM3QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlOLFFBQVFPLFFBQVEsS0FBS0osV0FBVztRQUNsQyxNQUFNLElBQUlLLE1BQ1IsK0NBQTZDQyxLQUFLQyxTQUFTLENBQUNWO0lBRWhFLE9BQU87UUFDTCxJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsUUFBUU8sUUFBUSxFQUFFSyxJQUFJLENBQUNYLElBQUlNLFFBQVEsR0FBRztZQUNoRCxPQUFPO1FBQ1Q7SUFDRjtRQUVZUDtJQUFaLElBQUksQ0FBQ1csQ0FBQUEsR0FBQUEsV0FBQUEsTUFBTSxFQUFDWCxDQUFBQSxvQkFBQUEsUUFBUWEsUUFBUSxZQUFoQmIsb0JBQW9CLE1BQU07UUFBRWMsS0FBSztJQUFLLEdBQUdGLElBQUksQ0FBQ1gsSUFBSVksUUFBUSxHQUFHO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVNmLFNBQ2RpQixPQUFpQixFQUNqQkMsY0FBK0IsRUFDL0JmLEdBQVE7SUFFUixPQUNFYyxRQUFRRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV2pCLElBQUlNLFFBQVEsS0FBS1csV0FDMUNGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFNcEIsbUJBQW1Cb0IsR0FBR2xCO0FBRXJEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc01hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js":
/*!****************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***!
\****************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js":
/*!**********************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***!
\**********************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/next/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFDdkMsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBQ2hFLHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEUsNEVBQTRFO0FBQzVFLHFFQUFxRTtBQUNyRSx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSw2REFBNkQ7QUFDN0QsNEVBQTRFO0FBQzVFLDJFQUEyRTtBQUMzRSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBQzVFLHlDQUF5Qzs7Ozs7Ozs7Ozs7OztJQVF6QkEsV0FBUztlQUFUQTs7SUE2REFDLHNCQUFvQjtlQUFwQkE7O0lBZkhDLGVBQWE7ZUFBYkE7Ozs7bUZBbERnQjtBQUU3QixNQUFNQyxtQkFBbUI7QUFFbEIsU0FBU0gsVUFBVUksTUFBaUI7SUFDekMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHRjtJQUN6QixJQUFJRyxXQUFXSCxPQUFPRyxRQUFRLElBQUk7SUFDbEMsSUFBSUMsV0FBV0osT0FBT0ksUUFBUSxJQUFJO0lBQ2xDLElBQUlDLE9BQU9MLE9BQU9LLElBQUksSUFBSTtJQUMxQixJQUFJQyxRQUFRTixPQUFPTSxLQUFLLElBQUk7SUFDNUIsSUFBSUMsT0FBdUI7SUFFM0JOLE9BQU9BLE9BQU9PLG1CQUFtQlAsTUFBTVEsT0FBTyxDQUFDLFFBQVEsT0FBTyxNQUFNO0lBRXBFLElBQUlULE9BQU9PLElBQUksRUFBRTtRQUNmQSxPQUFPTixPQUFPRCxPQUFPTyxJQUFJO0lBQzNCLE9BQU8sSUFBSUwsVUFBVTtRQUNuQkssT0FBT04sT0FBUSxFQUFDQyxTQUFTUSxPQUFPLENBQUMsT0FBTyxNQUFJUixXQUFTLE1BQUtBLFFBQUFBO1FBQzFELElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsTUFBSUEsU0FBWTtJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ2IsQ0FBQyxDQUFDZCxZQUFZSixpQkFBaUJtQixJQUFJLENBQUNmLFNBQUFBLEtBQWNJLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRO1FBQ3ZCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUN4RCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNoQkEsT0FBTztJQUNUO0lBRUEsSUFBSUYsUUFBUUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxPQUFPLE1BQU1BO0lBQzFDLElBQUlVLFVBQVVBLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBS0EsU0FBUyxNQUFNQTtJQUVoRFgsV0FBV0EsU0FBU0ssT0FBTyxDQUFDLFNBQVNEO0lBQ3JDTyxTQUFTQSxPQUFPTixPQUFPLENBQUMsS0FBSztJQUU3QixPQUFPLEtBQUdOLFdBQVdJLE9BQU9ILFdBQVdXLFNBQVNWO0FBQ2xEO0FBRU8sTUFBTVAsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0QscUJBQXFCc0IsR0FBYztJQUNqRCxJQUFJQyxJQUF5QixFQUFlO1FBQzFDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDM0NFLE9BQU9DLElBQUksQ0FBQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUNDO2dCQUN4QixJQUFJLENBQUMxQixjQUFjMkIsUUFBUSxDQUFDRCxNQUFNO29CQUNoQ0UsUUFBUUMsSUFBSSxDQUNWLHVEQUFxREg7Z0JBRXpEO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBTzVCLFVBQVV1QjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHM/MWI4NyJdLCJuYW1lcyI6WyJmb3JtYXRVcmwiLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybE9iamVjdEtleXMiLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJxdWVyeXN0cmluZyIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJlbmRzV2l0aCIsInNsYXNoZXMiLCJ0ZXN0IiwidXJsIiwicHJvY2VzcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiLCJjb25zb2xlIiwid2FybiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js":
/*!*****************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***!
\*****************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQVNBLGlCQUFlO2VBQWZBLGNBQUFBLGVBQWU7O0lBQ2ZDLGdCQUFjO2VBQWRBLFdBQUFBLGNBQWM7OzswQ0FEUzt1Q0FDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LnRzPzcyZDUiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js":
/*!**************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***!
\**************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFLZ0JBOzs7ZUFBQUE7OzswQ0FIZ0I7d0NBQ0Y7QUFFdkIsU0FBU0EsY0FDZEMsS0FBYSxFQUNiQyxVQUFrQixFQUNsQkMsS0FBcUI7SUFFckIsSUFBSUMsb0JBQW9CO0lBRXhCLE1BQU1DLGVBQWVDLENBQUFBLEdBQUFBLFlBQUFBLGFBQWEsRUFBQ0w7SUFDbkMsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUVIUCxDQUFBQSxlQUFlRCxRQUFRUyxDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUNMLGNBQWNILGNBQWMsT0FDcEUsZ0RBQWdEO0lBQ2hELHNFQUFzRTtJQUN0RUM7SUFFRkMsb0JBQW9CSDtJQUNwQixNQUFNVSxTQUFTQyxPQUFPQyxJQUFJLENBQUNOO0lBRTNCLElBQ0UsQ0FBQ0ksT0FBT0csS0FBSyxDQUFDLENBQUNDO1FBQ2IsSUFBSUMsUUFBUVAsY0FBYyxDQUFDTSxNQUFNLElBQUk7UUFDckMsTUFBTSxFQUFFRSxNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHWCxhQUFhLENBQUNRLE1BQU07UUFFakQsaUNBQWlDO1FBQ2pDLDBEQUEwRDtRQUMxRCxJQUFJSSxXQUFXLE1BQUlGLENBQUFBLFNBQVMsUUFBUSxNQUFLRixRQUFNO1FBQy9DLElBQUlHLFVBQVU7WUFDWkMsV0FBVyxDQUFHLENBQUNILFFBQVEsTUFBTSxNQUFHLE1BQUdHLFdBQVM7UUFDOUM7UUFDQSxJQUFJRixVQUFVLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0wsUUFBUUEsUUFBUTtZQUFDQTtTQUFNO1FBRXBELE9BQ0UsQ0FBQ0UsWUFBWUgsU0FBU04sY0FBQUEsS0FDdEIsNkNBQTZDO1FBQzVDTCxDQUFBQSxvQkFDQ0Esa0JBQW1Ca0IsT0FBTyxDQUN4QkgsVUFDQUYsU0FDSUQsTUFDR08sR0FBRyxDQUVGLHVEQUF1RDtRQUN2RCxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLENBQUNDLFVBQVlDLG1CQUFtQkQsVUFFakNFLElBQUksQ0FBQyxPQUNSRCxtQkFBbUJULFdBQ3BCO0lBRVgsSUFDQTtRQUNBWixvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTFELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDcEQ7SUFDQSxPQUFPO1FBQ0xPO1FBQ0FnQixRQUFRdkI7SUFDVjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXMudHM/OWUzMSJdLCJuYW1lcyI6WyJpbnRlcnBvbGF0ZUFzIiwicm91dGUiLCJhc1BhdGhuYW1lIiwicXVlcnkiLCJpbnRlcnBvbGF0ZWRSb3V0ZSIsImR5bmFtaWNSZWdleCIsImdldFJvdXRlUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZ3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJwYXJhbSIsInZhbHVlIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js":
/*!**********************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***!
\**********************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVFnQkE7OztlQUFBQTs7O2dEQUxUO0FBRVAscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFFWixTQUFTRCxlQUFlRSxLQUFhO0lBQzFDLElBQUlDLENBQUFBLEdBQUFBLG9CQUFBQSwwQkFBMEIsRUFBQ0QsUUFBUTtRQUNyQ0EsUUFBUUUsQ0FBQUEsR0FBQUEsb0JBQUFBLG1DQUFtQyxFQUFDRixPQUFPRyxnQkFBZ0I7SUFDckU7SUFFQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy50cz84MmRjIl0sIm5hbWVzIjpbImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js":
/*!************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***!
\************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBTWdCQTs7O2VBQUFBOzs7bUNBTmlDO3lDQUNyQjtBQUtyQixTQUFTQSxXQUFXQyxHQUFXO0lBQ3BDLGdFQUFnRTtJQUNoRSxJQUFJLENBQUNDLENBQUFBLEdBQUFBLE9BQUFBLGFBQWEsRUFBQ0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBaUI7UUFDeEMsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBVyxFQUFDSCxTQUFTSSxRQUFRO0lBQzVFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsLnRzPzA0ZTUiXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js":
/*!****************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***!
\****************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcyIsIm1hcHBpbmdzIjoiOzs7O3dDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsS0FDZEMsTUFBUyxFQUNUQyxJQUFTO0lBRVQsTUFBTUMsVUFBc0MsQ0FBQztJQUM3Q0MsT0FBT0YsSUFBSSxDQUFDRCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSSxDQUFDSixLQUFLSyxRQUFRLENBQUNELE1BQVc7WUFDNUJILE9BQU8sQ0FBQ0csSUFBSSxHQUFHTCxNQUFNLENBQUNLLElBQUk7UUFDNUI7SUFDRjtJQUNBLE9BQU9IO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LnRzP2I3YTgiXSwibmFtZXMiOlsib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiT2JqZWN0IiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js":
/*!***********************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***!
\***********************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNENnQkEsUUFBTTtlQUFOQTs7SUExQ0FDLHdCQUFzQjtlQUF0QkE7O0lBNEJBQyx3QkFBc0I7ZUFBdEJBOzs7QUE1QlQsU0FBU0QsdUJBQ2RFLFlBQTZCO0lBRTdCLE1BQU1DLFFBQXdCLENBQUM7SUFDL0JELGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztRQUMzQixJQUFJLE9BQU9ILEtBQUssQ0FBQ0csSUFBSSxLQUFLLGFBQWE7WUFDckNILEtBQUssQ0FBQ0csSUFBSSxHQUFHRDtRQUNmLE9BQU8sSUFBSUUsTUFBTUMsT0FBTyxDQUFDTCxLQUFLLENBQUNHLElBQUksR0FBRztZQUNsQ0gsS0FBSyxDQUFDRyxJQUFJLENBQWNHLElBQUksQ0FBQ0o7UUFDakMsT0FBTztZQUNMRixLQUFLLENBQUNHLElBQUksR0FBRztnQkFBQ0gsS0FBSyxDQUFDRyxJQUFJO2dCQUFZRDthQUFNO1FBQzVDO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUO0FBRUEsU0FBU08sdUJBQXVCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNoQixPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNWLHVCQUNkYSxRQUF3QjtJQUV4QixNQUFNQyxTQUFTLElBQUlDO0lBQ25CQyxPQUFPQyxPQUFPLENBQUNKLFVBQVVWLE9BQU8sQ0FBQyxDQUFBTztZQUFDLENBQUNMLEtBQUtELE1BQU0sR0FBQU07UUFDNUMsSUFBSUosTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1lBQ3hCQSxNQUFNRCxPQUFPLENBQUMsQ0FBQ2UsT0FBU0osT0FBT0ssTUFBTSxDQUFDZCxLQUFLSSx1QkFBdUJTO1FBQ3BFLE9BQU87WUFDTEosT0FBT00sR0FBRyxDQUFDZixLQUFLSSx1QkFBdUJMO1FBQ3pDO0lBQ0Y7SUFDQSxPQUFPVTtBQUNUO0FBRU8sU0FBU2hCLE9BQ2R1QixNQUF1QjtJQUN2QixRQUFBQyxPQUFBQyxVQUFBQyxNQUFBLEVBQUFDLG1CQUFBLElBQUFuQixNQUFBZ0IsT0FBQSxJQUFBQSxPQUFBLFFBQUFJLE9BQUEsR0FBQUEsT0FBQUosTUFBQUksT0FBQTtRQUFHRCxnQkFBQUEsQ0FBSEMsT0FBQSxLQUFBSCxTQUFBLENBQUFHLEtBQXNDOztJQUV0Q0QsaUJBQWlCdEIsT0FBTyxDQUFDLENBQUNGO1FBQ3hCSyxNQUFNcUIsSUFBSSxDQUFDMUIsYUFBYTJCLElBQUksSUFBSXpCLE9BQU8sQ0FBQyxDQUFDRSxNQUFRZ0IsT0FBT1EsTUFBTSxDQUFDeEI7UUFDL0RKLGFBQWFFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQyxNQUFRZ0IsT0FBT0YsTUFBTSxDQUFDZCxLQUFLRDtJQUMxRDtJQUNBLE9BQU9pQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcudHM/ODJmYSJdLCJuYW1lcyI6WyJhc3NpZ24iLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js":
/*!*************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***!
\*************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQVdnQkE7OztlQUFBQTs7O21DQVZZO0FBVXJCLFNBQVNBLGdCQUFnQkMsS0FBMEI7SUFBMUIsTUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQWMsR0FBMUJGO0lBQzlCLE9BQU8sQ0FBQ0c7UUFDTixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNmLE9BQU87UUFDVDtRQUVBLE1BQU1FLFNBQVMsQ0FBQ047WUFDZCxJQUFJO2dCQUNGLE9BQU9PLG1CQUFtQlA7WUFDNUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNWLE1BQU0sSUFBSUMsT0FBQUEsV0FBVyxDQUFDO1lBQ3hCO1FBQ0Y7UUFDQSxNQUFNQyxTQUFxRCxDQUFDO1FBRTVEQyxPQUFPQyxJQUFJLENBQUNWLFFBQVFXLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixNQUFNQyxJQUFJYixNQUFNLENBQUNZLFNBQVM7WUFDMUIsTUFBTUUsSUFBSVosVUFBVSxDQUFDVyxFQUFFRSxHQUFHLENBQUM7WUFDM0IsSUFBSUQsTUFBTUUsV0FBVztnQkFDbkJSLE1BQU0sQ0FBQ0ksU0FBUyxHQUFHLENBQUNFLEVBQUVHLE9BQU8sQ0FBQyxPQUMxQkgsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVaEIsT0FBT2dCLFVBQ25DUCxFQUFFUSxNQUFNLEdBQ1I7b0JBQUNqQixPQUFPVTtpQkFBRyxHQUNYVixPQUFPVTtZQUNiO1FBQ0Y7UUFDQSxPQUFPTjtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLnRzPzMxNzkiXSwibmFtZXMiOlsiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW0iLCJyZSIsImdyb3VwcyIsInBhdGhuYW1lIiwicm91dGVNYXRjaCIsImV4ZWMiLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfIiwiRGVjb2RlRXJyb3IiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNsdWdOYW1lIiwiZyIsIm0iLCJwb3MiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwic3BsaXQiLCJtYXAiLCJlbnRyeSIsInJlcGVhdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js":
/*!***********************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***!
\***********************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getRouteRegex: function() {\n return getRouteRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMk5nQkEseUJBQXVCO2VBQXZCQTs7SUFoQkFDLG9CQUFrQjtlQUFsQkE7O0lBbklBQyxlQUFhO2VBQWJBOzs7Z0RBeEUyQjswQ0FDUjtpREFDQztBQUVwQyxNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsa0NBQWtDO0FBYXhDOzs7Ozs7O0NBT0MsR0FDRCxTQUFTQyxlQUFlQyxLQUFhO0lBQ25DLE1BQU1DLFdBQVdELE1BQU1FLFVBQVUsQ0FBQyxRQUFRRixNQUFNRyxRQUFRLENBQUM7SUFDekQsSUFBSUYsVUFBVTtRQUNaRCxRQUFRQSxNQUFNSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFCO0lBQ0EsTUFBTUMsU0FBU0wsTUFBTUUsVUFBVSxDQUFDO0lBQ2hDLElBQUlHLFFBQVE7UUFDVkwsUUFBUUEsTUFBTUksS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBTztRQUFFRSxLQUFLTjtRQUFPSztRQUFRSjtJQUFTO0FBQ3hDO0FBRUEsU0FBU00scUJBQXFCQyxLQUFhO0lBQ3pDLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBbUIsRUFBQ0YsT0FBT0osS0FBSyxDQUFDLEdBQUdPLEtBQUssQ0FBQztJQUMzRCxNQUFNQyxTQUF5QyxDQUFDO0lBQ2hELElBQUlDLGFBQWE7SUFDakIsT0FBTztRQUNMQyxvQkFBb0JMLFNBQ2pCTSxHQUFHLENBQUMsQ0FBQ0M7WUFDSixNQUFNQyxjQUFjQyxvQkFBQUEsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUNuREosUUFBUWQsVUFBVSxDQUFDa0I7WUFFckIsTUFBTUMsZUFBZUwsUUFBUU0sS0FBSyxDQUFDLHVCQUF1Qix1QkFBdUI7O1lBRWpGLElBQUlMLGVBQWVJLGNBQWM7Z0JBQy9CLE1BQU0sRUFBRWYs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TSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzlCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVYsdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlQLDBCQUEwQlcsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js":
/*!*************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***!
\*************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQXFNZ0JBOzs7ZUFBQUE7OztBQXJNaEIsTUFBTUM7SUFPSkMsT0FBT0MsT0FBZSxFQUFRO1FBQzVCLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN2RDtJQUVBQyxTQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUNyQjtJQUVRQSxRQUFRQyxNQUFvQixFQUFZO1FBQWhDQSxJQUFBQSxXQUFBQSxLQUFBQSxHQUFBQSxTQUFpQjtRQUMvQixNQUFNQyxnQkFBZ0I7ZUFBSSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUFHLENBQUNDLElBQUk7UUFDcEQsSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQzFCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3BEO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzlCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3ZEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDdENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDekQ7UUFFQSxNQUFNRyxTQUFTVCxjQUNaVSxHQUFHLENBQUMsQ0FBQ0MsSUFBTSxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csR0FBRyxDQUFDRCxHQUFJYixPQUFPLENBQUMsS0FBR0MsU0FBU1ksSUFBRSxNQUN2REUsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE9BQVM7bUJBQUlEO21CQUFTQzthQUFLLEVBQUUsRUFBRTtRQUVoRCxJQUFJLElBQUksQ0FBQ1gsUUFBUSxLQUFL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Q0FBQ3pCLFFBQVEsQ0FBQ3NDLEdBQUcsQ0FBQ2IsYUFBYSxJQUFJcEM7UUFDckM7UUFFQSxJQUFJLENBQUNXLFFBQVEsQ0FDVlcsR0FBRyxDQUFDYyxhQUNKakMsT0FBTyxDQUFDNkIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQzNDOzthQWpNQVAsV0FBQUEsR0FBdUI7YUFDdkJoQixRQUFBQSxHQUFpQyxJQUFJdUM7YUFDckNwQyxRQUFBQSxHQUEwQjthQUMxQkcsWUFBQUEsR0FBOEI7YUFDOUJDLG9CQUFBQSxHQUFzQzs7QUE4THhDO0FBRU8sU0FBU25CLGdCQUNkb0QsZUFBc0M7SUFFdEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFFM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBRWpCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQk4sT0FBTyxDQUFDLENBQUNRLFdBQWFELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNsRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLnRzP2Q1M2IiXSwibmFtZXMiOlsiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwiZ2V0IiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js":
/*!**********************************************************!*\
!*** ./node_modules/next/dist/shared/lib/side-effect.js ***!
\**********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst isServer = typeof window === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBb0JBOzs7ZUFBd0JBOzs7bUNBbkI2QjtBQWVyRCxNQUFNQyxXQUFXLE9BQU9DLFdBQVc7QUFDbkMsTUFBTUMsNEJBQTRCRixXQUFXLEtBQU8sSUFBSUcsT0FBQUEsZUFBZTtBQUN2RSxNQUFNQyxzQkFBc0JKLFdBQVcsS0FBTyxJQUFJSyxPQUFBQSxTQUFTO0FBRTVDLFNBQVNOLFdBQVdPLEtBQXNCOztJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlOLFVBQVU7WUFDWk87UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUO0dBeER3QnZCOztRQW1CdEJHO1FBWUFBO1FBV0FFOzs7S0ExQ3NCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2lkZS1lZmZlY3QudHN4P2U4ZGQiXSwibmFtZXMiOlsiU2lkZUVmZmVjdCIsImlzU2VydmVyIiwid2luZG93IiwidXNlQ2xpZW50T25seUxheW91dEVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZUNsaWVudE9ubHlFZmZlY3QiLCJ1c2VFZmZlY3QiLCJwcm9wcyIsImhlYWRNYW5hZ2VyIiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJlbWl0Q2hhbmdlIiwibW91bnRlZEluc3RhbmNlcyIsImhlYWRFbGVtZW50cyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1cGRhdGVIZWFkIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js":
/*!****************************************************!*\
!*** ./node_modules/next/dist/shared/lib/utils.js ***!
\****************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvYWFBLGFBQVc7ZUFBWEE7O0lBb0JBQyx5QkFBdUI7ZUFBdkJBOztJQVBBQyxtQkFBaUI7ZUFBakJBOztJQVpBQyxnQkFBYztlQUFkQTs7SUFDQUMsbUJBQWlCO2VBQWpCQTs7SUFUQUMsSUFBRTtlQUFGQTs7SUFDQUMsSUFBRTtlQUFGQTs7SUFsWEFDLFlBQVU7ZUFBVkE7O0lBc1FHQyxVQUFRO2VBQVJBOztJQStCQUMsZ0JBQWM7ZUFBZEE7O0lBWEFDLG1CQUFpQjtlQUFqQkE7O0lBS0FDLFFBQU07ZUFBTkE7O0lBUEhDLGVBQWE7ZUFBYkE7O0lBbUJHQyxXQUFTO2VBQVRBOztJQWtCTUMscUJBQW1CO2VBQW5CQTs7SUFkTkMsMEJBQXdCO2VBQXhCQTs7SUErR0FDLGdCQUFjO2VBQWRBOzs7QUE5WlQsTUFBTVQsYUFBYTtJQUFDO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFPO0FBc1E5RCxTQUFTQyxTQUNkUyxFQUFLO0lBRUwsSUFBSUMsT0FBTztJQUNYLElBQUlDO0lBRUosT0FBUTt5Q0FBSUMsT0FBQUEsSUFBQUEsTUFBQUEsT0FBQUEsT0FBQUEsR0FBQUEsT0FBQUEsTUFBQUEsT0FBQUE7WUFBQUEsSUFBQUEsQ0FBQUEsS0FBQUEsR0FBQUEsU0FBQUEsQ0FBQUEsS0FBQUE7O1FBQ1YsSUFBSSxDQUFDRixNQUFNO1lBQ1RBLE9BQU87WUFDUEMsU0FBU0YsTUFBTUc7UUFDakI7UUFDQSxPQUFPRDtJQUNUO0FBQ0Y7QUFFQSwwREFBMEQ7QUFDMUQsZ0VBQWdFO0FBQ2hFLE1BQU1FLHFCQUFxQjtBQUNwQixNQUFNVCxnQkFBZ0IsQ0FBQ1UsTUFBZ0JELG1CQUFtQkUsSUFBSSxDQUFDRDtBQUUvRCxTQUFTWjtJQUNkLE1BQU0sRUFBRWMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFB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O0lBQ3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQXdDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNakQsZ0NBQWdDa0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU2xDLGVBQWVnRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cz8xYmQ1Il0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/utils.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/Button.jsx":
/*!***********************************!*\
!*** ./src/components/Button.jsx ***!
\***********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: function() { return /* binding */ Button; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\n\nconst baseStyles = {\n solid: \"group inline-flex items-center justify-center rounded-full py-2 px-4 text-sm font-semibold focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2\",\n outline: \"group inline-flex ring-1 items-center justify-center rounded-full py-2 px-4 text-sm focus:outline-none\"\n};\nconst variantStyles = {\n solid: {\n slate: \"bg-gold-900 text-white hover:bg-gold-800 hover:text-slate-100 active:bg-gold-800 active:text-gold-300 focus-visible:outline-gold-900\",\n blue: \"bg-gold-600 text-white hover:text-slate-100 hover:bg-gold-500 active:bg-gold-800 active:text-slate-100 focus-visible:outline-gold-600\",\n white: \"bg-white text-slate-100 hover:bg-gold-50 active:bg-gold-200 active:text-slate-100 focus-visible:outline-white\"\n },\n outline: {\n slate: \"ring-slate-200 text-slate-200 hover:text-slate-300 hover:ring-slate-300 active:bg-slate-100 active:text-slate-200 focus-visible:outline-gold-600 focus-visible:ring-slate-300\",\n white: \"ring-slate-700 text-white hover:ring-slate-300 active:ring-slate-200 active:text-slate-100 focus-visible:outline-white\"\n }\n};\nfunction Button(param) {\n let { className, ...props } = param;\n props.variant ??= \"solid\";\n props.color ??= \"slate\";\n className = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(baseStyles[props.variant], props.variant === \"outline\" ? variantStyles.outline[props.color] : props.variant === \"solid\" ? variantStyles.solid[props.color] : undefined, className);\n return typeof props.href === \"undefined\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Button.jsx\",\n lineNumber: 42,\n columnNumber: 5\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: className,\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Button.jsx\",\n lineNumber: 44,\n columnNumber: 5\n }, this);\n}\n_c = Button;\nvar _c;\n$RefreshReg$(_c, \"Button\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEI7QUFDTDtBQUV2QixNQUFNRSxhQUFhO0lBQ2pCQyxPQUNFO0lBQ0ZDLFNBQ0U7QUFDSjtBQUVBLE1BQU1DLGdCQUFnQjtJQUNwQkYsT0FBTztRQUNMRyxPQUNFO1FBQ0ZDLE1BQU07UUFDTkMsT0FDRTtJQUNKO0lBQ0FKLFNBQVM7UUFDUEUsT0FDRTtRQUNGRSxPQUNFO0lBQ0o7QUFDRjtBQUVPLFNBQVNDLE9BQU8sS0FBdUI7UUFBdkIsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU8sR0FBdkI7SUFDckJBLE1BQU1DLE9BQU8sS0FBSztJQUNsQkQsTUFBTUUsS0FBSyxLQUFLO0lBRWhCSCxZQUFZVCxnREFBSUEsQ0FDZEMsVUFBVSxDQUFDUyxNQUFNQyxPQUFPLENBQUMsRUFDekJELE1BQU1DLE9BQU8sS0FBSyxZQUNkUCxjQUFjRCxPQUFPLENBQUNPLE1BQU1FLEtBQUssQ0FBQyxHQUNsQ0YsTUFBTUMsT0FBTyxLQUFLLFVBQ2hCUCxjQUFjRixLQUFLLENBQUNRLE1BQU1FLEtBQUssQ0FBQyxHQUNoQ0MsV0FDTko7SUFHRixPQUFPLE9BQU9DLE1BQU1JLElBQUksS0FBSyw0QkFDM0IsOERBQUNDO1FBQU9OLFdBQVdBO1FBQVksR0FBR0MsS0FBSzs7Ozs7NkJBRXZDLDhEQUFDWCxpREFBSUE7UUFBQ1UsV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs7QUFFekM7S0FuQmdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9CdXR0b24uanN4PzRlMWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuY29uc3QgYmFzZVN0eWxlcyA9IHtcbiAgc29saWQ6XG4gICAgJ2dyb3VwIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcHktMiBweC00IHRleHQtc20gZm9udC1zZW1pYm9sZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yJyxcbiAgb3V0bGluZTpcbiAgICAnZ3JvdXAgaW5saW5lLWZsZXggcmluZy0xIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcHktMiBweC00IHRleHQtc20gZm9jdXM6b3V0bGluZS1ub25lJyxcbn1cblxuY29uc3QgdmFyaWFudFN0eWxlcyA9IHtcbiAgc29saWQ6IHtcbiAgICBzbGF0ZTpcbiAgICAgICdiZy1nb2xkLTkwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWdvbGQtODAwIGhvdmVyOnRleHQtc2xhdGUtMTAwIGFjdGl2ZTpiZy1nb2xkLTgwMCBhY3RpdmU6dGV4dC1nb2xkLTMwMCBmb2N1cy12aXNpYmxlOm91dGxpbmUtZ29sZC05MDAnLFxuICAgIGJsdWU6ICdiZy1nb2xkLTYwMCB0ZXh0LXdoaXRlIGhvdmVyOnRleHQtc2xhdGUtMTAwIGhvdmVyOmJnLWdvbGQtNTAwIGFjdGl2ZTpiZy1nb2xkLTgwMCBhY3RpdmU6dGV4dC1zbGF0ZS0xMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLWdvbGQtNjAwJyxcbiAgICB3aGl0ZTpcbiAgICAgICdiZy13aGl0ZSB0ZXh0LXNsYXRlLTEwMCBob3ZlcjpiZy1nb2xkLTUwIGFjdGl2ZTpiZy1nb2xkLTIwMCBhY3RpdmU6dGV4dC1zbGF0ZS0xMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXdoaXRlJyxcbiAgfSxcbiAgb3V0bGluZToge1xuICAgIHNsYXRlOlxuICAgICAgJ3Jpbmctc2xhdGUtMjAwIHRleHQtc2xhdGUtMjAwIGhvdmVyOnRleHQtc2xhdGUtMzAwIGhvdmVyOnJpbmctc2xhdGUtMzAwIGFjdGl2ZTpiZy1zbGF0ZS0xMDAgYWN0aXZlOnRleHQtc2xhdGUtMjAwIGZvY3VzLXZpc2libGU6b3V0bGluZS1nb2xkLTYwMCBmb2N1cy12aXNpYmxlOnJpbmctc2xhdGUtMzAwJyxcbiAgICB3aGl0ZTpcbiAgICAgICdyaW5nLXNsYXRlLTcwMCB0ZXh0LXdoaXRlIGhvdmVyOnJpbmctc2xhdGUtMzAwIGFjdGl2ZTpyaW5nLXNsYXRlLTIwMCBhY3RpdmU6dGV4dC1zbGF0ZS0xMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXdoaXRlJyxcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICBwcm9wcy52YXJpYW50ID8/PSAnc29saWQnXG4gIHByb3BzLmNvbG9yID8/PSAnc2xhdGUnXG5cbiAgY2xhc3NOYW1lID0gY2xzeChcbiAgICBiYXNlU3R5bGVzW3Byb3BzLnZhcmlhbnRdLFxuICAgIHByb3BzLnZhcmlhbnQgPT09ICdvdXRsaW5lJ1xuICAgICAgPyB2YXJpYW50U3R5bGVzLm91dGxpbmVbcHJvcHMuY29sb3JdXG4gICAgICA6IHByb3BzLnZhcmlhbnQgPT09ICdzb2xpZCdcbiAgICAgICAgPyB2YXJpYW50U3R5bGVzLnNvbGlkW3Byb3BzLmNvbG9yXVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICBjbGFzc05hbWUsXG4gIClcblxuICByZXR1cm4gdHlwZW9mIHByb3BzLmhyZWYgPT09ICd1bmRlZmluZWQnID8gKFxuICAgIDxidXR0b24gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKSA6IChcbiAgICA8TGluayBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLnByb3BzfSAvPlxuICApXG59XG4iXSwibmFtZXMiOlsiTGluayIsImNsc3giLCJiYXNlU3R5bGVzIiwic29saWQiLCJvdXRsaW5lIiwidmFyaWFudFN0eWxlcyIsInNsYXRlIiwiYmx1ZSIsIndoaXRlIiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJ2YXJpYW50IiwiY29sb3IiLCJ1bmRlZmluZWQiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Button.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/Carousel.jsx":
/*!*************************************!*\
!*** ./src/components/Carousel.jsx ***!
\*************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\nconst cards = [\n {\n image: \"images/act1.png\",\n title: \"Yoga\",\n description: \"Step fully into your body. The perfect start to the morning.\"\n },\n {\n image: \"images/act2.png\",\n title: \"Nutrition\",\n description: \"Discover a variety of dietary options tailored to your health and wellness needs.\"\n },\n {\n image: \"images/act3.png\",\n title: \"Meditation\",\n description: \"Enhance your mental clarity and inner peace through guided meditation practices.\"\n },\n {\n image: \"images/act4.png\",\n title: \"Massage\",\n description: \"Profound relaxation through massage sessions, harmonizing with the high energies of Egypt.\"\n },\n {\n image: \"images/act5.png\",\n title: \"Workshops\",\n description: \"Healing sessions and workshops designed to enrich your well-being\"\n },\n {\n image: \"images/act6.png\",\n title: \"Excursions\",\n description: \"Experience unforgettable adventures with our curated Nile excursions.\"\n }\n];\nconst MultiCardCarousel = ()=>{\n _s();\n const [currentIndex, setCurrentIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [isMobile, setIsMobile] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(window.innerWidth < 640);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const handleResize = ()=>{\n setIsMobile(window.innerWidth < 640);\n };\n window.addEventListener(\"resize\", handleResize);\n // Clean up the event listener on component unmount\n return ()=>window.removeEventListener(\"resize\", handleResize);\n }, []);\n const handleNext = ()=>{\n setCurrentIndex((prevIndex)=>{\n const nextIndex = (prevIndex + (isMobile ? 1 : 3)) % cards.length;\n return nextIndex;\n });\n };\n const handlePrev = ()=>{\n setCurrentIndex((prevIndex)=>{\n const prevIndexAdjusted = (prevIndex - (isMobile ? 1 : 3) + cards.length) % cards.length;\n return prevIndexAdjusted;\n });\n };\n // Determine the number of cards to display based on screen size\n const displayCards = isMobile ? [\n cards[currentIndex]\n ] : cards.slice(currentIndex, currentIndex + 3);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center min-h-screen py-6 bg-creme-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-7xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mx-auto max-w-3xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-semibold leading-7 text-gold-600\",\n children: \"MISSION\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 75,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display mt-2 text-3xl font-bold tracking-tight text-gray-800 sm:text-4xl\",\n children: \"VEDA ACTIVITIES\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 76,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-lg tracking-wide font-normal leading-6 pb-12 text-gray-600\",\n children: \"Explore a diverse range of activities designed to elevate your Mind, Body, and Soul, fostering a deeper connection and holistic well-being.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 79,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex ${isMobile ? \"w-full\" : \"space-x-2 overflow-x-auto\"}`,\n children: displayCards.map((card, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex-none ${isMobile ? \"w-full\" : \"w-1/3\"} relative overflow-hidden rounded-lg`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n className: \"h-full w-full object-cover\",\n src: card.image,\n alt: card.title\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 90,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-0 bg-black bg-opacity-40 flex flex-col justify-end items-start text-left p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold text-white mb-2\",\n children: card.title\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 96,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-white\",\n children: card.description\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 97,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 95,\n columnNumber: 17\n }, undefined)\n ]\n }, index, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 86,\n columnNumber: 15\n }, undefined))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 84,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-x-0 bottom-1/2 flex justify-between px-4 transform -translate-y-1/2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"w-10 h-10 rounded-full text-white font-semibold bg-gold-600\",\n onClick: handlePrev,\n children: \"<\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 103,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"w-10 h-10 rounded-full text-white font-semibold bg-gold-600\",\n onClick: handleNext,\n children: \">\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 102,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 73,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Carousel.jsx\",\n lineNumber: 72,\n columnNumber: 5\n }, undefined);\n};\n_s(MultiCardCarousel, \"OpT9ta1RNqtjkcY2w9siSfUGIyU=\");\n_c = MultiCardCarousel;\n/* harmony default export */ __webpack_exports__[\"default\"] = (MultiCardCarousel);\nvar _c;\n$RefreshReg$(_c, \"MultiCardCarousel\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0Nhcm91c2VsLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRW1EO0FBQ3BCO0FBRS9CLE1BQU1JLFFBQVE7SUFDWjtRQUNFQyxPQUFPO1FBQ1BDLE9BQU87UUFDUEMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsT0FBTztRQUNQQyxPQUFPO1FBQ1BDLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLE9BQU87UUFDUEMsT0FBTztRQUNQQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixPQUFPO1FBQ1BDLE9BQU87UUFDUEMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsT0FBTztRQUNQQyxPQUFPO1FBQ1BDLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLE9BQU87UUFDUEMsT0FBTztRQUNQQyxhQUFhO0lBQ2Y7Q0FDRDtBQUVELE1BQU1DLG9CQUFvQjs7SUFDeEIsTUFBTSxDQUFDQyxjQUFjQyxnQkFBZ0IsR0FBR1QsK0NBQVFBLENBQUM7SUFDakQsTUFBTSxDQUFDVSxVQUFVQyxZQUFZLEdBQUdYLCtDQUFRQSxDQUFDWSxPQUFPQyxVQUFVLEdBQUc7SUFFN0RaLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTWEsZUFBZTtZQUNuQkgsWUFBWUMsT0FBT0MsVUFBVSxHQUFHO1FBQ2xDO1FBRUFELE9BQU9HLGdCQUFnQixDQUFDLFVBQVVEO1FBRWxDLG1EQUFtRDtRQUNuRCxPQUFPLElBQU1GLE9BQU9JLG1CQUFtQixDQUFDLFVBQVVGO0lBQ3BELEdBQUcsRUFBRTtJQUVMLE1BQU1HLGFBQWE7UUFDakJSLGdCQUFnQixDQUFDUztZQUNmLE1BQU1DLFlBQVksQ0FBQ0QsWUFBYVIsQ0FBQUEsV0FBVyxJQUFJLEVBQUMsSUFBS1AsTUFBTWlCLE1BQU07WUFDakUsT0FBT0Q7UUFDVDtJQUNGO0lBRUEsTUFBTUUsYUFBYTtRQUNqQlosZ0JBQWdCLENBQUNTO1lBQ2YsTUFBTUksb0JBQW9CLENBQUNKLFlBQWFSLENBQUFBLFdBQVcsSUFBSSxLQUFLUCxNQUFNaUIsTUFBTSxJQUFJakIsTUFBTWlCLE1BQU07WUFDeEYsT0FBT0U7UUFDVDtJQUNGO0lBRUEsZ0VBQWdFO0lBQ2hFLE1BQU1DLGVBQWViLFdBQVc7UUFBQ1AsS0FBSyxDQUFDSyxhQUFhO0tBQUMsR0FBR0wsTUFBTXFCLEtBQUssQ0FBQ2hCLGNBQWNBLGVBQWU7SUFFakcscUJBQ0UsOERBQUNpQjtRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDQzs0QkFBR0QsV0FBVTtzQ0FBa0Q7Ozs7OztzQ0FDaEUsOERBQUNDOzRCQUFHRCxXQUFVO3NDQUFnRjs7Ozs7O3NDQUc5Riw4REFBQ0U7NEJBQUVGLFdBQVU7c0NBQXVFOzs7Ozs7Ozs7Ozs7OEJBSXRGLDhEQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ2IsOERBQUNEOzRCQUFJQyxXQUFXLENBQUMsS0FBSyxFQUFFaEIsV0FBVyxXQUFXLDRCQUE0QixDQUFDO3NDQUN4RWEsYUFBYU0sR0FBRyxDQUFDLENBQUNDLE1BQU1DLHNCQUN2Qiw4REFBQ047b0NBQ0NDLFdBQVcsQ0FBQyxVQUFVLEVBQUVoQixXQUFXLFdBQVcsUUFBUSxvQ0FBb0MsQ0FBQzs7c0RBRzNGLDhEQUFDc0I7NENBQ0NOLFdBQVU7NENBQ1ZPLEtBQUtILEtBQUsxQixLQUFLOzRDQUNmOEIsS0FBS0osS0FBS3pCLEtBQUs7Ozs7OztzREFFakIsOERBQUNvQjs0Q0FBSUMsV0FBVTs7OERBQ2IsOERBQUNTO29EQUFHVCxXQUFVOzhEQUF5Q0ksS0FBS3pCLEtBQUs7Ozs7Ozs4REFDakUsOERBQUN1QjtvREFBRUYsV0FBVTs4REFBY0ksS0FBS3hCLFdBQVc7Ozs7Ozs7Ozs7Ozs7bUNBVHhDeUI7Ozs7Ozs7Ozs7c0NBY1gsOERBQUNOOzRCQUFJQyxXQUFVOzs4Q0FDYiw4REFBQ1U7b0NBQ0NWLFdBQVU7b0NBQ1ZXLFNBQVNoQjs4Q0FDVjs7Ozs7OzhDQUdELDhEQUFDZTtvQ0FDQ1YsV0FBVTtvQ0FDVlcsU0FBU3BCOzhDQUNWOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFiO0dBakZNVjtLQUFBQTtBQW1GTiwrREFBZUEsaUJBQWlCQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0Nhcm91c2VsLmpzeD84OWQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiOyAvLyA8LS0gVGhpcyBsaW5lIGlzIGNydWNpYWxcblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSc7XG5cbmNvbnN0IGNhcmRzID0gW1xuICB7XG4gICAgaW1hZ2U6ICdpbWFnZXMvYWN0MS5wbmcnLFxuICAgIHRpdGxlOiAnWW9nYScsXG4gICAgZGVzY3JpcHRpb246ICdTdGVwIGZ1bGx5IGludG8geW91ciBib2R5LiBUaGUgcGVyZmVjdCBzdGFydCB0byB0aGUgbW9ybmluZy4nLFxuICB9LFxuICB7XG4gICAgaW1hZ2U6ICdpbWFnZXMvYWN0Mi5wbmcnLFxuICAgIHRpdGxlOiAnTnV0cml0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Rpc2NvdmVyIGEgdmFyaWV0eSBvZiBkaWV0YXJ5IG9wdGlvbnMgdGFpbG9yZWQgdG8geW91ciBoZWFsdGggYW5kIHdlbGxuZXNzIG5lZWRzLicsXG4gIH0sXG4gIHtcbiAgICBpbWFnZTogJ2ltYWdlcy9hY3QzLnBuZycsXG4gICAgdGl0bGU6ICdNZWRpdGF0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VuaGFuY2UgeW91ciBtZW50YWwgY2xhcml0eSBhbmQgaW5uZXIgcGVhY2UgdGhyb3VnaCBndWlkZWQgbWVkaXRhdGlvbiBwcmFjdGljZXMuJyxcbiAgfSxcbiAge1xuICAgIGltYWdlOiAnaW1hZ2VzL2FjdDQucG5nJyxcbiAgICB0aXRsZTogJ01hc3NhZ2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvZm91bmQgcmVsYXhhdGlvbiB0aHJvdWdoIG1hc3NhZ2Ugc2Vzc2lvbnMsIGhhcm1vbml6aW5nIHdpdGggdGhlIGhpZ2ggZW5lcmdpZXMgb2YgRWd5cHQuJyxcbiAgfSxcbiAge1xuICAgIGltYWdlOiAnaW1hZ2VzL2FjdDUucG5nJyxcbiAgICB0aXRsZTogJ1dvcmtzaG9wcycsXG4gICAgZGVzY3JpcHRpb246ICdIZWFsaW5nIHNlc3Npb25zIGFuZCB3b3Jrc2hvcHMgZGVzaWduZWQgdG8gZW5yaWNoIHlvdXIgd2VsbC1iZWluZycsXG4gIH0sXG4gIHtcbiAgICBpbWFnZTogJ2ltYWdlcy9hY3Q2LnBuZycsXG4gICAgdGl0bGU6ICdFeGN1cnNpb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ0V4cGVyaWVuY2UgdW5mb3JnZXR0YWJsZSBhZHZlbnR1cmVzIHdpdGggb3VyIGN1cmF0ZWQgTmlsZSBleGN1cnNpb25zLicsXG4gIH0sXG5dO1xuXG5jb25zdCBNdWx0aUNhcmRDYXJvdXNlbCA9ICgpID0+IHtcbiAgY29uc3QgW2N1cnJlbnRJbmRleCwgc2V0Q3VycmVudEluZGV4XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNNb2JpbGUsIHNldElzTW9iaWxlXSA9IHVzZVN0YXRlKHdpbmRvdy5pbm5lcldpZHRoIDwgNjQwKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlc2l6ZSA9ICgpID0+IHtcbiAgICAgIHNldElzTW9iaWxlKHdpbmRvdy5pbm5lcldpZHRoIDwgNjQwKTtcbiAgICB9O1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZVJlc2l6ZSk7XG5cbiAgICAvLyBDbGVhbiB1cCB0aGUgZXZlbnQgbGlzdGVuZXIgb24gY29tcG9uZW50IHVubW91bnRcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZVJlc2l6ZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVOZXh0ID0gKCkgPT4ge1xuICAgIHNldEN1cnJlbnRJbmRleCgocHJldkluZGV4KSA9PiB7XG4gICAgICBjb25zdCBuZXh0SW5kZXggPSAocHJldkluZGV4ICsgKGlzTW9iaWxlID8gMSA6IDMpKSAlIGNhcmRzLmxlbmd0aDtcbiAgICAgIHJldHVybiBuZXh0SW5kZXg7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUHJldiA9ICgpID0+IHtcbiAgICBzZXRDdXJyZW50SW5kZXgoKHByZXZJbmRleCkgPT4ge1xuICAgICAgY29uc3QgcHJldkluZGV4QWRqdXN0ZWQgPSAocHJldkluZGV4IC0gKGlzTW9iaWxlID8gMSA6IDMpICsgY2FyZHMubGVuZ3RoKSAlIGNhcmRzLmxlbmd0aDtcbiAgICAgIHJldHVybiBwcmV2SW5kZXhBZGp1c3RlZDtcbiAgICB9KTtcbiAgfTtcblxuICAvLyBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBjYXJkcyB0byBkaXNwbGF5IGJhc2VkIG9uIHNjcmVlbiBzaXplXG4gIGNvbnN0IGRpc3BsYXlDYXJkcyA9IGlzTW9iaWxlID8gW2NhcmRzW2N1cnJlbnRJbmRleF1dIDogY2FyZHMuc2xpY2UoY3VycmVudEluZGV4LCBjdXJyZW50SW5kZXggKyAzKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWluLWgtc2NyZWVuIHB5LTYgYmctY3JlbWUtNjAwXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBtYXgtdy03eGxcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBteC1hdXRvIG1heC13LTN4bFwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCBsZWFkaW5nLTcgdGV4dC1nb2xkLTYwMFwiPk1JU1NJT048L2gyPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJmb250LWRpc3BsYXkgbXQtMiB0ZXh0LTN4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTgwMCBzbTp0ZXh0LTR4bFwiPlxuICAgICAgICAgICAgVkVEQSBBQ1RJVklUSUVTXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0yIHRleHQtbGcgdHJhY2tpbmctd2lkZSBmb250LW5vcm1hbCBsZWFkaW5nLTYgcGItMTIgdGV4dC1ncmF5LTYwMFwiPlxuICAgICAgICAgICAgRXhwbG9yZSBhIGRpdmVyc2UgcmFuZ2Ugb2YgYWN0aXZpdGllcyBkZXNpZ25lZCB0byBlbGV2YXRlIHlvdXIgTWluZCwgQm9keSwgYW5kIFNvdWwsIGZvc3RlcmluZyBhIGRlZXBlciBjb25uZWN0aW9uIGFuZCBob2xpc3RpYyB3ZWxsLWJlaW5nLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGZsZXggJHtpc01vYmlsZSA/ICd3LWZ1bGwnIDogJ3NwYWNlLXgtMiBvdmVyZmxvdy14LWF1dG8nfWB9PlxuICAgICAgICAgICAge2Rpc3BsYXlDYXJkcy5tYXAoKGNhcmQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmbGV4LW5vbmUgJHtpc01vYmlsZSA/ICd3LWZ1bGwnIDogJ3ctMS8zJ30gcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbGdgfVxuICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlclwiXG4gICAgICAgICAgICAgICAgICBzcmM9e2NhcmQuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICBhbHQ9e2NhcmQudGl0bGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LXgtMCBib3R0b20tMCBiZy1ibGFjayBiZy1vcGFjaXR5LTQwIGZsZXggZmxleC1jb2wganVzdGlmeS1lbmQgaXRlbXMtc3RhcnQgdGV4dC1sZWZ0IHAtNFwiPlxuICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIG1iLTJcIj57Y2FyZC50aXRsZX08L2gzPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC13aGl0ZVwiPntjYXJkLmRlc2NyaXB0aW9ufTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LXgtMCBib3R0b20tMS8yIGZsZXgganVzdGlmeS1iZXR3ZWVuIHB4LTQgdHJhbnNmb3JtIC10cmFuc2xhdGUteS0xLzJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy0xMCBoLTEwIHJvdW5kZWQtZnVsbCB0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgYmctZ29sZC02MDBcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQcmV2fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAmbHQ7XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy0xMCBoLTEwIHJvdW5kZWQtZnVsbCB0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgYmctZ29sZC02MDBcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVOZXh0fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAmZ3Q7XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpQ2FyZENhcm91c2VsO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJJbWFnZSIsImNhcmRzIiwiaW1hZ2UiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiTXVsdGlDYXJkQ2Fyb3VzZWwiLCJjdXJyZW50SW5kZXgiLCJzZXRDdXJyZW50SW5kZXgiLCJpc01vYmlsZSIsInNldElzTW9iaWxlIiwid2luZG93IiwiaW5uZXJXaWR0aCIsImhhbmRsZVJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlTmV4dCIsInByZXZJbmRleCIsIm5leHRJbmRleCIsImxlbmd0aCIsImhhbmRsZVByZXYiLCJwcmV2SW5kZXhBZGp1c3RlZCIsImRpc3BsYXlDYXJkcyIsInNsaWNlIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJwIiwibWFwIiwiY2FyZCIsImluZGV4IiwiaW1nIiwic3JjIiwiYWx0IiwiaDMiLCJidXR0b24iLCJvbkNsaWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Carousel.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/Container.jsx":
/*!**************************************!*\
!*** ./src/components/Container.jsx ***!
\**************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: function() { return /* binding */ Container; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container(param) {\n let { className, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Container.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n_c = Container;\nvar _c;\n$RefreshReg$(_c, \"Container\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbnRhaW5lci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QjtBQUVoQixTQUFTQyxVQUFVLEtBQXVCO1FBQXZCLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEdBQXZCO0lBQ3hCLHFCQUNFLDhEQUFDQztRQUNDRixXQUFXRixnREFBSUEsQ0FBQywwQ0FBMENFO1FBQ3pELEdBQUdDLEtBQUs7Ozs7OztBQUdmO0tBUGdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Container.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/Header.jsx":
/*!***********************************!*\
!*** ./src/components/Header.jsx ***!
\***********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: function() { return /* binding */ Header; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _barrel_optimize_names_Popover_PopoverBackdrop_PopoverButton_PopoverPanel_headlessui_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Popover,PopoverBackdrop,PopoverButton,PopoverPanel!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/popover/popover.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Button */ \"(app-pages-browser)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _components_Logo__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Logo */ \"(app-pages-browser)/./src/components/Logo.jsx\");\n/* harmony import */ var _components_NavLink__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/NavLink */ \"(app-pages-browser)/./src/components/NavLink.jsx\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\nfunction MobileNavLink(param) {\n let { href, children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Popover_PopoverBackdrop_PopoverButton_PopoverPanel_headlessui_react__WEBPACK_IMPORTED_MODULE_7__.PopoverButton, {\n as: next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n href: href,\n className: \"block w-full p-2\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n_c = MobileNavLink;\nfunction MobileNavIcon(param) {\n let { open } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n \"aria-hidden\": \"true\",\n className: \"h-3.5 w-3.5 overflow-visible stroke-slate-700\",\n fill: \"none\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0 1H14M0 7H14M0 13H14\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"origin-center transition\", open && \"scale-90 opacity-0\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 34,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M2 2L12 12M12 2L2 12\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"origin-center transition\", !open && \"scale-90 opacity-0\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 41,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_c1 = MobileNavIcon;\nfunction MobileNavigation() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Popover_PopoverBackdrop_PopoverButton_PopoverPanel_headlessui_react__WEBPACK_IMPORTED_MODULE_7__.Popover, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Popover_PopoverBackdrop_PopoverButton_PopoverPanel_headlessui_react__WEBPACK_IMPORTED_MODULE_7__.PopoverButton, {\n className: \"relative z-10 flex h-8 w-8 items-center justify-center ui-not-focus-visible:outline-none\",\n \"aria-label\": \"Toggle Navigation\",\n children: (param)=>{\n let { open } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavIcon, {\n open: open\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 59,\n columnNumber: 24\n }, this);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Popover_PopoverBackdrop_PopoverButton_PopoverPanel_headlessui_react__WEBPACK_IMPORTED_MODULE_7__.PopoverBackdrop, {\n transition: true,\n className: \"fixed inset-0 bg-slate-300/50 duration-150 data-[closed]:opacity-0 data-[enter]:ease-out data-[leave]:ease-in\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 61,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Popover_PopoverBackdrop_PopoverButton_PopoverPanel_headlessui_react__WEBPACK_IMPORTED_MODULE_7__.PopoverPanel, {\n transition: true,\n className: \"absolute inset-x-0 top-full mt-4 flex origin-top flex-col rounded-lg bg-white p-4 text-lg tracking-tight text-slate-900 shadow-xl ring-1 ring-slate-900/5 data-[closed]:scale-95 data-[closed]:opacity-0 data-[enter]:duration-150 data-[leave]:duration-100 data-[enter]:ease-out data-[leave]:ease-in\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n href: \"/\",\n children: \"HOME\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n href: \"/story\",\n children: \"STORY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n href: \"/dahabiyas\",\n children: \"DAHABIYAS\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n href: \"/experiences\",\n children: \"EXPERIENCES\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"/itinerary\",\n children: \"ITINERARY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n href: \"#pricing\",\n children: \"GALLERY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"hr\", {\n className: \"m-2 border-slate-300/40\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n href: \"/login\",\n children: \"BOOK NOW\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 65,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 54,\n columnNumber: 5\n }, this);\n}\n_c2 = MobileNavigation;\nfunction Header() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"py-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_4__.Container, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"relative z-50 flex justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center md:gap-x-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"#\",\n \"aria-label\": \"Home\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_5__.Logo, {\n className: \"h-10 w-auto\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 89,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 88,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden md:flex md:gap-x-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"/\",\n children: \"HOME\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 92,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"/story\",\n children: \"STORY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 93,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"/dahabiyas\",\n children: \"DAHABIYAS\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 94,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"/experiences\",\n children: \"EXPERIENCES\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 95,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"/itinerary\",\n children: \"ITINERARY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 96,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_NavLink__WEBPACK_IMPORTED_MODULE_6__.NavLink, {\n href: \"#pricing\",\n children: \"GALLERY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 97,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 91,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 87,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-x-5 md:gap-x-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n href: \"/register\",\n color: \"blue\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold tracking-wide\",\n children: \"Book Now\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 102,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 101,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"-mr-1 md:hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavigation, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 107,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 106,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 100,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 86,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 85,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n lineNumber: 84,\n columnNumber: 5\n }, this);\n}\n_c3 = Header;\nvar _c, _c1, _c2, _c3;\n$RefreshReg$(_c, \"MobileNavLink\");\n$RefreshReg$(_c1, \"MobileNavIcon\");\n$RefreshReg$(_c2, \"MobileNavigation\");\n$RefreshReg$(_c3, \"Header\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUU0QjtBQU1GO0FBQ0g7QUFFcUI7QUFDTTtBQUNWO0FBQ007QUFFOUMsU0FBU1UsY0FBYyxLQUFrQjtRQUFsQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFsQjtJQUNyQixxQkFDRSw4REFBQ1YscUlBQWFBO1FBQUNXLElBQUliLGlEQUFJQTtRQUFFVyxNQUFNQTtRQUFNRyxXQUFVO2tCQUM1Q0Y7Ozs7OztBQUdQO0tBTlNGO0FBUVQsU0FBU0ssY0FBYyxLQUFRO1FBQVIsRUFBRUMsSUFBSSxFQUFFLEdBQVI7SUFDckIscUJBQ0UsOERBQUNDO1FBQ0NDLGVBQVk7UUFDWkosV0FBVTtRQUNWSyxNQUFLO1FBQ0xDLGFBQWE7UUFDYkMsZUFBYzs7MEJBRWQsOERBQUNDO2dCQUNDQyxHQUFFO2dCQUNGVCxXQUFXVCxnREFBSUEsQ0FDYiw0QkFDQVcsUUFBUTs7Ozs7OzBCQUdaLDhEQUFDTTtnQkFDQ0MsR0FBRTtnQkFDRlQsV0FBV1QsZ0RBQUlBLENBQ2IsNEJBQ0EsQ0FBQ1csUUFBUTs7Ozs7Ozs7Ozs7O0FBS25CO01BekJTRDtBQTJCVCxTQUFTUztJQUNQLHFCQUNFLDhEQUFDdkIsK0hBQU9BOzswQkFDTiw4REFBQ0MscUlBQWFBO2dCQUNaWSxXQUFVO2dCQUNWVyxjQUFXOzBCQUVWO3dCQUFDLEVBQUVULElBQUksRUFBRTt5Q0FBSyw4REFBQ0Q7d0JBQWNDLE1BQU1BOzs7Ozs7Ozs7Ozs7MEJBRXRDLDhEQUFDYix1SUFBZUE7Z0JBQ2R1QixVQUFVO2dCQUNWWixXQUFVOzs7Ozs7MEJBRVosOERBQUNWLG9JQUFZQTtnQkFDWHNCLFVBQVU7Z0JBQ1ZaLFdBQVU7O2tDQUVWLDhEQUFDSjt3QkFBY0MsTUFBSztrQ0FBSTs7Ozs7O2tDQUN4Qiw4REFBQ0Q7d0JBQWNDLE1BQUs7a0NBQVM7Ozs7OztrQ0FDN0IsOERBQUNEO3dCQUFjQyxNQUFLO2tDQUFhOzs7Ozs7a0NBQ2pDLDhEQUFDRDt3QkFBY0MsTUFBSztrQ0FBZTs7Ozs7O2tDQUNuQyw4REFBQ0Ysd0RBQU9BO3dCQUFDRSxNQUFLO2tDQUFhOzs7Ozs7a0NBQzNCLDhEQUFDRDt3QkFBY0MsTUFBSztrQ0FBVzs7Ozs7O2tDQUMvQiw4REFBQ2dCO3dCQUFHYixXQUFVOzs7Ozs7a0NBQ2QsOERBQUNKO3dCQUFjQyxNQUFLO2tDQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJckM7TUE1QlNhO0FBOEJGLFNBQVNJO0lBQ2QscUJBQ0UsOERBQUNDO1FBQU9mLFdBQVU7a0JBQ2hCLDRFQUFDUCw0REFBU0E7c0JBQ1IsNEVBQUN1QjtnQkFBSWhCLFdBQVU7O2tDQUNiLDhEQUFDaUI7d0JBQUlqQixXQUFVOzswQ0FDYiw4REFBQ2QsaURBQUlBO2dDQUFDVyxNQUFLO2dDQUFJYyxjQUFXOzBDQUN4Qiw0RUFBQ2pCLGtEQUFJQTtvQ0FBQ00sV0FBVTs7Ozs7Ozs7Ozs7MENBRWxCLDhEQUFDaUI7Z0NBQUlqQixXQUFVOztrREFDYiw4REFBQ0wsd0RBQU9BO3dDQUFDRSxNQUFLO2tEQUFJOzs7Ozs7a0RBQ2xCLDhEQUFDRix3REFBT0E7d0NBQUNFLE1BQUs7a0RBQVM7Ozs7OztrREFDdkIsOERBQUNGLHdEQUFPQTt3Q0FBQ0UsTUFBSztrREFBYTs7Ozs7O2tEQUMzQiw4REFBQ0Ysd0RBQU9BO3dDQUFDRSxNQUFLO2tEQUFlOzs7Ozs7a0RBQzdCLDhEQUFDRix3REFBT0E7d0NBQUNFLE1BQUs7a0RBQWE7Ozs7OztrREFDM0IsOERBQUNGLHdEQUFPQTt3Q0FBQ0UsTUFBSztrREFBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUc3Qiw4REFBQ29CO3dCQUFJakIsV0FBVTs7MENBQ2IsOERBQUNSLHNEQUFNQTtnQ0FBQ0ssTUFBSztnQ0FBWXFCLE9BQU07MENBQzdCLDRFQUFDQztvQ0FBS25CLFdBQVU7OENBQThCOzs7Ozs7Ozs7OzswQ0FJaEQsOERBQUNpQjtnQ0FBSWpCLFdBQVU7MENBQ2IsNEVBQUNVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9mO01BaENnQkkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvSGVhZGVyLmpzeD8zY2I2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQge1xuICBQb3BvdmVyLFxuICBQb3BvdmVyQnV0dG9uLFxuICBQb3BvdmVyQmFja2Ryb3AsXG4gIFBvcG92ZXJQYW5lbCxcbn0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xuXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvQnV0dG9uJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB7IExvZ28gfSBmcm9tICdAL2NvbXBvbmVudHMvTG9nbydcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdAL2NvbXBvbmVudHMvTmF2TGluaydcblxuZnVuY3Rpb24gTW9iaWxlTmF2TGluayh7IGhyZWYsIGNoaWxkcmVuIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlckJ1dHRvbiBhcz17TGlua30gaHJlZj17aHJlZn0gY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHAtMlwiPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvUG9wb3ZlckJ1dHRvbj5cbiAgKVxufVxuXG5mdW5jdGlvbiBNb2JpbGVOYXZJY29uKHsgb3BlbiB9KSB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGNsYXNzTmFtZT1cImgtMy41IHctMy41IG92ZXJmbG93LXZpc2libGUgc3Ryb2tlLXNsYXRlLTcwMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0wIDFIMTRNMCA3SDE0TTAgMTNIMTRcIlxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgJ29yaWdpbi1jZW50ZXIgdHJhbnNpdGlvbicsXG4gICAgICAgICAgb3BlbiAmJiAnc2NhbGUtOTAgb3BhY2l0eS0wJyxcbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTIgMkwxMiAxMk0xMiAyTDIgMTJcIlxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgJ29yaWdpbi1jZW50ZXIgdHJhbnNpdGlvbicsXG4gICAgICAgICAgIW9wZW4gJiYgJ3NjYWxlLTkwIG9wYWNpdHktMCcsXG4gICAgICAgICl9XG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmZ1bmN0aW9uIE1vYmlsZU5hdmlnYXRpb24oKSB7XG4gIHJldHVybiAoXG4gICAgPFBvcG92ZXI+XG4gICAgICA8UG9wb3ZlckJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwIGZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdWktbm90LWZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBOYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAgeyh7IG9wZW4gfSkgPT4gPE1vYmlsZU5hdkljb24gb3Blbj17b3Blbn0gLz59XG4gICAgICA8L1BvcG92ZXJCdXR0b24+XG4gICAgICA8UG9wb3ZlckJhY2tkcm9wXG4gICAgICAgIHRyYW5zaXRpb25cbiAgICAgICAgY2xhc3NOYW1lPVwiZml4ZWQgaW5zZXQtMCBiZy1zbGF0ZS0zMDAvNTAgZHVyYXRpb24tMTUwIGRhdGEtW2Nsb3NlZF06b3BhY2l0eS0wIGRhdGEtW2VudGVyXTplYXNlLW91dCBkYXRhLVtsZWF2ZV06ZWFzZS1pblwiXG4gICAgICAvPlxuICAgICAgPFBvcG92ZXJQYW5lbFxuICAgICAgICB0cmFuc2l0aW9uXG4gICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LXgtMCB0b3AtZnVsbCBtdC00IGZsZXggb3JpZ2luLXRvcCBmbGV4LWNvbCByb3VuZGVkLWxnIGJnLXdoaXRlIHAtNCB0ZXh0LWxnIHRyYWNraW5nLXRpZ2h0IHRleHQtc2xhdGUtOTAwIHNoYWRvdy14bCByaW5nLTEgcmluZy1zbGF0ZS05MDAvNSBkYXRhLVtjbG9zZWRdOnNjYWxlLTk1IGRhdGEtW2Nsb3NlZF06b3BhY2l0eS0wIGRhdGEtW2VudGVyXTpkdXJhdGlvbi0xNTAgZGF0YS1bbGVhdmVdOmR1cmF0aW9uLTEwMCBkYXRhLVtlbnRlcl06ZWFzZS1vdXQgZGF0YS1bbGVhdmVdOmVhc2UtaW5cIlxuICAgICAgPlxuICAgICAgICA8TW9iaWxlTmF2TGluayBocmVmPVwiL1wiPkhPTUU8L01vYmlsZU5hdkxpbms+XG4gICAgICAgIDxNb2JpbGVOYXZMaW5rIGhyZWY9XCIvc3RvcnlcIj5TVE9SWTwvTW9iaWxlTmF2TGluaz5cbiAgICAgICAgPE1vYmlsZU5hdkxpbmsgaHJlZj1cIi9kYWhhYml5YXNcIj5EQUhBQklZQVM8L01vYmlsZU5hdkxpbms+XG4gICAgICAgIDxNb2JpbGVOYXZMaW5rIGhyZWY9XCIvZXhwZXJpZW5jZXNcIj5FWFBFUklFTkNFUzwvTW9iaWxlTmF2TGluaz5cbiAgICAgICAgPE5hdkxpbmsgaHJlZj1cIi9pdGluZXJhcnlcIj5JVElORVJBUlk8L05hdkxpbms+XG4gICAgICAgIDxNb2JpbGVOYXZMaW5rIGhyZWY9XCIjcHJpY2luZ1wiPkdBTExFUlk8L01vYmlsZU5hdkxpbms+XG4gICAgICAgIDxociBjbGFzc05hbWU9XCJtLTIgYm9yZGVyLXNsYXRlLTMwMC80MFwiIC8+XG4gICAgICAgIDxNb2JpbGVOYXZMaW5rIGhyZWY9XCIvbG9naW5cIj5CT09LIE5PVzwvTW9iaWxlTmF2TGluaz5cbiAgICAgIDwvUG9wb3ZlclBhbmVsPlxuICAgIDwvUG9wb3Zlcj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwicHktMTBcIj5cbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxuYXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei01MCBmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgbWQ6Z2FwLXgtMTJcIj5cbiAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIjXCIgYXJpYS1sYWJlbD1cIkhvbWVcIj5cbiAgICAgICAgICAgICAgPExvZ28gY2xhc3NOYW1lPVwiaC0xMCB3LWF1dG9cIiAvPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6ZmxleCBtZDpnYXAteC02XCI+XG4gICAgICAgICAgICAgIDxOYXZMaW5rIGhyZWY9XCIvXCI+SE9NRTwvTmF2TGluaz5cbiAgICAgICAgICAgICAgPE5hdkxpbmsgaHJlZj1cIi9zdG9yeVwiPlNUT1JZPC9OYXZMaW5rPlxuICAgICAgICAgICAgICA8TmF2TGluayBocmVmPVwiL2RhaGFiaXlhc1wiPkRBSEFCSVlBUzwvTmF2TGluaz5cbiAgICAgICAgICAgICAgPE5hdkxpbmsgaHJlZj1cIi9leHBlcmllbmNlc1wiPkVYUEVSSUVOQ0VTPC9OYXZMaW5rPlxuICAgICAgICAgICAgICA8TmF2TGluayBocmVmPVwiL2l0aW5lcmFyeVwiPklUSU5FUkFSWTwvTmF2TGluaz5cbiAgICAgICAgICAgICAgPE5hdkxpbmsgaHJlZj1cIiNwcmljaW5nXCI+R0FMTEVSWTwvTmF2TGluaz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtNSBtZDpnYXAteC04XCI+XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIvcmVnaXN0ZXJcIiBjb2xvcj1cImJsdWVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlXCI+XG4gICAgICAgICAgICAgICAgQm9vayBOb3dcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIi1tci0xIG1kOmhpZGRlblwiPlxuICAgICAgICAgICAgICA8TW9iaWxlTmF2aWdhdGlvbiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmF2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9oZWFkZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJMaW5rIiwiUG9wb3ZlciIsIlBvcG92ZXJCdXR0b24iLCJQb3BvdmVyQmFja2Ryb3AiLCJQb3BvdmVyUGFuZWwiLCJjbHN4IiwiQnV0dG9uIiwiQ29udGFpbmVyIiwiTG9nbyIsIk5hdkxpbmsiLCJNb2JpbGVOYXZMaW5rIiwiaHJlZiIsImNoaWxkcmVuIiwiYXMiLCJjbGFzc05hbWUiLCJNb2JpbGVOYXZJY29uIiwib3BlbiIsInN2ZyIsImFyaWEtaGlkZGVuIiwiZmlsbCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInBhdGgiLCJkIiwiTW9iaWxlTmF2aWdhdGlvbiIsImFyaWEtbGFiZWwiLCJ0cmFuc2l0aW9uIiwiaHIiLCJIZWFkZXIiLCJoZWFkZXIiLCJuYXYiLCJkaXYiLCJjb2xvciIsInNwYW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Header.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/Logo.jsx":
/*!*********************************!*\
!*** ./src/components/Logo.jsx ***!
\*********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: function() { return /* binding */ Logo; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n\nfunction Logo(props) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"100\",\n height: \"45\",\n version: \"1\",\n viewBox: \"0 0 75 33.75\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"ac7af5fa33\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M.277 3.988h22.797v25.313H.277zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 12,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 11,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"f516c220b7\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M64 10h10.723v11H64zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 15,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"510d0ad114\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M.277 3.988h22.797v25.313H.277zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 18,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 17,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"clipPath\", {\n id: \"d464c29918\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M.277 3.988h22.797v25.313H.277zm0 0\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 20,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 10,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M16.117 19.422l4.024 2.324h-5.368zm-4.441 7.32l-2.778-4.808h5.555zM3.21 21.746l4.023-2.324 1.344 2.324zm3.93-2.484l-4.024 2.324 2.684-4.648zm-4.118-7.508h5.555l-2.777 4.809zm8.559-4.832v4.648H8.898zm.188 4.648V6.922l2.683 4.648zm8.558.184l-2.777 4.809-2.778-4.81zm-4.406 7.633l-1.363 2.36H8.793l-1.363-2.36zm-8.652-.278L5.91 16.75l2.883-4.996h2.723zm4.566-7.355h2.723l2.886 4.996-1.363 2.36zm-4.313 7.285l4.059-7.031v4.687zm4.153-2.18l4.058 2.344H7.617zm.094-4.851l4.058 7.031-4.058-2.344zm8.464 9.578l-4.023-2.324 1.34-2.325zM17.66 16.75l2.992-5.18h-5.984l-2.992-5.183-2.992 5.183h-5.98l2.987 5.18-2.988 5.184h5.98l2.993 5.18 2.992-5.18h5.984L17.66 16.75\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 24,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M11.676 19.203a2.45 2.45 0 11.003-4.903 2.45 2.45 0 01-.003 4.903zm0-5.09a2.64 2.64 0 00-2.637 2.637 2.64 2.64 0 002.637 2.637 2.64 2.64 0 002.636-2.637 2.64 2.64 0 00-2.636-2.637\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#ac7af5fa33)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M19.762 9.223a.047.047 0 00-.051-.028 3.995 3.995 0 00-.3.117.045.045 0 00-.02.055c.007.012.023.024.039.024.004 0 .008-.004.015-.004.094-.043.192-.082.29-.114.023-.007.035-.027.027-.05zm.62-.106c0-.02-.019-.035-.038-.035-.11.004-.215.02-.32.04-.024.003-.036.023-.032.046.004.016.02.031.04.031h.007c.102-.02.203-.031.309-.039.02 0 .039-.02.035-.043zm.595.086c.015 0 .035-.012.039-.031.004-.024-.012-.043-.036-.047a2.802 2.802 0 00-.316-.043c-.023 0-.043.016-.043.04 0 .019.016.038.035.042.106.008.207.02.313.04h.008zm.597.2c.016 0 .031-.012.035-.024.012-.02.004-.047-.015-.055a2.177 2.177 0 00-.301-.117c-.02-.008-.043.004-.05.023-.009.024.003.043.027.051.097.031.195.07.289.117.003 0 .011.004.015.004zm-3.144.765a.056.056 0 00.023.008.036.036 0 00.031-.016 2.34 2.34 0 01.203-.238c.016-.016.016-.04-.003-.055a.038.038 0 00-.055 0c-.074.078-.145.16-.207.246-.016.016-.012.043.008.055zm-.305.555l.016.004a.038.038 0 00.035-.028c.039-.094.086-.187.137-.277a.042.042 0 00-.012-.055c-.02-.012-.047-.004-.055.016-.055.09-.101.187-.144.285a.044.044 0 00.023.055zm.086 2.07c-.02.012-.027.035-.016.055.016.035.035.07.055.105.008.008.012.02.016.027a2.338 2.338 0 01.14.29c.004.015.02.023.035.023.008 0 .012 0 .016-.004.02-.008.031-.031.023-.05-.015-.04-.035-.079-.054-.118.008-.016.008-.031 0-.043-.04-.05-.074-.11-.106-.164-.02-.035-.039-.066-.054-.101-.012-.02-.036-.028-.055-.02zm-.246-1.461h.008c.02 0 .035-.012.039-.031.015-.106.035-.207.062-.305.008-.023-.004-.043-.027-.05-.02-.005-.043.007-.047.027-.031.105-.05.21-.066.316-.004.02.011.043.03.043zm-.008.633h.004a.045.045 0 00.039-.043 1.903 1.903 0 01-.016-.258v-.055c0-.023-.015-.039-.039-.039-.023 0-.039.016-.039.04v.054c0 .09.004.18.012.266.004.02.02.035.039.035zm.66 1.36c-.015-.016-.039-.02-.058-.005-.016.016-.016.04-.004.059.074.078.148.156.23.226.008.004.016.008.024.008a.044.044 0 00.03-.011c.016-.02.013-.043-.003-.059a1.928 1.928 0 01-.219-.219zm.41.421a.04.04 0 00.012.055c.086.058.18.113.277.164.004.004.012.004.016.004.016 0 .031-.008.035-.024.012-.02.004-.043-.015-.05a2.332 2.332 0 01-.27-.16.04.04 0 00-.055.011zm.145-4.215c.015-.008.023-.035.012-.054a.042.042 0 00-.055-.012c-.09.058-.18.12-.262.187-.02.012-.02.04-.008.055.008.012.02.016.032.016.007 0 .02-.004.027-.008.078-.067.164-.13.254-.184zm3.8 2.692c-.023-.004-.042.007-.05.03a2.6 2.6 0 01-.09.298c-.008.02 0 .043.023.05.004.004.008.004.012.004.016 0 .031-.011.04-.027.034-.098.07-.203.093-.305a.045.045 0 00-.027-.05zm0-.899c0 .02.02.035.04.035h.004c.023-.004.039-.023.035-.043a2.667 2.667 0 00-.063-.316c-.008-.023-.027-.035-.05-.027-.02.004-.032.027-.028.047.027.101.047.203.063.304zm-1.042 2.434c-.012-.016-.035-.02-.055-.008l-.133.082c-.09.05-.183.098-.281.137-.02.008-.027.031-.02.054.008.012.02.024.036.024.007 0 .011 0 .015-.004.102-.043.195-.09.29-.145.046-.027.093-.054.136-.082.02-.011.023-.039.012-.058zm-2.344.281c-.008.024.004.047.023.05.102.04.203.071.309.095h.008c.02 0 .035-.012.039-.032a.036.036 0 00-.027-.047 2.663 2.663 0 01-.301-.09c-.02-.007-.043.005-.051.024zm3.227-3.316c.003.015.019.027.035.027.007 0 .011 0 .015-.004.02-.008.032-.031.024-.05a2.189 2.189 0 00-.14-.29c-.009-.02-.036-.027-.056-.015-.02.007-.023.035-.015.054.05.09.097.184.137.278zm.222.87c-.023.005-.043.02-.043.044l.004.023c0 .094-.008.192-.02.285 0 .024.016.043.036.047h.004c.023 0 .039-.015.043-.035.007-.098.015-.2.015-.297v-.023c0-.024-.02-.043-.039-.043zm-1.203-2.046c.086.055.172.117.25.183.008.004.016.008.027.008a.036.036 0 00.032-.015c.011-.016.011-.043-.008-.055a1.969 1.969 0 00-.258-.188c-.02-.011-.043-.007-.059.012-.011.02-.003.043.016.055zm-1 4.637c.004.02.02.035.04.035h.003c.105-.016.215-.04.316-.07.02-.004.032-.028.028-.047-.008-.024-.028-.036-.051-.028-.098.028-.2.051-.305.063a.043.043 0 00-.031.047zm-.633.007c-.004.02.016.04.035.043.086.008.172.012.258.012h.063c.023 0 .043-.02.039-.043a.04.04 0 00-.04-.039 2.09 2.09 0 01-.312-.012c-.02 0-.039.016-.043.04zm1.918-.574c.008.008.02.016.031.016.008 0 .02-.004.028-.012a4.11 4.11 0 00.23-.223.047.047 0 00-.004-.058c-.015-.016-.043-.012-.054.004-.07.078-.145.148-.227.219-.016.011-.016.039-.004.054zm.39-3.437c.009.011.024.02.036.02.008 0 .016-.005.023-.009a.047.047 0 00.008-.058 2.466 2.466 0 00-.207-.246.038.038 0 00-.055 0 .042.042 0 00-.003.054c.074.075.14.157.199.239zm.196 2.656c-.05.09-.105.18-.164.266a.04.04 0 00.012.054c.008.004.015.008.023.008.012 0 .024-.008.031-.02.063-.085.118-.18.168-.273.012-.02.004-.043-.015-.055-.02-.007-.047 0-.055.02zm-8.984.43c.004.004.008.004.015.004.016 0 .032-.008.036-.024.039-.094.082-.18.128-.266.016-.027.036-.054.047-.085.012-.02.004-.043-.015-.055-.02-.008-.043 0-.051.02l-.035.058c-.004.004-.004.004-.004.008l-.012.015a1.77 1.77 0 01-.117.18.04.04 0 00.004.05l-.02.044c-.008.02.004.043.024.05zm.289 2.414a.04.04 0 00.012-.055 1.51 1.51 0 01-.106-.168.84.84 0 01-.055-.102c-.011-.02-.035-.027-.054-.015-.02.008-.028.031-.016.05a.895.895 0 00.055.106c.035.059.07.117.11.172.007.012.019.02.03.02.008 0 .016-.004.024-.008zm-.45-1.801h.008c.02 0 .036-.016.04-.035.015-.102.035-.203.062-.305.008-.02-.004-.043-.027-.05-.02-.005-.043.007-.047.03-.031.102-.051.208-.067.313a.04.04 0 00.032.047zm.653 1.988a.047.047 0 00-.059-.004.047.047 0 00-.004.059c.07.078.149.156.23.226.009.008.017.008.024.008a.044.044 0 00.032-.011c.015-.016.011-.043-.004-.055a2.35 2.35 0 01-.22-.223zm-.711-1.715v.055c0 .09.004.18.012.266.004.02.02.035.039.035h.004c.023 0 .039-.02.035-.043a2.846 2.846 0 01-.012-.258v-.055a.04.04 0 00-.039-.039c-.023 0-.039.016-.039.04zm3.668-2.207c.016 0 .031-.008.035-.023.012-.02.004-.043-.02-.055a3.352 3.352 0 00-.296-.117c-.02-.008-.043.004-.051.027a.035.035 0 00.027.047c.098.035.196.074.29.117.003.004.011.004.015.004zm.355 4.36a.04.04 0 00-.054-.012l-.133.082c-.09.05-.184.098-.281.14-.02.008-.028.032-.02.051.008.016.02.024.035.024.008 0 .012 0 .016-.004.098-.04.195-.09.289-.14.047-.028.094-.06.137-.087a.04.04 0 00.011-.054zm-2.757-4.227a.042.042 0 00.011-.055c-.011-.02-.035-.027-.054-.015-.094.058-.18.12-.262.187-.02.012-.02.04-.008.055.008.012.02.016.031.016.008 0 .02-.004.024-.008a2.34 2.34 0 01.258-.18zm-1.172 2.664c-.02.004-.035.028-.028.047.024.106.055.211.09.309.008.015.024.027.04.027.003 0 .007 0 .011-.004.023-.008.031-.031.023-.05a2.582 2.582 0 01-.085-.298c-.008-.023-.028-.035-.051-.03zm1.761-2.976c-.007-.02-.03-.032-.05-.024-.102.031-.203.07-.301.113-.02.012-.027.036-.02.055a.043.043 0 00.04.024c.003 0 .007 0 .015-.004.094-.043.191-.082.29-.114.023-.004.03-.027.026-.05zm.73 5.023h.063a.04.04 0 000-.078H16.055c-.075 0-.145-.004-.22-.012-.019-.004-.034.008-.042.028-.016 0-.027.003-.043.003-.023.004-.04.024-.035.047.004.02.02.035.039.035h.004c.097-.015.195-.019.293-.023h.035zm-.108-5.125a.04.04 0 00-.04-.039 2.87 2.87 0 00-.32.04c-.023.003-.035.023-.031.046.004.02.02.031.039.031h.004c.105-.02.207-.031.312-.035.02-.004.04-.023.036-.043zm.59.086c.019 0 .035-.016.038-.035.008-.02-.007-.043-.03-.047a2.915 2.915 0 00-.317-.04.037.037 0 00-.043.036c0 .024.015.043.035.043a2.664 2.664 0 01.316.043zm2.015 1.793c-.008-.02-.027-.035-.05-.027-.02.004-.032.027-.028.046.027.102.047.204.062.31 0 .019.02.03.04.03h.003c.024 0 .04-.023.036-.043a3.018 3.018 0 00-.063-.316zm.086.637a.04.04 0 00-.04-.04c-.023 0-.042.016-.042.04v.023c0 .098-.004.192-.016.29 0 .019.016.038.035.042h.004c.02 0 .04-.015.04-.035.011-.098.019-.2.019-.297zm-4.047 2.11c-.012.019-.008.042.012.054.086.062.18.117.277.164.004.004.012.004.016.004a.041.041 0 00.035-.02c.012-.02.004-.047-.016-.055a2.332 2.332 0 01-.27-.16c-.019-.011-.042-.007-.054.012zm3.941-1.52c-.019-.008-.039.007-.046.027a2.381 2.381 0 01-.09.297c-.008.023 0 .047.023.054h.012a.043.043 0 00.039-.023 2.81 2.81 0 00.094-.309c.004-.02-.008-.043-.032-.046zm-.851 1.39c.008.012.02.016.031.016.008 0 .02-.004.028-.012.078-.066.156-.144.23-.223.012-.015.012-.043-.004-.054a.042.042 0 00-.058 0 1.963 1.963 0 01-.223.218.042.042 0 00-.004.055zm-.285-4.07c.086.055.172.117.25.183.008.008.015.008.027.008a.044.044 0 00.031-.011c.012-.02.012-.043-.007-.06a3.106 3.106 0 00-.258-.187c-.02-.011-.047-.007-.059.012-.012.02-.004.043.016.055zm-3.203.32l-.118.13c.032-.08.055-.161.075-.243a.035.035 0 00-.028-.047c-.02-.004-.043.008-.047.027a2.401 2.401 0 01-.097.297.04.04 0 00.023.051c0 .004.004.004.004.004a.119.119 0 00-.02.027c-.015.02-.011.043.008.055.004.008.016.008.024.008a.036.036 0 00.031-.016c.063-.082.129-.16.203-.234.016-.016.012-.043-.004-.059a.038.038 0 00-.054 0zm.957 4.176c-.008.02.004.043.023.05.102.036.203.067.309.09h.008c.02 0 .035-.011.039-.03.004-.02-.008-.044-.032-.048a2.83 2.83 0 01-.297-.085.038.038 0 00-.05.023zm3.172-1.223c-.02-.011-.047-.004-.055.016-.05.09-.106.18-.164.266-.012.02-.008.043.012.054.003.008.011.008.023.008a.036.036 0 00.031-.016c.063-.09.117-.18.168-.273.008-.02.004-.047-.015-.055zm-.25-2.636a.05.05 0 00.035.015c.008 0 .015-.004.023-.008a.042.042 0 00.008-.054l-.078-.102c.004 0 .008.004.012.004.003 0 .007-.004.015-.004.02-.008.028-.031.024-.05-.04-.098-.067-.2-.09-.301a.045.045 0 00-.051-.028c-.02.004-.035.028-.027.047.023.102.05.2.086.297a1.354 1.354 0 00-.098-.113.038.038 0 00-.055 0c-.015.015-.02.039-.004.054.07.079.141.157.2.243zm-.153 9.285a.045.045 0 00.04-.043c-.005-.043-.005-.09-.005-.133 0-.059.004-.121.008-.18 0-.02-.015-.039-.039-.043-.02 0-.039.016-.043.04-.004.058-.004.12-.004.183 0 .047 0 .09.004.137 0 .02.016.039.04.039zm1.942-2.645a.046.046 0 00-.051-.031 2.786 2.786 0 00-.305.102c-.02.007-.031.03-.023.05.008.016.023.028.039.028.004 0 .008-.004.012-.004.097-.04.199-.07.296-.098.024-.004.036-.027.032-.047zm.625-.074a.04.04 0 00-.04-.04 2.21 2.21 0 00-.32.024c-.023 0-.039.024-.035.043.004.02.02.035.04.035h.003c.106-.015.211-.02.313-.023.023 0 .039-.016.039-.039zm-.555 4.992a2.015 2.015 0 01-.3-.082c-.02-.008-.044.004-.052.024-.007.02.004.043.028.05.097.035.203.067.308.086 0 .004.004.004.008.004.02 0 .035-.015.04-.031.003-.023-.009-.043-.032-.05zm-.586-.203a1.524 1.524 0 01-.137-.074c-.09-.051-.18-.11-.261-.172-.016-.016-.043-.012-.055.008-.012.015-.012.043.008.054a2.486 2.486 0 00.41.254c.004.004.012.004.015.004a.043.043 0 00.04-.023c.007-.02 0-.043-.02-.051zm-.652-4.133c-.075.07-.145.145-.211.223a.806.806 0 00.047-.137c.007-.023-.004-.043-.028-.05a.035.035 0 00-.047.027 2.971 2.971 0 01-.109.293c-.008.02 0 .043.02.05a.03.03 0 00.015.004.043.043 0 00.04-.023l.046-.117c0 .008.008.015.012.023.008.004.02.008.027.008a.036.036 0 00.031-.016c.067-.078.137-.156.211-.226.02-.016.02-.04.004-.055-.015-.015-.039-.02-.058-.004zm-.516 2.922c-.008-.02-.031-.027-.05-.02a.039.039 0 00-.02.055c.043.094.093.192.148.282.008.011.02.019.035.019.008 0 .012 0 .02-.004a.04.04 0 00.012-.055 3.735 3.735 0 01-.145-.277zm-.184-.594c-.003-.023-.023-.035-.046-.03a.04.04 0 00-.032.046c.02.105.043.207.075.312.007.016.023.028.039.028.003 0 .007 0 .011-.004a.035.035 0 00.028-.047 2.881 2.881 0 01-.075-.305zm.348-1.847a.044.044 0 00-.058.015c-.02.032-.04.067-.063.102l-.012.027c-.004 0-.004.004-.008.004-.05.09-.109.176-.175.258a.047.047 0 00.008.059.056.056 0 00.023.007c.012 0 .023-.007.031-.015.028-.035.055-.07.078-.106.016 0 .028-.008.035-.023.028-.059.06-.113.09-.172a.832.832 0 01.063-.098c.012-.02.004-.043-.012-.058zm.16 2.972c-.011-.02-.039-.02-.054-.007-.02.015-.02.039-.008.058.066.082.14.16.218.238.008.004.016.008.028.008.008 0 .02-.004.027-.012a.038.038 0 000-.054 2.95 2.95 0 01-.21-.23zm-.445-2.406a.035.035 0 00-.047.027 2.775 2.775 0 00-.086.309.04.04 0 00.031.047h.008c.02 0 .035-.012.04-.031.023-.102.05-.203.081-.301.008-.02-.004-.043-.027-.05zm4.531-.516c.008 0 .016 0 .024-.003.015-.012.023-.04.011-.055a2.483 2.483 0 00-.195-.258c-.012-.016-.039-.02-.055-.004-.015.012-.02.04-.004.055.067.078.13.164.184.25.008.012.023.015.035.015zm-.41-.48a.044.044 0 00.031-.012c.016-.015.012-.043-.004-.054a2.47 2.47 0 00-.25-.204c-.02-.011-.043-.007-.054.008a.047.047 0 00.008.059c.085.058.167.125.242.195.008.004.02.008.027.008zm.05 3.613a2.338 2.338 0 01-.234.207c-.02.012-.023.04-.007.055.007.012.02.016.03.016a.056.056 0 00.024-.008c.086-.067.168-.137.242-.211a.042.042 0 000-.059.038.038 0 00-.054 0zm.778-1.71c-.023 0-.043.019-.043.038a2.822 2.822 0 01-.031.313c-.004.02.012.039.031.043H23c.02 0 .035-.012.04-.031.015-.106.026-.215.03-.32.004-.024-.015-.04-.035-.044zm-.098.624c-.019-.004-.042.008-.046.028a2.38 2.38 0 01-.11.293c-.008.02 0 .043.02.05a.03.03 0 00.015.004.043.043 0 00.04-.023c.042-.098.078-.2.109-.3.008-.02-.004-.044-.027-.052zm-.242.582a.044.044 0 00-.058.016c-.051.09-.11.176-.176.258-.012.015-.008.039.008.055a.056.056 0 00.023.007c.016 0 .028-.004.035-.015.063-.082.125-.172.18-.266a.042.042 0 00-.012-.055zm.2-2.058c.003 0 .007 0 .011-.004.024-.008.035-.031.028-.05a2.81 2.81 0 00-.125-.298c-.008-.02-.032-.027-.051-.02-.024.012-.031.036-.02.055.047.094.086.192.117.29.008.015.024.027.04.027zm.09.582c.003.02.019.035.038.035h.004a.045.045 0 00.04-.043 4.52 4.52 0 00-.047-.32c-.008-.02-.028-.035-.047-.028-.024.004-.035.024-.032.047.02.102.036.203.043.309zm-1.79 2.61c-.101.027-.203.05-.304.07-.024 0-.036.023-.036.042.004.02.024.036.043.036h.004c.106-.02.211-.043.313-.075a.035.035 0 00.027-.046.035.035 0 00-.047-.028zm-1.953-4.669c-.094.051-.183.11-.27.172-.019.012-.023.04-.007.055.008.012.02.015.031.015.008 0 .016 0 .024-.003.082-.063.171-.118.261-.168.02-.012.028-.036.016-.055-.008-.02-.035-.027-.055-.016zm1.86-.164c.02 0 .035-.012.039-.031a.036.036 0 00-.028-.047 2.25 2.25 0 00-.316-.059c-.024-.003-.043.012-.043.036-.004.02.012.039.035.043a2.771 2.771 0 01.313.058zm-.52 4.93c-.105.004-.21.004-.312-.008-.024 0-.043.016-.043.04-.004.019.015.038.035.042.074.004.152.008.226.008h.094c.023 0 .04-.02.04-.043 0-.02-.02-.04-.04-.04zm1.11-4.703a.041.041 0 00.035-.02c.011-.02.003-.047-.016-.055a2.505 2.505 0 00-.293-.136c-.02-.008-.043.004-.05.023-.009.02.003.043.023.051.097.04.191.082.28.133a.042.042 0 00.02.004zm.074 4.36c-.09.05-.184.097-.278.14-.023.008-.031.031-.023.05a.043.043 0 00.039.024c.004 0 .008 0 .016-.004.097-.039.195-.09.285-.145.02-.011.027-.035.015-.054-.011-.02-.035-.024-.054-.012zm-6.211-2.255a2.63 2.63 0 01-.301-.082.038.038 0 00-.05.024c-.009.02.003.043.023.05.101.036.207.063.312.086h.008c.02 0 .035-.011.039-.03a.043.043 0 00-.031-.048zm-1.93-2.937c.023-.102.047-.203.082-.301.008-.024-.004-.043-.027-.05-.02-.009-.043.003-.051.023a4.072 4.072 0 00-.082.312.043.043 0 00.031.047h.008c.02 0 .035-.012.039-.031zm.027 1.28h.012c.024-.007.035-.026.027-.05a2.6 2.6 0 01-.074-.3c-.004-.024-.023-.04-.047-.036a.043.043 0 00-.03.047c.019.106.042.211.073.313a.04.04 0 00.04.027zm2.52 1.712c-.102.004-.207 0-.309-.008-.023 0-.043.016-.043.035-.004.024.012.043.035.043.075.008.149.012.227.012h.094c.023-.004.039-.02.039-.043 0-.023-.02-.04-.043-.04zm-2.047-.938c-.012-.02-.04-.023-.055-.007-.004 0-.004.003-.004.003-.004-.011-.007-.023-.015-.035-.008-.02-.031-.03-.051-.02-.02.009-.031.032-.02.052.04.093.075.195.102.293.008.02.023.03.04.03l.01-.003c.02-.004.036-.027.028-.047-.015-.055-.035-.11-.055-.164.055.062.114.125.172.184.008.007.02.011.032.011.007 0 .02-.004.027-.011a.038.038 0 000-.055 3.875 3.875 0 01-.211-.23zm1.355-4.039c-.003-.02-.027-.03-.046-.027a2.533 2.533 0 00-.305.102c-.02.007-.031.03-.024.05.008.016.02.024.04.024h.011c.098-.04.196-.07.297-.098.024-.008.035-.027.027-.05zm-1.933 2.25c-.02-.004-.04.016-.043.035-.004.063-.004.125-.004.188v.137c.004.02.02.035.043.035a.04.04 0 00.039-.04c-.004-.046-.004-.09-.004-.132 0-.059.004-.121.008-.18 0-.023-.016-.043-.04-.043zm1.422 2.465c-.047-.02-.094-.047-.137-.07a4.328 4.328 0 01-.262-.172c-.015-.016-.043-.012-.054.008-.016.015-.012.039.007.054a2.837 2.837 0 00.41.254c.005 0 .012.004.016.004.016 0 .031-.008.035-.023.012-.02.004-.043-.015-.055zm-.653-4.129a2.468 2.468 0 00-.218.235c-.016.015-.012.043.004.054a.035.035 0 00.027.012c.012 0 .023-.008.031-.016.067-.078.137-.156.211-.226.016-.016.02-.04.004-.059a.042.042 0 00-.059 0zm.52-.375c-.094.051-.184.11-.27.172-.02.012-.023.035-.007.055.007.012.02.015.03.015.009 0 .016 0 .024-.007.082-.059.172-.118.262-.164.02-.012.027-.036.016-.055-.008-.02-.036-.027-.055-.016zm3.742 2.055c.004.023.02.039.04.039h.003a.045.045 0 00.04-.043 4.212 4.212 0 00-.048-.32c-.008-.02-.027-.035-.05-.032-.02.004-.036.028-.028.047.02.102.035.207.043.309zm-.582-1.473c-.02.016-.02.04-.004.059.067.078.13.16.184.25.008.012.023.015.035.015.008 0 .016 0 .02-.003.019-.016.027-.04.011-.059a2.056 2.056 0 00-.191-.254.039.039 0 00-.055-.008zm-4.035.274a.04.04 0 00-.055.011c-.02.036-.043.07-.062.106-.031.055-.063.117-.094.176-.008.02 0 .043.02.054.007 0 .011.004.02.004a.042.042 0 00.034-.023 2.379 2.379 0 01.153-.274c.011-.015.003-.043-.016-.054zm4.488.59a.04.04 0 00.04.027h.011c.023-.008.031-.031.027-.05a2.503 2.503 0 00-.125-.298c-.007-.02-.03-.027-.054-.02-.02.012-.028.036-.016.055.043.094.086.188.117.286zm-1.66 3.222c-.102.028-.203.051-.305.067-.023.004-.039.023-.035.047.004.019.024.035.04.035.003 0 .007-.004.007-.004.106-.016.211-.04.313-.07.023-.004.035-.028.027-.051-.004-.02-.027-.032-.047-.024zm.496-4.605c.016 0 .027-.008.035-.024.012-.02.004-.043-.015-.054a2.484 2.484 0 00-.293-.133c-.02-.008-.043.004-.051.023-.008.02.004.043.023.051.098.04.192.082.282.129.007.004.011.008.02.008zm-.59-.23c.02 0 .035-.012.04-.028.007-.023-.008-.043-.028-.05-.055-.013-.113-.024-.168-.036.082-.016.164-.035.246-.055a.047.047 0 00.027-.05c-.007-.02-.027-.036-.05-.028-.098.028-.203.051-.305.067-.02.003-.035.023-.031.043v.007c-.012-.004-.024-.004-.035-.007-.024 0-.043.015-.043.035a.04.04 0 00.03.047c.106.011.208.03.31.054h.007zm.664 4.585c-.09.055-.183.102-.277.14-.023.013-.031.036-.023.056a.043.043 0 00.039.023c.004 0 .007 0 .015-.004a2.79 2.79 0 00.285-.144c.02-.012.024-.036.016-.055-.012-.02-.039-.027-.055-.016zm.547-.379a.042.042 0 00-.058 0c-.07.075-.149.14-.23.207-.02.012-.024.035-.009.055.008.008.02.016.032.016.007 0 .015-.004.023-.008.086-.067.168-.137.242-.215a.038.038 0 000-.055zm.68-1.316h.008c.02 0 .035-.012.039-.031.015-.106.027-.215.031-.32a.037.037 0 00-.035-.044c-.024 0-.043.016-.043.04a2.753 2.753 0 01-.031.308c-.004.023.008.043.03.047zm-.785-2.297a.044.044 0 00.031-.012.047.047 0 00-.004-.058 3.105 3.105 0 00-.25-.2c-.02-.015-.043-.007-.055.008-.015.02-.011.043.008.055.086.063.168.129.242.195.008.008.02.012.028.012zm-7.352 11.652c-.09-.05-.18-.105-.261-.168-.02-.015-.043-.011-.055.008-.016.016-.012.043.008.055.086.062.175.121.27.176.003.004.01.004.019.004a.047.047 0 00.035-.02c.008-.02.004-.043-.016-.055zm.707-4.714c-.105.023-.207.05-.308.085-.024.004-.032.028-.028.051a.043.043 0 00.04.024h.011c.098-.035.2-.063.3-.082.024-.004.036-.024.032-.047a.04.04 0 00-.047-.031zm-.605.207a2.46 2.46 0 00-.281.156.04.04 0 00-.012.055c.008.011.02.019.035.019.008 0 .012-.004.02-.008.085-.054.18-.105.273-.152.02-.008.027-.031.016-.05-.008-.024-.032-.032-.051-.02zm.472 4.742a2.342 2.342 0 01-.293-.098c-.023-.008-.046 0-.054.02a.044.044 0 00.023.054c.098.04.2.075.305.102h.008c.02 0 .035-.012.039-.027.008-.024-.004-.043-.028-.051zm-1.011-4.395a2.49 2.49 0 00-.23.223c-.016.015-.016.043 0 .055.007.007.019.011.027.011a.044.044 0 00.03-.011c.071-.079.145-.149.223-.215.02-.016.02-.04.004-.059-.011-.015-.039-.015-.054-.004zm-.606 3.035c-.008-.02-.031-.027-.054-.02a.045.045 0 00-.02.056c.047.097.098.19.156.28.008.012.02.02.032.02.007 0 .015-.004.023-.008.02-.011.023-.035.012-.054a2.303 2.303 0 01-.149-.274zm-.191-.59c-.004-.023-.024-.035-.047-.03a.04.04 0 00-.031.046c.02.106.047.207.078.309a.04.04 0 00.039.027h.012c.023-.008.035-.027.027-.05a2.614 2.614 0 01-.078-.301zm.523 1.118c-.015-.016-.039-.02-.058-.004-.016.012-.02.039-.004.055.066.082.14.16.219.234a.035.035 0 00.027.012c.012 0 .02-.004.027-.012a.042.042 0 000-.059 2.3 2.3 0 01-.21-.226zm1.903.918c-.106 0-.211-.008-.313-.024-.02-.004-.043.012-.043.035-.004.024.012.043.031.043.106.016.215.024.32.028h.005c.02 0 .039-.02.039-.04 0-.023-.02-.042-.04-.042zm-2.008-4.02c-.02-.012-.043-.008-.055.012a2.422 2.422 0 00-.172.27c-.011.019-.004.046.016.054a.03.03 0 00.02.008.042.042 0 00.035-.024c.046-.09.105-.18.164-.261a.047.047 0 00-.008-.059zm2.797-.957c-.098-.027-.2-.05-.301-.07.05-.008.098-.02.148-.031.02-.004.032-.028.028-.047a.043.043 0 00-.047-.032 2.04 2.04 0 01-.309.055.046.046 0 00-.035.043c.004.02.02.035.04.035h.003c.043-.004.082-.008.125-.015-.008.004-.012.011-.012.023-.004.02.012.04.032.043.101.02.203.043.304.074h.012a.038.038 0 00.035-.027c.008-.02-.004-.043-.023-.05zm.847.445c-.015-.011-.043-.011-.054.008-.016.016-.012.043.004.055.082.066.16.137.234.207a.035.035 0 00.027.012c.012 0 .02-.004.028-.012.015-.012.015-.04 0-.055a2.516 2.516 0 00-.239-.215zm.809 2.844c-.02-.008-.043.004-.05.024a2.314 2.314 0 01-.122.285c-.012.02-.004.047.016.054a.042.042 0 00.02.004.041.041 0 00.034-.02c.051-.097.09-.194.13-.296.003-.02-.005-.043-.028-.05zm-.274.567a.042.042 0 00-.054.011 2.831 2.831 0 01-.192.25.042.042 0 00.004.055c.008.008.02.008.028.008a.044.044 0 00.03-.012c.071-.082.134-.168.196-.254.012-.02.008-.043-.011-.058zm.403-1.188a.046.046 0 00-.047.04 1.978 1.978 0 01-.047.304c-.004.023.012.043.031.05h.008c.02 0 .035-.011.04-.03.023-.106.038-.212.05-.317 0-.023-.016-.043-.035-.047zm-.031-.629c-.024.004-.036.024-.036.047.02.102.028.203.032.309 0 .02.02.039.039.039.023 0 .039-.02.039-.043a2.952 2.952 0 00-.028-.32.04.04 0 00-.046-.032zm-5.043.637c.02-.004.039-.024.035-.043-.004-.055-.004-.106-.004-.16 0-.102.008-.207.02-.309.003-.023-.012-.043-.036-.047-.023 0-.043.016-.043.035-.015.106-.02.215-.02.32 0 .055 0 .11.005.165 0 .02.02.039.039.039h.004zm2.656-2.785h-.152-.004a4.051 4.051 0 01-.313-.024c-.02-.004-.043.012-.043.032a.04.04 0 00.031.046c.043.004.086.012.13.012.007.012.019.02.03.02h.004c.102-.008.207-.008.313-.004.02 0 .039-.016.043-.04 0-.023-.02-.038-.04-.042zm1.55 4.445c-.074.07-.156.137-.242.195-.02.012-.023.036-.011.055.008.012.023.016.035.016.008 0 .016 0 .023-.004.086-.063.172-.13.25-.2.016-.015.02-.042.004-.058-.015-.016-.039-.016-.058-.004zm-1.09.574a2.681 2.681 0 01-.308.055c-.02 0-.035.02-.035.043.004.02.02.035.04.035h.003c.11-.012.215-.031.32-.055.02-.003.032-.027.028-.046-.004-.024-.028-.036-.047-.032zm.759-4.648a2.826 2.826 0 00-.286-.149c-.02-.007-.046 0-.054.02s0 .043.02.055c.097.039.187.09.277.144a.035.035 0 00.02.004.041.041 0 00.034-.02.042.042 0 00-.011-.054zm-.176 4.43a2.66 2.66 0 01-.285.128c-.02.008-.032.032-.024.051.008.016.02.028.04.028.003 0 .007-.004.011-.004.102-.04.2-.082.293-.133.02-.008.027-.035.02-.055a.048.048 0 00-.055-.015zm1.066-3.524a2.884 2.884 0 00-.18-.266.042.042 0 00-.054-.007.047.047 0 00-.008.058c.063.082.121.168.176.258.008.012.02.02.031.02a.056.056 0 00.024-.008.042.042 0 00.011-.055zm.094.266c-.02.011-.031.035-.02.054.04.094.075.192.102.293.008.016.023.028.04.028h.01c.02-.008.036-.028.028-.051a2.767 2.767 0 00-.11-.3c-.007-.024-.03-.032-.05-.024zm-4.8.453h.01c.017 0 .032-.012.04-.031.023-.098.055-.2.094-.297.008-.02-.004-.043-.024-.051s-.043.004-.05.023c-.04.098-.07.203-.098.305-.008.023.008.043.027.05zm4.984-4.938c-.024.004-.036.024-.036.047.02.102.028.207.032.309 0 .023.02.039.039.039a.04.04 0 00.039-.04 2.87 2.87 0 00-.028-.32c-.003-.023-.023-.035-.046-.035zm-2.387-2.144c-.043-.004-.082-.004-.121-.004-.067 0-.133.004-.2.008-.023.004-.039.02-.039.043.004.02.02.039.04.039.003 0 .003 0 .003-.004.067-.004.13-.004.196-.004h.117c.02.004.039-.016.043-.035 0-.024-.02-.043-.04-.043zm-1.246.254a2.488 2.488 0 00-.281.16c-.02.012-.024.035-.012.055.008.011.02.015.035.015.008 0 .012 0 .02-.004.085-.058.18-.11.273-.152.02-.012.027-.035.016-.055-.008-.02-.032-.027-.051-.02zm1.879-.145a2.265 2.265 0 00-.313-.074c-.023-.004-.043.008-.047.031a.04.04 0 00.032.047c.101.016.203.04.304.07.004 0 .008.004.012.004.016 0 .031-.011.035-.03.008-.02-.004-.044-.023-.048zm.586.262a2.864 2.864 0 00-.286-.152c-.02-.008-.046 0-.054.023-.008.02 0 .043.02.05.097.044.187.09.277.145.007.004.011.008.02.008a.041.041 0 00.034-.02c.012-.019.004-.046-.011-.054zm-2.317 4.601c.098.043.2.075.305.106h.008c.02 0 .035-.012.039-.031a.035.035 0 00-.028-.047 2.353 2.353 0 01-.293-.102.044.044 0 00-.054.024c-.008.02.004.043.023.05zm2.578-4.418c-.015-.015-.043-.011-.054.004-.016.02-.012.043.004.059.082.063.16.133.234.207a.035.035 0 00.027.012c.012 0 .02-.004.028-.012a.042.042 0 000-.059 2.044 2.044 0 00-.239-.21zm.809 2.84c-.02-.007-.043.004-.05.024a2.66 2.66 0 01-.122.289c-.012.02-.004.043.016.055.008 0 .015.003.02.003.015 0 .027-.007.034-.023.051-.094.09-.195.13-.297.003-.02-.005-.043-.028-.05zm-.488.895a.036.036 0 00.03-.016c.071-.078.134-.164.196-.254.012-.02.008-.043-.011-.054-.02-.012-.043-.008-.055.011a2.31 2.31 0 01-.192.246c-.011.016-.011.043.004.055.008.008.02.012.028.012zm-2.442-4.242c-.105.023-.207.05-.308.086-.024.007-.032.03-.028.05.008.016.024.028.04.028.003 0 .007 0 .011-.004.098-.031.2-.059.3-.078.024-.008.036-.028.032-.051a.04.04 0 00-.047-.031zm1.375 4.93c.008.015.02.027.04.027.003 0 .007 0 .011-.004.102-.035.2-.082.293-.13.02-.01.027-.034.02-.054-.012-.02-.036-.027-.055-.015a2.63 2.63 0 01-.285.125c-.02.007-.032.03-.024.05zm1.133-3.919a2.4 2.4 0 01.164.243c.02.03.035.058.05.086.009.011.02.02.036.02.004 0 .012-.005.02-.009.02-.011.023-.035.011-.054l-.035-.063s0-.004-.004-.004c0-.004-.004-.008-.008-.015a2.93 2.93 0 01-.097-.192c-.008-.02-.028-.027-.047-.023a.783.783 0 00-.027-.04c-.012-.015-.04-.019-.055-.003-.016.011-.02.035-.008.054zm-.57 3.633c.008.012.023.02.035.02.008 0 .016-.004.023-.008.086-.063.172-.129.25-.2.016-.015.02-.038.004-.054-.015-.02-.039-.02-.058-.004a2.373 2.373 0 01-.243.192.04.04 0 00-.011.054zm-2.961-.09c-.016.02-.012.043.008.059a2.422 2.422 0 00.289.18.042.042 0 00.035-.024c.008-.015.004-.043-.016-.05-.09-.055-.18-.11-.261-.172-.02-.012-.043-.008-.055.007zm4.027-1.433c.02 0 .035-.012.04-.031.023-.102.038-.211.05-.317 0-.023-.016-.043-.035-.043-.024-.004-.043.012-.047.035a2.105 2.105 0 01-.047.309.043.043 0 00.031.047h.008zm-4.64.804c.007 0 .015 0 .023-.003a.04.04 0 00.012-.055 2.655 2.655 0 01-.149-.274c-.008-.02-.031-.03-.054-.02-.02.009-.028.032-.02.052.047.097.098.191.156.285.008.012.02.015.032.015zm.375.48c.007.005.015.009.027.009s.02-.004.027-.012a.038.038 0 000-.055c-.074-.074-.148-.148-.21-.23-.016-.016-.04-.02-.06-.004-.015.012-.019.039-.003.055.066.082.14.164.219.238zm.117-3.847c-.082.067-.16.14-.23.219-.016.02-.016.043 0 .059.007.007.019.011.027.011.011 0 .023-.007.03-.015a2.89 2.89 0 01.223-.215c.02-.012.02-.04.004-.055-.011-.015-.039-.02-.054-.004zm-.856 1.621c-.023-.004-.043.012-.043.036a2.17 2.17 0 00-.02.32c0 .055 0 .11.005.16 0 .023.02.04.039.04h.004c.02 0 .039-.02.035-.044-.004-.05-.004-.105-.004-.156 0-.106.008-.211.02-.313.003-.023-.012-.043-.036-.043zm.059 1.149c.008.015.023.027.039.027.004 0 .008 0 .012-.004a.035.035 0 00.027-.047 2.907 2.907 0 01-.078-.304.04.04 0 00-.047-.032.043.043 0 00-.031.047c.02.106.047.211.078.313zm-5.309 1.48a2.607 2.607 0 01-.289.114.047.047 0 00-.027.05c.008.016.023.028.039.028h.012c.101-.035.203-.075.3-.117.02-.008.028-.036.02-.055-.008-.02-.035-.028-.055-.02zm-.793-4.765a.04.04 0 00.04-.04c.003-.019-.012-.038-.036-.042a4.388 4.388 0 00-.32-.012c-.024 0-.04.02-.04.043 0 .02.02.039.04.039.105-.004.21 0 .312.012h.004zm.203 4.953c-.101.02-.207.031-.312.039-.02 0-.035.02-.035.043 0 .02.02.035.039.035h.004c.105-.004.21-.02.316-.035.024-.008.04-.028.035-.047-.004-.023-.027-.04-.047-.035zm.414-4.817c.016 0 .032-.007.036-.023a.04.04 0 00-.024-.05 2.143 2.143 0 00-.308-.09c-.02-.009-.043.007-.047.027-.004.023.008.043.031.047.102.023.2.054.297.09h.015zm1.657 2.684a.04.04 0 00-.047.031 2.473 2.473 0 01-.063.305c-.007.023.008.043.028.05h.011c.016 0 .032-.011.04-.027.027-.101.05-.21.066-.316 0-.02-.016-.04-.035-.043zm-1.094-2.395c.012 0 .023-.007.031-.02a.04.04 0 00-.011-.054 3.164 3.164 0 00-.274-.164c-.02-.008-.047 0-.055.02-.011.02-.004.043.016.054.094.047.184.098.27.157.007.004.015.007.023.007zm.934 3.004c-.02-.007-.043.004-.051.024-.04.094-.086.187-.137.277-.012.02-.004.047.016.055a.03.03 0 00.02.008.047.047 0 00.034-.02c.051-.094.098-.191.141-.289a.044.044 0 00-.023-.055zm.164-1.242c-.024.004-.04.024-.036.043.008.086.012.172.012.258v.055c0 .023.016.039.04.039.023 0 .038-.016.038-.04.004-.015.004-.035.004-.054 0-.09-.008-.176-.015-.266a.046.046 0 00-.043-.035zm-.47 1.797c-.015-.012-.038-.008-.054.008a2.924 2.924 0 01-.199.238.038.038 0 000 .055.035.035 0 00.027.012c.012 0 .02-.004.028-.012a3.18 3.18 0 00.21-.246.04.04 0 00-.011-.055zm-.484.457a3.737 3.737 0 01-.253.18c-.02.011-.028.035-.016.054.008.012.023.02.035.02a.03.03 0 00.02-.008c.093-.055.18-.117.265-.187.016-.012.02-.04.004-.055-.012-.016-.039-.02-.054-.004zm.329-3.602c.011 0 .02 0 .027-.007.016-.016.02-.04.004-.059a3.1 3.1 0 00-.227-.226c-.02-.012-.043-.012-.058.003-.016.02-.012.043.004.059.078.066.152.14.222.219a.035.035 0 00.028.012zm.359.524c.004 0 .012 0 .016-.004.02-.012.027-.035.02-.055l-.06-.105c-.003-.008-.011-.02-.015-.027 0 0-.004-.004-.004-.008a2.339 2.339 0 01-.137-.282c-.008-.02-.03-.027-.05-.02-.02.009-.032.032-.02.052.016.039.031.078.05.12a.03.03 0 00.005.04c.035.055.07.11.101.164.02.035.04.07.055.102a.043.043 0 00.039.023zM.539 22.777c-.008-.023-.031-.03-.05-.023-.02.008-.032.031-.024.05.043.102.09.2.14.294.008.011.02.02.036.02.007 0 .011-.005.02-.009.019-.007.026-.035.015-.05a3.095 3.095 0 01-.137-.282zm-.219-.87c.02 0 .04-.02.04-.044v-.023c0-.094.003-.192.015-.285.004-.024-.012-.043-.035-.047-.024 0-.043.015-.043.035-.012.098-.02.2-.02.297v.027c0 .02.02.04.043.04zm.059.269c0-.024-.02-.04-.043-.035-.024.004-.04.023-.035.047.015.105.035.21.062.312.008.02.024.031.04.031h.011c.02-.008.035-.031.027-.05a2.811 2.811 0 01-.062-.305zm.004-.899H.39c.02 0 .035-.011.039-.03.023-.102.054-.2.093-.298.008-.02-.003-.043-.023-.05a.044.044 0 00-.055.023 3.933 3.933 0 00-.093.305c-.004.023.007.043.03.05zm2.312 3.059a2.02 2.02 0 01-.308-.04.04.04 0 00-.047.032c-.004.024.008.043.031.047.106.02.211.035.317.043h.003a.04.04 0 00.04-.04c.003-.019-.016-.038-.036-.042zm-1.949-3.98c-.058.085-.117.18-.168.273-.008.02 0 .043.02.055l.015.003c.016 0 .032-.007.035-.023.051-.09.106-.18.164-.266a.04.04 0 00-.011-.054.04.04 0 00-.055.011zm.098 2.964c-.012-.02-.04-.023-.055-.008-.02.012-.023.036-.012.055.067.086.133.168.207.246.008.008.02.012.028.012.011 0 .02-.004.027-.012.02-.011.02-.039.004-.054a2.924 2.924 0 01-.2-.239zm1.242.899c-.102-.032-.2-.07-.293-.114-.02-.011-.043-.003-.05.016a.039.039 0 00.019.055 1.954 1.954 0 00.308.12c.02 0 .035-.01.04-.026a.04.04 0 00-.024-.051zm.434-4.903c0-.023-.024-.035-.043-.035-.106.02-.211.04-.317.07-.02.004-.031.028-.027.047.008.02.023.032.039.032.004 0 .008 0 .012-.004.101-.028.203-.047.304-.063a.04.04 0 00.032-.047zm-.61.164c-.008-.023-.031-.03-.05-.023a2.85 2.85 0 00-.29.145c-.047.027-.093.054-.136.082-.02.015-.024.039-.012.058.008.012.02.016.035.016.008 0 .016 0 .02-.008l.132-.082c.09-.05.184-.098.282-.137.02-.008.027-.031.02-.05zm-.676.403c-.015-.016-.039-.02-.058-.004-.078.07-.156.144-.227.223-.015.02-.015.043 0 .058.008.008.02.008.028.008a.044.044 0 00.03-.012c.067-.074.145-.148.223-.215.016-.015.02-.043.004-.058zm.29 4.07a2.003 2.003 0 01-.254-.183c-.016-.012-.043-.012-.055.007-.016.016-.012.043.004.055.082.07.172.133.261.188.004.007.012.007.02.007a.047.047 0 00.035-.02c.012-.015.004-.042-.012-.054zm6.788-2.383a2.607 2.607 0 01-.289.114.045.045 0 00-.027.05c.008.016.024.028.04.028.003 0 .007 0 .01-.004.102-.031.204-.07.302-.113a.045.045 0 00.02-.055c-.009-.02-.032-.027-.056-.02zm-.59.188c-.1.02-.206.031-.308.039a.04.04 0 000 .078h.004a2.8 2.8 0 00.316-.04c.024-.003.04-.023.036-.046a.043.043 0 00-.047-.031zm.415-4.817c.015 0 .031-.007.035-.027a.038.038 0 00-.024-.05 2.565 2.565 0 00-.308-.09c-.02-.004-.043.007-.047.03-.004.02.008.044.031.048.102.023.2.054.297.09h.016zm.562.29c.012 0 .024-.008.031-.02.012-.02.008-.043-.007-.055a2.868 2.868 0 00-.278-.164c-.02-.012-.043-.004-.054.02-.012.02-.004.043.015.05.094.047.184.102.27.16.008.005.015.008.023.008zm.797.914c.004.015.02.023.035.023a.03.03 0 00.016-.008c.02-.008.027-.031.02-.05-.02-.036-.04-.075-.06-.106a6.634 6.634 0 00-.105-.172c-.015-.02-.039-.023-.058-.012-.016.016-.024.04-.008.059.035.05.07.105.101.164.02.031.04.066.06.102zm-4.492-.008a.03.03 0 00.016.008.043.043 0 00.039-.024c.046-.09.101-.18.16-.266.011-.02.008-.043-.008-.054a.047.047 0 00-.059.008c-.058.09-.117.18-.168.277-.007.02 0 .043.02.05zm-.32 1.183c0 .024.02.04.043.04a.04.04 0 00.039-.04v-.023c0-.098.004-.192.015-.29.004-.019-.011-.038-.035-.042-.02-.004-.043.012-.043.035-.012.098-.02.2-.02.297zm.086.637c.007.02.023.031.039.031.003 0 .007-.004.011-.004.02-.004.035-.027.028-.047a2.094 2.094 0 01-.059-.304c-.004-.024-.023-.04-.047-.035a.046.046 0 00-.035.043c.016.105.035.214.063.316zm4.359 1.133l.117-.13c-.031.08-.055.161-.074.243-.008.02.008.043.027.047h.012c.016 0 .031-.012.039-.027.023-.102.055-.203.094-.297.008-.02-.004-.043-.024-.051 0-.004-.004-.004-.004-.004.008-.008.016-.02.024-.027a.042.042 0 00-.008-.055c-.02-.016-.043-.012-.059.008-.062.082-.128.16-.199.234-.015.02-.015.043 0 .059a.035.035 0 00.028.012c.011 0 .02-.004.027-.012zm.043-3.445c.012 0 .02-.004.027-.008.016-.016.02-.043.004-.059a3.1 3.1 0 00-.226-.226c-.02-.016-.043-.012-.059.003-.016.016-.012.043.004.055.078.07.152.145.223.223a.035.035 0 00.027.012zm-.328 3.597a2.73 2.73 0 01-.254.18c-.02.012-.027.039-.016.055.008.011.024.02.035.02.008 0 .016 0 .02-.005.094-.058.18-.12.266-.187.015-.012.02-.04.003-.055-.011-.02-.039-.02-.054-.008zm-3.938-2.887c-.023-.007-.043 0-.05.024-.04.098-.07.203-.098.305-.004.023.008.043.031.046.004.004.004.004.008.004.02 0 .035-.011.039-.03.023-.102.055-.2.094-.298a.04.04 0 00-.024-.05zm4.727 1.88a.038.038 0 00-.051.023 3.25 3.25 0 01-.129.262l-.047.085c-.011.02-.004.043.016.055.004 0 .012.004.02.004a.047.047 0 00.035-.02c.011-.023.023-.042.035-.066l.004-.004c0-.004.004-.008.007-.015a1.77 1.77 0 01.118-.18.037.037 0 00-.004-.05c.008-.013.011-.028.02-.044a.038.038 0 00-.024-.05zM5.64 17.34c-.016-.016-.04-.02-.055-.004a2.49 2.49 0 00-.23.223.042.042 0 000 .058c.007.004.019.008.027.008a.044.044 0 00.031-.012 2.35 2.35 0 01.223-.218c.015-.012.02-.04.004-.055zm.289 4.07a2.328 2.328 0 01-.254-.183c-.016-.012-.043-.012-.055.007-.016.016-.012.04.004.055.082.066.172.133.262.188a.03.03 0 00.02.007.041.041 0 00.034-.02.042.042 0 00-.011-.054zm.386-4.476c-.007-.02-.03-.028-.05-.02-.098.04-.196.09-.29.14-.046.028-.09.06-.136.087-.016.011-.024.039-.012.054.008.012.024.02.035.02a.056.056 0 00.024-.008l.129-.082c.093-.05.187-.098.28-.137.02-.011.032-.035.02-.054zm3.536 2.414c.003-.02.003-.035.003-.055 0-.09-.007-.18-.015-.266 0-.023-.02-.039-.043-.035-.024 0-.04.02-.035.043.008.086.011.172.011.258v.055c0 .02.016.039.04.039.023 0 .039-.016.039-.04zm-.141.664h.012c.015 0 .03-.012.039-.028.027-.105.05-.21.066-.316 0-.023-.012-.043-.035-.047-.023 0-.043.016-.047.035a2.007 2.007 0 01-.062.305c-.008.023.007.043.027.05zm-4.461.761a.042.042 0 00-.055-.007c-.02.015-.023.039-.011.054.027.035.05.07.078.102a.025.025 0 00-.024 0 .038.038 0 00-.023.05c.035.098.066.2.09.301.004.016.02.032.039.032 0 0 .004-.004.008-.004a.036.036 0 00.027-.047c-.02-.098-.05-.2-.086-.293.031.035.062.074.098.11.007.007.02.011.027.011.012 0 .02-.004.027-.012.02-.015.02-.039.004-.054a2.983 2.983 0 01-.199-.243zm4.46-2.046c.005.02.02.03.04.03h.008a.043.043 0 00.031-.046 4.028 4.028 0 00-.094-.309c-.008-.02-.03-.03-.05-.023-.02.008-.032.031-.024.05.035.098.066.2.09.298zm-3.218 2.949c-.101-.035-.199-.07-.289-.117-.023-.008-.047 0-.055.02-.007.019 0 .042.02.054.098.043.195.086.297.117.004 0 .008.004.012.004.02 0 .035-.012.039-.027.007-.024-.004-.047-.024-.051zm.61.117a2.664 2.664 0 01-.309-.04c-.023-.003-.043.009-.047.032-.004.02.008.043.031.047.106.02.211.035.317.04h.004c.02 0 .039-.017.039-.036.004-.023-.012-.043-.035-.043zm-.172-5.02c0-.003-.004-.003-.004-.003.011 0 .023 0 .035.003h.008c.02 0 .035-.015.039-.035 0-.023-.016-.043-.035-.047a2.681 2.681 0 01-.309-.054c-.02-.004-.043.008-.047.031-.004.02.008.043.028.047l.168.035a4.4 4.4 0 00-.243.055.046.046 0 00-.03.05c.007.02.022.032.038.032.004 0 .008-.004.012-.004.101-.028.203-.051.305-.067.023-.003.035-.023.035-.043zm.586.028h.004c.02 0 .03-.012.039-.028.015 0 .03-.003.046-.003a.04.04 0 00.032-.047c0-.02-.024-.035-.043-.032-.098.012-.196.016-.293.02h-.098a.04.04 0 000 .078h.098c.07.004.144.004.215.012zm-2.25-4.297h.011a.04.04 0 00.04-.027c.03-.098.058-.204.081-.309a.04.04 0 00-.03-.047c-.024-.004-.044.008-.048.031-.02.102-.047.203-.082.301-.004.02.004.043.028.05zm.097-.973c.004.043.004.09.004.133 0 .059 0 .121-.008.18 0 .023.016.039.04.043h.003c.02 0 .035-.016.04-.04.003-.058.007-.12.007-.183 0-.047-.004-.09-.004-.137-.004-.02-.02-.039-.043-.035a.04.04 0 00-.039.04zm-.035-.308c.004.02.02.03.04.03h.007c.023-.003.035-.023.031-.046a2.95 2.95 0 00-.074-.309c-.008-.023-.031-.035-.05-.027-.02.004-.032.027-.028.05.031.099.055.2.074.302zM.66 10.39c.004.004.012.004.02.004.011 0 .027-.004.035-.02a2.26 2.26 0 01.176-.254.047.047 0 00-.008-.059.042.042 0 00-.055.008 2.135 2.135 0 00-.183.266c-.012.02-.004.043.015.055zm3.715-.727c.008.008.016.008.023.008a.036.036 0 00.032-.016c.015-.015.011-.043-.008-.054a2.404 2.404 0 00-.266-.176c-.047-.028-.093-.055-.144-.078-.02-.008-.043 0-.051.02-.012.019-.004.042.016.05.046.023.093.05.136.074.09.055.18.11.262.172zm-3.309.234a.044.044 0 00.032-.011c.07-.075.152-.145.234-.207.016-.012.02-.04.004-.055-.012-.02-.035-.02-.055-.008a3.121 3.121 0 00-.242.211.042.042 0 000 .059c.008.008.02.011.027.011zm-.351 3.125a.04.04 0 00-.012.055c.059.09.121.176.192.258.007.012.02.016.03.016.009 0 .016-.004.024-.012.02-.012.02-.04.008-.055a1.897 1.897 0 01-.187-.25c-.012-.015-.04-.023-.055-.012zm4.43-2.394c.007.016.02.023.035.023.008 0 .011 0 .02-.004.019-.007.027-.03.019-.05a3.297 3.297 0 00-.153-.286c-.011-.019-.035-.023-.054-.011-.02.008-.024.035-.012.054.055.086.102.18.145.274zM3.69 9.297c.004.004.008.004.012.004.016 0 .031-.012.04-.028.007-.02-.005-.043-.024-.05a2.178 2.178 0 00-.313-.086c-.02-.008-.039.008-.047.027-.004.024.012.043.032.05.101.02.203.048.3.083zm-1.53-.04c.097-.027.198-.05.3-.066.023-.004.039-.027.035-.046-.004-.024-.023-.036-.047-.036-.105.02-.21.043-.312.075a.035.035 0 00-.028.046c.004.02.02.032.04.032.003 0 .007 0 .011-.004zM.413 10.974h.012c.015 0 .031-.012.039-.028.027-.097.062-.199.105-.293.008-.02 0-.043-.02-.05-.019-.012-.042 0-.054.02-.043.097-.078.198-.11.3-.007.02.005.043.028.05zm2.668-1.805h.004a.04.04 0 00.039-.04c.004-.019-.012-.038-.035-.042-.106-.008-.215-.012-.32-.008-.024 0-.04.02-.04.043 0 .024.02.04.043.04.102-.005.207-.005.309.007zM.445 12.453c-.023.008-.03.031-.027.05.035.102.078.2.125.298.008.015.02.023.035.023.008 0 .012-.004.02-.004.02-.011.027-.035.015-.054a2.633 2.633 0 01-.117-.29c-.008-.019-.031-.03-.05-.023zm4.54.617c.003.004.011.004.019.004.016 0 .027-.004.035-.015.02-.036.043-.07.063-.106.003-.008.007-.02.015-.027l.004-.004c.05-.09.113-.176.176-.258.012-.02.012-.043-.008-.055-.016-.015-.043-.011-.055.004a1.83 1.83 0 00-.078.106c-.015 0-.027.008-.035.023a2.38 2.38 0 01-.09.172c-.02.035-.039.066-.058.102a.04.04 0 00.011.054zm-4.602-.843c.02-.008.035-.028.031-.051a1.978 1.978 0 01-.047-.305c0-.023-.02-.039-.043-.039-.023.004-.039.023-.035.043.008.11.024.215.047.32.004.016.02.032.039.032h.008zm3.949 1.464a2.955 2.955 0 01-.262.164c-.02.012-.027.036-.015.055.008.016.02.02.035.02.008 0 .012 0 .02-.004.093-.051.183-.11.269-.172a.04.04 0 00.012-.055c-.016-.02-.04-.023-.059-.008zm-1.496.516c0 .023.02.04.039.04.11 0 .215-.009.32-.024.024 0 .04-.02.035-.043-.003-.024-.023-.04-.042-.035-.106.015-.208.02-.313.023a.04.04 0 00-.04.039zm1.766-.645c.007 0 .02-.003.027-.011.074-.07.144-.145.21-.223l-.046.137c-.008.023.004.043.027.05.004 0 .008.005.012.005.016 0 .031-.012.04-.032a2.2 2.2 0 01.105-.293c.007-.02 0-.043-.02-.05-.02-.008-.043 0-.05.02-.02.038-.036.077-.052.116a.021.021 0 00-.011-.02c-.016-.015-.043-.011-.055.005-.066.078-.14.156-.215.226-.015.016-.02.04-.004.055.008.008.02.015.032.015zm-2.391.56c-.008.023.008.042.027.05.106.023.211.043.317.055.004 0 .004.003.004.003.023 0 .039-.015.043-.039 0-.02-.016-.039-.036-.043a2.681 2.681 0 01-.308-.054c-.02-.008-.043.008-.047.027zm1.254.01c.004.02.02.032.039.032h.008c.105-.027.207-.062.304-.101.024-.008.032-.032.024-.051-.008-.02-.031-.032-.05-.024-.099.04-.196.07-.298.098-.02.004-.035.027-.027.047zm1.355-4.034c.008.011.02.015.032.015a.056.056 0 00.023-.008c.02-.015.02-.039.008-.054a2.516 2.516 0 00-.215-.239.042.042 0 00-.059 0 .038.038 0 000 .055c.075.074.145.153.211.23zm-4.5 1.5a.04.04 0 00.04-.04c.003-.105.015-.206.03-.308.005-.023-.007-.043-.03-.047a.043.043 0 00-.047.031 2.962 2.962 0 00-.032.32c0 .024.016.04.04.044zm1.305 2.289c-.012.02-.004.043.016.05.093.051.191.098.293.137h.015c.016 0 .031-.008.035-.023A.038.038 0 001.961 14a2.631 2.631 0 01-.281-.133.045.045 0 00-.055.02zm-.508-.375a.042.042 0 000 .058c.078.07.164.137.25.2a.056.056 0 00.024.007c.011 0 .023-.007.03-.015.016-.02.013-.043-.007-.059a1.961 1.961 0 01-.242-.195c-.016-.012-.043-.012-.055.004zm.45-4c.007 0 .015 0 .023-.004.086-.055.18-.102.277-.145.02-.008.028-.031.02-.05a.039.039 0 00-.055-.02c-.098.039-.191.09-.285.145-.02.011-.024.035-.012.054.004.012.02.02.031.02zm8.242 4.523c-.024 0-.04.02-.04.043.004.043.004.086.004.129 0 .063 0 .121-.003.18-.004.023.011.043.035.043h.004c.02 0 .039-.016.039-.035.004-.063.007-.125.007-.188 0-.043-.003-.09-.003-.137a.042.042 0 00-.043-.035zm-.137 1.012c.004.004.008.004.012.004.015 0 .03-.012.039-.028.03-.101.062-.207.082-.312a.043.043 0 00-.032-.047.04.04 0 00-.046.031c-.02.102-.047.203-.082.301a.045.045 0 00.027.05zm-.09.219c-.02-.008-.043 0-.05.02-.032.058-.06.116-.095.171-.019.035-.039.066-.058.102-.012.02-.008.043.012.054a.03.03 0 00.02.008.041.041 0 00.034-.02c.02-.035.043-.07.063-.101.031-.059.066-.121.094-.18a.045.045 0 00-.02-.054zm.105-1.852a.045.045 0 00-.027.05c.031.098.059.2.074.302.004.02.02.035.04.035h.007c.024-.004.035-.028.031-.047a2.138 2.138 0 00-.074-.313c-.008-.023-.031-.035-.05-.027zm-4.164 2.64c-.015.02-.015.044 0 .06.079.07.165.14.25.198.008.008.016.008.024.008.012 0 .027-.004.035-.015.012-.02.008-.043-.012-.055a2.94 2.94 0 01-.242-.195c-.016-.016-.043-.016-.055 0zm-.078-3.624c.008.008.02.011.032.011.007 0 .02-.004.027-.011.074-.075.152-.14.234-.203.016-.016.02-.04.004-.059-.012-.016-.035-.02-.054-.008a2.507 2.507 0 00-.243.215.038.038 0 000 .055zm-.113 3.465c.008 0 .02-.004.027-.008.016-.016.016-.04.004-.059a2.273 2.273 0 01-.187-.246c-.012-.02-.035-.023-.055-.012-.02.012-.023.035-.012.055.059.09.121.176.192.258.008.008.02.012.031.012zm.64-3.84c.008 0 .016 0 .024-.004a1.68 1.68 0 01.277-.14.045.045 0 00.02-.056c-.008-.02-.031-.027-.05-.02-.102.044-.196.09-.29.145-.02.012-.023.036-.012.055.008.012.02.02.032.02zm.594-.25c.098-.032.2-.055.301-.07.024-.005.04-.024.035-.047a.04.04 0 00-.047-.032c-.105.016-.21.04-.312.07-.02.008-.035.028-.027.051.004.016.02.028.039.028h.011zm-1.582 3.562c.008 0 .012 0 .02-.004.02-.011.027-.035.016-.054a3.639 3.639 0 01-.118-.286c-.007-.023-.03-.035-.05-.027-.02.008-.032.031-.024.05.031.102.074.204.121.298a.042.042 0 00.035.023zm3.797-3.156a.056.056 0 00.024.008c.011 0 .023-.008.03-.016.017-.02.013-.043-.007-.058a2.607 2.607 0 00-.265-.176c-.047-.028-.094-.055-.145-.078-.02-.008-.043 0-.05.02-.013.019-.005.042.015.054a2.44 2.44 0 01.398.246zm-2.75 4.219c-.011.02-.004.043.016.054a2.81 2.81 0 00.308.137.038.038 0 00.036-.027.038.038 0 00-.024-.051 3.656 3.656 0 01-.281-.129c-.02-.012-.043-.004-.055.016zm-1.3-2.051c-.024 0-.04.02-.036.043.008.105.024.21.047.316.004.02.02.032.04.032h.007a.043.043 0 00.031-.047 2.105 2.105 0 01-.047-.309c0-.023-.02-.039-.043-.035zm2.757-2.668h.004c.024 0 .04-.016.043-.035 0-.024-.015-.043-.039-.043a2.194 2.194 0 00-.32-.008.04.04 0 00-.04.04c0 .023.02.038.044.038.101-.004.207 0 .308.008zm.61.133h.011c.02 0 .036-.008.04-.028.007-.02-.004-.043-.024-.05a3.032 3.032 0 00-.309-.086c-.023-.004-.043.008-.05.03a.043.043 0 00.03.048c.102.023.204.05.302.086zm1.129.8c.007.008.02.012.03.012.009 0 .02 0 .024-.008.004 0 .004 0 .004-.003a.139.139 0 01.016.035c.008.015.02.023.035.023.008 0 .012 0 .016-.004a.038.038 0 00.023-.05 2.02 2.02 0 01-.105-.294c-.008-.02-.028-.035-.051-.027a.045.045 0 00-.028.05c.016.056.036.106.055.161a3.82 3.82 0 00-.172-.184.042.042 0 00-.058 0c-.016.016-.012.043.004.055.074.074.144.152.207.235zM7.87 16.68c.004.015.02.027.04.027h.007c.105-.027.207-.059.305-.102a.038.038 0 00.023-.05c-.008-.02-.031-.032-.05-.024a2.03 2.03 0 01-.298.098c-.02.008-.035.027-.027.05zm-3.105-2.934c-.02-.004-.043.012-.047.035a2.8 2.8 0 00-.032.317c0 .023.016.043.04.043.023 0 .039-.016.039-.04.004-.101.015-.206.035-.308.004-.023-.012-.043-.035-.047zm3.972 2.488a2.988 2.988 0 01-.261.168c-.02.008-.028.032-.016.051.008.016.02.024.035.024.008 0 .012-.004.02-.008.093-.051.183-.11.27-.172.019-.012.023-.035.01-.055a.047.047 0 00-.058-.008zm.27-.129c.008 0 .02-.003.027-.011.078-.074.152-.153.219-.235.016-.015.012-.043-.004-.054-.016-.016-.043-.012-.055.004-.066.082-.14.156-.215.226a.047.047 0 00-.003.059c.007.008.02.011.03.011zM9.977 4.72c.007 0 .02 0 .027-.008.078-.07.16-.137.242-.195.02-.012.024-.036.012-.055a.04.04 0 00-.055-.012c-.09.063-.172.13-.254.203-.015.012-.015.04-.004.055.008.008.02.012.032.012zm3.742 3.37a.056.056 0 00.023.009.041.041 0 00.035-.02 2.39 2.39 0 00.168-.27c.012-.019.004-.042-.015-.054-.02-.012-.043-.004-.051.016-.05.09-.106.18-.168.261a.047.047 0 00.008.059zm-.403.47a.056.056 0 00.024-.008c.082-.07.16-.145.234-.223.016-.015.012-.043-.004-.055a.038.038 0 00-.054 0c-.07.079-.149.149-.227.215-.016.016-.02.04-.004.059.008.008.02.012.031.012zm-.53.343c.007 0 .01 0 .019-.004.093-.046.187-.097.277-.156a.04.04 0 00.012-.055c-.012-.019-.035-.023-.055-.011-.086.054-.18.105-.27.152-.019.008-.03.031-.019.055.008.012.02.02.035.02zm-.458-4.746a2.638 2.638 0 01.313.102c.015 0 .027-.008.035-.024.008-.023 0-.046-.024-.054-.097-.04-.199-.075-.304-.102-.02-.004-.043.008-.047.027-.008.024.008.043.027.051zm-.773 5h.16a4.1 4.1 0 01.308.024l.004.004c.024 0 .04-.016.043-.036 0-.023-.015-.043-.035-.046l-.129-.012a.041.041 0 00-.035-.02 2.769 2.769 0 01-.312.004.04.04 0 00-.04.04c-.003.023.016.038.036.042zm-.47-5.02h.009c.101-.023.207-.042.308-.05.024-.004.04-.024.036-.047a.046.046 0 00-.043-.035 2.816 2.816 0 00-.317.055c-.023.007-.035.027-.031.046.004.02.02.032.039.032zm.63-.066c.101 0 .207.008.308.024h.004c.024 0 .04-.016.043-.035 0-.02-.015-.043-.035-.043a2.953 2.953 0 00-.32-.028.04.04 0 00-.04.04c-.003.023.016.042.04.042zm.473 5.035h.007c.106-.02.211-.05.313-.082.02-.007.031-.03.023-.05-.008-.024-.031-.036-.05-.028-.098.035-.2.063-.301.082a.04.04 0 00-.032.047c.004.02.02.031.04.031zm1.43-4.117c.007.012.019.016.027.016.011 0 .02-.004.027-.008.015-.016.02-.039.004-.059a2.468 2.468 0 00-.219-.234.038.038 0 00-.055 0 .042.042 0 000 .059c.078.07.149.148.215.226zm-2.692 4.059c.097.027.195.055.297.07a1.57 1.57 0 00-.145.031c-.023.004-.035.028-.031.047.004.02.02.032.039.032h.008a2.84 2.84 0 01.308-.055c.024 0 .04-.024.036-.043-.004-.024-.024-.04-.043-.035a1.365 1.365 0 00-.125.015c.007-.004.011-.011.011-.023.004-.02-.008-.04-.031-.043a2.6 2.6 0 01-.3-.074c-.024-.004-.048.008-.052.027-.007.024.004.043.028.05zm-.586-.262c.09.055.187.106.285.149.004.004.008.004.016.004.015 0 .027-.008.035-.024a.045.045 0 00-.02-.055 2.085 2.085 0 01-.277-.144c-.02-.008-.043-.004-.055.015-.011.02-.004.043.016.055zm.156-4.426c.004 0 .012 0 .016-.004.093-.046.187-.09.285-.128.02-.008.031-.032.023-.051-.008-.02-.03-.031-.05-.024-.102.04-.2.082-.293.133-.02.008-.028.035-.016.055.004.012.02.02.035.02zm-.957.832a.05.05 0 00.024.004c.011 0 .027-.004.035-.015.054-.086.12-.168.187-.246.016-.02.012-.043-.004-.059-.015-.016-.043-.012-.054.004-.07.082-.137.168-.196.258-.015.015-.008.043.008.054zm3.363-.8c.094.05.18.109.262.168.008.007.016.007.024.007.015 0 .027-.003.035-.015a.042.042 0 00-.008-.055 3.98 3.98 0 00-.27-.176c-.02-.011-.047-.004-.054.016a.042.042 0 00.011.055zM10.074 8.6a.056.056 0 00.024.008.036.036 0 00.03-.015c.017-.016.013-.043-.003-.055a2.339 2.339 0 01-.234-.207.038.038 0 00-.055 0 .038.038 0 000 .055c.074.078.156.148.238.215zm-.808-2.843c.004.004.007.004.011.004.016 0 .032-.012.04-.028.035-.097.074-.195.12-.285.012-.02.004-.043-.015-.054-.02-.012-.043-.004-.055.02-.047.093-.09.19-.125.292a.04.04 0 00.024.05zm-.125.62h.004c.02 0 .035-.015.039-.038.007-.102.023-.203.046-.305.004-.023-.007-.043-.03-.047-.02-.008-.044.008-.048.028a2.88 2.88 0 00-.05.32c0 .02.015.039.039.043zm5.011.782c-.02-.004-.043.008-.047.031-.027.098-.058.2-.097.297-.008.02.004.043.023.051.004 0 .008.004.016.004a.038.038 0 00.035-.027c.04-.098.074-.204.098-.305.008-.024-.004-.043-.028-.05zm-4.707.719c.055.09.114.18.18.266.008.011.02.015.031.015.008 0 .016-.004.024-.008.02-.015.023-.039.008-.054a2.323 2.323 0 01-.172-.262c-.012-.016-.04-.024-.055-.012-.02.012-.027.035-.016.055zm-.28-.871h.003c.023-.004.039-.024.035-.043a2.822 2.822 0 01-.031-.313c0-.02-.02-.039-.04-.039-.023 0-.038.02-.038.043.004.106.011.215.031.32 0 .02.02.032.04.032zm4.78-1.492c.008.011.024.023.04.023.003 0 .007-.004.015-.004.02-.012.027-.035.02-.055a2.46 2.46 0 00-.157-.28c-.011-.02-.035-.024-.054-.013a.042.042 0 00-.012.055c.055.086.105.18.148.274zm-4.61 2.101c.009 0 .013-.004.017-.004.023-.008.03-.031.023-.054a1.866 1.866 0 01-.105-.293.045.045 0 00-.051-.028.047.047 0 00-.028.051c.032.102.067.203.11.3.008.016.02.028.035.028zm4.802-1.512c.004.02.02.036.039.036.004 0 .004-.004.008-.004.023-.004.035-.024.03-.047a2.975 2.975 0 00-.077-.309c-.008-.023-.032-.035-.051-.027a.047.047 0 00-.027.05c.035.098.058.2.078.301zm.039.31c.004.054.004.105.004.16 0 .1-.004.206-.02.308 0 .023.016.043.035.047h.004c.024 0 .04-.016.043-.035.012-.106.02-.215.02-.32 0-.055-.004-.11-.008-.165a.04.04 0 00-.04-.039.045.045 0 00-.038.043zm-.86 7.233c.008 0 .016-.003.024-.011.082-.067.16-.14.234-.219.016-.016.012-.043-.004-.059-.015-.015-.039-.011-.054.004-.07.075-.149.149-.227.215-.016.012-.02.04-.004.055.008.012.02.015.031.015zm.141-3.855a.038.038 0 00-.055 0 .038.038 0 000 .055c.078.074.149.148.215.23.008.008.02.016.028.016.011 0 .02-.004.027-.012.015-.012.02-.039.004-.055a2.072 2.072 0 00-.219-.234zm.68 1.074c-.008-.02-.032-.031-.051-.023-.02.004-.031.027-.027.05.035.098.058.2.078.301.004.02.02.032.039.032h.008c.023-.004.035-.024.03-.047a2.81 2.81 0 00-.077-.313zm.058 1.149h.004c.024 0 .04-.012.043-.032a2.197 2.197 0 00.012-.484.04.04 0 00-.04-.04c-.023 0-.038.02-.038.044.004.05.004.105.004.156 0 .106-.004.211-.02.313 0 .023.016.043.035.043zm-.386-1.743c-.016.012-.024.04-.012.055.055.09.105.18.148.274a.043.043 0 00.04.023c.003 0 .007 0 .015-.004.02-.008.027-.031.02-.05a2.46 2.46 0 00-.157-.282c-.011-.02-.035-.027-.054-.016zm-3.68 3.41c.016-.019.012-.042-.004-.054a3.006 3.006 0 01-.234-.211.038.038 0 00-.055 0 .042.042 0 000 .059c.074.074.156.148.238.214.008.004.016.008.024.008.011 0 .023-.008.03-.015zm-.965-1.585h.004c.023-.004.039-.024.035-.047a2.753 2.753 0 01-.031-.309.04.04 0 00-.078 0c.004.11.011.215.031.32 0 .02.02.036.04.036zm4.059-2.457c.011-.02.007-.043-.008-.055a2.27 2.27 0 00-.27-.176c-.02-.012-.047-.004-.054.016a.042.042 0 00.011.054c.094.051.18.106.262.168.008.004.016.008.024.008.015 0 .027-.004.035-.015zm-.692 4.418c-.008-.02-.031-.032-.05-.024-.098.031-.2.059-.301.082a.04.04 0 00-.032.047c.004.016.02.031.04.031h.007c.106-.023.211-.05.313-.086a.04.04 0 00.023-.05zm-2.969-3.774a.047.047 0 00.036-.02c.054-.081.12-.167.187-.245.016-.016.012-.043-.004-.055-.015-.016-.043-.012-.054.004-.07.078-.137.164-.196.254-.015.02-.008.043.008.054a.056.056 0 00.024.008zm2.31 3.875a2.769 2.769 0 01-.313.004.04.04 0 00-.04.04c-.003.019.016.038.036.038.043.004.082.004.12.004.067 0 .137-.004.204-.008.02 0 .035-.02.035-.043 0-.023-.02-.039-.043-.035zm-1.216-.21a2.675 2.675 0 01-.277-.145c-.02-.012-.043-.004-.055.015-.011.016-.004.043.016.055.09.055.187.105.285.148.004 0 .008.004.016.004.015 0 .027-.011.035-.023.008-.024 0-.047-.02-.055zm.594.179a1.978 1.978 0 01-.3-.07c-.024-.008-.048.004-.052.027-.007.02.004.043.028.05.101.028.207.055.312.071 0 .004.004.004.004.004.02 0 .04-.016.04-.035.003-.02-.009-.043-.032-.047zm1.844-.356a.042.042 0 00-.055-.011c-.086.058-.18.11-.27.156-.019.008-.03.031-.019.05.008.016.02.024.035.024.008 0 .012 0 .02-.004.093-.047.187-.101.277-.16.02-.012.023-.035.012-.055zm-2.324-4.53c-.102.034-.2.081-.293.128-.02.012-.028.035-.016.055.004.015.02.023.035.023l.016-.004c.093-.05.187-.093.285-.129.02-.007.031-.03.023-.05-.008-.024-.03-.032-.05-.024zM9.656 13.25c.008 0 .016-.004.024-.008.02-.015.023-.039.008-.058a3.295 3.295 0 01-.165-.243c-.015-.027-.03-.058-.05-.086-.012-.02-.036-.023-.055-.011-.02.011-.023.035-.012.054.012.02.024.04.035.063l.004.004c.004.008.004.012.008.015.035.063.07.13.098.192a.042.042 0 00.035.023h.012l.027.04c.008.007.02.015.031.015zm2.996-3.98c-.097-.04-.199-.075-.304-.102a.035.035 0 00-.047.027c-.008.02.008.043.027.047.102.028.2.063.297.102.004 0 .008.004.016.004.015 0 .027-.012.035-.028a.038.038 0 00-.024-.05zm-2.394.28a.04.04 0 00-.055-.01c-.09.062-.172.128-.254.198-.015.016-.015.04-.004.059.008.008.02.012.032.012.007 0 .02-.004.027-.012.078-.067.16-.133.242-.192a.04.04 0 00.012-.054zm-.992 1.298h.011a.043.043 0 00.04-.024 2.66 2.66 0 01.12-.289c.012-.02.004-.043-.015-.05-.02-.012-.043-.005-.055.015a2.81 2.81 0 00-.125.297c-.008.02.004.043.024.05zm-.067.226c.024.004.035.028.031.047-.023.102-.039.207-.046.309-.004.02-.02.035-.04.035h-.003c-.024 0-.04-.02-.04-.043a2.96 2.96 0 01.051-.317c.004-.023.028-.035.047-.03\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M10.203-9.719L5.953 0H4.187l-4.25-9.719h1.954l3.234 7.5 3.266-7.5zm0 0\",\n transform: \"translate(27.65 20.573)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 38,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M8.594-1.516V0H1.313v-9.719h7.093v1.516H3.11v2.515h4.704v1.5H3.109v2.672zm0 0\",\n transform: \"translate(39.693 20.573)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 43,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M1.313-9.719h4.25c1.03 0 1.945.203 2.75.61.812.398 1.437.964 1.874 1.703.446.73.672 1.578.672 2.547 0 .96-.226 1.808-.671 2.546C9.75-1.57 9.124-1 8.312-.593 7.508-.196 6.595 0 5.563 0h-4.25zM5.468-1.53c.718 0 1.347-.133 1.89-.407.54-.269.957-.656 1.25-1.156.29-.508.438-1.097.438-1.765 0-.664-.149-1.25-.438-1.75a2.948 2.948 0 00-1.25-1.172c-.543-.282-1.171-.422-1.89-.422h-2.36v6.672zm0 0\",\n transform: \"translate(50.917 20.573)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#f516c220b7)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M7.61-2.25H2.75L1.797 0h-1.86l4.375-9.719h1.766L10.468 0h-1.89zm-.594-1.422l-1.829-4.25-1.828 4.25zm0 0\",\n transform: \"translate(64.307 20.573)\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 54,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M16.117 19.422l4.024 2.324h-5.368zm-4.441 7.32l-2.778-4.808h5.555zM3.21 21.746l4.023-2.324 1.344 2.324zm3.93-2.484l-4.024 2.324 2.684-4.648zm-4.118-7.508h5.555l-2.777 4.809zm8.559-4.832v4.648H8.898zm.188 4.648V6.922l2.683 4.648zm8.558.184l-2.777 4.809-2.778-4.81zm-4.406 7.633l-1.363 2.36H8.793l-1.363-2.36zm-8.652-.278L5.91 16.75l2.883-4.996h2.723zm4.566-7.355h2.723l2.886 4.996-1.363 2.36zm-4.313 7.285l4.059-7.031v4.687zm4.153-2.18l4.058 2.344H7.617zm.094-4.851l4.058 7.031-4.058-2.344zm8.464 9.578l-4.023-2.324 1.34-2.325zM17.66 16.75l2.992-5.18h-5.984l-2.992-5.183-2.992 5.183h-5.98l2.987 5.18-2.988 5.184h5.98l2.993 5.18 2.992-5.18h5.984L17.66 16.75\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 60,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M11.676 19.203a2.45 2.45 0 11.003-4.903 2.45 2.45 0 01-.003 4.903zm0-5.09a2.64 2.64 0 00-2.637 2.637 2.64 2.64 0 002.637 2.637 2.64 2.64 0 002.636-2.637 2.64 2.64 0 00-2.636-2.637\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 64,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#510d0ad114)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M19.762 9.223a.047.047 0 00-.051-.028 3.995 3.995 0 00-.3.117.045.045 0 00-.02.055c.007.012.023.024.039.024.004 0 .008-.004.015-.004.094-.043.192-.082.29-.114.023-.007.035-.027.027-.05zm.62-.106c0-.02-.019-.035-.038-.035-.11.004-.215.02-.32.04-.024.003-.036.023-.032.046.004.016.02.031.04.031h.007c.102-.02.203-.031.309-.039.02 0 .039-.02.035-.043zm.595.086c.015 0 .035-.012.039-.031.004-.024-.012-.043-.036-.047a2.802 2.802 0 00-.316-.043c-.023 0-.043.016-.043.04 0 .019.016.038.035.042.106.008.207.02.313.04h.008zm.597.2c.016 0 .031-.012.035-.024.012-.02.004-.047-.015-.055a2.177 2.177 0 00-.301-.117c-.02-.008-.043.004-.05.023-.009.024.003.043.027.051.097.031.195.07.289.117.003 0 .011.004.015.004zm-3.144.765a.056.056 0 00.023.008.036.036 0 00.031-.016 2.34 2.34 0 01.203-.238c.016-.016.016-.04-.003-.055a.038.038 0 00-.055 0c-.074.078-.145.16-.207.246-.016.016-.012.043.008.055zm-.305.555l.016.004a.038.038 0 00.035-.028c.039-.094.086-.187.137-.277a.042.042 0 00-.012-.055c-.02-.012-.047-.004-.055.016-.055.09-.101.187-.144.285a.044.044 0 00.023.055zm.086 2.07c-.02.012-.027.035-.016.055.016.035.035.07.055.105.008.008.012.02.016.027a2.338 2.338 0 01.14.29c.004.015.02.023.035.023.008 0 .012 0 .016-.004.02-.008.031-.031.023-.05-.015-.04-.035-.079-.054-.118.008-.016.008-.031 0-.043-.04-.05-.074-.11-.106-.164-.02-.035-.039-.066-.054-.101-.012-.02-.036-.028-.055-.02zm-.246-1.461h.008c.02 0 .035-.012.039-.031.015-.106.035-.207.062-.305.008-.023-.004-.043-.027-.05-.02-.005-.043.007-.047.027-.031.105-.05.21-.066.316-.004.02.011.043.03.043zm-.008.633h.004a.045.045 0 00.039-.043 1.903 1.903 0 01-.016-.258v-.055c0-.023-.015-.039-.039-.039-.023 0-.039.016-.039.04v.054c0 .09.004.18.012.266.004.02.02.035.039.035zm.66 1.36c-.015-.016-.039-.02-.058-.005-.016.016-.016.04-.004.059.074.078.148.156.23.226.008.004.016.008.024.008a.044.044 0 00.03-.011c.016-.02.013-.043-.003-.059a1.928 1.928 0 01-.219-.219zm.41.421a.04.04 0 00.012.055c.086.058.18.113.277.164.004.004.012.004.016.004.016 0 .031-.008.035-.024.012-.02.004-.043-.015-.05a2.332 2.332 0 01-.27-.16.04.04 0 00-.055.011zm.145-4.215c.015-.008.023-.035.012-.054a.042.042 0 00-.055-.012c-.09.058-.18.12-.262.187-.02.012-.02.04-.008.055.008.012.02.016.032.016.007 0 .02-.004.027-.008.078-.067.164-.13.254-.184zm3.8 2.692c-.023-.004-.042.007-.05.03a2.6 2.6 0 01-.09.298c-.008.02 0 .043.023.05.004.004.008.004.012.004.016 0 .031-.011.04-.027.034-.098.07-.203.093-.305a.045.045 0 00-.027-.05zm0-.899c0 .02.02.035.04.035h.004c.023-.004.039-.023.035-.043a2.667 2.667 0 00-.063-.316c-.008-.023-.027-.035-.05-.027-.02.004-.032.027-.028.047.027.101.047.203.063.304zm-1.042 2.434c-.012-.016-.035-.02-.055-.008l-.133.082c-.09.05-.183.098-.281.137-.02.008-.027.031-.02.054.008.012.02.024.036.024.007 0 .011 0 .015-.004.102-.043.195-.09.29-.145.046-.027.093-.054.136-.082.02-.011.023-.039.012-.058zm-2.344.281c-.008.024.004.047.023.05.102.04.203.071.309.095h.008c.02 0 .035-.012.039-.032a.036.036 0 00-.027-.047 2.663 2.663 0 01-.301-.09c-.02-.007-.043.005-.051.024zm3.227-3.316c.003.015.019.027.035.027.007 0 .011 0 .015-.004.02-.008.032-.031.024-.05a2.189 2.189 0 00-.14-.29c-.009-.02-.036-.027-.056-.015-.02.007-.023.035-.015.054.05.09.097.184.137.278zm.222.87c-.023.005-.043.02-.043.044l.004.023c0 .094-.008.192-.02.285 0 .024.016.043.036.047h.004c.023 0 .039-.015.043-.035.007-.098.015-.2.015-.297v-.023c0-.024-.02-.043-.039-.043zm-1.203-2.046c.086.055.172.117.25.183.008.004.016.008.027.008a.036.036 0 00.032-.015c.011-.016.011-.043-.008-.055a1.969 1.969 0 00-.258-.188c-.02-.011-.043-.007-.059.012-.011.02-.003.043.016.055zm-1 4.637c.004.02.02.035.04.035h.003c.105-.016.215-.04.316-.07.02-.004.032-.028.028-.047-.008-.024-.028-.036-.051-.028-.098.028-.2.051-.305.063a.043.043 0 00-.031.047zm-.633.007c-.004.02.016.04.035.043.086.008.172.012.258.012h.063c.023 0 .043-.02.039-.043a.04.04 0 00-.04-.039 2.09 2.09 0 01-.312-.012c-.02 0-.039.016-.043.04zm1.918-.574c.008.008.02.016.031.016.008 0 .02-.004.028-.012a4.11 4.11 0 00.23-.223.047.047 0 00-.004-.058c-.015-.016-.043-.012-.054.004-.07.078-.145.148-.227.219-.016.011-.016.039-.004.054zm.39-3.437c.009.011.024.02.036.02.008 0 .016-.005.023-.009a.047.047 0 00.008-.058 2.466 2.466 0 00-.207-.246.038.038 0 00-.055 0 .042.042 0 00-.003.054c.074.075.14.157.199.239zm.196 2.656c-.05.09-.105.18-.164.266a.04.04 0 00.012.054c.008.004.015.008.023.008.012 0 .024-.008.031-.02.063-.085.118-.18.168-.273.012-.02.004-.043-.015-.055-.02-.007-.047 0-.055.02zm-8.984.43c.004.004.008.004.015.004.016 0 .032-.008.036-.024.039-.094.082-.18.128-.266.016-.027.036-.054.047-.085.012-.02.004-.043-.015-.055-.02-.008-.043 0-.051.02l-.035.058c-.004.004-.004.004-.004.008l-.012.015a1.77 1.77 0 01-.117.18.04.04 0 00.004.05l-.02.044c-.008.02.004.043.024.05zm.289 2.414a.04.04 0 00.012-.055 1.51 1.51 0 01-.106-.168.84.84 0 01-.055-.102c-.011-.02-.035-.027-.054-.015-.02.008-.028.031-.016.05a.895.895 0 00.055.106c.035.059.07.117.11.172.007.012.019.02.03.02.008 0 .016-.004.024-.008zm-.45-1.801h.008c.02 0 .036-.016.04-.035.015-.102.035-.203.062-.305.008-.02-.004-.043-.027-.05-.02-.005-.043.007-.047.03-.031.102-.051.208-.067.313a.04.04 0 00.032.047zm.653 1.988a.047.047 0 00-.059-.004.047.047 0 00-.004.059c.07.078.149.156.23.226.009.008.017.008.024.008a.044.044 0 00.032-.011c.015-.016.011-.043-.004-.055a2.35 2.35 0 01-.22-.223zm-.711-1.715v.055c0 .09.004.18.012.266.004.02.02.035.039.035h.004c.023 0 .039-.02.035-.043a2.846 2.846 0 01-.012-.258v-.055a.04.04 0 00-.039-.039c-.023 0-.039.016-.039.04zm3.668-2.207c.016 0 .031-.008.035-.023.012-.02.004-.043-.02-.055a3.352 3.352 0 00-.296-.117c-.02-.008-.043.004-.051.027a.035.035 0 00.027.047c.098.035.196.074.29.117.003.004.011.004.015.004zm.355 4.36a.04.04 0 00-.054-.012l-.133.082c-.09.05-.184.098-.281.14-.02.008-.028.032-.02.051.008.016.02.024.035.024.008 0 .012 0 .016-.004.098-.04.195-.09.289-.14.047-.028.094-.06.137-.087a.04.04 0 00.011-.054zm-2.757-4.227a.042.042 0 00.011-.055c-.011-.02-.035-.027-.054-.015-.094.058-.18.12-.262.187-.02.012-.02.04-.008.055.008.012.02.016.031.016.008 0 .02-.004.024-.008a2.34 2.34 0 01.258-.18zm-1.172 2.664c-.02.004-.035.028-.028.047.024.106.055.211.09.309.008.015.024.027.04.027.003 0 .007 0 .011-.004.023-.008.031-.031.023-.05a2.582 2.582 0 01-.085-.298c-.008-.023-.028-.035-.051-.03zm1.761-2.976c-.007-.02-.03-.032-.05-.024-.102.031-.203.07-.301.113-.02.012-.027.036-.02.055a.043.043 0 00.04.024c.003 0 .007 0 .015-.004.094-.043.191-.082.29-.114.023-.004.03-.027.026-.05zm.73 5.023h.063a.04.04 0 000-.078H16.055c-.075 0-.145-.004-.22-.012-.019-.004-.034.008-.042.028-.016 0-.027.003-.043.003-.023.004-.04.024-.035.047.004.02.02.035.039.035h.004c.097-.015.195-.019.293-.023h.035zm-.108-5.125a.04.04 0 00-.04-.039 2.87 2.87 0 00-.32.04c-.023.003-.035.023-.031.046.004.02.02.031.039.031h.004c.105-.02.207-.031.312-.035.02-.004.04-.023.036-.043zm.59.086c.019 0 .035-.016.038-.035.008-.02-.007-.043-.03-.047a2.915 2.915 0 00-.317-.04.037.037 0 00-.043.036c0 .024.015.043.035.043a2.664 2.664 0 01.316.043zm2.015 1.793c-.008-.02-.027-.035-.05-.027-.02.004-.032.027-.028.046.027.102.047.204.062.31 0 .019.02.03.04.03h.003c.024 0 .04-.023.036-.043a3.018 3.018 0 00-.063-.316zm.086.637a.04.04 0 00-.04-.04c-.023 0-.042.016-.042.04v.023c0 .098-.004.192-.016.29 0 .019.016.038.035.042h.004c.02 0 .04-.015.04-.035.011-.098.019-.2.019-.297zm-4.047 2.11c-.012.019-.008.042.012.054.086.062.18.117.277.164.004.004.012.004.016.004a.041.041 0 00.035-.02c.012-.02.004-.047-.016-.055a2.332 2.332 0 01-.27-.16c-.019-.011-.042-.007-.054.012zm3.941-1.52c-.019-.008-.039.007-.046.027a2.381 2.381 0 01-.09.297c-.008.023 0 .047.023.054h.012a.043.043 0 00.039-.023 2.81 2.81 0 00.094-.309c.004-.02-.008-.043-.032-.046zm-.851 1.39c.008.012.02.016.031.016.008 0 .02-.004.028-.012.078-.066.156-.144.23-.223.012-.015.012-.043-.004-.054a.042.042 0 00-.058 0 1.963 1.963 0 01-.223.218.042.042 0 00-.004.055zm-.285-4.07c.086.055.172.117.25.183.008.008.015.008.027.008a.044.044 0 00.031-.011c.012-.02.012-.043-.007-.06a3.106 3.106 0 00-.258-.187c-.02-.011-.047-.007-.059.012-.012.02-.004.043.016.055zm-3.203.32l-.118.13c.032-.08.055-.161.075-.243a.035.035 0 00-.028-.047c-.02-.004-.043.008-.047.027a2.401 2.401 0 01-.097.297.04.04 0 00.023.051c0 .004.004.004.004.004a.119.119 0 00-.02.027c-.015.02-.011.043.008.055.004.008.016.008.024.008a.036.036 0 00.031-.016c.063-.082.129-.16.203-.234.016-.016.012-.043-.004-.059a.038.038 0 00-.054 0zm.957 4.176c-.008.02.004.043.023.05.102.036.203.067.309.09h.008c.02 0 .035-.011.039-.03.004-.02-.008-.044-.032-.048a2.83 2.83 0 01-.297-.085.038.038 0 00-.05.023zm3.172-1.223c-.02-.011-.047-.004-.055.016-.05.09-.106.18-.164.266-.012.02-.008.043.012.054.003.008.011.008.023.008a.036.036 0 00.031-.016c.063-.09.117-.18.168-.273.008-.02.004-.047-.015-.055zm-.25-2.636a.05.05 0 00.035.015c.008 0 .015-.004.023-.008a.042.042 0 00.008-.054l-.078-.102c.004 0 .008.004.012.004.003 0 .007-.004.015-.004.02-.008.028-.031.024-.05-.04-.098-.067-.2-.09-.301a.045.045 0 00-.051-.028c-.02.004-.035.028-.027.047.023.102.05.2.086.297a1.354 1.354 0 00-.098-.113.038.038 0 00-.055 0c-.015.015-.02.039-.004.054.07.079.141.157.2.243zm-.153 9.285a.045.045 0 00.04-.043c-.005-.043-.005-.09-.005-.133 0-.059.004-.121.008-.18 0-.02-.015-.039-.039-.043-.02 0-.039.016-.043.04-.004.058-.004.12-.004.183 0 .047 0 .09.004.137 0 .02.016.039.04.039zm1.942-2.645a.046.046 0 00-.051-.031 2.786 2.786 0 00-.305.102c-.02.007-.031.03-.023.05.008.016.023.028.039.028.004 0 .008-.004.012-.004.097-.04.199-.07.296-.098.024-.004.036-.027.032-.047zm.625-.074a.04.04 0 00-.04-.04 2.21 2.21 0 00-.32.024c-.023 0-.039.024-.035.043.004.02.02.035.04.035h.003c.106-.015.211-.02.313-.023.023 0 .039-.016.039-.039zm-.555 4.992a2.015 2.015 0 01-.3-.082c-.02-.008-.044.004-.052.024-.007.02.004.043.028.05.097.035.203.067.308.086 0 .004.004.004.008.004.02 0 .035-.015.04-.031.003-.023-.009-.043-.032-.05zm-.586-.203a1.524 1.524 0 01-.137-.074c-.09-.051-.18-.11-.261-.172-.016-.016-.043-.012-.055.008-.012.015-.012.043.008.054a2.486 2.486 0 00.41.254c.004.004.012.004.015.004a.043.043 0 00.04-.023c.007-.02 0-.043-.02-.051zm-.652-4.133c-.075.07-.145.145-.211.223a.806.806 0 00.047-.137c.007-.023-.004-.043-.028-.05a.035.035 0 00-.047.027 2.971 2.971 0 01-.109.293c-.008.02 0 .043.02.05a.03.03 0 00.015.004.043.043 0 00.04-.023l.046-.117c0 .008.008.015.012.023.008.004.02.008.027.008a.036.036 0 00.031-.016c.067-.078.137-.156.211-.226.02-.016.02-.04.004-.055-.015-.015-.039-.02-.058-.004zm-.516 2.922c-.008-.02-.031-.027-.05-.02a.039.039 0 00-.02.055c.043.094.093.192.148.282.008.011.02.019.035.019.008 0 .012 0 .02-.004a.04.04 0 00.012-.055 3.735 3.735 0 01-.145-.277zm-.184-.594c-.003-.023-.023-.035-.046-.03a.04.04 0 00-.032.046c.02.105.043.207.075.312.007.016.023.028.039.028.003 0 .007 0 .011-.004a.035.035 0 00.028-.047 2.881 2.881 0 01-.075-.305zm.348-1.847a.044.044 0 00-.058.015c-.02.032-.04.067-.063.102l-.012.027c-.004 0-.004.004-.008.004-.05.09-.109.176-.175.258a.047.047 0 00.008.059.056.056 0 00.023.007c.012 0 .023-.007.031-.015.028-.035.055-.07.078-.106.016 0 .028-.008.035-.023.028-.059.06-.113.09-.172a.832.832 0 01.063-.098c.012-.02.004-.043-.012-.058zm.16 2.972c-.011-.02-.039-.02-.054-.007-.02.015-.02.039-.008.058.066.082.14.16.218.238.008.004.016.008.028.008.008 0 .02-.004.027-.012a.038.038 0 000-.054 2.95 2.95 0 01-.21-.23zm-.445-2.406a.035.035 0 00-.047.027 2.775 2.775 0 00-.086.309.04.04 0 00.031.047h.008c.02 0 .035-.012.04-.031.023-.102.05-.203.081-.301.008-.02-.004-.043-.027-.05zm4.531-.516c.008 0 .016 0 .024-.003.015-.012.023-.04.011-.055a2.483 2.483 0 00-.195-.258c-.012-.016-.039-.02-.055-.004-.015.012-.02.04-.004.055.067.078.13.164.184.25.008.012.023.015.035.015zm-.41-.48a.044.044 0 00.031-.012c.016-.015.012-.043-.004-.054a2.47 2.47 0 00-.25-.204c-.02-.011-.043-.007-.054.008a.047.047 0 00.008.059c.085.058.167.125.242.195.008.004.02.008.027.008zm.05 3.613a2.338 2.338 0 01-.234.207c-.02.012-.023.04-.007.055.007.012.02.016.03.016a.056.056 0 00.024-.008c.086-.067.168-.137.242-.211a.042.042 0 000-.059.038.038 0 00-.054 0zm.778-1.71c-.023 0-.043.019-.043.038a2.822 2.822 0 01-.031.313c-.004.02.012.039.031.043H23c.02 0 .035-.012.04-.031.015-.106.026-.215.03-.32.004-.024-.015-.04-.035-.044zm-.098.624c-.019-.004-.042.008-.046.028a2.38 2.38 0 01-.11.293c-.008.02 0 .043.02.05a.03.03 0 00.015.004.043.043 0 00.04-.023c.042-.098.078-.2.109-.3.008-.02-.004-.044-.027-.052zm-.242.582a.044.044 0 00-.058.016c-.051.09-.11.176-.176.258-.012.015-.008.039.008.055a.056.056 0 00.023.007c.016 0 .028-.004.035-.015.063-.082.125-.172.18-.266a.042.042 0 00-.012-.055zm.2-2.058c.003 0 .007 0 .011-.004.024-.008.035-.031.028-.05a2.81 2.81 0 00-.125-.298c-.008-.02-.032-.027-.051-.02-.024.012-.031.036-.02.055.047.094.086.192.117.29.008.015.024.027.04.027zm.09.582c.003.02.019.035.038.035h.004a.045.045 0 00.04-.043 4.52 4.52 0 00-.047-.32c-.008-.02-.028-.035-.047-.028-.024.004-.035.024-.032.047.02.102.036.203.043.309zm-1.79 2.61c-.101.027-.203.05-.304.07-.024 0-.036.023-.036.042.004.02.024.036.043.036h.004c.106-.02.211-.043.313-.075a.035.035 0 00.027-.046.035.035 0 00-.047-.028zm-1.953-4.669c-.094.051-.183.11-.27.172-.019.012-.023.04-.007.055.008.012.02.015.031.015.008 0 .016 0 .024-.003.082-.063.171-.118.261-.168.02-.012.028-.036.016-.055-.008-.02-.035-.027-.055-.016zm1.86-.164c.02 0 .035-.012.039-.031a.036.036 0 00-.028-.047 2.25 2.25 0 00-.316-.059c-.024-.003-.043.012-.043.036-.004.02.012.039.035.043a2.771 2.771 0 01.313.058zm-.52 4.93c-.105.004-.21.004-.312-.008-.024 0-.043.016-.043.04-.004.019.015.038.035.042.074.004.152.008.226.008h.094c.023 0 .04-.02.04-.043 0-.02-.02-.04-.04-.04zm1.11-4.703a.041.041 0 00.035-.02c.011-.02.003-.047-.016-.055a2.505 2.505 0 00-.293-.136c-.02-.008-.043.004-.05.023-.009.02.003.043.023.051.097.04.191.082.28.133a.042.042 0 00.02.004zm.074 4.36c-.09.05-.184.097-.278.14-.023.008-.031.031-.023.05a.043.043 0 00.039.024c.004 0 .008 0 .016-.004.097-.039.195-.09.285-.145.02-.011.027-.035.015-.054-.011-.02-.035-.024-.054-.012zm-6.211-2.255a2.63 2.63 0 01-.301-.082.038.038 0 00-.05.024c-.009.02.003.043.023.05.101.036.207.063.312.086h.008c.02 0 .035-.011.039-.03a.043.043 0 00-.031-.048zm-1.93-2.937c.023-.102.047-.203.082-.301.008-.024-.004-.043-.027-.05-.02-.009-.043.003-.051.023a4.072 4.072 0 00-.082.312.043.043 0 00.031.047h.008c.02 0 .035-.012.039-.031zm.027 1.28h.012c.024-.007.035-.026.027-.05a2.6 2.6 0 01-.074-.3c-.004-.024-.023-.04-.047-.036a.043.043 0 00-.03.047c.019.106.042.211.073.313a.04.04 0 00.04.027zm2.52 1.712c-.102.004-.207 0-.309-.008-.023 0-.043.016-.043.035-.004.024.012.043.035.043.075.008.149.012.227.012h.094c.023-.004.039-.02.039-.043 0-.023-.02-.04-.043-.04zm-2.047-.938c-.012-.02-.04-.023-.055-.007-.004 0-.004.003-.004.003-.004-.011-.007-.023-.015-.035-.008-.02-.031-.03-.051-.02-.02.009-.031.032-.02.052.04.093.075.195.102.293.008.02.023.03.04.03l.01-.003c.02-.004.036-.027.028-.047-.015-.055-.035-.11-.055-.164.055.062.114.125.172.184.008.007.02.011.032.011.007 0 .02-.004.027-.011a.038.038 0 000-.055 3.875 3.875 0 01-.211-.23zm1.355-4.039c-.003-.02-.027-.03-.046-.027a2.533 2.533 0 00-.305.102c-.02.007-.031.03-.024.05.008.016.02.024.04.024h.011c.098-.04.196-.07.297-.098.024-.008.035-.027.027-.05zm-1.933 2.25c-.02-.004-.04.016-.043.035-.004.063-.004.125-.004.188v.137c.004.02.02.035.043.035a.04.04 0 00.039-.04c-.004-.046-.004-.09-.004-.132 0-.059.004-.121.008-.18 0-.023-.016-.043-.04-.043zm1.422 2.465c-.047-.02-.094-.047-.137-.07a4.328 4.328 0 01-.262-.172c-.015-.016-.043-.012-.054.008-.016.015-.012.039.007.054a2.837 2.837 0 00.41.254c.005 0 .012.004.016.004.016 0 .031-.008.035-.023.012-.02.004-.043-.015-.055zm-.653-4.129a2.468 2.468 0 00-.218.235c-.016.015-.012.043.004.054a.035.035 0 00.027.012c.012 0 .023-.008.031-.016.067-.078.137-.156.211-.226.016-.016.02-.04.004-.059a.042.042 0 00-.059 0zm.52-.375c-.094.051-.184.11-.27.172-.02.012-.023.035-.007.055.007.012.02.015.03.015.009 0 .016 0 .024-.007.082-.059.172-.118.262-.164.02-.012.027-.036.016-.055-.008-.02-.036-.027-.055-.016zm3.742 2.055c.004.023.02.039.04.039h.003a.045.045 0 00.04-.043 4.212 4.212 0 00-.048-.32c-.008-.02-.027-.035-.05-.032-.02.004-.036.028-.028.047.02.102.035.207.043.309zm-.582-1.473c-.02.016-.02.04-.004.059.067.078.13.16.184.25.008.012.023.015.035.015.008 0 .016 0 .02-.003.019-.016.027-.04.011-.059a2.056 2.056 0 00-.191-.254.039.039 0 00-.055-.008zm-4.035.274a.04.04 0 00-.055.011c-.02.036-.043.07-.062.106-.031.055-.063.117-.094.176-.008.02 0 .043.02.054.007 0 .011.004.02.004a.042.042 0 00.034-.023 2.379 2.379 0 01.153-.274c.011-.015.003-.043-.016-.054zm4.488.59a.04.04 0 00.04.027h.011c.023-.008.031-.031.027-.05a2.503 2.503 0 00-.125-.298c-.007-.02-.03-.027-.054-.02-.02.012-.028.036-.016.055.043.094.086.188.117.286zm-1.66 3.222c-.102.028-.203.051-.305.067-.023.004-.039.023-.035.047.004.019.024.035.04.035.003 0 .007-.004.007-.004.106-.016.211-.04.313-.07.023-.004.035-.028.027-.051-.004-.02-.027-.032-.047-.024zm.496-4.605c.016 0 .027-.008.035-.024.012-.02.004-.043-.015-.054a2.484 2.484 0 00-.293-.133c-.02-.008-.043.004-.051.023-.008.02.004.043.023.051.098.04.192.082.282.129.007.004.011.008.02.008zm-.59-.23c.02 0 .035-.012.04-.028.007-.023-.008-.043-.028-.05-.055-.013-.113-.024-.168-.036.082-.016.164-.035.246-.055a.047.047 0 00.027-.05c-.007-.02-.027-.036-.05-.028-.098.028-.203.051-.305.067-.02.003-.035.023-.031.043v.007c-.012-.004-.024-.004-.035-.007-.024 0-.043.015-.043.035a.04.04 0 00.03.047c.106.011.208.03.31.054h.007zm.664 4.585c-.09.055-.183.102-.277.14-.023.013-.031.036-.023.056a.043.043 0 00.039.023c.004 0 .007 0 .015-.004a2.79 2.79 0 00.285-.144c.02-.012.024-.036.016-.055-.012-.02-.039-.027-.055-.016zm.547-.379a.042.042 0 00-.058 0c-.07.075-.149.14-.23.207-.02.012-.024.035-.009.055.008.008.02.016.032.016.007 0 .015-.004.023-.008.086-.067.168-.137.242-.215a.038.038 0 000-.055zm.68-1.316h.008c.02 0 .035-.012.039-.031.015-.106.027-.215.031-.32a.037.037 0 00-.035-.044c-.024 0-.043.016-.043.04a2.753 2.753 0 01-.031.308c-.004.023.008.043.03.047zm-.785-2.297a.044.044 0 00.031-.012.047.047 0 00-.004-.058 3.105 3.105 0 00-.25-.2c-.02-.015-.043-.007-.055.008-.015.02-.011.043.008.055.086.063.168.129.242.195.008.008.02.012.028.012zm-7.352 11.652c-.09-.05-.18-.105-.261-.168-.02-.015-.043-.011-.055.008-.016.016-.012.043.008.055.086.062.175.121.27.176.003.004.01.004.019.004a.047.047 0 00.035-.02c.008-.02.004-.043-.016-.055zm.707-4.714c-.105.023-.207.05-.308.085-.024.004-.032.028-.028.051a.043.043 0 00.04.024h.011c.098-.035.2-.063.3-.082.024-.004.036-.024.032-.047a.04.04 0 00-.047-.031zm-.605.207a2.46 2.46 0 00-.281.156.04.04 0 00-.012.055c.008.011.02.019.035.019.008 0 .012-.004.02-.008.085-.054.18-.105.273-.152.02-.008.027-.031.016-.05-.008-.024-.032-.032-.051-.02zm.472 4.742a2.342 2.342 0 01-.293-.098c-.023-.008-.046 0-.054.02a.044.044 0 00.023.054c.098.04.2.075.305.102h.008c.02 0 .035-.012.039-.027.008-.024-.004-.043-.028-.051zm-1.011-4.395a2.49 2.49 0 00-.23.223c-.016.015-.016.043 0 .055.007.007.019.011.027.011a.044.044 0 00.03-.011c.071-.079.145-.149.223-.215.02-.016.02-.04.004-.059-.011-.015-.039-.015-.054-.004zm-.606 3.035c-.008-.02-.031-.027-.054-.02a.045.045 0 00-.02.056c.047.097.098.19.156.28.008.012.02.02.032.02.007 0 .015-.004.023-.008.02-.011.023-.035.012-.054a2.303 2.303 0 01-.149-.274zm-.191-.59c-.004-.023-.024-.035-.047-.03a.04.04 0 00-.031.046c.02.106.047.207.078.309a.04.04 0 00.039.027h.012c.023-.008.035-.027.027-.05a2.614 2.614 0 01-.078-.301zm.523 1.118c-.015-.016-.039-.02-.058-.004-.016.012-.02.039-.004.055.066.082.14.16.219.234a.035.035 0 00.027.012c.012 0 .02-.004.027-.012a.042.042 0 000-.059 2.3 2.3 0 01-.21-.226zm1.903.918c-.106 0-.211-.008-.313-.024-.02-.004-.043.012-.043.035-.004.024.012.043.031.043.106.016.215.024.32.028h.005c.02 0 .039-.02.039-.04 0-.023-.02-.042-.04-.042zm-2.008-4.02c-.02-.012-.043-.008-.055.012a2.422 2.422 0 00-.172.27c-.011.019-.004.046.016.054a.03.03 0 00.02.008.042.042 0 00.035-.024c.046-.09.105-.18.164-.261a.047.047 0 00-.008-.059zm2.797-.957c-.098-.027-.2-.05-.301-.07.05-.008.098-.02.148-.031.02-.004.032-.028.028-.047a.043.043 0 00-.047-.032 2.04 2.04 0 01-.309.055.046.046 0 00-.035.043c.004.02.02.035.04.035h.003c.043-.004.082-.008.125-.015-.008.004-.012.011-.012.023-.004.02.012.04.032.043.101.02.203.043.304.074h.012a.038.038 0 00.035-.027c.008-.02-.004-.043-.023-.05zm.847.445c-.015-.011-.043-.011-.054.008-.016.016-.012.043.004.055.082.066.16.137.234.207a.035.035 0 00.027.012c.012 0 .02-.004.028-.012.015-.012.015-.04 0-.055a2.516 2.516 0 00-.239-.215zm.809 2.844c-.02-.008-.043.004-.05.024a2.314 2.314 0 01-.122.285c-.012.02-.004.047.016.054a.042.042 0 00.02.004.041.041 0 00.034-.02c.051-.097.09-.194.13-.296.003-.02-.005-.043-.028-.05zm-.274.567a.042.042 0 00-.054.011 2.831 2.831 0 01-.192.25.042.042 0 00.004.055c.008.008.02.008.028.008a.044.044 0 00.03-.012c.071-.082.134-.168.196-.254.012-.02.008-.043-.011-.058zm.403-1.188a.046.046 0 00-.047.04 1.978 1.978 0 01-.047.304c-.004.023.012.043.031.05h.008c.02 0 .035-.011.04-.03.023-.106.038-.212.05-.317 0-.023-.016-.043-.035-.047zm-.031-.629c-.024.004-.036.024-.036.047.02.102.028.203.032.309 0 .02.02.039.039.039.023 0 .039-.02.039-.043a2.952 2.952 0 00-.028-.32.04.04 0 00-.046-.032zm-5.043.637c.02-.004.039-.024.035-.043-.004-.055-.004-.106-.004-.16 0-.102.008-.207.02-.309.003-.023-.012-.043-.036-.047-.023 0-.043.016-.043.035-.015.106-.02.215-.02.32 0 .055 0 .11.005.165 0 .02.02.039.039.039h.004zm2.656-2.785h-.152-.004a4.051 4.051 0 01-.313-.024c-.02-.004-.043.012-.043.032a.04.04 0 00.031.046c.043.004.086.012.13.012.007.012.019.02.03.02h.004c.102-.008.207-.008.313-.004.02 0 .039-.016.043-.04 0-.023-.02-.038-.04-.042zm1.55 4.445c-.074.07-.156.137-.242.195-.02.012-.023.036-.011.055.008.012.023.016.035.016.008 0 .016 0 .023-.004.086-.063.172-.13.25-.2.016-.015.02-.042.004-.058-.015-.016-.039-.016-.058-.004zm-1.09.574a2.681 2.681 0 01-.308.055c-.02 0-.035.02-.035.043.004.02.02.035.04.035h.003c.11-.012.215-.031.32-.055.02-.003.032-.027.028-.046-.004-.024-.028-.036-.047-.032zm.759-4.648a2.826 2.826 0 00-.286-.149c-.02-.007-.046 0-.054.02s0 .043.02.055c.097.039.187.09.277.144a.035.035 0 00.02.004.041.041 0 00.034-.02.042.042 0 00-.011-.054zm-.176 4.43a2.66 2.66 0 01-.285.128c-.02.008-.032.032-.024.051.008.016.02.028.04.028.003 0 .007-.004.011-.004.102-.04.2-.082.293-.133.02-.008.027-.035.02-.055a.048.048 0 00-.055-.015zm1.066-3.524a2.884 2.884 0 00-.18-.266.042.042 0 00-.054-.007.047.047 0 00-.008.058c.063.082.121.168.176.258.008.012.02.02.031.02a.056.056 0 00.024-.008.042.042 0 00.011-.055zm.094.266c-.02.011-.031.035-.02.054.04.094.075.192.102.293.008.016.023.028.04.028h.01c.02-.008.036-.028.028-.051a2.767 2.767 0 00-.11-.3c-.007-.024-.03-.032-.05-.024zm-4.8.453h.01c.017 0 .032-.012.04-.031.023-.098.055-.2.094-.297.008-.02-.004-.043-.024-.051s-.043.004-.05.023c-.04.098-.07.203-.098.305-.008.023.008.043.027.05zm4.984-4.938c-.024.004-.036.024-.036.047.02.102.028.207.032.309 0 .023.02.039.039.039a.04.04 0 00.039-.04 2.87 2.87 0 00-.028-.32c-.003-.023-.023-.035-.046-.035zm-2.387-2.144c-.043-.004-.082-.004-.121-.004-.067 0-.133.004-.2.008-.023.004-.039.02-.039.043.004.02.02.039.04.039.003 0 .003 0 .003-.004.067-.004.13-.004.196-.004h.117c.02.004.039-.016.043-.035 0-.024-.02-.043-.04-.043zm-1.246.254a2.488 2.488 0 00-.281.16c-.02.012-.024.035-.012.055.008.011.02.015.035.015.008 0 .012 0 .02-.004.085-.058.18-.11.273-.152.02-.012.027-.035.016-.055-.008-.02-.032-.027-.051-.02zm1.879-.145a2.265 2.265 0 00-.313-.074c-.023-.004-.043.008-.047.031a.04.04 0 00.032.047c.101.016.203.04.304.07.004 0 .008.004.012.004.016 0 .031-.011.035-.03.008-.02-.004-.044-.023-.048zm.586.262a2.864 2.864 0 00-.286-.152c-.02-.008-.046 0-.054.023-.008.02 0 .043.02.05.097.044.187.09.277.145.007.004.011.008.02.008a.041.041 0 00.034-.02c.012-.019.004-.046-.011-.054zm-2.317 4.601c.098.043.2.075.305.106h.008c.02 0 .035-.012.039-.031a.035.035 0 00-.028-.047 2.353 2.353 0 01-.293-.102.044.044 0 00-.054.024c-.008.02.004.043.023.05zm2.578-4.418c-.015-.015-.043-.011-.054.004-.016.02-.012.043.004.059.082.063.16.133.234.207a.035.035 0 00.027.012c.012 0 .02-.004.028-.012a.042.042 0 000-.059 2.044 2.044 0 00-.239-.21zm.809 2.84c-.02-.007-.043.004-.05.024a2.66 2.66 0 01-.122.289c-.012.02-.004.043.016.055.008 0 .015.003.02.003.015 0 .027-.007.034-.023.051-.094.09-.195.13-.297.003-.02-.005-.043-.028-.05zm-.488.895a.036.036 0 00.03-.016c.071-.078.134-.164.196-.254.012-.02.008-.043-.011-.054-.02-.012-.043-.008-.055.011a2.31 2.31 0 01-.192.246c-.011.016-.011.043.004.055.008.008.02.012.028.012zm-2.442-4.242c-.105.023-.207.05-.308.086-.024.007-.032.03-.028.05.008.016.024.028.04.028.003 0 .007 0 .011-.004.098-.031.2-.059.3-.078.024-.008.036-.028.032-.051a.04.04 0 00-.047-.031zm1.375 4.93c.008.015.02.027.04.027.003 0 .007 0 .011-.004.102-.035.2-.082.293-.13.02-.01.027-.034.02-.054-.012-.02-.036-.027-.055-.015a2.63 2.63 0 01-.285.125c-.02.007-.032.03-.024.05zm1.133-3.919a2.4 2.4 0 01.164.243c.02.03.035.058.05.086.009.011.02.02.036.02.004 0 .012-.005.02-.009.02-.011.023-.035.011-.054l-.035-.063s0-.004-.004-.004c0-.004-.004-.008-.008-.015a2.93 2.93 0 01-.097-.192c-.008-.02-.028-.027-.047-.023a.783.783 0 00-.027-.04c-.012-.015-.04-.019-.055-.003-.016.011-.02.035-.008.054zm-.57 3.633c.008.012.023.02.035.02.008 0 .016-.004.023-.008.086-.063.172-.129.25-.2.016-.015.02-.038.004-.054-.015-.02-.039-.02-.058-.004a2.373 2.373 0 01-.243.192.04.04 0 00-.011.054zm-2.961-.09c-.016.02-.012.043.008.059a2.422 2.422 0 00.289.18.042.042 0 00.035-.024c.008-.015.004-.043-.016-.05-.09-.055-.18-.11-.261-.172-.02-.012-.043-.008-.055.007zm4.027-1.433c.02 0 .035-.012.04-.031.023-.102.038-.211.05-.317 0-.023-.016-.043-.035-.043-.024-.004-.043.012-.047.035a2.105 2.105 0 01-.047.309.043.043 0 00.031.047h.008zm-4.64.804c.007 0 .015 0 .023-.003a.04.04 0 00.012-.055 2.655 2.655 0 01-.149-.274c-.008-.02-.031-.03-.054-.02-.02.009-.028.032-.02.052.047.097.098.191.156.285.008.012.02.015.032.015zm.375.48c.007.005.015.009.027.009s.02-.004.027-.012a.038.038 0 000-.055c-.074-.074-.148-.148-.21-.23-.016-.016-.04-.02-.06-.004-.015.012-.019.039-.003.055.066.082.14.164.219.238zm.117-3.847c-.082.067-.16.14-.23.219-.016.02-.016.043 0 .059.007.007.019.011.027.011.011 0 .023-.007.03-.015a2.89 2.89 0 01.223-.215c.02-.012.02-.04.004-.055-.011-.015-.039-.02-.054-.004zm-.856 1.621c-.023-.004-.043.012-.043.036a2.17 2.17 0 00-.02.32c0 .055 0 .11.005.16 0 .023.02.04.039.04h.004c.02 0 .039-.02.035-.044-.004-.05-.004-.105-.004-.156 0-.106.008-.211.02-.313.003-.023-.012-.043-.036-.043zm.059 1.149c.008.015.023.027.039.027.004 0 .008 0 .012-.004a.035.035 0 00.027-.047 2.907 2.907 0 01-.078-.304.04.04 0 00-.047-.032.043.043 0 00-.031.047c.02.106.047.211.078.313zm-5.309 1.48a2.607 2.607 0 01-.289.114.047.047 0 00-.027.05c.008.016.023.028.039.028h.012c.101-.035.203-.075.3-.117.02-.008.028-.036.02-.055-.008-.02-.035-.028-.055-.02zm-.793-4.765a.04.04 0 00.04-.04c.003-.019-.012-.038-.036-.042a4.388 4.388 0 00-.32-.012c-.024 0-.04.02-.04.043 0 .02.02.039.04.039.105-.004.21 0 .312.012h.004zm.203 4.953c-.101.02-.207.031-.312.039-.02 0-.035.02-.035.043 0 .02.02.035.039.035h.004c.105-.004.21-.02.316-.035.024-.008.04-.028.035-.047-.004-.023-.027-.04-.047-.035zm.414-4.817c.016 0 .032-.007.036-.023a.04.04 0 00-.024-.05 2.143 2.143 0 00-.308-.09c-.02-.009-.043.007-.047.027-.004.023.008.043.031.047.102.023.2.054.297.09h.015zm1.657 2.684a.04.04 0 00-.047.031 2.473 2.473 0 01-.063.305c-.007.023.008.043.028.05h.011c.016 0 .032-.011.04-.027.027-.101.05-.21.066-.316 0-.02-.016-.04-.035-.043zm-1.094-2.395c.012 0 .023-.007.031-.02a.04.04 0 00-.011-.054 3.164 3.164 0 00-.274-.164c-.02-.008-.047 0-.055.02-.011.02-.004.043.016.054.094.047.184.098.27.157.007.004.015.007.023.007zm.934 3.004c-.02-.007-.043.004-.051.024-.04.094-.086.187-.137.277-.012.02-.004.047.016.055a.03.03 0 00.02.008.047.047 0 00.034-.02c.051-.094.098-.191.141-.289a.044.044 0 00-.023-.055zm.164-1.242c-.024.004-.04.024-.036.043.008.086.012.172.012.258v.055c0 .023.016.039.04.039.023 0 .038-.016.038-.04.004-.015.004-.035.004-.054 0-.09-.008-.176-.015-.266a.046.046 0 00-.043-.035zm-.47 1.797c-.015-.012-.038-.008-.054.008a2.924 2.924 0 01-.199.238.038.038 0 000 .055.035.035 0 00.027.012c.012 0 .02-.004.028-.012a3.18 3.18 0 00.21-.246.04.04 0 00-.011-.055zm-.484.457a3.737 3.737 0 01-.253.18c-.02.011-.028.035-.016.054.008.012.023.02.035.02a.03.03 0 00.02-.008c.093-.055.18-.117.265-.187.016-.012.02-.04.004-.055-.012-.016-.039-.02-.054-.004zm.329-3.602c.011 0 .02 0 .027-.007.016-.016.02-.04.004-.059a3.1 3.1 0 00-.227-.226c-.02-.012-.043-.012-.058.003-.016.02-.012.043.004.059.078.066.152.14.222.219a.035.035 0 00.028.012zm.359.524c.004 0 .012 0 .016-.004.02-.012.027-.035.02-.055l-.06-.105c-.003-.008-.011-.02-.015-.027 0 0-.004-.004-.004-.008a2.339 2.339 0 01-.137-.282c-.008-.02-.03-.027-.05-.02-.02.009-.032.032-.02.052.016.039.031.078.05.12a.03.03 0 00.005.04c.035.055.07.11.101.164.02.035.04.07.055.102a.043.043 0 00.039.023zM.539 22.777c-.008-.023-.031-.03-.05-.023-.02.008-.032.031-.024.05.043.102.09.2.14.294.008.011.02.02.036.02.007 0 .011-.005.02-.009.019-.007.026-.035.015-.05a3.095 3.095 0 01-.137-.282zm-.219-.87c.02 0 .04-.02.04-.044v-.023c0-.094.003-.192.015-.285.004-.024-.012-.043-.035-.047-.024 0-.043.015-.043.035-.012.098-.02.2-.02.297v.027c0 .02.02.04.043.04zm.059.269c0-.024-.02-.04-.043-.035-.024.004-.04.023-.035.047.015.105.035.21.062.312.008.02.024.031.04.031h.011c.02-.008.035-.031.027-.05a2.811 2.811 0 01-.062-.305zm.004-.899H.39c.02 0 .035-.011.039-.03.023-.102.054-.2.093-.298.008-.02-.003-.043-.023-.05a.044.044 0 00-.055.023 3.933 3.933 0 00-.093.305c-.004.023.007.043.03.05zm2.312 3.059a2.02 2.02 0 01-.308-.04.04.04 0 00-.047.032c-.004.024.008.043.031.047.106.02.211.035.317.043h.003a.04.04 0 00.04-.04c.003-.019-.016-.038-.036-.042zm-1.949-3.98c-.058.085-.117.18-.168.273-.008.02 0 .043.02.055l.015.003c.016 0 .032-.007.035-.023.051-.09.106-.18.164-.266a.04.04 0 00-.011-.054.04.04 0 00-.055.011zm.098 2.964c-.012-.02-.04-.023-.055-.008-.02.012-.023.036-.012.055.067.086.133.168.207.246.008.008.02.012.028.012.011 0 .02-.004.027-.012.02-.011.02-.039.004-.054a2.924 2.924 0 01-.2-.239zm1.242.899c-.102-.032-.2-.07-.293-.114-.02-.011-.043-.003-.05.016a.039.039 0 00.019.055 1.954 1.954 0 00.308.12c.02 0 .035-.01.04-.026a.04.04 0 00-.024-.051zm.434-4.903c0-.023-.024-.035-.043-.035-.106.02-.211.04-.317.07-.02.004-.031.028-.027.047.008.02.023.032.039.032.004 0 .008 0 .012-.004.101-.028.203-.047.304-.063a.04.04 0 00.032-.047zm-.61.164c-.008-.023-.031-.03-.05-.023a2.85 2.85 0 00-.29.145c-.047.027-.093.054-.136.082-.02.015-.024.039-.012.058.008.012.02.016.035.016.008 0 .016 0 .02-.008l.132-.082c.09-.05.184-.098.282-.137.02-.008.027-.031.02-.05zm-.676.403c-.015-.016-.039-.02-.058-.004-.078.07-.156.144-.227.223-.015.02-.015.043 0 .058.008.008.02.008.028.008a.044.044 0 00.03-.012c.067-.074.145-.148.223-.215.016-.015.02-.043.004-.058zm.29 4.07a2.003 2.003 0 01-.254-.183c-.016-.012-.043-.012-.055.007-.016.016-.012.043.004.055.082.07.172.133.261.188.004.007.012.007.02.007a.047.047 0 00.035-.02c.012-.015.004-.042-.012-.054zm6.788-2.383a2.607 2.607 0 01-.289.114.045.045 0 00-.027.05c.008.016.024.028.04.028.003 0 .007 0 .01-.004.102-.031.204-.07.302-.113a.045.045 0 00.02-.055c-.009-.02-.032-.027-.056-.02zm-.59.188c-.1.02-.206.031-.308.039a.04.04 0 000 .078h.004a2.8 2.8 0 00.316-.04c.024-.003.04-.023.036-.046a.043.043 0 00-.047-.031zm.415-4.817c.015 0 .031-.007.035-.027a.038.038 0 00-.024-.05 2.565 2.565 0 00-.308-.09c-.02-.004-.043.007-.047.03-.004.02.008.044.031.048.102.023.2.054.297.09h.016zm.562.29c.012 0 .024-.008.031-.02.012-.02.008-.043-.007-.055a2.868 2.868 0 00-.278-.164c-.02-.012-.043-.004-.054.02-.012.02-.004.043.015.05.094.047.184.102.27.16.008.005.015.008.023.008zm.797.914c.004.015.02.023.035.023a.03.03 0 00.016-.008c.02-.008.027-.031.02-.05-.02-.036-.04-.075-.06-.106a6.634 6.634 0 00-.105-.172c-.015-.02-.039-.023-.058-.012-.016.016-.024.04-.008.059.035.05.07.105.101.164.02.031.04.066.06.102zm-4.492-.008a.03.03 0 00.016.008.043.043 0 00.039-.024c.046-.09.101-.18.16-.266.011-.02.008-.043-.008-.054a.047.047 0 00-.059.008c-.058.09-.117.18-.168.277-.007.02 0 .043.02.05zm-.32 1.183c0 .024.02.04.043.04a.04.04 0 00.039-.04v-.023c0-.098.004-.192.015-.29.004-.019-.011-.038-.035-.042-.02-.004-.043.012-.043.035-.012.098-.02.2-.02.297zm.086.637c.007.02.023.031.039.031.003 0 .007-.004.011-.004.02-.004.035-.027.028-.047a2.094 2.094 0 01-.059-.304c-.004-.024-.023-.04-.047-.035a.046.046 0 00-.035.043c.016.105.035.214.063.316zm4.359 1.133l.117-.13c-.031.08-.055.161-.074.243-.008.02.008.043.027.047h.012c.016 0 .031-.012.039-.027.023-.102.055-.203.094-.297.008-.02-.004-.043-.024-.051 0-.004-.004-.004-.004-.004.008-.008.016-.02.024-.027a.042.042 0 00-.008-.055c-.02-.016-.043-.012-.059.008-.062.082-.128.16-.199.234-.015.02-.015.043 0 .059a.035.035 0 00.028.012c.011 0 .02-.004.027-.012zm.043-3.445c.012 0 .02-.004.027-.008.016-.016.02-.043.004-.059a3.1 3.1 0 00-.226-.226c-.02-.016-.043-.012-.059.003-.016.016-.012.043.004.055.078.07.152.145.223.223a.035.035 0 00.027.012zm-.328 3.597a2.73 2.73 0 01-.254.18c-.02.012-.027.039-.016.055.008.011.024.02.035.02.008 0 .016 0 .02-.005.094-.058.18-.12.266-.187.015-.012.02-.04.003-.055-.011-.02-.039-.02-.054-.008zm-3.938-2.887c-.023-.007-.043 0-.05.024-.04.098-.07.203-.098.305-.004.023.008.043.031.046.004.004.004.004.008.004.02 0 .035-.011.039-.03.023-.102.055-.2.094-.298a.04.04 0 00-.024-.05zm4.727 1.88a.038.038 0 00-.051.023 3.25 3.25 0 01-.129.262l-.047.085c-.011.02-.004.043.016.055.004 0 .012.004.02.004a.047.047 0 00.035-.02c.011-.023.023-.042.035-.066l.004-.004c0-.004.004-.008.007-.015a1.77 1.77 0 01.118-.18.037.037 0 00-.004-.05c.008-.013.011-.028.02-.044a.038.038 0 00-.024-.05zM5.64 17.34c-.016-.016-.04-.02-.055-.004a2.49 2.49 0 00-.23.223.042.042 0 000 .058c.007.004.019.008.027.008a.044.044 0 00.031-.012 2.35 2.35 0 01.223-.218c.015-.012.02-.04.004-.055zm.289 4.07a2.328 2.328 0 01-.254-.183c-.016-.012-.043-.012-.055.007-.016.016-.012.04.004.055.082.066.172.133.262.188a.03.03 0 00.02.007.041.041 0 00.034-.02.042.042 0 00-.011-.054zm.386-4.476c-.007-.02-.03-.028-.05-.02-.098.04-.196.09-.29.14-.046.028-.09.06-.136.087-.016.011-.024.039-.012.054.008.012.024.02.035.02a.056.056 0 00.024-.008l.129-.082c.093-.05.187-.098.28-.137.02-.011.032-.035.02-.054zm3.536 2.414c.003-.02.003-.035.003-.055 0-.09-.007-.18-.015-.266 0-.023-.02-.039-.043-.035-.024 0-.04.02-.035.043.008.086.011.172.011.258v.055c0 .02.016.039.04.039.023 0 .039-.016.039-.04zm-.141.664h.012c.015 0 .03-.012.039-.028.027-.105.05-.21.066-.316 0-.023-.012-.043-.035-.047-.023 0-.043.016-.047.035a2.007 2.007 0 01-.062.305c-.008.023.007.043.027.05zm-4.461.761a.042.042 0 00-.055-.007c-.02.015-.023.039-.011.054.027.035.05.07.078.102a.025.025 0 00-.024 0 .038.038 0 00-.023.05c.035.098.066.2.09.301.004.016.02.032.039.032 0 0 .004-.004.008-.004a.036.036 0 00.027-.047c-.02-.098-.05-.2-.086-.293.031.035.062.074.098.11.007.007.02.011.027.011.012 0 .02-.004.027-.012.02-.015.02-.039.004-.054a2.983 2.983 0 01-.199-.243zm4.46-2.046c.005.02.02.03.04.03h.008a.043.043 0 00.031-.046 4.028 4.028 0 00-.094-.309c-.008-.02-.03-.03-.05-.023-.02.008-.032.031-.024.05.035.098.066.2.09.298zm-3.218 2.949c-.101-.035-.199-.07-.289-.117-.023-.008-.047 0-.055.02-.007.019 0 .042.02.054.098.043.195.086.297.117.004 0 .008.004.012.004.02 0 .035-.012.039-.027.007-.024-.004-.047-.024-.051zm.61.117a2.664 2.664 0 01-.309-.04c-.023-.003-.043.009-.047.032-.004.02.008.043.031.047.106.02.211.035.317.04h.004c.02 0 .039-.017.039-.036.004-.023-.012-.043-.035-.043zm-.172-5.02c0-.003-.004-.003-.004-.003.011 0 .023 0 .035.003h.008c.02 0 .035-.015.039-.035 0-.023-.016-.043-.035-.047a2.681 2.681 0 01-.309-.054c-.02-.004-.043.008-.047.031-.004.02.008.043.028.047l.168.035a4.4 4.4 0 00-.243.055.046.046 0 00-.03.05c.007.02.022.032.038.032.004 0 .008-.004.012-.004.101-.028.203-.051.305-.067.023-.003.035-.023.035-.043zm.586.028h.004c.02 0 .03-.012.039-.028.015 0 .03-.003.046-.003a.04.04 0 00.032-.047c0-.02-.024-.035-.043-.032-.098.012-.196.016-.293.02h-.098a.04.04 0 000 .078h.098c.07.004.144.004.215.012zm-2.25-4.297h.011a.04.04 0 00.04-.027c.03-.098.058-.204.081-.309a.04.04 0 00-.03-.047c-.024-.004-.044.008-.048.031-.02.102-.047.203-.082.301-.004.02.004.043.028.05zm.097-.973c.004.043.004.09.004.133 0 .059 0 .121-.008.18 0 .023.016.039.04.043h.003c.02 0 .035-.016.04-.04.003-.058.007-.12.007-.183 0-.047-.004-.09-.004-.137-.004-.02-.02-.039-.043-.035a.04.04 0 00-.039.04zm-.035-.308c.004.02.02.03.04.03h.007c.023-.003.035-.023.031-.046a2.95 2.95 0 00-.074-.309c-.008-.023-.031-.035-.05-.027-.02.004-.032.027-.028.05.031.099.055.2.074.302zM.66 10.39c.004.004.012.004.02.004.011 0 .027-.004.035-.02a2.26 2.26 0 01.176-.254.047.047 0 00-.008-.059.042.042 0 00-.055.008 2.135 2.135 0 00-.183.266c-.012.02-.004.043.015.055zm3.715-.727c.008.008.016.008.023.008a.036.036 0 00.032-.016c.015-.015.011-.043-.008-.054a2.404 2.404 0 00-.266-.176c-.047-.028-.093-.055-.144-.078-.02-.008-.043 0-.051.02-.012.019-.004.042.016.05.046.023.093.05.136.074.09.055.18.11.262.172zm-3.309.234a.044.044 0 00.032-.011c.07-.075.152-.145.234-.207.016-.012.02-.04.004-.055-.012-.02-.035-.02-.055-.008a3.121 3.121 0 00-.242.211.042.042 0 000 .059c.008.008.02.011.027.011zm-.351 3.125a.04.04 0 00-.012.055c.059.09.121.176.192.258.007.012.02.016.03.016.009 0 .016-.004.024-.012.02-.012.02-.04.008-.055a1.897 1.897 0 01-.187-.25c-.012-.015-.04-.023-.055-.012zm4.43-2.394c.007.016.02.023.035.023.008 0 .011 0 .02-.004.019-.007.027-.03.019-.05a3.297 3.297 0 00-.153-.286c-.011-.019-.035-.023-.054-.011-.02.008-.024.035-.012.054.055.086.102.18.145.274zM3.69 9.297c.004.004.008.004.012.004.016 0 .031-.012.04-.028.007-.02-.005-.043-.024-.05a2.178 2.178 0 00-.313-.086c-.02-.008-.039.008-.047.027-.004.024.012.043.032.05.101.02.203.048.3.083zm-1.53-.04c.097-.027.198-.05.3-.066.023-.004.039-.027.035-.046-.004-.024-.023-.036-.047-.036-.105.02-.21.043-.312.075a.035.035 0 00-.028.046c.004.02.02.032.04.032.003 0 .007 0 .011-.004zM.413 10.974h.012c.015 0 .031-.012.039-.028.027-.097.062-.199.105-.293.008-.02 0-.043-.02-.05-.019-.012-.042 0-.054.02-.043.097-.078.198-.11.3-.007.02.005.043.028.05zm2.668-1.805h.004a.04.04 0 00.039-.04c.004-.019-.012-.038-.035-.042-.106-.008-.215-.012-.32-.008-.024 0-.04.02-.04.043 0 .024.02.04.043.04.102-.005.207-.005.309.007zM.445 12.453c-.023.008-.03.031-.027.05.035.102.078.2.125.298.008.015.02.023.035.023.008 0 .012-.004.02-.004.02-.011.027-.035.015-.054a2.633 2.633 0 01-.117-.29c-.008-.019-.031-.03-.05-.023zm4.54.617c.003.004.011.004.019.004.016 0 .027-.004.035-.015.02-.036.043-.07.063-.106.003-.008.007-.02.015-.027l.004-.004c.05-.09.113-.176.176-.258.012-.02.012-.043-.008-.055-.016-.015-.043-.011-.055.004a1.83 1.83 0 00-.078.106c-.015 0-.027.008-.035.023a2.38 2.38 0 01-.09.172c-.02.035-.039.066-.058.102a.04.04 0 00.011.054zm-4.602-.843c.02-.008.035-.028.031-.051a1.978 1.978 0 01-.047-.305c0-.023-.02-.039-.043-.039-.023.004-.039.023-.035.043.008.11.024.215.047.32.004.016.02.032.039.032h.008zm3.949 1.464a2.955 2.955 0 01-.262.164c-.02.012-.027.036-.015.055.008.016.02.02.035.02.008 0 .012 0 .02-.004.093-.051.183-.11.269-.172a.04.04 0 00.012-.055c-.016-.02-.04-.023-.059-.008zm-1.496.516c0 .023.02.04.039.04.11 0 .215-.009.32-.024.024 0 .04-.02.035-.043-.003-.024-.023-.04-.042-.035-.106.015-.208.02-.313.023a.04.04 0 00-.04.039zm1.766-.645c.007 0 .02-.003.027-.011.074-.07.144-.145.21-.223l-.046.137c-.008.023.004.043.027.05.004 0 .008.005.012.005.016 0 .031-.012.04-.032a2.2 2.2 0 01.105-.293c.007-.02 0-.043-.02-.05-.02-.008-.043 0-.05.02-.02.038-.036.077-.052.116a.021.021 0 00-.011-.02c-.016-.015-.043-.011-.055.005-.066.078-.14.156-.215.226-.015.016-.02.04-.004.055.008.008.02.015.032.015zm-2.391.56c-.008.023.008.042.027.05.106.023.211.043.317.055.004 0 .004.003.004.003.023 0 .039-.015.043-.039 0-.02-.016-.039-.036-.043a2.681 2.681 0 01-.308-.054c-.02-.008-.043.008-.047.027zm1.254.01c.004.02.02.032.039.032h.008c.105-.027.207-.062.304-.101.024-.008.032-.032.024-.051-.008-.02-.031-.032-.05-.024-.099.04-.196.07-.298.098-.02.004-.035.027-.027.047zm1.355-4.034c.008.011.02.015.032.015a.056.056 0 00.023-.008c.02-.015.02-.039.008-.054a2.516 2.516 0 00-.215-.239.042.042 0 00-.059 0 .038.038 0 000 .055c.075.074.145.153.211.23zm-4.5 1.5a.04.04 0 00.04-.04c.003-.105.015-.206.03-.308.005-.023-.007-.043-.03-.047a.043.043 0 00-.047.031 2.962 2.962 0 00-.032.32c0 .024.016.04.04.044zm1.305 2.289c-.012.02-.004.043.016.05.093.051.191.098.293.137h.015c.016 0 .031-.008.035-.023A.038.038 0 001.961 14a2.631 2.631 0 01-.281-.133.045.045 0 00-.055.02zm-.508-.375a.042.042 0 000 .058c.078.07.164.137.25.2a.056.056 0 00.024.007c.011 0 .023-.007.03-.015.016-.02.013-.043-.007-.059a1.961 1.961 0 01-.242-.195c-.016-.012-.043-.012-.055.004zm.45-4c.007 0 .015 0 .023-.004.086-.055.18-.102.277-.145.02-.008.028-.031.02-.05a.039.039 0 00-.055-.02c-.098.039-.191.09-.285.145-.02.011-.024.035-.012.054.004.012.02.02.031.02zm8.242 4.523c-.024 0-.04.02-.04.043.004.043.004.086.004.129 0 .063 0 .121-.003.18-.004.023.011.043.035.043h.004c.02 0 .039-.016.039-.035.004-.063.007-.125.007-.188 0-.043-.003-.09-.003-.137a.042.042 0 00-.043-.035zm-.137 1.012c.004.004.008.004.012.004.015 0 .03-.012.039-.028.03-.101.062-.207.082-.312a.043.043 0 00-.032-.047.04.04 0 00-.046.031c-.02.102-.047.203-.082.301a.045.045 0 00.027.05zm-.09.219c-.02-.008-.043 0-.05.02-.032.058-.06.116-.095.171-.019.035-.039.066-.058.102-.012.02-.008.043.012.054a.03.03 0 00.02.008.041.041 0 00.034-.02c.02-.035.043-.07.063-.101.031-.059.066-.121.094-.18a.045.045 0 00-.02-.054zm.105-1.852a.045.045 0 00-.027.05c.031.098.059.2.074.302.004.02.02.035.04.035h.007c.024-.004.035-.028.031-.047a2.138 2.138 0 00-.074-.313c-.008-.023-.031-.035-.05-.027zm-4.164 2.64c-.015.02-.015.044 0 .06.079.07.165.14.25.198.008.008.016.008.024.008.012 0 .027-.004.035-.015.012-.02.008-.043-.012-.055a2.94 2.94 0 01-.242-.195c-.016-.016-.043-.016-.055 0zm-.078-3.624c.008.008.02.011.032.011.007 0 .02-.004.027-.011.074-.075.152-.14.234-.203.016-.016.02-.04.004-.059-.012-.016-.035-.02-.054-.008a2.507 2.507 0 00-.243.215.038.038 0 000 .055zm-.113 3.465c.008 0 .02-.004.027-.008.016-.016.016-.04.004-.059a2.273 2.273 0 01-.187-.246c-.012-.02-.035-.023-.055-.012-.02.012-.023.035-.012.055.059.09.121.176.192.258.008.008.02.012.031.012zm.64-3.84c.008 0 .016 0 .024-.004a1.68 1.68 0 01.277-.14.045.045 0 00.02-.056c-.008-.02-.031-.027-.05-.02-.102.044-.196.09-.29.145-.02.012-.023.036-.012.055.008.012.02.02.032.02zm.594-.25c.098-.032.2-.055.301-.07.024-.005.04-.024.035-.047a.04.04 0 00-.047-.032c-.105.016-.21.04-.312.07-.02.008-.035.028-.027.051.004.016.02.028.039.028h.011zm-1.582 3.562c.008 0 .012 0 .02-.004.02-.011.027-.035.016-.054a3.639 3.639 0 01-.118-.286c-.007-.023-.03-.035-.05-.027-.02.008-.032.031-.024.05.031.102.074.204.121.298a.042.042 0 00.035.023zm3.797-3.156a.056.056 0 00.024.008c.011 0 .023-.008.03-.016.017-.02.013-.043-.007-.058a2.607 2.607 0 00-.265-.176c-.047-.028-.094-.055-.145-.078-.02-.008-.043 0-.05.02-.013.019-.005.042.015.054a2.44 2.44 0 01.398.246zm-2.75 4.219c-.011.02-.004.043.016.054a2.81 2.81 0 00.308.137.038.038 0 00.036-.027.038.038 0 00-.024-.051 3.656 3.656 0 01-.281-.129c-.02-.012-.043-.004-.055.016zm-1.3-2.051c-.024 0-.04.02-.036.043.008.105.024.21.047.316.004.02.02.032.04.032h.007a.043.043 0 00.031-.047 2.105 2.105 0 01-.047-.309c0-.023-.02-.039-.043-.035zm2.757-2.668h.004c.024 0 .04-.016.043-.035 0-.024-.015-.043-.039-.043a2.194 2.194 0 00-.32-.008.04.04 0 00-.04.04c0 .023.02.038.044.038.101-.004.207 0 .308.008zm.61.133h.011c.02 0 .036-.008.04-.028.007-.02-.004-.043-.024-.05a3.032 3.032 0 00-.309-.086c-.023-.004-.043.008-.05.03a.043.043 0 00.03.048c.102.023.204.05.302.086zm1.129.8c.007.008.02.012.03.012.009 0 .02 0 .024-.008.004 0 .004 0 .004-.003a.139.139 0 01.016.035c.008.015.02.023.035.023.008 0 .012 0 .016-.004a.038.038 0 00.023-.05 2.02 2.02 0 01-.105-.294c-.008-.02-.028-.035-.051-.027a.045.045 0 00-.028.05c.016.056.036.106.055.161a3.82 3.82 0 00-.172-.184.042.042 0 00-.058 0c-.016.016-.012.043.004.055.074.074.144.152.207.235zM7.87 16.68c.004.015.02.027.04.027h.007c.105-.027.207-.059.305-.102a.038.038 0 00.023-.05c-.008-.02-.031-.032-.05-.024a2.03 2.03 0 01-.298.098c-.02.008-.035.027-.027.05zm-3.105-2.934c-.02-.004-.043.012-.047.035a2.8 2.8 0 00-.032.317c0 .023.016.043.04.043.023 0 .039-.016.039-.04.004-.101.015-.206.035-.308.004-.023-.012-.043-.035-.047zm3.972 2.488a2.988 2.988 0 01-.261.168c-.02.008-.028.032-.016.051.008.016.02.024.035.024.008 0 .012-.004.02-.008.093-.051.183-.11.27-.172.019-.012.023-.035.01-.055a.047.047 0 00-.058-.008zm.27-.129c.008 0 .02-.003.027-.011.078-.074.152-.153.219-.235.016-.015.012-.043-.004-.054-.016-.016-.043-.012-.055.004-.066.082-.14.156-.215.226a.047.047 0 00-.003.059c.007.008.02.011.03.011zM9.977 4.72c.007 0 .02 0 .027-.008.078-.07.16-.137.242-.195.02-.012.024-.036.012-.055a.04.04 0 00-.055-.012c-.09.063-.172.13-.254.203-.015.012-.015.04-.004.055.008.008.02.012.032.012zm3.742 3.37a.056.056 0 00.023.009.041.041 0 00.035-.02 2.39 2.39 0 00.168-.27c.012-.019.004-.042-.015-.054-.02-.012-.043-.004-.051.016-.05.09-.106.18-.168.261a.047.047 0 00.008.059zm-.403.47a.056.056 0 00.024-.008c.082-.07.16-.145.234-.223.016-.015.012-.043-.004-.055a.038.038 0 00-.054 0c-.07.079-.149.149-.227.215-.016.016-.02.04-.004.059.008.008.02.012.031.012zm-.53.343c.007 0 .01 0 .019-.004.093-.046.187-.097.277-.156a.04.04 0 00.012-.055c-.012-.019-.035-.023-.055-.011-.086.054-.18.105-.27.152-.019.008-.03.031-.019.055.008.012.02.02.035.02zm-.458-4.746a2.638 2.638 0 01.313.102c.015 0 .027-.008.035-.024.008-.023 0-.046-.024-.054-.097-.04-.199-.075-.304-.102-.02-.004-.043.008-.047.027-.008.024.008.043.027.051zm-.773 5h.16a4.1 4.1 0 01.308.024l.004.004c.024 0 .04-.016.043-.036 0-.023-.015-.043-.035-.046l-.129-.012a.041.041 0 00-.035-.02 2.769 2.769 0 01-.312.004.04.04 0 00-.04.04c-.003.023.016.038.036.042zm-.47-5.02h.009c.101-.023.207-.042.308-.05.024-.004.04-.024.036-.047a.046.046 0 00-.043-.035 2.816 2.816 0 00-.317.055c-.023.007-.035.027-.031.046.004.02.02.032.039.032zm.63-.066c.101 0 .207.008.308.024h.004c.024 0 .04-.016.043-.035 0-.02-.015-.043-.035-.043a2.953 2.953 0 00-.32-.028.04.04 0 00-.04.04c-.003.023.016.042.04.042zm.473 5.035h.007c.106-.02.211-.05.313-.082.02-.007.031-.03.023-.05-.008-.024-.031-.036-.05-.028-.098.035-.2.063-.301.082a.04.04 0 00-.032.047c.004.02.02.031.04.031zm1.43-4.117c.007.012.019.016.027.016.011 0 .02-.004.027-.008.015-.016.02-.039.004-.059a2.468 2.468 0 00-.219-.234.038.038 0 00-.055 0 .042.042 0 000 .059c.078.07.149.148.215.226zm-2.692 4.059c.097.027.195.055.297.07a1.57 1.57 0 00-.145.031c-.023.004-.035.028-.031.047.004.02.02.032.039.032h.008a2.84 2.84 0 01.308-.055c.024 0 .04-.024.036-.043-.004-.024-.024-.04-.043-.035a1.365 1.365 0 00-.125.015c.007-.004.011-.011.011-.023.004-.02-.008-.04-.031-.043a2.6 2.6 0 01-.3-.074c-.024-.004-.048.008-.052.027-.007.024.004.043.028.05zm-.586-.262c.09.055.187.106.285.149.004.004.008.004.016.004.015 0 .027-.008.035-.024a.045.045 0 00-.02-.055 2.085 2.085 0 01-.277-.144c-.02-.008-.043-.004-.055.015-.011.02-.004.043.016.055zm.156-4.426c.004 0 .012 0 .016-.004.093-.046.187-.09.285-.128.02-.008.031-.032.023-.051-.008-.02-.03-.031-.05-.024-.102.04-.2.082-.293.133-.02.008-.028.035-.016.055.004.012.02.02.035.02zm-.957.832a.05.05 0 00.024.004c.011 0 .027-.004.035-.015.054-.086.12-.168.187-.246.016-.02.012-.043-.004-.059-.015-.016-.043-.012-.054.004-.07.082-.137.168-.196.258-.015.015-.008.043.008.054zm3.363-.8c.094.05.18.109.262.168.008.007.016.007.024.007.015 0 .027-.003.035-.015a.042.042 0 00-.008-.055 3.98 3.98 0 00-.27-.176c-.02-.011-.047-.004-.054.016a.042.042 0 00.011.055zM10.074 8.6a.056.056 0 00.024.008.036.036 0 00.03-.015c.017-.016.013-.043-.003-.055a2.339 2.339 0 01-.234-.207.038.038 0 00-.055 0 .038.038 0 000 .055c.074.078.156.148.238.215zm-.808-2.843c.004.004.007.004.011.004.016 0 .032-.012.04-.028.035-.097.074-.195.12-.285.012-.02.004-.043-.015-.054-.02-.012-.043-.004-.055.02-.047.093-.09.19-.125.292a.04.04 0 00.024.05zm-.125.62h.004c.02 0 .035-.015.039-.038.007-.102.023-.203.046-.305.004-.023-.007-.043-.03-.047-.02-.008-.044.008-.048.028a2.88 2.88 0 00-.05.32c0 .02.015.039.039.043zm5.011.782c-.02-.004-.043.008-.047.031-.027.098-.058.2-.097.297-.008.02.004.043.023.051.004 0 .008.004.016.004a.038.038 0 00.035-.027c.04-.098.074-.204.098-.305.008-.024-.004-.043-.028-.05zm-4.707.719c.055.09.114.18.18.266.008.011.02.015.031.015.008 0 .016-.004.024-.008.02-.015.023-.039.008-.054a2.323 2.323 0 01-.172-.262c-.012-.016-.04-.024-.055-.012-.02.012-.027.035-.016.055zm-.28-.871h.003c.023-.004.039-.024.035-.043a2.822 2.822 0 01-.031-.313c0-.02-.02-.039-.04-.039-.023 0-.038.02-.038.043.004.106.011.215.031.32 0 .02.02.032.04.032zm4.78-1.492c.008.011.024.023.04.023.003 0 .007-.004.015-.004.02-.012.027-.035.02-.055a2.46 2.46 0 00-.157-.28c-.011-.02-.035-.024-.054-.013a.042.042 0 00-.012.055c.055.086.105.18.148.274zm-4.61 2.101c.009 0 .013-.004.017-.004.023-.008.03-.031.023-.054a1.866 1.866 0 01-.105-.293.045.045 0 00-.051-.028.047.047 0 00-.028.051c.032.102.067.203.11.3.008.016.02.028.035.028zm4.802-1.512c.004.02.02.036.039.036.004 0 .004-.004.008-.004.023-.004.035-.024.03-.047a2.975 2.975 0 00-.077-.309c-.008-.023-.032-.035-.051-.027a.047.047 0 00-.027.05c.035.098.058.2.078.301zm.039.31c.004.054.004.105.004.16 0 .1-.004.206-.02.308 0 .023.016.043.035.047h.004c.024 0 .04-.016.043-.035.012-.106.02-.215.02-.32 0-.055-.004-.11-.008-.165a.04.04 0 00-.04-.039.045.045 0 00-.038.043zm-.86 7.233c.008 0 .016-.003.024-.011.082-.067.16-.14.234-.219.016-.016.012-.043-.004-.059-.015-.015-.039-.011-.054.004-.07.075-.149.149-.227.215-.016.012-.02.04-.004.055.008.012.02.015.031.015zm.141-3.855a.038.038 0 00-.055 0 .038.038 0 000 .055c.078.074.149.148.215.23.008.008.02.016.028.016.011 0 .02-.004.027-.012.015-.012.02-.039.004-.055a2.072 2.072 0 00-.219-.234zm.68 1.074c-.008-.02-.032-.031-.051-.023-.02.004-.031.027-.027.05.035.098.058.2.078.301.004.02.02.032.039.032h.008c.023-.004.035-.024.03-.047a2.81 2.81 0 00-.077-.313zm.058 1.149h.004c.024 0 .04-.012.043-.032a2.197 2.197 0 00.012-.484.04.04 0 00-.04-.04c-.023 0-.038.02-.038.044.004.05.004.105.004.156 0 .106-.004.211-.02.313 0 .023.016.043.035.043zm-.386-1.743c-.016.012-.024.04-.012.055.055.09.105.18.148.274a.043.043 0 00.04.023c.003 0 .007 0 .015-.004.02-.008.027-.031.02-.05a2.46 2.46 0 00-.157-.282c-.011-.02-.035-.027-.054-.016zm-3.68 3.41c.016-.019.012-.042-.004-.054a3.006 3.006 0 01-.234-.211.038.038 0 00-.055 0 .042.042 0 000 .059c.074.074.156.148.238.214.008.004.016.008.024.008.011 0 .023-.008.03-.015zm-.965-1.585h.004c.023-.004.039-.024.035-.047a2.753 2.753 0 01-.031-.309.04.04 0 00-.078 0c.004.11.011.215.031.32 0 .02.02.036.04.036zm4.059-2.457c.011-.02.007-.043-.008-.055a2.27 2.27 0 00-.27-.176c-.02-.012-.047-.004-.054.016a.042.042 0 00.011.054c.094.051.18.106.262.168.008.004.016.008.024.008.015 0 .027-.004.035-.015zm-.692 4.418c-.008-.02-.031-.032-.05-.024-.098.031-.2.059-.301.082a.04.04 0 00-.032.047c.004.016.02.031.04.031h.007c.106-.023.211-.05.313-.086a.04.04 0 00.023-.05zm-2.969-3.774a.047.047 0 00.036-.02c.054-.081.12-.167.187-.245.016-.016.012-.043-.004-.055-.015-.016-.043-.012-.054.004-.07.078-.137.164-.196.254-.015.02-.008.043.008.054a.056.056 0 00.024.008zm2.31 3.875a2.769 2.769 0 01-.313.004.04.04 0 00-.04.04c-.003.019.016.038.036.038.043.004.082.004.12.004.067 0 .137-.004.204-.008.02 0 .035-.02.035-.043 0-.023-.02-.039-.043-.035zm-1.216-.21a2.675 2.675 0 01-.277-.145c-.02-.012-.043-.004-.055.015-.011.016-.004.043.016.055.09.055.187.105.285.148.004 0 .008.004.016.004.015 0 .027-.011.035-.023.008-.024 0-.047-.02-.055zm.594.179a1.978 1.978 0 01-.3-.07c-.024-.008-.048.004-.052.027-.007.02.004.043.028.05.101.028.207.055.312.071 0 .004.004.004.004.004.02 0 .04-.016.04-.035.003-.02-.009-.043-.032-.047zm1.844-.356a.042.042 0 00-.055-.011c-.086.058-.18.11-.27.156-.019.008-.03.031-.019.05.008.016.02.024.035.024.008 0 .012 0 .02-.004.093-.047.187-.101.277-.16.02-.012.023-.035.012-.055zm-2.324-4.53c-.102.034-.2.081-.293.128-.02.012-.028.035-.016.055.004.015.02.023.035.023l.016-.004c.093-.05.187-.093.285-.129.02-.007.031-.03.023-.05-.008-.024-.03-.032-.05-.024zM9.656 13.25c.008 0 .016-.004.024-.008.02-.015.023-.039.008-.058a3.295 3.295 0 01-.165-.243c-.015-.027-.03-.058-.05-.086-.012-.02-.036-.023-.055-.011-.02.011-.023.035-.012.054.012.02.024.04.035.063l.004.004c.004.008.004.012.008.015.035.063.07.13.098.192a.042.042 0 00.035.023h.012l.027.04c.008.007.02.015.031.015zm2.996-3.98c-.097-.04-.199-.075-.304-.102a.035.035 0 00-.047.027c-.008.02.008.043.027.047.102.028.2.063.297.102.004 0 .008.004.016.004.015 0 .027-.012.035-.028a.038.038 0 00-.024-.05zm-2.394.28a.04.04 0 00-.055-.01c-.09.062-.172.128-.254.198-.015.016-.015.04-.004.059.008.008.02.012.032.012.007 0 .02-.004.027-.012.078-.067.16-.133.242-.192a.04.04 0 00.012-.054zm-.992 1.298h.011a.043.043 0 00.04-.024 2.66 2.66 0 01.12-.289c.012-.02.004-.043-.015-.05-.02-.012-.043-.005-.055.015a2.81 2.81 0 00-.125.297c-.008.02.004.043.024.05zm-.067.226c.024.004.035.028.031.047-.023.102-.039.207-.046.309-.004.02-.02.035-.04.035h-.003c-.024 0-.04-.02-.04-.043a2.96 2.96 0 01.051-.317c.004-.023.028-.035.047-.03\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 68,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M16.117 19.422l4.024 2.324h-5.368zm-4.441 7.32l-2.778-4.808h5.555zM3.21 21.746l4.023-2.324 1.344 2.324zm3.93-2.484l-4.024 2.324 2.684-4.648zm-4.118-7.508h5.555l-2.777 4.809zm8.559-4.832v4.648H8.898zm.188 4.648V6.922l2.683 4.648zm8.558.184l-2.777 4.809-2.778-4.81zm-4.406 7.633l-1.363 2.36H8.793l-1.363-2.36zm-8.652-.278L5.91 16.75l2.883-4.996h2.723zm4.566-7.355h2.723l2.886 4.996-1.363 2.36zm-4.313 7.285l4.059-7.031v4.687zm4.153-2.18l4.058 2.344H7.617zm.094-4.851l4.058 7.031-4.058-2.344zm8.464 9.578l-4.023-2.324 1.34-2.325zM17.66 16.75l2.992-5.18h-5.984l-2.992-5.183-2.992 5.183h-5.98l2.987 5.18-2.988 5.184h5.98l2.993 5.18 2.992-5.18h5.984L17.66 16.75\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 74,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M11.676 19.203a2.45 2.45 0 11.003-4.903 2.45 2.45 0 01-.003 4.903zm0-5.09a2.64 2.64 0 00-2.637 2.637 2.64 2.64 0 002.637 2.637 2.64 2.64 0 002.636-2.637 2.64 2.64 0 00-2.636-2.637\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 78,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n clipPath: \"url(#d464c29918)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fill: \"#c78e38\",\n d: \"M19.762 9.223a.047.047 0 00-.051-.028 3.995 3.995 0 00-.3.117.045.045 0 00-.02.055c.007.012.023.024.039.024.004 0 .008-.004.015-.004.094-.043.192-.082.29-.114.023-.007.035-.027.027-.05zm.62-.106c0-.02-.019-.035-.038-.035-.11.004-.215.02-.32.04-.024.003-.036.023-.032.046.004.016.02.031.04.031h.007c.102-.02.203-.031.309-.039.02 0 .039-.02.035-.043zm.595.086c.015 0 .035-.012.039-.031.004-.024-.012-.043-.036-.047a2.802 2.802 0 00-.316-.043c-.023 0-.043.016-.043.04 0 .019.016.038.035.042.106.008.207.02.313.04h.008zm.597.2c.016 0 .031-.012.035-.024.012-.02.004-.047-.015-.055a2.177 2.177 0 00-.301-.117c-.02-.008-.043.004-.05.023-.009.024.003.043.027.051.097.031.195.07.289.117.003 0 .011.004.015.004zm-3.144.765a.056.056 0 00.023.008.036.036 0 00.031-.016 2.34 2.34 0 01.203-.238c.016-.016.016-.04-.003-.055a.038.038 0 00-.055 0c-.074.078-.145.16-.207.246-.016.016-.012.043.008.055zm-.305.555l.016.004a.038.038 0 00.035-.028c.039-.094.086-.187.137-.277a.042.042 0 00-.012-.055c-.02-.012-.047-.004-.055.016-.055.09-.101.187-.144.285a.044.044 0 00.023.055zm.086 2.07c-.02.012-.027.035-.016.055.016.035.035.07.055.105.008.008.012.02.016.027a2.338 2.338 0 01.14.29c.004.015.02.023.035.023.008 0 .012 0 .016-.004.02-.008.031-.031.023-.05-.015-.04-.035-.079-.054-.118.008-.016.008-.031 0-.043-.04-.05-.074-.11-.106-.164-.02-.035-.039-.066-.054-.101-.012-.02-.036-.028-.055-.02zm-.246-1.461h.008c.02 0 .035-.012.039-.031.015-.106.035-.207.062-.305.008-.023-.004-.043-.027-.05-.02-.005-.043.007-.047.027-.031.105-.05.21-.066.316-.004.02.011.043.03.043zm-.008.633h.004a.045.045 0 00.039-.043 1.903 1.903 0 01-.016-.258v-.055c0-.023-.015-.039-.039-.039-.023 0-.039.016-.039.04v.054c0 .09.004.18.012.266.004.02.02.035.039.035zm.66 1.36c-.015-.016-.039-.02-.058-.005-.016.016-.016.04-.004.059.074.078.148.156.23.226.008.004.016.008.024.008a.044.044 0 00.03-.011c.016-.02.013-.043-.003-.059a1.928 1.928 0 01-.219-.219zm.41.421a.04.04 0 00.012.055c.086.058.18.113.277.164.004.004.012.004.016.004.016 0 .031-.008.035-.024.012-.02.004-.043-.015-.05a2.332 2.332 0 01-.27-.16.04.04 0 00-.055.011zm.145-4.215c.015-.008.023-.035.012-.054a.042.042 0 00-.055-.012c-.09.058-.18.12-.262.187-.02.012-.02.04-.008.055.008.012.02.016.032.016.007 0 .02-.004.027-.008.078-.067.164-.13.254-.184zm3.8 2.692c-.023-.004-.042.007-.05.03a2.6 2.6 0 01-.09.298c-.008.02 0 .043.023.05.004.004.008.004.012.004.016 0 .031-.011.04-.027.034-.098.07-.203.093-.305a.045.045 0 00-.027-.05zm0-.899c0 .02.02.035.04.035h.004c.023-.004.039-.023.035-.043a2.667 2.667 0 00-.063-.316c-.008-.023-.027-.035-.05-.027-.02.004-.032.027-.028.047.027.101.047.203.063.304zm-1.042 2.434c-.012-.016-.035-.02-.055-.008l-.133.082c-.09.05-.183.098-.281.137-.02.008-.027.031-.02.054.008.012.02.024.036.024.007 0 .011 0 .015-.004.102-.043.195-.09.29-.145.046-.027.093-.054.136-.082.02-.011.023-.039.012-.058zm-2.344.281c-.008.024.004.047.023.05.102.04.203.071.309.095h.008c.02 0 .035-.012.039-.032a.036.036 0 00-.027-.047 2.663 2.663 0 01-.301-.09c-.02-.007-.043.005-.051.024zm3.227-3.316c.003.015.019.027.035.027.007 0 .011 0 .015-.004.02-.008.032-.031.024-.05a2.189 2.189 0 00-.14-.29c-.009-.02-.036-.027-.056-.015-.02.007-.023.035-.015.054.05.09.097.184.137.278zm.222.87c-.023.005-.043.02-.043.044l.004.023c0 .094-.008.192-.02.285 0 .024.016.043.036.047h.004c.023 0 .039-.015.043-.035.007-.098.015-.2.015-.297v-.023c0-.024-.02-.043-.039-.043zm-1.203-2.046c.086.055.172.117.25.183.008.004.016.008.027.008a.036.036 0 00.032-.015c.011-.016.011-.043-.008-.055a1.969 1.969 0 00-.258-.188c-.02-.011-.043-.007-.059.012-.011.02-.003.043.016.055zm-1 4.637c.004.02.02.035.04.035h.003c.105-.016.215-.04.316-.07.02-.004.032-.028.028-.047-.008-.024-.028-.036-.051-.028-.098.028-.2.051-.305.063a.043.043 0 00-.031.047zm-.633.007c-.004.02.016.04.035.043.086.008.172.012.258.012h.063c.023 0 .043-.02.039-.043a.04.04 0 00-.04-.039 2.09 2.09 0 01-.312-.012c-.02 0-.039.016-.043.04zm1.918-.574c.008.008.02.016.031.016.008 0 .02-.004.028-.012a4.11 4.11 0 00.23-.223.047.047 0 00-.004-.058c-.015-.016-.043-.012-.054.004-.07.078-.145.148-.227.219-.016.011-.016.039-.004.054zm.39-3.437c.009.011.024.02.036.02.008 0 .016-.005.023-.009a.047.047 0 00.008-.058 2.466 2.466 0 00-.207-.246.038.038 0 00-.055 0 .042.042 0 00-.003.054c.074.075.14.157.199.239zm.196 2.656c-.05.09-.105.18-.164.266a.04.04 0 00.012.054c.008.004.015.008.023.008.012 0 .024-.008.031-.02.063-.085.118-.18.168-.273.012-.02.004-.043-.015-.055-.02-.007-.047 0-.055.02zm-8.984.43c.004.004.008.004.015.004.016 0 .032-.008.036-.024.039-.094.082-.18.128-.266.016-.027.036-.054.047-.085.012-.02.004-.043-.015-.055-.02-.008-.043 0-.051.02l-.035.058c-.004.004-.004.004-.004.008l-.012.015a1.77 1.77 0 01-.117.18.04.04 0 00.004.05l-.02.044c-.008.02.004.043.024.05zm.289 2.414a.04.04 0 00.012-.055 1.51 1.51 0 01-.106-.168.84.84 0 01-.055-.102c-.011-.02-.035-.027-.054-.015-.02.008-.028.031-.016.05a.895.895 0 00.055.106c.035.059.07.117.11.172.007.012.019.02.03.02.008 0 .016-.004.024-.008zm-.45-1.801h.008c.02 0 .036-.016.04-.035.015-.102.035-.203.062-.305.008-.02-.004-.043-.027-.05-.02-.005-.043.007-.047.03-.031.102-.051.208-.067.313a.04.04 0 00.032.047zm.653 1.988a.047.047 0 00-.059-.004.047.047 0 00-.004.059c.07.078.149.156.23.226.009.008.017.008.024.008a.044.044 0 00.032-.011c.015-.016.011-.043-.004-.055a2.35 2.35 0 01-.22-.223zm-.711-1.715v.055c0 .09.004.18.012.266.004.02.02.035.039.035h.004c.023 0 .039-.02.035-.043a2.846 2.846 0 01-.012-.258v-.055a.04.04 0 00-.039-.039c-.023 0-.039.016-.039.04zm3.668-2.207c.016 0 .031-.008.035-.023.012-.02.004-.043-.02-.055a3.352 3.352 0 00-.296-.117c-.02-.008-.043.004-.051.027a.035.035 0 00.027.047c.098.035.196.074.29.117.003.004.011.004.015.004zm.355 4.36a.04.04 0 00-.054-.012l-.133.082c-.09.05-.184.098-.281.14-.02.008-.028.032-.02.051.008.016.02.024.035.024.008 0 .012 0 .016-.004.098-.04.195-.09.289-.14.047-.028.094-.06.137-.087a.04.04 0 00.011-.054zm-2.757-4.227a.042.042 0 00.011-.055c-.011-.02-.035-.027-.054-.015-.094.058-.18.12-.262.187-.02.012-.02.04-.008.055.008.012.02.016.031.016.008 0 .02-.004.024-.008a2.34 2.34 0 01.258-.18zm-1.172 2.664c-.02.004-.035.028-.028.047.024.106.055.211.09.309.008.015.024.027.04.027.003 0 .007 0 .011-.004.023-.008.031-.031.023-.05a2.582 2.582 0 01-.085-.298c-.008-.023-.028-.035-.051-.03zm1.761-2.976c-.007-.02-.03-.032-.05-.024-.102.031-.203.07-.301.113-.02.012-.027.036-.02.055a.043.043 0 00.04.024c.003 0 .007 0 .015-.004.094-.043.191-.082.29-.114.023-.004.03-.027.026-.05zm.73 5.023h.063a.04.04 0 000-.078H16.055c-.075 0-.145-.004-.22-.012-.019-.004-.034.008-.042.028-.016 0-.027.003-.043.003-.023.004-.04.024-.035.047.004.02.02.035.039.035h.004c.097-.015.195-.019.293-.023h.035zm-.108-5.125a.04.04 0 00-.04-.039 2.87 2.87 0 00-.32.04c-.023.003-.035.023-.031.046.004.02.02.031.039.031h.004c.105-.02.207-.031.312-.035.02-.004.04-.023.036-.043zm.59.086c.019 0 .035-.016.038-.035.008-.02-.007-.043-.03-.047a2.915 2.915 0 00-.317-.04.037.037 0 00-.043.036c0 .024.015.043.035.043a2.664 2.664 0 01.316.043zm2.015 1.793c-.008-.02-.027-.035-.05-.027-.02.004-.032.027-.028.046.027.102.047.204.062.31 0 .019.02.03.04.03h.003c.024 0 .04-.023.036-.043a3.018 3.018 0 00-.063-.316zm.086.637a.04.04 0 00-.04-.04c-.023 0-.042.016-.042.04v.023c0 .098-.004.192-.016.29 0 .019.016.038.035.042h.004c.02 0 .04-.015.04-.035.011-.098.019-.2.019-.297zm-4.047 2.11c-.012.019-.008.042.012.054.086.062.18.117.277.164.004.004.012.004.016.004a.041.041 0 00.035-.02c.012-.02.004-.047-.016-.055a2.332 2.332 0 01-.27-.16c-.019-.011-.042-.007-.054.012zm3.941-1.52c-.019-.008-.039.007-.046.027a2.381 2.381 0 01-.09.297c-.008.023 0 .047.023.054h.012a.043.043 0 00.039-.023 2.81 2.81 0 00.094-.309c.004-.02-.008-.043-.032-.046zm-.851 1.39c.008.012.02.016.031.016.008 0 .02-.004.028-.012.078-.066.156-.144.23-.223.012-.015.012-.043-.004-.054a.042.042 0 00-.058 0 1.963 1.963 0 01-.223.218.042.042 0 00-.004.055zm-.285-4.07c.086.055.172.117.25.183.008.008.015.008.027.008a.044.044 0 00.031-.011c.012-.02.012-.043-.007-.06a3.106 3.106 0 00-.258-.187c-.02-.011-.047-.007-.059.012-.012.02-.004.043.016.055zm-3.203.32l-.118.13c.032-.08.055-.161.075-.243a.035.035 0 00-.028-.047c-.02-.004-.043.008-.047.027a2.401 2.401 0 01-.097.297.04.04 0 00.023.051c0 .004.004.004.004.004a.119.119 0 00-.02.027c-.015.02-.011.043.008.055.004.008.016.008.024.008a.036.036 0 00.031-.016c.063-.082.129-.16.203-.234.016-.016.012-.043-.004-.059a.038.038 0 00-.054 0zm.957 4.176c-.008.02.004.043.023.05.102.036.203.067.309.09h.008c.02 0 .035-.011.039-.03.004-.02-.008-.044-.032-.048a2.83 2.83 0 01-.297-.085.038.038 0 00-.05.023zm3.172-1.223c-.02-.011-.047-.004-.055.016-.05.09-.106.18-.164.266-.012.02-.008.043.012.054.003.008.011.008.023.008a.036.036 0 00.031-.016c.063-.09.117-.18.168-.273.008-.02.004-.047-.015-.055zm-.25-2.636a.05.05 0 00.035.015c.008 0 .015-.004.023-.008a.042.042 0 00.008-.054l-.078-.102c.004 0 .008.004.012.004.003 0 .007-.004.015-.004.02-.008.028-.031.024-.05-.04-.098-.067-.2-.09-.301a.045.045 0 00-.051-.028c-.02.004-.035.028-.027.047.023.102.05.2.086.297a1.354 1.354 0 00-.098-.113.038.038 0 00-.055 0c-.015.015-.02.039-.004.054.07.079.141.157.2.243zm-.153 9.285a.045.045 0 00.04-.043c-.005-.043-.005-.09-.005-.133 0-.059.004-.121.008-.18 0-.02-.015-.039-.039-.043-.02 0-.039.016-.043.04-.004.058-.004.12-.004.183 0 .047 0 .09.004.137 0 .02.016.039.04.039zm1.942-2.645a.046.046 0 00-.051-.031 2.786 2.786 0 00-.305.102c-.02.007-.031.03-.023.05.008.016.023.028.039.028.004 0 .008-.004.012-.004.097-.04.199-.07.296-.098.024-.004.036-.027.032-.047zm.625-.074a.04.04 0 00-.04-.04 2.21 2.21 0 00-.32.024c-.023 0-.039.024-.035.043.004.02.02.035.04.035h.003c.106-.015.211-.02.313-.023.023 0 .039-.016.039-.039zm-.555 4.992a2.015 2.015 0 01-.3-.082c-.02-.008-.044.004-.052.024-.007.02.004.043.028.05.097.035.203.067.308.086 0 .004.004.004.008.004.02 0 .035-.015.04-.031.003-.023-.009-.043-.032-.05zm-.586-.203a1.524 1.524 0 01-.137-.074c-.09-.051-.18-.11-.261-.172-.016-.016-.043-.012-.055.008-.012.015-.012.043.008.054a2.486 2.486 0 00.41.254c.004.004.012.004.015.004a.043.043 0 00.04-.023c.007-.02 0-.043-.02-.051zm-.652-4.133c-.075.07-.145.145-.211.223a.806.806 0 00.047-.137c.007-.023-.004-.043-.028-.05a.035.035 0 00-.047.027 2.971 2.971 0 01-.109.293c-.008.02 0 .043.02.05a.03.03 0 00.015.004.043.043 0 00.04-.023l.046-.117c0 .008.008.015.012.023.008.004.02.008.027.008a.036.036 0 00.031-.016c.067-.078.137-.156.211-.226.02-.016.02-.04.004-.055-.015-.015-.039-.02-.058-.004zm-.516 2.922c-.008-.02-.031-.027-.05-.02a.039.039 0 00-.02.055c.043.094.093.192.148.282.008.011.02.019.035.019.008 0 .012 0 .02-.004a.04.04 0 00.012-.055 3.735 3.735 0 01-.145-.277zm-.184-.594c-.003-.023-.023-.035-.046-.03a.04.04 0 00-.032.046c.02.105.043.207.075.312.007.016.023.028.039.028.003 0 .007 0 .011-.004a.035.035 0 00.028-.047 2.881 2.881 0 01-.075-.305zm.348-1.847a.044.044 0 00-.058.015c-.02.032-.04.067-.063.102l-.012.027c-.004 0-.004.004-.008.004-.05.09-.109.176-.175.258a.047.047 0 00.008.059.056.056 0 00.023.007c.012 0 .023-.007.031-.015.028-.035.055-.07.078-.106.016 0 .028-.008.035-.023.028-.059.06-.113.09-.172.02-.031.04-.066.063-.098.012-.02.004-.043-.012-.058zm.16 2.972c-.011-.02-.039-.02-.054-.007-.02.015-.02.039-.008.058.066.082.14.16.218.238.008.004.016.008.028.008.008 0 .02-.004.027-.012a.038.038 0 000-.054 2.95 2.95 0 01-.21-.23zm-.445-2.406a.035.035 0 00-.047.027 2.775 2.775 0 00-.086.309.04.04 0 00.031.047h.008c.02 0 .035-.012.04-.031.023-.102.05-.203.081-.301.008-.02-.004-.043-.027-.05zm4.531-.516c.008 0 .016 0 .024-.003.015-.012.023-.04.011-.055a2.483 2.483 0 00-.195-.258c-.012-.016-.039-.02-.055-.004-.015.012-.02.04-.004.055.067.078.13.164.184.25.008.012.023.015.035.015zm-.41-.48a.044.044 0 00.031-.012c.016-.015.012-.043-.004-.054a2.47 2.47 0 00-.25-.204c-.02-.011-.043-.007-.054.008a.047.047 0 00.008.059c.085.058.167.125.242.195.008.004.02.008.027.008zm.05 3.613a2.338 2.338 0 01-.234.207c-.02.012-.023.04-.007.055.007.012.02.016.03.016a.056.056 0 00.024-.008c.086-.067.168-.137.242-.211a.042.042 0 000-.059.038.038 0 00-.054 0zm.778-1.71c-.023 0-.043.019-.043.038a2.822 2.822 0 01-.031.313c-.004.02.012.039.031.043H23c.02 0 .035-.012.04-.031.015-.106.026-.215.03-.32.004-.024-.015-.04-.035-.044zm-.098.624c-.019-.004-.042.008-.046.028a2.38 2.38 0 01-.11.293c-.008.02 0 .043.02.05a.03.03 0 00.015.004.043.043 0 00.04-.023c.042-.098.078-.2.109-.3.008-.02-.004-.044-.027-.052zm-.242.582a.044.044 0 00-.058.016c-.051.09-.11.176-.176.258-.012.015-.008.039.008.055a.056.056 0 00.023.007c.016 0 .028-.004.035-.015.063-.082.125-.172.18-.266a.042.042 0 00-.012-.055zm.2-2.058c.003 0 .007 0 .011-.004.024-.008.035-.031.028-.05a2.81 2.81 0 00-.125-.298c-.008-.02-.032-.027-.051-.02-.024.012-.031.036-.02.055.047.094.086.192.117.29.008.015.024.027.04.027zm.09.582c.003.02.019.035.038.035h.004a.045.045 0 00.04-.043 4.52 4.52 0 00-.047-.32c-.008-.02-.028-.035-.047-.028-.024.004-.035.024-.032.047.02.102.036.203.043.309zm-1.79 2.61c-.101.027-.203.05-.304.07-.024 0-.036.023-.036.042.004.02.024.036.043.036h.004c.106-.02.211-.043.313-.075a.035.035 0 00.027-.046.035.035 0 00-.047-.028zm-1.953-4.669c-.094.051-.183.11-.27.172-.019.012-.023.04-.007.055.008.012.02.015.031.015.008 0 .016 0 .024-.003.082-.063.171-.118.261-.168.02-.012.028-.036.016-.055-.008-.02-.035-.027-.055-.016zm1.86-.164c.02 0 .035-.012.039-.031a.036.036 0 00-.028-.047 2.25 2.25 0 00-.316-.059c-.024-.003-.043.012-.043.036-.004.02.012.039.035.043a2.771 2.771 0 01.313.058zm-.52 4.93c-.105.004-.21.004-.312-.008-.024 0-.043.016-.043.04-.004.019.015.038.035.042.074.004.152.008.226.008h.094c.023 0 .04-.02.04-.043 0-.02-.02-.04-.04-.04zm1.11-4.703a.041.041 0 00.035-.02c.011-.02.003-.047-.016-.055a2.505 2.505 0 00-.293-.136c-.02-.008-.043.004-.05.023-.009.02.003.043.023.051.097.04.191.082.28.133a.042.042 0 00.02.004zm.074 4.36c-.09.05-.184.097-.278.14-.023.008-.031.031-.023.05a.043.043 0 00.039.024c.004 0 .008 0 .016-.004.097-.039.195-.09.285-.145.02-.011.027-.035.015-.054-.011-.02-.035-.024-.054-.012zm-6.211-2.255a2.63 2.63 0 01-.301-.082.038.038 0 00-.05.024c-.009.02.003.043.023.05.101.036.207.063.312.086h.008c.02 0 .035-.011.039-.03a.043.043 0 00-.031-.048zm-1.93-2.937c.023-.102.047-.203.082-.301.008-.024-.004-.043-.027-.05-.02-.009-.043.003-.051.023a4.072 4.072 0 00-.082.312.043.043 0 00.031.047h.008c.02 0 .035-.012.039-.031zm.027 1.28h.012c.024-.007.035-.026.027-.05a2.6 2.6 0 01-.074-.3c-.004-.024-.023-.04-.047-.036a.043.043 0 00-.03.047c.019.106.042.211.073.313a.04.04 0 00.04.027zm2.52 1.712c-.102.004-.207 0-.309-.008-.023 0-.043.016-.043.035-.004.024.012.043.035.043.075.008.149.012.227.012h.094c.023-.004.039-.02.039-.043 0-.023-.02-.04-.043-.04zm-2.047-.938c-.012-.02-.04-.023-.055-.007-.004 0-.004.003-.004.003-.004-.011-.007-.023-.015-.035-.008-.02-.031-.03-.051-.02-.02.009-.031.032-.02.052.04.093.075.195.102.293.008.02.023.03.04.03l.01-.003c.02-.004.036-.027.028-.047-.015-.055-.035-.11-.055-.164.055.062.114.125.172.184.008.007.02.011.032.011.007 0 .02-.004.027-.011a.038.038 0 000-.055 3.875 3.875 0 01-.211-.23zm1.355-4.039c-.003-.02-.027-.03-.046-.027a2.533 2.533 0 00-.305.102c-.02.007-.031.03-.024.05.008.016.02.024.04.024h.011c.098-.04.196-.07.297-.098.024-.008.035-.027.027-.05zm-1.933 2.25c-.02-.004-.04.016-.043.035-.004.063-.004.125-.004.188v.137c.004.02.02.035.043.035a.04.04 0 00.039-.04c-.004-.046-.004-.09-.004-.132 0-.059.004-.121.008-.18 0-.023-.016-.043-.04-.043zm1.422 2.465c-.047-.02-.094-.047-.137-.07a4.328 4.328 0 01-.262-.172c-.015-.016-.043-.012-.054.008-.016.015-.012.039.007.054a2.837 2.837 0 00.41.254c.005 0 .012.004.016.004.016 0 .031-.008.035-.023.012-.02.004-.043-.015-.055zm-.653-4.129a2.468 2.468 0 00-.218.235c-.016.015-.012.043.004.054a.035.035 0 00.027.012c.012 0 .023-.008.031-.016.067-.078.137-.156.211-.226.016-.016.02-.04.004-.059a.042.042 0 00-.059 0zm.52-.375c-.094.051-.184.11-.27.172-.02.012-.023.035-.007.055.007.012.02.015.03.015.009 0 .016 0 .024-.007.082-.059.172-.118.262-.164.02-.012.027-.036.016-.055-.008-.02-.036-.027-.055-.016zm3.742 2.055c.004.023.02.039.04.039h.003a.045.045 0 00.04-.043 4.212 4.212 0 00-.048-.32c-.008-.02-.027-.035-.05-.032-.02.004-.036.028-.028.047.02.102.035.207.043.309zm-.582-1.473c-.02.016-.02.04-.004.059.067.078.13.16.184.25.008.012.023.015.035.015.008 0 .016 0 .02-.003.019-.016.027-.04.011-.059a2.056 2.056 0 00-.191-.254.039.039 0 00-.055-.008zm-4.035.274a.04.04 0 00-.055.011c-.02.036-.043.07-.062.106-.031.055-.063.117-.094.176-.008.02 0 .043.02.054.007 0 .011.004.02.004a.042.042 0 00.034-.023 2.379 2.379 0 01.153-.274c.011-.015.003-.043-.016-.054zm4.488.59a.04.04 0 00.04.027h.011c.023-.008.031-.031.027-.05a2.503 2.503 0 00-.125-.298c-.007-.02-.03-.027-.054-.02-.02.012-.028.036-.016.055.043.094.086.188.117.286zm-1.66 3.222c-.102.028-.203.051-.305.067-.023.004-.039.023-.035.047.004.019.024.035.04.035.003 0 .007-.004.007-.004.106-.016.211-.04.313-.07.023-.004.035-.028.027-.051-.004-.02-.027-.032-.047-.024zm.496-4.605c.016 0 .027-.008.035-.024.012-.02.004-.043-.015-.054a2.484 2.484 0 00-.293-.133c-.02-.008-.043.004-.051.023-.008.02.004.043.023.051.098.04.192.082.282.129.007.004.011.008.02.008zm-.59-.23c.02 0 .035-.012.04-.028.007-.023-.008-.043-.028-.05-.055-.013-.113-.024-.168-.036.082-.016.164-.035.246-.055a.047.047 0 00.027-.05c-.007-.02-.027-.036-.05-.028-.098.028-.203.051-.305.067-.02.003-.035.023-.031.043v.007c-.012-.004-.024-.004-.035-.007-.024 0-.043.015-.043.035a.04.04 0 00.03.047c.106.011.208.03.31.054h.007zm.664 4.585c-.09.055-.183.102-.277.14-.023.013-.031.036-.023.056a.043.043 0 00.039.023c.004 0 .007 0 .015-.004a2.79 2.79 0 00.285-.144c.02-.012.024-.036.016-.055-.012-.02-.039-.027-.055-.016zm.547-.379a.042.042 0 00-.058 0c-.07.075-.149.14-.23.207-.02.012-.024.035-.009.055.008.008.02.016.032.016.007 0 .015-.004.023-.008.086-.067.168-.137.242-.215a.038.038 0 000-.055zm.68-1.316h.008c.02 0 .035-.012.039-.031.015-.106.027-.215.031-.32a.037.037 0 00-.035-.044c-.024 0-.043.016-.043.04a2.753 2.753 0 01-.031.308c-.004.023.008.043.03.047zm-.785-2.297a.044.044 0 00.031-.012.047.047 0 00-.004-.058 3.105 3.105 0 00-.25-.2c-.02-.015-.043-.007-.055.008-.015.02-.011.043.008.055.086.063.168.129.242.195.008.008.02.012.028.012zm-7.352 11.652c-.09-.05-.18-.105-.261-.168-.02-.015-.043-.011-.055.008-.016.016-.012.043.008.055.086.062.175.121.27.176.003.004.01.004.019.004a.047.047 0 00.035-.02c.008-.02.004-.043-.016-.055zm.707-4.714c-.105.023-.207.05-.308.085-.024.004-.032.028-.028.051a.043.043 0 00.04.024h.011c.098-.035.2-.063.3-.082.024-.004.036-.024.032-.047a.04.04 0 00-.047-.031zm-.605.207a2.46 2.46 0 00-.281.156.04.04 0 00-.012.055c.008.011.02.019.035.019.008 0 .012-.004.02-.008.085-.054.18-.105.273-.152.02-.008.027-.031.016-.05-.008-.024-.032-.032-.051-.02zm.472 4.742a2.342 2.342 0 01-.293-.098c-.023-.008-.046 0-.054.02a.044.044 0 00.023.054c.098.04.2.075.305.102h.008c.02 0 .035-.012.039-.027.008-.024-.004-.043-.028-.051zm-1.011-4.395a2.49 2.49 0 00-.23.223c-.016.015-.016.043 0 .055.007.007.019.011.027.011a.044.044 0 00.03-.011c.071-.079.145-.149.223-.215.02-.016.02-.04.004-.059-.011-.015-.039-.015-.054-.004zm-.606 3.035c-.008-.02-.031-.027-.054-.02a.045.045 0 00-.02.056c.047.097.098.19.156.28.008.012.02.02.032.02.007 0 .015-.004.023-.008.02-.011.023-.035.012-.054a2.303 2.303 0 01-.149-.274zm-.191-.59c-.004-.023-.024-.035-.047-.03a.04.04 0 00-.031.046c.02.106.047.207.078.309a.04.04 0 00.039.027h.012c.023-.008.035-.027.027-.05a2.614 2.614 0 01-.078-.301zm.523 1.118c-.015-.016-.039-.02-.058-.004-.016.012-.02.039-.004.055.066.082.14.16.219.234a.035.035 0 00.027.012c.012 0 .02-.004.027-.012a.042.042 0 000-.059 2.3 2.3 0 01-.21-.226zm1.903.918c-.106 0-.211-.008-.313-.024-.02-.004-.043.012-.043.035-.004.024.012.043.031.043.106.016.215.024.32.028h.005c.02 0 .039-.02.039-.04 0-.023-.02-.042-.04-.042zm-2.008-4.02c-.02-.012-.043-.008-.055.012a2.422 2.422 0 00-.172.27c-.011.019-.004.046.016.054a.03.03 0 00.02.008.042.042 0 00.035-.024c.046-.09.105-.18.164-.261a.047.047 0 00-.008-.059zm2.797-.957c-.098-.027-.2-.05-.301-.07.05-.008.098-.02.148-.031.02-.004.032-.028.028-.047a.043.043 0 00-.047-.032 2.04 2.04 0 01-.309.055.046.046 0 00-.035.043c.004.02.02.035.04.035h.003c.043-.004.082-.008.125-.015-.008.004-.012.011-.012.023-.004.02.012.04.032.043.101.02.203.043.304.074h.012a.038.038 0 00.035-.027c.008-.02-.004-.043-.023-.05zm.847.445c-.015-.011-.043-.011-.054.008-.016.016-.012.043.004.055.082.066.16.137.234.207a.035.035 0 00.027.012c.012 0 .02-.004.028-.012.015-.012.015-.04 0-.055a2.516 2.516 0 00-.239-.215zm.809 2.844c-.02-.008-.043.004-.05.024a2.314 2.314 0 01-.122.285c-.012.02-.004.047.016.054a.042.042 0 00.02.004.041.041 0 00.034-.02c.051-.097.09-.194.13-.296.003-.02-.005-.043-.028-.05zm-.274.567a.042.042 0 00-.054.011 2.831 2.831 0 01-.192.25.042.042 0 00.004.055c.008.008.02.008.028.008a.044.044 0 00.03-.012c.071-.082.134-.168.196-.254.012-.02.008-.043-.011-.058zm.403-1.188a.046.046 0 00-.047.04 1.978 1.978 0 01-.047.304c-.004.023.012.043.031.05h.008c.02 0 .035-.011.04-.03.023-.106.038-.212.05-.317 0-.023-.016-.043-.035-.047zm-.031-.629c-.024.004-.036.024-.036.047.02.102.028.203.032.309 0 .02.02.039.039.039.023 0 .039-.02.039-.043a2.952 2.952 0 00-.028-.32.04.04 0 00-.046-.032zm-5.043.637c.02-.004.039-.024.035-.043-.004-.055-.004-.106-.004-.16 0-.102.008-.207.02-.309.003-.023-.012-.043-.036-.047-.023 0-.043.016-.043.035-.015.106-.02.215-.02.32 0 .055 0 .11.005.165 0 .02.02.039.039.039h.004zm2.656-2.785h-.152-.004a4.051 4.051 0 01-.313-.024c-.02-.004-.043.012-.043.032a.04.04 0 00.031.046c.043.004.086.012.13.012.007.012.019.02.03.02h.004c.102-.008.207-.008.313-.004.02 0 .039-.016.043-.04 0-.023-.02-.038-.04-.042zm1.55 4.445c-.074.07-.156.137-.242.195-.02.012-.023.036-.011.055.008.012.023.016.035.016.008 0 .016 0 .023-.004.086-.063.172-.13.25-.2.016-.015.02-.042.004-.058-.015-.016-.039-.016-.058-.004zm-1.09.574a2.681 2.681 0 01-.308.055c-.02 0-.035.02-.035.043.004.02.02.035.04.035h.003c.11-.012.215-.031.32-.055.02-.003.032-.027.028-.046-.004-.024-.028-.036-.047-.032zm.759-4.648a2.826 2.826 0 00-.286-.149c-.02-.007-.046 0-.054.02s0 .043.02.055c.097.039.187.09.277.144a.035.035 0 00.02.004.041.041 0 00.034-.02.042.042 0 00-.011-.054zm-.176 4.43a2.66 2.66 0 01-.285.128c-.02.008-.032.032-.024.051.008.016.02.028.04.028.003 0 .007-.004.011-.004.102-.04.2-.082.293-.133.02-.008.027-.035.02-.055a.048.048 0 00-.055-.015zm1.066-3.524a2.884 2.884 0 00-.18-.266.042.042 0 00-.054-.007.047.047 0 00-.008.058c.063.082.121.168.176.258.008.012.02.02.031.02a.056.056 0 00.024-.008.042.042 0 00.011-.055zm.094.266c-.02.011-.031.035-.02.054.04.094.075.192.102.293.008.016.023.028.04.028h.01c.02-.008.036-.028.028-.051a2.767 2.767 0 00-.11-.3c-.007-.024-.03-.032-.05-.024zm-4.8.453h.01c.017 0 .032-.012.04-.031.023-.098.055-.2.094-.297.008-.02-.004-.043-.024-.051s-.043.004-.05.023c-.04.098-.07.203-.098.305-.008.023.008.043.027.05zm4.984-4.938c-.024.004-.036.024-.036.047.02.102.028.207.032.309 0 .023.02.039.039.039a.04.04 0 00.039-.04 2.87 2.87 0 00-.028-.32c-.003-.023-.023-.035-.046-.035zm-2.387-2.144c-.043-.004-.082-.004-.121-.004-.067 0-.133.004-.2.008-.023.004-.039.02-.039.043.004.02.02.039.04.039.003 0 .003 0 .003-.004.067-.004.13-.004.196-.004h.117c.02.004.039-.016.043-.035 0-.024-.02-.043-.04-.043zm-1.246.254a2.488 2.488 0 00-.281.16c-.02.012-.024.035-.012.055.008.011.02.015.035.015.008 0 .012 0 .02-.004.085-.058.18-.11.273-.152.02-.012.027-.035.016-.055-.008-.02-.032-.027-.051-.02zm1.879-.145a2.265 2.265 0 00-.313-.074c-.023-.004-.043.008-.047.031a.04.04 0 00.032.047c.101.016.203.04.304.07.004 0 .008.004.012.004.016 0 .031-.011.035-.03.008-.02-.004-.044-.023-.048zm.586.262a2.864 2.864 0 00-.286-.152c-.02-.008-.046 0-.054.023-.008.02 0 .043.02.05.097.044.187.09.277.145.007.004.011.008.02.008a.041.041 0 00.034-.02c.012-.019.004-.046-.011-.054zm-2.317 4.601c.098.043.2.075.305.106h.008c.02 0 .035-.012.039-.031a.035.035 0 00-.028-.047 2.353 2.353 0 01-.293-.102.044.044 0 00-.054.024c-.008.02.004.043.023.05zm2.578-4.418c-.015-.015-.043-.011-.054.004-.016.02-.012.043.004.059.082.063.16.133.234.207a.035.035 0 00.027.012c.012 0 .02-.004.028-.012a.042.042 0 000-.059 2.044 2.044 0 00-.239-.21zm.809 2.84c-.02-.007-.043.004-.05.024a2.66 2.66 0 01-.122.289c-.012.02-.004.043.016.055.008 0 .015.003.02.003.015 0 .027-.007.034-.023.051-.094.09-.195.13-.297.003-.02-.005-.043-.028-.05zm-.488.895a.036.036 0 00.03-.016c.071-.078.134-.164.196-.254.012-.02.008-.043-.011-.054-.02-.012-.043-.008-.055.011a2.31 2.31 0 01-.192.246c-.011.016-.011.043.004.055.008.008.02.012.028.012zm-2.442-4.242c-.105.023-.207.05-.308.086-.024.007-.032.03-.028.05.008.016.024.028.04.028.003 0 .007 0 .011-.004.098-.031.2-.059.3-.078.024-.008.036-.028.032-.051a.04.04 0 00-.047-.031zm1.375 4.93c.008.015.02.027.04.027.003 0 .007 0 .011-.004.102-.035.2-.082.293-.13.02-.01.027-.034.02-.054-.012-.02-.036-.027-.055-.015a2.63 2.63 0 01-.285.125c-.02.007-.032.03-.024.05zm1.133-3.919a2.4 2.4 0 01.164.243c.02.03.035.058.05.086.009.011.02.02.036.02.004 0 .012-.005.02-.009.02-.011.023-.035.011-.054l-.035-.063s0-.004-.004-.004c0-.004-.004-.008-.008-.015a2.93 2.93 0 01-.097-.192c-.008-.02-.028-.027-.047-.023a.783.783 0 00-.027-.04c-.012-.015-.04-.019-.055-.003-.016.011-.02.035-.008.054zm-.57 3.633c.008.012.023.02.035.02.008 0 .016-.004.023-.008.086-.063.172-.129.25-.2.016-.015.02-.038.004-.054-.015-.02-.039-.02-.058-.004a2.373 2.373 0 01-.243.192.04.04 0 00-.011.054zm-2.961-.09c-.016.02-.012.043.008.059a2.422 2.422 0 00.289.18.042.042 0 00.035-.024c.008-.015.004-.043-.016-.05-.09-.055-.18-.11-.261-.172-.02-.012-.043-.008-.055.007zm4.027-1.433c.02 0 .035-.012.04-.031.023-.102.038-.211.05-.317 0-.023-.016-.043-.035-.043-.024-.004-.043.012-.047.035a2.105 2.105 0 01-.047.309.043.043 0 00.031.047h.008zm-4.64.804c.007 0 .015 0 .023-.003a.04.04 0 00.012-.055 2.655 2.655 0 01-.149-.274c-.008-.02-.031-.03-.054-.02-.02.009-.028.032-.02.052.047.097.098.191.156.285.008.012.02.015.032.015zm.375.48c.007.005.015.009.027.009s.02-.004.027-.012a.038.038 0 000-.055c-.074-.074-.148-.148-.21-.23-.016-.016-.04-.02-.06-.004-.015.012-.019.039-.003.055.066.082.14.164.219.238zm.117-3.847c-.082.067-.16.14-.23.219-.016.02-.016.043 0 .059.007.007.019.011.027.011.011 0 .023-.007.03-.015a2.89 2.89 0 01.223-.215c.02-.012.02-.04.004-.055-.011-.015-.039-.02-.054-.004zm-.856 1.621c-.023-.004-.043.012-.043.036a2.17 2.17 0 00-.02.32c0 .055 0 .11.005.16 0 .023.02.04.039.04h.004c.02 0 .039-.02.035-.044-.004-.05-.004-.105-.004-.156 0-.106.008-.211.02-.313.003-.023-.012-.043-.036-.043zm.059 1.149c.008.015.023.027.039.027.004 0 .008 0 .012-.004a.035.035 0 00.027-.047 2.907 2.907 0 01-.078-.304.04.04 0 00-.047-.032.043.043 0 00-.031.047c.02.106.047.211.078.313zm-5.309 1.48a2.607 2.607 0 01-.289.114.047.047 0 00-.027.05c.008.016.023.028.039.028h.012c.101-.035.203-.075.3-.117.02-.008.028-.036.02-.055-.008-.02-.035-.028-.055-.02zm-.793-4.765a.04.04 0 00.04-.04c.003-.019-.012-.038-.036-.042a4.388 4.388 0 00-.32-.012c-.024 0-.04.02-.04.043 0 .02.02.039.04.039.105-.004.21 0 .312.012h.004zm.203 4.953c-.101.02-.207.031-.312.039-.02 0-.035.02-.035.043 0 .02.02.035.039.035h.004c.105-.004.21-.02.316-.035.024-.008.04-.028.035-.047-.004-.023-.027-.04-.047-.035zm.414-4.817c.016 0 .032-.007.036-.023a.04.04 0 00-.024-.05 2.143 2.143 0 00-.308-.09c-.02-.009-.043.007-.047.027-.004.023.008.043.031.047.102.023.2.054.297.09h.015zm1.657 2.684a.04.04 0 00-.047.031 2.473 2.473 0 01-.063.305c-.007.023.008.043.028.05h.011c.016 0 .032-.011.04-.027.027-.101.05-.21.066-.316 0-.02-.016-.04-.035-.043zm-1.094-2.395c.012 0 .023-.007.031-.02a.04.04 0 00-.011-.054 3.164 3.164 0 00-.274-.164c-.02-.008-.047 0-.055.02-.011.02-.004.043.016.054.094.047.184.098.27.157.007.004.015.007.023.007zm.934 3.004c-.02-.007-.043.004-.051.024-.04.094-.086.187-.137.277-.012.02-.004.047.016.055a.03.03 0 00.02.008.047.047 0 00.034-.02c.051-.094.098-.191.141-.289a.044.044 0 00-.023-.055zm.164-1.242c-.024.004-.04.024-.036.043.008.086.012.172.012.258v.055c0 .023.016.039.04.039.023 0 .038-.016.038-.04.004-.015.004-.035.004-.054 0-.09-.008-.176-.015-.266a.046.046 0 00-.043-.035zm-.47 1.797c-.015-.012-.038-.008-.054.008a2.924 2.924 0 01-.199.238.038.038 0 000 .055.035.035 0 00.027.012c.012 0 .02-.004.028-.012a3.18 3.18 0 00.21-.246.04.04 0 00-.011-.055zm-.484.457a3.737 3.737 0 01-.253.18c-.02.011-.028.035-.016.054.008.012.023.02.035.02a.03.03 0 00.02-.008c.093-.055.18-.117.265-.187.016-.012.02-.04.004-.055-.012-.016-.039-.02-.054-.004zm.329-3.602c.011 0 .02 0 .027-.007.016-.016.02-.04.004-.059a3.1 3.1 0 00-.227-.226c-.02-.012-.043-.012-.058.003-.016.02-.012.043.004.059.078.066.152.14.222.219a.035.035 0 00.028.012zm.359.524c.004 0 .012 0 .016-.004.02-.012.027-.035.02-.055l-.06-.105c-.003-.008-.011-.02-.015-.027 0 0-.004-.004-.004-.008a2.339 2.339 0 01-.137-.282c-.008-.02-.03-.027-.05-.02-.02.009-.032.032-.02.052.016.039.031.078.05.12a.03.03 0 00.005.04c.035.055.07.11.101.164.02.035.04.07.055.102a.043.043 0 00.039.023zM.539 22.777c-.008-.023-.031-.03-.05-.023-.02.008-.032.031-.024.05.043.102.09.2.14.294.008.011.02.02.036.02.007 0 .011-.005.02-.009.019-.007.026-.035.015-.05a3.095 3.095 0 01-.137-.282zm-.219-.87c.02 0 .04-.02.04-.044v-.023c0-.094.003-.192.015-.285.004-.024-.012-.043-.035-.047-.024 0-.043.015-.043.035-.012.098-.02.2-.02.297v.027c0 .02.02.04.043.04zm.059.269c0-.024-.02-.04-.043-.035-.024.004-.04.023-.035.047.015.105.035.21.062.312.008.02.024.031.04.031h.011c.02-.008.035-.031.027-.05a2.811 2.811 0 01-.062-.305zm.004-.899H.39c.02 0 .035-.011.039-.03.023-.102.054-.2.093-.298.008-.02-.003-.043-.023-.05a.044.044 0 00-.055.023 3.933 3.933 0 00-.093.305c-.004.023.007.043.03.05zm2.312 3.059a2.02 2.02 0 01-.308-.04.04.04 0 00-.047.032c-.004.024.008.043.031.047.106.02.211.035.317.043h.003a.04.04 0 00.04-.04c.003-.019-.016-.038-.036-.042zm-1.949-3.98c-.058.085-.117.18-.168.273-.008.02 0 .043.02.055l.015.003c.016 0 .032-.007.035-.023.051-.09.106-.18.164-.266a.04.04 0 00-.011-.054.04.04 0 00-.055.011zm.098 2.964c-.012-.02-.04-.023-.055-.008-.02.012-.023.036-.012.055.067.086.133.168.207.246.008.008.02.012.028.012.011 0 .02-.004.027-.012.02-.011.02-.039.004-.054a2.924 2.924 0 01-.2-.239zm1.242.899c-.102-.032-.2-.07-.293-.114-.02-.011-.043-.003-.05.016a.039.039 0 00.019.055 1.954 1.954 0 00.308.12c.02 0 .035-.01.04-.026a.04.04 0 00-.024-.051zm.434-4.903c0-.023-.024-.035-.043-.035-.106.02-.211.04-.317.07-.02.004-.031.028-.027.047.008.02.023.032.039.032.004 0 .008 0 .012-.004.101-.028.203-.047.304-.063a.04.04 0 00.032-.047zm-.61.164c-.008-.023-.031-.03-.05-.023a2.85 2.85 0 00-.29.145c-.047.027-.093.054-.136.082-.02.015-.024.039-.012.058.008.012.02.016.035.016.008 0 .016 0 .02-.008l.132-.082c.09-.05.184-.098.282-.137.02-.008.027-.031.02-.05zm-.676.403c-.015-.016-.039-.02-.058-.004-.078.07-.156.144-.227.223-.015.02-.015.043 0 .058.008.008.02.008.028.008a.044.044 0 00.03-.012c.067-.074.145-.148.223-.215.016-.015.02-.043.004-.058zm.29 4.07a2.003 2.003 0 01-.254-.183c-.016-.012-.043-.012-.055.007-.016.016-.012.043.004.055.082.07.172.133.261.188.004.007.012.007.02.007a.047.047 0 00.035-.02c.012-.015.004-.042-.012-.054zm6.788-2.383a2.607 2.607 0 01-.289.114.045.045 0 00-.027.05c.008.016.024.028.04.028.003 0 .007 0 .01-.004.102-.031.204-.07.302-.113a.045.045 0 00.02-.055c-.009-.02-.032-.027-.056-.02zm-.59.188c-.1.02-.206.031-.308.039a.04.04 0 000 .078h.004a2.8 2.8 0 00.316-.04c.024-.003.04-.023.036-.046a.043.043 0 00-.047-.031zm.415-4.817c.015 0 .031-.007.035-.027a.038.038 0 00-.024-.05 2.565 2.565 0 00-.308-.09c-.02-.004-.043.007-.047.03-.004.02.008.044.031.048.102.023.2.054.297.09h.016zm.562.29c.012 0 .024-.008.031-.02.012-.02.008-.043-.007-.055a2.868 2.868 0 00-.278-.164c-.02-.012-.043-.004-.054.02-.012.02-.004.043.015.05.094.047.184.102.27.16.008.005.015.008.023.008zm.797.914c.004.015.02.023.035.023a.03.03 0 00.016-.008c.02-.008.027-.031.02-.05-.02-.036-.04-.075-.06-.106a6.634 6.634 0 00-.105-.172c-.015-.02-.039-.023-.058-.012-.016.016-.024.04-.008.059.035.05.07.105.101.164.02.031.04.066.06.102zm-4.492-.008a.03.03 0 00.016.008.043.043 0 00.039-.024c.046-.09.101-.18.16-.266.011-.02.008-.043-.008-.054a.047.047 0 00-.059.008c-.058.09-.117.18-.168.277-.007.02 0 .043.02.05zm-.32 1.183c0 .024.02.04.043.04a.04.04 0 00.039-.04v-.023c0-.098.004-.192.015-.29.004-.019-.011-.038-.035-.042-.02-.004-.043.012-.043.035-.012.098-.02.2-.02.297zm.086.637c.007.02.023.031.039.031.003 0 .007-.004.011-.004.02-.004.035-.027.028-.047a2.094 2.094 0 01-.059-.304c-.004-.024-.023-.04-.047-.035a.046.046 0 00-.035.043c.016.105.035.214.063.316zm4.359 1.133l.117-.13c-.031.08-.055.161-.074.243-.008.02.008.043.027.047h.012c.016 0 .031-.012.039-.027.023-.102.055-.203.094-.297.008-.02-.004-.043-.024-.051 0-.004-.004-.004-.004-.004.008-.008.016-.02.024-.027a.042.042 0 00-.008-.055c-.02-.016-.043-.012-.059.008-.062.082-.128.16-.199.234-.015.02-.015.043 0 .059a.035.035 0 00.028.012c.011 0 .02-.004.027-.012zm.043-3.445c.012 0 .02-.004.027-.008.016-.016.02-.043.004-.059a3.1 3.1 0 00-.226-.226c-.02-.016-.043-.012-.059.003-.016.016-.012.043.004.055.078.07.152.145.223.223a.035.035 0 00.027.012zm-.328 3.597a2.73 2.73 0 01-.254.18c-.02.012-.027.039-.016.055.008.011.024.02.035.02.008 0 .016 0 .02-.005.094-.058.18-.12.266-.187.015-.012.02-.04.003-.055-.011-.02-.039-.02-.054-.008zm-3.938-2.887c-.023-.007-.043 0-.05.024-.04.098-.07.203-.098.305-.004.023.008.043.031.046.004.004.004.004.008.004.02 0 .035-.011.039-.03.023-.102.055-.2.094-.298a.04.04 0 00-.024-.05zm4.727 1.88a.038.038 0 00-.051.023 3.25 3.25 0 01-.129.262l-.047.085c-.011.02-.004.043.016.055.004 0 .012.004.02.004a.047.047 0 00.035-.02c.011-.023.023-.042.035-.066l.004-.004c0-.004.004-.008.007-.015a1.77 1.77 0 01.118-.18.037.037 0 00-.004-.05c.008-.013.011-.028.02-.044a.038.038 0 00-.024-.05zM5.64 17.34c-.016-.016-.04-.02-.055-.004a2.49 2.49 0 00-.23.223.042.042 0 000 .058c.007.004.019.008.027.008a.044.044 0 00.031-.012 2.35 2.35 0 01.223-.218c.015-.012.02-.04.004-.055zm.289 4.07a2.328 2.328 0 01-.254-.183c-.016-.012-.043-.012-.055.007-.016.016-.012.04.004.055.082.066.172.133.262.188a.03.03 0 00.02.007.041.041 0 00.034-.02.042.042 0 00-.011-.054zm.386-4.476c-.007-.02-.03-.028-.05-.02-.098.04-.196.09-.29.14-.046.028-.09.06-.136.087-.016.011-.024.039-.012.054.008.012.024.02.035.02a.056.056 0 00.024-.008l.129-.082c.093-.05.187-.098.28-.137.02-.011.032-.035.02-.054zm3.536 2.414c.003-.02.003-.035.003-.055 0-.09-.007-.18-.015-.266 0-.023-.02-.039-.043-.035-.024 0-.04.02-.035.043.008.086.011.172.011.258v.055c0 .02.016.039.04.039.023 0 .039-.016.039-.04zm-.141.664h.012c.015 0 .03-.012.039-.028.027-.105.05-.21.066-.316 0-.023-.012-.043-.035-.047-.023 0-.043.016-.047.035a2.007 2.007 0 01-.062.305c-.008.023.007.043.027.05zm-4.461.761a.042.042 0 00-.055-.007c-.02.015-.023.039-.011.054.027.035.05.07.078.102a.025.025 0 00-.024 0 .038.038 0 00-.023.05c.035.098.066.2.09.301.004.016.02.032.039.032 0 0 .004-.004.008-.004a.036.036 0 00.027-.047c-.02-.098-.05-.2-.086-.293.031.035.062.074.098.11.007.007.02.011.027.011.012 0 .02-.004.027-.012.02-.015.02-.039.004-.054a2.983 2.983 0 01-.199-.243zm4.46-2.046c.005.02.02.03.04.03h.008a.043.043 0 00.031-.046 4.028 4.028 0 00-.094-.309c-.008-.02-.03-.03-.05-.023-.02.008-.032.031-.024.05.035.098.066.2.09.298zm-3.218 2.949c-.101-.035-.199-.07-.289-.117-.023-.008-.047 0-.055.02-.007.019 0 .042.02.054.098.043.195.086.297.117.004 0 .008.004.012.004.02 0 .035-.012.039-.027.007-.024-.004-.047-.024-.051zm.61.117a2.664 2.664 0 01-.309-.04c-.023-.003-.043.009-.047.032-.004.02.008.043.031.047.106.02.211.035.317.04h.004c.02 0 .039-.017.039-.036.004-.023-.012-.043-.035-.043zm-.172-5.02c0-.003-.004-.003-.004-.003.011 0 .023 0 .035.003h.008c.02 0 .035-.015.039-.035 0-.023-.016-.043-.035-.047a2.681 2.681 0 01-.309-.054c-.02-.004-.043.008-.047.031-.004.02.008.043.028.047l.168.035a4.4 4.4 0 00-.243.055.046.046 0 00-.03.05c.007.02.022.032.038.032.004 0 .008-.004.012-.004.101-.028.203-.051.305-.067.023-.003.035-.023.035-.043zm.586.028h.004c.02 0 .03-.012.039-.028.015 0 .03-.003.046-.003a.04.04 0 00.032-.047c0-.02-.024-.035-.043-.032-.098.012-.196.016-.293.02h-.098a.04.04 0 000 .078h.098c.07.004.144.004.215.012zm-2.25-4.297h.011a.04.04 0 00.04-.027c.03-.098.058-.204.081-.309a.04.04 0 00-.03-.047c-.024-.004-.044.008-.048.031-.02.102-.047.203-.082.301-.004.02.004.043.028.05zm.097-.973c.004.043.004.09.004.133 0 .059 0 .121-.008.18 0 .023.016.039.04.043h.003c.02 0 .035-.016.04-.04.003-.058.007-.12.007-.183 0-.047-.004-.09-.004-.137-.004-.02-.02-.039-.043-.035a.04.04 0 00-.039.04zm-.035-.308c.004.02.02.03.04.03h.007c.023-.003.035-.023.031-.046a2.95 2.95 0 00-.074-.309c-.008-.023-.031-.035-.05-.027-.02.004-.032.027-.028.05.031.099.055.2.074.302zM.66 10.39c.004.004.012.004.02.004.011 0 .027-.004.035-.02a2.26 2.26 0 01.176-.254.047.047 0 00-.008-.059.042.042 0 00-.055.008 2.135 2.135 0 00-.183.266c-.012.02-.004.043.015.055zm3.715-.727c.008.008.016.008.023.008a.036.036 0 00.032-.016c.015-.015.011-.043-.008-.054a2.404 2.404 0 00-.266-.176c-.047-.028-.093-.055-.144-.078-.02-.008-.043 0-.051.02-.012.019-.004.042.016.05.046.023.093.05.136.074.09.055.18.11.262.172zm-3.309.234a.044.044 0 00.032-.011c.07-.075.152-.145.234-.207.016-.012.02-.04.004-.055-.012-.02-.035-.02-.055-.008a3.121 3.121 0 00-.242.211.042.042 0 000 .059c.008.008.02.011.027.011zm-.351 3.125a.04.04 0 00-.012.055c.059.09.121.176.192.258.007.012.02.016.03.016.009 0 .016-.004.024-.012.02-.012.02-.04.008-.055a1.897 1.897 0 01-.187-.25c-.012-.015-.04-.023-.055-.012zm4.43-2.394c.007.016.02.023.035.023.008 0 .011 0 .02-.004.019-.007.027-.03.019-.05a3.297 3.297 0 00-.153-.286c-.011-.019-.035-.023-.054-.011-.02.008-.024.035-.012.054.055.086.102.18.145.274zM3.69 9.297c.004.004.008.004.012.004.016 0 .031-.012.04-.028.007-.02-.005-.043-.024-.05a2.178 2.178 0 00-.313-.086c-.02-.008-.039.008-.047.027-.004.024.012.043.032.05.101.02.203.048.3.083zm-1.53-.04c.097-.027.198-.05.3-.066.023-.004.039-.027.035-.046-.004-.024-.023-.036-.047-.036-.105.02-.21.043-.312.075a.035.035 0 00-.028.046c.004.02.02.032.04.032.003 0 .007 0 .011-.004zM.413 10.974h.012c.015 0 .031-.012.039-.028.027-.097.062-.199.105-.293.008-.02 0-.043-.02-.05-.019-.012-.042 0-.054.02-.043.097-.078.198-.11.3-.007.02.005.043.028.05zm2.668-1.805h.004a.04.04 0 00.039-.04c.004-.019-.012-.038-.035-.042-.106-.008-.215-.012-.32-.008-.024 0-.04.02-.04.043 0 .024.02.04.043.04.102-.005.207-.005.309.007zM.445 12.453c-.023.008-.03.031-.027.05.035.102.078.2.125.298.008.015.02.023.035.023.008 0 .012-.004.02-.004.02-.011.027-.035.015-.054a2.633 2.633 0 01-.117-.29c-.008-.019-.031-.03-.05-.023zm4.54.617c.003.004.011.004.019.004.016 0 .027-.004.035-.015.02-.036.043-.07.063-.106.003-.008.007-.02.015-.027l.004-.004c.05-.09.113-.176.176-.258.012-.02.012-.043-.008-.055-.016-.015-.043-.011-.055.004a1.83 1.83 0 00-.078.106c-.015 0-.027.008-.035.023a2.38 2.38 0 01-.09.172c-.02.035-.039.066-.058.102a.04.04 0 00.011.054zm-4.602-.843c.02-.008.035-.028.031-.051a1.978 1.978 0 01-.047-.305c0-.023-.02-.039-.043-.039-.023.004-.039.023-.035.043.008.11.024.215.047.32.004.016.02.032.039.032h.008zm3.949 1.464a2.955 2.955 0 01-.262.164c-.02.012-.027.036-.015.055.008.016.02.02.035.02.008 0 .012 0 .02-.004.093-.051.183-.11.269-.172a.04.04 0 00.012-.055c-.016-.02-.04-.023-.059-.008zm-1.496.516c0 .023.02.04.039.04.11 0 .215-.009.32-.024.024 0 .04-.02.035-.043-.003-.024-.023-.04-.042-.035-.106.015-.208.02-.313.023a.04.04 0 00-.04.039zm1.766-.645c.007 0 .02-.003.027-.011.074-.07.144-.145.21-.223l-.046.137c-.008.023.004.043.027.05.004 0 .008.005.012.005.016 0 .031-.012.04-.032a2.2 2.2 0 01.105-.293c.007-.02 0-.043-.02-.05-.02-.008-.043 0-.05.02-.02.038-.036.077-.052.116a.021.021 0 00-.011-.02c-.016-.015-.043-.011-.055.005-.066.078-.14.156-.215.226-.015.016-.02.04-.004.055.008.008.02.015.032.015zm-2.391.56c-.008.023.008.042.027.05.106.023.211.043.317.055.004 0 .004.003.004.003.023 0 .039-.015.043-.039 0-.02-.016-.039-.036-.043a2.681 2.681 0 01-.308-.054c-.02-.008-.043.008-.047.027zm1.254.01c.004.02.02.032.039.032h.008c.105-.027.207-.062.304-.101.024-.008.032-.032.024-.051-.008-.02-.031-.032-.05-.024-.099.04-.196.07-.298.098-.02.004-.035.027-.027.047zm1.355-4.034c.008.011.02.015.032.015a.056.056 0 00.023-.008c.02-.015.02-.039.008-.054a2.516 2.516 0 00-.215-.239.042.042 0 00-.059 0 .038.038 0 000 .055c.075.074.145.153.211.23zm-4.5 1.5a.04.04 0 00.04-.04c.003-.105.015-.206.03-.308.005-.023-.007-.043-.03-.047a.043.043 0 00-.047.031 2.962 2.962 0 00-.032.32c0 .024.016.04.04.044zm1.305 2.289c-.012.02-.004.043.016.05.093.051.191.098.293.137h.015c.016 0 .031-.008.035-.023A.038.038 0 001.961 14a2.631 2.631 0 01-.281-.133.045.045 0 00-.055.02zm-.508-.375a.042.042 0 000 .058c.078.07.164.137.25.2a.056.056 0 00.024.007c.011 0 .023-.007.03-.015.016-.02.013-.043-.007-.059a1.961 1.961 0 01-.242-.195c-.016-.012-.043-.012-.055.004zm.45-4c.007 0 .015 0 .023-.004.086-.055.18-.102.277-.145.02-.008.028-.031.02-.05a.039.039 0 00-.055-.02c-.098.039-.191.09-.285.145-.02.011-.024.035-.012.054.004.012.02.02.031.02zm8.242 4.523c-.024 0-.04.02-.04.043.004.043.004.086.004.129 0 .063 0 .121-.003.18-.004.023.011.043.035.043h.004c.02 0 .039-.016.039-.035.004-.063.007-.125.007-.188 0-.043-.003-.09-.003-.137a.042.042 0 00-.043-.035zm-.137 1.012c.004.004.008.004.012.004.015 0 .03-.012.039-.028.03-.101.062-.207.082-.312a.043.043 0 00-.032-.047.04.04 0 00-.046.031c-.02.102-.047.203-.082.301a.045.045 0 00.027.05zm-.09.219c-.02-.008-.043 0-.05.02-.032.058-.06.116-.095.171-.019.035-.039.066-.058.102-.012.02-.008.043.012.054a.03.03 0 00.02.008.041.041 0 00.034-.02c.02-.035.043-.07.063-.101.031-.059.066-.121.094-.18a.045.045 0 00-.02-.054zm.105-1.852a.045.045 0 00-.027.05c.031.098.059.2.074.302.004.02.02.035.04.035h.007c.024-.004.035-.028.031-.047a2.138 2.138 0 00-.074-.313c-.008-.023-.031-.035-.05-.027zm-4.164 2.64c-.015.02-.015.044 0 .06.079.07.165.14.25.198.008.008.016.008.024.008.012 0 .027-.004.035-.015.012-.02.008-.043-.012-.055a2.94 2.94 0 01-.242-.195c-.016-.016-.043-.016-.055 0zm-.078-3.624c.008.008.02.011.032.011.007 0 .02-.004.027-.011.074-.075.152-.14.234-.203.016-.016.02-.04.004-.059-.012-.016-.035-.02-.054-.008a2.507 2.507 0 00-.243.215.038.038 0 000 .055zm-.113 3.465c.008 0 .02-.004.027-.008.016-.016.016-.04.004-.059a2.273 2.273 0 01-.187-.246c-.012-.02-.035-.023-.055-.012-.02.012-.023.035-.012.055.059.09.121.176.192.258.008.008.02.012.031.012zm.64-3.84c.008 0 .016 0 .024-.004a1.68 1.68 0 01.277-.14.045.045 0 00.02-.056c-.008-.02-.031-.027-.05-.02-.102.044-.196.09-.29.145-.02.012-.023.036-.012.055.008.012.02.02.032.02zm.594-.25c.098-.032.2-.055.301-.07.024-.005.04-.024.035-.047a.04.04 0 00-.047-.032c-.105.016-.21.04-.312.07-.02.008-.035.028-.027.051.004.016.02.028.039.028h.011zm-1.582 3.562c.008 0 .012 0 .02-.004.02-.011.027-.035.016-.054a3.639 3.639 0 01-.118-.286c-.007-.023-.03-.035-.05-.027-.02.008-.032.031-.024.05.031.102.074.204.121.298a.042.042 0 00.035.023zm3.797-3.156a.056.056 0 00.024.008c.011 0 .023-.008.03-.016.017-.02.013-.043-.007-.058a2.607 2.607 0 00-.265-.176c-.047-.028-.094-.055-.145-.078-.02-.008-.043 0-.05.02-.013.019-.005.042.015.054a2.44 2.44 0 01.398.246zm-2.75 4.219c-.011.02-.004.043.016.054a2.81 2.81 0 00.308.137.038.038 0 00.036-.027.038.038 0 00-.024-.051 3.656 3.656 0 01-.281-.129c-.02-.012-.043-.004-.055.016zm-1.3-2.051c-.024 0-.04.02-.036.043.008.105.024.21.047.316.004.02.02.032.04.032h.007a.043.043 0 00.031-.047 2.105 2.105 0 01-.047-.309c0-.023-.02-.039-.043-.035zm2.757-2.668h.004c.024 0 .04-.016.043-.035 0-.024-.015-.043-.039-.043a2.194 2.194 0 00-.32-.008.04.04 0 00-.04.04c0 .023.02.038.044.038.101-.004.207 0 .308.008zm.61.133h.011c.02 0 .036-.008.04-.028.007-.02-.004-.043-.024-.05a3.032 3.032 0 00-.309-.086c-.023-.004-.043.008-.05.03a.043.043 0 00.03.048c.102.023.204.05.302.086zm1.129.8c.007.008.02.012.03.012.009 0 .02 0 .024-.008.004 0 .004 0 .004-.003a.139.139 0 01.016.035c.008.015.02.023.035.023.008 0 .012 0 .016-.004a.038.038 0 00.023-.05 2.02 2.02 0 01-.105-.294c-.008-.02-.028-.035-.051-.027a.045.045 0 00-.028.05c.016.056.036.106.055.161a3.82 3.82 0 00-.172-.184.042.042 0 00-.058 0c-.016.016-.012.043.004.055.074.074.144.152.207.235zM7.87 16.68c.004.015.02.027.04.027h.007c.105-.027.207-.059.305-.102a.038.038 0 00.023-.05c-.008-.02-.031-.032-.05-.024a2.03 2.03 0 01-.298.098c-.02.008-.035.027-.027.05zm-3.105-2.934c-.02-.004-.043.012-.047.035a2.8 2.8 0 00-.032.317c0 .023.016.043.04.043.023 0 .039-.016.039-.04.004-.101.015-.206.035-.308.004-.023-.012-.043-.035-.047zm3.972 2.488a2.988 2.988 0 01-.261.168c-.02.008-.028.032-.016.051.008.016.02.024.035.024.008 0 .012-.004.02-.008.093-.051.183-.11.27-.172.019-.012.023-.035.01-.055a.047.047 0 00-.058-.008zm.27-.129c.008 0 .02-.003.027-.011.078-.074.152-.153.219-.235.016-.015.012-.043-.004-.054-.016-.016-.043-.012-.055.004-.066.082-.14.156-.215.226a.047.047 0 00-.003.059c.007.008.02.011.03.011zM9.977 4.72c.007 0 .02 0 .027-.008.078-.07.16-.137.242-.195.02-.012.024-.036.012-.055a.04.04 0 00-.055-.012c-.09.063-.172.13-.254.203-.015.012-.015.04-.004.055.008.008.02.012.032.012zm3.742 3.37a.056.056 0 00.023.009.041.041 0 00.035-.02 2.39 2.39 0 00.168-.27c.012-.019.004-.042-.015-.054-.02-.012-.043-.004-.051.016-.05.09-.106.18-.168.261a.047.047 0 00.008.059zm-.403.47a.056.056 0 00.024-.008c.082-.07.16-.145.234-.223.016-.015.012-.043-.004-.055a.038.038 0 00-.054 0c-.07.079-.149.149-.227.215-.016.016-.02.04-.004.059.008.008.02.012.031.012zm-.53.343c.007 0 .01 0 .019-.004.093-.046.187-.097.277-.156a.04.04 0 00.012-.055c-.012-.019-.035-.023-.055-.011-.086.054-.18.105-.27.152-.019.008-.03.031-.019.055.008.012.02.02.035.02zm-.458-4.746a2.638 2.638 0 01.313.102c.015 0 .027-.008.035-.024.008-.023 0-.046-.024-.054-.097-.04-.199-.075-.304-.102-.02-.004-.043.008-.047.027-.008.024.008.043.027.051zm-.773 5h.16a4.1 4.1 0 01.308.024l.004.004c.024 0 .04-.016.043-.036 0-.023-.015-.043-.035-.046l-.129-.012a.041.041 0 00-.035-.02 2.769 2.769 0 01-.312.004.04.04 0 00-.04.04c-.003.023.016.038.036.042zm-.47-5.02h.009c.101-.023.207-.042.308-.05.024-.004.04-.024.036-.047a.046.046 0 00-.043-.035 2.816 2.816 0 00-.317.055c-.023.007-.035.027-.031.046.004.02.02.032.039.032zm.63-.066c.101 0 .207.008.308.024h.004c.024 0 .04-.016.043-.035 0-.02-.015-.043-.035-.043a2.953 2.953 0 00-.32-.028.04.04 0 00-.04.04c-.003.023.016.042.04.042zm.473 5.035h.007c.106-.02.211-.05.313-.082.02-.007.031-.03.023-.05-.008-.024-.031-.036-.05-.028-.098.035-.2.063-.301.082a.04.04 0 00-.032.047c.004.02.02.031.04.031zm1.43-4.117c.007.012.019.016.027.016.011 0 .02-.004.027-.008.015-.016.02-.039.004-.059a2.468 2.468 0 00-.219-.234.038.038 0 00-.055 0 .042.042 0 000 .059c.078.07.149.148.215.226zm-2.692 4.059c.097.027.195.055.297.07a1.57 1.57 0 00-.145.031c-.023.004-.035.028-.031.047.004.02.02.032.039.032h.008a2.84 2.84 0 01.308-.055c.024 0 .04-.024.036-.043-.004-.024-.024-.04-.043-.035a1.365 1.365 0 00-.125.015c.007-.004.011-.011.011-.023.004-.02-.008-.04-.031-.043a2.6 2.6 0 01-.3-.074c-.024-.004-.048.008-.052.027-.007.024.004.043.028.05zm-.586-.262c.09.055.187.106.285.149.004.004.008.004.016.004.015 0 .027-.008.035-.024a.045.045 0 00-.02-.055 2.085 2.085 0 01-.277-.144c-.02-.008-.043-.004-.055.015-.011.02-.004.043.016.055zm.156-4.426c.004 0 .012 0 .016-.004.093-.046.187-.09.285-.128.02-.008.031-.032.023-.051-.008-.02-.03-.031-.05-.024-.102.04-.2.082-.293.133-.02.008-.028.035-.016.055.004.012.02.02.035.02zm-.957.832a.05.05 0 00.024.004c.011 0 .027-.004.035-.015.054-.086.12-.168.187-.246.016-.02.012-.043-.004-.059-.015-.016-.043-.012-.054.004-.07.082-.137.168-.196.258-.015.015-.008.043.008.054zm3.363-.8c.094.05.18.109.262.168.008.007.016.007.024.007.015 0 .027-.003.035-.015a.042.042 0 00-.008-.055 3.98 3.98 0 00-.27-.176c-.02-.011-.047-.004-.054.016a.042.042 0 00.011.055zM10.074 8.6a.056.056 0 00.024.008.036.036 0 00.03-.015c.017-.016.013-.043-.003-.055a2.339 2.339 0 01-.234-.207.038.038 0 00-.055 0 .038.038 0 000 .055c.074.078.156.148.238.215zm-.808-2.843c.004.004.007.004.011.004.016 0 .032-.012.04-.028.035-.097.074-.195.12-.285.012-.02.004-.043-.015-.054-.02-.012-.043-.004-.055.02-.047.093-.09.19-.125.292a.04.04 0 00.024.05zm-.125.62h.004c.02 0 .035-.015.039-.038.007-.102.023-.203.046-.305.004-.023-.007-.043-.03-.047-.02-.008-.044.008-.048.028a2.88 2.88 0 00-.05.32c0 .02.015.039.039.043zm5.011.782c-.02-.004-.043.008-.047.031-.027.098-.058.2-.097.297-.008.02.004.043.023.051.004 0 .008.004.016.004a.038.038 0 00.035-.027c.04-.098.074-.204.098-.305.008-.024-.004-.043-.028-.05zm-4.707.719c.055.09.114.18.18.266.008.011.02.015.031.015.008 0 .016-.004.024-.008.02-.015.023-.039.008-.054a2.323 2.323 0 01-.172-.262c-.012-.016-.04-.024-.055-.012-.02.012-.027.035-.016.055zm-.28-.871h.003c.023-.004.039-.024.035-.043a2.822 2.822 0 01-.031-.313c0-.02-.02-.039-.04-.039-.023 0-.038.02-.038.043.004.106.011.215.031.32 0 .02.02.032.04.032zm4.78-1.492c.008.011.024.023.04.023.003 0 .007-.004.015-.004.02-.012.027-.035.02-.055a2.46 2.46 0 00-.157-.28c-.011-.02-.035-.024-.054-.013a.042.042 0 00-.012.055c.055.086.105.18.148.274zm-4.61 2.101c.009 0 .013-.004.017-.004.023-.008.03-.031.023-.054a1.866 1.866 0 01-.105-.293.045.045 0 00-.051-.028.047.047 0 00-.028.051c.032.102.067.203.11.3.008.016.02.028.035.028zm4.802-1.512c.004.02.02.036.039.036.004 0 .004-.004.008-.004.023-.004.035-.024.03-.047a2.975 2.975 0 00-.077-.309c-.008-.023-.032-.035-.051-.027a.047.047 0 00-.027.05c.035.098.058.2.078.301zm.039.31c.004.054.004.105.004.16 0 .1-.004.206-.02.308 0 .023.016.043.035.047h.004c.024 0 .04-.016.043-.035.012-.106.02-.215.02-.32 0-.055-.004-.11-.008-.165a.04.04 0 00-.04-.039.045.045 0 00-.038.043zm-.86 7.233c.008 0 .016-.003.024-.011.082-.067.16-.14.234-.219.016-.016.012-.043-.004-.059-.015-.015-.039-.011-.054.004-.07.075-.149.149-.227.215-.016.012-.02.04-.004.055.008.012.02.015.031.015zm.141-3.855a.038.038 0 00-.055 0 .038.038 0 000 .055c.078.074.149.148.215.23.008.008.02.016.028.016.011 0 .02-.004.027-.012.015-.012.02-.039.004-.055a2.072 2.072 0 00-.219-.234zm.68 1.074c-.008-.02-.032-.031-.051-.023-.02.004-.031.027-.027.05.035.098.058.2.078.301.004.02.02.032.039.032h.008c.023-.004.035-.024.03-.047a2.81 2.81 0 00-.077-.313zm.058 1.149h.004c.024 0 .04-.012.043-.032a2.197 2.197 0 00.012-.484.04.04 0 00-.04-.04c-.023 0-.038.02-.038.044.004.05.004.105.004.156 0 .106-.004.211-.02.313 0 .023.016.043.035.043zm-.386-1.743c-.016.012-.024.04-.012.055.055.09.105.18.148.274a.043.043 0 00.04.023c.003 0 .007 0 .015-.004.02-.008.027-.031.02-.05a2.46 2.46 0 00-.157-.282c-.011-.02-.035-.027-.054-.016zm-3.68 3.41c.016-.019.012-.042-.004-.054a3.006 3.006 0 01-.234-.211.038.038 0 00-.055 0 .042.042 0 000 .059c.074.074.156.148.238.214.008.004.016.008.024.008.011 0 .023-.008.03-.015zm-.965-1.585h.004c.023-.004.039-.024.035-.047a2.753 2.753 0 01-.031-.309.04.04 0 00-.078 0c.004.11.011.215.031.32 0 .02.02.036.04.036zm4.059-2.457c.011-.02.007-.043-.008-.055a2.27 2.27 0 00-.27-.176c-.02-.012-.047-.004-.054.016a.042.042 0 00.011.054c.094.051.18.106.262.168.008.004.016.008.024.008.015 0 .027-.004.035-.015zm-.692 4.418c-.008-.02-.031-.032-.05-.024-.098.031-.2.059-.301.082a.04.04 0 00-.032.047c.004.016.02.031.04.031h.007c.106-.023.211-.05.313-.086a.04.04 0 00.023-.05zm-2.969-3.774a.047.047 0 00.036-.02c.054-.081.12-.167.187-.245.016-.016.012-.043-.004-.055-.015-.016-.043-.012-.054.004-.07.078-.137.164-.196.254-.015.02-.008.043.008.054a.056.056 0 00.024.008zm2.31 3.875a2.769 2.769 0 01-.313.004.04.04 0 00-.04.04c-.003.019.016.038.036.038.043.004.082.004.12.004.067 0 .137-.004.204-.008.02 0 .035-.02.035-.043 0-.023-.02-.039-.043-.035zm-1.216-.21a2.675 2.675 0 01-.277-.145c-.02-.012-.043-.004-.055.015-.011.016-.004.043.016.055.09.055.187.105.285.148.004 0 .008.004.016.004.015 0 .027-.011.035-.023.008-.024 0-.047-.02-.055zm.594.179a1.978 1.978 0 01-.3-.07c-.024-.008-.048.004-.052.027-.007.02.004.043.028.05.101.028.207.055.312.071 0 .004.004.004.004.004.02 0 .04-.016.04-.035.003-.02-.009-.043-.032-.047zm1.844-.356a.042.042 0 00-.055-.011c-.086.058-.18.11-.27.156-.019.008-.03.031-.019.05.008.016.02.024.035.024.008 0 .012 0 .02-.004.093-.047.187-.101.277-.16.02-.012.023-.035.012-.055zm-2.324-4.53c-.102.034-.2.081-.293.128-.02.012-.028.035-.016.055.004.015.02.023.035.023l.016-.004c.093-.05.187-.093.285-.129.02-.007.031-.03.023-.05-.008-.024-.03-.032-.05-.024zM9.656 13.25c.008 0 .016-.004.024-.008.02-.015.023-.039.008-.058a3.295 3.295 0 01-.165-.243c-.015-.027-.03-.058-.05-.086-.012-.02-.036-.023-.055-.011-.02.011-.023.035-.012.054.012.02.024.04.035.063l.004.004c.004.008.004.012.008.015.035.063.07.13.098.192a.042.042 0 00.035.023h.012l.027.04c.008.007.02.015.031.015zm2.996-3.98c-.097-.04-.199-.075-.304-.102a.035.035 0 00-.047.027c-.008.02.008.043.027.047.102.028.2.063.297.102.004 0 .008.004.016.004.015 0 .027-.012.035-.028a.038.038 0 00-.024-.05zm-2.394.28a.04.04 0 00-.055-.01c-.09.062-.172.128-.254.198-.015.016-.015.04-.004.059.008.008.02.012.032.012.007 0 .02-.004.027-.012.078-.067.16-.133.242-.192a.04.04 0 00.012-.054zm-.992 1.298h.011a.043.043 0 00.04-.024 2.66 2.66 0 01.12-.289c.012-.02.004-.043-.015-.05-.02-.012-.043-.005-.055.015a2.81 2.81 0 00-.125.297c-.008.02.004.043.024.05zm-.067.226c.024.004.035.028.031.047-.023.102-.039.207-.046.309-.004.02-.02.035-.04.035h-.003c-.024 0-.04-.02-.04-.043a2.96 2.96 0 01.051-.317c.004-.023.028-.035.047-.03\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 82,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n lineNumber: 3,\n columnNumber: 5\n }, this);\n}\n_c = Logo;\nvar _c;\n$RefreshReg$(_c, \"Logo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4IiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLFNBQVNBLEtBQUtDLEtBQUs7SUFDeEIscUJBQ0UsOERBQUNDO1FBQ0NDLE9BQU07UUFDTkMsT0FBTTtRQUNOQyxRQUFPO1FBQ1BDLFNBQVE7UUFDUkMsU0FBUTs7MEJBRVIsOERBQUNDOztrQ0FDQyw4REFBQ0M7d0JBQVNDLElBQUc7a0NBQ1gsNEVBQUNDOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0g7d0JBQVNDLElBQUc7a0NBQ1gsNEVBQUNDOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0g7d0JBQVNDLElBQUc7a0NBQ1gsNEVBQUNDOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7OztrQ0FFViw4REFBQ0g7d0JBQVNDLElBQUc7a0NBQ1gsNEVBQUNDOzRCQUFLQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFHWiw4REFBQ0Q7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Ozs7OzswQkFFSiw4REFBQ0Q7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Ozs7OzswQkFFSiw4REFBQ0U7Z0JBQUVMLFVBQVM7MEJBQ1YsNEVBQUNFO29CQUNDRSxNQUFLO29CQUNMRCxHQUFFOzs7Ozs7Ozs7OzswQkFHTiw4REFBQ0Q7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Z0JBQ0ZHLFdBQVU7Ozs7OzswQkFFWiw4REFBQ0o7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Z0JBQ0ZHLFdBQVU7Ozs7OzswQkFFWiw4REFBQ0o7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Z0JBQ0ZHLFdBQVU7Ozs7OzswQkFFWiw4REFBQ0Q7Z0JBQUVMLFVBQVM7MEJBQ1YsNEVBQUNFO29CQUNDRSxNQUFLO29CQUNMRCxHQUFFO29CQUNGRyxXQUFVOzs7Ozs7Ozs7OzswQkFHZCw4REFBQ0o7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Ozs7OzswQkFFSiw4REFBQ0Q7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Ozs7OzswQkFFSiw4REFBQ0U7Z0JBQUVMLFVBQVM7MEJBQ1YsNEVBQUNFO29CQUNDRSxNQUFLO29CQUNMRCxHQUFFOzs7Ozs7Ozs7OzswQkFHTiw4REFBQ0Q7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Ozs7OzswQkFFSiw4REFBQ0Q7Z0JBQ0NFLE1BQUs7Z0JBQ0xELEdBQUU7Ozs7OzswQkFFSiw4REFBQ0U7Z0JBQUVMLFVBQVM7MEJBQ1YsNEVBQUNFO29CQUNDRSxNQUFLO29CQUNMRCxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztBQUtaO0tBekZnQloiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvTG9nby5qc3g/MjA0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gTG9nbyhwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxMDBcIlxuICAgICAgaGVpZ2h0PVwiNDVcIlxuICAgICAgdmVyc2lvbj1cIjFcIlxuICAgICAgdmlld0JveD1cIjAgMCA3NSAzMy43NVwiXG4gICAgPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxjbGlwUGF0aCBpZD1cImFjN2FmNWZhMzNcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTS4yNzcgMy45ODhoMjIuNzk3djI1LjMxM0guMjc3em0wIDBcIj48L3BhdGg+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDxjbGlwUGF0aCBpZD1cImY1MTZjMjIwYjdcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTY0IDEwaDEwLjcyM3YxMUg2NHptMCAwXCI+PC9wYXRoPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCI1MTBkMGFkMTE0XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0uMjc3IDMuOTg4aDIyLjc5N3YyNS4zMTNILjI3N3ptMCAwXCI+PC9wYXRoPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJkNDY0YzI5OTE4XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0uMjc3IDMuOTg4aDIyLjc5N3YyNS4zMTNILjI3N3ptMCAwXCI+PC9wYXRoPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cIiNjNzhlMzhcIlxuICAgICAgICBkPVwiTTE2LjExNyAxOS40MjJsNC4wMjQgMi4zMjRoLTUuMzY4em0tNC40NDEgNy4zMmwtMi43NzgtNC44MDhoNS41NTV6TTMuMjEgMjEuNzQ2bDQuMDIzLTIuMzI0IDEuMzQ0IDIuMzI0em0zLjkzLTIuNDg0bC00LjAyNCAyLjMyNCAyLjY4NC00LjY0OHptLTQuMTE4LTcuNTA4aDUuNTU1bC0yLjc3NyA0LjgwOXptOC41NTktNC44MzJ2NC42NDhIOC44OTh6bS4xODggNC42NDhWNi45MjJsMi42ODMgNC42NDh6bTguNTU4LjE4NGwtMi43NzcgNC44MDktMi43NzgtNC44MXptLTQuNDA2IDcuNjMzbC0xLjM2MyAyLjM2SDguNzkzbC0xLjM2My0yLjM2em0tOC42NTItLjI3OEw1LjkxIDE2Ljc1bDIuODgzLTQuOTk2aDIuNzIzem00LjU2Ni03LjM1NWgyLjcyM2wyLjg4NiA0Ljk5Ni0xLjM2MyAyLjM2em0tNC4zMTMgNy4yODVsNC4wNTktNy4wMzF2NC42ODd6bTQuMTUzLTIuMThsNC4wNTggMi4zNDRINy42MTd6bS4wOTQtNC44NTFsNC4wNTggNy4wMzEtNC4wNTgtMi4zNDR6bTguNDY0IDkuNTc4bC00LjAyMy0yLjMyNCAxLjM0LTIuMzI1ek0xNy42NiAxNi43NWwyLjk5Mi01LjE4aC01Ljk4NGwtMi45OTItNS4xODMtMi45OTIgNS4xODNoLTUuOThsMi45ODcgNS4xOC0yLjk4OCA1LjE4NGg1Ljk4bDIuOTkzIDUuMTggMi45OTItNS4xOGg1Ljk4NEwxNy42NiAxNi43NVwiXG4gICAgICA+PC9wYXRoPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cIiNjNzhlMzhcIlxuICAgICAgICBkPVwiTTExLjY3NiAxOS4yMDNhMi40NSAyLjQ1IDAgMTEuMDAzLTQuOTAzIDIuNDUgMi40NSAwIDAxLS4wMDMgNC45MDN6bTAtNS4wOWEyLjY0IDIuNjQgMCAwMC0yLjYzNyAyLjYzNyAyLjY0IDIuNjQgMCAwMDIuNjM3IDIuNjM3IDIuNjQgMi42NCAwIDAwMi42MzYtMi42MzcgMi42NCAyLjY0IDAgMDAtMi42MzYtMi42MzdcIlxuICAgICAgPjwvcGF0aD5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNhYzdhZjVmYTMzKVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCIjYzc4ZTM4XCJcbiAgICAgICAgICBkPVwiTTE5Ljc2MiA5LjIyM2EuMDQ3LjA0NyAwIDAwLS4wNTEtLjAyOCAzLjk5NSAzLjk5NSAwIDAwLS4zLjExNy4wNDUuMDQ1IDAgMDAtLjAyLjA1NWMuMDA3LjAxMi4wMjMuMDI0LjAzOS4wMjQuMDA0IDAgLjAwOC0uMDA0LjAxNS0uMDA0LjA5NC0uMDQzLjE5Mi0uMDgyLjI5LS4xMTQuMDIzLS4wMDcuMDM1LS4wMjcuMDI3LS4wNXptLjYyLS4xMDZjMC0uMDItLjAxOS0uMDM1LS4wMzgtLjAzNS0uMTEuMDA0LS4yMTUuMDItLjMyLjA0LS4wMjQuMDAzLS4wMzYuMDIzLS4wMzIuMDQ2LjAwNC4wMTYuMDIuMDMxLjA0LjAzMWguMDA3Yy4xMDItLjAyLjIwMy0uMDMxLjMwOS0uMDM5LjAyIDAgLjAzOS0uMDIuMDM1LS4wNDN6bS41OTUuMDg2Yy4wMTUgMCAuMDM1LS4wMTIuMDM5LS4wMzEuMDA0LS4wMjQtLjAxMi0uMDQzLS4wMzYtLjA0N2EyLjgwMiAyLjgwMiAwIDAwLS4zMTYtLjA0M2MtLjAyMyAwLS4wNDMuMDE2LS4wNDMuMDQgMCAuMDE5LjAxNi4wMzguMDM1LjA0Mi4xMDYuMDA4LjIwNy4wMi4zMTMuMDRoLjAwOHptLjU5Ny4yYy4wMTYgMCAuMDMxLS4wMTIuMDM1LS4wMjQuMDEyLS4wMi4wMDQtLjA0Ny0uMDE1LS4wNTVhMi4xNzcgMi4xNzcgMCAwMC0uMzAxLS4xMTdjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNS4wMjMtLjAwOS4wMjQuMDAzLjA0My4wMjcuMDUxLjA5Ny4wMzEuMTk1LjA3LjI4OS4xMTcuMDAzIDAgLjAxMS4wMDQuMDE1LjAwNHptLTMuMTQ0Ljc2NWEuMDU2LjA1NiAwIDAwLjAyMy4wMDguMDM2LjAzNiAwIDAwLjAzMS0uMDE2IDIuMzQgMi4zNCAwIDAxLjIwMy0uMjM4Yy4wMTYtLjAxNi4wMTYtLjA0LS4wMDMtLjA1NWEuMDM4LjAzOCAwIDAwLS4wNTUgMGMtLjA3NC4wNzgtLjE0NS4xNi0uMjA3LjI0Ni0uMDE2LjAxNi0uMDEyLjA0My4wMDguMDU1em0tLjMwNS41NTVsLjAxNi4wMDRhLjAzOC4wMzggMCAwMC4wMzUtLjAyOGMuMDM5LS4wOTQuMDg2LS4xODcuMTM3LS4yNzdhLjA0Mi4wNDIgMCAwMC0uMDEyLS4wNTVjLS4wMi0uMDEyLS4wNDctLjAwNC0uMDU1LjAxNi0uMDU1LjA5LS4xMDEuMTg3LS4xNDQuMjg1YS4wNDQuMDQ0IDAgMDAuMDIzLjA1NXptLjA4NiAyLjA3Yy0uMDIuMDEyLS4wMjcuMDM1LS4wMTYuMDU1LjAxNi4wMzUuMDM1LjA3LjA1NS4xMDUuMDA4LjAwOC4wMTIuMDIuMDE2LjAyN2EyLjMzOCAyLjMzOCAwIDAxLjE0LjI5Yy4wMDQuMDE1LjAyLjAyMy4wMzUuMDIzLjAwOCAwIC4wMTIgMCAuMDE2LS4wMDQuMDItLjAwOC4wMzEtLjAzMS4wMjMtLjA1LS4wMTUtLjA0LS4wMzUtLjA3OS0uMDU0LS4xMTguMDA4LS4wMTYuMDA4LS4wMzEgMC0uMDQzLS4wNC0uMDUtLjA3NC0uMTEtLjEwNi0uMTY0LS4wMi0uMDM1LS4wMzktLjA2Ni0uMDU0LS4xMDEtLjAxMi0uMDItLjAzNi0uMDI4LS4wNTUtLjAyem0tLjI0Ni0xLjQ2MWguMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMS4wMTUtLjEwNi4wMzUtLjIwNy4wNjItLjMwNS4wMDgtLjAyMy0uMDA0LS4wNDMtLjAyNy0uMDUtLjAyLS4wMDUtLjA0My4wMDctLjA0Ny4wMjctLjAzMS4xMDUtLjA1LjIxLS4wNjYuMzE2LS4wMDQuMDIuMDExLjA0My4wMy4wNDN6bS0uMDA4LjYzM2guMDA0YS4wNDUuMDQ1IDAgMDAuMDM5LS4wNDMgMS45MDMgMS45MDMgMCAwMS0uMDE2LS4yNTh2LS4wNTVjMC0uMDIzLS4wMTUtLjAzOS0uMDM5LS4wMzktLjAyMyAwLS4wMzkuMDE2LS4wMzkuMDR2LjA1NGMwIC4wOS4wMDQuMTguMDEyLjI2Ni4wMDQuMDIuMDIuMDM1LjAzOS4wMzV6bS42NiAxLjM2Yy0uMDE1LS4wMTYtLjAzOS0uMDItLjA1OC0uMDA1LS4wMTYuMDE2LS4wMTYuMDQtLjAwNC4wNTkuMDc0LjA3OC4xNDguMTU2LjIzLjIyNi4wMDguMDA0LjAxNi4wMDguMDI0LjAwOGEuMDQ0LjA0NCAwIDAwLjAzLS4wMTFjLjAxNi0uMDIuMDEzLS4wNDMtLjAwMy0uMDU5YTEuOTI4IDEuOTI4IDAgMDEtLjIxOS0uMjE5em0uNDEuNDIxYS4wNC4wNCAwIDAwLjAxMi4wNTVjLjA4Ni4wNTguMTguMTEzLjI3Ny4xNjQuMDA0LjAwNC4wMTIuMDA0LjAxNi4wMDQuMDE2IDAgLjAzMS0uMDA4LjAzNS0uMDI0LjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDVhMi4zMzIgMi4zMzIgMCAwMS0uMjctLjE2LjA0LjA0IDAgMDAtLjA1NS4wMTF6bS4xNDUtNC4yMTVjLjAxNS0uMDA4LjAyMy0uMDM1LjAxMi0uMDU0YS4wNDIuMDQyIDAgMDAtLjA1NS0uMDEyYy0uMDkuMDU4LS4xOC4xMi0uMjYyLjE4Ny0uMDIuMDEyLS4wMi4wNC0uMDA4LjA1NS4wMDguMDEyLjAyLjAxNi4wMzIuMDE2LjAwNyAwIC4wMi0uMDA0LjAyNy0uMDA4LjA3OC0uMDY3LjE2NC0uMTMuMjU0LS4xODR6bTMuOCAyLjY5MmMtLjAyMy0uMDA0LS4wNDIuMDA3LS4wNS4wM2EyLjYgMi42IDAgMDEtLjA5LjI5OGMtLjAwOC4wMiAwIC4wNDMuMDIzLjA1LjAwNC4wMDQuMDA4LjAwNC4wMTIuMDA0LjAxNiAwIC4wMzEtLjAxMS4wNC0uMDI3LjAzNC0uMDk4LjA3LS4yMDMuMDkzLS4zMDVhLjA0NS4wNDUgMCAwMC0uMDI3LS4wNXptMC0uODk5YzAgLjAyLjAyLjAzNS4wNC4wMzVoLjAwNGMuMDIzLS4wMDQuMDM5LS4wMjMuMDM1LS4wNDNhMi42NjcgMi42NjcgMCAwMC0uMDYzLS4zMTZjLS4wMDgtLjAyMy0uMDI3LS4wMzUtLjA1LS4wMjctLjAyLjAwNC0uMDMyLjAyNy0uMDI4LjA0Ny4wMjcuMTAxLjA0Ny4yMDMuMDYzLjMwNHptLTEuMDQyIDIuNDM0Yy0uMDEyLS4wMTYtLjAzNS0uMDItLjA1NS0uMDA4bC0uMTMzLjA4MmMtLjA5LjA1LS4xODMuMDk4LS4yODEuMTM3LS4wMi4wMDgtLjAyNy4wMzEtLjAyLjA1NC4wMDguMDEyLjAyLjAyNC4wMzYuMDI0LjAwNyAwIC4wMTEgMCAuMDE1LS4wMDQuMTAyLS4wNDMuMTk1LS4wOS4yOS0uMTQ1LjA0Ni0uMDI3LjA5My0uMDU0LjEzNi0uMDgyLjAyLS4wMTEuMDIzLS4wMzkuMDEyLS4wNTh6bS0yLjM0NC4yODFjLS4wMDguMDI0LjAwNC4wNDcuMDIzLjA1LjEwMi4wNC4yMDMuMDcxLjMwOS4wOTVoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMzJhLjAzNi4wMzYgMCAwMC0uMDI3LS4wNDcgMi42NjMgMi42NjMgMCAwMS0uMzAxLS4wOWMtLjAyLS4wMDctLjA0My4wMDUtLjA1MS4wMjR6bTMuMjI3LTMuMzE2Yy4wMDMuMDE1LjAxOS4wMjcuMDM1LjAyNy4wMDcgMCAuMDExIDAgLjAxNS0uMDA0LjAyLS4wMDguMDMyLS4wMzEuMDI0LS4wNWEyLjE4OSAyLjE4OSAwIDAwLS4xNC0uMjljLS4wMDktLjAyLS4wMzYtLjAyNy0uMDU2LS4wMTUtLjAyLjAwNy0uMDIzLjAzNS0uMDE1LjA1NC4wNS4wOS4wOTcuMTg0LjEzNy4yNzh6bS4yMjIuODdjLS4wMjMuMDA1LS4wNDMuMDItLjA0My4wNDRsLjAwNC4wMjNjMCAuMDk0LS4wMDguMTkyLS4wMi4yODUgMCAuMDI0LjAxNi4wNDMuMDM2LjA0N2guMDA0Yy4wMjMgMCAuMDM5LS4wMTUuMDQzLS4wMzUuMDA3LS4wOTguMDE1LS4yLjAxNS0uMjk3di0uMDIzYzAtLjAyNC0uMDItLjA0My0uMDM5LS4wNDN6bS0xLjIwMy0yLjA0NmMuMDg2LjA1NS4xNzIuMTE3LjI1LjE4My4wMDguMDA0LjAxNi4wMDguMDI3LjAwOGEuMDM2LjAzNiAwIDAwLjAzMi0uMDE1Yy4wMTEtLjAxNi4wMTEtLjA0My0uMDA4LS4wNTVhMS45NjkgMS45NjkgMCAwMC0uMjU4LS4xODhjLS4wMi0uMDExLS4wNDMtLjAwNy0uMDU5LjAxMi0uMDExLjAyLS4wMDMuMDQzLjAxNi4wNTV6bS0xIDQuNjM3Yy4wMDQuMDIuMDIuMDM1LjA0LjAzNWguMDAzYy4xMDUtLjAxNi4yMTUtLjA0LjMxNi0uMDcuMDItLjAwNC4wMzItLjAyOC4wMjgtLjA0Ny0uMDA4LS4wMjQtLjAyOC0uMDM2LS4wNTEtLjAyOC0uMDk4LjAyOC0uMi4wNTEtLjMwNS4wNjNhLjA0My4wNDMgMCAwMC0uMDMxLjA0N3ptLS42MzMuMDA3Yy0uMDA0LjAyLjAxNi4wNC4wMzUuMDQzLjA4Ni4wMDguMTcyLjAxMi4yNTguMDEyaC4wNjNjLjAyMyAwIC4wNDMtLjAyLjAzOS0uMDQzYS4wNC4wNCAwIDAwLS4wNC0uMDM5IDIuMDkgMi4wOSAwIDAxLS4zMTItLjAxMmMtLjAyIDAtLjAzOS4wMTYtLjA0My4wNHptMS45MTgtLjU3NGMuMDA4LjAwOC4wMi4wMTYuMDMxLjAxNi4wMDggMCAuMDItLjAwNC4wMjgtLjAxMmE0LjExIDQuMTEgMCAwMC4yMy0uMjIzLjA0Ny4wNDcgMCAwMC0uMDA0LS4wNThjLS4wMTUtLjAxNi0uMDQzLS4wMTItLjA1NC4wMDQtLjA3LjA3OC0uMTQ1LjE0OC0uMjI3LjIxOS0uMDE2LjAxMS0uMDE2LjAzOS0uMDA0LjA1NHptLjM5LTMuNDM3Yy4wMDkuMDExLjAyNC4wMi4wMzYuMDIuMDA4IDAgLjAxNi0uMDA1LjAyMy0uMDA5YS4wNDcuMDQ3IDAgMDAuMDA4LS4wNTggMi40NjYgMi40NjYgMCAwMC0uMjA3LS4yNDYuMDM4LjAzOCAwIDAwLS4wNTUgMCAuMDQyLjA0MiAwIDAwLS4wMDMuMDU0Yy4wNzQuMDc1LjE0LjE1Ny4xOTkuMjM5em0uMTk2IDIuNjU2Yy0uMDUuMDktLjEwNS4xOC0uMTY0LjI2NmEuMDQuMDQgMCAwMC4wMTIuMDU0Yy4wMDguMDA0LjAxNS4wMDguMDIzLjAwOC4wMTIgMCAuMDI0LS4wMDguMDMxLS4wMi4wNjMtLjA4NS4xMTgtLjE4LjE2OC0uMjczLjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU1LS4wMi0uMDA3LS4wNDcgMC0uMDU1LjAyem0tOC45ODQuNDNjLjAwNC4wMDQuMDA4LjAwNC4wMTUuMDA0LjAxNiAwIC4wMzItLjAwOC4wMzYtLjAyNC4wMzktLjA5NC4wODItLjE4LjEyOC0uMjY2LjAxNi0uMDI3LjAzNi0uMDU0LjA0Ny0uMDg1LjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU1LS4wMi0uMDA4LS4wNDMgMC0uMDUxLjAybC0uMDM1LjA1OGMtLjAwNC4wMDQtLjAwNC4wMDQtLjAwNC4wMDhsLS4wMTIuMDE1YTEuNzcgMS43NyAwIDAxLS4xMTcuMTguMDQuMDQgMCAwMC4wMDQuMDVsLS4wMi4wNDRjLS4wMDguMDIuMDA0LjA0My4wMjQuMDV6bS4yODkgMi40MTRhLjA0LjA0IDAgMDAuMDEyLS4wNTUgMS41MSAxLjUxIDAgMDEtLjEwNi0uMTY4Ljg0Ljg0IDAgMDEtLjA1NS0uMTAyYy0uMDExLS4wMi0uMDM1LS4wMjctLjA1NC0uMDE1LS4wMi4wMDgtLjAyOC4wMzEtLjAxNi4wNWEuODk1Ljg5NSAwIDAwLjA1NS4xMDZjLjAzNS4wNTkuMDcuMTE3LjExLjE3Mi4wMDcuMDEyLjAxOS4wMi4wMy4wMi4wMDggMCAuMDE2LS4wMDQuMDI0LS4wMDh6bS0uNDUtMS44MDFoLjAwOGMuMDIgMCAuMDM2LS4wMTYuMDQtLjAzNS4wMTUtLjEwMi4wMzUtLjIwMy4wNjItLjMwNS4wMDgtLjAyLS4wMDQtLjA0My0uMDI3LS4wNS0uMDItLjAwNS0uMDQzLjAwNy0uMDQ3LjAzLS4wMzEuMTAyLS4wNTEuMjA4LS4wNjcuMzEzYS4wNC4wNCAwIDAwLjAzMi4wNDd6bS42NTMgMS45ODhhLjA0Ny4wNDcgMCAwMC0uMDU5LS4wMDQuMDQ3LjA0NyAwIDAwLS4wMDQuMDU5Yy4wNy4wNzguMTQ5LjE1Ni4yMy4yMjYuMDA5LjAwOC4wMTcuMDA4LjAyNC4wMDhhLjA0NC4wNDQgMCAwMC4wMzItLjAxMWMuMDE1LS4wMTYuMDExLS4wNDMtLjAwNC0uMDU1YTIuMzUgMi4zNSAwIDAxLS4yMi0uMjIzem0tLjcxMS0xLjcxNXYuMDU1YzAgLjA5LjAwNC4xOC4wMTIuMjY2LjAwNC4wMi4wMi4wMzUuMDM5LjAzNWguMDA0Yy4wMjMgMCAuMDM5LS4wMi4wMzUtLjA0M2EyLjg0NiAyLjg0NiAwIDAxLS4wMTItLjI1OHYtLjA1NWEuMDQuMDQgMCAwMC0uMDM5LS4wMzljLS4wMjMgMC0uMDM5LjAxNi0uMDM5LjA0em0zLjY2OC0yLjIwN2MuMDE2IDAgLjAzMS0uMDA4LjAzNS0uMDIzLjAxMi0uMDIuMDA0LS4wNDMtLjAyLS4wNTVhMy4zNTIgMy4zNTIgMCAwMC0uMjk2LS4xMTdjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNTEuMDI3YS4wMzUuMDM1IDAgMDAuMDI3LjA0N2MuMDk4LjAzNS4xOTYuMDc0LjI5LjExNy4wMDMuMDA0LjAxMS4wMDQuMDE1LjAwNHptLjM1NSA0LjM2YS4wNC4wNCAwIDAwLS4wNTQtLjAxMmwtLjEzMy4wODJjLS4wOS4wNS0uMTg0LjA5OC0uMjgxLjE0LS4wMi4wMDgtLjAyOC4wMzItLjAyLjA1MS4wMDguMDE2LjAyLjAyNC4wMzUuMDI0LjAwOCAwIC4wMTIgMCAuMDE2LS4wMDQuMDk4LS4wNC4xOTUtLjA5LjI4OS0uMTQuMDQ3LS4wMjguMDk0LS4wNi4xMzctLjA4N2EuMDQuMDQgMCAwMC4wMTEtLjA1NHptLTIuNzU3LTQuMjI3YS4wNDIuMDQyIDAgMDAuMDExLS4wNTVjLS4wMTEtLjAyLS4wMzUtLjAyNy0uMDU0LS4wMTUtLjA5NC4wNTgtLjE4LjEyLS4yNjIuMTg3LS4wMi4wMTItLjAyLjA0LS4wMDguMDU1LjAwOC4wMTIuMDIuMDE2LjAzMS4wMTYuMDA4IDAgLjAyLS4wMDQuMDI0LS4wMDhhMi4zNCAyLjM0IDAgMDEuMjU4LS4xOHptLTEuMTcyIDIuNjY0Yy0uMDIuMDA0LS4wMzUuMDI4LS4wMjguMDQ3LjAyNC4xMDYuMDU1LjIxMS4wOS4zMDkuMDA4LjAxNS4wMjQuMDI3LjA0LjAyNy4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0LjAyMy0uMDA4LjAzMS0uMDMxLjAyMy0uMDVhMi41ODIgMi41ODIgMCAwMS0uMDg1LS4yOThjLS4wMDgtLjAyMy0uMDI4LS4wMzUtLjA1MS0uMDN6bTEuNzYxLTIuOTc2Yy0uMDA3LS4wMi0uMDMtLjAzMi0uMDUtLjAyNC0uMTAyLjAzMS0uMjAzLjA3LS4zMDEuMTEzLS4wMi4wMTItLjAyNy4wMzYtLjAyLjA1NWEuMDQzLjA0MyAwIDAwLjA0LjAyNGMuMDAzIDAgLjAwNyAwIC4wMTUtLjAwNC4wOTQtLjA0My4xOTEtLjA4Mi4yOS0uMTE0LjAyMy0uMDA0LjAzLS4wMjcuMDI2LS4wNXptLjczIDUuMDIzaC4wNjNhLjA0LjA0IDAgMDAwLS4wNzhIMTYuMDU1Yy0uMDc1IDAtLjE0NS0uMDA0LS4yMi0uMDEyLS4wMTktLjAwNC0uMDM0LjAwOC0uMDQyLjAyOC0uMDE2IDAtLjAyNy4wMDMtLjA0My4wMDMtLjAyMy4wMDQtLjA0LjAyNC0uMDM1LjA0Ny4wMDQuMDIuMDIuMDM1LjAzOS4wMzVoLjAwNGMuMDk3LS4wMTUuMTk1LS4wMTkuMjkzLS4wMjNoLjAzNXptLS4xMDgtNS4xMjVhLjA0LjA0IDAgMDAtLjA0LS4wMzkgMi44NyAyLjg3IDAgMDAtLjMyLjA0Yy0uMDIzLjAwMy0uMDM1LjAyMy0uMDMxLjA0Ni4wMDQuMDIuMDIuMDMxLjAzOS4wMzFoLjAwNGMuMTA1LS4wMi4yMDctLjAzMS4zMTItLjAzNS4wMi0uMDA0LjA0LS4wMjMuMDM2LS4wNDN6bS41OS4wODZjLjAxOSAwIC4wMzUtLjAxNi4wMzgtLjAzNS4wMDgtLjAyLS4wMDctLjA0My0uMDMtLjA0N2EyLjkxNSAyLjkxNSAwIDAwLS4zMTctLjA0LjAzNy4wMzcgMCAwMC0uMDQzLjAzNmMwIC4wMjQuMDE1LjA0My4wMzUuMDQzYTIuNjY0IDIuNjY0IDAgMDEuMzE2LjA0M3ptMi4wMTUgMS43OTNjLS4wMDgtLjAyLS4wMjctLjAzNS0uMDUtLjAyNy0uMDIuMDA0LS4wMzIuMDI3LS4wMjguMDQ2LjAyNy4xMDIuMDQ3LjIwNC4wNjIuMzEgMCAuMDE5LjAyLjAzLjA0LjAzaC4wMDNjLjAyNCAwIC4wNC0uMDIzLjAzNi0uMDQzYTMuMDE4IDMuMDE4IDAgMDAtLjA2My0uMzE2em0uMDg2LjYzN2EuMDQuMDQgMCAwMC0uMDQtLjA0Yy0uMDIzIDAtLjA0Mi4wMTYtLjA0Mi4wNHYuMDIzYzAgLjA5OC0uMDA0LjE5Mi0uMDE2LjI5IDAgLjAxOS4wMTYuMDM4LjAzNS4wNDJoLjAwNGMuMDIgMCAuMDQtLjAxNS4wNC0uMDM1LjAxMS0uMDk4LjAxOS0uMi4wMTktLjI5N3ptLTQuMDQ3IDIuMTFjLS4wMTIuMDE5LS4wMDguMDQyLjAxMi4wNTQuMDg2LjA2Mi4xOC4xMTcuMjc3LjE2NC4wMDQuMDA0LjAxMi4wMDQuMDE2LjAwNGEuMDQxLjA0MSAwIDAwLjAzNS0uMDJjLjAxMi0uMDIuMDA0LS4wNDctLjAxNi0uMDU1YTIuMzMyIDIuMzMyIDAgMDEtLjI3LS4xNmMtLjAxOS0uMDExLS4wNDItLjAwNy0uMDU0LjAxMnptMy45NDEtMS41MmMtLjAxOS0uMDA4LS4wMzkuMDA3LS4wNDYuMDI3YTIuMzgxIDIuMzgxIDAgMDEtLjA5LjI5N2MtLjAwOC4wMjMgMCAuMDQ3LjAyMy4wNTRoLjAxMmEuMDQzLjA0MyAwIDAwLjAzOS0uMDIzIDIuODEgMi44MSAwIDAwLjA5NC0uMzA5Yy4wMDQtLjAyLS4wMDgtLjA0My0uMDMyLS4wNDZ6bS0uODUxIDEuMzljLjAwOC4wMTIuMDIuMDE2LjAzMS4wMTYuMDA4IDAgLjAyLS4wMDQuMDI4LS4wMTIuMDc4LS4wNjYuMTU2LS4xNDQuMjMtLjIyMy4wMTItLjAxNS4wMTItLjA0My0uMDA0LS4wNTRhLjA0Mi4wNDIgMCAwMC0uMDU4IDAgMS45NjMgMS45NjMgMCAwMS0uMjIzLjIxOC4wNDIuMDQyIDAgMDAtLjAwNC4wNTV6bS0uMjg1LTQuMDdjLjA4Ni4wNTUuMTcyLjExNy4yNS4xODMuMDA4LjAwOC4wMTUuMDA4LjAyNy4wMDhhLjA0NC4wNDQgMCAwMC4wMzEtLjAxMWMuMDEyLS4wMi4wMTItLjA0My0uMDA3LS4wNmEzLjEwNiAzLjEwNiAwIDAwLS4yNTgtLjE4N2MtLjAyLS4wMTEtLjA0Ny0uMDA3LS4wNTkuMDEyLS4wMTIuMDItLjAwNC4wNDMuMDE2LjA1NXptLTMuMjAzLjMybC0uMTE4LjEzYy4wMzItLjA4LjA1NS0uMTYxLjA3NS0uMjQzYS4wMzUuMDM1IDAgMDAtLjAyOC0uMDQ3Yy0uMDItLjAwNC0uMDQzLjAwOC0uMDQ3LjAyN2EyLjQwMSAyLjQwMSAwIDAxLS4wOTcuMjk3LjA0LjA0IDAgMDAuMDIzLjA1MWMwIC4wMDQuMDA0LjAwNC4wMDQuMDA0YS4xMTkuMTE5IDAgMDAtLjAyLjAyN2MtLjAxNS4wMi0uMDExLjA0My4wMDguMDU1LjAwNC4wMDguMDE2LjAwOC4wMjQuMDA4YS4wMzYuMDM2IDAgMDAuMDMxLS4wMTZjLjA2My0uMDgyLjEyOS0uMTYuMjAzLS4yMzQuMDE2LS4wMTYuMDEyLS4wNDMtLjAwNC0uMDU5YS4wMzguMDM4IDAgMDAtLjA1NCAwem0uOTU3IDQuMTc2Yy0uMDA4LjAyLjAwNC4wNDMuMDIzLjA1LjEwMi4wMzYuMjAzLjA2Ny4zMDkuMDloLjAwOGMuMDIgMCAuMDM1LS4wMTEuMDM5LS4wMy4wMDQtLjAyLS4wMDgtLjA0NC0uMDMyLS4wNDhhMi44MyAyLjgzIDAgMDEtLjI5Ny0uMDg1LjAzOC4wMzggMCAwMC0uMDUuMDIzem0zLjE3Mi0xLjIyM2MtLjAyLS4wMTEtLjA0Ny0uMDA0LS4wNTUuMDE2LS4wNS4wOS0uMTA2LjE4LS4xNjQuMjY2LS4wMTIuMDItLjAwOC4wNDMuMDEyLjA1NC4wMDMuMDA4LjAxMS4wMDguMDIzLjAwOGEuMDM2LjAzNiAwIDAwLjAzMS0uMDE2Yy4wNjMtLjA5LjExNy0uMTguMTY4LS4yNzMuMDA4LS4wMi4wMDQtLjA0Ny0uMDE1LS4wNTV6bS0uMjUtMi42MzZhLjA1LjA1IDAgMDAuMDM1LjAxNWMuMDA4IDAgLjAxNS0uMDA0LjAyMy0uMDA4YS4wNDIuMDQyIDAgMDAuMDA4LS4wNTRsLS4wNzgtLjEwMmMuMDA0IDAgLjAwOC4wMDQuMDEyLjAwNC4wMDMgMCAuMDA3LS4wMDQuMDE1LS4wMDQuMDItLjAwOC4wMjgtLjAzMS4wMjQtLjA1LS4wNC0uMDk4LS4wNjctLjItLjA5LS4zMDFhLjA0NS4wNDUgMCAwMC0uMDUxLS4wMjhjLS4wMi4wMDQtLjAzNS4wMjgtLjAyNy4wNDcuMDIzLjEwMi4wNS4yLjA4Ni4yOTdhMS4zNTQgMS4zNTQgMCAwMC0uMDk4LS4xMTMuMDM4LjAzOCAwIDAwLS4wNTUgMGMtLjAxNS4wMTUtLjAyLjAzOS0uMDA0LjA1NC4wNy4wNzkuMTQxLjE1Ny4yLjI0M3ptLS4xNTMgOS4yODVhLjA0NS4wNDUgMCAwMC4wNC0uMDQzYy0uMDA1LS4wNDMtLjAwNS0uMDktLjAwNS0uMTMzIDAtLjA1OS4wMDQtLjEyMS4wMDgtLjE4IDAtLjAyLS4wMTUtLjAzOS0uMDM5LS4wNDMtLjAyIDAtLjAzOS4wMTYtLjA0My4wNC0uMDA0LjA1OC0uMDA0LjEyLS4wMDQuMTgzIDAgLjA0NyAwIC4wOS4wMDQuMTM3IDAgLjAyLjAxNi4wMzkuMDQuMDM5em0xLjk0Mi0yLjY0NWEuMDQ2LjA0NiAwIDAwLS4wNTEtLjAzMSAyLjc4NiAyLjc4NiAwIDAwLS4zMDUuMTAyYy0uMDIuMDA3LS4wMzEuMDMtLjAyMy4wNS4wMDguMDE2LjAyMy4wMjguMDM5LjAyOC4wMDQgMCAuMDA4LS4wMDQuMDEyLS4wMDQuMDk3LS4wNC4xOTktLjA3LjI5Ni0uMDk4LjAyNC0uMDA0LjAzNi0uMDI3LjAzMi0uMDQ3em0uNjI1LS4wNzRhLjA0LjA0IDAgMDAtLjA0LS4wNCAyLjIxIDIuMjEgMCAwMC0uMzIuMDI0Yy0uMDIzIDAtLjAzOS4wMjQtLjAzNS4wNDMuMDA0LjAyLjAyLjAzNS4wNC4wMzVoLjAwM2MuMTA2LS4wMTUuMjExLS4wMi4zMTMtLjAyMy4wMjMgMCAuMDM5LS4wMTYuMDM5LS4wMzl6bS0uNTU1IDQuOTkyYTIuMDE1IDIuMDE1IDAgMDEtLjMtLjA4MmMtLjAyLS4wMDgtLjA0NC4wMDQtLjA1Mi4wMjQtLjAwNy4wMi4wMDQuMDQzLjAyOC4wNS4wOTcuMDM1LjIwMy4wNjcuMzA4LjA4NiAwIC4wMDQuMDA0LjAwNC4wMDguMDA0LjAyIDAgLjAzNS0uMDE1LjA0LS4wMzEuMDAzLS4wMjMtLjAwOS0uMDQzLS4wMzItLjA1em0tLjU4Ni0uMjAzYTEuNTI0IDEuNTI0IDAgMDEtLjEzNy0uMDc0Yy0uMDktLjA1MS0uMTgtLjExLS4yNjEtLjE3Mi0uMDE2LS4wMTYtLjA0My0uMDEyLS4wNTUuMDA4LS4wMTIuMDE1LS4wMTIuMDQzLjAwOC4wNTRhMi40ODYgMi40ODYgMCAwMC40MS4yNTRjLjAwNC4wMDQuMDEyLjAwNC4wMTUuMDA0YS4wNDMuMDQzIDAgMDAuMDQtLjAyM2MuMDA3LS4wMiAwLS4wNDMtLjAyLS4wNTF6bS0uNjUyLTQuMTMzYy0uMDc1LjA3LS4xNDUuMTQ1LS4yMTEuMjIzYS44MDYuODA2IDAgMDAuMDQ3LS4xMzdjLjAwNy0uMDIzLS4wMDQtLjA0My0uMDI4LS4wNWEuMDM1LjAzNSAwIDAwLS4wNDcuMDI3IDIuOTcxIDIuOTcxIDAgMDEtLjEwOS4yOTNjLS4wMDguMDIgMCAuMDQzLjAyLjA1YS4wMy4wMyAwIDAwLjAxNS4wMDQuMDQzLjA0MyAwIDAwLjA0LS4wMjNsLjA0Ni0uMTE3YzAgLjAwOC4wMDguMDE1LjAxMi4wMjMuMDA4LjAwNC4wMi4wMDguMDI3LjAwOGEuMDM2LjAzNiAwIDAwLjAzMS0uMDE2Yy4wNjctLjA3OC4xMzctLjE1Ni4yMTEtLjIyNi4wMi0uMDE2LjAyLS4wNC4wMDQtLjA1NS0uMDE1LS4wMTUtLjAzOS0uMDItLjA1OC0uMDA0em0tLjUxNiAyLjkyMmMtLjAwOC0uMDItLjAzMS0uMDI3LS4wNS0uMDJhLjAzOS4wMzkgMCAwMC0uMDIuMDU1Yy4wNDMuMDk0LjA5My4xOTIuMTQ4LjI4Mi4wMDguMDExLjAyLjAxOS4wMzUuMDE5LjAwOCAwIC4wMTIgMCAuMDItLjAwNGEuMDQuMDQgMCAwMC4wMTItLjA1NSAzLjczNSAzLjczNSAwIDAxLS4xNDUtLjI3N3ptLS4xODQtLjU5NGMtLjAwMy0uMDIzLS4wMjMtLjAzNS0uMDQ2LS4wM2EuMDQuMDQgMCAwMC0uMDMyLjA0NmMuMDIuMTA1LjA0My4yMDcuMDc1LjMxMi4wMDcuMDE2LjAyMy4wMjguMDM5LjAyOC4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0YS4wMzUuMDM1IDAgMDAuMDI4LS4wNDcgMi44ODEgMi44ODEgMCAwMS0uMDc1LS4zMDV6bS4zNDgtMS44NDdhLjA0NC4wNDQgMCAwMC0uMDU4LjAxNWMtLjAyLjAzMi0uMDQuMDY3LS4wNjMuMTAybC0uMDEyLjAyN2MtLjAwNCAwLS4wMDQuMDA0LS4wMDguMDA0LS4wNS4wOS0uMTA5LjE3Ni0uMTc1LjI1OGEuMDQ3LjA0NyAwIDAwLjAwOC4wNTkuMDU2LjA1NiAwIDAwLjAyMy4wMDdjLjAxMiAwIC4wMjMtLjAwNy4wMzEtLjAxNS4wMjgtLjAzNS4wNTUtLjA3LjA3OC0uMTA2LjAxNiAwIC4wMjgtLjAwOC4wMzUtLjAyMy4wMjgtLjA1OS4wNi0uMTEzLjA5LS4xNzJhLjgzMi44MzIgMCAwMS4wNjMtLjA5OGMuMDEyLS4wMi4wMDQtLjA0My0uMDEyLS4wNTh6bS4xNiAyLjk3MmMtLjAxMS0uMDItLjAzOS0uMDItLjA1NC0uMDA3LS4wMi4wMTUtLjAyLjAzOS0uMDA4LjA1OC4wNjYuMDgyLjE0LjE2LjIxOC4yMzguMDA4LjAwNC4wMTYuMDA4LjAyOC4wMDguMDA4IDAgLjAyLS4wMDQuMDI3LS4wMTJhLjAzOC4wMzggMCAwMDAtLjA1NCAyLjk1IDIuOTUgMCAwMS0uMjEtLjIzem0tLjQ0NS0yLjQwNmEuMDM1LjAzNSAwIDAwLS4wNDcuMDI3IDIuNzc1IDIuNzc1IDAgMDAtLjA4Ni4zMDkuMDQuMDQgMCAwMC4wMzEuMDQ3aC4wMDhjLjAyIDAgLjAzNS0uMDEyLjA0LS4wMzEuMDIzLS4xMDIuMDUtLjIwMy4wODEtLjMwMS4wMDgtLjAyLS4wMDQtLjA0My0uMDI3LS4wNXptNC41MzEtLjUxNmMuMDA4IDAgLjAxNiAwIC4wMjQtLjAwMy4wMTUtLjAxMi4wMjMtLjA0LjAxMS0uMDU1YTIuNDgzIDIuNDgzIDAgMDAtLjE5NS0uMjU4Yy0uMDEyLS4wMTYtLjAzOS0uMDItLjA1NS0uMDA0LS4wMTUuMDEyLS4wMi4wNC0uMDA0LjA1NS4wNjcuMDc4LjEzLjE2NC4xODQuMjUuMDA4LjAxMi4wMjMuMDE1LjAzNS4wMTV6bS0uNDEtLjQ4YS4wNDQuMDQ0IDAgMDAuMDMxLS4wMTJjLjAxNi0uMDE1LjAxMi0uMDQzLS4wMDQtLjA1NGEyLjQ3IDIuNDcgMCAwMC0uMjUtLjIwNGMtLjAyLS4wMTEtLjA0My0uMDA3LS4wNTQuMDA4YS4wNDcuMDQ3IDAgMDAuMDA4LjA1OWMuMDg1LjA1OC4xNjcuMTI1LjI0Mi4xOTUuMDA4LjAwNC4wMi4wMDguMDI3LjAwOHptLjA1IDMuNjEzYTIuMzM4IDIuMzM4IDAgMDEtLjIzNC4yMDdjLS4wMi4wMTItLjAyMy4wNC0uMDA3LjA1NS4wMDcuMDEyLjAyLjAxNi4wMy4wMTZhLjA1Ni4wNTYgMCAwMC4wMjQtLjAwOGMuMDg2LS4wNjcuMTY4LS4xMzcuMjQyLS4yMTFhLjA0Mi4wNDIgMCAwMDAtLjA1OS4wMzguMDM4IDAgMDAtLjA1NCAwem0uNzc4LTEuNzFjLS4wMjMgMC0uMDQzLjAxOS0uMDQzLjAzOGEyLjgyMiAyLjgyMiAwIDAxLS4wMzEuMzEzYy0uMDA0LjAyLjAxMi4wMzkuMDMxLjA0M0gyM2MuMDIgMCAuMDM1LS4wMTIuMDQtLjAzMS4wMTUtLjEwNi4wMjYtLjIxNS4wMy0uMzIuMDA0LS4wMjQtLjAxNS0uMDQtLjAzNS0uMDQ0em0tLjA5OC42MjRjLS4wMTktLjAwNC0uMDQyLjAwOC0uMDQ2LjAyOGEyLjM4IDIuMzggMCAwMS0uMTEuMjkzYy0uMDA4LjAyIDAgLjA0My4wMi4wNWEuMDMuMDMgMCAwMC4wMTUuMDA0LjA0My4wNDMgMCAwMC4wNC0uMDIzYy4wNDItLjA5OC4wNzgtLjIuMTA5LS4zLjAwOC0uMDItLjAwNC0uMDQ0LS4wMjctLjA1MnptLS4yNDIuNTgyYS4wNDQuMDQ0IDAgMDAtLjA1OC4wMTZjLS4wNTEuMDktLjExLjE3Ni0uMTc2LjI1OC0uMDEyLjAxNS0uMDA4LjAzOS4wMDguMDU1YS4wNTYuMDU2IDAgMDAuMDIzLjAwN2MuMDE2IDAgLjAyOC0uMDA0LjAzNS0uMDE1LjA2My0uMDgyLjEyNS0uMTcyLjE4LS4yNjZhLjA0Mi4wNDIgMCAwMC0uMDEyLS4wNTV6bS4yLTIuMDU4Yy4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0LjAyNC0uMDA4LjAzNS0uMDMxLjAyOC0uMDVhMi44MSAyLjgxIDAgMDAtLjEyNS0uMjk4Yy0uMDA4LS4wMi0uMDMyLS4wMjctLjA1MS0uMDItLjAyNC4wMTItLjAzMS4wMzYtLjAyLjA1NS4wNDcuMDk0LjA4Ni4xOTIuMTE3LjI5LjAwOC4wMTUuMDI0LjAyNy4wNC4wMjd6bS4wOS41ODJjLjAwMy4wMi4wMTkuMDM1LjAzOC4wMzVoLjAwNGEuMDQ1LjA0NSAwIDAwLjA0LS4wNDMgNC41MiA0LjUyIDAgMDAtLjA0Ny0uMzJjLS4wMDgtLjAyLS4wMjgtLjAzNS0uMDQ3LS4wMjgtLjAyNC4wMDQtLjAzNS4wMjQtLjAzMi4wNDcuMDIuMTAyLjAzNi4yMDMuMDQzLjMwOXptLTEuNzkgMi42MWMtLjEwMS4wMjctLjIwMy4wNS0uMzA0LjA3LS4wMjQgMC0uMDM2LjAyMy0uMDM2LjA0Mi4wMDQuMDIuMDI0LjAzNi4wNDMuMDM2aC4wMDRjLjEwNi0uMDIuMjExLS4wNDMuMzEzLS4wNzVhLjAzNS4wMzUgMCAwMC4wMjctLjA0Ni4wMzUuMDM1IDAgMDAtLjA0Ny0uMDI4em0tMS45NTMtNC42NjljLS4wOTQuMDUxLS4xODMuMTEtLjI3LjE3Mi0uMDE5LjAxMi0uMDIzLjA0LS4wMDcuMDU1LjAwOC4wMTIuMDIuMDE1LjAzMS4wMTUuMDA4IDAgLjAxNiAwIC4wMjQtLjAwMy4wODItLjA2My4xNzEtLjExOC4yNjEtLjE2OC4wMi0uMDEyLjAyOC0uMDM2LjAxNi0uMDU1LS4wMDgtLjAyLS4wMzUtLjAyNy0uMDU1LS4wMTZ6bTEuODYtLjE2NGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMzFhLjAzNi4wMzYgMCAwMC0uMDI4LS4wNDcgMi4yNSAyLjI1IDAgMDAtLjMxNi0uMDU5Yy0uMDI0LS4wMDMtLjA0My4wMTItLjA0My4wMzYtLjAwNC4wMi4wMTIuMDM5LjAzNS4wNDNhMi43NzEgMi43NzEgMCAwMS4zMTMuMDU4em0tLjUyIDQuOTNjLS4xMDUuMDA0LS4yMS4wMDQtLjMxMi0uMDA4LS4wMjQgMC0uMDQzLjAxNi0uMDQzLjA0LS4wMDQuMDE5LjAxNS4wMzguMDM1LjA0Mi4wNzQuMDA0LjE1Mi4wMDguMjI2LjAwOGguMDk0Yy4wMjMgMCAuMDQtLjAyLjA0LS4wNDMgMC0uMDItLjAyLS4wNC0uMDQtLjA0em0xLjExLTQuNzAzYS4wNDEuMDQxIDAgMDAuMDM1LS4wMmMuMDExLS4wMi4wMDMtLjA0Ny0uMDE2LS4wNTVhMi41MDUgMi41MDUgMCAwMC0uMjkzLS4xMzZjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNS4wMjMtLjAwOS4wMi4wMDMuMDQzLjAyMy4wNTEuMDk3LjA0LjE5MS4wODIuMjguMTMzYS4wNDIuMDQyIDAgMDAuMDIuMDA0em0uMDc0IDQuMzZjLS4wOS4wNS0uMTg0LjA5Ny0uMjc4LjE0LS4wMjMuMDA4LS4wMzEuMDMxLS4wMjMuMDVhLjA0My4wNDMgMCAwMC4wMzkuMDI0Yy4wMDQgMCAuMDA4IDAgLjAxNi0uMDA0LjA5Ny0uMDM5LjE5NS0uMDkuMjg1LS4xNDUuMDItLjAxMS4wMjctLjAzNS4wMTUtLjA1NC0uMDExLS4wMi0uMDM1LS4wMjQtLjA1NC0uMDEyem0tNi4yMTEtMi4yNTVhMi42MyAyLjYzIDAgMDEtLjMwMS0uMDgyLjAzOC4wMzggMCAwMC0uMDUuMDI0Yy0uMDA5LjAyLjAwMy4wNDMuMDIzLjA1LjEwMS4wMzYuMjA3LjA2My4zMTIuMDg2aC4wMDhjLjAyIDAgLjAzNS0uMDExLjAzOS0uMDNhLjA0My4wNDMgMCAwMC0uMDMxLS4wNDh6bS0xLjkzLTIuOTM3Yy4wMjMtLjEwMi4wNDctLjIwMy4wODItLjMwMS4wMDgtLjAyNC0uMDA0LS4wNDMtLjAyNy0uMDUtLjAyLS4wMDktLjA0My4wMDMtLjA1MS4wMjNhNC4wNzIgNC4wNzIgMCAwMC0uMDgyLjMxMi4wNDMuMDQzIDAgMDAuMDMxLjA0N2guMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMXptLjAyNyAxLjI4aC4wMTJjLjAyNC0uMDA3LjAzNS0uMDI2LjAyNy0uMDVhMi42IDIuNiAwIDAxLS4wNzQtLjNjLS4wMDQtLjAyNC0uMDIzLS4wNC0uMDQ3LS4wMzZhLjA0My4wNDMgMCAwMC0uMDMuMDQ3Yy4wMTkuMTA2LjA0Mi4yMTEuMDczLjMxM2EuMDQuMDQgMCAwMC4wNC4wMjd6bTIuNTIgMS43MTJjLS4xMDIuMDA0LS4yMDcgMC0uMzA5LS4wMDgtLjAyMyAwLS4wNDMuMDE2LS4wNDMuMDM1LS4wMDQuMDI0LjAxMi4wNDMuMDM1LjA0My4wNzUuMDA4LjE0OS4wMTIuMjI3LjAxMmguMDk0Yy4wMjMtLjAwNC4wMzktLjAyLjAzOS0uMDQzIDAtLjAyMy0uMDItLjA0LS4wNDMtLjA0em0tMi4wNDctLjkzOGMtLjAxMi0uMDItLjA0LS4wMjMtLjA1NS0uMDA3LS4wMDQgMC0uMDA0LjAwMy0uMDA0LjAwMy0uMDA0LS4wMTEtLjAwNy0uMDIzLS4wMTUtLjAzNS0uMDA4LS4wMi0uMDMxLS4wMy0uMDUxLS4wMi0uMDIuMDA5LS4wMzEuMDMyLS4wMi4wNTIuMDQuMDkzLjA3NS4xOTUuMTAyLjI5My4wMDguMDIuMDIzLjAzLjA0LjAzbC4wMS0uMDAzYy4wMi0uMDA0LjAzNi0uMDI3LjAyOC0uMDQ3LS4wMTUtLjA1NS0uMDM1LS4xMS0uMDU1LS4xNjQuMDU1LjA2Mi4xMTQuMTI1LjE3Mi4xODQuMDA4LjAwNy4wMi4wMTEuMDMyLjAxMS4wMDcgMCAuMDItLjAwNC4wMjctLjAxMWEuMDM4LjAzOCAwIDAwMC0uMDU1IDMuODc1IDMuODc1IDAgMDEtLjIxMS0uMjN6bTEuMzU1LTQuMDM5Yy0uMDAzLS4wMi0uMDI3LS4wMy0uMDQ2LS4wMjdhMi41MzMgMi41MzMgMCAwMC0uMzA1LjEwMmMtLjAyLjAwNy0uMDMxLjAzLS4wMjQuMDUuMDA4LjAxNi4wMi4wMjQuMDQuMDI0aC4wMTFjLjA5OC0uMDQuMTk2LS4wNy4yOTctLjA5OC4wMjQtLjAwOC4wMzUtLjAyNy4wMjctLjA1em0tMS45MzMgMi4yNWMtLjAyLS4wMDQtLjA0LjAxNi0uMDQzLjAzNS0uMDA0LjA2My0uMDA0LjEyNS0uMDA0LjE4OHYuMTM3Yy4wMDQuMDIuMDIuMDM1LjA0My4wMzVhLjA0LjA0IDAgMDAuMDM5LS4wNGMtLjAwNC0uMDQ2LS4wMDQtLjA5LS4wMDQtLjEzMiAwLS4wNTkuMDA0LS4xMjEuMDA4LS4xOCAwLS4wMjMtLjAxNi0uMDQzLS4wNC0uMDQzem0xLjQyMiAyLjQ2NWMtLjA0Ny0uMDItLjA5NC0uMDQ3LS4xMzctLjA3YTQuMzI4IDQuMzI4IDAgMDEtLjI2Mi0uMTcyYy0uMDE1LS4wMTYtLjA0My0uMDEyLS4wNTQuMDA4LS4wMTYuMDE1LS4wMTIuMDM5LjAwNy4wNTRhMi44MzcgMi44MzcgMCAwMC40MS4yNTRjLjAwNSAwIC4wMTIuMDA0LjAxNi4wMDQuMDE2IDAgLjAzMS0uMDA4LjAzNS0uMDIzLjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU1em0tLjY1My00LjEyOWEyLjQ2OCAyLjQ2OCAwIDAwLS4yMTguMjM1Yy0uMDE2LjAxNS0uMDEyLjA0My4wMDQuMDU0YS4wMzUuMDM1IDAgMDAuMDI3LjAxMmMuMDEyIDAgLjAyMy0uMDA4LjAzMS0uMDE2LjA2Ny0uMDc4LjEzNy0uMTU2LjIxMS0uMjI2LjAxNi0uMDE2LjAyLS4wNC4wMDQtLjA1OWEuMDQyLjA0MiAwIDAwLS4wNTkgMHptLjUyLS4zNzVjLS4wOTQuMDUxLS4xODQuMTEtLjI3LjE3Mi0uMDIuMDEyLS4wMjMuMDM1LS4wMDcuMDU1LjAwNy4wMTIuMDIuMDE1LjAzLjAxNS4wMDkgMCAuMDE2IDAgLjAyNC0uMDA3LjA4Mi0uMDU5LjE3Mi0uMTE4LjI2Mi0uMTY0LjAyLS4wMTIuMDI3LS4wMzYuMDE2LS4wNTUtLjAwOC0uMDItLjAzNi0uMDI3LS4wNTUtLjAxNnptMy43NDIgMi4wNTVjLjAwNC4wMjMuMDIuMDM5LjA0LjAzOWguMDAzYS4wNDUuMDQ1IDAgMDAuMDQtLjA0MyA0LjIxMiA0LjIxMiAwIDAwLS4wNDgtLjMyYy0uMDA4LS4wMi0uMDI3LS4wMzUtLjA1LS4wMzItLjAyLjAwNC0uMDM2LjAyOC0uMDI4LjA0Ny4wMi4xMDIuMDM1LjIwNy4wNDMuMzA5em0tLjU4Mi0xLjQ3M2MtLjAyLjAxNi0uMDIuMDQtLjAwNC4wNTkuMDY3LjA3OC4xMy4xNi4xODQuMjUuMDA4LjAxMi4wMjMuMDE1LjAzNS4wMTUuMDA4IDAgLjAxNiAwIC4wMi0uMDAzLjAxOS0uMDE2LjAyNy0uMDQuMDExLS4wNTlhMi4wNTYgMi4wNTYgMCAwMC0uMTkxLS4yNTQuMDM5LjAzOSAwIDAwLS4wNTUtLjAwOHptLTQuMDM1LjI3NGEuMDQuMDQgMCAwMC0uMDU1LjAxMWMtLjAyLjAzNi0uMDQzLjA3LS4wNjIuMTA2LS4wMzEuMDU1LS4wNjMuMTE3LS4wOTQuMTc2LS4wMDguMDIgMCAuMDQzLjAyLjA1NC4wMDcgMCAuMDExLjAwNC4wMi4wMDRhLjA0Mi4wNDIgMCAwMC4wMzQtLjAyMyAyLjM3OSAyLjM3OSAwIDAxLjE1My0uMjc0Yy4wMTEtLjAxNS4wMDMtLjA0My0uMDE2LS4wNTR6bTQuNDg4LjU5YS4wNC4wNCAwIDAwLjA0LjAyN2guMDExYy4wMjMtLjAwOC4wMzEtLjAzMS4wMjctLjA1YTIuNTAzIDIuNTAzIDAgMDAtLjEyNS0uMjk4Yy0uMDA3LS4wMi0uMDMtLjAyNy0uMDU0LS4wMi0uMDIuMDEyLS4wMjguMDM2LS4wMTYuMDU1LjA0My4wOTQuMDg2LjE4OC4xMTcuMjg2em0tMS42NiAzLjIyMmMtLjEwMi4wMjgtLjIwMy4wNTEtLjMwNS4wNjctLjAyMy4wMDQtLjAzOS4wMjMtLjAzNS4wNDcuMDA0LjAxOS4wMjQuMDM1LjA0LjAzNS4wMDMgMCAuMDA3LS4wMDQuMDA3LS4wMDQuMTA2LS4wMTYuMjExLS4wNC4zMTMtLjA3LjAyMy0uMDA0LjAzNS0uMDI4LjAyNy0uMDUxLS4wMDQtLjAyLS4wMjctLjAzMi0uMDQ3LS4wMjR6bS40OTYtNC42MDVjLjAxNiAwIC4wMjctLjAwOC4wMzUtLjAyNC4wMTItLjAyLjAwNC0uMDQzLS4wMTUtLjA1NGEyLjQ4NCAyLjQ4NCAwIDAwLS4yOTMtLjEzM2MtLjAyLS4wMDgtLjA0My4wMDQtLjA1MS4wMjMtLjAwOC4wMi4wMDQuMDQzLjAyMy4wNTEuMDk4LjA0LjE5Mi4wODIuMjgyLjEyOS4wMDcuMDA0LjAxMS4wMDguMDIuMDA4em0tLjU5LS4yM2MuMDIgMCAuMDM1LS4wMTIuMDQtLjAyOC4wMDctLjAyMy0uMDA4LS4wNDMtLjAyOC0uMDUtLjA1NS0uMDEzLS4xMTMtLjAyNC0uMTY4LS4wMzYuMDgyLS4wMTYuMTY0LS4wMzUuMjQ2LS4wNTVhLjA0Ny4wNDcgMCAwMC4wMjctLjA1Yy0uMDA3LS4wMi0uMDI3LS4wMzYtLjA1LS4wMjgtLjA5OC4wMjgtLjIwMy4wNTEtLjMwNS4wNjctLjAyLjAwMy0uMDM1LjAyMy0uMDMxLjA0M3YuMDA3Yy0uMDEyLS4wMDQtLjAyNC0uMDA0LS4wMzUtLjAwNy0uMDI0IDAtLjA0My4wMTUtLjA0My4wMzVhLjA0LjA0IDAgMDAuMDMuMDQ3Yy4xMDYuMDExLjIwOC4wMy4zMS4wNTRoLjAwN3ptLjY2NCA0LjU4NWMtLjA5LjA1NS0uMTgzLjEwMi0uMjc3LjE0LS4wMjMuMDEzLS4wMzEuMDM2LS4wMjMuMDU2YS4wNDMuMDQzIDAgMDAuMDM5LjAyM2MuMDA0IDAgLjAwNyAwIC4wMTUtLjAwNGEyLjc5IDIuNzkgMCAwMC4yODUtLjE0NGMuMDItLjAxMi4wMjQtLjAzNi4wMTYtLjA1NS0uMDEyLS4wMi0uMDM5LS4wMjctLjA1NS0uMDE2em0uNTQ3LS4zNzlhLjA0Mi4wNDIgMCAwMC0uMDU4IDBjLS4wNy4wNzUtLjE0OS4xNC0uMjMuMjA3LS4wMi4wMTItLjAyNC4wMzUtLjAwOS4wNTUuMDA4LjAwOC4wMi4wMTYuMDMyLjAxNi4wMDcgMCAuMDE1LS4wMDQuMDIzLS4wMDguMDg2LS4wNjcuMTY4LS4xMzcuMjQyLS4yMTVhLjAzOC4wMzggMCAwMDAtLjA1NXptLjY4LTEuMzE2aC4wMDhjLjAyIDAgLjAzNS0uMDEyLjAzOS0uMDMxLjAxNS0uMTA2LjAyNy0uMjE1LjAzMS0uMzJhLjAzNy4wMzcgMCAwMC0uMDM1LS4wNDRjLS4wMjQgMC0uMDQzLjAxNi0uMDQzLjA0YTIuNzUzIDIuNzUzIDAgMDEtLjAzMS4zMDhjLS4wMDQuMDIzLjAwOC4wNDMuMDMuMDQ3em0tLjc4NS0yLjI5N2EuMDQ0LjA0NCAwIDAwLjAzMS0uMDEyLjA0Ny4wNDcgMCAwMC0uMDA0LS4wNTggMy4xMDUgMy4xMDUgMCAwMC0uMjUtLjJjLS4wMi0uMDE1LS4wNDMtLjAwNy0uMDU1LjAwOC0uMDE1LjAyLS4wMTEuMDQzLjAwOC4wNTUuMDg2LjA2My4xNjguMTI5LjI0Mi4xOTUuMDA4LjAwOC4wMi4wMTIuMDI4LjAxMnptLTcuMzUyIDExLjY1MmMtLjA5LS4wNS0uMTgtLjEwNS0uMjYxLS4xNjgtLjAyLS4wMTUtLjA0My0uMDExLS4wNTUuMDA4LS4wMTYuMDE2LS4wMTIuMDQzLjAwOC4wNTUuMDg2LjA2Mi4xNzUuMTIxLjI3LjE3Ni4wMDMuMDA0LjAxLjAwNC4wMTkuMDA0YS4wNDcuMDQ3IDAgMDAuMDM1LS4wMmMuMDA4LS4wMi4wMDQtLjA0My0uMDE2LS4wNTV6bS43MDctNC43MTRjLS4xMDUuMDIzLS4yMDcuMDUtLjMwOC4wODUtLjAyNC4wMDQtLjAzMi4wMjgtLjAyOC4wNTFhLjA0My4wNDMgMCAwMC4wNC4wMjRoLjAxMWMuMDk4LS4wMzUuMi0uMDYzLjMtLjA4Mi4wMjQtLjAwNC4wMzYtLjAyNC4wMzItLjA0N2EuMDQuMDQgMCAwMC0uMDQ3LS4wMzF6bS0uNjA1LjIwN2EyLjQ2IDIuNDYgMCAwMC0uMjgxLjE1Ni4wNC4wNCAwIDAwLS4wMTIuMDU1Yy4wMDguMDExLjAyLjAxOS4wMzUuMDE5LjAwOCAwIC4wMTItLjAwNC4wMi0uMDA4LjA4NS0uMDU0LjE4LS4xMDUuMjczLS4xNTIuMDItLjAwOC4wMjctLjAzMS4wMTYtLjA1LS4wMDgtLjAyNC0uMDMyLS4wMzItLjA1MS0uMDJ6bS40NzIgNC43NDJhMi4zNDIgMi4zNDIgMCAwMS0uMjkzLS4wOThjLS4wMjMtLjAwOC0uMDQ2IDAtLjA1NC4wMmEuMDQ0LjA0NCAwIDAwLjAyMy4wNTRjLjA5OC4wNC4yLjA3NS4zMDUuMTAyaC4wMDhjLjAyIDAgLjAzNS0uMDEyLjAzOS0uMDI3LjAwOC0uMDI0LS4wMDQtLjA0My0uMDI4LS4wNTF6bS0xLjAxMS00LjM5NWEyLjQ5IDIuNDkgMCAwMC0uMjMuMjIzYy0uMDE2LjAxNS0uMDE2LjA0MyAwIC4wNTUuMDA3LjAwNy4wMTkuMDExLjAyNy4wMTFhLjA0NC4wNDQgMCAwMC4wMy0uMDExYy4wNzEtLjA3OS4xNDUtLjE0OS4yMjMtLjIxNS4wMi0uMDE2LjAyLS4wNC4wMDQtLjA1OS0uMDExLS4wMTUtLjAzOS0uMDE1LS4wNTQtLjAwNHptLS42MDYgMy4wMzVjLS4wMDgtLjAyLS4wMzEtLjAyNy0uMDU0LS4wMmEuMDQ1LjA0NSAwIDAwLS4wMi4wNTZjLjA0Ny4wOTcuMDk4LjE5LjE1Ni4yOC4wMDguMDEyLjAyLjAyLjAzMi4wMi4wMDcgMCAuMDE1LS4wMDQuMDIzLS4wMDguMDItLjAxMS4wMjMtLjAzNS4wMTItLjA1NGEyLjMwMyAyLjMwMyAwIDAxLS4xNDktLjI3NHptLS4xOTEtLjU5Yy0uMDA0LS4wMjMtLjAyNC0uMDM1LS4wNDctLjAzYS4wNC4wNCAwIDAwLS4wMzEuMDQ2Yy4wMi4xMDYuMDQ3LjIwNy4wNzguMzA5YS4wNC4wNCAwIDAwLjAzOS4wMjdoLjAxMmMuMDIzLS4wMDguMDM1LS4wMjcuMDI3LS4wNWEyLjYxNCAyLjYxNCAwIDAxLS4wNzgtLjMwMXptLjUyMyAxLjExOGMtLjAxNS0uMDE2LS4wMzktLjAyLS4wNTgtLjAwNC0uMDE2LjAxMi0uMDIuMDM5LS4wMDQuMDU1LjA2Ni4wODIuMTQuMTYuMjE5LjIzNGEuMDM1LjAzNSAwIDAwLjAyNy4wMTJjLjAxMiAwIC4wMi0uMDA0LjAyNy0uMDEyYS4wNDIuMDQyIDAgMDAwLS4wNTkgMi4zIDIuMyAwIDAxLS4yMS0uMjI2em0xLjkwMy45MThjLS4xMDYgMC0uMjExLS4wMDgtLjMxMy0uMDI0LS4wMi0uMDA0LS4wNDMuMDEyLS4wNDMuMDM1LS4wMDQuMDI0LjAxMi4wNDMuMDMxLjA0My4xMDYuMDE2LjIxNS4wMjQuMzIuMDI4aC4wMDVjLjAyIDAgLjAzOS0uMDIuMDM5LS4wNCAwLS4wMjMtLjAyLS4wNDItLjA0LS4wNDJ6bS0yLjAwOC00LjAyYy0uMDItLjAxMi0uMDQzLS4wMDgtLjA1NS4wMTJhMi40MjIgMi40MjIgMCAwMC0uMTcyLjI3Yy0uMDExLjAxOS0uMDA0LjA0Ni4wMTYuMDU0YS4wMy4wMyAwIDAwLjAyLjAwOC4wNDIuMDQyIDAgMDAuMDM1LS4wMjRjLjA0Ni0uMDkuMTA1LS4xOC4xNjQtLjI2MWEuMDQ3LjA0NyAwIDAwLS4wMDgtLjA1OXptMi43OTctLjk1N2MtLjA5OC0uMDI3LS4yLS4wNS0uMzAxLS4wNy4wNS0uMDA4LjA5OC0uMDIuMTQ4LS4wMzEuMDItLjAwNC4wMzItLjAyOC4wMjgtLjA0N2EuMDQzLjA0MyAwIDAwLS4wNDctLjAzMiAyLjA0IDIuMDQgMCAwMS0uMzA5LjA1NS4wNDYuMDQ2IDAgMDAtLjAzNS4wNDNjLjAwNC4wMi4wMi4wMzUuMDQuMDM1aC4wMDNjLjA0My0uMDA0LjA4Mi0uMDA4LjEyNS0uMDE1LS4wMDguMDA0LS4wMTIuMDExLS4wMTIuMDIzLS4wMDQuMDIuMDEyLjA0LjAzMi4wNDMuMTAxLjAyLjIwMy4wNDMuMzA0LjA3NGguMDEyYS4wMzguMDM4IDAgMDAuMDM1LS4wMjdjLjAwOC0uMDItLjAwNC0uMDQzLS4wMjMtLjA1em0uODQ3LjQ0NWMtLjAxNS0uMDExLS4wNDMtLjAxMS0uMDU0LjAwOC0uMDE2LjAxNi0uMDEyLjA0My4wMDQuMDU1LjA4Mi4wNjYuMTYuMTM3LjIzNC4yMDdhLjAzNS4wMzUgMCAwMC4wMjcuMDEyYy4wMTIgMCAuMDItLjAwNC4wMjgtLjAxMi4wMTUtLjAxMi4wMTUtLjA0IDAtLjA1NWEyLjUxNiAyLjUxNiAwIDAwLS4yMzktLjIxNXptLjgwOSAyLjg0NGMtLjAyLS4wMDgtLjA0My4wMDQtLjA1LjAyNGEyLjMxNCAyLjMxNCAwIDAxLS4xMjIuMjg1Yy0uMDEyLjAyLS4wMDQuMDQ3LjAxNi4wNTRhLjA0Mi4wNDIgMCAwMC4wMi4wMDQuMDQxLjA0MSAwIDAwLjAzNC0uMDJjLjA1MS0uMDk3LjA5LS4xOTQuMTMtLjI5Ni4wMDMtLjAyLS4wMDUtLjA0My0uMDI4LS4wNXptLS4yNzQuNTY3YS4wNDIuMDQyIDAgMDAtLjA1NC4wMTEgMi44MzEgMi44MzEgMCAwMS0uMTkyLjI1LjA0Mi4wNDIgMCAwMC4wMDQuMDU1Yy4wMDguMDA4LjAyLjAwOC4wMjguMDA4YS4wNDQuMDQ0IDAgMDAuMDMtLjAxMmMuMDcxLS4wODIuMTM0LS4xNjguMTk2LS4yNTQuMDEyLS4wMi4wMDgtLjA0My0uMDExLS4wNTh6bS40MDMtMS4xODhhLjA0Ni4wNDYgMCAwMC0uMDQ3LjA0IDEuOTc4IDEuOTc4IDAgMDEtLjA0Ny4zMDRjLS4wMDQuMDIzLjAxMi4wNDMuMDMxLjA1aC4wMDhjLjAyIDAgLjAzNS0uMDExLjA0LS4wMy4wMjMtLjEwNi4wMzgtLjIxMi4wNS0uMzE3IDAtLjAyMy0uMDE2LS4wNDMtLjAzNS0uMDQ3em0tLjAzMS0uNjI5Yy0uMDI0LjAwNC0uMDM2LjAyNC0uMDM2LjA0Ny4wMi4xMDIuMDI4LjIwMy4wMzIuMzA5IDAgLjAyLjAyLjAzOS4wMzkuMDM5LjAyMyAwIC4wMzktLjAyLjAzOS0uMDQzYTIuOTUyIDIuOTUyIDAgMDAtLjAyOC0uMzIuMDQuMDQgMCAwMC0uMDQ2LS4wMzJ6bS01LjA0My42MzdjLjAyLS4wMDQuMDM5LS4wMjQuMDM1LS4wNDMtLjAwNC0uMDU1LS4wMDQtLjEwNi0uMDA0LS4xNiAwLS4xMDIuMDA4LS4yMDcuMDItLjMwOS4wMDMtLjAyMy0uMDEyLS4wNDMtLjAzNi0uMDQ3LS4wMjMgMC0uMDQzLjAxNi0uMDQzLjAzNS0uMDE1LjEwNi0uMDIuMjE1LS4wMi4zMiAwIC4wNTUgMCAuMTEuMDA1LjE2NSAwIC4wMi4wMi4wMzkuMDM5LjAzOWguMDA0em0yLjY1Ni0yLjc4NWgtLjE1Mi0uMDA0YTQuMDUxIDQuMDUxIDAgMDEtLjMxMy0uMDI0Yy0uMDItLjAwNC0uMDQzLjAxMi0uMDQzLjAzMmEuMDQuMDQgMCAwMC4wMzEuMDQ2Yy4wNDMuMDA0LjA4Ni4wMTIuMTMuMDEyLjAwNy4wMTIuMDE5LjAyLjAzLjAyaC4wMDRjLjEwMi0uMDA4LjIwNy0uMDA4LjMxMy0uMDA0LjAyIDAgLjAzOS0uMDE2LjA0My0uMDQgMC0uMDIzLS4wMi0uMDM4LS4wNC0uMDQyem0xLjU1IDQuNDQ1Yy0uMDc0LjA3LS4xNTYuMTM3LS4yNDIuMTk1LS4wMi4wMTItLjAyMy4wMzYtLjAxMS4wNTUuMDA4LjAxMi4wMjMuMDE2LjAzNS4wMTYuMDA4IDAgLjAxNiAwIC4wMjMtLjAwNC4wODYtLjA2My4xNzItLjEzLjI1LS4yLjAxNi0uMDE1LjAyLS4wNDIuMDA0LS4wNTgtLjAxNS0uMDE2LS4wMzktLjAxNi0uMDU4LS4wMDR6bS0xLjA5LjU3NGEyLjY4MSAyLjY4MSAwIDAxLS4zMDguMDU1Yy0uMDIgMC0uMDM1LjAyLS4wMzUuMDQzLjAwNC4wMi4wMi4wMzUuMDQuMDM1aC4wMDNjLjExLS4wMTIuMjE1LS4wMzEuMzItLjA1NS4wMi0uMDAzLjAzMi0uMDI3LjAyOC0uMDQ2LS4wMDQtLjAyNC0uMDI4LS4wMzYtLjA0Ny0uMDMyem0uNzU5LTQuNjQ4YTIuODI2IDIuODI2IDAgMDAtLjI4Ni0uMTQ5Yy0uMDItLjAwNy0uMDQ2IDAtLjA1NC4wMnMwIC4wNDMuMDIuMDU1Yy4wOTcuMDM5LjE4Ny4wOS4yNzcuMTQ0YS4wMzUuMDM1IDAgMDAuMDIuMDA0LjA0MS4wNDEgMCAwMC4wMzQtLjAyLjA0Mi4wNDIgMCAwMC0uMDExLS4wNTR6bS0uMTc2IDQuNDNhMi42NiAyLjY2IDAgMDEtLjI4NS4xMjhjLS4wMi4wMDgtLjAzMi4wMzItLjAyNC4wNTEuMDA4LjAxNi4wMi4wMjguMDQuMDI4LjAwMyAwIC4wMDctLjAwNC4wMTEtLjAwNC4xMDItLjA0LjItLjA4Mi4yOTMtLjEzMy4wMi0uMDA4LjAyNy0uMDM1LjAyLS4wNTVhLjA0OC4wNDggMCAwMC0uMDU1LS4wMTV6bTEuMDY2LTMuNTI0YTIuODg0IDIuODg0IDAgMDAtLjE4LS4yNjYuMDQyLjA0MiAwIDAwLS4wNTQtLjAwNy4wNDcuMDQ3IDAgMDAtLjAwOC4wNThjLjA2My4wODIuMTIxLjE2OC4xNzYuMjU4LjAwOC4wMTIuMDIuMDIuMDMxLjAyYS4wNTYuMDU2IDAgMDAuMDI0LS4wMDguMDQyLjA0MiAwIDAwLjAxMS0uMDU1em0uMDk0LjI2NmMtLjAyLjAxMS0uMDMxLjAzNS0uMDIuMDU0LjA0LjA5NC4wNzUuMTkyLjEwMi4yOTMuMDA4LjAxNi4wMjMuMDI4LjA0LjAyOGguMDFjLjAyLS4wMDguMDM2LS4wMjguMDI4LS4wNTFhMi43NjcgMi43NjcgMCAwMC0uMTEtLjNjLS4wMDctLjAyNC0uMDMtLjAzMi0uMDUtLjAyNHptLTQuOC40NTNoLjAxYy4wMTcgMCAuMDMyLS4wMTIuMDQtLjAzMS4wMjMtLjA5OC4wNTUtLjIuMDk0LS4yOTcuMDA4LS4wMi0uMDA0LS4wNDMtLjAyNC0uMDUxcy0uMDQzLjAwNC0uMDUuMDIzYy0uMDQuMDk4LS4wNy4yMDMtLjA5OC4zMDUtLjAwOC4wMjMuMDA4LjA0My4wMjcuMDV6bTQuOTg0LTQuOTM4Yy0uMDI0LjAwNC0uMDM2LjAyNC0uMDM2LjA0Ny4wMi4xMDIuMDI4LjIwNy4wMzIuMzA5IDAgLjAyMy4wMi4wMzkuMDM5LjAzOWEuMDQuMDQgMCAwMC4wMzktLjA0IDIuODcgMi44NyAwIDAwLS4wMjgtLjMyYy0uMDAzLS4wMjMtLjAyMy0uMDM1LS4wNDYtLjAzNXptLTIuMzg3LTIuMTQ0Yy0uMDQzLS4wMDQtLjA4Mi0uMDA0LS4xMjEtLjAwNC0uMDY3IDAtLjEzMy4wMDQtLjIuMDA4LS4wMjMuMDA0LS4wMzkuMDItLjAzOS4wNDMuMDA0LjAyLjAyLjAzOS4wNC4wMzkuMDAzIDAgLjAwMyAwIC4wMDMtLjAwNC4wNjctLjAwNC4xMy0uMDA0LjE5Ni0uMDA0aC4xMTdjLjAyLjAwNC4wMzktLjAxNi4wNDMtLjAzNSAwLS4wMjQtLjAyLS4wNDMtLjA0LS4wNDN6bS0xLjI0Ni4yNTRhMi40ODggMi40ODggMCAwMC0uMjgxLjE2Yy0uMDIuMDEyLS4wMjQuMDM1LS4wMTIuMDU1LjAwOC4wMTEuMDIuMDE1LjAzNS4wMTUuMDA4IDAgLjAxMiAwIC4wMi0uMDA0LjA4NS0uMDU4LjE4LS4xMS4yNzMtLjE1Mi4wMi0uMDEyLjAyNy0uMDM1LjAxNi0uMDU1LS4wMDgtLjAyLS4wMzItLjAyNy0uMDUxLS4wMnptMS44NzktLjE0NWEyLjI2NSAyLjI2NSAwIDAwLS4zMTMtLjA3NGMtLjAyMy0uMDA0LS4wNDMuMDA4LS4wNDcuMDMxYS4wNC4wNCAwIDAwLjAzMi4wNDdjLjEwMS4wMTYuMjAzLjA0LjMwNC4wNy4wMDQgMCAuMDA4LjAwNC4wMTIuMDA0LjAxNiAwIC4wMzEtLjAxMS4wMzUtLjAzLjAwOC0uMDItLjAwNC0uMDQ0LS4wMjMtLjA0OHptLjU4Ni4yNjJhMi44NjQgMi44NjQgMCAwMC0uMjg2LS4xNTJjLS4wMi0uMDA4LS4wNDYgMC0uMDU0LjAyMy0uMDA4LjAyIDAgLjA0My4wMi4wNS4wOTcuMDQ0LjE4Ny4wOS4yNzcuMTQ1LjAwNy4wMDQuMDExLjAwOC4wMi4wMDhhLjA0MS4wNDEgMCAwMC4wMzQtLjAyYy4wMTItLjAxOS4wMDQtLjA0Ni0uMDExLS4wNTR6bS0yLjMxNyA0LjYwMWMuMDk4LjA0My4yLjA3NS4zMDUuMTA2aC4wMDhjLjAyIDAgLjAzNS0uMDEyLjAzOS0uMDMxYS4wMzUuMDM1IDAgMDAtLjAyOC0uMDQ3IDIuMzUzIDIuMzUzIDAgMDEtLjI5My0uMTAyLjA0NC4wNDQgMCAwMC0uMDU0LjAyNGMtLjAwOC4wMi4wMDQuMDQzLjAyMy4wNXptMi41NzgtNC40MThjLS4wMTUtLjAxNS0uMDQzLS4wMTEtLjA1NC4wMDQtLjAxNi4wMi0uMDEyLjA0My4wMDQuMDU5LjA4Mi4wNjMuMTYuMTMzLjIzNC4yMDdhLjAzNS4wMzUgMCAwMC4wMjcuMDEyYy4wMTIgMCAuMDItLjAwNC4wMjgtLjAxMmEuMDQyLjA0MiAwIDAwMC0uMDU5IDIuMDQ0IDIuMDQ0IDAgMDAtLjIzOS0uMjF6bS44MDkgMi44NGMtLjAyLS4wMDctLjA0My4wMDQtLjA1LjAyNGEyLjY2IDIuNjYgMCAwMS0uMTIyLjI4OWMtLjAxMi4wMi0uMDA0LjA0My4wMTYuMDU1LjAwOCAwIC4wMTUuMDAzLjAyLjAwMy4wMTUgMCAuMDI3LS4wMDcuMDM0LS4wMjMuMDUxLS4wOTQuMDktLjE5NS4xMy0uMjk3LjAwMy0uMDItLjAwNS0uMDQzLS4wMjgtLjA1em0tLjQ4OC44OTVhLjAzNi4wMzYgMCAwMC4wMy0uMDE2Yy4wNzEtLjA3OC4xMzQtLjE2NC4xOTYtLjI1NC4wMTItLjAyLjAwOC0uMDQzLS4wMTEtLjA1NC0uMDItLjAxMi0uMDQzLS4wMDgtLjA1NS4wMTFhMi4zMSAyLjMxIDAgMDEtLjE5Mi4yNDZjLS4wMTEuMDE2LS4wMTEuMDQzLjAwNC4wNTUuMDA4LjAwOC4wMi4wMTIuMDI4LjAxMnptLTIuNDQyLTQuMjQyYy0uMTA1LjAyMy0uMjA3LjA1LS4zMDguMDg2LS4wMjQuMDA3LS4wMzIuMDMtLjAyOC4wNS4wMDguMDE2LjAyNC4wMjguMDQuMDI4LjAwMyAwIC4wMDcgMCAuMDExLS4wMDQuMDk4LS4wMzEuMi0uMDU5LjMtLjA3OC4wMjQtLjAwOC4wMzYtLjAyOC4wMzItLjA1MWEuMDQuMDQgMCAwMC0uMDQ3LS4wMzF6bTEuMzc1IDQuOTNjLjAwOC4wMTUuMDIuMDI3LjA0LjAyNy4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0LjEwMi0uMDM1LjItLjA4Mi4yOTMtLjEzLjAyLS4wMS4wMjctLjAzNC4wMi0uMDU0LS4wMTItLjAyLS4wMzYtLjAyNy0uMDU1LS4wMTVhMi42MyAyLjYzIDAgMDEtLjI4NS4xMjVjLS4wMi4wMDctLjAzMi4wMy0uMDI0LjA1em0xLjEzMy0zLjkxOWEyLjQgMi40IDAgMDEuMTY0LjI0M2MuMDIuMDMuMDM1LjA1OC4wNS4wODYuMDA5LjAxMS4wMi4wMi4wMzYuMDIuMDA0IDAgLjAxMi0uMDA1LjAyLS4wMDkuMDItLjAxMS4wMjMtLjAzNS4wMTEtLjA1NGwtLjAzNS0uMDYzczAtLjAwNC0uMDA0LS4wMDRjMC0uMDA0LS4wMDQtLjAwOC0uMDA4LS4wMTVhMi45MyAyLjkzIDAgMDEtLjA5Ny0uMTkyYy0uMDA4LS4wMi0uMDI4LS4wMjctLjA0Ny0uMDIzYS43ODMuNzgzIDAgMDAtLjAyNy0uMDRjLS4wMTItLjAxNS0uMDQtLjAxOS0uMDU1LS4wMDMtLjAxNi4wMTEtLjAyLjAzNS0uMDA4LjA1NHptLS41NyAzLjYzM2MuMDA4LjAxMi4wMjMuMDIuMDM1LjAyLjAwOCAwIC4wMTYtLjAwNC4wMjMtLjAwOC4wODYtLjA2My4xNzItLjEyOS4yNS0uMi4wMTYtLjAxNS4wMi0uMDM4LjAwNC0uMDU0LS4wMTUtLjAyLS4wMzktLjAyLS4wNTgtLjAwNGEyLjM3MyAyLjM3MyAwIDAxLS4yNDMuMTkyLjA0LjA0IDAgMDAtLjAxMS4wNTR6bS0yLjk2MS0uMDljLS4wMTYuMDItLjAxMi4wNDMuMDA4LjA1OWEyLjQyMiAyLjQyMiAwIDAwLjI4OS4xOC4wNDIuMDQyIDAgMDAuMDM1LS4wMjRjLjAwOC0uMDE1LjAwNC0uMDQzLS4wMTYtLjA1LS4wOS0uMDU1LS4xOC0uMTEtLjI2MS0uMTcyLS4wMi0uMDEyLS4wNDMtLjAwOC0uMDU1LjAwN3ptNC4wMjctMS40MzNjLjAyIDAgLjAzNS0uMDEyLjA0LS4wMzEuMDIzLS4xMDIuMDM4LS4yMTEuMDUtLjMxNyAwLS4wMjMtLjAxNi0uMDQzLS4wMzUtLjA0My0uMDI0LS4wMDQtLjA0My4wMTItLjA0Ny4wMzVhMi4xMDUgMi4xMDUgMCAwMS0uMDQ3LjMwOS4wNDMuMDQzIDAgMDAuMDMxLjA0N2guMDA4em0tNC42NC44MDRjLjAwNyAwIC4wMTUgMCAuMDIzLS4wMDNhLjA0LjA0IDAgMDAuMDEyLS4wNTUgMi42NTUgMi42NTUgMCAwMS0uMTQ5LS4yNzRjLS4wMDgtLjAyLS4wMzEtLjAzLS4wNTQtLjAyLS4wMi4wMDktLjAyOC4wMzItLjAyLjA1Mi4wNDcuMDk3LjA5OC4xOTEuMTU2LjI4NS4wMDguMDEyLjAyLjAxNS4wMzIuMDE1em0uMzc1LjQ4Yy4wMDcuMDA1LjAxNS4wMDkuMDI3LjAwOXMuMDItLjAwNC4wMjctLjAxMmEuMDM4LjAzOCAwIDAwMC0uMDU1Yy0uMDc0LS4wNzQtLjE0OC0uMTQ4LS4yMS0uMjMtLjAxNi0uMDE2LS4wNC0uMDItLjA2LS4wMDQtLjAxNS4wMTItLjAxOS4wMzktLjAwMy4wNTUuMDY2LjA4Mi4xNC4xNjQuMjE5LjIzOHptLjExNy0zLjg0N2MtLjA4Mi4wNjctLjE2LjE0LS4yMy4yMTktLjAxNi4wMi0uMDE2LjA0MyAwIC4wNTkuMDA3LjAwNy4wMTkuMDExLjAyNy4wMTEuMDExIDAgLjAyMy0uMDA3LjAzLS4wMTVhMi44OSAyLjg5IDAgMDEuMjIzLS4yMTVjLjAyLS4wMTIuMDItLjA0LjAwNC0uMDU1LS4wMTEtLjAxNS0uMDM5LS4wMi0uMDU0LS4wMDR6bS0uODU2IDEuNjIxYy0uMDIzLS4wMDQtLjA0My4wMTItLjA0My4wMzZhMi4xNyAyLjE3IDAgMDAtLjAyLjMyYzAgLjA1NSAwIC4xMS4wMDUuMTYgMCAuMDIzLjAyLjA0LjAzOS4wNGguMDA0Yy4wMiAwIC4wMzktLjAyLjAzNS0uMDQ0LS4wMDQtLjA1LS4wMDQtLjEwNS0uMDA0LS4xNTYgMC0uMTA2LjAwOC0uMjExLjAyLS4zMTMuMDAzLS4wMjMtLjAxMi0uMDQzLS4wMzYtLjA0M3ptLjA1OSAxLjE0OWMuMDA4LjAxNS4wMjMuMDI3LjAzOS4wMjcuMDA0IDAgLjAwOCAwIC4wMTItLjAwNGEuMDM1LjAzNSAwIDAwLjAyNy0uMDQ3IDIuOTA3IDIuOTA3IDAgMDEtLjA3OC0uMzA0LjA0LjA0IDAgMDAtLjA0Ny0uMDMyLjA0My4wNDMgMCAwMC0uMDMxLjA0N2MuMDIuMTA2LjA0Ny4yMTEuMDc4LjMxM3ptLTUuMzA5IDEuNDhhMi42MDcgMi42MDcgMCAwMS0uMjg5LjExNC4wNDcuMDQ3IDAgMDAtLjAyNy4wNWMuMDA4LjAxNi4wMjMuMDI4LjAzOS4wMjhoLjAxMmMuMTAxLS4wMzUuMjAzLS4wNzUuMy0uMTE3LjAyLS4wMDguMDI4LS4wMzYuMDItLjA1NS0uMDA4LS4wMi0uMDM1LS4wMjgtLjA1NS0uMDJ6bS0uNzkzLTQuNzY1YS4wNC4wNCAwIDAwLjA0LS4wNGMuMDAzLS4wMTktLjAxMi0uMDM4LS4wMzYtLjA0MmE0LjM4OCA0LjM4OCAwIDAwLS4zMi0uMDEyYy0uMDI0IDAtLjA0LjAyLS4wNC4wNDMgMCAuMDIuMDIuMDM5LjA0LjAzOS4xMDUtLjAwNC4yMSAwIC4zMTIuMDEyaC4wMDR6bS4yMDMgNC45NTNjLS4xMDEuMDItLjIwNy4wMzEtLjMxMi4wMzktLjAyIDAtLjAzNS4wMi0uMDM1LjA0MyAwIC4wMi4wMi4wMzUuMDM5LjAzNWguMDA0Yy4xMDUtLjAwNC4yMS0uMDIuMzE2LS4wMzUuMDI0LS4wMDguMDQtLjAyOC4wMzUtLjA0Ny0uMDA0LS4wMjMtLjAyNy0uMDQtLjA0Ny0uMDM1em0uNDE0LTQuODE3Yy4wMTYgMCAuMDMyLS4wMDcuMDM2LS4wMjNhLjA0LjA0IDAgMDAtLjAyNC0uMDUgMi4xNDMgMi4xNDMgMCAwMC0uMzA4LS4wOWMtLjAyLS4wMDktLjA0My4wMDctLjA0Ny4wMjctLjAwNC4wMjMuMDA4LjA0My4wMzEuMDQ3LjEwMi4wMjMuMi4wNTQuMjk3LjA5aC4wMTV6bTEuNjU3IDIuNjg0YS4wNC4wNCAwIDAwLS4wNDcuMDMxIDIuNDczIDIuNDczIDAgMDEtLjA2My4zMDVjLS4wMDcuMDIzLjAwOC4wNDMuMDI4LjA1aC4wMTFjLjAxNiAwIC4wMzItLjAxMS4wNC0uMDI3LjAyNy0uMTAxLjA1LS4yMS4wNjYtLjMxNiAwLS4wMi0uMDE2LS4wNC0uMDM1LS4wNDN6bS0xLjA5NC0yLjM5NWMuMDEyIDAgLjAyMy0uMDA3LjAzMS0uMDJhLjA0LjA0IDAgMDAtLjAxMS0uMDU0IDMuMTY0IDMuMTY0IDAgMDAtLjI3NC0uMTY0Yy0uMDItLjAwOC0uMDQ3IDAtLjA1NS4wMi0uMDExLjAyLS4wMDQuMDQzLjAxNi4wNTQuMDk0LjA0Ny4xODQuMDk4LjI3LjE1Ny4wMDcuMDA0LjAxNS4wMDcuMDIzLjAwN3ptLjkzNCAzLjAwNGMtLjAyLS4wMDctLjA0My4wMDQtLjA1MS4wMjQtLjA0LjA5NC0uMDg2LjE4Ny0uMTM3LjI3Ny0uMDEyLjAyLS4wMDQuMDQ3LjAxNi4wNTVhLjAzLjAzIDAgMDAuMDIuMDA4LjA0Ny4wNDcgMCAwMC4wMzQtLjAyYy4wNTEtLjA5NC4wOTgtLjE5MS4xNDEtLjI4OWEuMDQ0LjA0NCAwIDAwLS4wMjMtLjA1NXptLjE2NC0xLjI0MmMtLjAyNC4wMDQtLjA0LjAyNC0uMDM2LjA0My4wMDguMDg2LjAxMi4xNzIuMDEyLjI1OHYuMDU1YzAgLjAyMy4wMTYuMDM5LjA0LjAzOS4wMjMgMCAuMDM4LS4wMTYuMDM4LS4wNC4wMDQtLjAxNS4wMDQtLjAzNS4wMDQtLjA1NCAwLS4wOS0uMDA4LS4xNzYtLjAxNS0uMjY2YS4wNDYuMDQ2IDAgMDAtLjA0My0uMDM1em0tLjQ3IDEuNzk3Yy0uMDE1LS4wMTItLjAzOC0uMDA4LS4wNTQuMDA4YTIuOTI0IDIuOTI0IDAgMDEtLjE5OS4yMzguMDM4LjAzOCAwIDAwMCAuMDU1LjAzNS4wMzUgMCAwMC4wMjcuMDEyYy4wMTIgMCAuMDItLjAwNC4wMjgtLjAxMmEzLjE4IDMuMTggMCAwMC4yMS0uMjQ2LjA0LjA0IDAgMDAtLjAxMS0uMDU1em0tLjQ4NC40NTdhMy43MzcgMy43MzcgMCAwMS0uMjUzLjE4Yy0uMDIuMDExLS4wMjguMDM1LS4wMTYuMDU0LjAwOC4wMTIuMDIzLjAyLjAzNS4wMmEuMDMuMDMgMCAwMC4wMi0uMDA4Yy4wOTMtLjA1NS4xOC0uMTE3LjI2NS0uMTg3LjAxNi0uMDEyLjAyLS4wNC4wMDQtLjA1NS0uMDEyLS4wMTYtLjAzOS0uMDItLjA1NC0uMDA0em0uMzI5LTMuNjAyYy4wMTEgMCAuMDIgMCAuMDI3LS4wMDcuMDE2LS4wMTYuMDItLjA0LjAwNC0uMDU5YTMuMSAzLjEgMCAwMC0uMjI3LS4yMjZjLS4wMi0uMDEyLS4wNDMtLjAxMi0uMDU4LjAwMy0uMDE2LjAyLS4wMTIuMDQzLjAwNC4wNTkuMDc4LjA2Ni4xNTIuMTQuMjIyLjIxOWEuMDM1LjAzNSAwIDAwLjAyOC4wMTJ6bS4zNTkuNTI0Yy4wMDQgMCAuMDEyIDAgLjAxNi0uMDA0LjAyLS4wMTIuMDI3LS4wMzUuMDItLjA1NWwtLjA2LS4xMDVjLS4wMDMtLjAwOC0uMDExLS4wMi0uMDE1LS4wMjcgMCAwLS4wMDQtLjAwNC0uMDA0LS4wMDhhMi4zMzkgMi4zMzkgMCAwMS0uMTM3LS4yODJjLS4wMDgtLjAyLS4wMy0uMDI3LS4wNS0uMDItLjAyLjAwOS0uMDMyLjAzMi0uMDIuMDUyLjAxNi4wMzkuMDMxLjA3OC4wNS4xMmEuMDMuMDMgMCAwMC4wMDUuMDRjLjAzNS4wNTUuMDcuMTEuMTAxLjE2NC4wMi4wMzUuMDQuMDcuMDU1LjEwMmEuMDQzLjA0MyAwIDAwLjAzOS4wMjN6TS41MzkgMjIuNzc3Yy0uMDA4LS4wMjMtLjAzMS0uMDMtLjA1LS4wMjMtLjAyLjAwOC0uMDMyLjAzMS0uMDI0LjA1LjA0My4xMDIuMDkuMi4xNC4yOTQuMDA4LjAxMS4wMi4wMi4wMzYuMDIuMDA3IDAgLjAxMS0uMDA1LjAyLS4wMDkuMDE5LS4wMDcuMDI2LS4wMzUuMDE1LS4wNWEzLjA5NSAzLjA5NSAwIDAxLS4xMzctLjI4MnptLS4yMTktLjg3Yy4wMiAwIC4wNC0uMDIuMDQtLjA0NHYtLjAyM2MwLS4wOTQuMDAzLS4xOTIuMDE1LS4yODUuMDA0LS4wMjQtLjAxMi0uMDQzLS4wMzUtLjA0Ny0uMDI0IDAtLjA0My4wMTUtLjA0My4wMzUtLjAxMi4wOTgtLjAyLjItLjAyLjI5N3YuMDI3YzAgLjAyLjAyLjA0LjA0My4wNHptLjA1OS4yNjljMC0uMDI0LS4wMi0uMDQtLjA0My0uMDM1LS4wMjQuMDA0LS4wNC4wMjMtLjAzNS4wNDcuMDE1LjEwNS4wMzUuMjEuMDYyLjMxMi4wMDguMDIuMDI0LjAzMS4wNC4wMzFoLjAxMWMuMDItLjAwOC4wMzUtLjAzMS4wMjctLjA1YTIuODExIDIuODExIDAgMDEtLjA2Mi0uMzA1em0uMDA0LS44OTlILjM5Yy4wMiAwIC4wMzUtLjAxMS4wMzktLjAzLjAyMy0uMTAyLjA1NC0uMi4wOTMtLjI5OC4wMDgtLjAyLS4wMDMtLjA0My0uMDIzLS4wNWEuMDQ0LjA0NCAwIDAwLS4wNTUuMDIzIDMuOTMzIDMuOTMzIDAgMDAtLjA5My4zMDVjLS4wMDQuMDIzLjAwNy4wNDMuMDMuMDV6bTIuMzEyIDMuMDU5YTIuMDIgMi4wMiAwIDAxLS4zMDgtLjA0LjA0LjA0IDAgMDAtLjA0Ny4wMzJjLS4wMDQuMDI0LjAwOC4wNDMuMDMxLjA0Ny4xMDYuMDIuMjExLjAzNS4zMTcuMDQzaC4wMDNhLjA0LjA0IDAgMDAuMDQtLjA0Yy4wMDMtLjAxOS0uMDE2LS4wMzgtLjAzNi0uMDQyem0tMS45NDktMy45OGMtLjA1OC4wODUtLjExNy4xOC0uMTY4LjI3My0uMDA4LjAyIDAgLjA0My4wMi4wNTVsLjAxNS4wMDNjLjAxNiAwIC4wMzItLjAwNy4wMzUtLjAyMy4wNTEtLjA5LjEwNi0uMTguMTY0LS4yNjZhLjA0LjA0IDAgMDAtLjAxMS0uMDU0LjA0LjA0IDAgMDAtLjA1NS4wMTF6bS4wOTggMi45NjRjLS4wMTItLjAyLS4wNC0uMDIzLS4wNTUtLjAwOC0uMDIuMDEyLS4wMjMuMDM2LS4wMTIuMDU1LjA2Ny4wODYuMTMzLjE2OC4yMDcuMjQ2LjAwOC4wMDguMDIuMDEyLjAyOC4wMTIuMDExIDAgLjAyLS4wMDQuMDI3LS4wMTIuMDItLjAxMS4wMi0uMDM5LjAwNC0uMDU0YTIuOTI0IDIuOTI0IDAgMDEtLjItLjIzOXptMS4yNDIuODk5Yy0uMTAyLS4wMzItLjItLjA3LS4yOTMtLjExNC0uMDItLjAxMS0uMDQzLS4wMDMtLjA1LjAxNmEuMDM5LjAzOSAwIDAwLjAxOS4wNTUgMS45NTQgMS45NTQgMCAwMC4zMDguMTJjLjAyIDAgLjAzNS0uMDEuMDQtLjAyNmEuMDQuMDQgMCAwMC0uMDI0LS4wNTF6bS40MzQtNC45MDNjMC0uMDIzLS4wMjQtLjAzNS0uMDQzLS4wMzUtLjEwNi4wMi0uMjExLjA0LS4zMTcuMDctLjAyLjAwNC0uMDMxLjAyOC0uMDI3LjA0Ny4wMDguMDIuMDIzLjAzMi4wMzkuMDMyLjAwNCAwIC4wMDggMCAuMDEyLS4wMDQuMTAxLS4wMjguMjAzLS4wNDcuMzA0LS4wNjNhLjA0LjA0IDAgMDAuMDMyLS4wNDd6bS0uNjEuMTY0Yy0uMDA4LS4wMjMtLjAzMS0uMDMtLjA1LS4wMjNhMi44NSAyLjg1IDAgMDAtLjI5LjE0NWMtLjA0Ny4wMjctLjA5My4wNTQtLjEzNi4wODItLjAyLjAxNS0uMDI0LjAzOS0uMDEyLjA1OC4wMDguMDEyLjAyLjAxNi4wMzUuMDE2LjAwOCAwIC4wMTYgMCAuMDItLjAwOGwuMTMyLS4wODJjLjA5LS4wNS4xODQtLjA5OC4yODItLjEzNy4wMi0uMDA4LjAyNy0uMDMxLjAyLS4wNXptLS42NzYuNDAzYy0uMDE1LS4wMTYtLjAzOS0uMDItLjA1OC0uMDA0LS4wNzguMDctLjE1Ni4xNDQtLjIyNy4yMjMtLjAxNS4wMi0uMDE1LjA0MyAwIC4wNTguMDA4LjAwOC4wMi4wMDguMDI4LjAwOGEuMDQ0LjA0NCAwIDAwLjAzLS4wMTJjLjA2Ny0uMDc0LjE0NS0uMTQ4LjIyMy0uMjE1LjAxNi0uMDE1LjAyLS4wNDMuMDA0LS4wNTh6bS4yOSA0LjA3YTIuMDAzIDIuMDAzIDAgMDEtLjI1NC0uMTgzYy0uMDE2LS4wMTItLjA0My0uMDEyLS4wNTUuMDA3LS4wMTYuMDE2LS4wMTIuMDQzLjAwNC4wNTUuMDgyLjA3LjE3Mi4xMzMuMjYxLjE4OC4wMDQuMDA3LjAxMi4wMDcuMDIuMDA3YS4wNDcuMDQ3IDAgMDAuMDM1LS4wMmMuMDEyLS4wMTUuMDA0LS4wNDItLjAxMi0uMDU0em02Ljc4OC0yLjM4M2EyLjYwNyAyLjYwNyAwIDAxLS4yODkuMTE0LjA0NS4wNDUgMCAwMC0uMDI3LjA1Yy4wMDguMDE2LjAyNC4wMjguMDQuMDI4LjAwMyAwIC4wMDcgMCAuMDEtLjAwNC4xMDItLjAzMS4yMDQtLjA3LjMwMi0uMTEzYS4wNDUuMDQ1IDAgMDAuMDItLjA1NWMtLjAwOS0uMDItLjAzMi0uMDI3LS4wNTYtLjAyem0tLjU5LjE4OGMtLjEuMDItLjIwNi4wMzEtLjMwOC4wMzlhLjA0LjA0IDAgMDAwIC4wNzhoLjAwNGEyLjggMi44IDAgMDAuMzE2LS4wNGMuMDI0LS4wMDMuMDQtLjAyMy4wMzYtLjA0NmEuMDQzLjA0MyAwIDAwLS4wNDctLjAzMXptLjQxNS00LjgxN2MuMDE1IDAgLjAzMS0uMDA3LjAzNS0uMDI3YS4wMzguMDM4IDAgMDAtLjAyNC0uMDUgMi41NjUgMi41NjUgMCAwMC0uMzA4LS4wOWMtLjAyLS4wMDQtLjA0My4wMDctLjA0Ny4wMy0uMDA0LjAyLjAwOC4wNDQuMDMxLjA0OC4xMDIuMDIzLjIuMDU0LjI5Ny4wOWguMDE2em0uNTYyLjI5Yy4wMTIgMCAuMDI0LS4wMDguMDMxLS4wMi4wMTItLjAyLjAwOC0uMDQzLS4wMDctLjA1NWEyLjg2OCAyLjg2OCAwIDAwLS4yNzgtLjE2NGMtLjAyLS4wMTItLjA0My0uMDA0LS4wNTQuMDItLjAxMi4wMi0uMDA0LjA0My4wMTUuMDUuMDk0LjA0Ny4xODQuMTAyLjI3LjE2LjAwOC4wMDUuMDE1LjAwOC4wMjMuMDA4em0uNzk3LjkxNGMuMDA0LjAxNS4wMi4wMjMuMDM1LjAyM2EuMDMuMDMgMCAwMC4wMTYtLjAwOGMuMDItLjAwOC4wMjctLjAzMS4wMi0uMDUtLjAyLS4wMzYtLjA0LS4wNzUtLjA2LS4xMDZhNi42MzQgNi42MzQgMCAwMC0uMTA1LS4xNzJjLS4wMTUtLjAyLS4wMzktLjAyMy0uMDU4LS4wMTItLjAxNi4wMTYtLjAyNC4wNC0uMDA4LjA1OS4wMzUuMDUuMDcuMTA1LjEwMS4xNjQuMDIuMDMxLjA0LjA2Ni4wNi4xMDJ6bS00LjQ5Mi0uMDA4YS4wMy4wMyAwIDAwLjAxNi4wMDguMDQzLjA0MyAwIDAwLjAzOS0uMDI0Yy4wNDYtLjA5LjEwMS0uMTguMTYtLjI2Ni4wMTEtLjAyLjAwOC0uMDQzLS4wMDgtLjA1NGEuMDQ3LjA0NyAwIDAwLS4wNTkuMDA4Yy0uMDU4LjA5LS4xMTcuMTgtLjE2OC4yNzctLjAwNy4wMiAwIC4wNDMuMDIuMDV6bS0uMzIgMS4xODNjMCAuMDI0LjAyLjA0LjA0My4wNGEuMDQuMDQgMCAwMC4wMzktLjA0di0uMDIzYzAtLjA5OC4wMDQtLjE5Mi4wMTUtLjI5LjAwNC0uMDE5LS4wMTEtLjAzOC0uMDM1LS4wNDItLjAyLS4wMDQtLjA0My4wMTItLjA0My4wMzUtLjAxMi4wOTgtLjAyLjItLjAyLjI5N3ptLjA4Ni42MzdjLjAwNy4wMi4wMjMuMDMxLjAzOS4wMzEuMDAzIDAgLjAwNy0uMDA0LjAxMS0uMDA0LjAyLS4wMDQuMDM1LS4wMjcuMDI4LS4wNDdhMi4wOTQgMi4wOTQgMCAwMS0uMDU5LS4zMDRjLS4wMDQtLjAyNC0uMDIzLS4wNC0uMDQ3LS4wMzVhLjA0Ni4wNDYgMCAwMC0uMDM1LjA0M2MuMDE2LjEwNS4wMzUuMjE0LjA2My4zMTZ6bTQuMzU5IDEuMTMzbC4xMTctLjEzYy0uMDMxLjA4LS4wNTUuMTYxLS4wNzQuMjQzLS4wMDguMDIuMDA4LjA0My4wMjcuMDQ3aC4wMTJjLjAxNiAwIC4wMzEtLjAxMi4wMzktLjAyNy4wMjMtLjEwMi4wNTUtLjIwMy4wOTQtLjI5Ny4wMDgtLjAyLS4wMDQtLjA0My0uMDI0LS4wNTEgMC0uMDA0LS4wMDQtLjAwNC0uMDA0LS4wMDQuMDA4LS4wMDguMDE2LS4wMi4wMjQtLjAyN2EuMDQyLjA0MiAwIDAwLS4wMDgtLjA1NWMtLjAyLS4wMTYtLjA0My0uMDEyLS4wNTkuMDA4LS4wNjIuMDgyLS4xMjguMTYtLjE5OS4yMzQtLjAxNS4wMi0uMDE1LjA0MyAwIC4wNTlhLjAzNS4wMzUgMCAwMC4wMjguMDEyYy4wMTEgMCAuMDItLjAwNC4wMjctLjAxMnptLjA0My0zLjQ0NWMuMDEyIDAgLjAyLS4wMDQuMDI3LS4wMDguMDE2LS4wMTYuMDItLjA0My4wMDQtLjA1OWEzLjEgMy4xIDAgMDAtLjIyNi0uMjI2Yy0uMDItLjAxNi0uMDQzLS4wMTItLjA1OS4wMDMtLjAxNi4wMTYtLjAxMi4wNDMuMDA0LjA1NS4wNzguMDcuMTUyLjE0NS4yMjMuMjIzYS4wMzUuMDM1IDAgMDAuMDI3LjAxMnptLS4zMjggMy41OTdhMi43MyAyLjczIDAgMDEtLjI1NC4xOGMtLjAyLjAxMi0uMDI3LjAzOS0uMDE2LjA1NS4wMDguMDExLjAyNC4wMi4wMzUuMDIuMDA4IDAgLjAxNiAwIC4wMi0uMDA1LjA5NC0uMDU4LjE4LS4xMi4yNjYtLjE4Ny4wMTUtLjAxMi4wMi0uMDQuMDAzLS4wNTUtLjAxMS0uMDItLjAzOS0uMDItLjA1NC0uMDA4em0tMy45MzgtMi44ODdjLS4wMjMtLjAwNy0uMDQzIDAtLjA1LjAyNC0uMDQuMDk4LS4wNy4yMDMtLjA5OC4zMDUtLjAwNC4wMjMuMDA4LjA0My4wMzEuMDQ2LjAwNC4wMDQuMDA0LjAwNC4wMDguMDA0LjAyIDAgLjAzNS0uMDExLjAzOS0uMDMuMDIzLS4xMDIuMDU1LS4yLjA5NC0uMjk4YS4wNC4wNCAwIDAwLS4wMjQtLjA1em00LjcyNyAxLjg4YS4wMzguMDM4IDAgMDAtLjA1MS4wMjMgMy4yNSAzLjI1IDAgMDEtLjEyOS4yNjJsLS4wNDcuMDg1Yy0uMDExLjAyLS4wMDQuMDQzLjAxNi4wNTUuMDA0IDAgLjAxMi4wMDQuMDIuMDA0YS4wNDcuMDQ3IDAgMDAuMDM1LS4wMmMuMDExLS4wMjMuMDIzLS4wNDIuMDM1LS4wNjZsLjAwNC0uMDA0YzAtLjAwNC4wMDQtLjAwOC4wMDctLjAxNWExLjc3IDEuNzcgMCAwMS4xMTgtLjE4LjAzNy4wMzcgMCAwMC0uMDA0LS4wNWMuMDA4LS4wMTMuMDExLS4wMjguMDItLjA0NGEuMDM4LjAzOCAwIDAwLS4wMjQtLjA1ek01LjY0IDE3LjM0Yy0uMDE2LS4wMTYtLjA0LS4wMi0uMDU1LS4wMDRhMi40OSAyLjQ5IDAgMDAtLjIzLjIyMy4wNDIuMDQyIDAgMDAwIC4wNThjLjAwNy4wMDQuMDE5LjAwOC4wMjcuMDA4YS4wNDQuMDQ0IDAgMDAuMDMxLS4wMTIgMi4zNSAyLjM1IDAgMDEuMjIzLS4yMThjLjAxNS0uMDEyLjAyLS4wNC4wMDQtLjA1NXptLjI4OSA0LjA3YTIuMzI4IDIuMzI4IDAgMDEtLjI1NC0uMTgzYy0uMDE2LS4wMTItLjA0My0uMDEyLS4wNTUuMDA3LS4wMTYuMDE2LS4wMTIuMDQuMDA0LjA1NS4wODIuMDY2LjE3Mi4xMzMuMjYyLjE4OGEuMDMuMDMgMCAwMC4wMi4wMDcuMDQxLjA0MSAwIDAwLjAzNC0uMDIuMDQyLjA0MiAwIDAwLS4wMTEtLjA1NHptLjM4Ni00LjQ3NmMtLjAwNy0uMDItLjAzLS4wMjgtLjA1LS4wMi0uMDk4LjA0LS4xOTYuMDktLjI5LjE0LS4wNDYuMDI4LS4wOS4wNi0uMTM2LjA4Ny0uMDE2LjAxMS0uMDI0LjAzOS0uMDEyLjA1NC4wMDguMDEyLjAyNC4wMi4wMzUuMDJhLjA1Ni4wNTYgMCAwMC4wMjQtLjAwOGwuMTI5LS4wODJjLjA5My0uMDUuMTg3LS4wOTguMjgtLjEzNy4wMi0uMDExLjAzMi0uMDM1LjAyLS4wNTR6bTMuNTM2IDIuNDE0Yy4wMDMtLjAyLjAwMy0uMDM1LjAwMy0uMDU1IDAtLjA5LS4wMDctLjE4LS4wMTUtLjI2NiAwLS4wMjMtLjAyLS4wMzktLjA0My0uMDM1LS4wMjQgMC0uMDQuMDItLjAzNS4wNDMuMDA4LjA4Ni4wMTEuMTcyLjAxMS4yNTh2LjA1NWMwIC4wMi4wMTYuMDM5LjA0LjAzOS4wMjMgMCAuMDM5LS4wMTYuMDM5LS4wNHptLS4xNDEuNjY0aC4wMTJjLjAxNSAwIC4wMy0uMDEyLjAzOS0uMDI4LjAyNy0uMTA1LjA1LS4yMS4wNjYtLjMxNiAwLS4wMjMtLjAxMi0uMDQzLS4wMzUtLjA0Ny0uMDIzIDAtLjA0My4wMTYtLjA0Ny4wMzVhMi4wMDcgMi4wMDcgMCAwMS0uMDYyLjMwNWMtLjAwOC4wMjMuMDA3LjA0My4wMjcuMDV6bS00LjQ2MS43NjFhLjA0Mi4wNDIgMCAwMC0uMDU1LS4wMDdjLS4wMi4wMTUtLjAyMy4wMzktLjAxMS4wNTQuMDI3LjAzNS4wNS4wNy4wNzguMTAyYS4wMjUuMDI1IDAgMDAtLjAyNCAwIC4wMzguMDM4IDAgMDAtLjAyMy4wNWMuMDM1LjA5OC4wNjYuMi4wOS4zMDEuMDA0LjAxNi4wMi4wMzIuMDM5LjAzMiAwIDAgLjAwNC0uMDA0LjAwOC0uMDA0YS4wMzYuMDM2IDAgMDAuMDI3LS4wNDdjLS4wMi0uMDk4LS4wNS0uMi0uMDg2LS4yOTMuMDMxLjAzNS4wNjIuMDc0LjA5OC4xMS4wMDcuMDA3LjAyLjAxMS4wMjcuMDExLjAxMiAwIC4wMi0uMDA0LjAyNy0uMDEyLjAyLS4wMTUuMDItLjAzOS4wMDQtLjA1NGEyLjk4MyAyLjk4MyAwIDAxLS4xOTktLjI0M3ptNC40Ni0yLjA0NmMuMDA1LjAyLjAyLjAzLjA0LjAzaC4wMDhhLjA0My4wNDMgMCAwMC4wMzEtLjA0NiA0LjAyOCA0LjAyOCAwIDAwLS4wOTQtLjMwOWMtLjAwOC0uMDItLjAzLS4wMy0uMDUtLjAyMy0uMDIuMDA4LS4wMzIuMDMxLS4wMjQuMDUuMDM1LjA5OC4wNjYuMi4wOS4yOTh6bS0zLjIxOCAyLjk0OWMtLjEwMS0uMDM1LS4xOTktLjA3LS4yODktLjExNy0uMDIzLS4wMDgtLjA0NyAwLS4wNTUuMDItLjAwNy4wMTkgMCAuMDQyLjAyLjA1NC4wOTguMDQzLjE5NS4wODYuMjk3LjExNy4wMDQgMCAuMDA4LjAwNC4wMTIuMDA0LjAyIDAgLjAzNS0uMDEyLjAzOS0uMDI3LjAwNy0uMDI0LS4wMDQtLjA0Ny0uMDI0LS4wNTF6bS42MS4xMTdhMi42NjQgMi42NjQgMCAwMS0uMzA5LS4wNGMtLjAyMy0uMDAzLS4wNDMuMDA5LS4wNDcuMDMyLS4wMDQuMDIuMDA4LjA0My4wMzEuMDQ3LjEwNi4wMi4yMTEuMDM1LjMxNy4wNGguMDA0Yy4wMiAwIC4wMzktLjAxNy4wMzktLjAzNi4wMDQtLjAyMy0uMDEyLS4wNDMtLjAzNS0uMDQzem0tLjE3Mi01LjAyYzAtLjAwMy0uMDA0LS4wMDMtLjAwNC0uMDAzLjAxMSAwIC4wMjMgMCAuMDM1LjAwM2guMDA4Yy4wMiAwIC4wMzUtLjAxNS4wMzktLjAzNSAwLS4wMjMtLjAxNi0uMDQzLS4wMzUtLjA0N2EyLjY4MSAyLjY4MSAwIDAxLS4zMDktLjA1NGMtLjAyLS4wMDQtLjA0My4wMDgtLjA0Ny4wMzEtLjAwNC4wMi4wMDguMDQzLjAyOC4wNDdsLjE2OC4wMzVhNC40IDQuNCAwIDAwLS4yNDMuMDU1LjA0Ni4wNDYgMCAwMC0uMDMuMDVjLjAwNy4wMi4wMjIuMDMyLjAzOC4wMzIuMDA0IDAgLjAwOC0uMDA0LjAxMi0uMDA0LjEwMS0uMDI4LjIwMy0uMDUxLjMwNS0uMDY3LjAyMy0uMDAzLjAzNS0uMDIzLjAzNS0uMDQzem0uNTg2LjAyOGguMDA0Yy4wMiAwIC4wMy0uMDEyLjAzOS0uMDI4LjAxNSAwIC4wMy0uMDAzLjA0Ni0uMDAzYS4wNC4wNCAwIDAwLjAzMi0uMDQ3YzAtLjAyLS4wMjQtLjAzNS0uMDQzLS4wMzItLjA5OC4wMTItLjE5Ni4wMTYtLjI5My4wMmgtLjA5OGEuMDQuMDQgMCAwMDAgLjA3OGguMDk4Yy4wNy4wMDQuMTQ0LjAwNC4yMTUuMDEyem0tMi4yNS00LjI5N2guMDExYS4wNC4wNCAwIDAwLjA0LS4wMjdjLjAzLS4wOTguMDU4LS4yMDQuMDgxLS4zMDlhLjA0LjA0IDAgMDAtLjAzLS4wNDdjLS4wMjQtLjAwNC0uMDQ0LjAwOC0uMDQ4LjAzMS0uMDIuMTAyLS4wNDcuMjAzLS4wODIuMzAxLS4wMDQuMDIuMDA0LjA0My4wMjguMDV6bS4wOTctLjk3M2MuMDA0LjA0My4wMDQuMDkuMDA0LjEzMyAwIC4wNTkgMCAuMTIxLS4wMDguMTggMCAuMDIzLjAxNi4wMzkuMDQuMDQzaC4wMDNjLjAyIDAgLjAzNS0uMDE2LjA0LS4wNC4wMDMtLjA1OC4wMDctLjEyLjAwNy0uMTgzIDAtLjA0Ny0uMDA0LS4wOS0uMDA0LS4xMzctLjAwNC0uMDItLjAyLS4wMzktLjA0My0uMDM1YS4wNC4wNCAwIDAwLS4wMzkuMDR6bS0uMDM1LS4zMDhjLjAwNC4wMi4wMi4wMy4wNC4wM2guMDA3Yy4wMjMtLjAwMy4wMzUtLjAyMy4wMzEtLjA0NmEyLjk1IDIuOTUgMCAwMC0uMDc0LS4zMDljLS4wMDgtLjAyMy0uMDMxLS4wMzUtLjA1LS4wMjctLjAyLjAwNC0uMDMyLjAyNy0uMDI4LjA1LjAzMS4wOTkuMDU1LjIuMDc0LjMwMnpNLjY2IDEwLjM5Yy4wMDQuMDA0LjAxMi4wMDQuMDIuMDA0LjAxMSAwIC4wMjctLjAwNC4wMzUtLjAyYTIuMjYgMi4yNiAwIDAxLjE3Ni0uMjU0LjA0Ny4wNDcgMCAwMC0uMDA4LS4wNTkuMDQyLjA0MiAwIDAwLS4wNTUuMDA4IDIuMTM1IDIuMTM1IDAgMDAtLjE4My4yNjZjLS4wMTIuMDItLjAwNC4wNDMuMDE1LjA1NXptMy43MTUtLjcyN2MuMDA4LjAwOC4wMTYuMDA4LjAyMy4wMDhhLjAzNi4wMzYgMCAwMC4wMzItLjAxNmMuMDE1LS4wMTUuMDExLS4wNDMtLjAwOC0uMDU0YTIuNDA0IDIuNDA0IDAgMDAtLjI2Ni0uMTc2Yy0uMDQ3LS4wMjgtLjA5My0uMDU1LS4xNDQtLjA3OC0uMDItLjAwOC0uMDQzIDAtLjA1MS4wMi0uMDEyLjAxOS0uMDA0LjA0Mi4wMTYuMDUuMDQ2LjAyMy4wOTMuMDUuMTM2LjA3NC4wOS4wNTUuMTguMTEuMjYyLjE3MnptLTMuMzA5LjIzNGEuMDQ0LjA0NCAwIDAwLjAzMi0uMDExYy4wNy0uMDc1LjE1Mi0uMTQ1LjIzNC0uMjA3LjAxNi0uMDEyLjAyLS4wNC4wMDQtLjA1NS0uMDEyLS4wMi0uMDM1LS4wMi0uMDU1LS4wMDhhMy4xMjEgMy4xMjEgMCAwMC0uMjQyLjIxMS4wNDIuMDQyIDAgMDAwIC4wNTljLjAwOC4wMDguMDIuMDExLjAyNy4wMTF6bS0uMzUxIDMuMTI1YS4wNC4wNCAwIDAwLS4wMTIuMDU1Yy4wNTkuMDkuMTIxLjE3Ni4xOTIuMjU4LjAwNy4wMTIuMDIuMDE2LjAzLjAxNi4wMDkgMCAuMDE2LS4wMDQuMDI0LS4wMTIuMDItLjAxMi4wMi0uMDQuMDA4LS4wNTVhMS44OTcgMS44OTcgMCAwMS0uMTg3LS4yNWMtLjAxMi0uMDE1LS4wNC0uMDIzLS4wNTUtLjAxMnptNC40My0yLjM5NGMuMDA3LjAxNi4wMi4wMjMuMDM1LjAyMy4wMDggMCAuMDExIDAgLjAyLS4wMDQuMDE5LS4wMDcuMDI3LS4wMy4wMTktLjA1YTMuMjk3IDMuMjk3IDAgMDAtLjE1My0uMjg2Yy0uMDExLS4wMTktLjAzNS0uMDIzLS4wNTQtLjAxMS0uMDIuMDA4LS4wMjQuMDM1LS4wMTIuMDU0LjA1NS4wODYuMTAyLjE4LjE0NS4yNzR6TTMuNjkgOS4yOTdjLjAwNC4wMDQuMDA4LjAwNC4wMTIuMDA0LjAxNiAwIC4wMzEtLjAxMi4wNC0uMDI4LjAwNy0uMDItLjAwNS0uMDQzLS4wMjQtLjA1YTIuMTc4IDIuMTc4IDAgMDAtLjMxMy0uMDg2Yy0uMDItLjAwOC0uMDM5LjAwOC0uMDQ3LjAyNy0uMDA0LjAyNC4wMTIuMDQzLjAzMi4wNS4xMDEuMDIuMjAzLjA0OC4zLjA4M3ptLTEuNTMtLjA0Yy4wOTctLjAyNy4xOTgtLjA1LjMtLjA2Ni4wMjMtLjAwNC4wMzktLjAyNy4wMzUtLjA0Ni0uMDA0LS4wMjQtLjAyMy0uMDM2LS4wNDctLjAzNi0uMTA1LjAyLS4yMS4wNDMtLjMxMi4wNzVhLjAzNS4wMzUgMCAwMC0uMDI4LjA0NmMuMDA0LjAyLjAyLjAzMi4wNC4wMzIuMDAzIDAgLjAwNyAwIC4wMTEtLjAwNHpNLjQxMyAxMC45NzRoLjAxMmMuMDE1IDAgLjAzMS0uMDEyLjAzOS0uMDI4LjAyNy0uMDk3LjA2Mi0uMTk5LjEwNS0uMjkzLjAwOC0uMDIgMC0uMDQzLS4wMi0uMDUtLjAxOS0uMDEyLS4wNDIgMC0uMDU0LjAyLS4wNDMuMDk3LS4wNzguMTk4LS4xMS4zLS4wMDcuMDIuMDA1LjA0My4wMjguMDV6bTIuNjY4LTEuODA1aC4wMDRhLjA0LjA0IDAgMDAuMDM5LS4wNGMuMDA0LS4wMTktLjAxMi0uMDM4LS4wMzUtLjA0Mi0uMTA2LS4wMDgtLjIxNS0uMDEyLS4zMi0uMDA4LS4wMjQgMC0uMDQuMDItLjA0LjA0MyAwIC4wMjQuMDIuMDQuMDQzLjA0LjEwMi0uMDA1LjIwNy0uMDA1LjMwOS4wMDd6TS40NDUgMTIuNDUzYy0uMDIzLjAwOC0uMDMuMDMxLS4wMjcuMDUuMDM1LjEwMi4wNzguMi4xMjUuMjk4LjAwOC4wMTUuMDIuMDIzLjAzNS4wMjMuMDA4IDAgLjAxMi0uMDA0LjAyLS4wMDQuMDItLjAxMS4wMjctLjAzNS4wMTUtLjA1NGEyLjYzMyAyLjYzMyAwIDAxLS4xMTctLjI5Yy0uMDA4LS4wMTktLjAzMS0uMDMtLjA1LS4wMjN6bTQuNTQuNjE3Yy4wMDMuMDA0LjAxMS4wMDQuMDE5LjAwNC4wMTYgMCAuMDI3LS4wMDQuMDM1LS4wMTUuMDItLjAzNi4wNDMtLjA3LjA2My0uMTA2LjAwMy0uMDA4LjAwNy0uMDIuMDE1LS4wMjdsLjAwNC0uMDA0Yy4wNS0uMDkuMTEzLS4xNzYuMTc2LS4yNTguMDEyLS4wMi4wMTItLjA0My0uMDA4LS4wNTUtLjAxNi0uMDE1LS4wNDMtLjAxMS0uMDU1LjAwNGExLjgzIDEuODMgMCAwMC0uMDc4LjEwNmMtLjAxNSAwLS4wMjcuMDA4LS4wMzUuMDIzYTIuMzggMi4zOCAwIDAxLS4wOS4xNzJjLS4wMi4wMzUtLjAzOS4wNjYtLjA1OC4xMDJhLjA0LjA0IDAgMDAuMDExLjA1NHptLTQuNjAyLS44NDNjLjAyLS4wMDguMDM1LS4wMjguMDMxLS4wNTFhMS45NzggMS45NzggMCAwMS0uMDQ3LS4zMDVjMC0uMDIzLS4wMi0uMDM5LS4wNDMtLjAzOS0uMDIzLjAwNC0uMDM5LjAyMy0uMDM1LjA0My4wMDguMTEuMDI0LjIxNS4wNDcuMzIuMDA0LjAxNi4wMi4wMzIuMDM5LjAzMmguMDA4em0zLjk0OSAxLjQ2NGEyLjk1NSAyLjk1NSAwIDAxLS4yNjIuMTY0Yy0uMDIuMDEyLS4wMjcuMDM2LS4wMTUuMDU1LjAwOC4wMTYuMDIuMDIuMDM1LjAyLjAwOCAwIC4wMTIgMCAuMDItLjAwNC4wOTMtLjA1MS4xODMtLjExLjI2OS0uMTcyYS4wNC4wNCAwIDAwLjAxMi0uMDU1Yy0uMDE2LS4wMi0uMDQtLjAyMy0uMDU5LS4wMDh6bS0xLjQ5Ni41MTZjMCAuMDIzLjAyLjA0LjAzOS4wNC4xMSAwIC4yMTUtLjAwOS4zMi0uMDI0LjAyNCAwIC4wNC0uMDIuMDM1LS4wNDMtLjAwMy0uMDI0LS4wMjMtLjA0LS4wNDItLjAzNS0uMTA2LjAxNS0uMjA4LjAyLS4zMTMuMDIzYS4wNC4wNCAwIDAwLS4wNC4wMzl6bTEuNzY2LS42NDVjLjAwNyAwIC4wMi0uMDAzLjAyNy0uMDExLjA3NC0uMDcuMTQ0LS4xNDUuMjEtLjIyM2wtLjA0Ni4xMzdjLS4wMDguMDIzLjAwNC4wNDMuMDI3LjA1LjAwNCAwIC4wMDguMDA1LjAxMi4wMDUuMDE2IDAgLjAzMS0uMDEyLjA0LS4wMzJhMi4yIDIuMiAwIDAxLjEwNS0uMjkzYy4wMDctLjAyIDAtLjA0My0uMDItLjA1LS4wMi0uMDA4LS4wNDMgMC0uMDUuMDItLjAyLjAzOC0uMDM2LjA3Ny0uMDUyLjExNmEuMDIxLjAyMSAwIDAwLS4wMTEtLjAyYy0uMDE2LS4wMTUtLjA0My0uMDExLS4wNTUuMDA1LS4wNjYuMDc4LS4xNC4xNTYtLjIxNS4yMjYtLjAxNS4wMTYtLjAyLjA0LS4wMDQuMDU1LjAwOC4wMDguMDIuMDE1LjAzMi4wMTV6bS0yLjM5MS41NmMtLjAwOC4wMjMuMDA4LjA0Mi4wMjcuMDUuMTA2LjAyMy4yMTEuMDQzLjMxNy4wNTUuMDA0IDAgLjAwNC4wMDMuMDA0LjAwMy4wMjMgMCAuMDM5LS4wMTUuMDQzLS4wMzkgMC0uMDItLjAxNi0uMDM5LS4wMzYtLjA0M2EyLjY4MSAyLjY4MSAwIDAxLS4zMDgtLjA1NGMtLjAyLS4wMDgtLjA0My4wMDgtLjA0Ny4wMjd6bTEuMjU0LjAxYy4wMDQuMDIuMDIuMDMyLjAzOS4wMzJoLjAwOGMuMTA1LS4wMjcuMjA3LS4wNjIuMzA0LS4xMDEuMDI0LS4wMDguMDMyLS4wMzIuMDI0LS4wNTEtLjAwOC0uMDItLjAzMS0uMDMyLS4wNS0uMDI0LS4wOTkuMDQtLjE5Ni4wNy0uMjk4LjA5OC0uMDIuMDA0LS4wMzUuMDI3LS4wMjcuMDQ3em0xLjM1NS00LjAzNGMuMDA4LjAxMS4wMi4wMTUuMDMyLjAxNWEuMDU2LjA1NiAwIDAwLjAyMy0uMDA4Yy4wMi0uMDE1LjAyLS4wMzkuMDA4LS4wNTRhMi41MTYgMi41MTYgMCAwMC0uMjE1LS4yMzkuMDQyLjA0MiAwIDAwLS4wNTkgMCAuMDM4LjAzOCAwIDAwMCAuMDU1Yy4wNzUuMDc0LjE0NS4xNTMuMjExLjIzem0tNC41IDEuNWEuMDQuMDQgMCAwMC4wNC0uMDRjLjAwMy0uMTA1LjAxNS0uMjA2LjAzLS4zMDguMDA1LS4wMjMtLjAwNy0uMDQzLS4wMy0uMDQ3YS4wNDMuMDQzIDAgMDAtLjA0Ny4wMzEgMi45NjIgMi45NjIgMCAwMC0uMDMyLjMyYzAgLjAyNC4wMTYuMDQuMDQuMDQ0em0xLjMwNSAyLjI4OWMtLjAxMi4wMi0uMDA0LjA0My4wMTYuMDUuMDkzLjA1MS4xOTEuMDk4LjI5My4xMzdoLjAxNWMuMDE2IDAgLjAzMS0uMDA4LjAzNS0uMDIzQS4wMzguMDM4IDAgMDAxLjk2MSAxNGEyLjYzMSAyLjYzMSAwIDAxLS4yODEtLjEzMy4wNDUuMDQ1IDAgMDAtLjA1NS4wMnptLS41MDgtLjM3NWEuMDQyLjA0MiAwIDAwMCAuMDU4Yy4wNzguMDcuMTY0LjEzNy4yNS4yYS4wNTYuMDU2IDAgMDAuMDI0LjAwN2MuMDExIDAgLjAyMy0uMDA3LjAzLS4wMTUuMDE2LS4wMi4wMTMtLjA0My0uMDA3LS4wNTlhMS45NjEgMS45NjEgMCAwMS0uMjQyLS4xOTVjLS4wMTYtLjAxMi0uMDQzLS4wMTItLjA1NS4wMDR6bS40NS00Yy4wMDcgMCAuMDE1IDAgLjAyMy0uMDA0LjA4Ni0uMDU1LjE4LS4xMDIuMjc3LS4xNDUuMDItLjAwOC4wMjgtLjAzMS4wMi0uMDVhLjAzOS4wMzkgMCAwMC0uMDU1LS4wMmMtLjA5OC4wMzktLjE5MS4wOS0uMjg1LjE0NS0uMDIuMDExLS4wMjQuMDM1LS4wMTIuMDU0LjAwNC4wMTIuMDIuMDIuMDMxLjAyem04LjI0MiA0LjUyM2MtLjAyNCAwLS4wNC4wMi0uMDQuMDQzLjAwNC4wNDMuMDA0LjA4Ni4wMDQuMTI5IDAgLjA2MyAwIC4xMjEtLjAwMy4xOC0uMDA0LjAyMy4wMTEuMDQzLjAzNS4wNDNoLjAwNGMuMDIgMCAuMDM5LS4wMTYuMDM5LS4wMzUuMDA0LS4wNjMuMDA3LS4xMjUuMDA3LS4xODggMC0uMDQzLS4wMDMtLjA5LS4wMDMtLjEzN2EuMDQyLjA0MiAwIDAwLS4wNDMtLjAzNXptLS4xMzcgMS4wMTJjLjAwNC4wMDQuMDA4LjAwNC4wMTIuMDA0LjAxNSAwIC4wMy0uMDEyLjAzOS0uMDI4LjAzLS4xMDEuMDYyLS4yMDcuMDgyLS4zMTJhLjA0My4wNDMgMCAwMC0uMDMyLS4wNDcuMDQuMDQgMCAwMC0uMDQ2LjAzMWMtLjAyLjEwMi0uMDQ3LjIwMy0uMDgyLjMwMWEuMDQ1LjA0NSAwIDAwLjAyNy4wNXptLS4wOS4yMTljLS4wMi0uMDA4LS4wNDMgMC0uMDUuMDItLjAzMi4wNTgtLjA2LjExNi0uMDk1LjE3MS0uMDE5LjAzNS0uMDM5LjA2Ni0uMDU4LjEwMi0uMDEyLjAyLS4wMDguMDQzLjAxMi4wNTRhLjAzLjAzIDAgMDAuMDIuMDA4LjA0MS4wNDEgMCAwMC4wMzQtLjAyYy4wMi0uMDM1LjA0My0uMDcuMDYzLS4xMDEuMDMxLS4wNTkuMDY2LS4xMjEuMDk0LS4xOGEuMDQ1LjA0NSAwIDAwLS4wMi0uMDU0em0uMTA1LTEuODUyYS4wNDUuMDQ1IDAgMDAtLjAyNy4wNWMuMDMxLjA5OC4wNTkuMi4wNzQuMzAyLjAwNC4wMi4wMi4wMzUuMDQuMDM1aC4wMDdjLjAyNC0uMDA0LjAzNS0uMDI4LjAzMS0uMDQ3YTIuMTM4IDIuMTM4IDAgMDAtLjA3NC0uMzEzYy0uMDA4LS4wMjMtLjAzMS0uMDM1LS4wNS0uMDI3em0tNC4xNjQgMi42NGMtLjAxNS4wMi0uMDE1LjA0NCAwIC4wNi4wNzkuMDcuMTY1LjE0LjI1LjE5OC4wMDguMDA4LjAxNi4wMDguMDI0LjAwOC4wMTIgMCAuMDI3LS4wMDQuMDM1LS4wMTUuMDEyLS4wMi4wMDgtLjA0My0uMDEyLS4wNTVhMi45NCAyLjk0IDAgMDEtLjI0Mi0uMTk1Yy0uMDE2LS4wMTYtLjA0My0uMDE2LS4wNTUgMHptLS4wNzgtMy42MjRjLjAwOC4wMDguMDIuMDExLjAzMi4wMTEuMDA3IDAgLjAyLS4wMDQuMDI3LS4wMTEuMDc0LS4wNzUuMTUyLS4xNC4yMzQtLjIwMy4wMTYtLjAxNi4wMi0uMDQuMDA0LS4wNTktLjAxMi0uMDE2LS4wMzUtLjAyLS4wNTQtLjAwOGEyLjUwNyAyLjUwNyAwIDAwLS4yNDMuMjE1LjAzOC4wMzggMCAwMDAgLjA1NXptLS4xMTMgMy40NjVjLjAwOCAwIC4wMi0uMDA0LjAyNy0uMDA4LjAxNi0uMDE2LjAxNi0uMDQuMDA0LS4wNTlhMi4yNzMgMi4yNzMgMCAwMS0uMTg3LS4yNDZjLS4wMTItLjAyLS4wMzUtLjAyMy0uMDU1LS4wMTItLjAyLjAxMi0uMDIzLjAzNS0uMDEyLjA1NS4wNTkuMDkuMTIxLjE3Ni4xOTIuMjU4LjAwOC4wMDguMDIuMDEyLjAzMS4wMTJ6bS42NC0zLjg0Yy4wMDggMCAuMDE2IDAgLjAyNC0uMDA0YTEuNjggMS42OCAwIDAxLjI3Ny0uMTQuMDQ1LjA0NSAwIDAwLjAyLS4wNTZjLS4wMDgtLjAyLS4wMzEtLjAyNy0uMDUtLjAyLS4xMDIuMDQ0LS4xOTYuMDktLjI5LjE0NS0uMDIuMDEyLS4wMjMuMDM2LS4wMTIuMDU1LjAwOC4wMTIuMDIuMDIuMDMyLjAyem0uNTk0LS4yNWMuMDk4LS4wMzIuMi0uMDU1LjMwMS0uMDcuMDI0LS4wMDUuMDQtLjAyNC4wMzUtLjA0N2EuMDQuMDQgMCAwMC0uMDQ3LS4wMzJjLS4xMDUuMDE2LS4yMS4wNC0uMzEyLjA3LS4wMi4wMDgtLjAzNS4wMjgtLjAyNy4wNTEuMDA0LjAxNi4wMi4wMjguMDM5LjAyOGguMDExem0tMS41ODIgMy41NjJjLjAwOCAwIC4wMTIgMCAuMDItLjAwNC4wMi0uMDExLjAyNy0uMDM1LjAxNi0uMDU0YTMuNjM5IDMuNjM5IDAgMDEtLjExOC0uMjg2Yy0uMDA3LS4wMjMtLjAzLS4wMzUtLjA1LS4wMjctLjAyLjAwOC0uMDMyLjAzMS0uMDI0LjA1LjAzMS4xMDIuMDc0LjIwNC4xMjEuMjk4YS4wNDIuMDQyIDAgMDAuMDM1LjAyM3ptMy43OTctMy4xNTZhLjA1Ni4wNTYgMCAwMC4wMjQuMDA4Yy4wMTEgMCAuMDIzLS4wMDguMDMtLjAxNi4wMTctLjAyLjAxMy0uMDQzLS4wMDctLjA1OGEyLjYwNyAyLjYwNyAwIDAwLS4yNjUtLjE3NmMtLjA0Ny0uMDI4LS4wOTQtLjA1NS0uMTQ1LS4wNzgtLjAyLS4wMDgtLjA0MyAwLS4wNS4wMi0uMDEzLjAxOS0uMDA1LjA0Mi4wMTUuMDU0YTIuNDQgMi40NCAwIDAxLjM5OC4yNDZ6bS0yLjc1IDQuMjE5Yy0uMDExLjAyLS4wMDQuMDQzLjAxNi4wNTRhMi44MSAyLjgxIDAgMDAuMzA4LjEzNy4wMzguMDM4IDAgMDAuMDM2LS4wMjcuMDM4LjAzOCAwIDAwLS4wMjQtLjA1MSAzLjY1NiAzLjY1NiAwIDAxLS4yODEtLjEyOWMtLjAyLS4wMTItLjA0My0uMDA0LS4wNTUuMDE2em0tMS4zLTIuMDUxYy0uMDI0IDAtLjA0LjAyLS4wMzYuMDQzLjAwOC4xMDUuMDI0LjIxLjA0Ny4zMTYuMDA0LjAyLjAyLjAzMi4wNC4wMzJoLjAwN2EuMDQzLjA0MyAwIDAwLjAzMS0uMDQ3IDIuMTA1IDIuMTA1IDAgMDEtLjA0Ny0uMzA5YzAtLjAyMy0uMDItLjAzOS0uMDQzLS4wMzV6bTIuNzU3LTIuNjY4aC4wMDRjLjAyNCAwIC4wNC0uMDE2LjA0My0uMDM1IDAtLjAyNC0uMDE1LS4wNDMtLjAzOS0uMDQzYTIuMTk0IDIuMTk0IDAgMDAtLjMyLS4wMDguMDQuMDQgMCAwMC0uMDQuMDRjMCAuMDIzLjAyLjAzOC4wNDQuMDM4LjEwMS0uMDA0LjIwNyAwIC4zMDguMDA4em0uNjEuMTMzaC4wMTFjLjAyIDAgLjAzNi0uMDA4LjA0LS4wMjguMDA3LS4wMi0uMDA0LS4wNDMtLjAyNC0uMDVhMy4wMzIgMy4wMzIgMCAwMC0uMzA5LS4wODZjLS4wMjMtLjAwNC0uMDQzLjAwOC0uMDUuMDNhLjA0My4wNDMgMCAwMC4wMy4wNDhjLjEwMi4wMjMuMjA0LjA1LjMwMi4wODZ6bTEuMTI5LjhjLjAwNy4wMDguMDIuMDEyLjAzLjAxMi4wMDkgMCAuMDIgMCAuMDI0LS4wMDguMDA0IDAgLjAwNCAwIC4wMDQtLjAwM2EuMTM5LjEzOSAwIDAxLjAxNi4wMzVjLjAwOC4wMTUuMDIuMDIzLjAzNS4wMjMuMDA4IDAgLjAxMiAwIC4wMTYtLjAwNGEuMDM4LjAzOCAwIDAwLjAyMy0uMDUgMi4wMiAyLjAyIDAgMDEtLjEwNS0uMjk0Yy0uMDA4LS4wMi0uMDI4LS4wMzUtLjA1MS0uMDI3YS4wNDUuMDQ1IDAgMDAtLjAyOC4wNWMuMDE2LjA1Ni4wMzYuMTA2LjA1NS4xNjFhMy44MiAzLjgyIDAgMDAtLjE3Mi0uMTg0LjA0Mi4wNDIgMCAwMC0uMDU4IDBjLS4wMTYuMDE2LS4wMTIuMDQzLjAwNC4wNTUuMDc0LjA3NC4xNDQuMTUyLjIwNy4yMzV6TTcuODcgMTYuNjhjLjAwNC4wMTUuMDIuMDI3LjA0LjAyN2guMDA3Yy4xMDUtLjAyNy4yMDctLjA1OS4zMDUtLjEwMmEuMDM4LjAzOCAwIDAwLjAyMy0uMDVjLS4wMDgtLjAyLS4wMzEtLjAzMi0uMDUtLjAyNGEyLjAzIDIuMDMgMCAwMS0uMjk4LjA5OGMtLjAyLjAwOC0uMDM1LjAyNy0uMDI3LjA1em0tMy4xMDUtMi45MzRjLS4wMi0uMDA0LS4wNDMuMDEyLS4wNDcuMDM1YTIuOCAyLjggMCAwMC0uMDMyLjMxN2MwIC4wMjMuMDE2LjA0My4wNC4wNDMuMDIzIDAgLjAzOS0uMDE2LjAzOS0uMDQuMDA0LS4xMDEuMDE1LS4yMDYuMDM1LS4zMDguMDA0LS4wMjMtLjAxMi0uMDQzLS4wMzUtLjA0N3ptMy45NzIgMi40ODhhMi45ODggMi45ODggMCAwMS0uMjYxLjE2OGMtLjAyLjAwOC0uMDI4LjAzMi0uMDE2LjA1MS4wMDguMDE2LjAyLjAyNC4wMzUuMDI0LjAwOCAwIC4wMTItLjAwNC4wMi0uMDA4LjA5My0uMDUxLjE4My0uMTEuMjctLjE3Mi4wMTktLjAxMi4wMjMtLjAzNS4wMS0uMDU1YS4wNDcuMDQ3IDAgMDAtLjA1OC0uMDA4em0uMjctLjEyOWMuMDA4IDAgLjAyLS4wMDMuMDI3LS4wMTEuMDc4LS4wNzQuMTUyLS4xNTMuMjE5LS4yMzUuMDE2LS4wMTUuMDEyLS4wNDMtLjAwNC0uMDU0LS4wMTYtLjAxNi0uMDQzLS4wMTItLjA1NS4wMDQtLjA2Ni4wODItLjE0LjE1Ni0uMjE1LjIyNmEuMDQ3LjA0NyAwIDAwLS4wMDMuMDU5Yy4wMDcuMDA4LjAyLjAxMS4wMy4wMTF6TTkuOTc3IDQuNzJjLjAwNyAwIC4wMiAwIC4wMjctLjAwOC4wNzgtLjA3LjE2LS4xMzcuMjQyLS4xOTUuMDItLjAxMi4wMjQtLjAzNi4wMTItLjA1NWEuMDQuMDQgMCAwMC0uMDU1LS4wMTJjLS4wOS4wNjMtLjE3Mi4xMy0uMjU0LjIwMy0uMDE1LjAxMi0uMDE1LjA0LS4wMDQuMDU1LjAwOC4wMDguMDIuMDEyLjAzMi4wMTJ6bTMuNzQyIDMuMzdhLjA1Ni4wNTYgMCAwMC4wMjMuMDA5LjA0MS4wNDEgMCAwMC4wMzUtLjAyIDIuMzkgMi4zOSAwIDAwLjE2OC0uMjdjLjAxMi0uMDE5LjAwNC0uMDQyLS4wMTUtLjA1NC0uMDItLjAxMi0uMDQzLS4wMDQtLjA1MS4wMTYtLjA1LjA5LS4xMDYuMTgtLjE2OC4yNjFhLjA0Ny4wNDcgMCAwMC4wMDguMDU5em0tLjQwMy40N2EuMDU2LjA1NiAwIDAwLjAyNC0uMDA4Yy4wODItLjA3LjE2LS4xNDUuMjM0LS4yMjMuMDE2LS4wMTUuMDEyLS4wNDMtLjAwNC0uMDU1YS4wMzguMDM4IDAgMDAtLjA1NCAwYy0uMDcuMDc5LS4xNDkuMTQ5LS4yMjcuMjE1LS4wMTYuMDE2LS4wMi4wNC0uMDA0LjA1OS4wMDguMDA4LjAyLjAxMi4wMzEuMDEyem0tLjUzLjM0M2MuMDA3IDAgLjAxIDAgLjAxOS0uMDA0LjA5My0uMDQ2LjE4Ny0uMDk3LjI3Ny0uMTU2YS4wNC4wNCAwIDAwLjAxMi0uMDU1Yy0uMDEyLS4wMTktLjAzNS0uMDIzLS4wNTUtLjAxMS0uMDg2LjA1NC0uMTguMTA1LS4yNy4xNTItLjAxOS4wMDgtLjAzLjAzMS0uMDE5LjA1NS4wMDguMDEyLjAyLjAyLjAzNS4wMnptLS40NTgtNC43NDZhMi42MzggMi42MzggMCAwMS4zMTMuMTAyYy4wMTUgMCAuMDI3LS4wMDguMDM1LS4wMjQuMDA4LS4wMjMgMC0uMDQ2LS4wMjQtLjA1NC0uMDk3LS4wNC0uMTk5LS4wNzUtLjMwNC0uMTAyLS4wMi0uMDA0LS4wNDMuMDA4LS4wNDcuMDI3LS4wMDguMDI0LjAwOC4wNDMuMDI3LjA1MXptLS43NzMgNWguMTZhNC4xIDQuMSAwIDAxLjMwOC4wMjRsLjAwNC4wMDRjLjAyNCAwIC4wNC0uMDE2LjA0My0uMDM2IDAtLjAyMy0uMDE1LS4wNDMtLjAzNS0uMDQ2bC0uMTI5LS4wMTJhLjA0MS4wNDEgMCAwMC0uMDM1LS4wMiAyLjc2OSAyLjc2OSAwIDAxLS4zMTIuMDA0LjA0LjA0IDAgMDAtLjA0LjA0Yy0uMDAzLjAyMy4wMTYuMDM4LjAzNi4wNDJ6bS0uNDctNS4wMmguMDA5Yy4xMDEtLjAyMy4yMDctLjA0Mi4zMDgtLjA1LjAyNC0uMDA0LjA0LS4wMjQuMDM2LS4wNDdhLjA0Ni4wNDYgMCAwMC0uMDQzLS4wMzUgMi44MTYgMi44MTYgMCAwMC0uMzE3LjA1NWMtLjAyMy4wMDctLjAzNS4wMjctLjAzMS4wNDYuMDA0LjAyLjAyLjAzMi4wMzkuMDMyem0uNjMtLjA2NmMuMTAxIDAgLjIwNy4wMDguMzA4LjAyNGguMDA0Yy4wMjQgMCAuMDQtLjAxNi4wNDMtLjAzNSAwLS4wMi0uMDE1LS4wNDMtLjAzNS0uMDQzYTIuOTUzIDIuOTUzIDAgMDAtLjMyLS4wMjguMDQuMDQgMCAwMC0uMDQuMDRjLS4wMDMuMDIzLjAxNi4wNDIuMDQuMDQyem0uNDczIDUuMDM1aC4wMDdjLjEwNi0uMDIuMjExLS4wNS4zMTMtLjA4Mi4wMi0uMDA3LjAzMS0uMDMuMDIzLS4wNS0uMDA4LS4wMjQtLjAzMS0uMDM2LS4wNS0uMDI4LS4wOTguMDM1LS4yLjA2My0uMzAxLjA4MmEuMDQuMDQgMCAwMC0uMDMyLjA0N2MuMDA0LjAyLjAyLjAzMS4wNC4wMzF6bTEuNDMtNC4xMTdjLjAwNy4wMTIuMDE5LjAxNi4wMjcuMDE2LjAxMSAwIC4wMi0uMDA0LjAyNy0uMDA4LjAxNS0uMDE2LjAyLS4wMzkuMDA0LS4wNTlhMi40NjggMi40NjggMCAwMC0uMjE5LS4yMzQuMDM4LjAzOCAwIDAwLS4wNTUgMCAuMDQyLjA0MiAwIDAwMCAuMDU5Yy4wNzguMDcuMTQ5LjE0OC4yMTUuMjI2em0tMi42OTIgNC4wNTljLjA5Ny4wMjcuMTk1LjA1NS4yOTcuMDdhMS41NyAxLjU3IDAgMDAtLjE0NS4wMzFjLS4wMjMuMDA0LS4wMzUuMDI4LS4wMzEuMDQ3LjAwNC4wMi4wMi4wMzIuMDM5LjAzMmguMDA4YTIuODQgMi44NCAwIDAxLjMwOC0uMDU1Yy4wMjQgMCAuMDQtLjAyNC4wMzYtLjA0My0uMDA0LS4wMjQtLjAyNC0uMDQtLjA0My0uMDM1YTEuMzY1IDEuMzY1IDAgMDAtLjEyNS4wMTVjLjAwNy0uMDA0LjAxMS0uMDExLjAxMS0uMDIzLjAwNC0uMDItLjAwOC0uMDQtLjAzMS0uMDQzYTIuNiAyLjYgMCAwMS0uMy0uMDc0Yy0uMDI0LS4wMDQtLjA0OC4wMDgtLjA1Mi4wMjctLjAwNy4wMjQuMDA0LjA0My4wMjguMDV6bS0uNTg2LS4yNjJjLjA5LjA1NS4xODcuMTA2LjI4NS4xNDkuMDA0LjAwNC4wMDguMDA0LjAxNi4wMDQuMDE1IDAgLjAyNy0uMDA4LjAzNS0uMDI0YS4wNDUuMDQ1IDAgMDAtLjAyLS4wNTUgMi4wODUgMi4wODUgMCAwMS0uMjc3LS4xNDRjLS4wMi0uMDA4LS4wNDMtLjAwNC0uMDU1LjAxNS0uMDExLjAyLS4wMDQuMDQzLjAxNi4wNTV6bS4xNTYtNC40MjZjLjAwNCAwIC4wMTIgMCAuMDE2LS4wMDQuMDkzLS4wNDYuMTg3LS4wOS4yODUtLjEyOC4wMi0uMDA4LjAzMS0uMDMyLjAyMy0uMDUxLS4wMDgtLjAyLS4wMy0uMDMxLS4wNS0uMDI0LS4xMDIuMDQtLjIuMDgyLS4yOTMuMTMzLS4wMi4wMDgtLjAyOC4wMzUtLjAxNi4wNTUuMDA0LjAxMi4wMi4wMi4wMzUuMDJ6bS0uOTU3LjgzMmEuMDUuMDUgMCAwMC4wMjQuMDA0Yy4wMTEgMCAuMDI3LS4wMDQuMDM1LS4wMTUuMDU0LS4wODYuMTItLjE2OC4xODctLjI0Ni4wMTYtLjAyLjAxMi0uMDQzLS4wMDQtLjA1OS0uMDE1LS4wMTYtLjA0My0uMDEyLS4wNTQuMDA0LS4wNy4wODItLjEzNy4xNjgtLjE5Ni4yNTgtLjAxNS4wMTUtLjAwOC4wNDMuMDA4LjA1NHptMy4zNjMtLjhjLjA5NC4wNS4xOC4xMDkuMjYyLjE2OC4wMDguMDA3LjAxNi4wMDcuMDI0LjAwNy4wMTUgMCAuMDI3LS4wMDMuMDM1LS4wMTVhLjA0Mi4wNDIgMCAwMC0uMDA4LS4wNTUgMy45OCAzLjk4IDAgMDAtLjI3LS4xNzZjLS4wMi0uMDExLS4wNDctLjAwNC0uMDU0LjAxNmEuMDQyLjA0MiAwIDAwLjAxMS4wNTV6TTEwLjA3NCA4LjZhLjA1Ni4wNTYgMCAwMC4wMjQuMDA4LjAzNi4wMzYgMCAwMC4wMy0uMDE1Yy4wMTctLjAxNi4wMTMtLjA0My0uMDAzLS4wNTVhMi4zMzkgMi4zMzkgMCAwMS0uMjM0LS4yMDcuMDM4LjAzOCAwIDAwLS4wNTUgMCAuMDM4LjAzOCAwIDAwMCAuMDU1Yy4wNzQuMDc4LjE1Ni4xNDguMjM4LjIxNXptLS44MDgtMi44NDNjLjAwNC4wMDQuMDA3LjAwNC4wMTEuMDA0LjAxNiAwIC4wMzItLjAxMi4wNC0uMDI4LjAzNS0uMDk3LjA3NC0uMTk1LjEyLS4yODUuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNTQtLjAyLS4wMTItLjA0My0uMDA0LS4wNTUuMDItLjA0Ny4wOTMtLjA5LjE5LS4xMjUuMjkyYS4wNC4wNCAwIDAwLjAyNC4wNXptLS4xMjUuNjJoLjAwNGMuMDIgMCAuMDM1LS4wMTUuMDM5LS4wMzguMDA3LS4xMDIuMDIzLS4yMDMuMDQ2LS4zMDUuMDA0LS4wMjMtLjAwNy0uMDQzLS4wMy0uMDQ3LS4wMi0uMDA4LS4wNDQuMDA4LS4wNDguMDI4YTIuODggMi44OCAwIDAwLS4wNS4zMmMwIC4wMi4wMTUuMDM5LjAzOS4wNDN6bTUuMDExLjc4MmMtLjAyLS4wMDQtLjA0My4wMDgtLjA0Ny4wMzEtLjAyNy4wOTgtLjA1OC4yLS4wOTcuMjk3LS4wMDguMDIuMDA0LjA0My4wMjMuMDUxLjAwNCAwIC4wMDguMDA0LjAxNi4wMDRhLjAzOC4wMzggMCAwMC4wMzUtLjAyN2MuMDQtLjA5OC4wNzQtLjIwNC4wOTgtLjMwNS4wMDgtLjAyNC0uMDA0LS4wNDMtLjAyOC0uMDV6bS00LjcwNy43MTljLjA1NS4wOS4xMTQuMTguMTguMjY2LjAwOC4wMTEuMDIuMDE1LjAzMS4wMTUuMDA4IDAgLjAxNi0uMDA0LjAyNC0uMDA4LjAyLS4wMTUuMDIzLS4wMzkuMDA4LS4wNTRhMi4zMjMgMi4zMjMgMCAwMS0uMTcyLS4yNjJjLS4wMTItLjAxNi0uMDQtLjAyNC0uMDU1LS4wMTItLjAyLjAxMi0uMDI3LjAzNS0uMDE2LjA1NXptLS4yOC0uODcxaC4wMDNjLjAyMy0uMDA0LjAzOS0uMDI0LjAzNS0uMDQzYTIuODIyIDIuODIyIDAgMDEtLjAzMS0uMzEzYzAtLjAyLS4wMi0uMDM5LS4wNC0uMDM5LS4wMjMgMC0uMDM4LjAyLS4wMzguMDQzLjAwNC4xMDYuMDExLjIxNS4wMzEuMzIgMCAuMDIuMDIuMDMyLjA0LjAzMnptNC43OC0xLjQ5MmMuMDA4LjAxMS4wMjQuMDIzLjA0LjAyMy4wMDMgMCAuMDA3LS4wMDQuMDE1LS4wMDQuMDItLjAxMi4wMjctLjAzNS4wMi0uMDU1YTIuNDYgMi40NiAwIDAwLS4xNTctLjI4Yy0uMDExLS4wMi0uMDM1LS4wMjQtLjA1NC0uMDEzYS4wNDIuMDQyIDAgMDAtLjAxMi4wNTVjLjA1NS4wODYuMTA1LjE4LjE0OC4yNzR6bS00LjYxIDIuMTAxYy4wMDkgMCAuMDEzLS4wMDQuMDE3LS4wMDQuMDIzLS4wMDguMDMtLjAzMS4wMjMtLjA1NGExLjg2NiAxLjg2NiAwIDAxLS4xMDUtLjI5My4wNDUuMDQ1IDAgMDAtLjA1MS0uMDI4LjA0Ny4wNDcgMCAwMC0uMDI4LjA1MWMuMDMyLjEwMi4wNjcuMjAzLjExLjMuMDA4LjAxNi4wMi4wMjguMDM1LjAyOHptNC44MDItMS41MTJjLjAwNC4wMi4wMi4wMzYuMDM5LjAzNi4wMDQgMCAuMDA0LS4wMDQuMDA4LS4wMDQuMDIzLS4wMDQuMDM1LS4wMjQuMDMtLjA0N2EyLjk3NSAyLjk3NSAwIDAwLS4wNzctLjMwOWMtLjAwOC0uMDIzLS4wMzItLjAzNS0uMDUxLS4wMjdhLjA0Ny4wNDcgMCAwMC0uMDI3LjA1Yy4wMzUuMDk4LjA1OC4yLjA3OC4zMDF6bS4wMzkuMzFjLjAwNC4wNTQuMDA0LjEwNS4wMDQuMTYgMCAuMS0uMDA0LjIwNi0uMDIuMzA4IDAgLjAyMy4wMTYuMDQzLjAzNS4wNDdoLjAwNGMuMDI0IDAgLjA0LS4wMTYuMDQzLS4wMzUuMDEyLS4xMDYuMDItLjIxNS4wMi0uMzIgMC0uMDU1LS4wMDQtLjExLS4wMDgtLjE2NWEuMDQuMDQgMCAwMC0uMDQtLjAzOS4wNDUuMDQ1IDAgMDAtLjAzOC4wNDN6bS0uODYgNy4yMzNjLjAwOCAwIC4wMTYtLjAwMy4wMjQtLjAxMS4wODItLjA2Ny4xNi0uMTQuMjM0LS4yMTkuMDE2LS4wMTYuMDEyLS4wNDMtLjAwNC0uMDU5LS4wMTUtLjAxNS0uMDM5LS4wMTEtLjA1NC4wMDQtLjA3LjA3NS0uMTQ5LjE0OS0uMjI3LjIxNS0uMDE2LjAxMi0uMDIuMDQtLjAwNC4wNTUuMDA4LjAxMi4wMi4wMTUuMDMxLjAxNXptLjE0MS0zLjg1NWEuMDM4LjAzOCAwIDAwLS4wNTUgMCAuMDM4LjAzOCAwIDAwMCAuMDU1Yy4wNzguMDc0LjE0OS4xNDguMjE1LjIzLjAwOC4wMDguMDIuMDE2LjAyOC4wMTYuMDExIDAgLjAyLS4wMDQuMDI3LS4wMTIuMDE1LS4wMTIuMDItLjAzOS4wMDQtLjA1NWEyLjA3MiAyLjA3MiAwIDAwLS4yMTktLjIzNHptLjY4IDEuMDc0Yy0uMDA4LS4wMi0uMDMyLS4wMzEtLjA1MS0uMDIzLS4wMi4wMDQtLjAzMS4wMjctLjAyNy4wNS4wMzUuMDk4LjA1OC4yLjA3OC4zMDEuMDA0LjAyLjAyLjAzMi4wMzkuMDMyaC4wMDhjLjAyMy0uMDA0LjAzNS0uMDI0LjAzLS4wNDdhMi44MSAyLjgxIDAgMDAtLjA3Ny0uMzEzem0uMDU4IDEuMTQ5aC4wMDRjLjAyNCAwIC4wNC0uMDEyLjA0My0uMDMyYTIuMTk3IDIuMTk3IDAgMDAuMDEyLS40ODQuMDQuMDQgMCAwMC0uMDQtLjA0Yy0uMDIzIDAtLjAzOC4wMi0uMDM4LjA0NC4wMDQuMDUuMDA0LjEwNS4wMDQuMTU2IDAgLjEwNi0uMDA0LjIxMS0uMDIuMzEzIDAgLjAyMy4wMTYuMDQzLjAzNS4wNDN6bS0uMzg2LTEuNzQzYy0uMDE2LjAxMi0uMDI0LjA0LS4wMTIuMDU1LjA1NS4wOS4xMDUuMTguMTQ4LjI3NGEuMDQzLjA0MyAwIDAwLjA0LjAyM2MuMDAzIDAgLjAwNyAwIC4wMTUtLjAwNC4wMi0uMDA4LjAyNy0uMDMxLjAyLS4wNWEyLjQ2IDIuNDYgMCAwMC0uMTU3LS4yODJjLS4wMTEtLjAyLS4wMzUtLjAyNy0uMDU0LS4wMTZ6bS0zLjY4IDMuNDFjLjAxNi0uMDE5LjAxMi0uMDQyLS4wMDQtLjA1NGEzLjAwNiAzLjAwNiAwIDAxLS4yMzQtLjIxMS4wMzguMDM4IDAgMDAtLjA1NSAwIC4wNDIuMDQyIDAgMDAwIC4wNTljLjA3NC4wNzQuMTU2LjE0OC4yMzguMjE0LjAwOC4wMDQuMDE2LjAwOC4wMjQuMDA4LjAxMSAwIC4wMjMtLjAwOC4wMy0uMDE1em0tLjk2NS0xLjU4NWguMDA0Yy4wMjMtLjAwNC4wMzktLjAyNC4wMzUtLjA0N2EyLjc1MyAyLjc1MyAwIDAxLS4wMzEtLjMwOS4wNC4wNCAwIDAwLS4wNzggMGMuMDA0LjExLjAxMS4yMTUuMDMxLjMyIDAgLjAyLjAyLjAzNi4wNC4wMzZ6bTQuMDU5LTIuNDU3Yy4wMTEtLjAyLjAwNy0uMDQzLS4wMDgtLjA1NWEyLjI3IDIuMjcgMCAwMC0uMjctLjE3NmMtLjAyLS4wMTItLjA0Ny0uMDA0LS4wNTQuMDE2YS4wNDIuMDQyIDAgMDAuMDExLjA1NGMuMDk0LjA1MS4xOC4xMDYuMjYyLjE2OC4wMDguMDA0LjAxNi4wMDguMDI0LjAwOC4wMTUgMCAuMDI3LS4wMDQuMDM1LS4wMTV6bS0uNjkyIDQuNDE4Yy0uMDA4LS4wMi0uMDMxLS4wMzItLjA1LS4wMjQtLjA5OC4wMzEtLjIuMDU5LS4zMDEuMDgyYS4wNC4wNCAwIDAwLS4wMzIuMDQ3Yy4wMDQuMDE2LjAyLjAzMS4wNC4wMzFoLjAwN2MuMTA2LS4wMjMuMjExLS4wNS4zMTMtLjA4NmEuMDQuMDQgMCAwMC4wMjMtLjA1em0tMi45NjktMy43NzRhLjA0Ny4wNDcgMCAwMC4wMzYtLjAyYy4wNTQtLjA4MS4xMi0uMTY3LjE4Ny0uMjQ1LjAxNi0uMDE2LjAxMi0uMDQzLS4wMDQtLjA1NS0uMDE1LS4wMTYtLjA0My0uMDEyLS4wNTQuMDA0LS4wNy4wNzgtLjEzNy4xNjQtLjE5Ni4yNTQtLjAxNS4wMi0uMDA4LjA0My4wMDguMDU0YS4wNTYuMDU2IDAgMDAuMDI0LjAwOHptMi4zMSAzLjg3NWEyLjc2OSAyLjc2OSAwIDAxLS4zMTMuMDA0LjA0LjA0IDAgMDAtLjA0LjA0Yy0uMDAzLjAxOS4wMTYuMDM4LjAzNi4wMzguMDQzLjAwNC4wODIuMDA0LjEyLjAwNC4wNjcgMCAuMTM3LS4wMDQuMjA0LS4wMDguMDIgMCAuMDM1LS4wMi4wMzUtLjA0MyAwLS4wMjMtLjAyLS4wMzktLjA0My0uMDM1em0tMS4yMTYtLjIxYTIuNjc1IDIuNjc1IDAgMDEtLjI3Ny0uMTQ1Yy0uMDItLjAxMi0uMDQzLS4wMDQtLjA1NS4wMTUtLjAxMS4wMTYtLjAwNC4wNDMuMDE2LjA1NS4wOS4wNTUuMTg3LjEwNS4yODUuMTQ4LjAwNCAwIC4wMDguMDA0LjAxNi4wMDQuMDE1IDAgLjAyNy0uMDExLjAzNS0uMDIzLjAwOC0uMDI0IDAtLjA0Ny0uMDItLjA1NXptLjU5NC4xNzlhMS45NzggMS45NzggMCAwMS0uMy0uMDdjLS4wMjQtLjAwOC0uMDQ4LjAwNC0uMDUyLjAyNy0uMDA3LjAyLjAwNC4wNDMuMDI4LjA1LjEwMS4wMjguMjA3LjA1NS4zMTIuMDcxIDAgLjAwNC4wMDQuMDA0LjAwNC4wMDQuMDIgMCAuMDQtLjAxNi4wNC0uMDM1LjAwMy0uMDItLjAwOS0uMDQzLS4wMzItLjA0N3ptMS44NDQtLjM1NmEuMDQyLjA0MiAwIDAwLS4wNTUtLjAxMWMtLjA4Ni4wNTgtLjE4LjExLS4yNy4xNTYtLjAxOS4wMDgtLjAzLjAzMS0uMDE5LjA1LjAwOC4wMTYuMDIuMDI0LjAzNS4wMjQuMDA4IDAgLjAxMiAwIC4wMi0uMDA0LjA5My0uMDQ3LjE4Ny0uMTAxLjI3Ny0uMTYuMDItLjAxMi4wMjMtLjAzNS4wMTItLjA1NXptLTIuMzI0LTQuNTNjLS4xMDIuMDM0LS4yLjA4MS0uMjkzLjEyOC0uMDIuMDEyLS4wMjguMDM1LS4wMTYuMDU1LjAwNC4wMTUuMDIuMDIzLjAzNS4wMjNsLjAxNi0uMDA0Yy4wOTMtLjA1LjE4Ny0uMDkzLjI4NS0uMTI5LjAyLS4wMDcuMDMxLS4wMy4wMjMtLjA1LS4wMDgtLjAyNC0uMDMtLjAzMi0uMDUtLjAyNHpNOS42NTYgMTMuMjVjLjAwOCAwIC4wMTYtLjAwNC4wMjQtLjAwOC4wMi0uMDE1LjAyMy0uMDM5LjAwOC0uMDU4YTMuMjk1IDMuMjk1IDAgMDEtLjE2NS0uMjQzYy0uMDE1LS4wMjctLjAzLS4wNTgtLjA1LS4wODYtLjAxMi0uMDItLjAzNi0uMDIzLS4wNTUtLjAxMS0uMDIuMDExLS4wMjMuMDM1LS4wMTIuMDU0LjAxMi4wMi4wMjQuMDQuMDM1LjA2M2wuMDA0LjAwNGMuMDA0LjAwOC4wMDQuMDEyLjAwOC4wMTUuMDM1LjA2My4wNy4xMy4wOTguMTkyYS4wNDIuMDQyIDAgMDAuMDM1LjAyM2guMDEybC4wMjcuMDRjLjAwOC4wMDcuMDIuMDE1LjAzMS4wMTV6bTIuOTk2LTMuOThjLS4wOTctLjA0LS4xOTktLjA3NS0uMzA0LS4xMDJhLjAzNS4wMzUgMCAwMC0uMDQ3LjAyN2MtLjAwOC4wMi4wMDguMDQzLjAyNy4wNDcuMTAyLjAyOC4yLjA2My4yOTcuMTAyLjAwNCAwIC4wMDguMDA0LjAxNi4wMDQuMDE1IDAgLjAyNy0uMDEyLjAzNS0uMDI4YS4wMzguMDM4IDAgMDAtLjAyNC0uMDV6bS0yLjM5NC4yOGEuMDQuMDQgMCAwMC0uMDU1LS4wMWMtLjA5LjA2Mi0uMTcyLjEyOC0uMjU0LjE5OC0uMDE1LjAxNi0uMDE1LjA0LS4wMDQuMDU5LjAwOC4wMDguMDIuMDEyLjAzMi4wMTIuMDA3IDAgLjAyLS4wMDQuMDI3LS4wMTIuMDc4LS4wNjcuMTYtLjEzMy4yNDItLjE5MmEuMDQuMDQgMCAwMC4wMTItLjA1NHptLS45OTIgMS4yOThoLjAxMWEuMDQzLjA0MyAwIDAwLjA0LS4wMjQgMi42NiAyLjY2IDAgMDEuMTItLjI4OWMuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNS0uMDItLjAxMi0uMDQzLS4wMDUtLjA1NS4wMTVhMi44MSAyLjgxIDAgMDAtLjEyNS4yOTdjLS4wMDguMDIuMDA0LjA0My4wMjQuMDV6bS0uMDY3LjIyNmMuMDI0LjAwNC4wMzUuMDI4LjAzMS4wNDctLjAyMy4xMDItLjAzOS4yMDctLjA0Ni4zMDktLjAwNC4wMi0uMDIuMDM1LS4wNC4wMzVoLS4wMDNjLS4wMjQgMC0uMDQtLjAyLS4wNC0uMDQzYTIuOTYgMi45NiAwIDAxLjA1MS0uMzE3Yy4wMDQtLjAyMy4wMjgtLjAzNS4wNDctLjAzXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9XCIjYzc4ZTM4XCJcbiAgICAgICAgZD1cIk0xMC4yMDMtOS43MTlMNS45NTMgMEg0LjE4N2wtNC4yNS05LjcxOWgxLjk1NGwzLjIzNCA3LjUgMy4yNjYtNy41em0wIDBcIlxuICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjcuNjUgMjAuNTczKVwiXG4gICAgICA+PC9wYXRoPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cIiNjNzhlMzhcIlxuICAgICAgICBkPVwiTTguNTk0LTEuNTE2VjBIMS4zMTN2LTkuNzE5aDcuMDkzdjEuNTE2SDMuMTF2Mi41MTVoNC43MDR2MS41SDMuMTA5djIuNjcyem0wIDBcIlxuICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMzkuNjkzIDIwLjU3MylcIlxuICAgICAgPjwvcGF0aD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9XCIjYzc4ZTM4XCJcbiAgICAgICAgZD1cIk0xLjMxMy05LjcxOWg0LjI1YzEuMDMgMCAxLjk0NS4yMDMgMi43NS42MS44MTIuMzk4IDEuNDM3Ljk2NCAxLjg3NCAxLjcwMy40NDYuNzMuNjcyIDEuNTc4LjY3MiAyLjU0NyAwIC45Ni0uMjI2IDEuODA4LS42NzEgMi41NDZDOS43NS0xLjU3IDkuMTI0LTEgOC4zMTItLjU5MyA3LjUwOC0uMTk2IDYuNTk1IDAgNS41NjMgMGgtNC4yNXpNNS40NjgtMS41M2MuNzE4IDAgMS4zNDctLjEzMyAxLjg5LS40MDcuNTQtLjI2OS45NTctLjY1NiAxLjI1LTEuMTU2LjI5LS41MDguNDM4LTEuMDk3LjQzOC0xLjc2NSAwLS42NjQtLjE0OS0xLjI1LS40MzgtMS43NWEyLjk0OCAyLjk0OCAwIDAwLTEuMjUtMS4xNzJjLS41NDMtLjI4Mi0xLjE3MS0uNDIyLTEuODktLjQyMmgtMi4zNnY2LjY3MnptMCAwXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwLjkxNyAyMC41NzMpXCJcbiAgICAgID48L3BhdGg+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjZjUxNmMyMjBiNylcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwiI2M3OGUzOFwiXG4gICAgICAgICAgZD1cIk03LjYxLTIuMjVIMi43NUwxLjc5NyAwaC0xLjg2bDQuMzc1LTkuNzE5aDEuNzY2TDEwLjQ2OCAwaC0xLjg5em0tLjU5NC0xLjQyMmwtMS44MjktNC4yNS0xLjgyOCA0LjI1em0wIDBcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2NC4zMDcgMjAuNTczKVwiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiI2M3OGUzOFwiXG4gICAgICAgIGQ9XCJNMTYuMTE3IDE5LjQyMmw0LjAyNCAyLjMyNGgtNS4zNjh6bS00LjQ0MSA3LjMybC0yLjc3OC00LjgwOGg1LjU1NXpNMy4yMSAyMS43NDZsNC4wMjMtMi4zMjQgMS4zNDQgMi4zMjR6bTMuOTMtMi40ODRsLTQuMDI0IDIuMzI0IDIuNjg0LTQuNjQ4em0tNC4xMTgtNy41MDhoNS41NTVsLTIuNzc3IDQuODA5em04LjU1OS00LjgzMnY0LjY0OEg4Ljg5OHptLjE4OCA0LjY0OFY2LjkyMmwyLjY4MyA0LjY0OHptOC41NTguMTg0bC0yLjc3NyA0LjgwOS0yLjc3OC00Ljgxem0tNC40MDYgNy42MzNsLTEuMzYzIDIuMzZIOC43OTNsLTEuMzYzLTIuMzZ6bS04LjY1Mi0uMjc4TDUuOTEgMTYuNzVsMi44ODMtNC45OTZoMi43MjN6bTQuNTY2LTcuMzU1aDIuNzIzbDIuODg2IDQuOTk2LTEuMzYzIDIuMzZ6bS00LjMxMyA3LjI4NWw0LjA1OS03LjAzMXY0LjY4N3ptNC4xNTMtMi4xOGw0LjA1OCAyLjM0NEg3LjYxN3ptLjA5NC00Ljg1MWw0LjA1OCA3LjAzMS00LjA1OC0yLjM0NHptOC40NjQgOS41NzhsLTQuMDIzLTIuMzI0IDEuMzQtMi4zMjV6TTE3LjY2IDE2Ljc1bDIuOTkyLTUuMThoLTUuOTg0bC0yLjk5Mi01LjE4My0yLjk5MiA1LjE4M2gtNS45OGwyLjk4NyA1LjE4LTIuOTg4IDUuMTg0aDUuOThsMi45OTMgNS4xOCAyLjk5Mi01LjE4aDUuOTg0TDE3LjY2IDE2Ljc1XCJcbiAgICAgID48L3BhdGg+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiI2M3OGUzOFwiXG4gICAgICAgIGQ9XCJNMTEuNjc2IDE5LjIwM2EyLjQ1IDIuNDUgMCAxMS4wMDMtNC45MDMgMi40NSAyLjQ1IDAgMDEtLjAwMyA0LjkwM3ptMC01LjA5YTIuNjQgMi42NCAwIDAwLTIuNjM3IDIuNjM3IDIuNjQgMi42NCAwIDAwMi42MzcgMi42MzcgMi42NCAyLjY0IDAgMDAyLjYzNi0yLjYzNyAyLjY0IDIuNjQgMCAwMC0yLjYzNi0yLjYzN1wiXG4gICAgICA+PC9wYXRoPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoIzUxMGQwYWQxMTQpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbD1cIiNjNzhlMzhcIlxuICAgICAgICAgIGQ9XCJNMTkuNzYyIDkuMjIzYS4wNDcuMDQ3IDAgMDAtLjA1MS0uMDI4IDMuOTk1IDMuOTk1IDAgMDAtLjMuMTE3LjA0NS4wNDUgMCAwMC0uMDIuMDU1Yy4wMDcuMDEyLjAyMy4wMjQuMDM5LjAyNC4wMDQgMCAuMDA4LS4wMDQuMDE1LS4wMDQuMDk0LS4wNDMuMTkyLS4wODIuMjktLjExNC4wMjMtLjAwNy4wMzUtLjAyNy4wMjctLjA1em0uNjItLjEwNmMwLS4wMi0uMDE5LS4wMzUtLjAzOC0uMDM1LS4xMS4wMDQtLjIxNS4wMi0uMzIuMDQtLjAyNC4wMDMtLjAzNi4wMjMtLjAzMi4wNDYuMDA0LjAxNi4wMi4wMzEuMDQuMDMxaC4wMDdjLjEwMi0uMDIuMjAzLS4wMzEuMzA5LS4wMzkuMDIgMCAuMDM5LS4wMi4wMzUtLjA0M3ptLjU5NS4wODZjLjAxNSAwIC4wMzUtLjAxMi4wMzktLjAzMS4wMDQtLjAyNC0uMDEyLS4wNDMtLjAzNi0uMDQ3YTIuODAyIDIuODAyIDAgMDAtLjMxNi0uMDQzYy0uMDIzIDAtLjA0My4wMTYtLjA0My4wNCAwIC4wMTkuMDE2LjAzOC4wMzUuMDQyLjEwNi4wMDguMjA3LjAyLjMxMy4wNGguMDA4em0uNTk3LjJjLjAxNiAwIC4wMzEtLjAxMi4wMzUtLjAyNC4wMTItLjAyLjAwNC0uMDQ3LS4wMTUtLjA1NWEyLjE3NyAyLjE3NyAwIDAwLS4zMDEtLjExN2MtLjAyLS4wMDgtLjA0My4wMDQtLjA1LjAyMy0uMDA5LjAyNC4wMDMuMDQzLjAyNy4wNTEuMDk3LjAzMS4xOTUuMDcuMjg5LjExNy4wMDMgMCAuMDExLjAwNC4wMTUuMDA0em0tMy4xNDQuNzY1YS4wNTYuMDU2IDAgMDAuMDIzLjAwOC4wMzYuMDM2IDAgMDAuMDMxLS4wMTYgMi4zNCAyLjM0IDAgMDEuMjAzLS4yMzhjLjAxNi0uMDE2LjAxNi0uMDQtLjAwMy0uMDU1YS4wMzguMDM4IDAgMDAtLjA1NSAwYy0uMDc0LjA3OC0uMTQ1LjE2LS4yMDcuMjQ2LS4wMTYuMDE2LS4wMTIuMDQzLjAwOC4wNTV6bS0uMzA1LjU1NWwuMDE2LjAwNGEuMDM4LjAzOCAwIDAwLjAzNS0uMDI4Yy4wMzktLjA5NC4wODYtLjE4Ny4xMzctLjI3N2EuMDQyLjA0MiAwIDAwLS4wMTItLjA1NWMtLjAyLS4wMTItLjA0Ny0uMDA0LS4wNTUuMDE2LS4wNTUuMDktLjEwMS4xODctLjE0NC4yODVhLjA0NC4wNDQgMCAwMC4wMjMuMDU1em0uMDg2IDIuMDdjLS4wMi4wMTItLjAyNy4wMzUtLjAxNi4wNTUuMDE2LjAzNS4wMzUuMDcuMDU1LjEwNS4wMDguMDA4LjAxMi4wMi4wMTYuMDI3YTIuMzM4IDIuMzM4IDAgMDEuMTQuMjljLjAwNC4wMTUuMDIuMDIzLjAzNS4wMjMuMDA4IDAgLjAxMiAwIC4wMTYtLjAwNC4wMi0uMDA4LjAzMS0uMDMxLjAyMy0uMDUtLjAxNS0uMDQtLjAzNS0uMDc5LS4wNTQtLjExOC4wMDgtLjAxNi4wMDgtLjAzMSAwLS4wNDMtLjA0LS4wNS0uMDc0LS4xMS0uMTA2LS4xNjQtLjAyLS4wMzUtLjAzOS0uMDY2LS4wNTQtLjEwMS0uMDEyLS4wMi0uMDM2LS4wMjgtLjA1NS0uMDJ6bS0uMjQ2LTEuNDYxaC4wMDhjLjAyIDAgLjAzNS0uMDEyLjAzOS0uMDMxLjAxNS0uMTA2LjAzNS0uMjA3LjA2Mi0uMzA1LjAwOC0uMDIzLS4wMDQtLjA0My0uMDI3LS4wNS0uMDItLjAwNS0uMDQzLjAwNy0uMDQ3LjAyNy0uMDMxLjEwNS0uMDUuMjEtLjA2Ni4zMTYtLjAwNC4wMi4wMTEuMDQzLjAzLjA0M3ptLS4wMDguNjMzaC4wMDRhLjA0NS4wNDUgMCAwMC4wMzktLjA0MyAxLjkwMyAxLjkwMyAwIDAxLS4wMTYtLjI1OHYtLjA1NWMwLS4wMjMtLjAxNS0uMDM5LS4wMzktLjAzOS0uMDIzIDAtLjAzOS4wMTYtLjAzOS4wNHYuMDU0YzAgLjA5LjAwNC4xOC4wMTIuMjY2LjAwNC4wMi4wMi4wMzUuMDM5LjAzNXptLjY2IDEuMzZjLS4wMTUtLjAxNi0uMDM5LS4wMi0uMDU4LS4wMDUtLjAxNi4wMTYtLjAxNi4wNC0uMDA0LjA1OS4wNzQuMDc4LjE0OC4xNTYuMjMuMjI2LjAwOC4wMDQuMDE2LjAwOC4wMjQuMDA4YS4wNDQuMDQ0IDAgMDAuMDMtLjAxMWMuMDE2LS4wMi4wMTMtLjA0My0uMDAzLS4wNTlhMS45MjggMS45MjggMCAwMS0uMjE5LS4yMTl6bS40MS40MjFhLjA0LjA0IDAgMDAuMDEyLjA1NWMuMDg2LjA1OC4xOC4xMTMuMjc3LjE2NC4wMDQuMDA0LjAxMi4wMDQuMDE2LjAwNC4wMTYgMCAuMDMxLS4wMDguMDM1LS4wMjQuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNWEyLjMzMiAyLjMzMiAwIDAxLS4yNy0uMTYuMDQuMDQgMCAwMC0uMDU1LjAxMXptLjE0NS00LjIxNWMuMDE1LS4wMDguMDIzLS4wMzUuMDEyLS4wNTRhLjA0Mi4wNDIgMCAwMC0uMDU1LS4wMTJjLS4wOS4wNTgtLjE4LjEyLS4yNjIuMTg3LS4wMi4wMTItLjAyLjA0LS4wMDguMDU1LjAwOC4wMTIuMDIuMDE2LjAzMi4wMTYuMDA3IDAgLjAyLS4wMDQuMDI3LS4wMDguMDc4LS4wNjcuMTY0LS4xMy4yNTQtLjE4NHptMy44IDIuNjkyYy0uMDIzLS4wMDQtLjA0Mi4wMDctLjA1LjAzYTIuNiAyLjYgMCAwMS0uMDkuMjk4Yy0uMDA4LjAyIDAgLjA0My4wMjMuMDUuMDA0LjAwNC4wMDguMDA0LjAxMi4wMDQuMDE2IDAgLjAzMS0uMDExLjA0LS4wMjcuMDM0LS4wOTguMDctLjIwMy4wOTMtLjMwNWEuMDQ1LjA0NSAwIDAwLS4wMjctLjA1em0wLS44OTljMCAuMDIuMDIuMDM1LjA0LjAzNWguMDA0Yy4wMjMtLjAwNC4wMzktLjAyMy4wMzUtLjA0M2EyLjY2NyAyLjY2NyAwIDAwLS4wNjMtLjMxNmMtLjAwOC0uMDIzLS4wMjctLjAzNS0uMDUtLjAyNy0uMDIuMDA0LS4wMzIuMDI3LS4wMjguMDQ3LjAyNy4xMDEuMDQ3LjIwMy4wNjMuMzA0em0tMS4wNDIgMi40MzRjLS4wMTItLjAxNi0uMDM1LS4wMi0uMDU1LS4wMDhsLS4xMzMuMDgyYy0uMDkuMDUtLjE4My4wOTgtLjI4MS4xMzctLjAyLjAwOC0uMDI3LjAzMS0uMDIuMDU0LjAwOC4wMTIuMDIuMDI0LjAzNi4wMjQuMDA3IDAgLjAxMSAwIC4wMTUtLjAwNC4xMDItLjA0My4xOTUtLjA5LjI5LS4xNDUuMDQ2LS4wMjcuMDkzLS4wNTQuMTM2LS4wODIuMDItLjAxMS4wMjMtLjAzOS4wMTItLjA1OHptLTIuMzQ0LjI4MWMtLjAwOC4wMjQuMDA0LjA0Ny4wMjMuMDUuMTAyLjA0LjIwMy4wNzEuMzA5LjA5NWguMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMmEuMDM2LjAzNiAwIDAwLS4wMjctLjA0NyAyLjY2MyAyLjY2MyAwIDAxLS4zMDEtLjA5Yy0uMDItLjAwNy0uMDQzLjAwNS0uMDUxLjAyNHptMy4yMjctMy4zMTZjLjAwMy4wMTUuMDE5LjAyNy4wMzUuMDI3LjAwNyAwIC4wMTEgMCAuMDE1LS4wMDQuMDItLjAwOC4wMzItLjAzMS4wMjQtLjA1YTIuMTg5IDIuMTg5IDAgMDAtLjE0LS4yOWMtLjAwOS0uMDItLjAzNi0uMDI3LS4wNTYtLjAxNS0uMDIuMDA3LS4wMjMuMDM1LS4wMTUuMDU0LjA1LjA5LjA5Ny4xODQuMTM3LjI3OHptLjIyMi44N2MtLjAyMy4wMDUtLjA0My4wMi0uMDQzLjA0NGwuMDA0LjAyM2MwIC4wOTQtLjAwOC4xOTItLjAyLjI4NSAwIC4wMjQuMDE2LjA0My4wMzYuMDQ3aC4wMDRjLjAyMyAwIC4wMzktLjAxNS4wNDMtLjAzNS4wMDctLjA5OC4wMTUtLjIuMDE1LS4yOTd2LS4wMjNjMC0uMDI0LS4wMi0uMDQzLS4wMzktLjA0M3ptLTEuMjAzLTIuMDQ2Yy4wODYuMDU1LjE3Mi4xMTcuMjUuMTgzLjAwOC4wMDQuMDE2LjAwOC4wMjcuMDA4YS4wMzYuMDM2IDAgMDAuMDMyLS4wMTVjLjAxMS0uMDE2LjAxMS0uMDQzLS4wMDgtLjA1NWExLjk2OSAxLjk2OSAwIDAwLS4yNTgtLjE4OGMtLjAyLS4wMTEtLjA0My0uMDA3LS4wNTkuMDEyLS4wMTEuMDItLjAwMy4wNDMuMDE2LjA1NXptLTEgNC42MzdjLjAwNC4wMi4wMi4wMzUuMDQuMDM1aC4wMDNjLjEwNS0uMDE2LjIxNS0uMDQuMzE2LS4wNy4wMi0uMDA0LjAzMi0uMDI4LjAyOC0uMDQ3LS4wMDgtLjAyNC0uMDI4LS4wMzYtLjA1MS0uMDI4LS4wOTguMDI4LS4yLjA1MS0uMzA1LjA2M2EuMDQzLjA0MyAwIDAwLS4wMzEuMDQ3em0tLjYzMy4wMDdjLS4wMDQuMDIuMDE2LjA0LjAzNS4wNDMuMDg2LjAwOC4xNzIuMDEyLjI1OC4wMTJoLjA2M2MuMDIzIDAgLjA0My0uMDIuMDM5LS4wNDNhLjA0LjA0IDAgMDAtLjA0LS4wMzkgMi4wOSAyLjA5IDAgMDEtLjMxMi0uMDEyYy0uMDIgMC0uMDM5LjAxNi0uMDQzLjA0em0xLjkxOC0uNTc0Yy4wMDguMDA4LjAyLjAxNi4wMzEuMDE2LjAwOCAwIC4wMi0uMDA0LjAyOC0uMDEyYTQuMTEgNC4xMSAwIDAwLjIzLS4yMjMuMDQ3LjA0NyAwIDAwLS4wMDQtLjA1OGMtLjAxNS0uMDE2LS4wNDMtLjAxMi0uMDU0LjAwNC0uMDcuMDc4LS4xNDUuMTQ4LS4yMjcuMjE5LS4wMTYuMDExLS4wMTYuMDM5LS4wMDQuMDU0em0uMzktMy40MzdjLjAwOS4wMTEuMDI0LjAyLjAzNi4wMi4wMDggMCAuMDE2LS4wMDUuMDIzLS4wMDlhLjA0Ny4wNDcgMCAwMC4wMDgtLjA1OCAyLjQ2NiAyLjQ2NiAwIDAwLS4yMDctLjI0Ni4wMzguMDM4IDAgMDAtLjA1NSAwIC4wNDIuMDQyIDAgMDAtLjAwMy4wNTRjLjA3NC4wNzUuMTQuMTU3LjE5OS4yMzl6bS4xOTYgMi42NTZjLS4wNS4wOS0uMTA1LjE4LS4xNjQuMjY2YS4wNC4wNCAwIDAwLjAxMi4wNTRjLjAwOC4wMDQuMDE1LjAwOC4wMjMuMDA4LjAxMiAwIC4wMjQtLjAwOC4wMzEtLjAyLjA2My0uMDg1LjExOC0uMTguMTY4LS4yNzMuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNTUtLjAyLS4wMDctLjA0NyAwLS4wNTUuMDJ6bS04Ljk4NC40M2MuMDA0LjAwNC4wMDguMDA0LjAxNS4wMDQuMDE2IDAgLjAzMi0uMDA4LjAzNi0uMDI0LjAzOS0uMDk0LjA4Mi0uMTguMTI4LS4yNjYuMDE2LS4wMjcuMDM2LS4wNTQuMDQ3LS4wODUuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNTUtLjAyLS4wMDgtLjA0MyAwLS4wNTEuMDJsLS4wMzUuMDU4Yy0uMDA0LjAwNC0uMDA0LjAwNC0uMDA0LjAwOGwtLjAxMi4wMTVhMS43NyAxLjc3IDAgMDEtLjExNy4xOC4wNC4wNCAwIDAwLjAwNC4wNWwtLjAyLjA0NGMtLjAwOC4wMi4wMDQuMDQzLjAyNC4wNXptLjI4OSAyLjQxNGEuMDQuMDQgMCAwMC4wMTItLjA1NSAxLjUxIDEuNTEgMCAwMS0uMTA2LS4xNjguODQuODQgMCAwMS0uMDU1LS4xMDJjLS4wMTEtLjAyLS4wMzUtLjAyNy0uMDU0LS4wMTUtLjAyLjAwOC0uMDI4LjAzMS0uMDE2LjA1YS44OTUuODk1IDAgMDAuMDU1LjEwNmMuMDM1LjA1OS4wNy4xMTcuMTEuMTcyLjAwNy4wMTIuMDE5LjAyLjAzLjAyLjAwOCAwIC4wMTYtLjAwNC4wMjQtLjAwOHptLS40NS0xLjgwMWguMDA4Yy4wMiAwIC4wMzYtLjAxNi4wNC0uMDM1LjAxNS0uMTAyLjAzNS0uMjAzLjA2Mi0uMzA1LjAwOC0uMDItLjAwNC0uMDQzLS4wMjctLjA1LS4wMi0uMDA1LS4wNDMuMDA3LS4wNDcuMDMtLjAzMS4xMDItLjA1MS4yMDgtLjA2Ny4zMTNhLjA0LjA0IDAgMDAuMDMyLjA0N3ptLjY1MyAxLjk4OGEuMDQ3LjA0NyAwIDAwLS4wNTktLjAwNC4wNDcuMDQ3IDAgMDAtLjAwNC4wNTljLjA3LjA3OC4xNDkuMTU2LjIzLjIyNi4wMDkuMDA4LjAxNy4wMDguMDI0LjAwOGEuMDQ0LjA0NCAwIDAwLjAzMi0uMDExYy4wMTUtLjAxNi4wMTEtLjA0My0uMDA0LS4wNTVhMi4zNSAyLjM1IDAgMDEtLjIyLS4yMjN6bS0uNzExLTEuNzE1di4wNTVjMCAuMDkuMDA0LjE4LjAxMi4yNjYuMDA0LjAyLjAyLjAzNS4wMzkuMDM1aC4wMDRjLjAyMyAwIC4wMzktLjAyLjAzNS0uMDQzYTIuODQ2IDIuODQ2IDAgMDEtLjAxMi0uMjU4di0uMDU1YS4wNC4wNCAwIDAwLS4wMzktLjAzOWMtLjAyMyAwLS4wMzkuMDE2LS4wMzkuMDR6bTMuNjY4LTIuMjA3Yy4wMTYgMCAuMDMxLS4wMDguMDM1LS4wMjMuMDEyLS4wMi4wMDQtLjA0My0uMDItLjA1NWEzLjM1MiAzLjM1MiAwIDAwLS4yOTYtLjExN2MtLjAyLS4wMDgtLjA0My4wMDQtLjA1MS4wMjdhLjAzNS4wMzUgMCAwMC4wMjcuMDQ3Yy4wOTguMDM1LjE5Ni4wNzQuMjkuMTE3LjAwMy4wMDQuMDExLjAwNC4wMTUuMDA0em0uMzU1IDQuMzZhLjA0LjA0IDAgMDAtLjA1NC0uMDEybC0uMTMzLjA4MmMtLjA5LjA1LS4xODQuMDk4LS4yODEuMTQtLjAyLjAwOC0uMDI4LjAzMi0uMDIuMDUxLjAwOC4wMTYuMDIuMDI0LjAzNS4wMjQuMDA4IDAgLjAxMiAwIC4wMTYtLjAwNC4wOTgtLjA0LjE5NS0uMDkuMjg5LS4xNC4wNDctLjAyOC4wOTQtLjA2LjEzNy0uMDg3YS4wNC4wNCAwIDAwLjAxMS0uMDU0em0tMi43NTctNC4yMjdhLjA0Mi4wNDIgMCAwMC4wMTEtLjA1NWMtLjAxMS0uMDItLjAzNS0uMDI3LS4wNTQtLjAxNS0uMDk0LjA1OC0uMTguMTItLjI2Mi4xODctLjAyLjAxMi0uMDIuMDQtLjAwOC4wNTUuMDA4LjAxMi4wMi4wMTYuMDMxLjAxNi4wMDggMCAuMDItLjAwNC4wMjQtLjAwOGEyLjM0IDIuMzQgMCAwMS4yNTgtLjE4em0tMS4xNzIgMi42NjRjLS4wMi4wMDQtLjAzNS4wMjgtLjAyOC4wNDcuMDI0LjEwNi4wNTUuMjExLjA5LjMwOS4wMDguMDE1LjAyNC4wMjcuMDQuMDI3LjAwMyAwIC4wMDcgMCAuMDExLS4wMDQuMDIzLS4wMDguMDMxLS4wMzEuMDIzLS4wNWEyLjU4MiAyLjU4MiAwIDAxLS4wODUtLjI5OGMtLjAwOC0uMDIzLS4wMjgtLjAzNS0uMDUxLS4wM3ptMS43NjEtMi45NzZjLS4wMDctLjAyLS4wMy0uMDMyLS4wNS0uMDI0LS4xMDIuMDMxLS4yMDMuMDctLjMwMS4xMTMtLjAyLjAxMi0uMDI3LjAzNi0uMDIuMDU1YS4wNDMuMDQzIDAgMDAuMDQuMDI0Yy4wMDMgMCAuMDA3IDAgLjAxNS0uMDA0LjA5NC0uMDQzLjE5MS0uMDgyLjI5LS4xMTQuMDIzLS4wMDQuMDMtLjAyNy4wMjYtLjA1em0uNzMgNS4wMjNoLjA2M2EuMDQuMDQgMCAwMDAtLjA3OEgxNi4wNTVjLS4wNzUgMC0uMTQ1LS4wMDQtLjIyLS4wMTItLjAxOS0uMDA0LS4wMzQuMDA4LS4wNDIuMDI4LS4wMTYgMC0uMDI3LjAwMy0uMDQzLjAwMy0uMDIzLjAwNC0uMDQuMDI0LS4wMzUuMDQ3LjAwNC4wMi4wMi4wMzUuMDM5LjAzNWguMDA0Yy4wOTctLjAxNS4xOTUtLjAxOS4yOTMtLjAyM2guMDM1em0tLjEwOC01LjEyNWEuMDQuMDQgMCAwMC0uMDQtLjAzOSAyLjg3IDIuODcgMCAwMC0uMzIuMDRjLS4wMjMuMDAzLS4wMzUuMDIzLS4wMzEuMDQ2LjAwNC4wMi4wMi4wMzEuMDM5LjAzMWguMDA0Yy4xMDUtLjAyLjIwNy0uMDMxLjMxMi0uMDM1LjAyLS4wMDQuMDQtLjAyMy4wMzYtLjA0M3ptLjU5LjA4NmMuMDE5IDAgLjAzNS0uMDE2LjAzOC0uMDM1LjAwOC0uMDItLjAwNy0uMDQzLS4wMy0uMDQ3YTIuOTE1IDIuOTE1IDAgMDAtLjMxNy0uMDQuMDM3LjAzNyAwIDAwLS4wNDMuMDM2YzAgLjAyNC4wMTUuMDQzLjAzNS4wNDNhMi42NjQgMi42NjQgMCAwMS4zMTYuMDQzem0yLjAxNSAxLjc5M2MtLjAwOC0uMDItLjAyNy0uMDM1LS4wNS0uMDI3LS4wMi4wMDQtLjAzMi4wMjctLjAyOC4wNDYuMDI3LjEwMi4wNDcuMjA0LjA2Mi4zMSAwIC4wMTkuMDIuMDMuMDQuMDNoLjAwM2MuMDI0IDAgLjA0LS4wMjMuMDM2LS4wNDNhMy4wMTggMy4wMTggMCAwMC0uMDYzLS4zMTZ6bS4wODYuNjM3YS4wNC4wNCAwIDAwLS4wNC0uMDRjLS4wMjMgMC0uMDQyLjAxNi0uMDQyLjA0di4wMjNjMCAuMDk4LS4wMDQuMTkyLS4wMTYuMjkgMCAuMDE5LjAxNi4wMzguMDM1LjA0MmguMDA0Yy4wMiAwIC4wNC0uMDE1LjA0LS4wMzUuMDExLS4wOTguMDE5LS4yLjAxOS0uMjk3em0tNC4wNDcgMi4xMWMtLjAxMi4wMTktLjAwOC4wNDIuMDEyLjA1NC4wODYuMDYyLjE4LjExNy4yNzcuMTY0LjAwNC4wMDQuMDEyLjAwNC4wMTYuMDA0YS4wNDEuMDQxIDAgMDAuMDM1LS4wMmMuMDEyLS4wMi4wMDQtLjA0Ny0uMDE2LS4wNTVhMi4zMzIgMi4zMzIgMCAwMS0uMjctLjE2Yy0uMDE5LS4wMTEtLjA0Mi0uMDA3LS4wNTQuMDEyem0zLjk0MS0xLjUyYy0uMDE5LS4wMDgtLjAzOS4wMDctLjA0Ni4wMjdhMi4zODEgMi4zODEgMCAwMS0uMDkuMjk3Yy0uMDA4LjAyMyAwIC4wNDcuMDIzLjA1NGguMDEyYS4wNDMuMDQzIDAgMDAuMDM5LS4wMjMgMi44MSAyLjgxIDAgMDAuMDk0LS4zMDljLjAwNC0uMDItLjAwOC0uMDQzLS4wMzItLjA0NnptLS44NTEgMS4zOWMuMDA4LjAxMi4wMi4wMTYuMDMxLjAxNi4wMDggMCAuMDItLjAwNC4wMjgtLjAxMi4wNzgtLjA2Ni4xNTYtLjE0NC4yMy0uMjIzLjAxMi0uMDE1LjAxMi0uMDQzLS4wMDQtLjA1NGEuMDQyLjA0MiAwIDAwLS4wNTggMCAxLjk2MyAxLjk2MyAwIDAxLS4yMjMuMjE4LjA0Mi4wNDIgMCAwMC0uMDA0LjA1NXptLS4yODUtNC4wN2MuMDg2LjA1NS4xNzIuMTE3LjI1LjE4My4wMDguMDA4LjAxNS4wMDguMDI3LjAwOGEuMDQ0LjA0NCAwIDAwLjAzMS0uMDExYy4wMTItLjAyLjAxMi0uMDQzLS4wMDctLjA2YTMuMTA2IDMuMTA2IDAgMDAtLjI1OC0uMTg3Yy0uMDItLjAxMS0uMDQ3LS4wMDctLjA1OS4wMTItLjAxMi4wMi0uMDA0LjA0My4wMTYuMDU1em0tMy4yMDMuMzJsLS4xMTguMTNjLjAzMi0uMDguMDU1LS4xNjEuMDc1LS4yNDNhLjAzNS4wMzUgMCAwMC0uMDI4LS4wNDdjLS4wMi0uMDA0LS4wNDMuMDA4LS4wNDcuMDI3YTIuNDAxIDIuNDAxIDAgMDEtLjA5Ny4yOTcuMDQuMDQgMCAwMC4wMjMuMDUxYzAgLjAwNC4wMDQuMDA0LjAwNC4wMDRhLjExOS4xMTkgMCAwMC0uMDIuMDI3Yy0uMDE1LjAyLS4wMTEuMDQzLjAwOC4wNTUuMDA0LjAwOC4wMTYuMDA4LjAyNC4wMDhhLjAzNi4wMzYgMCAwMC4wMzEtLjAxNmMuMDYzLS4wODIuMTI5LS4xNi4yMDMtLjIzNC4wMTYtLjAxNi4wMTItLjA0My0uMDA0LS4wNTlhLjAzOC4wMzggMCAwMC0uMDU0IDB6bS45NTcgNC4xNzZjLS4wMDguMDIuMDA0LjA0My4wMjMuMDUuMTAyLjAzNi4yMDMuMDY3LjMwOS4wOWguMDA4Yy4wMiAwIC4wMzUtLjAxMS4wMzktLjAzLjAwNC0uMDItLjAwOC0uMDQ0LS4wMzItLjA0OGEyLjgzIDIuODMgMCAwMS0uMjk3LS4wODUuMDM4LjAzOCAwIDAwLS4wNS4wMjN6bTMuMTcyLTEuMjIzYy0uMDItLjAxMS0uMDQ3LS4wMDQtLjA1NS4wMTYtLjA1LjA5LS4xMDYuMTgtLjE2NC4yNjYtLjAxMi4wMi0uMDA4LjA0My4wMTIuMDU0LjAwMy4wMDguMDExLjAwOC4wMjMuMDA4YS4wMzYuMDM2IDAgMDAuMDMxLS4wMTZjLjA2My0uMDkuMTE3LS4xOC4xNjgtLjI3My4wMDgtLjAyLjAwNC0uMDQ3LS4wMTUtLjA1NXptLS4yNS0yLjYzNmEuMDUuMDUgMCAwMC4wMzUuMDE1Yy4wMDggMCAuMDE1LS4wMDQuMDIzLS4wMDhhLjA0Mi4wNDIgMCAwMC4wMDgtLjA1NGwtLjA3OC0uMTAyYy4wMDQgMCAuMDA4LjAwNC4wMTIuMDA0LjAwMyAwIC4wMDctLjAwNC4wMTUtLjAwNC4wMi0uMDA4LjAyOC0uMDMxLjAyNC0uMDUtLjA0LS4wOTgtLjA2Ny0uMi0uMDktLjMwMWEuMDQ1LjA0NSAwIDAwLS4wNTEtLjAyOGMtLjAyLjAwNC0uMDM1LjAyOC0uMDI3LjA0Ny4wMjMuMTAyLjA1LjIuMDg2LjI5N2ExLjM1NCAxLjM1NCAwIDAwLS4wOTgtLjExMy4wMzguMDM4IDAgMDAtLjA1NSAwYy0uMDE1LjAxNS0uMDIuMDM5LS4wMDQuMDU0LjA3LjA3OS4xNDEuMTU3LjIuMjQzem0tLjE1MyA5LjI4NWEuMDQ1LjA0NSAwIDAwLjA0LS4wNDNjLS4wMDUtLjA0My0uMDA1LS4wOS0uMDA1LS4xMzMgMC0uMDU5LjAwNC0uMTIxLjAwOC0uMTggMC0uMDItLjAxNS0uMDM5LS4wMzktLjA0My0uMDIgMC0uMDM5LjAxNi0uMDQzLjA0LS4wMDQuMDU4LS4wMDQuMTItLjAwNC4xODMgMCAuMDQ3IDAgLjA5LjAwNC4xMzcgMCAuMDIuMDE2LjAzOS4wNC4wMzl6bTEuOTQyLTIuNjQ1YS4wNDYuMDQ2IDAgMDAtLjA1MS0uMDMxIDIuNzg2IDIuNzg2IDAgMDAtLjMwNS4xMDJjLS4wMi4wMDctLjAzMS4wMy0uMDIzLjA1LjAwOC4wMTYuMDIzLjAyOC4wMzkuMDI4LjAwNCAwIC4wMDgtLjAwNC4wMTItLjAwNC4wOTctLjA0LjE5OS0uMDcuMjk2LS4wOTguMDI0LS4wMDQuMDM2LS4wMjcuMDMyLS4wNDd6bS42MjUtLjA3NGEuMDQuMDQgMCAwMC0uMDQtLjA0IDIuMjEgMi4yMSAwIDAwLS4zMi4wMjRjLS4wMjMgMC0uMDM5LjAyNC0uMDM1LjA0My4wMDQuMDIuMDIuMDM1LjA0LjAzNWguMDAzYy4xMDYtLjAxNS4yMTEtLjAyLjMxMy0uMDIzLjAyMyAwIC4wMzktLjAxNi4wMzktLjAzOXptLS41NTUgNC45OTJhMi4wMTUgMi4wMTUgMCAwMS0uMy0uMDgyYy0uMDItLjAwOC0uMDQ0LjAwNC0uMDUyLjAyNC0uMDA3LjAyLjAwNC4wNDMuMDI4LjA1LjA5Ny4wMzUuMjAzLjA2Ny4zMDguMDg2IDAgLjAwNC4wMDQuMDA0LjAwOC4wMDQuMDIgMCAuMDM1LS4wMTUuMDQtLjAzMS4wMDMtLjAyMy0uMDA5LS4wNDMtLjAzMi0uMDV6bS0uNTg2LS4yMDNhMS41MjQgMS41MjQgMCAwMS0uMTM3LS4wNzRjLS4wOS0uMDUxLS4xOC0uMTEtLjI2MS0uMTcyLS4wMTYtLjAxNi0uMDQzLS4wMTItLjA1NS4wMDgtLjAxMi4wMTUtLjAxMi4wNDMuMDA4LjA1NGEyLjQ4NiAyLjQ4NiAwIDAwLjQxLjI1NGMuMDA0LjAwNC4wMTIuMDA0LjAxNS4wMDRhLjA0My4wNDMgMCAwMC4wNC0uMDIzYy4wMDctLjAyIDAtLjA0My0uMDItLjA1MXptLS42NTItNC4xMzNjLS4wNzUuMDctLjE0NS4xNDUtLjIxMS4yMjNhLjgwNi44MDYgMCAwMC4wNDctLjEzN2MuMDA3LS4wMjMtLjAwNC0uMDQzLS4wMjgtLjA1YS4wMzUuMDM1IDAgMDAtLjA0Ny4wMjcgMi45NzEgMi45NzEgMCAwMS0uMTA5LjI5M2MtLjAwOC4wMiAwIC4wNDMuMDIuMDVhLjAzLjAzIDAgMDAuMDE1LjAwNC4wNDMuMDQzIDAgMDAuMDQtLjAyM2wuMDQ2LS4xMTdjMCAuMDA4LjAwOC4wMTUuMDEyLjAyMy4wMDguMDA0LjAyLjAwOC4wMjcuMDA4YS4wMzYuMDM2IDAgMDAuMDMxLS4wMTZjLjA2Ny0uMDc4LjEzNy0uMTU2LjIxMS0uMjI2LjAyLS4wMTYuMDItLjA0LjAwNC0uMDU1LS4wMTUtLjAxNS0uMDM5LS4wMi0uMDU4LS4wMDR6bS0uNTE2IDIuOTIyYy0uMDA4LS4wMi0uMDMxLS4wMjctLjA1LS4wMmEuMDM5LjAzOSAwIDAwLS4wMi4wNTVjLjA0My4wOTQuMDkzLjE5Mi4xNDguMjgyLjAwOC4wMTEuMDIuMDE5LjAzNS4wMTkuMDA4IDAgLjAxMiAwIC4wMi0uMDA0YS4wNC4wNCAwIDAwLjAxMi0uMDU1IDMuNzM1IDMuNzM1IDAgMDEtLjE0NS0uMjc3em0tLjE4NC0uNTk0Yy0uMDAzLS4wMjMtLjAyMy0uMDM1LS4wNDYtLjAzYS4wNC4wNCAwIDAwLS4wMzIuMDQ2Yy4wMi4xMDUuMDQzLjIwNy4wNzUuMzEyLjAwNy4wMTYuMDIzLjAyOC4wMzkuMDI4LjAwMyAwIC4wMDcgMCAuMDExLS4wMDRhLjAzNS4wMzUgMCAwMC4wMjgtLjA0NyAyLjg4MSAyLjg4MSAwIDAxLS4wNzUtLjMwNXptLjM0OC0xLjg0N2EuMDQ0LjA0NCAwIDAwLS4wNTguMDE1Yy0uMDIuMDMyLS4wNC4wNjctLjA2My4xMDJsLS4wMTIuMDI3Yy0uMDA0IDAtLjAwNC4wMDQtLjAwOC4wMDQtLjA1LjA5LS4xMDkuMTc2LS4xNzUuMjU4YS4wNDcuMDQ3IDAgMDAuMDA4LjA1OS4wNTYuMDU2IDAgMDAuMDIzLjAwN2MuMDEyIDAgLjAyMy0uMDA3LjAzMS0uMDE1LjAyOC0uMDM1LjA1NS0uMDcuMDc4LS4xMDYuMDE2IDAgLjAyOC0uMDA4LjAzNS0uMDIzLjAyOC0uMDU5LjA2LS4xMTMuMDktLjE3MmEuODMyLjgzMiAwIDAxLjA2My0uMDk4Yy4wMTItLjAyLjAwNC0uMDQzLS4wMTItLjA1OHptLjE2IDIuOTcyYy0uMDExLS4wMi0uMDM5LS4wMi0uMDU0LS4wMDctLjAyLjAxNS0uMDIuMDM5LS4wMDguMDU4LjA2Ni4wODIuMTQuMTYuMjE4LjIzOC4wMDguMDA0LjAxNi4wMDguMDI4LjAwOC4wMDggMCAuMDItLjAwNC4wMjctLjAxMmEuMDM4LjAzOCAwIDAwMC0uMDU0IDIuOTUgMi45NSAwIDAxLS4yMS0uMjN6bS0uNDQ1LTIuNDA2YS4wMzUuMDM1IDAgMDAtLjA0Ny4wMjcgMi43NzUgMi43NzUgMCAwMC0uMDg2LjMwOS4wNC4wNCAwIDAwLjAzMS4wNDdoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDQtLjAzMS4wMjMtLjEwMi4wNS0uMjAzLjA4MS0uMzAxLjAwOC0uMDItLjAwNC0uMDQzLS4wMjctLjA1em00LjUzMS0uNTE2Yy4wMDggMCAuMDE2IDAgLjAyNC0uMDAzLjAxNS0uMDEyLjAyMy0uMDQuMDExLS4wNTVhMi40ODMgMi40ODMgMCAwMC0uMTk1LS4yNThjLS4wMTItLjAxNi0uMDM5LS4wMi0uMDU1LS4wMDQtLjAxNS4wMTItLjAyLjA0LS4wMDQuMDU1LjA2Ny4wNzguMTMuMTY0LjE4NC4yNS4wMDguMDEyLjAyMy4wMTUuMDM1LjAxNXptLS40MS0uNDhhLjA0NC4wNDQgMCAwMC4wMzEtLjAxMmMuMDE2LS4wMTUuMDEyLS4wNDMtLjAwNC0uMDU0YTIuNDcgMi40NyAwIDAwLS4yNS0uMjA0Yy0uMDItLjAxMS0uMDQzLS4wMDctLjA1NC4wMDhhLjA0Ny4wNDcgMCAwMC4wMDguMDU5Yy4wODUuMDU4LjE2Ny4xMjUuMjQyLjE5NS4wMDguMDA0LjAyLjAwOC4wMjcuMDA4em0uMDUgMy42MTNhMi4zMzggMi4zMzggMCAwMS0uMjM0LjIwN2MtLjAyLjAxMi0uMDIzLjA0LS4wMDcuMDU1LjAwNy4wMTIuMDIuMDE2LjAzLjAxNmEuMDU2LjA1NiAwIDAwLjAyNC0uMDA4Yy4wODYtLjA2Ny4xNjgtLjEzNy4yNDItLjIxMWEuMDQyLjA0MiAwIDAwMC0uMDU5LjAzOC4wMzggMCAwMC0uMDU0IDB6bS43NzgtMS43MWMtLjAyMyAwLS4wNDMuMDE5LS4wNDMuMDM4YTIuODIyIDIuODIyIDAgMDEtLjAzMS4zMTNjLS4wMDQuMDIuMDEyLjAzOS4wMzEuMDQzSDIzYy4wMiAwIC4wMzUtLjAxMi4wNC0uMDMxLjAxNS0uMTA2LjAyNi0uMjE1LjAzLS4zMi4wMDQtLjAyNC0uMDE1LS4wNC0uMDM1LS4wNDR6bS0uMDk4LjYyNGMtLjAxOS0uMDA0LS4wNDIuMDA4LS4wNDYuMDI4YTIuMzggMi4zOCAwIDAxLS4xMS4yOTNjLS4wMDguMDIgMCAuMDQzLjAyLjA1YS4wMy4wMyAwIDAwLjAxNS4wMDQuMDQzLjA0MyAwIDAwLjA0LS4wMjNjLjA0Mi0uMDk4LjA3OC0uMi4xMDktLjMuMDA4LS4wMi0uMDA0LS4wNDQtLjAyNy0uMDUyem0tLjI0Mi41ODJhLjA0NC4wNDQgMCAwMC0uMDU4LjAxNmMtLjA1MS4wOS0uMTEuMTc2LS4xNzYuMjU4LS4wMTIuMDE1LS4wMDguMDM5LjAwOC4wNTVhLjA1Ni4wNTYgMCAwMC4wMjMuMDA3Yy4wMTYgMCAuMDI4LS4wMDQuMDM1LS4wMTUuMDYzLS4wODIuMTI1LS4xNzIuMTgtLjI2NmEuMDQyLjA0MiAwIDAwLS4wMTItLjA1NXptLjItMi4wNThjLjAwMyAwIC4wMDcgMCAuMDExLS4wMDQuMDI0LS4wMDguMDM1LS4wMzEuMDI4LS4wNWEyLjgxIDIuODEgMCAwMC0uMTI1LS4yOThjLS4wMDgtLjAyLS4wMzItLjAyNy0uMDUxLS4wMi0uMDI0LjAxMi0uMDMxLjAzNi0uMDIuMDU1LjA0Ny4wOTQuMDg2LjE5Mi4xMTcuMjkuMDA4LjAxNS4wMjQuMDI3LjA0LjAyN3ptLjA5LjU4MmMuMDAzLjAyLjAxOS4wMzUuMDM4LjAzNWguMDA0YS4wNDUuMDQ1IDAgMDAuMDQtLjA0MyA0LjUyIDQuNTIgMCAwMC0uMDQ3LS4zMmMtLjAwOC0uMDItLjAyOC0uMDM1LS4wNDctLjAyOC0uMDI0LjAwNC0uMDM1LjAyNC0uMDMyLjA0Ny4wMi4xMDIuMDM2LjIwMy4wNDMuMzA5em0tMS43OSAyLjYxYy0uMTAxLjAyNy0uMjAzLjA1LS4zMDQuMDctLjAyNCAwLS4wMzYuMDIzLS4wMzYuMDQyLjAwNC4wMi4wMjQuMDM2LjA0My4wMzZoLjAwNGMuMTA2LS4wMi4yMTEtLjA0My4zMTMtLjA3NWEuMDM1LjAzNSAwIDAwLjAyNy0uMDQ2LjAzNS4wMzUgMCAwMC0uMDQ3LS4wMjh6bS0xLjk1My00LjY2OWMtLjA5NC4wNTEtLjE4My4xMS0uMjcuMTcyLS4wMTkuMDEyLS4wMjMuMDQtLjAwNy4wNTUuMDA4LjAxMi4wMi4wMTUuMDMxLjAxNS4wMDggMCAuMDE2IDAgLjAyNC0uMDAzLjA4Mi0uMDYzLjE3MS0uMTE4LjI2MS0uMTY4LjAyLS4wMTIuMDI4LS4wMzYuMDE2LS4wNTUtLjAwOC0uMDItLjAzNS0uMDI3LS4wNTUtLjAxNnptMS44Ni0uMTY0Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMWEuMDM2LjAzNiAwIDAwLS4wMjgtLjA0NyAyLjI1IDIuMjUgMCAwMC0uMzE2LS4wNTljLS4wMjQtLjAwMy0uMDQzLjAxMi0uMDQzLjAzNi0uMDA0LjAyLjAxMi4wMzkuMDM1LjA0M2EyLjc3MSAyLjc3MSAwIDAxLjMxMy4wNTh6bS0uNTIgNC45M2MtLjEwNS4wMDQtLjIxLjAwNC0uMzEyLS4wMDgtLjAyNCAwLS4wNDMuMDE2LS4wNDMuMDQtLjAwNC4wMTkuMDE1LjAzOC4wMzUuMDQyLjA3NC4wMDQuMTUyLjAwOC4yMjYuMDA4aC4wOTRjLjAyMyAwIC4wNC0uMDIuMDQtLjA0MyAwLS4wMi0uMDItLjA0LS4wNC0uMDR6bTEuMTEtNC43MDNhLjA0MS4wNDEgMCAwMC4wMzUtLjAyYy4wMTEtLjAyLjAwMy0uMDQ3LS4wMTYtLjA1NWEyLjUwNSAyLjUwNSAwIDAwLS4yOTMtLjEzNmMtLjAyLS4wMDgtLjA0My4wMDQtLjA1LjAyMy0uMDA5LjAyLjAwMy4wNDMuMDIzLjA1MS4wOTcuMDQuMTkxLjA4Mi4yOC4xMzNhLjA0Mi4wNDIgMCAwMC4wMi4wMDR6bS4wNzQgNC4zNmMtLjA5LjA1LS4xODQuMDk3LS4yNzguMTQtLjAyMy4wMDgtLjAzMS4wMzEtLjAyMy4wNWEuMDQzLjA0MyAwIDAwLjAzOS4wMjRjLjAwNCAwIC4wMDggMCAuMDE2LS4wMDQuMDk3LS4wMzkuMTk1LS4wOS4yODUtLjE0NS4wMi0uMDExLjAyNy0uMDM1LjAxNS0uMDU0LS4wMTEtLjAyLS4wMzUtLjAyNC0uMDU0LS4wMTJ6bS02LjIxMS0yLjI1NWEyLjYzIDIuNjMgMCAwMS0uMzAxLS4wODIuMDM4LjAzOCAwIDAwLS4wNS4wMjRjLS4wMDkuMDIuMDAzLjA0My4wMjMuMDUuMTAxLjAzNi4yMDcuMDYzLjMxMi4wODZoLjAwOGMuMDIgMCAuMDM1LS4wMTEuMDM5LS4wM2EuMDQzLjA0MyAwIDAwLS4wMzEtLjA0OHptLTEuOTMtMi45MzdjLjAyMy0uMTAyLjA0Ny0uMjAzLjA4Mi0uMzAxLjAwOC0uMDI0LS4wMDQtLjA0My0uMDI3LS4wNS0uMDItLjAwOS0uMDQzLjAwMy0uMDUxLjAyM2E0LjA3MiA0LjA3MiAwIDAwLS4wODIuMzEyLjA0My4wNDMgMCAwMC4wMzEuMDQ3aC4wMDhjLjAyIDAgLjAzNS0uMDEyLjAzOS0uMDMxem0uMDI3IDEuMjhoLjAxMmMuMDI0LS4wMDcuMDM1LS4wMjYuMDI3LS4wNWEyLjYgMi42IDAgMDEtLjA3NC0uM2MtLjAwNC0uMDI0LS4wMjMtLjA0LS4wNDctLjAzNmEuMDQzLjA0MyAwIDAwLS4wMy4wNDdjLjAxOS4xMDYuMDQyLjIxMS4wNzMuMzEzYS4wNC4wNCAwIDAwLjA0LjAyN3ptMi41MiAxLjcxMmMtLjEwMi4wMDQtLjIwNyAwLS4zMDktLjAwOC0uMDIzIDAtLjA0My4wMTYtLjA0My4wMzUtLjAwNC4wMjQuMDEyLjA0My4wMzUuMDQzLjA3NS4wMDguMTQ5LjAxMi4yMjcuMDEyaC4wOTRjLjAyMy0uMDA0LjAzOS0uMDIuMDM5LS4wNDMgMC0uMDIzLS4wMi0uMDQtLjA0My0uMDR6bS0yLjA0Ny0uOTM4Yy0uMDEyLS4wMi0uMDQtLjAyMy0uMDU1LS4wMDctLjAwNCAwLS4wMDQuMDAzLS4wMDQuMDAzLS4wMDQtLjAxMS0uMDA3LS4wMjMtLjAxNS0uMDM1LS4wMDgtLjAyLS4wMzEtLjAzLS4wNTEtLjAyLS4wMi4wMDktLjAzMS4wMzItLjAyLjA1Mi4wNC4wOTMuMDc1LjE5NS4xMDIuMjkzLjAwOC4wMi4wMjMuMDMuMDQuMDNsLjAxLS4wMDNjLjAyLS4wMDQuMDM2LS4wMjcuMDI4LS4wNDctLjAxNS0uMDU1LS4wMzUtLjExLS4wNTUtLjE2NC4wNTUuMDYyLjExNC4xMjUuMTcyLjE4NC4wMDguMDA3LjAyLjAxMS4wMzIuMDExLjAwNyAwIC4wMi0uMDA0LjAyNy0uMDExYS4wMzguMDM4IDAgMDAwLS4wNTUgMy44NzUgMy44NzUgMCAwMS0uMjExLS4yM3ptMS4zNTUtNC4wMzljLS4wMDMtLjAyLS4wMjctLjAzLS4wNDYtLjAyN2EyLjUzMyAyLjUzMyAwIDAwLS4zMDUuMTAyYy0uMDIuMDA3LS4wMzEuMDMtLjAyNC4wNS4wMDguMDE2LjAyLjAyNC4wNC4wMjRoLjAxMWMuMDk4LS4wNC4xOTYtLjA3LjI5Ny0uMDk4LjAyNC0uMDA4LjAzNS0uMDI3LjAyNy0uMDV6bS0xLjkzMyAyLjI1Yy0uMDItLjAwNC0uMDQuMDE2LS4wNDMuMDM1LS4wMDQuMDYzLS4wMDQuMTI1LS4wMDQuMTg4di4xMzdjLjAwNC4wMi4wMi4wMzUuMDQzLjAzNWEuMDQuMDQgMCAwMC4wMzktLjA0Yy0uMDA0LS4wNDYtLjAwNC0uMDktLjAwNC0uMTMyIDAtLjA1OS4wMDQtLjEyMS4wMDgtLjE4IDAtLjAyMy0uMDE2LS4wNDMtLjA0LS4wNDN6bTEuNDIyIDIuNDY1Yy0uMDQ3LS4wMi0uMDk0LS4wNDctLjEzNy0uMDdhNC4zMjggNC4zMjggMCAwMS0uMjYyLS4xNzJjLS4wMTUtLjAxNi0uMDQzLS4wMTItLjA1NC4wMDgtLjAxNi4wMTUtLjAxMi4wMzkuMDA3LjA1NGEyLjgzNyAyLjgzNyAwIDAwLjQxLjI1NGMuMDA1IDAgLjAxMi4wMDQuMDE2LjAwNC4wMTYgMCAuMDMxLS4wMDguMDM1LS4wMjMuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNTV6bS0uNjUzLTQuMTI5YTIuNDY4IDIuNDY4IDAgMDAtLjIxOC4yMzVjLS4wMTYuMDE1LS4wMTIuMDQzLjAwNC4wNTRhLjAzNS4wMzUgMCAwMC4wMjcuMDEyYy4wMTIgMCAuMDIzLS4wMDguMDMxLS4wMTYuMDY3LS4wNzguMTM3LS4xNTYuMjExLS4yMjYuMDE2LS4wMTYuMDItLjA0LjAwNC0uMDU5YS4wNDIuMDQyIDAgMDAtLjA1OSAwem0uNTItLjM3NWMtLjA5NC4wNTEtLjE4NC4xMS0uMjcuMTcyLS4wMi4wMTItLjAyMy4wMzUtLjAwNy4wNTUuMDA3LjAxMi4wMi4wMTUuMDMuMDE1LjAwOSAwIC4wMTYgMCAuMDI0LS4wMDcuMDgyLS4wNTkuMTcyLS4xMTguMjYyLS4xNjQuMDItLjAxMi4wMjctLjAzNi4wMTYtLjA1NS0uMDA4LS4wMi0uMDM2LS4wMjctLjA1NS0uMDE2em0zLjc0MiAyLjA1NWMuMDA0LjAyMy4wMi4wMzkuMDQuMDM5aC4wMDNhLjA0NS4wNDUgMCAwMC4wNC0uMDQzIDQuMjEyIDQuMjEyIDAgMDAtLjA0OC0uMzJjLS4wMDgtLjAyLS4wMjctLjAzNS0uMDUtLjAzMi0uMDIuMDA0LS4wMzYuMDI4LS4wMjguMDQ3LjAyLjEwMi4wMzUuMjA3LjA0My4zMDl6bS0uNTgyLTEuNDczYy0uMDIuMDE2LS4wMi4wNC0uMDA0LjA1OS4wNjcuMDc4LjEzLjE2LjE4NC4yNS4wMDguMDEyLjAyMy4wMTUuMDM1LjAxNS4wMDggMCAuMDE2IDAgLjAyLS4wMDMuMDE5LS4wMTYuMDI3LS4wNC4wMTEtLjA1OWEyLjA1NiAyLjA1NiAwIDAwLS4xOTEtLjI1NC4wMzkuMDM5IDAgMDAtLjA1NS0uMDA4em0tNC4wMzUuMjc0YS4wNC4wNCAwIDAwLS4wNTUuMDExYy0uMDIuMDM2LS4wNDMuMDctLjA2Mi4xMDYtLjAzMS4wNTUtLjA2My4xMTctLjA5NC4xNzYtLjAwOC4wMiAwIC4wNDMuMDIuMDU0LjAwNyAwIC4wMTEuMDA0LjAyLjAwNGEuMDQyLjA0MiAwIDAwLjAzNC0uMDIzIDIuMzc5IDIuMzc5IDAgMDEuMTUzLS4yNzRjLjAxMS0uMDE1LjAwMy0uMDQzLS4wMTYtLjA1NHptNC40ODguNTlhLjA0LjA0IDAgMDAuMDQuMDI3aC4wMTFjLjAyMy0uMDA4LjAzMS0uMDMxLjAyNy0uMDVhMi41MDMgMi41MDMgMCAwMC0uMTI1LS4yOThjLS4wMDctLjAyLS4wMy0uMDI3LS4wNTQtLjAyLS4wMi4wMTItLjAyOC4wMzYtLjAxNi4wNTUuMDQzLjA5NC4wODYuMTg4LjExNy4yODZ6bS0xLjY2IDMuMjIyYy0uMTAyLjAyOC0uMjAzLjA1MS0uMzA1LjA2Ny0uMDIzLjAwNC0uMDM5LjAyMy0uMDM1LjA0Ny4wMDQuMDE5LjAyNC4wMzUuMDQuMDM1LjAwMyAwIC4wMDctLjAwNC4wMDctLjAwNC4xMDYtLjAxNi4yMTEtLjA0LjMxMy0uMDcuMDIzLS4wMDQuMDM1LS4wMjguMDI3LS4wNTEtLjAwNC0uMDItLjAyNy0uMDMyLS4wNDctLjAyNHptLjQ5Ni00LjYwNWMuMDE2IDAgLjAyNy0uMDA4LjAzNS0uMDI0LjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU0YTIuNDg0IDIuNDg0IDAgMDAtLjI5My0uMTMzYy0uMDItLjAwOC0uMDQzLjAwNC0uMDUxLjAyMy0uMDA4LjAyLjAwNC4wNDMuMDIzLjA1MS4wOTguMDQuMTkyLjA4Mi4yODIuMTI5LjAwNy4wMDQuMDExLjAwOC4wMi4wMDh6bS0uNTktLjIzYy4wMiAwIC4wMzUtLjAxMi4wNC0uMDI4LjAwNy0uMDIzLS4wMDgtLjA0My0uMDI4LS4wNS0uMDU1LS4wMTMtLjExMy0uMDI0LS4xNjgtLjAzNi4wODItLjAxNi4xNjQtLjAzNS4yNDYtLjA1NWEuMDQ3LjA0NyAwIDAwLjAyNy0uMDVjLS4wMDctLjAyLS4wMjctLjAzNi0uMDUtLjAyOC0uMDk4LjAyOC0uMjAzLjA1MS0uMzA1LjA2Ny0uMDIuMDAzLS4wMzUuMDIzLS4wMzEuMDQzdi4wMDdjLS4wMTItLjAwNC0uMDI0LS4wMDQtLjAzNS0uMDA3LS4wMjQgMC0uMDQzLjAxNS0uMDQzLjAzNWEuMDQuMDQgMCAwMC4wMy4wNDdjLjEwNi4wMTEuMjA4LjAzLjMxLjA1NGguMDA3em0uNjY0IDQuNTg1Yy0uMDkuMDU1LS4xODMuMTAyLS4yNzcuMTQtLjAyMy4wMTMtLjAzMS4wMzYtLjAyMy4wNTZhLjA0My4wNDMgMCAwMC4wMzkuMDIzYy4wMDQgMCAuMDA3IDAgLjAxNS0uMDA0YTIuNzkgMi43OSAwIDAwLjI4NS0uMTQ0Yy4wMi0uMDEyLjAyNC0uMDM2LjAxNi0uMDU1LS4wMTItLjAyLS4wMzktLjAyNy0uMDU1LS4wMTZ6bS41NDctLjM3OWEuMDQyLjA0MiAwIDAwLS4wNTggMGMtLjA3LjA3NS0uMTQ5LjE0LS4yMy4yMDctLjAyLjAxMi0uMDI0LjAzNS0uMDA5LjA1NS4wMDguMDA4LjAyLjAxNi4wMzIuMDE2LjAwNyAwIC4wMTUtLjAwNC4wMjMtLjAwOC4wODYtLjA2Ny4xNjgtLjEzNy4yNDItLjIxNWEuMDM4LjAzOCAwIDAwMC0uMDU1em0uNjgtMS4zMTZoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMzEuMDE1LS4xMDYuMDI3LS4yMTUuMDMxLS4zMmEuMDM3LjAzNyAwIDAwLS4wMzUtLjA0NGMtLjAyNCAwLS4wNDMuMDE2LS4wNDMuMDRhMi43NTMgMi43NTMgMCAwMS0uMDMxLjMwOGMtLjAwNC4wMjMuMDA4LjA0My4wMy4wNDd6bS0uNzg1LTIuMjk3YS4wNDQuMDQ0IDAgMDAuMDMxLS4wMTIuMDQ3LjA0NyAwIDAwLS4wMDQtLjA1OCAzLjEwNSAzLjEwNSAwIDAwLS4yNS0uMmMtLjAyLS4wMTUtLjA0My0uMDA3LS4wNTUuMDA4LS4wMTUuMDItLjAxMS4wNDMuMDA4LjA1NS4wODYuMDYzLjE2OC4xMjkuMjQyLjE5NS4wMDguMDA4LjAyLjAxMi4wMjguMDEyem0tNy4zNTIgMTEuNjUyYy0uMDktLjA1LS4xOC0uMTA1LS4yNjEtLjE2OC0uMDItLjAxNS0uMDQzLS4wMTEtLjA1NS4wMDgtLjAxNi4wMTYtLjAxMi4wNDMuMDA4LjA1NS4wODYuMDYyLjE3NS4xMjEuMjcuMTc2LjAwMy4wMDQuMDEuMDA0LjAxOS4wMDRhLjA0Ny4wNDcgMCAwMC4wMzUtLjAyYy4wMDgtLjAyLjAwNC0uMDQzLS4wMTYtLjA1NXptLjcwNy00LjcxNGMtLjEwNS4wMjMtLjIwNy4wNS0uMzA4LjA4NS0uMDI0LjAwNC0uMDMyLjAyOC0uMDI4LjA1MWEuMDQzLjA0MyAwIDAwLjA0LjAyNGguMDExYy4wOTgtLjAzNS4yLS4wNjMuMy0uMDgyLjAyNC0uMDA0LjAzNi0uMDI0LjAzMi0uMDQ3YS4wNC4wNCAwIDAwLS4wNDctLjAzMXptLS42MDUuMjA3YTIuNDYgMi40NiAwIDAwLS4yODEuMTU2LjA0LjA0IDAgMDAtLjAxMi4wNTVjLjAwOC4wMTEuMDIuMDE5LjAzNS4wMTkuMDA4IDAgLjAxMi0uMDA0LjAyLS4wMDguMDg1LS4wNTQuMTgtLjEwNS4yNzMtLjE1Mi4wMi0uMDA4LjAyNy0uMDMxLjAxNi0uMDUtLjAwOC0uMDI0LS4wMzItLjAzMi0uMDUxLS4wMnptLjQ3MiA0Ljc0MmEyLjM0MiAyLjM0MiAwIDAxLS4yOTMtLjA5OGMtLjAyMy0uMDA4LS4wNDYgMC0uMDU0LjAyYS4wNDQuMDQ0IDAgMDAuMDIzLjA1NGMuMDk4LjA0LjIuMDc1LjMwNS4xMDJoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMjcuMDA4LS4wMjQtLjAwNC0uMDQzLS4wMjgtLjA1MXptLTEuMDExLTQuMzk1YTIuNDkgMi40OSAwIDAwLS4yMy4yMjNjLS4wMTYuMDE1LS4wMTYuMDQzIDAgLjA1NS4wMDcuMDA3LjAxOS4wMTEuMDI3LjAxMWEuMDQ0LjA0NCAwIDAwLjAzLS4wMTFjLjA3MS0uMDc5LjE0NS0uMTQ5LjIyMy0uMjE1LjAyLS4wMTYuMDItLjA0LjAwNC0uMDU5LS4wMTEtLjAxNS0uMDM5LS4wMTUtLjA1NC0uMDA0em0tLjYwNiAzLjAzNWMtLjAwOC0uMDItLjAzMS0uMDI3LS4wNTQtLjAyYS4wNDUuMDQ1IDAgMDAtLjAyLjA1NmMuMDQ3LjA5Ny4wOTguMTkuMTU2LjI4LjAwOC4wMTIuMDIuMDIuMDMyLjAyLjAwNyAwIC4wMTUtLjAwNC4wMjMtLjAwOC4wMi0uMDExLjAyMy0uMDM1LjAxMi0uMDU0YTIuMzAzIDIuMzAzIDAgMDEtLjE0OS0uMjc0em0tLjE5MS0uNTljLS4wMDQtLjAyMy0uMDI0LS4wMzUtLjA0Ny0uMDNhLjA0LjA0IDAgMDAtLjAzMS4wNDZjLjAyLjEwNi4wNDcuMjA3LjA3OC4zMDlhLjA0LjA0IDAgMDAuMDM5LjAyN2guMDEyYy4wMjMtLjAwOC4wMzUtLjAyNy4wMjctLjA1YTIuNjE0IDIuNjE0IDAgMDEtLjA3OC0uMzAxem0uNTIzIDEuMTE4Yy0uMDE1LS4wMTYtLjAzOS0uMDItLjA1OC0uMDA0LS4wMTYuMDEyLS4wMi4wMzktLjAwNC4wNTUuMDY2LjA4Mi4xNC4xNi4yMTkuMjM0YS4wMzUuMDM1IDAgMDAuMDI3LjAxMmMuMDEyIDAgLjAyLS4wMDQuMDI3LS4wMTJhLjA0Mi4wNDIgMCAwMDAtLjA1OSAyLjMgMi4zIDAgMDEtLjIxLS4yMjZ6bTEuOTAzLjkxOGMtLjEwNiAwLS4yMTEtLjAwOC0uMzEzLS4wMjQtLjAyLS4wMDQtLjA0My4wMTItLjA0My4wMzUtLjAwNC4wMjQuMDEyLjA0My4wMzEuMDQzLjEwNi4wMTYuMjE1LjAyNC4zMi4wMjhoLjAwNWMuMDIgMCAuMDM5LS4wMi4wMzktLjA0IDAtLjAyMy0uMDItLjA0Mi0uMDQtLjA0MnptLTIuMDA4LTQuMDJjLS4wMi0uMDEyLS4wNDMtLjAwOC0uMDU1LjAxMmEyLjQyMiAyLjQyMiAwIDAwLS4xNzIuMjdjLS4wMTEuMDE5LS4wMDQuMDQ2LjAxNi4wNTRhLjAzLjAzIDAgMDAuMDIuMDA4LjA0Mi4wNDIgMCAwMC4wMzUtLjAyNGMuMDQ2LS4wOS4xMDUtLjE4LjE2NC0uMjYxYS4wNDcuMDQ3IDAgMDAtLjAwOC0uMDU5em0yLjc5Ny0uOTU3Yy0uMDk4LS4wMjctLjItLjA1LS4zMDEtLjA3LjA1LS4wMDguMDk4LS4wMi4xNDgtLjAzMS4wMi0uMDA0LjAzMi0uMDI4LjAyOC0uMDQ3YS4wNDMuMDQzIDAgMDAtLjA0Ny0uMDMyIDIuMDQgMi4wNCAwIDAxLS4zMDkuMDU1LjA0Ni4wNDYgMCAwMC0uMDM1LjA0M2MuMDA0LjAyLjAyLjAzNS4wNC4wMzVoLjAwM2MuMDQzLS4wMDQuMDgyLS4wMDguMTI1LS4wMTUtLjAwOC4wMDQtLjAxMi4wMTEtLjAxMi4wMjMtLjAwNC4wMi4wMTIuMDQuMDMyLjA0My4xMDEuMDIuMjAzLjA0My4zMDQuMDc0aC4wMTJhLjAzOC4wMzggMCAwMC4wMzUtLjAyN2MuMDA4LS4wMi0uMDA0LS4wNDMtLjAyMy0uMDV6bS44NDcuNDQ1Yy0uMDE1LS4wMTEtLjA0My0uMDExLS4wNTQuMDA4LS4wMTYuMDE2LS4wMTIuMDQzLjAwNC4wNTUuMDgyLjA2Ni4xNi4xMzcuMjM0LjIwN2EuMDM1LjAzNSAwIDAwLjAyNy4wMTJjLjAxMiAwIC4wMi0uMDA0LjAyOC0uMDEyLjAxNS0uMDEyLjAxNS0uMDQgMC0uMDU1YTIuNTE2IDIuNTE2IDAgMDAtLjIzOS0uMjE1em0uODA5IDIuODQ0Yy0uMDItLjAwOC0uMDQzLjAwNC0uMDUuMDI0YTIuMzE0IDIuMzE0IDAgMDEtLjEyMi4yODVjLS4wMTIuMDItLjAwNC4wNDcuMDE2LjA1NGEuMDQyLjA0MiAwIDAwLjAyLjAwNC4wNDEuMDQxIDAgMDAuMDM0LS4wMmMuMDUxLS4wOTcuMDktLjE5NC4xMy0uMjk2LjAwMy0uMDItLjAwNS0uMDQzLS4wMjgtLjA1em0tLjI3NC41NjdhLjA0Mi4wNDIgMCAwMC0uMDU0LjAxMSAyLjgzMSAyLjgzMSAwIDAxLS4xOTIuMjUuMDQyLjA0MiAwIDAwLjAwNC4wNTVjLjAwOC4wMDguMDIuMDA4LjAyOC4wMDhhLjA0NC4wNDQgMCAwMC4wMy0uMDEyYy4wNzEtLjA4Mi4xMzQtLjE2OC4xOTYtLjI1NC4wMTItLjAyLjAwOC0uMDQzLS4wMTEtLjA1OHptLjQwMy0xLjE4OGEuMDQ2LjA0NiAwIDAwLS4wNDcuMDQgMS45NzggMS45NzggMCAwMS0uMDQ3LjMwNGMtLjAwNC4wMjMuMDEyLjA0My4wMzEuMDVoLjAwOGMuMDIgMCAuMDM1LS4wMTEuMDQtLjAzLjAyMy0uMTA2LjAzOC0uMjEyLjA1LS4zMTcgMC0uMDIzLS4wMTYtLjA0My0uMDM1LS4wNDd6bS0uMDMxLS42MjljLS4wMjQuMDA0LS4wMzYuMDI0LS4wMzYuMDQ3LjAyLjEwMi4wMjguMjAzLjAzMi4zMDkgMCAuMDIuMDIuMDM5LjAzOS4wMzkuMDIzIDAgLjAzOS0uMDIuMDM5LS4wNDNhMi45NTIgMi45NTIgMCAwMC0uMDI4LS4zMi4wNC4wNCAwIDAwLS4wNDYtLjAzMnptLTUuMDQzLjYzN2MuMDItLjAwNC4wMzktLjAyNC4wMzUtLjA0My0uMDA0LS4wNTUtLjAwNC0uMTA2LS4wMDQtLjE2IDAtLjEwMi4wMDgtLjIwNy4wMi0uMzA5LjAwMy0uMDIzLS4wMTItLjA0My0uMDM2LS4wNDctLjAyMyAwLS4wNDMuMDE2LS4wNDMuMDM1LS4wMTUuMTA2LS4wMi4yMTUtLjAyLjMyIDAgLjA1NSAwIC4xMS4wMDUuMTY1IDAgLjAyLjAyLjAzOS4wMzkuMDM5aC4wMDR6bTIuNjU2LTIuNzg1aC0uMTUyLS4wMDRhNC4wNTEgNC4wNTEgMCAwMS0uMzEzLS4wMjRjLS4wMi0uMDA0LS4wNDMuMDEyLS4wNDMuMDMyYS4wNC4wNCAwIDAwLjAzMS4wNDZjLjA0My4wMDQuMDg2LjAxMi4xMy4wMTIuMDA3LjAxMi4wMTkuMDIuMDMuMDJoLjAwNGMuMTAyLS4wMDguMjA3LS4wMDguMzEzLS4wMDQuMDIgMCAuMDM5LS4wMTYuMDQzLS4wNCAwLS4wMjMtLjAyLS4wMzgtLjA0LS4wNDJ6bTEuNTUgNC40NDVjLS4wNzQuMDctLjE1Ni4xMzctLjI0Mi4xOTUtLjAyLjAxMi0uMDIzLjAzNi0uMDExLjA1NS4wMDguMDEyLjAyMy4wMTYuMDM1LjAxNi4wMDggMCAuMDE2IDAgLjAyMy0uMDA0LjA4Ni0uMDYzLjE3Mi0uMTMuMjUtLjIuMDE2LS4wMTUuMDItLjA0Mi4wMDQtLjA1OC0uMDE1LS4wMTYtLjAzOS0uMDE2LS4wNTgtLjAwNHptLTEuMDkuNTc0YTIuNjgxIDIuNjgxIDAgMDEtLjMwOC4wNTVjLS4wMiAwLS4wMzUuMDItLjAzNS4wNDMuMDA0LjAyLjAyLjAzNS4wNC4wMzVoLjAwM2MuMTEtLjAxMi4yMTUtLjAzMS4zMi0uMDU1LjAyLS4wMDMuMDMyLS4wMjcuMDI4LS4wNDYtLjAwNC0uMDI0LS4wMjgtLjAzNi0uMDQ3LS4wMzJ6bS43NTktNC42NDhhMi44MjYgMi44MjYgMCAwMC0uMjg2LS4xNDljLS4wMi0uMDA3LS4wNDYgMC0uMDU0LjAyczAgLjA0My4wMi4wNTVjLjA5Ny4wMzkuMTg3LjA5LjI3Ny4xNDRhLjAzNS4wMzUgMCAwMC4wMi4wMDQuMDQxLjA0MSAwIDAwLjAzNC0uMDIuMDQyLjA0MiAwIDAwLS4wMTEtLjA1NHptLS4xNzYgNC40M2EyLjY2IDIuNjYgMCAwMS0uMjg1LjEyOGMtLjAyLjAwOC0uMDMyLjAzMi0uMDI0LjA1MS4wMDguMDE2LjAyLjAyOC4wNC4wMjguMDAzIDAgLjAwNy0uMDA0LjAxMS0uMDA0LjEwMi0uMDQuMi0uMDgyLjI5My0uMTMzLjAyLS4wMDguMDI3LS4wMzUuMDItLjA1NWEuMDQ4LjA0OCAwIDAwLS4wNTUtLjAxNXptMS4wNjYtMy41MjRhMi44ODQgMi44ODQgMCAwMC0uMTgtLjI2Ni4wNDIuMDQyIDAgMDAtLjA1NC0uMDA3LjA0Ny4wNDcgMCAwMC0uMDA4LjA1OGMuMDYzLjA4Mi4xMjEuMTY4LjE3Ni4yNTguMDA4LjAxMi4wMi4wMi4wMzEuMDJhLjA1Ni4wNTYgMCAwMC4wMjQtLjAwOC4wNDIuMDQyIDAgMDAuMDExLS4wNTV6bS4wOTQuMjY2Yy0uMDIuMDExLS4wMzEuMDM1LS4wMi4wNTQuMDQuMDk0LjA3NS4xOTIuMTAyLjI5My4wMDguMDE2LjAyMy4wMjguMDQuMDI4aC4wMWMuMDItLjAwOC4wMzYtLjAyOC4wMjgtLjA1MWEyLjc2NyAyLjc2NyAwIDAwLS4xMS0uM2MtLjAwNy0uMDI0LS4wMy0uMDMyLS4wNS0uMDI0em0tNC44LjQ1M2guMDFjLjAxNyAwIC4wMzItLjAxMi4wNC0uMDMxLjAyMy0uMDk4LjA1NS0uMi4wOTQtLjI5Ny4wMDgtLjAyLS4wMDQtLjA0My0uMDI0LS4wNTFzLS4wNDMuMDA0LS4wNS4wMjNjLS4wNC4wOTgtLjA3LjIwMy0uMDk4LjMwNS0uMDA4LjAyMy4wMDguMDQzLjAyNy4wNXptNC45ODQtNC45MzhjLS4wMjQuMDA0LS4wMzYuMDI0LS4wMzYuMDQ3LjAyLjEwMi4wMjguMjA3LjAzMi4zMDkgMCAuMDIzLjAyLjAzOS4wMzkuMDM5YS4wNC4wNCAwIDAwLjAzOS0uMDQgMi44NyAyLjg3IDAgMDAtLjAyOC0uMzJjLS4wMDMtLjAyMy0uMDIzLS4wMzUtLjA0Ni0uMDM1em0tMi4zODctMi4xNDRjLS4wNDMtLjAwNC0uMDgyLS4wMDQtLjEyMS0uMDA0LS4wNjcgMC0uMTMzLjAwNC0uMi4wMDgtLjAyMy4wMDQtLjAzOS4wMi0uMDM5LjA0My4wMDQuMDIuMDIuMDM5LjA0LjAzOS4wMDMgMCAuMDAzIDAgLjAwMy0uMDA0LjA2Ny0uMDA0LjEzLS4wMDQuMTk2LS4wMDRoLjExN2MuMDIuMDA0LjAzOS0uMDE2LjA0My0uMDM1IDAtLjAyNC0uMDItLjA0My0uMDQtLjA0M3ptLTEuMjQ2LjI1NGEyLjQ4OCAyLjQ4OCAwIDAwLS4yODEuMTZjLS4wMi4wMTItLjAyNC4wMzUtLjAxMi4wNTUuMDA4LjAxMS4wMi4wMTUuMDM1LjAxNS4wMDggMCAuMDEyIDAgLjAyLS4wMDQuMDg1LS4wNTguMTgtLjExLjI3My0uMTUyLjAyLS4wMTIuMDI3LS4wMzUuMDE2LS4wNTUtLjAwOC0uMDItLjAzMi0uMDI3LS4wNTEtLjAyem0xLjg3OS0uMTQ1YTIuMjY1IDIuMjY1IDAgMDAtLjMxMy0uMDc0Yy0uMDIzLS4wMDQtLjA0My4wMDgtLjA0Ny4wMzFhLjA0LjA0IDAgMDAuMDMyLjA0N2MuMTAxLjAxNi4yMDMuMDQuMzA0LjA3LjAwNCAwIC4wMDguMDA0LjAxMi4wMDQuMDE2IDAgLjAzMS0uMDExLjAzNS0uMDMuMDA4LS4wMi0uMDA0LS4wNDQtLjAyMy0uMDQ4em0uNTg2LjI2MmEyLjg2NCAyLjg2NCAwIDAwLS4yODYtLjE1MmMtLjAyLS4wMDgtLjA0NiAwLS4wNTQuMDIzLS4wMDguMDIgMCAuMDQzLjAyLjA1LjA5Ny4wNDQuMTg3LjA5LjI3Ny4xNDUuMDA3LjAwNC4wMTEuMDA4LjAyLjAwOGEuMDQxLjA0MSAwIDAwLjAzNC0uMDJjLjAxMi0uMDE5LjAwNC0uMDQ2LS4wMTEtLjA1NHptLTIuMzE3IDQuNjAxYy4wOTguMDQzLjIuMDc1LjMwNS4xMDZoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMzFhLjAzNS4wMzUgMCAwMC0uMDI4LS4wNDcgMi4zNTMgMi4zNTMgMCAwMS0uMjkzLS4xMDIuMDQ0LjA0NCAwIDAwLS4wNTQuMDI0Yy0uMDA4LjAyLjAwNC4wNDMuMDIzLjA1em0yLjU3OC00LjQxOGMtLjAxNS0uMDE1LS4wNDMtLjAxMS0uMDU0LjAwNC0uMDE2LjAyLS4wMTIuMDQzLjAwNC4wNTkuMDgyLjA2My4xNi4xMzMuMjM0LjIwN2EuMDM1LjAzNSAwIDAwLjAyNy4wMTJjLjAxMiAwIC4wMi0uMDA0LjAyOC0uMDEyYS4wNDIuMDQyIDAgMDAwLS4wNTkgMi4wNDQgMi4wNDQgMCAwMC0uMjM5LS4yMXptLjgwOSAyLjg0Yy0uMDItLjAwNy0uMDQzLjAwNC0uMDUuMDI0YTIuNjYgMi42NiAwIDAxLS4xMjIuMjg5Yy0uMDEyLjAyLS4wMDQuMDQzLjAxNi4wNTUuMDA4IDAgLjAxNS4wMDMuMDIuMDAzLjAxNSAwIC4wMjctLjAwNy4wMzQtLjAyMy4wNTEtLjA5NC4wOS0uMTk1LjEzLS4yOTcuMDAzLS4wMi0uMDA1LS4wNDMtLjAyOC0uMDV6bS0uNDg4Ljg5NWEuMDM2LjAzNiAwIDAwLjAzLS4wMTZjLjA3MS0uMDc4LjEzNC0uMTY0LjE5Ni0uMjU0LjAxMi0uMDIuMDA4LS4wNDMtLjAxMS0uMDU0LS4wMi0uMDEyLS4wNDMtLjAwOC0uMDU1LjAxMWEyLjMxIDIuMzEgMCAwMS0uMTkyLjI0NmMtLjAxMS4wMTYtLjAxMS4wNDMuMDA0LjA1NS4wMDguMDA4LjAyLjAxMi4wMjguMDEyem0tMi40NDItNC4yNDJjLS4xMDUuMDIzLS4yMDcuMDUtLjMwOC4wODYtLjAyNC4wMDctLjAzMi4wMy0uMDI4LjA1LjAwOC4wMTYuMDI0LjAyOC4wNC4wMjguMDAzIDAgLjAwNyAwIC4wMTEtLjAwNC4wOTgtLjAzMS4yLS4wNTkuMy0uMDc4LjAyNC0uMDA4LjAzNi0uMDI4LjAzMi0uMDUxYS4wNC4wNCAwIDAwLS4wNDctLjAzMXptMS4zNzUgNC45M2MuMDA4LjAxNS4wMi4wMjcuMDQuMDI3LjAwMyAwIC4wMDcgMCAuMDExLS4wMDQuMTAyLS4wMzUuMi0uMDgyLjI5My0uMTMuMDItLjAxLjAyNy0uMDM0LjAyLS4wNTQtLjAxMi0uMDItLjAzNi0uMDI3LS4wNTUtLjAxNWEyLjYzIDIuNjMgMCAwMS0uMjg1LjEyNWMtLjAyLjAwNy0uMDMyLjAzLS4wMjQuMDV6bTEuMTMzLTMuOTE5YTIuNCAyLjQgMCAwMS4xNjQuMjQzYy4wMi4wMy4wMzUuMDU4LjA1LjA4Ni4wMDkuMDExLjAyLjAyLjAzNi4wMi4wMDQgMCAuMDEyLS4wMDUuMDItLjAwOS4wMi0uMDExLjAyMy0uMDM1LjAxMS0uMDU0bC0uMDM1LS4wNjNzMC0uMDA0LS4wMDQtLjAwNGMwLS4wMDQtLjAwNC0uMDA4LS4wMDgtLjAxNWEyLjkzIDIuOTMgMCAwMS0uMDk3LS4xOTJjLS4wMDgtLjAyLS4wMjgtLjAyNy0uMDQ3LS4wMjNhLjc4My43ODMgMCAwMC0uMDI3LS4wNGMtLjAxMi0uMDE1LS4wNC0uMDE5LS4wNTUtLjAwMy0uMDE2LjAxMS0uMDIuMDM1LS4wMDguMDU0em0tLjU3IDMuNjMzYy4wMDguMDEyLjAyMy4wMi4wMzUuMDIuMDA4IDAgLjAxNi0uMDA0LjAyMy0uMDA4LjA4Ni0uMDYzLjE3Mi0uMTI5LjI1LS4yLjAxNi0uMDE1LjAyLS4wMzguMDA0LS4wNTQtLjAxNS0uMDItLjAzOS0uMDItLjA1OC0uMDA0YTIuMzczIDIuMzczIDAgMDEtLjI0My4xOTIuMDQuMDQgMCAwMC0uMDExLjA1NHptLTIuOTYxLS4wOWMtLjAxNi4wMi0uMDEyLjA0My4wMDguMDU5YTIuNDIyIDIuNDIyIDAgMDAuMjg5LjE4LjA0Mi4wNDIgMCAwMC4wMzUtLjAyNGMuMDA4LS4wMTUuMDA0LS4wNDMtLjAxNi0uMDUtLjA5LS4wNTUtLjE4LS4xMS0uMjYxLS4xNzItLjAyLS4wMTItLjA0My0uMDA4LS4wNTUuMDA3em00LjAyNy0xLjQzM2MuMDIgMCAuMDM1LS4wMTIuMDQtLjAzMS4wMjMtLjEwMi4wMzgtLjIxMS4wNS0uMzE3IDAtLjAyMy0uMDE2LS4wNDMtLjAzNS0uMDQzLS4wMjQtLjAwNC0uMDQzLjAxMi0uMDQ3LjAzNWEyLjEwNSAyLjEwNSAwIDAxLS4wNDcuMzA5LjA0My4wNDMgMCAwMC4wMzEuMDQ3aC4wMDh6bS00LjY0LjgwNGMuMDA3IDAgLjAxNSAwIC4wMjMtLjAwM2EuMDQuMDQgMCAwMC4wMTItLjA1NSAyLjY1NSAyLjY1NSAwIDAxLS4xNDktLjI3NGMtLjAwOC0uMDItLjAzMS0uMDMtLjA1NC0uMDItLjAyLjAwOS0uMDI4LjAzMi0uMDIuMDUyLjA0Ny4wOTcuMDk4LjE5MS4xNTYuMjg1LjAwOC4wMTIuMDIuMDE1LjAzMi4wMTV6bS4zNzUuNDhjLjAwNy4wMDUuMDE1LjAwOS4wMjcuMDA5cy4wMi0uMDA0LjAyNy0uMDEyYS4wMzguMDM4IDAgMDAwLS4wNTVjLS4wNzQtLjA3NC0uMTQ4LS4xNDgtLjIxLS4yMy0uMDE2LS4wMTYtLjA0LS4wMi0uMDYtLjAwNC0uMDE1LjAxMi0uMDE5LjAzOS0uMDAzLjA1NS4wNjYuMDgyLjE0LjE2NC4yMTkuMjM4em0uMTE3LTMuODQ3Yy0uMDgyLjA2Ny0uMTYuMTQtLjIzLjIxOS0uMDE2LjAyLS4wMTYuMDQzIDAgLjA1OS4wMDcuMDA3LjAxOS4wMTEuMDI3LjAxMS4wMTEgMCAuMDIzLS4wMDcuMDMtLjAxNWEyLjg5IDIuODkgMCAwMS4yMjMtLjIxNWMuMDItLjAxMi4wMi0uMDQuMDA0LS4wNTUtLjAxMS0uMDE1LS4wMzktLjAyLS4wNTQtLjAwNHptLS44NTYgMS42MjFjLS4wMjMtLjAwNC0uMDQzLjAxMi0uMDQzLjAzNmEyLjE3IDIuMTcgMCAwMC0uMDIuMzJjMCAuMDU1IDAgLjExLjAwNS4xNiAwIC4wMjMuMDIuMDQuMDM5LjA0aC4wMDRjLjAyIDAgLjAzOS0uMDIuMDM1LS4wNDQtLjAwNC0uMDUtLjAwNC0uMTA1LS4wMDQtLjE1NiAwLS4xMDYuMDA4LS4yMTEuMDItLjMxMy4wMDMtLjAyMy0uMDEyLS4wNDMtLjAzNi0uMDQzem0uMDU5IDEuMTQ5Yy4wMDguMDE1LjAyMy4wMjcuMDM5LjAyNy4wMDQgMCAuMDA4IDAgLjAxMi0uMDA0YS4wMzUuMDM1IDAgMDAuMDI3LS4wNDcgMi45MDcgMi45MDcgMCAwMS0uMDc4LS4zMDQuMDQuMDQgMCAwMC0uMDQ3LS4wMzIuMDQzLjA0MyAwIDAwLS4wMzEuMDQ3Yy4wMi4xMDYuMDQ3LjIxMS4wNzguMzEzem0tNS4zMDkgMS40OGEyLjYwNyAyLjYwNyAwIDAxLS4yODkuMTE0LjA0Ny4wNDcgMCAwMC0uMDI3LjA1Yy4wMDguMDE2LjAyMy4wMjguMDM5LjAyOGguMDEyYy4xMDEtLjAzNS4yMDMtLjA3NS4zLS4xMTcuMDItLjAwOC4wMjgtLjAzNi4wMi0uMDU1LS4wMDgtLjAyLS4wMzUtLjAyOC0uMDU1LS4wMnptLS43OTMtNC43NjVhLjA0LjA0IDAgMDAuMDQtLjA0Yy4wMDMtLjAxOS0uMDEyLS4wMzgtLjAzNi0uMDQyYTQuMzg4IDQuMzg4IDAgMDAtLjMyLS4wMTJjLS4wMjQgMC0uMDQuMDItLjA0LjA0MyAwIC4wMi4wMi4wMzkuMDQuMDM5LjEwNS0uMDA0LjIxIDAgLjMxMi4wMTJoLjAwNHptLjIwMyA0Ljk1M2MtLjEwMS4wMi0uMjA3LjAzMS0uMzEyLjAzOS0uMDIgMC0uMDM1LjAyLS4wMzUuMDQzIDAgLjAyLjAyLjAzNS4wMzkuMDM1aC4wMDRjLjEwNS0uMDA0LjIxLS4wMi4zMTYtLjAzNS4wMjQtLjAwOC4wNC0uMDI4LjAzNS0uMDQ3LS4wMDQtLjAyMy0uMDI3LS4wNC0uMDQ3LS4wMzV6bS40MTQtNC44MTdjLjAxNiAwIC4wMzItLjAwNy4wMzYtLjAyM2EuMDQuMDQgMCAwMC0uMDI0LS4wNSAyLjE0MyAyLjE0MyAwIDAwLS4zMDgtLjA5Yy0uMDItLjAwOS0uMDQzLjAwNy0uMDQ3LjAyNy0uMDA0LjAyMy4wMDguMDQzLjAzMS4wNDcuMTAyLjAyMy4yLjA1NC4yOTcuMDloLjAxNXptMS42NTcgMi42ODRhLjA0LjA0IDAgMDAtLjA0Ny4wMzEgMi40NzMgMi40NzMgMCAwMS0uMDYzLjMwNWMtLjAwNy4wMjMuMDA4LjA0My4wMjguMDVoLjAxMWMuMDE2IDAgLjAzMi0uMDExLjA0LS4wMjcuMDI3LS4xMDEuMDUtLjIxLjA2Ni0uMzE2IDAtLjAyLS4wMTYtLjA0LS4wMzUtLjA0M3ptLTEuMDk0LTIuMzk1Yy4wMTIgMCAuMDIzLS4wMDcuMDMxLS4wMmEuMDQuMDQgMCAwMC0uMDExLS4wNTQgMy4xNjQgMy4xNjQgMCAwMC0uMjc0LS4xNjRjLS4wMi0uMDA4LS4wNDcgMC0uMDU1LjAyLS4wMTEuMDItLjAwNC4wNDMuMDE2LjA1NC4wOTQuMDQ3LjE4NC4wOTguMjcuMTU3LjAwNy4wMDQuMDE1LjAwNy4wMjMuMDA3em0uOTM0IDMuMDA0Yy0uMDItLjAwNy0uMDQzLjAwNC0uMDUxLjAyNC0uMDQuMDk0LS4wODYuMTg3LS4xMzcuMjc3LS4wMTIuMDItLjAwNC4wNDcuMDE2LjA1NWEuMDMuMDMgMCAwMC4wMi4wMDguMDQ3LjA0NyAwIDAwLjAzNC0uMDJjLjA1MS0uMDk0LjA5OC0uMTkxLjE0MS0uMjg5YS4wNDQuMDQ0IDAgMDAtLjAyMy0uMDU1em0uMTY0LTEuMjQyYy0uMDI0LjAwNC0uMDQuMDI0LS4wMzYuMDQzLjAwOC4wODYuMDEyLjE3Mi4wMTIuMjU4di4wNTVjMCAuMDIzLjAxNi4wMzkuMDQuMDM5LjAyMyAwIC4wMzgtLjAxNi4wMzgtLjA0LjAwNC0uMDE1LjAwNC0uMDM1LjAwNC0uMDU0IDAtLjA5LS4wMDgtLjE3Ni0uMDE1LS4yNjZhLjA0Ni4wNDYgMCAwMC0uMDQzLS4wMzV6bS0uNDcgMS43OTdjLS4wMTUtLjAxMi0uMDM4LS4wMDgtLjA1NC4wMDhhMi45MjQgMi45MjQgMCAwMS0uMTk5LjIzOC4wMzguMDM4IDAgMDAwIC4wNTUuMDM1LjAzNSAwIDAwLjAyNy4wMTJjLjAxMiAwIC4wMi0uMDA0LjAyOC0uMDEyYTMuMTggMy4xOCAwIDAwLjIxLS4yNDYuMDQuMDQgMCAwMC0uMDExLS4wNTV6bS0uNDg0LjQ1N2EzLjczNyAzLjczNyAwIDAxLS4yNTMuMThjLS4wMi4wMTEtLjAyOC4wMzUtLjAxNi4wNTQuMDA4LjAxMi4wMjMuMDIuMDM1LjAyYS4wMy4wMyAwIDAwLjAyLS4wMDhjLjA5My0uMDU1LjE4LS4xMTcuMjY1LS4xODcuMDE2LS4wMTIuMDItLjA0LjAwNC0uMDU1LS4wMTItLjAxNi0uMDM5LS4wMi0uMDU0LS4wMDR6bS4zMjktMy42MDJjLjAxMSAwIC4wMiAwIC4wMjctLjAwNy4wMTYtLjAxNi4wMi0uMDQuMDA0LS4wNTlhMy4xIDMuMSAwIDAwLS4yMjctLjIyNmMtLjAyLS4wMTItLjA0My0uMDEyLS4wNTguMDAzLS4wMTYuMDItLjAxMi4wNDMuMDA0LjA1OS4wNzguMDY2LjE1Mi4xNC4yMjIuMjE5YS4wMzUuMDM1IDAgMDAuMDI4LjAxMnptLjM1OS41MjRjLjAwNCAwIC4wMTIgMCAuMDE2LS4wMDQuMDItLjAxMi4wMjctLjAzNS4wMi0uMDU1bC0uMDYtLjEwNWMtLjAwMy0uMDA4LS4wMTEtLjAyLS4wMTUtLjAyNyAwIDAtLjAwNC0uMDA0LS4wMDQtLjAwOGEyLjMzOSAyLjMzOSAwIDAxLS4xMzctLjI4MmMtLjAwOC0uMDItLjAzLS4wMjctLjA1LS4wMi0uMDIuMDA5LS4wMzIuMDMyLS4wMi4wNTIuMDE2LjAzOS4wMzEuMDc4LjA1LjEyYS4wMy4wMyAwIDAwLjAwNS4wNGMuMDM1LjA1NS4wNy4xMS4xMDEuMTY0LjAyLjAzNS4wNC4wNy4wNTUuMTAyYS4wNDMuMDQzIDAgMDAuMDM5LjAyM3pNLjUzOSAyMi43NzdjLS4wMDgtLjAyMy0uMDMxLS4wMy0uMDUtLjAyMy0uMDIuMDA4LS4wMzIuMDMxLS4wMjQuMDUuMDQzLjEwMi4wOS4yLjE0LjI5NC4wMDguMDExLjAyLjAyLjAzNi4wMi4wMDcgMCAuMDExLS4wMDUuMDItLjAwOS4wMTktLjAwNy4wMjYtLjAzNS4wMTUtLjA1YTMuMDk1IDMuMDk1IDAgMDEtLjEzNy0uMjgyem0tLjIxOS0uODdjLjAyIDAgLjA0LS4wMi4wNC0uMDQ0di0uMDIzYzAtLjA5NC4wMDMtLjE5Mi4wMTUtLjI4NS4wMDQtLjAyNC0uMDEyLS4wNDMtLjAzNS0uMDQ3LS4wMjQgMC0uMDQzLjAxNS0uMDQzLjAzNS0uMDEyLjA5OC0uMDIuMi0uMDIuMjk3di4wMjdjMCAuMDIuMDIuMDQuMDQzLjA0em0uMDU5LjI2OWMwLS4wMjQtLjAyLS4wNC0uMDQzLS4wMzUtLjAyNC4wMDQtLjA0LjAyMy0uMDM1LjA0Ny4wMTUuMTA1LjAzNS4yMS4wNjIuMzEyLjAwOC4wMi4wMjQuMDMxLjA0LjAzMWguMDExYy4wMi0uMDA4LjAzNS0uMDMxLjAyNy0uMDVhMi44MTEgMi44MTEgMCAwMS0uMDYyLS4zMDV6bS4wMDQtLjg5OUguMzljLjAyIDAgLjAzNS0uMDExLjAzOS0uMDMuMDIzLS4xMDIuMDU0LS4yLjA5My0uMjk4LjAwOC0uMDItLjAwMy0uMDQzLS4wMjMtLjA1YS4wNDQuMDQ0IDAgMDAtLjA1NS4wMjMgMy45MzMgMy45MzMgMCAwMC0uMDkzLjMwNWMtLjAwNC4wMjMuMDA3LjA0My4wMy4wNXptMi4zMTIgMy4wNTlhMi4wMiAyLjAyIDAgMDEtLjMwOC0uMDQuMDQuMDQgMCAwMC0uMDQ3LjAzMmMtLjAwNC4wMjQuMDA4LjA0My4wMzEuMDQ3LjEwNi4wMi4yMTEuMDM1LjMxNy4wNDNoLjAwM2EuMDQuMDQgMCAwMC4wNC0uMDRjLjAwMy0uMDE5LS4wMTYtLjAzOC0uMDM2LS4wNDJ6bS0xLjk0OS0zLjk4Yy0uMDU4LjA4NS0uMTE3LjE4LS4xNjguMjczLS4wMDguMDIgMCAuMDQzLjAyLjA1NWwuMDE1LjAwM2MuMDE2IDAgLjAzMi0uMDA3LjAzNS0uMDIzLjA1MS0uMDkuMTA2LS4xOC4xNjQtLjI2NmEuMDQuMDQgMCAwMC0uMDExLS4wNTQuMDQuMDQgMCAwMC0uMDU1LjAxMXptLjA5OCAyLjk2NGMtLjAxMi0uMDItLjA0LS4wMjMtLjA1NS0uMDA4LS4wMi4wMTItLjAyMy4wMzYtLjAxMi4wNTUuMDY3LjA4Ni4xMzMuMTY4LjIwNy4yNDYuMDA4LjAwOC4wMi4wMTIuMDI4LjAxMi4wMTEgMCAuMDItLjAwNC4wMjctLjAxMi4wMi0uMDExLjAyLS4wMzkuMDA0LS4wNTRhMi45MjQgMi45MjQgMCAwMS0uMi0uMjM5em0xLjI0Mi44OTljLS4xMDItLjAzMi0uMi0uMDctLjI5My0uMTE0LS4wMi0uMDExLS4wNDMtLjAwMy0uMDUuMDE2YS4wMzkuMDM5IDAgMDAuMDE5LjA1NSAxLjk1NCAxLjk1NCAwIDAwLjMwOC4xMmMuMDIgMCAuMDM1LS4wMS4wNC0uMDI2YS4wNC4wNCAwIDAwLS4wMjQtLjA1MXptLjQzNC00LjkwM2MwLS4wMjMtLjAyNC0uMDM1LS4wNDMtLjAzNS0uMTA2LjAyLS4yMTEuMDQtLjMxNy4wNy0uMDIuMDA0LS4wMzEuMDI4LS4wMjcuMDQ3LjAwOC4wMi4wMjMuMDMyLjAzOS4wMzIuMDA0IDAgLjAwOCAwIC4wMTItLjAwNC4xMDEtLjAyOC4yMDMtLjA0Ny4zMDQtLjA2M2EuMDQuMDQgMCAwMC4wMzItLjA0N3ptLS42MS4xNjRjLS4wMDgtLjAyMy0uMDMxLS4wMy0uMDUtLjAyM2EyLjg1IDIuODUgMCAwMC0uMjkuMTQ1Yy0uMDQ3LjAyNy0uMDkzLjA1NC0uMTM2LjA4Mi0uMDIuMDE1LS4wMjQuMDM5LS4wMTIuMDU4LjAwOC4wMTIuMDIuMDE2LjAzNS4wMTYuMDA4IDAgLjAxNiAwIC4wMi0uMDA4bC4xMzItLjA4MmMuMDktLjA1LjE4NC0uMDk4LjI4Mi0uMTM3LjAyLS4wMDguMDI3LS4wMzEuMDItLjA1em0tLjY3Ni40MDNjLS4wMTUtLjAxNi0uMDM5LS4wMi0uMDU4LS4wMDQtLjA3OC4wNy0uMTU2LjE0NC0uMjI3LjIyMy0uMDE1LjAyLS4wMTUuMDQzIDAgLjA1OC4wMDguMDA4LjAyLjAwOC4wMjguMDA4YS4wNDQuMDQ0IDAgMDAuMDMtLjAxMmMuMDY3LS4wNzQuMTQ1LS4xNDguMjIzLS4yMTUuMDE2LS4wMTUuMDItLjA0My4wMDQtLjA1OHptLjI5IDQuMDdhMi4wMDMgMi4wMDMgMCAwMS0uMjU0LS4xODNjLS4wMTYtLjAxMi0uMDQzLS4wMTItLjA1NS4wMDctLjAxNi4wMTYtLjAxMi4wNDMuMDA0LjA1NS4wODIuMDcuMTcyLjEzMy4yNjEuMTg4LjAwNC4wMDcuMDEyLjAwNy4wMi4wMDdhLjA0Ny4wNDcgMCAwMC4wMzUtLjAyYy4wMTItLjAxNS4wMDQtLjA0Mi0uMDEyLS4wNTR6bTYuNzg4LTIuMzgzYTIuNjA3IDIuNjA3IDAgMDEtLjI4OS4xMTQuMDQ1LjA0NSAwIDAwLS4wMjcuMDVjLjAwOC4wMTYuMDI0LjAyOC4wNC4wMjguMDAzIDAgLjAwNyAwIC4wMS0uMDA0LjEwMi0uMDMxLjIwNC0uMDcuMzAyLS4xMTNhLjA0NS4wNDUgMCAwMC4wMi0uMDU1Yy0uMDA5LS4wMi0uMDMyLS4wMjctLjA1Ni0uMDJ6bS0uNTkuMTg4Yy0uMS4wMi0uMjA2LjAzMS0uMzA4LjAzOWEuMDQuMDQgMCAwMDAgLjA3OGguMDA0YTIuOCAyLjggMCAwMC4zMTYtLjA0Yy4wMjQtLjAwMy4wNC0uMDIzLjAzNi0uMDQ2YS4wNDMuMDQzIDAgMDAtLjA0Ny0uMDMxem0uNDE1LTQuODE3Yy4wMTUgMCAuMDMxLS4wMDcuMDM1LS4wMjdhLjAzOC4wMzggMCAwMC0uMDI0LS4wNSAyLjU2NSAyLjU2NSAwIDAwLS4zMDgtLjA5Yy0uMDItLjAwNC0uMDQzLjAwNy0uMDQ3LjAzLS4wMDQuMDIuMDA4LjA0NC4wMzEuMDQ4LjEwMi4wMjMuMi4wNTQuMjk3LjA5aC4wMTZ6bS41NjIuMjljLjAxMiAwIC4wMjQtLjAwOC4wMzEtLjAyLjAxMi0uMDIuMDA4LS4wNDMtLjAwNy0uMDU1YTIuODY4IDIuODY4IDAgMDAtLjI3OC0uMTY0Yy0uMDItLjAxMi0uMDQzLS4wMDQtLjA1NC4wMi0uMDEyLjAyLS4wMDQuMDQzLjAxNS4wNS4wOTQuMDQ3LjE4NC4xMDIuMjcuMTYuMDA4LjAwNS4wMTUuMDA4LjAyMy4wMDh6bS43OTcuOTE0Yy4wMDQuMDE1LjAyLjAyMy4wMzUuMDIzYS4wMy4wMyAwIDAwLjAxNi0uMDA4Yy4wMi0uMDA4LjAyNy0uMDMxLjAyLS4wNS0uMDItLjAzNi0uMDQtLjA3NS0uMDYtLjEwNmE2LjYzNCA2LjYzNCAwIDAwLS4xMDUtLjE3MmMtLjAxNS0uMDItLjAzOS0uMDIzLS4wNTgtLjAxMi0uMDE2LjAxNi0uMDI0LjA0LS4wMDguMDU5LjAzNS4wNS4wNy4xMDUuMTAxLjE2NC4wMi4wMzEuMDQuMDY2LjA2LjEwMnptLTQuNDkyLS4wMDhhLjAzLjAzIDAgMDAuMDE2LjAwOC4wNDMuMDQzIDAgMDAuMDM5LS4wMjRjLjA0Ni0uMDkuMTAxLS4xOC4xNi0uMjY2LjAxMS0uMDIuMDA4LS4wNDMtLjAwOC0uMDU0YS4wNDcuMDQ3IDAgMDAtLjA1OS4wMDhjLS4wNTguMDktLjExNy4xOC0uMTY4LjI3Ny0uMDA3LjAyIDAgLjA0My4wMi4wNXptLS4zMiAxLjE4M2MwIC4wMjQuMDIuMDQuMDQzLjA0YS4wNC4wNCAwIDAwLjAzOS0uMDR2LS4wMjNjMC0uMDk4LjAwNC0uMTkyLjAxNS0uMjkuMDA0LS4wMTktLjAxMS0uMDM4LS4wMzUtLjA0Mi0uMDItLjAwNC0uMDQzLjAxMi0uMDQzLjAzNS0uMDEyLjA5OC0uMDIuMi0uMDIuMjk3em0uMDg2LjYzN2MuMDA3LjAyLjAyMy4wMzEuMDM5LjAzMS4wMDMgMCAuMDA3LS4wMDQuMDExLS4wMDQuMDItLjAwNC4wMzUtLjAyNy4wMjgtLjA0N2EyLjA5NCAyLjA5NCAwIDAxLS4wNTktLjMwNGMtLjAwNC0uMDI0LS4wMjMtLjA0LS4wNDctLjAzNWEuMDQ2LjA0NiAwIDAwLS4wMzUuMDQzYy4wMTYuMTA1LjAzNS4yMTQuMDYzLjMxNnptNC4zNTkgMS4xMzNsLjExNy0uMTNjLS4wMzEuMDgtLjA1NS4xNjEtLjA3NC4yNDMtLjAwOC4wMi4wMDguMDQzLjAyNy4wNDdoLjAxMmMuMDE2IDAgLjAzMS0uMDEyLjAzOS0uMDI3LjAyMy0uMTAyLjA1NS0uMjAzLjA5NC0uMjk3LjAwOC0uMDItLjAwNC0uMDQzLS4wMjQtLjA1MSAwLS4wMDQtLjAwNC0uMDA0LS4wMDQtLjAwNC4wMDgtLjAwOC4wMTYtLjAyLjAyNC0uMDI3YS4wNDIuMDQyIDAgMDAtLjAwOC0uMDU1Yy0uMDItLjAxNi0uMDQzLS4wMTItLjA1OS4wMDgtLjA2Mi4wODItLjEyOC4xNi0uMTk5LjIzNC0uMDE1LjAyLS4wMTUuMDQzIDAgLjA1OWEuMDM1LjAzNSAwIDAwLjAyOC4wMTJjLjAxMSAwIC4wMi0uMDA0LjAyNy0uMDEyem0uMDQzLTMuNDQ1Yy4wMTIgMCAuMDItLjAwNC4wMjctLjAwOC4wMTYtLjAxNi4wMi0uMDQzLjAwNC0uMDU5YTMuMSAzLjEgMCAwMC0uMjI2LS4yMjZjLS4wMi0uMDE2LS4wNDMtLjAxMi0uMDU5LjAwMy0uMDE2LjAxNi0uMDEyLjA0My4wMDQuMDU1LjA3OC4wNy4xNTIuMTQ1LjIyMy4yMjNhLjAzNS4wMzUgMCAwMC4wMjcuMDEyem0tLjMyOCAzLjU5N2EyLjczIDIuNzMgMCAwMS0uMjU0LjE4Yy0uMDIuMDEyLS4wMjcuMDM5LS4wMTYuMDU1LjAwOC4wMTEuMDI0LjAyLjAzNS4wMi4wMDggMCAuMDE2IDAgLjAyLS4wMDUuMDk0LS4wNTguMTgtLjEyLjI2Ni0uMTg3LjAxNS0uMDEyLjAyLS4wNC4wMDMtLjA1NS0uMDExLS4wMi0uMDM5LS4wMi0uMDU0LS4wMDh6bS0zLjkzOC0yLjg4N2MtLjAyMy0uMDA3LS4wNDMgMC0uMDUuMDI0LS4wNC4wOTgtLjA3LjIwMy0uMDk4LjMwNS0uMDA0LjAyMy4wMDguMDQzLjAzMS4wNDYuMDA0LjAwNC4wMDQuMDA0LjAwOC4wMDQuMDIgMCAuMDM1LS4wMTEuMDM5LS4wMy4wMjMtLjEwMi4wNTUtLjIuMDk0LS4yOThhLjA0LjA0IDAgMDAtLjAyNC0uMDV6bTQuNzI3IDEuODhhLjAzOC4wMzggMCAwMC0uMDUxLjAyMyAzLjI1IDMuMjUgMCAwMS0uMTI5LjI2MmwtLjA0Ny4wODVjLS4wMTEuMDItLjAwNC4wNDMuMDE2LjA1NS4wMDQgMCAuMDEyLjAwNC4wMi4wMDRhLjA0Ny4wNDcgMCAwMC4wMzUtLjAyYy4wMTEtLjAyMy4wMjMtLjA0Mi4wMzUtLjA2NmwuMDA0LS4wMDRjMC0uMDA0LjAwNC0uMDA4LjAwNy0uMDE1YTEuNzcgMS43NyAwIDAxLjExOC0uMTguMDM3LjAzNyAwIDAwLS4wMDQtLjA1Yy4wMDgtLjAxMy4wMTEtLjAyOC4wMi0uMDQ0YS4wMzguMDM4IDAgMDAtLjAyNC0uMDV6TTUuNjQgMTcuMzRjLS4wMTYtLjAxNi0uMDQtLjAyLS4wNTUtLjAwNGEyLjQ5IDIuNDkgMCAwMC0uMjMuMjIzLjA0Mi4wNDIgMCAwMDAgLjA1OGMuMDA3LjAwNC4wMTkuMDA4LjAyNy4wMDhhLjA0NC4wNDQgMCAwMC4wMzEtLjAxMiAyLjM1IDIuMzUgMCAwMS4yMjMtLjIxOGMuMDE1LS4wMTIuMDItLjA0LjAwNC0uMDU1em0uMjg5IDQuMDdhMi4zMjggMi4zMjggMCAwMS0uMjU0LS4xODNjLS4wMTYtLjAxMi0uMDQzLS4wMTItLjA1NS4wMDctLjAxNi4wMTYtLjAxMi4wNC4wMDQuMDU1LjA4Mi4wNjYuMTcyLjEzMy4yNjIuMTg4YS4wMy4wMyAwIDAwLjAyLjAwNy4wNDEuMDQxIDAgMDAuMDM0LS4wMi4wNDIuMDQyIDAgMDAtLjAxMS0uMDU0em0uMzg2LTQuNDc2Yy0uMDA3LS4wMi0uMDMtLjAyOC0uMDUtLjAyLS4wOTguMDQtLjE5Ni4wOS0uMjkuMTQtLjA0Ni4wMjgtLjA5LjA2LS4xMzYuMDg3LS4wMTYuMDExLS4wMjQuMDM5LS4wMTIuMDU0LjAwOC4wMTIuMDI0LjAyLjAzNS4wMmEuMDU2LjA1NiAwIDAwLjAyNC0uMDA4bC4xMjktLjA4MmMuMDkzLS4wNS4xODctLjA5OC4yOC0uMTM3LjAyLS4wMTEuMDMyLS4wMzUuMDItLjA1NHptMy41MzYgMi40MTRjLjAwMy0uMDIuMDAzLS4wMzUuMDAzLS4wNTUgMC0uMDktLjAwNy0uMTgtLjAxNS0uMjY2IDAtLjAyMy0uMDItLjAzOS0uMDQzLS4wMzUtLjAyNCAwLS4wNC4wMi0uMDM1LjA0My4wMDguMDg2LjAxMS4xNzIuMDExLjI1OHYuMDU1YzAgLjAyLjAxNi4wMzkuMDQuMDM5LjAyMyAwIC4wMzktLjAxNi4wMzktLjA0em0tLjE0MS42NjRoLjAxMmMuMDE1IDAgLjAzLS4wMTIuMDM5LS4wMjguMDI3LS4xMDUuMDUtLjIxLjA2Ni0uMzE2IDAtLjAyMy0uMDEyLS4wNDMtLjAzNS0uMDQ3LS4wMjMgMC0uMDQzLjAxNi0uMDQ3LjAzNWEyLjAwNyAyLjAwNyAwIDAxLS4wNjIuMzA1Yy0uMDA4LjAyMy4wMDcuMDQzLjAyNy4wNXptLTQuNDYxLjc2MWEuMDQyLjA0MiAwIDAwLS4wNTUtLjAwN2MtLjAyLjAxNS0uMDIzLjAzOS0uMDExLjA1NC4wMjcuMDM1LjA1LjA3LjA3OC4xMDJhLjAyNS4wMjUgMCAwMC0uMDI0IDAgLjAzOC4wMzggMCAwMC0uMDIzLjA1Yy4wMzUuMDk4LjA2Ni4yLjA5LjMwMS4wMDQuMDE2LjAyLjAzMi4wMzkuMDMyIDAgMCAuMDA0LS4wMDQuMDA4LS4wMDRhLjAzNi4wMzYgMCAwMC4wMjctLjA0N2MtLjAyLS4wOTgtLjA1LS4yLS4wODYtLjI5My4wMzEuMDM1LjA2Mi4wNzQuMDk4LjExLjAwNy4wMDcuMDIuMDExLjAyNy4wMTEuMDEyIDAgLjAyLS4wMDQuMDI3LS4wMTIuMDItLjAxNS4wMi0uMDM5LjAwNC0uMDU0YTIuOTgzIDIuOTgzIDAgMDEtLjE5OS0uMjQzem00LjQ2LTIuMDQ2Yy4wMDUuMDIuMDIuMDMuMDQuMDNoLjAwOGEuMDQzLjA0MyAwIDAwLjAzMS0uMDQ2IDQuMDI4IDQuMDI4IDAgMDAtLjA5NC0uMzA5Yy0uMDA4LS4wMi0uMDMtLjAzLS4wNS0uMDIzLS4wMi4wMDgtLjAzMi4wMzEtLjAyNC4wNS4wMzUuMDk4LjA2Ni4yLjA5LjI5OHptLTMuMjE4IDIuOTQ5Yy0uMTAxLS4wMzUtLjE5OS0uMDctLjI4OS0uMTE3LS4wMjMtLjAwOC0uMDQ3IDAtLjA1NS4wMi0uMDA3LjAxOSAwIC4wNDIuMDIuMDU0LjA5OC4wNDMuMTk1LjA4Ni4yOTcuMTE3LjAwNCAwIC4wMDguMDA0LjAxMi4wMDQuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMjcuMDA3LS4wMjQtLjAwNC0uMDQ3LS4wMjQtLjA1MXptLjYxLjExN2EyLjY2NCAyLjY2NCAwIDAxLS4zMDktLjA0Yy0uMDIzLS4wMDMtLjA0My4wMDktLjA0Ny4wMzItLjAwNC4wMi4wMDguMDQzLjAzMS4wNDcuMTA2LjAyLjIxMS4wMzUuMzE3LjA0aC4wMDRjLjAyIDAgLjAzOS0uMDE3LjAzOS0uMDM2LjAwNC0uMDIzLS4wMTItLjA0My0uMDM1LS4wNDN6bS0uMTcyLTUuMDJjMC0uMDAzLS4wMDQtLjAwMy0uMDA0LS4wMDMuMDExIDAgLjAyMyAwIC4wMzUuMDAzaC4wMDhjLjAyIDAgLjAzNS0uMDE1LjAzOS0uMDM1IDAtLjAyMy0uMDE2LS4wNDMtLjAzNS0uMDQ3YTIuNjgxIDIuNjgxIDAgMDEtLjMwOS0uMDU0Yy0uMDItLjAwNC0uMDQzLjAwOC0uMDQ3LjAzMS0uMDA0LjAyLjAwOC4wNDMuMDI4LjA0N2wuMTY4LjAzNWE0LjQgNC40IDAgMDAtLjI0My4wNTUuMDQ2LjA0NiAwIDAwLS4wMy4wNWMuMDA3LjAyLjAyMi4wMzIuMDM4LjAzMi4wMDQgMCAuMDA4LS4wMDQuMDEyLS4wMDQuMTAxLS4wMjguMjAzLS4wNTEuMzA1LS4wNjcuMDIzLS4wMDMuMDM1LS4wMjMuMDM1LS4wNDN6bS41ODYuMDI4aC4wMDRjLjAyIDAgLjAzLS4wMTIuMDM5LS4wMjguMDE1IDAgLjAzLS4wMDMuMDQ2LS4wMDNhLjA0LjA0IDAgMDAuMDMyLS4wNDdjMC0uMDItLjAyNC0uMDM1LS4wNDMtLjAzMi0uMDk4LjAxMi0uMTk2LjAxNi0uMjkzLjAyaC0uMDk4YS4wNC4wNCAwIDAwMCAuMDc4aC4wOThjLjA3LjAwNC4xNDQuMDA0LjIxNS4wMTJ6bS0yLjI1LTQuMjk3aC4wMTFhLjA0LjA0IDAgMDAuMDQtLjAyN2MuMDMtLjA5OC4wNTgtLjIwNC4wODEtLjMwOWEuMDQuMDQgMCAwMC0uMDMtLjA0N2MtLjAyNC0uMDA0LS4wNDQuMDA4LS4wNDguMDMxLS4wMi4xMDItLjA0Ny4yMDMtLjA4Mi4zMDEtLjAwNC4wMi4wMDQuMDQzLjAyOC4wNXptLjA5Ny0uOTczYy4wMDQuMDQzLjAwNC4wOS4wMDQuMTMzIDAgLjA1OSAwIC4xMjEtLjAwOC4xOCAwIC4wMjMuMDE2LjAzOS4wNC4wNDNoLjAwM2MuMDIgMCAuMDM1LS4wMTYuMDQtLjA0LjAwMy0uMDU4LjAwNy0uMTIuMDA3LS4xODMgMC0uMDQ3LS4wMDQtLjA5LS4wMDQtLjEzNy0uMDA0LS4wMi0uMDItLjAzOS0uMDQzLS4wMzVhLjA0LjA0IDAgMDAtLjAzOS4wNHptLS4wMzUtLjMwOGMuMDA0LjAyLjAyLjAzLjA0LjAzaC4wMDdjLjAyMy0uMDAzLjAzNS0uMDIzLjAzMS0uMDQ2YTIuOTUgMi45NSAwIDAwLS4wNzQtLjMwOWMtLjAwOC0uMDIzLS4wMzEtLjAzNS0uMDUtLjAyNy0uMDIuMDA0LS4wMzIuMDI3LS4wMjguMDUuMDMxLjA5OS4wNTUuMi4wNzQuMzAyek0uNjYgMTAuMzljLjAwNC4wMDQuMDEyLjAwNC4wMi4wMDQuMDExIDAgLjAyNy0uMDA0LjAzNS0uMDJhMi4yNiAyLjI2IDAgMDEuMTc2LS4yNTQuMDQ3LjA0NyAwIDAwLS4wMDgtLjA1OS4wNDIuMDQyIDAgMDAtLjA1NS4wMDggMi4xMzUgMi4xMzUgMCAwMC0uMTgzLjI2NmMtLjAxMi4wMi0uMDA0LjA0My4wMTUuMDU1em0zLjcxNS0uNzI3Yy4wMDguMDA4LjAxNi4wMDguMDIzLjAwOGEuMDM2LjAzNiAwIDAwLjAzMi0uMDE2Yy4wMTUtLjAxNS4wMTEtLjA0My0uMDA4LS4wNTRhMi40MDQgMi40MDQgMCAwMC0uMjY2LS4xNzZjLS4wNDctLjAyOC0uMDkzLS4wNTUtLjE0NC0uMDc4LS4wMi0uMDA4LS4wNDMgMC0uMDUxLjAyLS4wMTIuMDE5LS4wMDQuMDQyLjAxNi4wNS4wNDYuMDIzLjA5My4wNS4xMzYuMDc0LjA5LjA1NS4xOC4xMS4yNjIuMTcyem0tMy4zMDkuMjM0YS4wNDQuMDQ0IDAgMDAuMDMyLS4wMTFjLjA3LS4wNzUuMTUyLS4xNDUuMjM0LS4yMDcuMDE2LS4wMTIuMDItLjA0LjAwNC0uMDU1LS4wMTItLjAyLS4wMzUtLjAyLS4wNTUtLjAwOGEzLjEyMSAzLjEyMSAwIDAwLS4yNDIuMjExLjA0Mi4wNDIgMCAwMDAgLjA1OWMuMDA4LjAwOC4wMi4wMTEuMDI3LjAxMXptLS4zNTEgMy4xMjVhLjA0LjA0IDAgMDAtLjAxMi4wNTVjLjA1OS4wOS4xMjEuMTc2LjE5Mi4yNTguMDA3LjAxMi4wMi4wMTYuMDMuMDE2LjAwOSAwIC4wMTYtLjAwNC4wMjQtLjAxMi4wMi0uMDEyLjAyLS4wNC4wMDgtLjA1NWExLjg5NyAxLjg5NyAwIDAxLS4xODctLjI1Yy0uMDEyLS4wMTUtLjA0LS4wMjMtLjA1NS0uMDEyem00LjQzLTIuMzk0Yy4wMDcuMDE2LjAyLjAyMy4wMzUuMDIzLjAwOCAwIC4wMTEgMCAuMDItLjAwNC4wMTktLjAwNy4wMjctLjAzLjAxOS0uMDVhMy4yOTcgMy4yOTcgMCAwMC0uMTUzLS4yODZjLS4wMTEtLjAxOS0uMDM1LS4wMjMtLjA1NC0uMDExLS4wMi4wMDgtLjAyNC4wMzUtLjAxMi4wNTQuMDU1LjA4Ni4xMDIuMTguMTQ1LjI3NHpNMy42OSA5LjI5N2MuMDA0LjAwNC4wMDguMDA0LjAxMi4wMDQuMDE2IDAgLjAzMS0uMDEyLjA0LS4wMjguMDA3LS4wMi0uMDA1LS4wNDMtLjAyNC0uMDVhMi4xNzggMi4xNzggMCAwMC0uMzEzLS4wODZjLS4wMi0uMDA4LS4wMzkuMDA4LS4wNDcuMDI3LS4wMDQuMDI0LjAxMi4wNDMuMDMyLjA1LjEwMS4wMi4yMDMuMDQ4LjMuMDgzem0tMS41My0uMDRjLjA5Ny0uMDI3LjE5OC0uMDUuMy0uMDY2LjAyMy0uMDA0LjAzOS0uMDI3LjAzNS0uMDQ2LS4wMDQtLjAyNC0uMDIzLS4wMzYtLjA0Ny0uMDM2LS4xMDUuMDItLjIxLjA0My0uMzEyLjA3NWEuMDM1LjAzNSAwIDAwLS4wMjguMDQ2Yy4wMDQuMDIuMDIuMDMyLjA0LjAzMi4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0ek0uNDEzIDEwLjk3NGguMDEyYy4wMTUgMCAuMDMxLS4wMTIuMDM5LS4wMjguMDI3LS4wOTcuMDYyLS4xOTkuMTA1LS4yOTMuMDA4LS4wMiAwLS4wNDMtLjAyLS4wNS0uMDE5LS4wMTItLjA0MiAwLS4wNTQuMDItLjA0My4wOTctLjA3OC4xOTgtLjExLjMtLjAwNy4wMi4wMDUuMDQzLjAyOC4wNXptMi42NjgtMS44MDVoLjAwNGEuMDQuMDQgMCAwMC4wMzktLjA0Yy4wMDQtLjAxOS0uMDEyLS4wMzgtLjAzNS0uMDQyLS4xMDYtLjAwOC0uMjE1LS4wMTItLjMyLS4wMDgtLjAyNCAwLS4wNC4wMi0uMDQuMDQzIDAgLjAyNC4wMi4wNC4wNDMuMDQuMTAyLS4wMDUuMjA3LS4wMDUuMzA5LjAwN3pNLjQ0NSAxMi40NTNjLS4wMjMuMDA4LS4wMy4wMzEtLjAyNy4wNS4wMzUuMTAyLjA3OC4yLjEyNS4yOTguMDA4LjAxNS4wMi4wMjMuMDM1LjAyMy4wMDggMCAuMDEyLS4wMDQuMDItLjAwNC4wMi0uMDExLjAyNy0uMDM1LjAxNS0uMDU0YTIuNjMzIDIuNjMzIDAgMDEtLjExNy0uMjljLS4wMDgtLjAxOS0uMDMxLS4wMy0uMDUtLjAyM3ptNC41NC42MTdjLjAwMy4wMDQuMDExLjAwNC4wMTkuMDA0LjAxNiAwIC4wMjctLjAwNC4wMzUtLjAxNS4wMi0uMDM2LjA0My0uMDcuMDYzLS4xMDYuMDAzLS4wMDguMDA3LS4wMi4wMTUtLjAyN2wuMDA0LS4wMDRjLjA1LS4wOS4xMTMtLjE3Ni4xNzYtLjI1OC4wMTItLjAyLjAxMi0uMDQzLS4wMDgtLjA1NS0uMDE2LS4wMTUtLjA0My0uMDExLS4wNTUuMDA0YTEuODMgMS44MyAwIDAwLS4wNzguMTA2Yy0uMDE1IDAtLjAyNy4wMDgtLjAzNS4wMjNhMi4zOCAyLjM4IDAgMDEtLjA5LjE3MmMtLjAyLjAzNS0uMDM5LjA2Ni0uMDU4LjEwMmEuMDQuMDQgMCAwMC4wMTEuMDU0em0tNC42MDItLjg0M2MuMDItLjAwOC4wMzUtLjAyOC4wMzEtLjA1MWExLjk3OCAxLjk3OCAwIDAxLS4wNDctLjMwNWMwLS4wMjMtLjAyLS4wMzktLjA0My0uMDM5LS4wMjMuMDA0LS4wMzkuMDIzLS4wMzUuMDQzLjAwOC4xMS4wMjQuMjE1LjA0Ny4zMi4wMDQuMDE2LjAyLjAzMi4wMzkuMDMyaC4wMDh6bTMuOTQ5IDEuNDY0YTIuOTU1IDIuOTU1IDAgMDEtLjI2Mi4xNjRjLS4wMi4wMTItLjAyNy4wMzYtLjAxNS4wNTUuMDA4LjAxNi4wMi4wMi4wMzUuMDIuMDA4IDAgLjAxMiAwIC4wMi0uMDA0LjA5My0uMDUxLjE4My0uMTEuMjY5LS4xNzJhLjA0LjA0IDAgMDAuMDEyLS4wNTVjLS4wMTYtLjAyLS4wNC0uMDIzLS4wNTktLjAwOHptLTEuNDk2LjUxNmMwIC4wMjMuMDIuMDQuMDM5LjA0LjExIDAgLjIxNS0uMDA5LjMyLS4wMjQuMDI0IDAgLjA0LS4wMi4wMzUtLjA0My0uMDAzLS4wMjQtLjAyMy0uMDQtLjA0Mi0uMDM1LS4xMDYuMDE1LS4yMDguMDItLjMxMy4wMjNhLjA0LjA0IDAgMDAtLjA0LjAzOXptMS43NjYtLjY0NWMuMDA3IDAgLjAyLS4wMDMuMDI3LS4wMTEuMDc0LS4wNy4xNDQtLjE0NS4yMS0uMjIzbC0uMDQ2LjEzN2MtLjAwOC4wMjMuMDA0LjA0My4wMjcuMDUuMDA0IDAgLjAwOC4wMDUuMDEyLjAwNS4wMTYgMCAuMDMxLS4wMTIuMDQtLjAzMmEyLjIgMi4yIDAgMDEuMTA1LS4yOTNjLjAwNy0uMDIgMC0uMDQzLS4wMi0uMDUtLjAyLS4wMDgtLjA0MyAwLS4wNS4wMi0uMDIuMDM4LS4wMzYuMDc3LS4wNTIuMTE2YS4wMjEuMDIxIDAgMDAtLjAxMS0uMDJjLS4wMTYtLjAxNS0uMDQzLS4wMTEtLjA1NS4wMDUtLjA2Ni4wNzgtLjE0LjE1Ni0uMjE1LjIyNi0uMDE1LjAxNi0uMDIuMDQtLjAwNC4wNTUuMDA4LjAwOC4wMi4wMTUuMDMyLjAxNXptLTIuMzkxLjU2Yy0uMDA4LjAyMy4wMDguMDQyLjAyNy4wNS4xMDYuMDIzLjIxMS4wNDMuMzE3LjA1NS4wMDQgMCAuMDA0LjAwMy4wMDQuMDAzLjAyMyAwIC4wMzktLjAxNS4wNDMtLjAzOSAwLS4wMi0uMDE2LS4wMzktLjAzNi0uMDQzYTIuNjgxIDIuNjgxIDAgMDEtLjMwOC0uMDU0Yy0uMDItLjAwOC0uMDQzLjAwOC0uMDQ3LjAyN3ptMS4yNTQuMDFjLjAwNC4wMi4wMi4wMzIuMDM5LjAzMmguMDA4Yy4xMDUtLjAyNy4yMDctLjA2Mi4zMDQtLjEwMS4wMjQtLjAwOC4wMzItLjAzMi4wMjQtLjA1MS0uMDA4LS4wMi0uMDMxLS4wMzItLjA1LS4wMjQtLjA5OS4wNC0uMTk2LjA3LS4yOTguMDk4LS4wMi4wMDQtLjAzNS4wMjctLjAyNy4wNDd6bTEuMzU1LTQuMDM0Yy4wMDguMDExLjAyLjAxNS4wMzIuMDE1YS4wNTYuMDU2IDAgMDAuMDIzLS4wMDhjLjAyLS4wMTUuMDItLjAzOS4wMDgtLjA1NGEyLjUxNiAyLjUxNiAwIDAwLS4yMTUtLjIzOS4wNDIuMDQyIDAgMDAtLjA1OSAwIC4wMzguMDM4IDAgMDAwIC4wNTVjLjA3NS4wNzQuMTQ1LjE1My4yMTEuMjN6bS00LjUgMS41YS4wNC4wNCAwIDAwLjA0LS4wNGMuMDAzLS4xMDUuMDE1LS4yMDYuMDMtLjMwOC4wMDUtLjAyMy0uMDA3LS4wNDMtLjAzLS4wNDdhLjA0My4wNDMgMCAwMC0uMDQ3LjAzMSAyLjk2MiAyLjk2MiAwIDAwLS4wMzIuMzJjMCAuMDI0LjAxNi4wNC4wNC4wNDR6bTEuMzA1IDIuMjg5Yy0uMDEyLjAyLS4wMDQuMDQzLjAxNi4wNS4wOTMuMDUxLjE5MS4wOTguMjkzLjEzN2guMDE1Yy4wMTYgMCAuMDMxLS4wMDguMDM1LS4wMjNBLjAzOC4wMzggMCAwMDEuOTYxIDE0YTIuNjMxIDIuNjMxIDAgMDEtLjI4MS0uMTMzLjA0NS4wNDUgMCAwMC0uMDU1LjAyem0tLjUwOC0uMzc1YS4wNDIuMDQyIDAgMDAwIC4wNThjLjA3OC4wNy4xNjQuMTM3LjI1LjJhLjA1Ni4wNTYgMCAwMC4wMjQuMDA3Yy4wMTEgMCAuMDIzLS4wMDcuMDMtLjAxNS4wMTYtLjAyLjAxMy0uMDQzLS4wMDctLjA1OWExLjk2MSAxLjk2MSAwIDAxLS4yNDItLjE5NWMtLjAxNi0uMDEyLS4wNDMtLjAxMi0uMDU1LjAwNHptLjQ1LTRjLjAwNyAwIC4wMTUgMCAuMDIzLS4wMDQuMDg2LS4wNTUuMTgtLjEwMi4yNzctLjE0NS4wMi0uMDA4LjAyOC0uMDMxLjAyLS4wNWEuMDM5LjAzOSAwIDAwLS4wNTUtLjAyYy0uMDk4LjAzOS0uMTkxLjA5LS4yODUuMTQ1LS4wMi4wMTEtLjAyNC4wMzUtLjAxMi4wNTQuMDA0LjAxMi4wMi4wMi4wMzEuMDJ6bTguMjQyIDQuNTIzYy0uMDI0IDAtLjA0LjAyLS4wNC4wNDMuMDA0LjA0My4wMDQuMDg2LjAwNC4xMjkgMCAuMDYzIDAgLjEyMS0uMDAzLjE4LS4wMDQuMDIzLjAxMS4wNDMuMDM1LjA0M2guMDA0Yy4wMiAwIC4wMzktLjAxNi4wMzktLjAzNS4wMDQtLjA2My4wMDctLjEyNS4wMDctLjE4OCAwLS4wNDMtLjAwMy0uMDktLjAwMy0uMTM3YS4wNDIuMDQyIDAgMDAtLjA0My0uMDM1em0tLjEzNyAxLjAxMmMuMDA0LjAwNC4wMDguMDA0LjAxMi4wMDQuMDE1IDAgLjAzLS4wMTIuMDM5LS4wMjguMDMtLjEwMS4wNjItLjIwNy4wODItLjMxMmEuMDQzLjA0MyAwIDAwLS4wMzItLjA0Ny4wNC4wNCAwIDAwLS4wNDYuMDMxYy0uMDIuMTAyLS4wNDcuMjAzLS4wODIuMzAxYS4wNDUuMDQ1IDAgMDAuMDI3LjA1em0tLjA5LjIxOWMtLjAyLS4wMDgtLjA0MyAwLS4wNS4wMi0uMDMyLjA1OC0uMDYuMTE2LS4wOTUuMTcxLS4wMTkuMDM1LS4wMzkuMDY2LS4wNTguMTAyLS4wMTIuMDItLjAwOC4wNDMuMDEyLjA1NGEuMDMuMDMgMCAwMC4wMi4wMDguMDQxLjA0MSAwIDAwLjAzNC0uMDJjLjAyLS4wMzUuMDQzLS4wNy4wNjMtLjEwMS4wMzEtLjA1OS4wNjYtLjEyMS4wOTQtLjE4YS4wNDUuMDQ1IDAgMDAtLjAyLS4wNTR6bS4xMDUtMS44NTJhLjA0NS4wNDUgMCAwMC0uMDI3LjA1Yy4wMzEuMDk4LjA1OS4yLjA3NC4zMDIuMDA0LjAyLjAyLjAzNS4wNC4wMzVoLjAwN2MuMDI0LS4wMDQuMDM1LS4wMjguMDMxLS4wNDdhMi4xMzggMi4xMzggMCAwMC0uMDc0LS4zMTNjLS4wMDgtLjAyMy0uMDMxLS4wMzUtLjA1LS4wMjd6bS00LjE2NCAyLjY0Yy0uMDE1LjAyLS4wMTUuMDQ0IDAgLjA2LjA3OS4wNy4xNjUuMTQuMjUuMTk4LjAwOC4wMDguMDE2LjAwOC4wMjQuMDA4LjAxMiAwIC4wMjctLjAwNC4wMzUtLjAxNS4wMTItLjAyLjAwOC0uMDQzLS4wMTItLjA1NWEyLjk0IDIuOTQgMCAwMS0uMjQyLS4xOTVjLS4wMTYtLjAxNi0uMDQzLS4wMTYtLjA1NSAwem0tLjA3OC0zLjYyNGMuMDA4LjAwOC4wMi4wMTEuMDMyLjAxMS4wMDcgMCAuMDItLjAwNC4wMjctLjAxMS4wNzQtLjA3NS4xNTItLjE0LjIzNC0uMjAzLjAxNi0uMDE2LjAyLS4wNC4wMDQtLjA1OS0uMDEyLS4wMTYtLjAzNS0uMDItLjA1NC0uMDA4YTIuNTA3IDIuNTA3IDAgMDAtLjI0My4yMTUuMDM4LjAzOCAwIDAwMCAuMDU1em0tLjExMyAzLjQ2NWMuMDA4IDAgLjAyLS4wMDQuMDI3LS4wMDguMDE2LS4wMTYuMDE2LS4wNC4wMDQtLjA1OWEyLjI3MyAyLjI3MyAwIDAxLS4xODctLjI0NmMtLjAxMi0uMDItLjAzNS0uMDIzLS4wNTUtLjAxMi0uMDIuMDEyLS4wMjMuMDM1LS4wMTIuMDU1LjA1OS4wOS4xMjEuMTc2LjE5Mi4yNTguMDA4LjAwOC4wMi4wMTIuMDMxLjAxMnptLjY0LTMuODRjLjAwOCAwIC4wMTYgMCAuMDI0LS4wMDRhMS42OCAxLjY4IDAgMDEuMjc3LS4xNC4wNDUuMDQ1IDAgMDAuMDItLjA1NmMtLjAwOC0uMDItLjAzMS0uMDI3LS4wNS0uMDItLjEwMi4wNDQtLjE5Ni4wOS0uMjkuMTQ1LS4wMi4wMTItLjAyMy4wMzYtLjAxMi4wNTUuMDA4LjAxMi4wMi4wMi4wMzIuMDJ6bS41OTQtLjI1Yy4wOTgtLjAzMi4yLS4wNTUuMzAxLS4wNy4wMjQtLjAwNS4wNC0uMDI0LjAzNS0uMDQ3YS4wNC4wNCAwIDAwLS4wNDctLjAzMmMtLjEwNS4wMTYtLjIxLjA0LS4zMTIuMDctLjAyLjAwOC0uMDM1LjAyOC0uMDI3LjA1MS4wMDQuMDE2LjAyLjAyOC4wMzkuMDI4aC4wMTF6bS0xLjU4MiAzLjU2MmMuMDA4IDAgLjAxMiAwIC4wMi0uMDA0LjAyLS4wMTEuMDI3LS4wMzUuMDE2LS4wNTRhMy42MzkgMy42MzkgMCAwMS0uMTE4LS4yODZjLS4wMDctLjAyMy0uMDMtLjAzNS0uMDUtLjAyNy0uMDIuMDA4LS4wMzIuMDMxLS4wMjQuMDUuMDMxLjEwMi4wNzQuMjA0LjEyMS4yOThhLjA0Mi4wNDIgMCAwMC4wMzUuMDIzem0zLjc5Ny0zLjE1NmEuMDU2LjA1NiAwIDAwLjAyNC4wMDhjLjAxMSAwIC4wMjMtLjAwOC4wMy0uMDE2LjAxNy0uMDIuMDEzLS4wNDMtLjAwNy0uMDU4YTIuNjA3IDIuNjA3IDAgMDAtLjI2NS0uMTc2Yy0uMDQ3LS4wMjgtLjA5NC0uMDU1LS4xNDUtLjA3OC0uMDItLjAwOC0uMDQzIDAtLjA1LjAyLS4wMTMuMDE5LS4wMDUuMDQyLjAxNS4wNTRhMi40NCAyLjQ0IDAgMDEuMzk4LjI0NnptLTIuNzUgNC4yMTljLS4wMTEuMDItLjAwNC4wNDMuMDE2LjA1NGEyLjgxIDIuODEgMCAwMC4zMDguMTM3LjAzOC4wMzggMCAwMC4wMzYtLjAyNy4wMzguMDM4IDAgMDAtLjAyNC0uMDUxIDMuNjU2IDMuNjU2IDAgMDEtLjI4MS0uMTI5Yy0uMDItLjAxMi0uMDQzLS4wMDQtLjA1NS4wMTZ6bS0xLjMtMi4wNTFjLS4wMjQgMC0uMDQuMDItLjAzNi4wNDMuMDA4LjEwNS4wMjQuMjEuMDQ3LjMxNi4wMDQuMDIuMDIuMDMyLjA0LjAzMmguMDA3YS4wNDMuMDQzIDAgMDAuMDMxLS4wNDcgMi4xMDUgMi4xMDUgMCAwMS0uMDQ3LS4zMDljMC0uMDIzLS4wMi0uMDM5LS4wNDMtLjAzNXptMi43NTctMi42NjhoLjAwNGMuMDI0IDAgLjA0LS4wMTYuMDQzLS4wMzUgMC0uMDI0LS4wMTUtLjA0My0uMDM5LS4wNDNhMi4xOTQgMi4xOTQgMCAwMC0uMzItLjAwOC4wNC4wNCAwIDAwLS4wNC4wNGMwIC4wMjMuMDIuMDM4LjA0NC4wMzguMTAxLS4wMDQuMjA3IDAgLjMwOC4wMDh6bS42MS4xMzNoLjAxMWMuMDIgMCAuMDM2LS4wMDguMDQtLjAyOC4wMDctLjAyLS4wMDQtLjA0My0uMDI0LS4wNWEzLjAzMiAzLjAzMiAwIDAwLS4zMDktLjA4NmMtLjAyMy0uMDA0LS4wNDMuMDA4LS4wNS4wM2EuMDQzLjA0MyAwIDAwLjAzLjA0OGMuMTAyLjAyMy4yMDQuMDUuMzAyLjA4NnptMS4xMjkuOGMuMDA3LjAwOC4wMi4wMTIuMDMuMDEyLjAwOSAwIC4wMiAwIC4wMjQtLjAwOC4wMDQgMCAuMDA0IDAgLjAwNC0uMDAzYS4xMzkuMTM5IDAgMDEuMDE2LjAzNWMuMDA4LjAxNS4wMi4wMjMuMDM1LjAyMy4wMDggMCAuMDEyIDAgLjAxNi0uMDA0YS4wMzguMDM4IDAgMDAuMDIzLS4wNSAyLjAyIDIuMDIgMCAwMS0uMTA1LS4yOTRjLS4wMDgtLjAyLS4wMjgtLjAzNS0uMDUxLS4wMjdhLjA0NS4wNDUgMCAwMC0uMDI4LjA1Yy4wMTYuMDU2LjAzNi4xMDYuMDU1LjE2MWEzLjgyIDMuODIgMCAwMC0uMTcyLS4xODQuMDQyLjA0MiAwIDAwLS4wNTggMGMtLjAxNi4wMTYtLjAxMi4wNDMuMDA0LjA1NS4wNzQuMDc0LjE0NC4xNTIuMjA3LjIzNXpNNy44NyAxNi42OGMuMDA0LjAxNS4wMi4wMjcuMDQuMDI3aC4wMDdjLjEwNS0uMDI3LjIwNy0uMDU5LjMwNS0uMTAyYS4wMzguMDM4IDAgMDAuMDIzLS4wNWMtLjAwOC0uMDItLjAzMS0uMDMyLS4wNS0uMDI0YTIuMDMgMi4wMyAwIDAxLS4yOTguMDk4Yy0uMDIuMDA4LS4wMzUuMDI3LS4wMjcuMDV6bS0zLjEwNS0yLjkzNGMtLjAyLS4wMDQtLjA0My4wMTItLjA0Ny4wMzVhMi44IDIuOCAwIDAwLS4wMzIuMzE3YzAgLjAyMy4wMTYuMDQzLjA0LjA0My4wMjMgMCAuMDM5LS4wMTYuMDM5LS4wNC4wMDQtLjEwMS4wMTUtLjIwNi4wMzUtLjMwOC4wMDQtLjAyMy0uMDEyLS4wNDMtLjAzNS0uMDQ3em0zLjk3MiAyLjQ4OGEyLjk4OCAyLjk4OCAwIDAxLS4yNjEuMTY4Yy0uMDIuMDA4LS4wMjguMDMyLS4wMTYuMDUxLjAwOC4wMTYuMDIuMDI0LjAzNS4wMjQuMDA4IDAgLjAxMi0uMDA0LjAyLS4wMDguMDkzLS4wNTEuMTgzLS4xMS4yNy0uMTcyLjAxOS0uMDEyLjAyMy0uMDM1LjAxLS4wNTVhLjA0Ny4wNDcgMCAwMC0uMDU4LS4wMDh6bS4yNy0uMTI5Yy4wMDggMCAuMDItLjAwMy4wMjctLjAxMS4wNzgtLjA3NC4xNTItLjE1My4yMTktLjIzNS4wMTYtLjAxNS4wMTItLjA0My0uMDA0LS4wNTQtLjAxNi0uMDE2LS4wNDMtLjAxMi0uMDU1LjAwNC0uMDY2LjA4Mi0uMTQuMTU2LS4yMTUuMjI2YS4wNDcuMDQ3IDAgMDAtLjAwMy4wNTljLjAwNy4wMDguMDIuMDExLjAzLjAxMXpNOS45NzcgNC43MmMuMDA3IDAgLjAyIDAgLjAyNy0uMDA4LjA3OC0uMDcuMTYtLjEzNy4yNDItLjE5NS4wMi0uMDEyLjAyNC0uMDM2LjAxMi0uMDU1YS4wNC4wNCAwIDAwLS4wNTUtLjAxMmMtLjA5LjA2My0uMTcyLjEzLS4yNTQuMjAzLS4wMTUuMDEyLS4wMTUuMDQtLjAwNC4wNTUuMDA4LjAwOC4wMi4wMTIuMDMyLjAxMnptMy43NDIgMy4zN2EuMDU2LjA1NiAwIDAwLjAyMy4wMDkuMDQxLjA0MSAwIDAwLjAzNS0uMDIgMi4zOSAyLjM5IDAgMDAuMTY4LS4yN2MuMDEyLS4wMTkuMDA0LS4wNDItLjAxNS0uMDU0LS4wMi0uMDEyLS4wNDMtLjAwNC0uMDUxLjAxNi0uMDUuMDktLjEwNi4xOC0uMTY4LjI2MWEuMDQ3LjA0NyAwIDAwLjAwOC4wNTl6bS0uNDAzLjQ3YS4wNTYuMDU2IDAgMDAuMDI0LS4wMDhjLjA4Mi0uMDcuMTYtLjE0NS4yMzQtLjIyMy4wMTYtLjAxNS4wMTItLjA0My0uMDA0LS4wNTVhLjAzOC4wMzggMCAwMC0uMDU0IDBjLS4wNy4wNzktLjE0OS4xNDktLjIyNy4yMTUtLjAxNi4wMTYtLjAyLjA0LS4wMDQuMDU5LjAwOC4wMDguMDIuMDEyLjAzMS4wMTJ6bS0uNTMuMzQzYy4wMDcgMCAuMDEgMCAuMDE5LS4wMDQuMDkzLS4wNDYuMTg3LS4wOTcuMjc3LS4xNTZhLjA0LjA0IDAgMDAuMDEyLS4wNTVjLS4wMTItLjAxOS0uMDM1LS4wMjMtLjA1NS0uMDExLS4wODYuMDU0LS4xOC4xMDUtLjI3LjE1Mi0uMDE5LjAwOC0uMDMuMDMxLS4wMTkuMDU1LjAwOC4wMTIuMDIuMDIuMDM1LjAyem0tLjQ1OC00Ljc0NmEyLjYzOCAyLjYzOCAwIDAxLjMxMy4xMDJjLjAxNSAwIC4wMjctLjAwOC4wMzUtLjAyNC4wMDgtLjAyMyAwLS4wNDYtLjAyNC0uMDU0LS4wOTctLjA0LS4xOTktLjA3NS0uMzA0LS4xMDItLjAyLS4wMDQtLjA0My4wMDgtLjA0Ny4wMjctLjAwOC4wMjQuMDA4LjA0My4wMjcuMDUxem0tLjc3MyA1aC4xNmE0LjEgNC4xIDAgMDEuMzA4LjAyNGwuMDA0LjAwNGMuMDI0IDAgLjA0LS4wMTYuMDQzLS4wMzYgMC0uMDIzLS4wMTUtLjA0My0uMDM1LS4wNDZsLS4xMjktLjAxMmEuMDQxLjA0MSAwIDAwLS4wMzUtLjAyIDIuNzY5IDIuNzY5IDAgMDEtLjMxMi4wMDQuMDQuMDQgMCAwMC0uMDQuMDRjLS4wMDMuMDIzLjAxNi4wMzguMDM2LjA0MnptLS40Ny01LjAyaC4wMDljLjEwMS0uMDIzLjIwNy0uMDQyLjMwOC0uMDUuMDI0LS4wMDQuMDQtLjAyNC4wMzYtLjA0N2EuMDQ2LjA0NiAwIDAwLS4wNDMtLjAzNSAyLjgxNiAyLjgxNiAwIDAwLS4zMTcuMDU1Yy0uMDIzLjAwNy0uMDM1LjAyNy0uMDMxLjA0Ni4wMDQuMDIuMDIuMDMyLjAzOS4wMzJ6bS42My0uMDY2Yy4xMDEgMCAuMjA3LjAwOC4zMDguMDI0aC4wMDRjLjAyNCAwIC4wNC0uMDE2LjA0My0uMDM1IDAtLjAyLS4wMTUtLjA0My0uMDM1LS4wNDNhMi45NTMgMi45NTMgMCAwMC0uMzItLjAyOC4wNC4wNCAwIDAwLS4wNC4wNGMtLjAwMy4wMjMuMDE2LjA0Mi4wNC4wNDJ6bS40NzMgNS4wMzVoLjAwN2MuMTA2LS4wMi4yMTEtLjA1LjMxMy0uMDgyLjAyLS4wMDcuMDMxLS4wMy4wMjMtLjA1LS4wMDgtLjAyNC0uMDMxLS4wMzYtLjA1LS4wMjgtLjA5OC4wMzUtLjIuMDYzLS4zMDEuMDgyYS4wNC4wNCAwIDAwLS4wMzIuMDQ3Yy4wMDQuMDIuMDIuMDMxLjA0LjAzMXptMS40My00LjExN2MuMDA3LjAxMi4wMTkuMDE2LjAyNy4wMTYuMDExIDAgLjAyLS4wMDQuMDI3LS4wMDguMDE1LS4wMTYuMDItLjAzOS4wMDQtLjA1OWEyLjQ2OCAyLjQ2OCAwIDAwLS4yMTktLjIzNC4wMzguMDM4IDAgMDAtLjA1NSAwIC4wNDIuMDQyIDAgMDAwIC4wNTljLjA3OC4wNy4xNDkuMTQ4LjIxNS4yMjZ6bS0yLjY5MiA0LjA1OWMuMDk3LjAyNy4xOTUuMDU1LjI5Ny4wN2ExLjU3IDEuNTcgMCAwMC0uMTQ1LjAzMWMtLjAyMy4wMDQtLjAzNS4wMjgtLjAzMS4wNDcuMDA0LjAyLjAyLjAzMi4wMzkuMDMyaC4wMDhhMi44NCAyLjg0IDAgMDEuMzA4LS4wNTVjLjAyNCAwIC4wNC0uMDI0LjAzNi0uMDQzLS4wMDQtLjAyNC0uMDI0LS4wNC0uMDQzLS4wMzVhMS4zNjUgMS4zNjUgMCAwMC0uMTI1LjAxNWMuMDA3LS4wMDQuMDExLS4wMTEuMDExLS4wMjMuMDA0LS4wMi0uMDA4LS4wNC0uMDMxLS4wNDNhMi42IDIuNiAwIDAxLS4zLS4wNzRjLS4wMjQtLjAwNC0uMDQ4LjAwOC0uMDUyLjAyNy0uMDA3LjAyNC4wMDQuMDQzLjAyOC4wNXptLS41ODYtLjI2MmMuMDkuMDU1LjE4Ny4xMDYuMjg1LjE0OS4wMDQuMDA0LjAwOC4wMDQuMDE2LjAwNC4wMTUgMCAuMDI3LS4wMDguMDM1LS4wMjRhLjA0NS4wNDUgMCAwMC0uMDItLjA1NSAyLjA4NSAyLjA4NSAwIDAxLS4yNzctLjE0NGMtLjAyLS4wMDgtLjA0My0uMDA0LS4wNTUuMDE1LS4wMTEuMDItLjAwNC4wNDMuMDE2LjA1NXptLjE1Ni00LjQyNmMuMDA0IDAgLjAxMiAwIC4wMTYtLjAwNC4wOTMtLjA0Ni4xODctLjA5LjI4NS0uMTI4LjAyLS4wMDguMDMxLS4wMzIuMDIzLS4wNTEtLjAwOC0uMDItLjAzLS4wMzEtLjA1LS4wMjQtLjEwMi4wNC0uMi4wODItLjI5My4xMzMtLjAyLjAwOC0uMDI4LjAzNS0uMDE2LjA1NS4wMDQuMDEyLjAyLjAyLjAzNS4wMnptLS45NTcuODMyYS4wNS4wNSAwIDAwLjAyNC4wMDRjLjAxMSAwIC4wMjctLjAwNC4wMzUtLjAxNS4wNTQtLjA4Ni4xMi0uMTY4LjE4Ny0uMjQ2LjAxNi0uMDIuMDEyLS4wNDMtLjAwNC0uMDU5LS4wMTUtLjAxNi0uMDQzLS4wMTItLjA1NC4wMDQtLjA3LjA4Mi0uMTM3LjE2OC0uMTk2LjI1OC0uMDE1LjAxNS0uMDA4LjA0My4wMDguMDU0em0zLjM2My0uOGMuMDk0LjA1LjE4LjEwOS4yNjIuMTY4LjAwOC4wMDcuMDE2LjAwNy4wMjQuMDA3LjAxNSAwIC4wMjctLjAwMy4wMzUtLjAxNWEuMDQyLjA0MiAwIDAwLS4wMDgtLjA1NSAzLjk4IDMuOTggMCAwMC0uMjctLjE3NmMtLjAyLS4wMTEtLjA0Ny0uMDA0LS4wNTQuMDE2YS4wNDIuMDQyIDAgMDAuMDExLjA1NXpNMTAuMDc0IDguNmEuMDU2LjA1NiAwIDAwLjAyNC4wMDguMDM2LjAzNiAwIDAwLjAzLS4wMTVjLjAxNy0uMDE2LjAxMy0uMDQzLS4wMDMtLjA1NWEyLjMzOSAyLjMzOSAwIDAxLS4yMzQtLjIwNy4wMzguMDM4IDAgMDAtLjA1NSAwIC4wMzguMDM4IDAgMDAwIC4wNTVjLjA3NC4wNzguMTU2LjE0OC4yMzguMjE1em0tLjgwOC0yLjg0M2MuMDA0LjAwNC4wMDcuMDA0LjAxMS4wMDQuMDE2IDAgLjAzMi0uMDEyLjA0LS4wMjguMDM1LS4wOTcuMDc0LS4xOTUuMTItLjI4NS4wMTItLjAyLjAwNC0uMDQzLS4wMTUtLjA1NC0uMDItLjAxMi0uMDQzLS4wMDQtLjA1NS4wMi0uMDQ3LjA5My0uMDkuMTktLjEyNS4yOTJhLjA0LjA0IDAgMDAuMDI0LjA1em0tLjEyNS42MmguMDA0Yy4wMiAwIC4wMzUtLjAxNS4wMzktLjAzOC4wMDctLjEwMi4wMjMtLjIwMy4wNDYtLjMwNS4wMDQtLjAyMy0uMDA3LS4wNDMtLjAzLS4wNDctLjAyLS4wMDgtLjA0NC4wMDgtLjA0OC4wMjhhMi44OCAyLjg4IDAgMDAtLjA1LjMyYzAgLjAyLjAxNS4wMzkuMDM5LjA0M3ptNS4wMTEuNzgyYy0uMDItLjAwNC0uMDQzLjAwOC0uMDQ3LjAzMS0uMDI3LjA5OC0uMDU4LjItLjA5Ny4yOTctLjAwOC4wMi4wMDQuMDQzLjAyMy4wNTEuMDA0IDAgLjAwOC4wMDQuMDE2LjAwNGEuMDM4LjAzOCAwIDAwLjAzNS0uMDI3Yy4wNC0uMDk4LjA3NC0uMjA0LjA5OC0uMzA1LjAwOC0uMDI0LS4wMDQtLjA0My0uMDI4LS4wNXptLTQuNzA3LjcxOWMuMDU1LjA5LjExNC4xOC4xOC4yNjYuMDA4LjAxMS4wMi4wMTUuMDMxLjAxNS4wMDggMCAuMDE2LS4wMDQuMDI0LS4wMDguMDItLjAxNS4wMjMtLjAzOS4wMDgtLjA1NGEyLjMyMyAyLjMyMyAwIDAxLS4xNzItLjI2MmMtLjAxMi0uMDE2LS4wNC0uMDI0LS4wNTUtLjAxMi0uMDIuMDEyLS4wMjcuMDM1LS4wMTYuMDU1em0tLjI4LS44NzFoLjAwM2MuMDIzLS4wMDQuMDM5LS4wMjQuMDM1LS4wNDNhMi44MjIgMi44MjIgMCAwMS0uMDMxLS4zMTNjMC0uMDItLjAyLS4wMzktLjA0LS4wMzktLjAyMyAwLS4wMzguMDItLjAzOC4wNDMuMDA0LjEwNi4wMTEuMjE1LjAzMS4zMiAwIC4wMi4wMi4wMzIuMDQuMDMyem00Ljc4LTEuNDkyYy4wMDguMDExLjAyNC4wMjMuMDQuMDIzLjAwMyAwIC4wMDctLjAwNC4wMTUtLjAwNC4wMi0uMDEyLjAyNy0uMDM1LjAyLS4wNTVhMi40NiAyLjQ2IDAgMDAtLjE1Ny0uMjhjLS4wMTEtLjAyLS4wMzUtLjAyNC0uMDU0LS4wMTNhLjA0Mi4wNDIgMCAwMC0uMDEyLjA1NWMuMDU1LjA4Ni4xMDUuMTguMTQ4LjI3NHptLTQuNjEgMi4xMDFjLjAwOSAwIC4wMTMtLjAwNC4wMTctLjAwNC4wMjMtLjAwOC4wMy0uMDMxLjAyMy0uMDU0YTEuODY2IDEuODY2IDAgMDEtLjEwNS0uMjkzLjA0NS4wNDUgMCAwMC0uMDUxLS4wMjguMDQ3LjA0NyAwIDAwLS4wMjguMDUxYy4wMzIuMTAyLjA2Ny4yMDMuMTEuMy4wMDguMDE2LjAyLjAyOC4wMzUuMDI4em00LjgwMi0xLjUxMmMuMDA0LjAyLjAyLjAzNi4wMzkuMDM2LjAwNCAwIC4wMDQtLjAwNC4wMDgtLjAwNC4wMjMtLjAwNC4wMzUtLjAyNC4wMy0uMDQ3YTIuOTc1IDIuOTc1IDAgMDAtLjA3Ny0uMzA5Yy0uMDA4LS4wMjMtLjAzMi0uMDM1LS4wNTEtLjAyN2EuMDQ3LjA0NyAwIDAwLS4wMjcuMDVjLjAzNS4wOTguMDU4LjIuMDc4LjMwMXptLjAzOS4zMWMuMDA0LjA1NC4wMDQuMTA1LjAwNC4xNiAwIC4xLS4wMDQuMjA2LS4wMi4zMDggMCAuMDIzLjAxNi4wNDMuMDM1LjA0N2guMDA0Yy4wMjQgMCAuMDQtLjAxNi4wNDMtLjAzNS4wMTItLjEwNi4wMi0uMjE1LjAyLS4zMiAwLS4wNTUtLjAwNC0uMTEtLjAwOC0uMTY1YS4wNC4wNCAwIDAwLS4wNC0uMDM5LjA0NS4wNDUgMCAwMC0uMDM4LjA0M3ptLS44NiA3LjIzM2MuMDA4IDAgLjAxNi0uMDAzLjAyNC0uMDExLjA4Mi0uMDY3LjE2LS4xNC4yMzQtLjIxOS4wMTYtLjAxNi4wMTItLjA0My0uMDA0LS4wNTktLjAxNS0uMDE1LS4wMzktLjAxMS0uMDU0LjAwNC0uMDcuMDc1LS4xNDkuMTQ5LS4yMjcuMjE1LS4wMTYuMDEyLS4wMi4wNC0uMDA0LjA1NS4wMDguMDEyLjAyLjAxNS4wMzEuMDE1em0uMTQxLTMuODU1YS4wMzguMDM4IDAgMDAtLjA1NSAwIC4wMzguMDM4IDAgMDAwIC4wNTVjLjA3OC4wNzQuMTQ5LjE0OC4yMTUuMjMuMDA4LjAwOC4wMi4wMTYuMDI4LjAxNi4wMTEgMCAuMDItLjAwNC4wMjctLjAxMi4wMTUtLjAxMi4wMi0uMDM5LjAwNC0uMDU1YTIuMDcyIDIuMDcyIDAgMDAtLjIxOS0uMjM0em0uNjggMS4wNzRjLS4wMDgtLjAyLS4wMzItLjAzMS0uMDUxLS4wMjMtLjAyLjAwNC0uMDMxLjAyNy0uMDI3LjA1LjAzNS4wOTguMDU4LjIuMDc4LjMwMS4wMDQuMDIuMDIuMDMyLjAzOS4wMzJoLjAwOGMuMDIzLS4wMDQuMDM1LS4wMjQuMDMtLjA0N2EyLjgxIDIuODEgMCAwMC0uMDc3LS4zMTN6bS4wNTggMS4xNDloLjAwNGMuMDI0IDAgLjA0LS4wMTIuMDQzLS4wMzJhMi4xOTcgMi4xOTcgMCAwMC4wMTItLjQ4NC4wNC4wNCAwIDAwLS4wNC0uMDRjLS4wMjMgMC0uMDM4LjAyLS4wMzguMDQ0LjAwNC4wNS4wMDQuMTA1LjAwNC4xNTYgMCAuMTA2LS4wMDQuMjExLS4wMi4zMTMgMCAuMDIzLjAxNi4wNDMuMDM1LjA0M3ptLS4zODYtMS43NDNjLS4wMTYuMDEyLS4wMjQuMDQtLjAxMi4wNTUuMDU1LjA5LjEwNS4xOC4xNDguMjc0YS4wNDMuMDQzIDAgMDAuMDQuMDIzYy4wMDMgMCAuMDA3IDAgLjAxNS0uMDA0LjAyLS4wMDguMDI3LS4wMzEuMDItLjA1YTIuNDYgMi40NiAwIDAwLS4xNTctLjI4MmMtLjAxMS0uMDItLjAzNS0uMDI3LS4wNTQtLjAxNnptLTMuNjggMy40MWMuMDE2LS4wMTkuMDEyLS4wNDItLjAwNC0uMDU0YTMuMDA2IDMuMDA2IDAgMDEtLjIzNC0uMjExLjAzOC4wMzggMCAwMC0uMDU1IDAgLjA0Mi4wNDIgMCAwMDAgLjA1OWMuMDc0LjA3NC4xNTYuMTQ4LjIzOC4yMTQuMDA4LjAwNC4wMTYuMDA4LjAyNC4wMDguMDExIDAgLjAyMy0uMDA4LjAzLS4wMTV6bS0uOTY1LTEuNTg1aC4wMDRjLjAyMy0uMDA0LjAzOS0uMDI0LjAzNS0uMDQ3YTIuNzUzIDIuNzUzIDAgMDEtLjAzMS0uMzA5LjA0LjA0IDAgMDAtLjA3OCAwYy4wMDQuMTEuMDExLjIxNS4wMzEuMzIgMCAuMDIuMDIuMDM2LjA0LjAzNnptNC4wNTktMi40NTdjLjAxMS0uMDIuMDA3LS4wNDMtLjAwOC0uMDU1YTIuMjcgMi4yNyAwIDAwLS4yNy0uMTc2Yy0uMDItLjAxMi0uMDQ3LS4wMDQtLjA1NC4wMTZhLjA0Mi4wNDIgMCAwMC4wMTEuMDU0Yy4wOTQuMDUxLjE4LjEwNi4yNjIuMTY4LjAwOC4wMDQuMDE2LjAwOC4wMjQuMDA4LjAxNSAwIC4wMjctLjAwNC4wMzUtLjAxNXptLS42OTIgNC40MThjLS4wMDgtLjAyLS4wMzEtLjAzMi0uMDUtLjAyNC0uMDk4LjAzMS0uMi4wNTktLjMwMS4wODJhLjA0LjA0IDAgMDAtLjAzMi4wNDdjLjAwNC4wMTYuMDIuMDMxLjA0LjAzMWguMDA3Yy4xMDYtLjAyMy4yMTEtLjA1LjMxMy0uMDg2YS4wNC4wNCAwIDAwLjAyMy0uMDV6bS0yLjk2OS0zLjc3NGEuMDQ3LjA0NyAwIDAwLjAzNi0uMDJjLjA1NC0uMDgxLjEyLS4xNjcuMTg3LS4yNDUuMDE2LS4wMTYuMDEyLS4wNDMtLjAwNC0uMDU1LS4wMTUtLjAxNi0uMDQzLS4wMTItLjA1NC4wMDQtLjA3LjA3OC0uMTM3LjE2NC0uMTk2LjI1NC0uMDE1LjAyLS4wMDguMDQzLjAwOC4wNTRhLjA1Ni4wNTYgMCAwMC4wMjQuMDA4em0yLjMxIDMuODc1YTIuNzY5IDIuNzY5IDAgMDEtLjMxMy4wMDQuMDQuMDQgMCAwMC0uMDQuMDRjLS4wMDMuMDE5LjAxNi4wMzguMDM2LjAzOC4wNDMuMDA0LjA4Mi4wMDQuMTIuMDA0LjA2NyAwIC4xMzctLjAwNC4yMDQtLjAwOC4wMiAwIC4wMzUtLjAyLjAzNS0uMDQzIDAtLjAyMy0uMDItLjAzOS0uMDQzLS4wMzV6bS0xLjIxNi0uMjFhMi42NzUgMi42NzUgMCAwMS0uMjc3LS4xNDVjLS4wMi0uMDEyLS4wNDMtLjAwNC0uMDU1LjAxNS0uMDExLjAxNi0uMDA0LjA0My4wMTYuMDU1LjA5LjA1NS4xODcuMTA1LjI4NS4xNDguMDA0IDAgLjAwOC4wMDQuMDE2LjAwNC4wMTUgMCAuMDI3LS4wMTEuMDM1LS4wMjMuMDA4LS4wMjQgMC0uMDQ3LS4wMi0uMDU1em0uNTk0LjE3OWExLjk3OCAxLjk3OCAwIDAxLS4zLS4wN2MtLjAyNC0uMDA4LS4wNDguMDA0LS4wNTIuMDI3LS4wMDcuMDIuMDA0LjA0My4wMjguMDUuMTAxLjAyOC4yMDcuMDU1LjMxMi4wNzEgMCAuMDA0LjAwNC4wMDQuMDA0LjAwNC4wMiAwIC4wNC0uMDE2LjA0LS4wMzUuMDAzLS4wMi0uMDA5LS4wNDMtLjAzMi0uMDQ3em0xLjg0NC0uMzU2YS4wNDIuMDQyIDAgMDAtLjA1NS0uMDExYy0uMDg2LjA1OC0uMTguMTEtLjI3LjE1Ni0uMDE5LjAwOC0uMDMuMDMxLS4wMTkuMDUuMDA4LjAxNi4wMi4wMjQuMDM1LjAyNC4wMDggMCAuMDEyIDAgLjAyLS4wMDQuMDkzLS4wNDcuMTg3LS4xMDEuMjc3LS4xNi4wMi0uMDEyLjAyMy0uMDM1LjAxMi0uMDU1em0tMi4zMjQtNC41M2MtLjEwMi4wMzQtLjIuMDgxLS4yOTMuMTI4LS4wMi4wMTItLjAyOC4wMzUtLjAxNi4wNTUuMDA0LjAxNS4wMi4wMjMuMDM1LjAyM2wuMDE2LS4wMDRjLjA5My0uMDUuMTg3LS4wOTMuMjg1LS4xMjkuMDItLjAwNy4wMzEtLjAzLjAyMy0uMDUtLjAwOC0uMDI0LS4wMy0uMDMyLS4wNS0uMDI0ek05LjY1NiAxMy4yNWMuMDA4IDAgLjAxNi0uMDA0LjAyNC0uMDA4LjAyLS4wMTUuMDIzLS4wMzkuMDA4LS4wNThhMy4yOTUgMy4yOTUgMCAwMS0uMTY1LS4yNDNjLS4wMTUtLjAyNy0uMDMtLjA1OC0uMDUtLjA4Ni0uMDEyLS4wMi0uMDM2LS4wMjMtLjA1NS0uMDExLS4wMi4wMTEtLjAyMy4wMzUtLjAxMi4wNTQuMDEyLjAyLjAyNC4wNC4wMzUuMDYzbC4wMDQuMDA0Yy4wMDQuMDA4LjAwNC4wMTIuMDA4LjAxNS4wMzUuMDYzLjA3LjEzLjA5OC4xOTJhLjA0Mi4wNDIgMCAwMC4wMzUuMDIzaC4wMTJsLjAyNy4wNGMuMDA4LjAwNy4wMi4wMTUuMDMxLjAxNXptMi45OTYtMy45OGMtLjA5Ny0uMDQtLjE5OS0uMDc1LS4zMDQtLjEwMmEuMDM1LjAzNSAwIDAwLS4wNDcuMDI3Yy0uMDA4LjAyLjAwOC4wNDMuMDI3LjA0Ny4xMDIuMDI4LjIuMDYzLjI5Ny4xMDIuMDA0IDAgLjAwOC4wMDQuMDE2LjAwNC4wMTUgMCAuMDI3LS4wMTIuMDM1LS4wMjhhLjAzOC4wMzggMCAwMC0uMDI0LS4wNXptLTIuMzk0LjI4YS4wNC4wNCAwIDAwLS4wNTUtLjAxYy0uMDkuMDYyLS4xNzIuMTI4LS4yNTQuMTk4LS4wMTUuMDE2LS4wMTUuMDQtLjAwNC4wNTkuMDA4LjAwOC4wMi4wMTIuMDMyLjAxMi4wMDcgMCAuMDItLjAwNC4wMjctLjAxMi4wNzgtLjA2Ny4xNi0uMTMzLjI0Mi0uMTkyYS4wNC4wNCAwIDAwLjAxMi0uMDU0em0tLjk5MiAxLjI5OGguMDExYS4wNDMuMDQzIDAgMDAuMDQtLjAyNCAyLjY2IDIuNjYgMCAwMS4xMi0uMjg5Yy4wMTItLjAyLjAwNC0uMDQzLS4wMTUtLjA1LS4wMi0uMDEyLS4wNDMtLjAwNS0uMDU1LjAxNWEyLjgxIDIuODEgMCAwMC0uMTI1LjI5N2MtLjAwOC4wMi4wMDQuMDQzLjAyNC4wNXptLS4wNjcuMjI2Yy4wMjQuMDA0LjAzNS4wMjguMDMxLjA0Ny0uMDIzLjEwMi0uMDM5LjIwNy0uMDQ2LjMwOS0uMDA0LjAyLS4wMi4wMzUtLjA0LjAzNWgtLjAwM2MtLjAyNCAwLS4wNC0uMDItLjA0LS4wNDNhMi45NiAyLjk2IDAgMDEuMDUxLS4zMTdjLjAwNC0uMDIzLjAyOC0uMDM1LjA0Ny0uMDNcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cIiNjNzhlMzhcIlxuICAgICAgICBkPVwiTTE2LjExNyAxOS40MjJsNC4wMjQgMi4zMjRoLTUuMzY4em0tNC40NDEgNy4zMmwtMi43NzgtNC44MDhoNS41NTV6TTMuMjEgMjEuNzQ2bDQuMDIzLTIuMzI0IDEuMzQ0IDIuMzI0em0zLjkzLTIuNDg0bC00LjAyNCAyLjMyNCAyLjY4NC00LjY0OHptLTQuMTE4LTcuNTA4aDUuNTU1bC0yLjc3NyA0LjgwOXptOC41NTktNC44MzJ2NC42NDhIOC44OTh6bS4xODggNC42NDhWNi45MjJsMi42ODMgNC42NDh6bTguNTU4LjE4NGwtMi43NzcgNC44MDktMi43NzgtNC44MXptLTQuNDA2IDcuNjMzbC0xLjM2MyAyLjM2SDguNzkzbC0xLjM2My0yLjM2em0tOC42NTItLjI3OEw1LjkxIDE2Ljc1bDIuODgzLTQuOTk2aDIuNzIzem00LjU2Ni03LjM1NWgyLjcyM2wyLjg4NiA0Ljk5Ni0xLjM2MyAyLjM2em0tNC4zMTMgNy4yODVsNC4wNTktNy4wMzF2NC42ODd6bTQuMTUzLTIuMThsNC4wNTggMi4zNDRINy42MTd6bS4wOTQtNC44NTFsNC4wNTggNy4wMzEtNC4wNTgtMi4zNDR6bTguNDY0IDkuNTc4bC00LjAyMy0yLjMyNCAxLjM0LTIuMzI1ek0xNy42NiAxNi43NWwyLjk5Mi01LjE4aC01Ljk4NGwtMi45OTItNS4xODMtMi45OTIgNS4xODNoLTUuOThsMi45ODcgNS4xOC0yLjk4OCA1LjE4NGg1Ljk4bDIuOTkzIDUuMTggMi45OTItNS4xOGg1Ljk4NEwxNy42NiAxNi43NVwiXG4gICAgICA+PC9wYXRoPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cIiNjNzhlMzhcIlxuICAgICAgICBkPVwiTTExLjY3NiAxOS4yMDNhMi40NSAyLjQ1IDAgMTEuMDAzLTQuOTAzIDIuNDUgMi40NSAwIDAxLS4wMDMgNC45MDN6bTAtNS4wOWEyLjY0IDIuNjQgMCAwMC0yLjYzNyAyLjYzNyAyLjY0IDIuNjQgMCAwMDIuNjM3IDIuNjM3IDIuNjQgMi42NCAwIDAwMi42MzYtMi42MzcgMi42NCAyLjY0IDAgMDAtMi42MzYtMi42MzdcIlxuICAgICAgPjwvcGF0aD5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNkNDY0YzI5OTE4KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCIjYzc4ZTM4XCJcbiAgICAgICAgICBkPVwiTTE5Ljc2MiA5LjIyM2EuMDQ3LjA0NyAwIDAwLS4wNTEtLjAyOCAzLjk5NSAzLjk5NSAwIDAwLS4zLjExNy4wNDUuMDQ1IDAgMDAtLjAyLjA1NWMuMDA3LjAxMi4wMjMuMDI0LjAzOS4wMjQuMDA0IDAgLjAwOC0uMDA0LjAxNS0uMDA0LjA5NC0uMDQzLjE5Mi0uMDgyLjI5LS4xMTQuMDIzLS4wMDcuMDM1LS4wMjcuMDI3LS4wNXptLjYyLS4xMDZjMC0uMDItLjAxOS0uMDM1LS4wMzgtLjAzNS0uMTEuMDA0LS4yMTUuMDItLjMyLjA0LS4wMjQuMDAzLS4wMzYuMDIzLS4wMzIuMDQ2LjAwNC4wMTYuMDIuMDMxLjA0LjAzMWguMDA3Yy4xMDItLjAyLjIwMy0uMDMxLjMwOS0uMDM5LjAyIDAgLjAzOS0uMDIuMDM1LS4wNDN6bS41OTUuMDg2Yy4wMTUgMCAuMDM1LS4wMTIuMDM5LS4wMzEuMDA0LS4wMjQtLjAxMi0uMDQzLS4wMzYtLjA0N2EyLjgwMiAyLjgwMiAwIDAwLS4zMTYtLjA0M2MtLjAyMyAwLS4wNDMuMDE2LS4wNDMuMDQgMCAuMDE5LjAxNi4wMzguMDM1LjA0Mi4xMDYuMDA4LjIwNy4wMi4zMTMuMDRoLjAwOHptLjU5Ny4yYy4wMTYgMCAuMDMxLS4wMTIuMDM1LS4wMjQuMDEyLS4wMi4wMDQtLjA0Ny0uMDE1LS4wNTVhMi4xNzcgMi4xNzcgMCAwMC0uMzAxLS4xMTdjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNS4wMjMtLjAwOS4wMjQuMDAzLjA0My4wMjcuMDUxLjA5Ny4wMzEuMTk1LjA3LjI4OS4xMTcuMDAzIDAgLjAxMS4wMDQuMDE1LjAwNHptLTMuMTQ0Ljc2NWEuMDU2LjA1NiAwIDAwLjAyMy4wMDguMDM2LjAzNiAwIDAwLjAzMS0uMDE2IDIuMzQgMi4zNCAwIDAxLjIwMy0uMjM4Yy4wMTYtLjAxNi4wMTYtLjA0LS4wMDMtLjA1NWEuMDM4LjAzOCAwIDAwLS4wNTUgMGMtLjA3NC4wNzgtLjE0NS4xNi0uMjA3LjI0Ni0uMDE2LjAxNi0uMDEyLjA0My4wMDguMDU1em0tLjMwNS41NTVsLjAxNi4wMDRhLjAzOC4wMzggMCAwMC4wMzUtLjAyOGMuMDM5LS4wOTQuMDg2LS4xODcuMTM3LS4yNzdhLjA0Mi4wNDIgMCAwMC0uMDEyLS4wNTVjLS4wMi0uMDEyLS4wNDctLjAwNC0uMDU1LjAxNi0uMDU1LjA5LS4xMDEuMTg3LS4xNDQuMjg1YS4wNDQuMDQ0IDAgMDAuMDIzLjA1NXptLjA4NiAyLjA3Yy0uMDIuMDEyLS4wMjcuMDM1LS4wMTYuMDU1LjAxNi4wMzUuMDM1LjA3LjA1NS4xMDUuMDA4LjAwOC4wMTIuMDIuMDE2LjAyN2EyLjMzOCAyLjMzOCAwIDAxLjE0LjI5Yy4wMDQuMDE1LjAyLjAyMy4wMzUuMDIzLjAwOCAwIC4wMTIgMCAuMDE2LS4wMDQuMDItLjAwOC4wMzEtLjAzMS4wMjMtLjA1LS4wMTUtLjA0LS4wMzUtLjA3OS0uMDU0LS4xMTguMDA4LS4wMTYuMDA4LS4wMzEgMC0uMDQzLS4wNC0uMDUtLjA3NC0uMTEtLjEwNi0uMTY0LS4wMi0uMDM1LS4wMzktLjA2Ni0uMDU0LS4xMDEtLjAxMi0uMDItLjAzNi0uMDI4LS4wNTUtLjAyem0tLjI0Ni0xLjQ2MWguMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMS4wMTUtLjEwNi4wMzUtLjIwNy4wNjItLjMwNS4wMDgtLjAyMy0uMDA0LS4wNDMtLjAyNy0uMDUtLjAyLS4wMDUtLjA0My4wMDctLjA0Ny4wMjctLjAzMS4xMDUtLjA1LjIxLS4wNjYuMzE2LS4wMDQuMDIuMDExLjA0My4wMy4wNDN6bS0uMDA4LjYzM2guMDA0YS4wNDUuMDQ1IDAgMDAuMDM5LS4wNDMgMS45MDMgMS45MDMgMCAwMS0uMDE2LS4yNTh2LS4wNTVjMC0uMDIzLS4wMTUtLjAzOS0uMDM5LS4wMzktLjAyMyAwLS4wMzkuMDE2LS4wMzkuMDR2LjA1NGMwIC4wOS4wMDQuMTguMDEyLjI2Ni4wMDQuMDIuMDIuMDM1LjAzOS4wMzV6bS42NiAxLjM2Yy0uMDE1LS4wMTYtLjAzOS0uMDItLjA1OC0uMDA1LS4wMTYuMDE2LS4wMTYuMDQtLjAwNC4wNTkuMDc0LjA3OC4xNDguMTU2LjIzLjIyNi4wMDguMDA0LjAxNi4wMDguMDI0LjAwOGEuMDQ0LjA0NCAwIDAwLjAzLS4wMTFjLjAxNi0uMDIuMDEzLS4wNDMtLjAwMy0uMDU5YTEuOTI4IDEuOTI4IDAgMDEtLjIxOS0uMjE5em0uNDEuNDIxYS4wNC4wNCAwIDAwLjAxMi4wNTVjLjA4Ni4wNTguMTguMTEzLjI3Ny4xNjQuMDA0LjAwNC4wMTIuMDA0LjAxNi4wMDQuMDE2IDAgLjAzMS0uMDA4LjAzNS0uMDI0LjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDVhMi4zMzIgMi4zMzIgMCAwMS0uMjctLjE2LjA0LjA0IDAgMDAtLjA1NS4wMTF6bS4xNDUtNC4yMTVjLjAxNS0uMDA4LjAyMy0uMDM1LjAxMi0uMDU0YS4wNDIuMDQyIDAgMDAtLjA1NS0uMDEyYy0uMDkuMDU4LS4xOC4xMi0uMjYyLjE4Ny0uMDIuMDEyLS4wMi4wNC0uMDA4LjA1NS4wMDguMDEyLjAyLjAxNi4wMzIuMDE2LjAwNyAwIC4wMi0uMDA0LjAyNy0uMDA4LjA3OC0uMDY3LjE2NC0uMTMuMjU0LS4xODR6bTMuOCAyLjY5MmMtLjAyMy0uMDA0LS4wNDIuMDA3LS4wNS4wM2EyLjYgMi42IDAgMDEtLjA5LjI5OGMtLjAwOC4wMiAwIC4wNDMuMDIzLjA1LjAwNC4wMDQuMDA4LjAwNC4wMTIuMDA0LjAxNiAwIC4wMzEtLjAxMS4wNC0uMDI3LjAzNC0uMDk4LjA3LS4yMDMuMDkzLS4zMDVhLjA0NS4wNDUgMCAwMC0uMDI3LS4wNXptMC0uODk5YzAgLjAyLjAyLjAzNS4wNC4wMzVoLjAwNGMuMDIzLS4wMDQuMDM5LS4wMjMuMDM1LS4wNDNhMi42NjcgMi42NjcgMCAwMC0uMDYzLS4zMTZjLS4wMDgtLjAyMy0uMDI3LS4wMzUtLjA1LS4wMjctLjAyLjAwNC0uMDMyLjAyNy0uMDI4LjA0Ny4wMjcuMTAxLjA0Ny4yMDMuMDYzLjMwNHptLTEuMDQyIDIuNDM0Yy0uMDEyLS4wMTYtLjAzNS0uMDItLjA1NS0uMDA4bC0uMTMzLjA4MmMtLjA5LjA1LS4xODMuMDk4LS4yODEuMTM3LS4wMi4wMDgtLjAyNy4wMzEtLjAyLjA1NC4wMDguMDEyLjAyLjAyNC4wMzYuMDI0LjAwNyAwIC4wMTEgMCAuMDE1LS4wMDQuMTAyLS4wNDMuMTk1LS4wOS4yOS0uMTQ1LjA0Ni0uMDI3LjA5My0uMDU0LjEzNi0uMDgyLjAyLS4wMTEuMDIzLS4wMzkuMDEyLS4wNTh6bS0yLjM0NC4yODFjLS4wMDguMDI0LjAwNC4wNDcuMDIzLjA1LjEwMi4wNC4yMDMuMDcxLjMwOS4wOTVoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMzJhLjAzNi4wMzYgMCAwMC0uMDI3LS4wNDcgMi42NjMgMi42NjMgMCAwMS0uMzAxLS4wOWMtLjAyLS4wMDctLjA0My4wMDUtLjA1MS4wMjR6bTMuMjI3LTMuMzE2Yy4wMDMuMDE1LjAxOS4wMjcuMDM1LjAyNy4wMDcgMCAuMDExIDAgLjAxNS0uMDA0LjAyLS4wMDguMDMyLS4wMzEuMDI0LS4wNWEyLjE4OSAyLjE4OSAwIDAwLS4xNC0uMjljLS4wMDktLjAyLS4wMzYtLjAyNy0uMDU2LS4wMTUtLjAyLjAwNy0uMDIzLjAzNS0uMDE1LjA1NC4wNS4wOS4wOTcuMTg0LjEzNy4yNzh6bS4yMjIuODdjLS4wMjMuMDA1LS4wNDMuMDItLjA0My4wNDRsLjAwNC4wMjNjMCAuMDk0LS4wMDguMTkyLS4wMi4yODUgMCAuMDI0LjAxNi4wNDMuMDM2LjA0N2guMDA0Yy4wMjMgMCAuMDM5LS4wMTUuMDQzLS4wMzUuMDA3LS4wOTguMDE1LS4yLjAxNS0uMjk3di0uMDIzYzAtLjAyNC0uMDItLjA0My0uMDM5LS4wNDN6bS0xLjIwMy0yLjA0NmMuMDg2LjA1NS4xNzIuMTE3LjI1LjE4My4wMDguMDA0LjAxNi4wMDguMDI3LjAwOGEuMDM2LjAzNiAwIDAwLjAzMi0uMDE1Yy4wMTEtLjAxNi4wMTEtLjA0My0uMDA4LS4wNTVhMS45NjkgMS45NjkgMCAwMC0uMjU4LS4xODhjLS4wMi0uMDExLS4wNDMtLjAwNy0uMDU5LjAxMi0uMDExLjAyLS4wMDMuMDQzLjAxNi4wNTV6bS0xIDQuNjM3Yy4wMDQuMDIuMDIuMDM1LjA0LjAzNWguMDAzYy4xMDUtLjAxNi4yMTUtLjA0LjMxNi0uMDcuMDItLjAwNC4wMzItLjAyOC4wMjgtLjA0Ny0uMDA4LS4wMjQtLjAyOC0uMDM2LS4wNTEtLjAyOC0uMDk4LjAyOC0uMi4wNTEtLjMwNS4wNjNhLjA0My4wNDMgMCAwMC0uMDMxLjA0N3ptLS42MzMuMDA3Yy0uMDA0LjAyLjAxNi4wNC4wMzUuMDQzLjA4Ni4wMDguMTcyLjAxMi4yNTguMDEyaC4wNjNjLjAyMyAwIC4wNDMtLjAyLjAzOS0uMDQzYS4wNC4wNCAwIDAwLS4wNC0uMDM5IDIuMDkgMi4wOSAwIDAxLS4zMTItLjAxMmMtLjAyIDAtLjAzOS4wMTYtLjA0My4wNHptMS45MTgtLjU3NGMuMDA4LjAwOC4wMi4wMTYuMDMxLjAxNi4wMDggMCAuMDItLjAwNC4wMjgtLjAxMmE0LjExIDQuMTEgMCAwMC4yMy0uMjIzLjA0Ny4wNDcgMCAwMC0uMDA0LS4wNThjLS4wMTUtLjAxNi0uMDQzLS4wMTItLjA1NC4wMDQtLjA3LjA3OC0uMTQ1LjE0OC0uMjI3LjIxOS0uMDE2LjAxMS0uMDE2LjAzOS0uMDA0LjA1NHptLjM5LTMuNDM3Yy4wMDkuMDExLjAyNC4wMi4wMzYuMDIuMDA4IDAgLjAxNi0uMDA1LjAyMy0uMDA5YS4wNDcuMDQ3IDAgMDAuMDA4LS4wNTggMi40NjYgMi40NjYgMCAwMC0uMjA3LS4yNDYuMDM4LjAzOCAwIDAwLS4wNTUgMCAuMDQyLjA0MiAwIDAwLS4wMDMuMDU0Yy4wNzQuMDc1LjE0LjE1Ny4xOTkuMjM5em0uMTk2IDIuNjU2Yy0uMDUuMDktLjEwNS4xOC0uMTY0LjI2NmEuMDQuMDQgMCAwMC4wMTIuMDU0Yy4wMDguMDA0LjAxNS4wMDguMDIzLjAwOC4wMTIgMCAuMDI0LS4wMDguMDMxLS4wMi4wNjMtLjA4NS4xMTgtLjE4LjE2OC0uMjczLjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU1LS4wMi0uMDA3LS4wNDcgMC0uMDU1LjAyem0tOC45ODQuNDNjLjAwNC4wMDQuMDA4LjAwNC4wMTUuMDA0LjAxNiAwIC4wMzItLjAwOC4wMzYtLjAyNC4wMzktLjA5NC4wODItLjE4LjEyOC0uMjY2LjAxNi0uMDI3LjAzNi0uMDU0LjA0Ny0uMDg1LjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU1LS4wMi0uMDA4LS4wNDMgMC0uMDUxLjAybC0uMDM1LjA1OGMtLjAwNC4wMDQtLjAwNC4wMDQtLjAwNC4wMDhsLS4wMTIuMDE1YTEuNzcgMS43NyAwIDAxLS4xMTcuMTguMDQuMDQgMCAwMC4wMDQuMDVsLS4wMi4wNDRjLS4wMDguMDIuMDA0LjA0My4wMjQuMDV6bS4yODkgMi40MTRhLjA0LjA0IDAgMDAuMDEyLS4wNTUgMS41MSAxLjUxIDAgMDEtLjEwNi0uMTY4Ljg0Ljg0IDAgMDEtLjA1NS0uMTAyYy0uMDExLS4wMi0uMDM1LS4wMjctLjA1NC0uMDE1LS4wMi4wMDgtLjAyOC4wMzEtLjAxNi4wNWEuODk1Ljg5NSAwIDAwLjA1NS4xMDZjLjAzNS4wNTkuMDcuMTE3LjExLjE3Mi4wMDcuMDEyLjAxOS4wMi4wMy4wMi4wMDggMCAuMDE2LS4wMDQuMDI0LS4wMDh6bS0uNDUtMS44MDFoLjAwOGMuMDIgMCAuMDM2LS4wMTYuMDQtLjAzNS4wMTUtLjEwMi4wMzUtLjIwMy4wNjItLjMwNS4wMDgtLjAyLS4wMDQtLjA0My0uMDI3LS4wNS0uMDItLjAwNS0uMDQzLjAwNy0uMDQ3LjAzLS4wMzEuMTAyLS4wNTEuMjA4LS4wNjcuMzEzYS4wNC4wNCAwIDAwLjAzMi4wNDd6bS42NTMgMS45ODhhLjA0Ny4wNDcgMCAwMC0uMDU5LS4wMDQuMDQ3LjA0NyAwIDAwLS4wMDQuMDU5Yy4wNy4wNzguMTQ5LjE1Ni4yMy4yMjYuMDA5LjAwOC4wMTcuMDA4LjAyNC4wMDhhLjA0NC4wNDQgMCAwMC4wMzItLjAxMWMuMDE1LS4wMTYuMDExLS4wNDMtLjAwNC0uMDU1YTIuMzUgMi4zNSAwIDAxLS4yMi0uMjIzem0tLjcxMS0xLjcxNXYuMDU1YzAgLjA5LjAwNC4xOC4wMTIuMjY2LjAwNC4wMi4wMi4wMzUuMDM5LjAzNWguMDA0Yy4wMjMgMCAuMDM5LS4wMi4wMzUtLjA0M2EyLjg0NiAyLjg0NiAwIDAxLS4wMTItLjI1OHYtLjA1NWEuMDQuMDQgMCAwMC0uMDM5LS4wMzljLS4wMjMgMC0uMDM5LjAxNi0uMDM5LjA0em0zLjY2OC0yLjIwN2MuMDE2IDAgLjAzMS0uMDA4LjAzNS0uMDIzLjAxMi0uMDIuMDA0LS4wNDMtLjAyLS4wNTVhMy4zNTIgMy4zNTIgMCAwMC0uMjk2LS4xMTdjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNTEuMDI3YS4wMzUuMDM1IDAgMDAuMDI3LjA0N2MuMDk4LjAzNS4xOTYuMDc0LjI5LjExNy4wMDMuMDA0LjAxMS4wMDQuMDE1LjAwNHptLjM1NSA0LjM2YS4wNC4wNCAwIDAwLS4wNTQtLjAxMmwtLjEzMy4wODJjLS4wOS4wNS0uMTg0LjA5OC0uMjgxLjE0LS4wMi4wMDgtLjAyOC4wMzItLjAyLjA1MS4wMDguMDE2LjAyLjAyNC4wMzUuMDI0LjAwOCAwIC4wMTIgMCAuMDE2LS4wMDQuMDk4LS4wNC4xOTUtLjA5LjI4OS0uMTQuMDQ3LS4wMjguMDk0LS4wNi4xMzctLjA4N2EuMDQuMDQgMCAwMC4wMTEtLjA1NHptLTIuNzU3LTQuMjI3YS4wNDIuMDQyIDAgMDAuMDExLS4wNTVjLS4wMTEtLjAyLS4wMzUtLjAyNy0uMDU0LS4wMTUtLjA5NC4wNTgtLjE4LjEyLS4yNjIuMTg3LS4wMi4wMTItLjAyLjA0LS4wMDguMDU1LjAwOC4wMTIuMDIuMDE2LjAzMS4wMTYuMDA4IDAgLjAyLS4wMDQuMDI0LS4wMDhhMi4zNCAyLjM0IDAgMDEuMjU4LS4xOHptLTEuMTcyIDIuNjY0Yy0uMDIuMDA0LS4wMzUuMDI4LS4wMjguMDQ3LjAyNC4xMDYuMDU1LjIxMS4wOS4zMDkuMDA4LjAxNS4wMjQuMDI3LjA0LjAyNy4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0LjAyMy0uMDA4LjAzMS0uMDMxLjAyMy0uMDVhMi41ODIgMi41ODIgMCAwMS0uMDg1LS4yOThjLS4wMDgtLjAyMy0uMDI4LS4wMzUtLjA1MS0uMDN6bTEuNzYxLTIuOTc2Yy0uMDA3LS4wMi0uMDMtLjAzMi0uMDUtLjAyNC0uMTAyLjAzMS0uMjAzLjA3LS4zMDEuMTEzLS4wMi4wMTItLjAyNy4wMzYtLjAyLjA1NWEuMDQzLjA0MyAwIDAwLjA0LjAyNGMuMDAzIDAgLjAwNyAwIC4wMTUtLjAwNC4wOTQtLjA0My4xOTEtLjA4Mi4yOS0uMTE0LjAyMy0uMDA0LjAzLS4wMjcuMDI2LS4wNXptLjczIDUuMDIzaC4wNjNhLjA0LjA0IDAgMDAwLS4wNzhIMTYuMDU1Yy0uMDc1IDAtLjE0NS0uMDA0LS4yMi0uMDEyLS4wMTktLjAwNC0uMDM0LjAwOC0uMDQyLjAyOC0uMDE2IDAtLjAyNy4wMDMtLjA0My4wMDMtLjAyMy4wMDQtLjA0LjAyNC0uMDM1LjA0Ny4wMDQuMDIuMDIuMDM1LjAzOS4wMzVoLjAwNGMuMDk3LS4wMTUuMTk1LS4wMTkuMjkzLS4wMjNoLjAzNXptLS4xMDgtNS4xMjVhLjA0LjA0IDAgMDAtLjA0LS4wMzkgMi44NyAyLjg3IDAgMDAtLjMyLjA0Yy0uMDIzLjAwMy0uMDM1LjAyMy0uMDMxLjA0Ni4wMDQuMDIuMDIuMDMxLjAzOS4wMzFoLjAwNGMuMTA1LS4wMi4yMDctLjAzMS4zMTItLjAzNS4wMi0uMDA0LjA0LS4wMjMuMDM2LS4wNDN6bS41OS4wODZjLjAxOSAwIC4wMzUtLjAxNi4wMzgtLjAzNS4wMDgtLjAyLS4wMDctLjA0My0uMDMtLjA0N2EyLjkxNSAyLjkxNSAwIDAwLS4zMTctLjA0LjAzNy4wMzcgMCAwMC0uMDQzLjAzNmMwIC4wMjQuMDE1LjA0My4wMzUuMDQzYTIuNjY0IDIuNjY0IDAgMDEuMzE2LjA0M3ptMi4wMTUgMS43OTNjLS4wMDgtLjAyLS4wMjctLjAzNS0uMDUtLjAyNy0uMDIuMDA0LS4wMzIuMDI3LS4wMjguMDQ2LjAyNy4xMDIuMDQ3LjIwNC4wNjIuMzEgMCAuMDE5LjAyLjAzLjA0LjAzaC4wMDNjLjAyNCAwIC4wNC0uMDIzLjAzNi0uMDQzYTMuMDE4IDMuMDE4IDAgMDAtLjA2My0uMzE2em0uMDg2LjYzN2EuMDQuMDQgMCAwMC0uMDQtLjA0Yy0uMDIzIDAtLjA0Mi4wMTYtLjA0Mi4wNHYuMDIzYzAgLjA5OC0uMDA0LjE5Mi0uMDE2LjI5IDAgLjAxOS4wMTYuMDM4LjAzNS4wNDJoLjAwNGMuMDIgMCAuMDQtLjAxNS4wNC0uMDM1LjAxMS0uMDk4LjAxOS0uMi4wMTktLjI5N3ptLTQuMDQ3IDIuMTFjLS4wMTIuMDE5LS4wMDguMDQyLjAxMi4wNTQuMDg2LjA2Mi4xOC4xMTcuMjc3LjE2NC4wMDQuMDA0LjAxMi4wMDQuMDE2LjAwNGEuMDQxLjA0MSAwIDAwLjAzNS0uMDJjLjAxMi0uMDIuMDA0LS4wNDctLjAxNi0uMDU1YTIuMzMyIDIuMzMyIDAgMDEtLjI3LS4xNmMtLjAxOS0uMDExLS4wNDItLjAwNy0uMDU0LjAxMnptMy45NDEtMS41MmMtLjAxOS0uMDA4LS4wMzkuMDA3LS4wNDYuMDI3YTIuMzgxIDIuMzgxIDAgMDEtLjA5LjI5N2MtLjAwOC4wMjMgMCAuMDQ3LjAyMy4wNTRoLjAxMmEuMDQzLjA0MyAwIDAwLjAzOS0uMDIzIDIuODEgMi44MSAwIDAwLjA5NC0uMzA5Yy4wMDQtLjAyLS4wMDgtLjA0My0uMDMyLS4wNDZ6bS0uODUxIDEuMzljLjAwOC4wMTIuMDIuMDE2LjAzMS4wMTYuMDA4IDAgLjAyLS4wMDQuMDI4LS4wMTIuMDc4LS4wNjYuMTU2LS4xNDQuMjMtLjIyMy4wMTItLjAxNS4wMTItLjA0My0uMDA0LS4wNTRhLjA0Mi4wNDIgMCAwMC0uMDU4IDAgMS45NjMgMS45NjMgMCAwMS0uMjIzLjIxOC4wNDIuMDQyIDAgMDAtLjAwNC4wNTV6bS0uMjg1LTQuMDdjLjA4Ni4wNTUuMTcyLjExNy4yNS4xODMuMDA4LjAwOC4wMTUuMDA4LjAyNy4wMDhhLjA0NC4wNDQgMCAwMC4wMzEtLjAxMWMuMDEyLS4wMi4wMTItLjA0My0uMDA3LS4wNmEzLjEwNiAzLjEwNiAwIDAwLS4yNTgtLjE4N2MtLjAyLS4wMTEtLjA0Ny0uMDA3LS4wNTkuMDEyLS4wMTIuMDItLjAwNC4wNDMuMDE2LjA1NXptLTMuMjAzLjMybC0uMTE4LjEzYy4wMzItLjA4LjA1NS0uMTYxLjA3NS0uMjQzYS4wMzUuMDM1IDAgMDAtLjAyOC0uMDQ3Yy0uMDItLjAwNC0uMDQzLjAwOC0uMDQ3LjAyN2EyLjQwMSAyLjQwMSAwIDAxLS4wOTcuMjk3LjA0LjA0IDAgMDAuMDIzLjA1MWMwIC4wMDQuMDA0LjAwNC4wMDQuMDA0YS4xMTkuMTE5IDAgMDAtLjAyLjAyN2MtLjAxNS4wMi0uMDExLjA0My4wMDguMDU1LjAwNC4wMDguMDE2LjAwOC4wMjQuMDA4YS4wMzYuMDM2IDAgMDAuMDMxLS4wMTZjLjA2My0uMDgyLjEyOS0uMTYuMjAzLS4yMzQuMDE2LS4wMTYuMDEyLS4wNDMtLjAwNC0uMDU5YS4wMzguMDM4IDAgMDAtLjA1NCAwem0uOTU3IDQuMTc2Yy0uMDA4LjAyLjAwNC4wNDMuMDIzLjA1LjEwMi4wMzYuMjAzLjA2Ny4zMDkuMDloLjAwOGMuMDIgMCAuMDM1LS4wMTEuMDM5LS4wMy4wMDQtLjAyLS4wMDgtLjA0NC0uMDMyLS4wNDhhMi44MyAyLjgzIDAgMDEtLjI5Ny0uMDg1LjAzOC4wMzggMCAwMC0uMDUuMDIzem0zLjE3Mi0xLjIyM2MtLjAyLS4wMTEtLjA0Ny0uMDA0LS4wNTUuMDE2LS4wNS4wOS0uMTA2LjE4LS4xNjQuMjY2LS4wMTIuMDItLjAwOC4wNDMuMDEyLjA1NC4wMDMuMDA4LjAxMS4wMDguMDIzLjAwOGEuMDM2LjAzNiAwIDAwLjAzMS0uMDE2Yy4wNjMtLjA5LjExNy0uMTguMTY4LS4yNzMuMDA4LS4wMi4wMDQtLjA0Ny0uMDE1LS4wNTV6bS0uMjUtMi42MzZhLjA1LjA1IDAgMDAuMDM1LjAxNWMuMDA4IDAgLjAxNS0uMDA0LjAyMy0uMDA4YS4wNDIuMDQyIDAgMDAuMDA4LS4wNTRsLS4wNzgtLjEwMmMuMDA0IDAgLjAwOC4wMDQuMDEyLjAwNC4wMDMgMCAuMDA3LS4wMDQuMDE1LS4wMDQuMDItLjAwOC4wMjgtLjAzMS4wMjQtLjA1LS4wNC0uMDk4LS4wNjctLjItLjA5LS4zMDFhLjA0NS4wNDUgMCAwMC0uMDUxLS4wMjhjLS4wMi4wMDQtLjAzNS4wMjgtLjAyNy4wNDcuMDIzLjEwMi4wNS4yLjA4Ni4yOTdhMS4zNTQgMS4zNTQgMCAwMC0uMDk4LS4xMTMuMDM4LjAzOCAwIDAwLS4wNTUgMGMtLjAxNS4wMTUtLjAyLjAzOS0uMDA0LjA1NC4wNy4wNzkuMTQxLjE1Ny4yLjI0M3ptLS4xNTMgOS4yODVhLjA0NS4wNDUgMCAwMC4wNC0uMDQzYy0uMDA1LS4wNDMtLjAwNS0uMDktLjAwNS0uMTMzIDAtLjA1OS4wMDQtLjEyMS4wMDgtLjE4IDAtLjAyLS4wMTUtLjAzOS0uMDM5LS4wNDMtLjAyIDAtLjAzOS4wMTYtLjA0My4wNC0uMDA0LjA1OC0uMDA0LjEyLS4wMDQuMTgzIDAgLjA0NyAwIC4wOS4wMDQuMTM3IDAgLjAyLjAxNi4wMzkuMDQuMDM5em0xLjk0Mi0yLjY0NWEuMDQ2LjA0NiAwIDAwLS4wNTEtLjAzMSAyLjc4NiAyLjc4NiAwIDAwLS4zMDUuMTAyYy0uMDIuMDA3LS4wMzEuMDMtLjAyMy4wNS4wMDguMDE2LjAyMy4wMjguMDM5LjAyOC4wMDQgMCAuMDA4LS4wMDQuMDEyLS4wMDQuMDk3LS4wNC4xOTktLjA3LjI5Ni0uMDk4LjAyNC0uMDA0LjAzNi0uMDI3LjAzMi0uMDQ3em0uNjI1LS4wNzRhLjA0LjA0IDAgMDAtLjA0LS4wNCAyLjIxIDIuMjEgMCAwMC0uMzIuMDI0Yy0uMDIzIDAtLjAzOS4wMjQtLjAzNS4wNDMuMDA0LjAyLjAyLjAzNS4wNC4wMzVoLjAwM2MuMTA2LS4wMTUuMjExLS4wMi4zMTMtLjAyMy4wMjMgMCAuMDM5LS4wMTYuMDM5LS4wMzl6bS0uNTU1IDQuOTkyYTIuMDE1IDIuMDE1IDAgMDEtLjMtLjA4MmMtLjAyLS4wMDgtLjA0NC4wMDQtLjA1Mi4wMjQtLjAwNy4wMi4wMDQuMDQzLjAyOC4wNS4wOTcuMDM1LjIwMy4wNjcuMzA4LjA4NiAwIC4wMDQuMDA0LjAwNC4wMDguMDA0LjAyIDAgLjAzNS0uMDE1LjA0LS4wMzEuMDAzLS4wMjMtLjAwOS0uMDQzLS4wMzItLjA1em0tLjU4Ni0uMjAzYTEuNTI0IDEuNTI0IDAgMDEtLjEzNy0uMDc0Yy0uMDktLjA1MS0uMTgtLjExLS4yNjEtLjE3Mi0uMDE2LS4wMTYtLjA0My0uMDEyLS4wNTUuMDA4LS4wMTIuMDE1LS4wMTIuMDQzLjAwOC4wNTRhMi40ODYgMi40ODYgMCAwMC40MS4yNTRjLjAwNC4wMDQuMDEyLjAwNC4wMTUuMDA0YS4wNDMuMDQzIDAgMDAuMDQtLjAyM2MuMDA3LS4wMiAwLS4wNDMtLjAyLS4wNTF6bS0uNjUyLTQuMTMzYy0uMDc1LjA3LS4xNDUuMTQ1LS4yMTEuMjIzYS44MDYuODA2IDAgMDAuMDQ3LS4xMzdjLjAwNy0uMDIzLS4wMDQtLjA0My0uMDI4LS4wNWEuMDM1LjAzNSAwIDAwLS4wNDcuMDI3IDIuOTcxIDIuOTcxIDAgMDEtLjEwOS4yOTNjLS4wMDguMDIgMCAuMDQzLjAyLjA1YS4wMy4wMyAwIDAwLjAxNS4wMDQuMDQzLjA0MyAwIDAwLjA0LS4wMjNsLjA0Ni0uMTE3YzAgLjAwOC4wMDguMDE1LjAxMi4wMjMuMDA4LjAwNC4wMi4wMDguMDI3LjAwOGEuMDM2LjAzNiAwIDAwLjAzMS0uMDE2Yy4wNjctLjA3OC4xMzctLjE1Ni4yMTEtLjIyNi4wMi0uMDE2LjAyLS4wNC4wMDQtLjA1NS0uMDE1LS4wMTUtLjAzOS0uMDItLjA1OC0uMDA0em0tLjUxNiAyLjkyMmMtLjAwOC0uMDItLjAzMS0uMDI3LS4wNS0uMDJhLjAzOS4wMzkgMCAwMC0uMDIuMDU1Yy4wNDMuMDk0LjA5My4xOTIuMTQ4LjI4Mi4wMDguMDExLjAyLjAxOS4wMzUuMDE5LjAwOCAwIC4wMTIgMCAuMDItLjAwNGEuMDQuMDQgMCAwMC4wMTItLjA1NSAzLjczNSAzLjczNSAwIDAxLS4xNDUtLjI3N3ptLS4xODQtLjU5NGMtLjAwMy0uMDIzLS4wMjMtLjAzNS0uMDQ2LS4wM2EuMDQuMDQgMCAwMC0uMDMyLjA0NmMuMDIuMTA1LjA0My4yMDcuMDc1LjMxMi4wMDcuMDE2LjAyMy4wMjguMDM5LjAyOC4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0YS4wMzUuMDM1IDAgMDAuMDI4LS4wNDcgMi44ODEgMi44ODEgMCAwMS0uMDc1LS4zMDV6bS4zNDgtMS44NDdhLjA0NC4wNDQgMCAwMC0uMDU4LjAxNWMtLjAyLjAzMi0uMDQuMDY3LS4wNjMuMTAybC0uMDEyLjAyN2MtLjAwNCAwLS4wMDQuMDA0LS4wMDguMDA0LS4wNS4wOS0uMTA5LjE3Ni0uMTc1LjI1OGEuMDQ3LjA0NyAwIDAwLjAwOC4wNTkuMDU2LjA1NiAwIDAwLjAyMy4wMDdjLjAxMiAwIC4wMjMtLjAwNy4wMzEtLjAxNS4wMjgtLjAzNS4wNTUtLjA3LjA3OC0uMTA2LjAxNiAwIC4wMjgtLjAwOC4wMzUtLjAyMy4wMjgtLjA1OS4wNi0uMTEzLjA5LS4xNzIuMDItLjAzMS4wNC0uMDY2LjA2My0uMDk4LjAxMi0uMDIuMDA0LS4wNDMtLjAxMi0uMDU4em0uMTYgMi45NzJjLS4wMTEtLjAyLS4wMzktLjAyLS4wNTQtLjAwNy0uMDIuMDE1LS4wMi4wMzktLjAwOC4wNTguMDY2LjA4Mi4xNC4xNi4yMTguMjM4LjAwOC4wMDQuMDE2LjAwOC4wMjguMDA4LjAwOCAwIC4wMi0uMDA0LjAyNy0uMDEyYS4wMzguMDM4IDAgMDAwLS4wNTQgMi45NSAyLjk1IDAgMDEtLjIxLS4yM3ptLS40NDUtMi40MDZhLjAzNS4wMzUgMCAwMC0uMDQ3LjAyNyAyLjc3NSAyLjc3NSAwIDAwLS4wODYuMzA5LjA0LjA0IDAgMDAuMDMxLjA0N2guMDA4Yy4wMiAwIC4wMzUtLjAxMi4wNC0uMDMxLjAyMy0uMTAyLjA1LS4yMDMuMDgxLS4zMDEuMDA4LS4wMi0uMDA0LS4wNDMtLjAyNy0uMDV6bTQuNTMxLS41MTZjLjAwOCAwIC4wMTYgMCAuMDI0LS4wMDMuMDE1LS4wMTIuMDIzLS4wNC4wMTEtLjA1NWEyLjQ4MyAyLjQ4MyAwIDAwLS4xOTUtLjI1OGMtLjAxMi0uMDE2LS4wMzktLjAyLS4wNTUtLjAwNC0uMDE1LjAxMi0uMDIuMDQtLjAwNC4wNTUuMDY3LjA3OC4xMy4xNjQuMTg0LjI1LjAwOC4wMTIuMDIzLjAxNS4wMzUuMDE1em0tLjQxLS40OGEuMDQ0LjA0NCAwIDAwLjAzMS0uMDEyYy4wMTYtLjAxNS4wMTItLjA0My0uMDA0LS4wNTRhMi40NyAyLjQ3IDAgMDAtLjI1LS4yMDRjLS4wMi0uMDExLS4wNDMtLjAwNy0uMDU0LjAwOGEuMDQ3LjA0NyAwIDAwLjAwOC4wNTljLjA4NS4wNTguMTY3LjEyNS4yNDIuMTk1LjAwOC4wMDQuMDIuMDA4LjAyNy4wMDh6bS4wNSAzLjYxM2EyLjMzOCAyLjMzOCAwIDAxLS4yMzQuMjA3Yy0uMDIuMDEyLS4wMjMuMDQtLjAwNy4wNTUuMDA3LjAxMi4wMi4wMTYuMDMuMDE2YS4wNTYuMDU2IDAgMDAuMDI0LS4wMDhjLjA4Ni0uMDY3LjE2OC0uMTM3LjI0Mi0uMjExYS4wNDIuMDQyIDAgMDAwLS4wNTkuMDM4LjAzOCAwIDAwLS4wNTQgMHptLjc3OC0xLjcxYy0uMDIzIDAtLjA0My4wMTktLjA0My4wMzhhMi44MjIgMi44MjIgMCAwMS0uMDMxLjMxM2MtLjAwNC4wMi4wMTIuMDM5LjAzMS4wNDNIMjNjLjAyIDAgLjAzNS0uMDEyLjA0LS4wMzEuMDE1LS4xMDYuMDI2LS4yMTUuMDMtLjMyLjAwNC0uMDI0LS4wMTUtLjA0LS4wMzUtLjA0NHptLS4wOTguNjI0Yy0uMDE5LS4wMDQtLjA0Mi4wMDgtLjA0Ni4wMjhhMi4zOCAyLjM4IDAgMDEtLjExLjI5M2MtLjAwOC4wMiAwIC4wNDMuMDIuMDVhLjAzLjAzIDAgMDAuMDE1LjAwNC4wNDMuMDQzIDAgMDAuMDQtLjAyM2MuMDQyLS4wOTguMDc4LS4yLjEwOS0uMy4wMDgtLjAyLS4wMDQtLjA0NC0uMDI3LS4wNTJ6bS0uMjQyLjU4MmEuMDQ0LjA0NCAwIDAwLS4wNTguMDE2Yy0uMDUxLjA5LS4xMS4xNzYtLjE3Ni4yNTgtLjAxMi4wMTUtLjAwOC4wMzkuMDA4LjA1NWEuMDU2LjA1NiAwIDAwLjAyMy4wMDdjLjAxNiAwIC4wMjgtLjAwNC4wMzUtLjAxNS4wNjMtLjA4Mi4xMjUtLjE3Mi4xOC0uMjY2YS4wNDIuMDQyIDAgMDAtLjAxMi0uMDU1em0uMi0yLjA1OGMuMDAzIDAgLjAwNyAwIC4wMTEtLjAwNC4wMjQtLjAwOC4wMzUtLjAzMS4wMjgtLjA1YTIuODEgMi44MSAwIDAwLS4xMjUtLjI5OGMtLjAwOC0uMDItLjAzMi0uMDI3LS4wNTEtLjAyLS4wMjQuMDEyLS4wMzEuMDM2LS4wMi4wNTUuMDQ3LjA5NC4wODYuMTkyLjExNy4yOS4wMDguMDE1LjAyNC4wMjcuMDQuMDI3em0uMDkuNTgyYy4wMDMuMDIuMDE5LjAzNS4wMzguMDM1aC4wMDRhLjA0NS4wNDUgMCAwMC4wNC0uMDQzIDQuNTIgNC41MiAwIDAwLS4wNDctLjMyYy0uMDA4LS4wMi0uMDI4LS4wMzUtLjA0Ny0uMDI4LS4wMjQuMDA0LS4wMzUuMDI0LS4wMzIuMDQ3LjAyLjEwMi4wMzYuMjAzLjA0My4zMDl6bS0xLjc5IDIuNjFjLS4xMDEuMDI3LS4yMDMuMDUtLjMwNC4wNy0uMDI0IDAtLjAzNi4wMjMtLjAzNi4wNDIuMDA0LjAyLjAyNC4wMzYuMDQzLjAzNmguMDA0Yy4xMDYtLjAyLjIxMS0uMDQzLjMxMy0uMDc1YS4wMzUuMDM1IDAgMDAuMDI3LS4wNDYuMDM1LjAzNSAwIDAwLS4wNDctLjAyOHptLTEuOTUzLTQuNjY5Yy0uMDk0LjA1MS0uMTgzLjExLS4yNy4xNzItLjAxOS4wMTItLjAyMy4wNC0uMDA3LjA1NS4wMDguMDEyLjAyLjAxNS4wMzEuMDE1LjAwOCAwIC4wMTYgMCAuMDI0LS4wMDMuMDgyLS4wNjMuMTcxLS4xMTguMjYxLS4xNjguMDItLjAxMi4wMjgtLjAzNi4wMTYtLjA1NS0uMDA4LS4wMi0uMDM1LS4wMjctLjA1NS0uMDE2em0xLjg2LS4xNjRjLjAyIDAgLjAzNS0uMDEyLjAzOS0uMDMxYS4wMzYuMDM2IDAgMDAtLjAyOC0uMDQ3IDIuMjUgMi4yNSAwIDAwLS4zMTYtLjA1OWMtLjAyNC0uMDAzLS4wNDMuMDEyLS4wNDMuMDM2LS4wMDQuMDIuMDEyLjAzOS4wMzUuMDQzYTIuNzcxIDIuNzcxIDAgMDEuMzEzLjA1OHptLS41MiA0LjkzYy0uMTA1LjAwNC0uMjEuMDA0LS4zMTItLjAwOC0uMDI0IDAtLjA0My4wMTYtLjA0My4wNC0uMDA0LjAxOS4wMTUuMDM4LjAzNS4wNDIuMDc0LjAwNC4xNTIuMDA4LjIyNi4wMDhoLjA5NGMuMDIzIDAgLjA0LS4wMi4wNC0uMDQzIDAtLjAyLS4wMi0uMDQtLjA0LS4wNHptMS4xMS00LjcwM2EuMDQxLjA0MSAwIDAwLjAzNS0uMDJjLjAxMS0uMDIuMDAzLS4wNDctLjAxNi0uMDU1YTIuNTA1IDIuNTA1IDAgMDAtLjI5My0uMTM2Yy0uMDItLjAwOC0uMDQzLjAwNC0uMDUuMDIzLS4wMDkuMDIuMDAzLjA0My4wMjMuMDUxLjA5Ny4wNC4xOTEuMDgyLjI4LjEzM2EuMDQyLjA0MiAwIDAwLjAyLjAwNHptLjA3NCA0LjM2Yy0uMDkuMDUtLjE4NC4wOTctLjI3OC4xNC0uMDIzLjAwOC0uMDMxLjAzMS0uMDIzLjA1YS4wNDMuMDQzIDAgMDAuMDM5LjAyNGMuMDA0IDAgLjAwOCAwIC4wMTYtLjAwNC4wOTctLjAzOS4xOTUtLjA5LjI4NS0uMTQ1LjAyLS4wMTEuMDI3LS4wMzUuMDE1LS4wNTQtLjAxMS0uMDItLjAzNS0uMDI0LS4wNTQtLjAxMnptLTYuMjExLTIuMjU1YTIuNjMgMi42MyAwIDAxLS4zMDEtLjA4Mi4wMzguMDM4IDAgMDAtLjA1LjAyNGMtLjAwOS4wMi4wMDMuMDQzLjAyMy4wNS4xMDEuMDM2LjIwNy4wNjMuMzEyLjA4NmguMDA4Yy4wMiAwIC4wMzUtLjAxMS4wMzktLjAzYS4wNDMuMDQzIDAgMDAtLjAzMS0uMDQ4em0tMS45My0yLjkzN2MuMDIzLS4xMDIuMDQ3LS4yMDMuMDgyLS4zMDEuMDA4LS4wMjQtLjAwNC0uMDQzLS4wMjctLjA1LS4wMi0uMDA5LS4wNDMuMDAzLS4wNTEuMDIzYTQuMDcyIDQuMDcyIDAgMDAtLjA4Mi4zMTIuMDQzLjA0MyAwIDAwLjAzMS4wNDdoLjAwOGMuMDIgMCAuMDM1LS4wMTIuMDM5LS4wMzF6bS4wMjcgMS4yOGguMDEyYy4wMjQtLjAwNy4wMzUtLjAyNi4wMjctLjA1YTIuNiAyLjYgMCAwMS0uMDc0LS4zYy0uMDA0LS4wMjQtLjAyMy0uMDQtLjA0Ny0uMDM2YS4wNDMuMDQzIDAgMDAtLjAzLjA0N2MuMDE5LjEwNi4wNDIuMjExLjA3My4zMTNhLjA0LjA0IDAgMDAuMDQuMDI3em0yLjUyIDEuNzEyYy0uMTAyLjAwNC0uMjA3IDAtLjMwOS0uMDA4LS4wMjMgMC0uMDQzLjAxNi0uMDQzLjAzNS0uMDA0LjAyNC4wMTIuMDQzLjAzNS4wNDMuMDc1LjAwOC4xNDkuMDEyLjIyNy4wMTJoLjA5NGMuMDIzLS4wMDQuMDM5LS4wMi4wMzktLjA0MyAwLS4wMjMtLjAyLS4wNC0uMDQzLS4wNHptLTIuMDQ3LS45MzhjLS4wMTItLjAyLS4wNC0uMDIzLS4wNTUtLjAwNy0uMDA0IDAtLjAwNC4wMDMtLjAwNC4wMDMtLjAwNC0uMDExLS4wMDctLjAyMy0uMDE1LS4wMzUtLjAwOC0uMDItLjAzMS0uMDMtLjA1MS0uMDItLjAyLjAwOS0uMDMxLjAzMi0uMDIuMDUyLjA0LjA5My4wNzUuMTk1LjEwMi4yOTMuMDA4LjAyLjAyMy4wMy4wNC4wM2wuMDEtLjAwM2MuMDItLjAwNC4wMzYtLjAyNy4wMjgtLjA0Ny0uMDE1LS4wNTUtLjAzNS0uMTEtLjA1NS0uMTY0LjA1NS4wNjIuMTE0LjEyNS4xNzIuMTg0LjAwOC4wMDcuMDIuMDExLjAzMi4wMTEuMDA3IDAgLjAyLS4wMDQuMDI3LS4wMTFhLjAzOC4wMzggMCAwMDAtLjA1NSAzLjg3NSAzLjg3NSAwIDAxLS4yMTEtLjIzem0xLjM1NS00LjAzOWMtLjAwMy0uMDItLjAyNy0uMDMtLjA0Ni0uMDI3YTIuNTMzIDIuNTMzIDAgMDAtLjMwNS4xMDJjLS4wMi4wMDctLjAzMS4wMy0uMDI0LjA1LjAwOC4wMTYuMDIuMDI0LjA0LjAyNGguMDExYy4wOTgtLjA0LjE5Ni0uMDcuMjk3LS4wOTguMDI0LS4wMDguMDM1LS4wMjcuMDI3LS4wNXptLTEuOTMzIDIuMjVjLS4wMi0uMDA0LS4wNC4wMTYtLjA0My4wMzUtLjAwNC4wNjMtLjAwNC4xMjUtLjAwNC4xODh2LjEzN2MuMDA0LjAyLjAyLjAzNS4wNDMuMDM1YS4wNC4wNCAwIDAwLjAzOS0uMDRjLS4wMDQtLjA0Ni0uMDA0LS4wOS0uMDA0LS4xMzIgMC0uMDU5LjAwNC0uMTIxLjAwOC0uMTggMC0uMDIzLS4wMTYtLjA0My0uMDQtLjA0M3ptMS40MjIgMi40NjVjLS4wNDctLjAyLS4wOTQtLjA0Ny0uMTM3LS4wN2E0LjMyOCA0LjMyOCAwIDAxLS4yNjItLjE3MmMtLjAxNS0uMDE2LS4wNDMtLjAxMi0uMDU0LjAwOC0uMDE2LjAxNS0uMDEyLjAzOS4wMDcuMDU0YTIuODM3IDIuODM3IDAgMDAuNDEuMjU0Yy4wMDUgMCAuMDEyLjAwNC4wMTYuMDA0LjAxNiAwIC4wMzEtLjAwOC4wMzUtLjAyMy4wMTItLjAyLjAwNC0uMDQzLS4wMTUtLjA1NXptLS42NTMtNC4xMjlhMi40NjggMi40NjggMCAwMC0uMjE4LjIzNWMtLjAxNi4wMTUtLjAxMi4wNDMuMDA0LjA1NGEuMDM1LjAzNSAwIDAwLjAyNy4wMTJjLjAxMiAwIC4wMjMtLjAwOC4wMzEtLjAxNi4wNjctLjA3OC4xMzctLjE1Ni4yMTEtLjIyNi4wMTYtLjAxNi4wMi0uMDQuMDA0LS4wNTlhLjA0Mi4wNDIgMCAwMC0uMDU5IDB6bS41Mi0uMzc1Yy0uMDk0LjA1MS0uMTg0LjExLS4yNy4xNzItLjAyLjAxMi0uMDIzLjAzNS0uMDA3LjA1NS4wMDcuMDEyLjAyLjAxNS4wMy4wMTUuMDA5IDAgLjAxNiAwIC4wMjQtLjAwNy4wODItLjA1OS4xNzItLjExOC4yNjItLjE2NC4wMi0uMDEyLjAyNy0uMDM2LjAxNi0uMDU1LS4wMDgtLjAyLS4wMzYtLjAyNy0uMDU1LS4wMTZ6bTMuNzQyIDIuMDU1Yy4wMDQuMDIzLjAyLjAzOS4wNC4wMzloLjAwM2EuMDQ1LjA0NSAwIDAwLjA0LS4wNDMgNC4yMTIgNC4yMTIgMCAwMC0uMDQ4LS4zMmMtLjAwOC0uMDItLjAyNy0uMDM1LS4wNS0uMDMyLS4wMi4wMDQtLjAzNi4wMjgtLjAyOC4wNDcuMDIuMTAyLjAzNS4yMDcuMDQzLjMwOXptLS41ODItMS40NzNjLS4wMi4wMTYtLjAyLjA0LS4wMDQuMDU5LjA2Ny4wNzguMTMuMTYuMTg0LjI1LjAwOC4wMTIuMDIzLjAxNS4wMzUuMDE1LjAwOCAwIC4wMTYgMCAuMDItLjAwMy4wMTktLjAxNi4wMjctLjA0LjAxMS0uMDU5YTIuMDU2IDIuMDU2IDAgMDAtLjE5MS0uMjU0LjAzOS4wMzkgMCAwMC0uMDU1LS4wMDh6bS00LjAzNS4yNzRhLjA0LjA0IDAgMDAtLjA1NS4wMTFjLS4wMi4wMzYtLjA0My4wNy0uMDYyLjEwNi0uMDMxLjA1NS0uMDYzLjExNy0uMDk0LjE3Ni0uMDA4LjAyIDAgLjA0My4wMi4wNTQuMDA3IDAgLjAxMS4wMDQuMDIuMDA0YS4wNDIuMDQyIDAgMDAuMDM0LS4wMjMgMi4zNzkgMi4zNzkgMCAwMS4xNTMtLjI3NGMuMDExLS4wMTUuMDAzLS4wNDMtLjAxNi0uMDU0em00LjQ4OC41OWEuMDQuMDQgMCAwMC4wNC4wMjdoLjAxMWMuMDIzLS4wMDguMDMxLS4wMzEuMDI3LS4wNWEyLjUwMyAyLjUwMyAwIDAwLS4xMjUtLjI5OGMtLjAwNy0uMDItLjAzLS4wMjctLjA1NC0uMDItLjAyLjAxMi0uMDI4LjAzNi0uMDE2LjA1NS4wNDMuMDk0LjA4Ni4xODguMTE3LjI4NnptLTEuNjYgMy4yMjJjLS4xMDIuMDI4LS4yMDMuMDUxLS4zMDUuMDY3LS4wMjMuMDA0LS4wMzkuMDIzLS4wMzUuMDQ3LjAwNC4wMTkuMDI0LjAzNS4wNC4wMzUuMDAzIDAgLjAwNy0uMDA0LjAwNy0uMDA0LjEwNi0uMDE2LjIxMS0uMDQuMzEzLS4wNy4wMjMtLjAwNC4wMzUtLjAyOC4wMjctLjA1MS0uMDA0LS4wMi0uMDI3LS4wMzItLjA0Ny0uMDI0em0uNDk2LTQuNjA1Yy4wMTYgMCAuMDI3LS4wMDguMDM1LS4wMjQuMDEyLS4wMi4wMDQtLjA0My0uMDE1LS4wNTRhMi40ODQgMi40ODQgMCAwMC0uMjkzLS4xMzNjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNTEuMDIzLS4wMDguMDIuMDA0LjA0My4wMjMuMDUxLjA5OC4wNC4xOTIuMDgyLjI4Mi4xMjkuMDA3LjAwNC4wMTEuMDA4LjAyLjAwOHptLS41OS0uMjNjLjAyIDAgLjAzNS0uMDEyLjA0LS4wMjguMDA3LS4wMjMtLjAwOC0uMDQzLS4wMjgtLjA1LS4wNTUtLjAxMy0uMTEzLS4wMjQtLjE2OC0uMDM2LjA4Mi0uMDE2LjE2NC0uMDM1LjI0Ni0uMDU1YS4wNDcuMDQ3IDAgMDAuMDI3LS4wNWMtLjAwNy0uMDItLjAyNy0uMDM2LS4wNS0uMDI4LS4wOTguMDI4LS4yMDMuMDUxLS4zMDUuMDY3LS4wMi4wMDMtLjAzNS4wMjMtLjAzMS4wNDN2LjAwN2MtLjAxMi0uMDA0LS4wMjQtLjAwNC0uMDM1LS4wMDctLjAyNCAwLS4wNDMuMDE1LS4wNDMuMDM1YS4wNC4wNCAwIDAwLjAzLjA0N2MuMTA2LjAxMS4yMDguMDMuMzEuMDU0aC4wMDd6bS42NjQgNC41ODVjLS4wOS4wNTUtLjE4My4xMDItLjI3Ny4xNC0uMDIzLjAxMy0uMDMxLjAzNi0uMDIzLjA1NmEuMDQzLjA0MyAwIDAwLjAzOS4wMjNjLjAwNCAwIC4wMDcgMCAuMDE1LS4wMDRhMi43OSAyLjc5IDAgMDAuMjg1LS4xNDRjLjAyLS4wMTIuMDI0LS4wMzYuMDE2LS4wNTUtLjAxMi0uMDItLjAzOS0uMDI3LS4wNTUtLjAxNnptLjU0Ny0uMzc5YS4wNDIuMDQyIDAgMDAtLjA1OCAwYy0uMDcuMDc1LS4xNDkuMTQtLjIzLjIwNy0uMDIuMDEyLS4wMjQuMDM1LS4wMDkuMDU1LjAwOC4wMDguMDIuMDE2LjAzMi4wMTYuMDA3IDAgLjAxNS0uMDA0LjAyMy0uMDA4LjA4Ni0uMDY3LjE2OC0uMTM3LjI0Mi0uMjE1YS4wMzguMDM4IDAgMDAwLS4wNTV6bS42OC0xLjMxNmguMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMS4wMTUtLjEwNi4wMjctLjIxNS4wMzEtLjMyYS4wMzcuMDM3IDAgMDAtLjAzNS0uMDQ0Yy0uMDI0IDAtLjA0My4wMTYtLjA0My4wNGEyLjc1MyAyLjc1MyAwIDAxLS4wMzEuMzA4Yy0uMDA0LjAyMy4wMDguMDQzLjAzLjA0N3ptLS43ODUtMi4yOTdhLjA0NC4wNDQgMCAwMC4wMzEtLjAxMi4wNDcuMDQ3IDAgMDAtLjAwNC0uMDU4IDMuMTA1IDMuMTA1IDAgMDAtLjI1LS4yYy0uMDItLjAxNS0uMDQzLS4wMDctLjA1NS4wMDgtLjAxNS4wMi0uMDExLjA0My4wMDguMDU1LjA4Ni4wNjMuMTY4LjEyOS4yNDIuMTk1LjAwOC4wMDguMDIuMDEyLjAyOC4wMTJ6bS03LjM1MiAxMS42NTJjLS4wOS0uMDUtLjE4LS4xMDUtLjI2MS0uMTY4LS4wMi0uMDE1LS4wNDMtLjAxMS0uMDU1LjAwOC0uMDE2LjAxNi0uMDEyLjA0My4wMDguMDU1LjA4Ni4wNjIuMTc1LjEyMS4yNy4xNzYuMDAzLjAwNC4wMS4wMDQuMDE5LjAwNGEuMDQ3LjA0NyAwIDAwLjAzNS0uMDJjLjAwOC0uMDIuMDA0LS4wNDMtLjAxNi0uMDU1em0uNzA3LTQuNzE0Yy0uMTA1LjAyMy0uMjA3LjA1LS4zMDguMDg1LS4wMjQuMDA0LS4wMzIuMDI4LS4wMjguMDUxYS4wNDMuMDQzIDAgMDAuMDQuMDI0aC4wMTFjLjA5OC0uMDM1LjItLjA2My4zLS4wODIuMDI0LS4wMDQuMDM2LS4wMjQuMDMyLS4wNDdhLjA0LjA0IDAgMDAtLjA0Ny0uMDMxem0tLjYwNS4yMDdhMi40NiAyLjQ2IDAgMDAtLjI4MS4xNTYuMDQuMDQgMCAwMC0uMDEyLjA1NWMuMDA4LjAxMS4wMi4wMTkuMDM1LjAxOS4wMDggMCAuMDEyLS4wMDQuMDItLjAwOC4wODUtLjA1NC4xOC0uMTA1LjI3My0uMTUyLjAyLS4wMDguMDI3LS4wMzEuMDE2LS4wNS0uMDA4LS4wMjQtLjAzMi0uMDMyLS4wNTEtLjAyem0uNDcyIDQuNzQyYTIuMzQyIDIuMzQyIDAgMDEtLjI5My0uMDk4Yy0uMDIzLS4wMDgtLjA0NiAwLS4wNTQuMDJhLjA0NC4wNDQgMCAwMC4wMjMuMDU0Yy4wOTguMDQuMi4wNzUuMzA1LjEwMmguMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAyNy4wMDgtLjAyNC0uMDA0LS4wNDMtLjAyOC0uMDUxem0tMS4wMTEtNC4zOTVhMi40OSAyLjQ5IDAgMDAtLjIzLjIyM2MtLjAxNi4wMTUtLjAxNi4wNDMgMCAuMDU1LjAwNy4wMDcuMDE5LjAxMS4wMjcuMDExYS4wNDQuMDQ0IDAgMDAuMDMtLjAxMWMuMDcxLS4wNzkuMTQ1LS4xNDkuMjIzLS4yMTUuMDItLjAxNi4wMi0uMDQuMDA0LS4wNTktLjAxMS0uMDE1LS4wMzktLjAxNS0uMDU0LS4wMDR6bS0uNjA2IDMuMDM1Yy0uMDA4LS4wMi0uMDMxLS4wMjctLjA1NC0uMDJhLjA0NS4wNDUgMCAwMC0uMDIuMDU2Yy4wNDcuMDk3LjA5OC4xOS4xNTYuMjguMDA4LjAxMi4wMi4wMi4wMzIuMDIuMDA3IDAgLjAxNS0uMDA0LjAyMy0uMDA4LjAyLS4wMTEuMDIzLS4wMzUuMDEyLS4wNTRhMi4zMDMgMi4zMDMgMCAwMS0uMTQ5LS4yNzR6bS0uMTkxLS41OWMtLjAwNC0uMDIzLS4wMjQtLjAzNS0uMDQ3LS4wM2EuMDQuMDQgMCAwMC0uMDMxLjA0NmMuMDIuMTA2LjA0Ny4yMDcuMDc4LjMwOWEuMDQuMDQgMCAwMC4wMzkuMDI3aC4wMTJjLjAyMy0uMDA4LjAzNS0uMDI3LjAyNy0uMDVhMi42MTQgMi42MTQgMCAwMS0uMDc4LS4zMDF6bS41MjMgMS4xMThjLS4wMTUtLjAxNi0uMDM5LS4wMi0uMDU4LS4wMDQtLjAxNi4wMTItLjAyLjAzOS0uMDA0LjA1NS4wNjYuMDgyLjE0LjE2LjIxOS4yMzRhLjAzNS4wMzUgMCAwMC4wMjcuMDEyYy4wMTIgMCAuMDItLjAwNC4wMjctLjAxMmEuMDQyLjA0MiAwIDAwMC0uMDU5IDIuMyAyLjMgMCAwMS0uMjEtLjIyNnptMS45MDMuOTE4Yy0uMTA2IDAtLjIxMS0uMDA4LS4zMTMtLjAyNC0uMDItLjAwNC0uMDQzLjAxMi0uMDQzLjAzNS0uMDA0LjAyNC4wMTIuMDQzLjAzMS4wNDMuMTA2LjAxNi4yMTUuMDI0LjMyLjAyOGguMDA1Yy4wMiAwIC4wMzktLjAyLjAzOS0uMDQgMC0uMDIzLS4wMi0uMDQyLS4wNC0uMDQyem0tMi4wMDgtNC4wMmMtLjAyLS4wMTItLjA0My0uMDA4LS4wNTUuMDEyYTIuNDIyIDIuNDIyIDAgMDAtLjE3Mi4yN2MtLjAxMS4wMTktLjAwNC4wNDYuMDE2LjA1NGEuMDMuMDMgMCAwMC4wMi4wMDguMDQyLjA0MiAwIDAwLjAzNS0uMDI0Yy4wNDYtLjA5LjEwNS0uMTguMTY0LS4yNjFhLjA0Ny4wNDcgMCAwMC0uMDA4LS4wNTl6bTIuNzk3LS45NTdjLS4wOTgtLjAyNy0uMi0uMDUtLjMwMS0uMDcuMDUtLjAwOC4wOTgtLjAyLjE0OC0uMDMxLjAyLS4wMDQuMDMyLS4wMjguMDI4LS4wNDdhLjA0My4wNDMgMCAwMC0uMDQ3LS4wMzIgMi4wNCAyLjA0IDAgMDEtLjMwOS4wNTUuMDQ2LjA0NiAwIDAwLS4wMzUuMDQzYy4wMDQuMDIuMDIuMDM1LjA0LjAzNWguMDAzYy4wNDMtLjAwNC4wODItLjAwOC4xMjUtLjAxNS0uMDA4LjAwNC0uMDEyLjAxMS0uMDEyLjAyMy0uMDA0LjAyLjAxMi4wNC4wMzIuMDQzLjEwMS4wMi4yMDMuMDQzLjMwNC4wNzRoLjAxMmEuMDM4LjAzOCAwIDAwLjAzNS0uMDI3Yy4wMDgtLjAyLS4wMDQtLjA0My0uMDIzLS4wNXptLjg0Ny40NDVjLS4wMTUtLjAxMS0uMDQzLS4wMTEtLjA1NC4wMDgtLjAxNi4wMTYtLjAxMi4wNDMuMDA0LjA1NS4wODIuMDY2LjE2LjEzNy4yMzQuMjA3YS4wMzUuMDM1IDAgMDAuMDI3LjAxMmMuMDEyIDAgLjAyLS4wMDQuMDI4LS4wMTIuMDE1LS4wMTIuMDE1LS4wNCAwLS4wNTVhMi41MTYgMi41MTYgMCAwMC0uMjM5LS4yMTV6bS44MDkgMi44NDRjLS4wMi0uMDA4LS4wNDMuMDA0LS4wNS4wMjRhMi4zMTQgMi4zMTQgMCAwMS0uMTIyLjI4NWMtLjAxMi4wMi0uMDA0LjA0Ny4wMTYuMDU0YS4wNDIuMDQyIDAgMDAuMDIuMDA0LjA0MS4wNDEgMCAwMC4wMzQtLjAyYy4wNTEtLjA5Ny4wOS0uMTk0LjEzLS4yOTYuMDAzLS4wMi0uMDA1LS4wNDMtLjAyOC0uMDV6bS0uMjc0LjU2N2EuMDQyLjA0MiAwIDAwLS4wNTQuMDExIDIuODMxIDIuODMxIDAgMDEtLjE5Mi4yNS4wNDIuMDQyIDAgMDAuMDA0LjA1NWMuMDA4LjAwOC4wMi4wMDguMDI4LjAwOGEuMDQ0LjA0NCAwIDAwLjAzLS4wMTJjLjA3MS0uMDgyLjEzNC0uMTY4LjE5Ni0uMjU0LjAxMi0uMDIuMDA4LS4wNDMtLjAxMS0uMDU4em0uNDAzLTEuMTg4YS4wNDYuMDQ2IDAgMDAtLjA0Ny4wNCAxLjk3OCAxLjk3OCAwIDAxLS4wNDcuMzA0Yy0uMDA0LjAyMy4wMTIuMDQzLjAzMS4wNWguMDA4Yy4wMiAwIC4wMzUtLjAxMS4wNC0uMDMuMDIzLS4xMDYuMDM4LS4yMTIuMDUtLjMxNyAwLS4wMjMtLjAxNi0uMDQzLS4wMzUtLjA0N3ptLS4wMzEtLjYyOWMtLjAyNC4wMDQtLjAzNi4wMjQtLjAzNi4wNDcuMDIuMTAyLjAyOC4yMDMuMDMyLjMwOSAwIC4wMi4wMi4wMzkuMDM5LjAzOS4wMjMgMCAuMDM5LS4wMi4wMzktLjA0M2EyLjk1MiAyLjk1MiAwIDAwLS4wMjgtLjMyLjA0LjA0IDAgMDAtLjA0Ni0uMDMyem0tNS4wNDMuNjM3Yy4wMi0uMDA0LjAzOS0uMDI0LjAzNS0uMDQzLS4wMDQtLjA1NS0uMDA0LS4xMDYtLjAwNC0uMTYgMC0uMTAyLjAwOC0uMjA3LjAyLS4zMDkuMDAzLS4wMjMtLjAxMi0uMDQzLS4wMzYtLjA0Ny0uMDIzIDAtLjA0My4wMTYtLjA0My4wMzUtLjAxNS4xMDYtLjAyLjIxNS0uMDIuMzIgMCAuMDU1IDAgLjExLjAwNS4xNjUgMCAuMDIuMDIuMDM5LjAzOS4wMzloLjAwNHptMi42NTYtMi43ODVoLS4xNTItLjAwNGE0LjA1MSA0LjA1MSAwIDAxLS4zMTMtLjAyNGMtLjAyLS4wMDQtLjA0My4wMTItLjA0My4wMzJhLjA0LjA0IDAgMDAuMDMxLjA0NmMuMDQzLjAwNC4wODYuMDEyLjEzLjAxMi4wMDcuMDEyLjAxOS4wMi4wMy4wMmguMDA0Yy4xMDItLjAwOC4yMDctLjAwOC4zMTMtLjAwNC4wMiAwIC4wMzktLjAxNi4wNDMtLjA0IDAtLjAyMy0uMDItLjAzOC0uMDQtLjA0MnptMS41NSA0LjQ0NWMtLjA3NC4wNy0uMTU2LjEzNy0uMjQyLjE5NS0uMDIuMDEyLS4wMjMuMDM2LS4wMTEuMDU1LjAwOC4wMTIuMDIzLjAxNi4wMzUuMDE2LjAwOCAwIC4wMTYgMCAuMDIzLS4wMDQuMDg2LS4wNjMuMTcyLS4xMy4yNS0uMi4wMTYtLjAxNS4wMi0uMDQyLjAwNC0uMDU4LS4wMTUtLjAxNi0uMDM5LS4wMTYtLjA1OC0uMDA0em0tMS4wOS41NzRhMi42ODEgMi42ODEgMCAwMS0uMzA4LjA1NWMtLjAyIDAtLjAzNS4wMi0uMDM1LjA0My4wMDQuMDIuMDIuMDM1LjA0LjAzNWguMDAzYy4xMS0uMDEyLjIxNS0uMDMxLjMyLS4wNTUuMDItLjAwMy4wMzItLjAyNy4wMjgtLjA0Ni0uMDA0LS4wMjQtLjAyOC0uMDM2LS4wNDctLjAzMnptLjc1OS00LjY0OGEyLjgyNiAyLjgyNiAwIDAwLS4yODYtLjE0OWMtLjAyLS4wMDctLjA0NiAwLS4wNTQuMDJzMCAuMDQzLjAyLjA1NWMuMDk3LjAzOS4xODcuMDkuMjc3LjE0NGEuMDM1LjAzNSAwIDAwLjAyLjAwNC4wNDEuMDQxIDAgMDAuMDM0LS4wMi4wNDIuMDQyIDAgMDAtLjAxMS0uMDU0em0tLjE3NiA0LjQzYTIuNjYgMi42NiAwIDAxLS4yODUuMTI4Yy0uMDIuMDA4LS4wMzIuMDMyLS4wMjQuMDUxLjAwOC4wMTYuMDIuMDI4LjA0LjAyOC4wMDMgMCAuMDA3LS4wMDQuMDExLS4wMDQuMTAyLS4wNC4yLS4wODIuMjkzLS4xMzMuMDItLjAwOC4wMjctLjAzNS4wMi0uMDU1YS4wNDguMDQ4IDAgMDAtLjA1NS0uMDE1em0xLjA2Ni0zLjUyNGEyLjg4NCAyLjg4NCAwIDAwLS4xOC0uMjY2LjA0Mi4wNDIgMCAwMC0uMDU0LS4wMDcuMDQ3LjA0NyAwIDAwLS4wMDguMDU4Yy4wNjMuMDgyLjEyMS4xNjguMTc2LjI1OC4wMDguMDEyLjAyLjAyLjAzMS4wMmEuMDU2LjA1NiAwIDAwLjAyNC0uMDA4LjA0Mi4wNDIgMCAwMC4wMTEtLjA1NXptLjA5NC4yNjZjLS4wMi4wMTEtLjAzMS4wMzUtLjAyLjA1NC4wNC4wOTQuMDc1LjE5Mi4xMDIuMjkzLjAwOC4wMTYuMDIzLjAyOC4wNC4wMjhoLjAxYy4wMi0uMDA4LjAzNi0uMDI4LjAyOC0uMDUxYTIuNzY3IDIuNzY3IDAgMDAtLjExLS4zYy0uMDA3LS4wMjQtLjAzLS4wMzItLjA1LS4wMjR6bS00LjguNDUzaC4wMWMuMDE3IDAgLjAzMi0uMDEyLjA0LS4wMzEuMDIzLS4wOTguMDU1LS4yLjA5NC0uMjk3LjAwOC0uMDItLjAwNC0uMDQzLS4wMjQtLjA1MXMtLjA0My4wMDQtLjA1LjAyM2MtLjA0LjA5OC0uMDcuMjAzLS4wOTguMzA1LS4wMDguMDIzLjAwOC4wNDMuMDI3LjA1em00Ljk4NC00LjkzOGMtLjAyNC4wMDQtLjAzNi4wMjQtLjAzNi4wNDcuMDIuMTAyLjAyOC4yMDcuMDMyLjMwOSAwIC4wMjMuMDIuMDM5LjAzOS4wMzlhLjA0LjA0IDAgMDAuMDM5LS4wNCAyLjg3IDIuODcgMCAwMC0uMDI4LS4zMmMtLjAwMy0uMDIzLS4wMjMtLjAzNS0uMDQ2LS4wMzV6bS0yLjM4Ny0yLjE0NGMtLjA0My0uMDA0LS4wODItLjAwNC0uMTIxLS4wMDQtLjA2NyAwLS4xMzMuMDA0LS4yLjAwOC0uMDIzLjAwNC0uMDM5LjAyLS4wMzkuMDQzLjAwNC4wMi4wMi4wMzkuMDQuMDM5LjAwMyAwIC4wMDMgMCAuMDAzLS4wMDQuMDY3LS4wMDQuMTMtLjAwNC4xOTYtLjAwNGguMTE3Yy4wMi4wMDQuMDM5LS4wMTYuMDQzLS4wMzUgMC0uMDI0LS4wMi0uMDQzLS4wNC0uMDQzem0tMS4yNDYuMjU0YTIuNDg4IDIuNDg4IDAgMDAtLjI4MS4xNmMtLjAyLjAxMi0uMDI0LjAzNS0uMDEyLjA1NS4wMDguMDExLjAyLjAxNS4wMzUuMDE1LjAwOCAwIC4wMTIgMCAuMDItLjAwNC4wODUtLjA1OC4xOC0uMTEuMjczLS4xNTIuMDItLjAxMi4wMjctLjAzNS4wMTYtLjA1NS0uMDA4LS4wMi0uMDMyLS4wMjctLjA1MS0uMDJ6bTEuODc5LS4xNDVhMi4yNjUgMi4yNjUgMCAwMC0uMzEzLS4wNzRjLS4wMjMtLjAwNC0uMDQzLjAwOC0uMDQ3LjAzMWEuMDQuMDQgMCAwMC4wMzIuMDQ3Yy4xMDEuMDE2LjIwMy4wNC4zMDQuMDcuMDA0IDAgLjAwOC4wMDQuMDEyLjAwNC4wMTYgMCAuMDMxLS4wMTEuMDM1LS4wMy4wMDgtLjAyLS4wMDQtLjA0NC0uMDIzLS4wNDh6bS41ODYuMjYyYTIuODY0IDIuODY0IDAgMDAtLjI4Ni0uMTUyYy0uMDItLjAwOC0uMDQ2IDAtLjA1NC4wMjMtLjAwOC4wMiAwIC4wNDMuMDIuMDUuMDk3LjA0NC4xODcuMDkuMjc3LjE0NS4wMDcuMDA0LjAxMS4wMDguMDIuMDA4YS4wNDEuMDQxIDAgMDAuMDM0LS4wMmMuMDEyLS4wMTkuMDA0LS4wNDYtLjAxMS0uMDU0em0tMi4zMTcgNC42MDFjLjA5OC4wNDMuMi4wNzUuMzA1LjEwNmguMDA4Yy4wMiAwIC4wMzUtLjAxMi4wMzktLjAzMWEuMDM1LjAzNSAwIDAwLS4wMjgtLjA0NyAyLjM1MyAyLjM1MyAwIDAxLS4yOTMtLjEwMi4wNDQuMDQ0IDAgMDAtLjA1NC4wMjRjLS4wMDguMDIuMDA0LjA0My4wMjMuMDV6bTIuNTc4LTQuNDE4Yy0uMDE1LS4wMTUtLjA0My0uMDExLS4wNTQuMDA0LS4wMTYuMDItLjAxMi4wNDMuMDA0LjA1OS4wODIuMDYzLjE2LjEzMy4yMzQuMjA3YS4wMzUuMDM1IDAgMDAuMDI3LjAxMmMuMDEyIDAgLjAyLS4wMDQuMDI4LS4wMTJhLjA0Mi4wNDIgMCAwMDAtLjA1OSAyLjA0NCAyLjA0NCAwIDAwLS4yMzktLjIxem0uODA5IDIuODRjLS4wMi0uMDA3LS4wNDMuMDA0LS4wNS4wMjRhMi42NiAyLjY2IDAgMDEtLjEyMi4yODljLS4wMTIuMDItLjAwNC4wNDMuMDE2LjA1NS4wMDggMCAuMDE1LjAwMy4wMi4wMDMuMDE1IDAgLjAyNy0uMDA3LjAzNC0uMDIzLjA1MS0uMDk0LjA5LS4xOTUuMTMtLjI5Ny4wMDMtLjAyLS4wMDUtLjA0My0uMDI4LS4wNXptLS40ODguODk1YS4wMzYuMDM2IDAgMDAuMDMtLjAxNmMuMDcxLS4wNzguMTM0LS4xNjQuMTk2LS4yNTQuMDEyLS4wMi4wMDgtLjA0My0uMDExLS4wNTQtLjAyLS4wMTItLjA0My0uMDA4LS4wNTUuMDExYTIuMzEgMi4zMSAwIDAxLS4xOTIuMjQ2Yy0uMDExLjAxNi0uMDExLjA0My4wMDQuMDU1LjAwOC4wMDguMDIuMDEyLjAyOC4wMTJ6bS0yLjQ0Mi00LjI0MmMtLjEwNS4wMjMtLjIwNy4wNS0uMzA4LjA4Ni0uMDI0LjAwNy0uMDMyLjAzLS4wMjguMDUuMDA4LjAxNi4wMjQuMDI4LjA0LjAyOC4wMDMgMCAuMDA3IDAgLjAxMS0uMDA0LjA5OC0uMDMxLjItLjA1OS4zLS4wNzguMDI0LS4wMDguMDM2LS4wMjguMDMyLS4wNTFhLjA0LjA0IDAgMDAtLjA0Ny0uMDMxem0xLjM3NSA0LjkzYy4wMDguMDE1LjAyLjAyNy4wNC4wMjcuMDAzIDAgLjAwNyAwIC4wMTEtLjAwNC4xMDItLjAzNS4yLS4wODIuMjkzLS4xMy4wMi0uMDEuMDI3LS4wMzQuMDItLjA1NC0uMDEyLS4wMi0uMDM2LS4wMjctLjA1NS0uMDE1YTIuNjMgMi42MyAwIDAxLS4yODUuMTI1Yy0uMDIuMDA3LS4wMzIuMDMtLjAyNC4wNXptMS4xMzMtMy45MTlhMi40IDIuNCAwIDAxLjE2NC4yNDNjLjAyLjAzLjAzNS4wNTguMDUuMDg2LjAwOS4wMTEuMDIuMDIuMDM2LjAyLjAwNCAwIC4wMTItLjAwNS4wMi0uMDA5LjAyLS4wMTEuMDIzLS4wMzUuMDExLS4wNTRsLS4wMzUtLjA2M3MwLS4wMDQtLjAwNC0uMDA0YzAtLjAwNC0uMDA0LS4wMDgtLjAwOC0uMDE1YTIuOTMgMi45MyAwIDAxLS4wOTctLjE5MmMtLjAwOC0uMDItLjAyOC0uMDI3LS4wNDctLjAyM2EuNzgzLjc4MyAwIDAwLS4wMjctLjA0Yy0uMDEyLS4wMTUtLjA0LS4wMTktLjA1NS0uMDAzLS4wMTYuMDExLS4wMi4wMzUtLjAwOC4wNTR6bS0uNTcgMy42MzNjLjAwOC4wMTIuMDIzLjAyLjAzNS4wMi4wMDggMCAuMDE2LS4wMDQuMDIzLS4wMDguMDg2LS4wNjMuMTcyLS4xMjkuMjUtLjIuMDE2LS4wMTUuMDItLjAzOC4wMDQtLjA1NC0uMDE1LS4wMi0uMDM5LS4wMi0uMDU4LS4wMDRhMi4zNzMgMi4zNzMgMCAwMS0uMjQzLjE5Mi4wNC4wNCAwIDAwLS4wMTEuMDU0em0tMi45NjEtLjA5Yy0uMDE2LjAyLS4wMTIuMDQzLjAwOC4wNTlhMi40MjIgMi40MjIgMCAwMC4yODkuMTguMDQyLjA0MiAwIDAwLjAzNS0uMDI0Yy4wMDgtLjAxNS4wMDQtLjA0My0uMDE2LS4wNS0uMDktLjA1NS0uMTgtLjExLS4yNjEtLjE3Mi0uMDItLjAxMi0uMDQzLS4wMDgtLjA1NS4wMDd6bTQuMDI3LTEuNDMzYy4wMiAwIC4wMzUtLjAxMi4wNC0uMDMxLjAyMy0uMTAyLjAzOC0uMjExLjA1LS4zMTcgMC0uMDIzLS4wMTYtLjA0My0uMDM1LS4wNDMtLjAyNC0uMDA0LS4wNDMuMDEyLS4wNDcuMDM1YTIuMTA1IDIuMTA1IDAgMDEtLjA0Ny4zMDkuMDQzLjA0MyAwIDAwLjAzMS4wNDdoLjAwOHptLTQuNjQuODA0Yy4wMDcgMCAuMDE1IDAgLjAyMy0uMDAzYS4wNC4wNCAwIDAwLjAxMi0uMDU1IDIuNjU1IDIuNjU1IDAgMDEtLjE0OS0uMjc0Yy0uMDA4LS4wMi0uMDMxLS4wMy0uMDU0LS4wMi0uMDIuMDA5LS4wMjguMDMyLS4wMi4wNTIuMDQ3LjA5Ny4wOTguMTkxLjE1Ni4yODUuMDA4LjAxMi4wMi4wMTUuMDMyLjAxNXptLjM3NS40OGMuMDA3LjAwNS4wMTUuMDA5LjAyNy4wMDlzLjAyLS4wMDQuMDI3LS4wMTJhLjAzOC4wMzggMCAwMDAtLjA1NWMtLjA3NC0uMDc0LS4xNDgtLjE0OC0uMjEtLjIzLS4wMTYtLjAxNi0uMDQtLjAyLS4wNi0uMDA0LS4wMTUuMDEyLS4wMTkuMDM5LS4wMDMuMDU1LjA2Ni4wODIuMTQuMTY0LjIxOS4yMzh6bS4xMTctMy44NDdjLS4wODIuMDY3LS4xNi4xNC0uMjMuMjE5LS4wMTYuMDItLjAxNi4wNDMgMCAuMDU5LjAwNy4wMDcuMDE5LjAxMS4wMjcuMDExLjAxMSAwIC4wMjMtLjAwNy4wMy0uMDE1YTIuODkgMi44OSAwIDAxLjIyMy0uMjE1Yy4wMi0uMDEyLjAyLS4wNC4wMDQtLjA1NS0uMDExLS4wMTUtLjAzOS0uMDItLjA1NC0uMDA0em0tLjg1NiAxLjYyMWMtLjAyMy0uMDA0LS4wNDMuMDEyLS4wNDMuMDM2YTIuMTcgMi4xNyAwIDAwLS4wMi4zMmMwIC4wNTUgMCAuMTEuMDA1LjE2IDAgLjAyMy4wMi4wNC4wMzkuMDRoLjAwNGMuMDIgMCAuMDM5LS4wMi4wMzUtLjA0NC0uMDA0LS4wNS0uMDA0LS4xMDUtLjAwNC0uMTU2IDAtLjEwNi4wMDgtLjIxMS4wMi0uMzEzLjAwMy0uMDIzLS4wMTItLjA0My0uMDM2LS4wNDN6bS4wNTkgMS4xNDljLjAwOC4wMTUuMDIzLjAyNy4wMzkuMDI3LjAwNCAwIC4wMDggMCAuMDEyLS4wMDRhLjAzNS4wMzUgMCAwMC4wMjctLjA0NyAyLjkwNyAyLjkwNyAwIDAxLS4wNzgtLjMwNC4wNC4wNCAwIDAwLS4wNDctLjAzMi4wNDMuMDQzIDAgMDAtLjAzMS4wNDdjLjAyLjEwNi4wNDcuMjExLjA3OC4zMTN6bS01LjMwOSAxLjQ4YTIuNjA3IDIuNjA3IDAgMDEtLjI4OS4xMTQuMDQ3LjA0NyAwIDAwLS4wMjcuMDVjLjAwOC4wMTYuMDIzLjAyOC4wMzkuMDI4aC4wMTJjLjEwMS0uMDM1LjIwMy0uMDc1LjMtLjExNy4wMi0uMDA4LjAyOC0uMDM2LjAyLS4wNTUtLjAwOC0uMDItLjAzNS0uMDI4LS4wNTUtLjAyem0tLjc5My00Ljc2NWEuMDQuMDQgMCAwMC4wNC0uMDRjLjAwMy0uMDE5LS4wMTItLjAzOC0uMDM2LS4wNDJhNC4zODggNC4zODggMCAwMC0uMzItLjAxMmMtLjAyNCAwLS4wNC4wMi0uMDQuMDQzIDAgLjAyLjAyLjAzOS4wNC4wMzkuMTA1LS4wMDQuMjEgMCAuMzEyLjAxMmguMDA0em0uMjAzIDQuOTUzYy0uMTAxLjAyLS4yMDcuMDMxLS4zMTIuMDM5LS4wMiAwLS4wMzUuMDItLjAzNS4wNDMgMCAuMDIuMDIuMDM1LjAzOS4wMzVoLjAwNGMuMTA1LS4wMDQuMjEtLjAyLjMxNi0uMDM1LjAyNC0uMDA4LjA0LS4wMjguMDM1LS4wNDctLjAwNC0uMDIzLS4wMjctLjA0LS4wNDctLjAzNXptLjQxNC00LjgxN2MuMDE2IDAgLjAzMi0uMDA3LjAzNi0uMDIzYS4wNC4wNCAwIDAwLS4wMjQtLjA1IDIuMTQzIDIuMTQzIDAgMDAtLjMwOC0uMDljLS4wMi0uMDA5LS4wNDMuMDA3LS4wNDcuMDI3LS4wMDQuMDIzLjAwOC4wNDMuMDMxLjA0Ny4xMDIuMDIzLjIuMDU0LjI5Ny4wOWguMDE1em0xLjY1NyAyLjY4NGEuMDQuMDQgMCAwMC0uMDQ3LjAzMSAyLjQ3MyAyLjQ3MyAwIDAxLS4wNjMuMzA1Yy0uMDA3LjAyMy4wMDguMDQzLjAyOC4wNWguMDExYy4wMTYgMCAuMDMyLS4wMTEuMDQtLjAyNy4wMjctLjEwMS4wNS0uMjEuMDY2LS4zMTYgMC0uMDItLjAxNi0uMDQtLjAzNS0uMDQzem0tMS4wOTQtMi4zOTVjLjAxMiAwIC4wMjMtLjAwNy4wMzEtLjAyYS4wNC4wNCAwIDAwLS4wMTEtLjA1NCAzLjE2NCAzLjE2NCAwIDAwLS4yNzQtLjE2NGMtLjAyLS4wMDgtLjA0NyAwLS4wNTUuMDItLjAxMS4wMi0uMDA0LjA0My4wMTYuMDU0LjA5NC4wNDcuMTg0LjA5OC4yNy4xNTcuMDA3LjAwNC4wMTUuMDA3LjAyMy4wMDd6bS45MzQgMy4wMDRjLS4wMi0uMDA3LS4wNDMuMDA0LS4wNTEuMDI0LS4wNC4wOTQtLjA4Ni4xODctLjEzNy4yNzctLjAxMi4wMi0uMDA0LjA0Ny4wMTYuMDU1YS4wMy4wMyAwIDAwLjAyLjAwOC4wNDcuMDQ3IDAgMDAuMDM0LS4wMmMuMDUxLS4wOTQuMDk4LS4xOTEuMTQxLS4yODlhLjA0NC4wNDQgMCAwMC0uMDIzLS4wNTV6bS4xNjQtMS4yNDJjLS4wMjQuMDA0LS4wNC4wMjQtLjAzNi4wNDMuMDA4LjA4Ni4wMTIuMTcyLjAxMi4yNTh2LjA1NWMwIC4wMjMuMDE2LjAzOS4wNC4wMzkuMDIzIDAgLjAzOC0uMDE2LjAzOC0uMDQuMDA0LS4wMTUuMDA0LS4wMzUuMDA0LS4wNTQgMC0uMDktLjAwOC0uMTc2LS4wMTUtLjI2NmEuMDQ2LjA0NiAwIDAwLS4wNDMtLjAzNXptLS40NyAxLjc5N2MtLjAxNS0uMDEyLS4wMzgtLjAwOC0uMDU0LjAwOGEyLjkyNCAyLjkyNCAwIDAxLS4xOTkuMjM4LjAzOC4wMzggMCAwMDAgLjA1NS4wMzUuMDM1IDAgMDAuMDI3LjAxMmMuMDEyIDAgLjAyLS4wMDQuMDI4LS4wMTJhMy4xOCAzLjE4IDAgMDAuMjEtLjI0Ni4wNC4wNCAwIDAwLS4wMTEtLjA1NXptLS40ODQuNDU3YTMuNzM3IDMuNzM3IDAgMDEtLjI1My4xOGMtLjAyLjAxMS0uMDI4LjAzNS0uMDE2LjA1NC4wMDguMDEyLjAyMy4wMi4wMzUuMDJhLjAzLjAzIDAgMDAuMDItLjAwOGMuMDkzLS4wNTUuMTgtLjExNy4yNjUtLjE4Ny4wMTYtLjAxMi4wMi0uMDQuMDA0LS4wNTUtLjAxMi0uMDE2LS4wMzktLjAyLS4wNTQtLjAwNHptLjMyOS0zLjYwMmMuMDExIDAgLjAyIDAgLjAyNy0uMDA3LjAxNi0uMDE2LjAyLS4wNC4wMDQtLjA1OWEzLjEgMy4xIDAgMDAtLjIyNy0uMjI2Yy0uMDItLjAxMi0uMDQzLS4wMTItLjA1OC4wMDMtLjAxNi4wMi0uMDEyLjA0My4wMDQuMDU5LjA3OC4wNjYuMTUyLjE0LjIyMi4yMTlhLjAzNS4wMzUgMCAwMC4wMjguMDEyem0uMzU5LjUyNGMuMDA0IDAgLjAxMiAwIC4wMTYtLjAwNC4wMi0uMDEyLjAyNy0uMDM1LjAyLS4wNTVsLS4wNi0uMTA1Yy0uMDAzLS4wMDgtLjAxMS0uMDItLjAxNS0uMDI3IDAgMC0uMDA0LS4wMDQtLjAwNC0uMDA4YTIuMzM5IDIuMzM5IDAgMDEtLjEzNy0uMjgyYy0uMDA4LS4wMi0uMDMtLjAyNy0uMDUtLjAyLS4wMi4wMDktLjAzMi4wMzItLjAyLjA1Mi4wMTYuMDM5LjAzMS4wNzguMDUuMTJhLjAzLjAzIDAgMDAuMDA1LjA0Yy4wMzUuMDU1LjA3LjExLjEwMS4xNjQuMDIuMDM1LjA0LjA3LjA1NS4xMDJhLjA0My4wNDMgMCAwMC4wMzkuMDIzek0uNTM5IDIyLjc3N2MtLjAwOC0uMDIzLS4wMzEtLjAzLS4wNS0uMDIzLS4wMi4wMDgtLjAzMi4wMzEtLjAyNC4wNS4wNDMuMTAyLjA5LjIuMTQuMjk0LjAwOC4wMTEuMDIuMDIuMDM2LjAyLjAwNyAwIC4wMTEtLjAwNS4wMi0uMDA5LjAxOS0uMDA3LjAyNi0uMDM1LjAxNS0uMDVhMy4wOTUgMy4wOTUgMCAwMS0uMTM3LS4yODJ6bS0uMjE5LS44N2MuMDIgMCAuMDQtLjAyLjA0LS4wNDR2LS4wMjNjMC0uMDk0LjAwMy0uMTkyLjAxNS0uMjg1LjAwNC0uMDI0LS4wMTItLjA0My0uMDM1LS4wNDctLjAyNCAwLS4wNDMuMDE1LS4wNDMuMDM1LS4wMTIuMDk4LS4wMi4yLS4wMi4yOTd2LjAyN2MwIC4wMi4wMi4wNC4wNDMuMDR6bS4wNTkuMjY5YzAtLjAyNC0uMDItLjA0LS4wNDMtLjAzNS0uMDI0LjAwNC0uMDQuMDIzLS4wMzUuMDQ3LjAxNS4xMDUuMDM1LjIxLjA2Mi4zMTIuMDA4LjAyLjAyNC4wMzEuMDQuMDMxaC4wMTFjLjAyLS4wMDguMDM1LS4wMzEuMDI3LS4wNWEyLjgxMSAyLjgxMSAwIDAxLS4wNjItLjMwNXptLjAwNC0uODk5SC4zOWMuMDIgMCAuMDM1LS4wMTEuMDM5LS4wMy4wMjMtLjEwMi4wNTQtLjIuMDkzLS4yOTguMDA4LS4wMi0uMDAzLS4wNDMtLjAyMy0uMDVhLjA0NC4wNDQgMCAwMC0uMDU1LjAyMyAzLjkzMyAzLjkzMyAwIDAwLS4wOTMuMzA1Yy0uMDA0LjAyMy4wMDcuMDQzLjAzLjA1em0yLjMxMiAzLjA1OWEyLjAyIDIuMDIgMCAwMS0uMzA4LS4wNC4wNC4wNCAwIDAwLS4wNDcuMDMyYy0uMDA0LjAyNC4wMDguMDQzLjAzMS4wNDcuMTA2LjAyLjIxMS4wMzUuMzE3LjA0M2guMDAzYS4wNC4wNCAwIDAwLjA0LS4wNGMuMDAzLS4wMTktLjAxNi0uMDM4LS4wMzYtLjA0MnptLTEuOTQ5LTMuOThjLS4wNTguMDg1LS4xMTcuMTgtLjE2OC4yNzMtLjAwOC4wMiAwIC4wNDMuMDIuMDU1bC4wMTUuMDAzYy4wMTYgMCAuMDMyLS4wMDcuMDM1LS4wMjMuMDUxLS4wOS4xMDYtLjE4LjE2NC0uMjY2YS4wNC4wNCAwIDAwLS4wMTEtLjA1NC4wNC4wNCAwIDAwLS4wNTUuMDExem0uMDk4IDIuOTY0Yy0uMDEyLS4wMi0uMDQtLjAyMy0uMDU1LS4wMDgtLjAyLjAxMi0uMDIzLjAzNi0uMDEyLjA1NS4wNjcuMDg2LjEzMy4xNjguMjA3LjI0Ni4wMDguMDA4LjAyLjAxMi4wMjguMDEyLjAxMSAwIC4wMi0uMDA0LjAyNy0uMDEyLjAyLS4wMTEuMDItLjAzOS4wMDQtLjA1NGEyLjkyNCAyLjkyNCAwIDAxLS4yLS4yMzl6bTEuMjQyLjg5OWMtLjEwMi0uMDMyLS4yLS4wNy0uMjkzLS4xMTQtLjAyLS4wMTEtLjA0My0uMDAzLS4wNS4wMTZhLjAzOS4wMzkgMCAwMC4wMTkuMDU1IDEuOTU0IDEuOTU0IDAgMDAuMzA4LjEyYy4wMiAwIC4wMzUtLjAxLjA0LS4wMjZhLjA0LjA0IDAgMDAtLjAyNC0uMDUxem0uNDM0LTQuOTAzYzAtLjAyMy0uMDI0LS4wMzUtLjA0My0uMDM1LS4xMDYuMDItLjIxMS4wNC0uMzE3LjA3LS4wMi4wMDQtLjAzMS4wMjgtLjAyNy4wNDcuMDA4LjAyLjAyMy4wMzIuMDM5LjAzMi4wMDQgMCAuMDA4IDAgLjAxMi0uMDA0LjEwMS0uMDI4LjIwMy0uMDQ3LjMwNC0uMDYzYS4wNC4wNCAwIDAwLjAzMi0uMDQ3em0tLjYxLjE2NGMtLjAwOC0uMDIzLS4wMzEtLjAzLS4wNS0uMDIzYTIuODUgMi44NSAwIDAwLS4yOS4xNDVjLS4wNDcuMDI3LS4wOTMuMDU0LS4xMzYuMDgyLS4wMi4wMTUtLjAyNC4wMzktLjAxMi4wNTguMDA4LjAxMi4wMi4wMTYuMDM1LjAxNi4wMDggMCAuMDE2IDAgLjAyLS4wMDhsLjEzMi0uMDgyYy4wOS0uMDUuMTg0LS4wOTguMjgyLS4xMzcuMDItLjAwOC4wMjctLjAzMS4wMi0uMDV6bS0uNjc2LjQwM2MtLjAxNS0uMDE2LS4wMzktLjAyLS4wNTgtLjAwNC0uMDc4LjA3LS4xNTYuMTQ0LS4yMjcuMjIzLS4wMTUuMDItLjAxNS4wNDMgMCAuMDU4LjAwOC4wMDguMDIuMDA4LjAyOC4wMDhhLjA0NC4wNDQgMCAwMC4wMy0uMDEyYy4wNjctLjA3NC4xNDUtLjE0OC4yMjMtLjIxNS4wMTYtLjAxNS4wMi0uMDQzLjAwNC0uMDU4em0uMjkgNC4wN2EyLjAwMyAyLjAwMyAwIDAxLS4yNTQtLjE4M2MtLjAxNi0uMDEyLS4wNDMtLjAxMi0uMDU1LjAwNy0uMDE2LjAxNi0uMDEyLjA0My4wMDQuMDU1LjA4Mi4wNy4xNzIuMTMzLjI2MS4xODguMDA0LjAwNy4wMTIuMDA3LjAyLjAwN2EuMDQ3LjA0NyAwIDAwLjAzNS0uMDJjLjAxMi0uMDE1LjAwNC0uMDQyLS4wMTItLjA1NHptNi43ODgtMi4zODNhMi42MDcgMi42MDcgMCAwMS0uMjg5LjExNC4wNDUuMDQ1IDAgMDAtLjAyNy4wNWMuMDA4LjAxNi4wMjQuMDI4LjA0LjAyOC4wMDMgMCAuMDA3IDAgLjAxLS4wMDQuMTAyLS4wMzEuMjA0LS4wNy4zMDItLjExM2EuMDQ1LjA0NSAwIDAwLjAyLS4wNTVjLS4wMDktLjAyLS4wMzItLjAyNy0uMDU2LS4wMnptLS41OS4xODhjLS4xLjAyLS4yMDYuMDMxLS4zMDguMDM5YS4wNC4wNCAwIDAwMCAuMDc4aC4wMDRhMi44IDIuOCAwIDAwLjMxNi0uMDRjLjAyNC0uMDAzLjA0LS4wMjMuMDM2LS4wNDZhLjA0My4wNDMgMCAwMC0uMDQ3LS4wMzF6bS40MTUtNC44MTdjLjAxNSAwIC4wMzEtLjAwNy4wMzUtLjAyN2EuMDM4LjAzOCAwIDAwLS4wMjQtLjA1IDIuNTY1IDIuNTY1IDAgMDAtLjMwOC0uMDljLS4wMi0uMDA0LS4wNDMuMDA3LS4wNDcuMDMtLjAwNC4wMi4wMDguMDQ0LjAzMS4wNDguMTAyLjAyMy4yLjA1NC4yOTcuMDloLjAxNnptLjU2Mi4yOWMuMDEyIDAgLjAyNC0uMDA4LjAzMS0uMDIuMDEyLS4wMi4wMDgtLjA0My0uMDA3LS4wNTVhMi44NjggMi44NjggMCAwMC0uMjc4LS4xNjRjLS4wMi0uMDEyLS4wNDMtLjAwNC0uMDU0LjAyLS4wMTIuMDItLjAwNC4wNDMuMDE1LjA1LjA5NC4wNDcuMTg0LjEwMi4yNy4xNi4wMDguMDA1LjAxNS4wMDguMDIzLjAwOHptLjc5Ny45MTRjLjAwNC4wMTUuMDIuMDIzLjAzNS4wMjNhLjAzLjAzIDAgMDAuMDE2LS4wMDhjLjAyLS4wMDguMDI3LS4wMzEuMDItLjA1LS4wMi0uMDM2LS4wNC0uMDc1LS4wNi0uMTA2YTYuNjM0IDYuNjM0IDAgMDAtLjEwNS0uMTcyYy0uMDE1LS4wMi0uMDM5LS4wMjMtLjA1OC0uMDEyLS4wMTYuMDE2LS4wMjQuMDQtLjAwOC4wNTkuMDM1LjA1LjA3LjEwNS4xMDEuMTY0LjAyLjAzMS4wNC4wNjYuMDYuMTAyem0tNC40OTItLjAwOGEuMDMuMDMgMCAwMC4wMTYuMDA4LjA0My4wNDMgMCAwMC4wMzktLjAyNGMuMDQ2LS4wOS4xMDEtLjE4LjE2LS4yNjYuMDExLS4wMi4wMDgtLjA0My0uMDA4LS4wNTRhLjA0Ny4wNDcgMCAwMC0uMDU5LjAwOGMtLjA1OC4wOS0uMTE3LjE4LS4xNjguMjc3LS4wMDcuMDIgMCAuMDQzLjAyLjA1em0tLjMyIDEuMTgzYzAgLjAyNC4wMi4wNC4wNDMuMDRhLjA0LjA0IDAgMDAuMDM5LS4wNHYtLjAyM2MwLS4wOTguMDA0LS4xOTIuMDE1LS4yOS4wMDQtLjAxOS0uMDExLS4wMzgtLjAzNS0uMDQyLS4wMi0uMDA0LS4wNDMuMDEyLS4wNDMuMDM1LS4wMTIuMDk4LS4wMi4yLS4wMi4yOTd6bS4wODYuNjM3Yy4wMDcuMDIuMDIzLjAzMS4wMzkuMDMxLjAwMyAwIC4wMDctLjAwNC4wMTEtLjAwNC4wMi0uMDA0LjAzNS0uMDI3LjAyOC0uMDQ3YTIuMDk0IDIuMDk0IDAgMDEtLjA1OS0uMzA0Yy0uMDA0LS4wMjQtLjAyMy0uMDQtLjA0Ny0uMDM1YS4wNDYuMDQ2IDAgMDAtLjAzNS4wNDNjLjAxNi4xMDUuMDM1LjIxNC4wNjMuMzE2em00LjM1OSAxLjEzM2wuMTE3LS4xM2MtLjAzMS4wOC0uMDU1LjE2MS0uMDc0LjI0My0uMDA4LjAyLjAwOC4wNDMuMDI3LjA0N2guMDEyYy4wMTYgMCAuMDMxLS4wMTIuMDM5LS4wMjcuMDIzLS4xMDIuMDU1LS4yMDMuMDk0LS4yOTcuMDA4LS4wMi0uMDA0LS4wNDMtLjAyNC0uMDUxIDAtLjAwNC0uMDA0LS4wMDQtLjAwNC0uMDA0LjAwOC0uMDA4LjAxNi0uMDIuMDI0LS4wMjdhLjA0Mi4wNDIgMCAwMC0uMDA4LS4wNTVjLS4wMi0uMDE2LS4wNDMtLjAxMi0uMDU5LjAwOC0uMDYyLjA4Mi0uMTI4LjE2LS4xOTkuMjM0LS4wMTUuMDItLjAxNS4wNDMgMCAuMDU5YS4wMzUuMDM1IDAgMDAuMDI4LjAxMmMuMDExIDAgLjAyLS4wMDQuMDI3LS4wMTJ6bS4wNDMtMy40NDVjLjAxMiAwIC4wMi0uMDA0LjAyNy0uMDA4LjAxNi0uMDE2LjAyLS4wNDMuMDA0LS4wNTlhMy4xIDMuMSAwIDAwLS4yMjYtLjIyNmMtLjAyLS4wMTYtLjA0My0uMDEyLS4wNTkuMDAzLS4wMTYuMDE2LS4wMTIuMDQzLjAwNC4wNTUuMDc4LjA3LjE1Mi4xNDUuMjIzLjIyM2EuMDM1LjAzNSAwIDAwLjAyNy4wMTJ6bS0uMzI4IDMuNTk3YTIuNzMgMi43MyAwIDAxLS4yNTQuMThjLS4wMi4wMTItLjAyNy4wMzktLjAxNi4wNTUuMDA4LjAxMS4wMjQuMDIuMDM1LjAyLjAwOCAwIC4wMTYgMCAuMDItLjAwNS4wOTQtLjA1OC4xOC0uMTIuMjY2LS4xODcuMDE1LS4wMTIuMDItLjA0LjAwMy0uMDU1LS4wMTEtLjAyLS4wMzktLjAyLS4wNTQtLjAwOHptLTMuOTM4LTIuODg3Yy0uMDIzLS4wMDctLjA0MyAwLS4wNS4wMjQtLjA0LjA5OC0uMDcuMjAzLS4wOTguMzA1LS4wMDQuMDIzLjAwOC4wNDMuMDMxLjA0Ni4wMDQuMDA0LjAwNC4wMDQuMDA4LjAwNC4wMiAwIC4wMzUtLjAxMS4wMzktLjAzLjAyMy0uMTAyLjA1NS0uMi4wOTQtLjI5OGEuMDQuMDQgMCAwMC0uMDI0LS4wNXptNC43MjcgMS44OGEuMDM4LjAzOCAwIDAwLS4wNTEuMDIzIDMuMjUgMy4yNSAwIDAxLS4xMjkuMjYybC0uMDQ3LjA4NWMtLjAxMS4wMi0uMDA0LjA0My4wMTYuMDU1LjAwNCAwIC4wMTIuMDA0LjAyLjAwNGEuMDQ3LjA0NyAwIDAwLjAzNS0uMDJjLjAxMS0uMDIzLjAyMy0uMDQyLjAzNS0uMDY2bC4wMDQtLjAwNGMwLS4wMDQuMDA0LS4wMDguMDA3LS4wMTVhMS43NyAxLjc3IDAgMDEuMTE4LS4xOC4wMzcuMDM3IDAgMDAtLjAwNC0uMDVjLjAwOC0uMDEzLjAxMS0uMDI4LjAyLS4wNDRhLjAzOC4wMzggMCAwMC0uMDI0LS4wNXpNNS42NCAxNy4zNGMtLjAxNi0uMDE2LS4wNC0uMDItLjA1NS0uMDA0YTIuNDkgMi40OSAwIDAwLS4yMy4yMjMuMDQyLjA0MiAwIDAwMCAuMDU4Yy4wMDcuMDA0LjAxOS4wMDguMDI3LjAwOGEuMDQ0LjA0NCAwIDAwLjAzMS0uMDEyIDIuMzUgMi4zNSAwIDAxLjIyMy0uMjE4Yy4wMTUtLjAxMi4wMi0uMDQuMDA0LS4wNTV6bS4yODkgNC4wN2EyLjMyOCAyLjMyOCAwIDAxLS4yNTQtLjE4M2MtLjAxNi0uMDEyLS4wNDMtLjAxMi0uMDU1LjAwNy0uMDE2LjAxNi0uMDEyLjA0LjAwNC4wNTUuMDgyLjA2Ni4xNzIuMTMzLjI2Mi4xODhhLjAzLjAzIDAgMDAuMDIuMDA3LjA0MS4wNDEgMCAwMC4wMzQtLjAyLjA0Mi4wNDIgMCAwMC0uMDExLS4wNTR6bS4zODYtNC40NzZjLS4wMDctLjAyLS4wMy0uMDI4LS4wNS0uMDItLjA5OC4wNC0uMTk2LjA5LS4yOS4xNC0uMDQ2LjAyOC0uMDkuMDYtLjEzNi4wODctLjAxNi4wMTEtLjAyNC4wMzktLjAxMi4wNTQuMDA4LjAxMi4wMjQuMDIuMDM1LjAyYS4wNTYuMDU2IDAgMDAuMDI0LS4wMDhsLjEyOS0uMDgyYy4wOTMtLjA1LjE4Ny0uMDk4LjI4LS4xMzcuMDItLjAxMS4wMzItLjAzNS4wMi0uMDU0em0zLjUzNiAyLjQxNGMuMDAzLS4wMi4wMDMtLjAzNS4wMDMtLjA1NSAwLS4wOS0uMDA3LS4xOC0uMDE1LS4yNjYgMC0uMDIzLS4wMi0uMDM5LS4wNDMtLjAzNS0uMDI0IDAtLjA0LjAyLS4wMzUuMDQzLjAwOC4wODYuMDExLjE3Mi4wMTEuMjU4di4wNTVjMCAuMDIuMDE2LjAzOS4wNC4wMzkuMDIzIDAgLjAzOS0uMDE2LjAzOS0uMDR6bS0uMTQxLjY2NGguMDEyYy4wMTUgMCAuMDMtLjAxMi4wMzktLjAyOC4wMjctLjEwNS4wNS0uMjEuMDY2LS4zMTYgMC0uMDIzLS4wMTItLjA0My0uMDM1LS4wNDctLjAyMyAwLS4wNDMuMDE2LS4wNDcuMDM1YTIuMDA3IDIuMDA3IDAgMDEtLjA2Mi4zMDVjLS4wMDguMDIzLjAwNy4wNDMuMDI3LjA1em0tNC40NjEuNzYxYS4wNDIuMDQyIDAgMDAtLjA1NS0uMDA3Yy0uMDIuMDE1LS4wMjMuMDM5LS4wMTEuMDU0LjAyNy4wMzUuMDUuMDcuMDc4LjEwMmEuMDI1LjAyNSAwIDAwLS4wMjQgMCAuMDM4LjAzOCAwIDAwLS4wMjMuMDVjLjAzNS4wOTguMDY2LjIuMDkuMzAxLjAwNC4wMTYuMDIuMDMyLjAzOS4wMzIgMCAwIC4wMDQtLjAwNC4wMDgtLjAwNGEuMDM2LjAzNiAwIDAwLjAyNy0uMDQ3Yy0uMDItLjA5OC0uMDUtLjItLjA4Ni0uMjkzLjAzMS4wMzUuMDYyLjA3NC4wOTguMTEuMDA3LjAwNy4wMi4wMTEuMDI3LjAxMS4wMTIgMCAuMDItLjAwNC4wMjctLjAxMi4wMi0uMDE1LjAyLS4wMzkuMDA0LS4wNTRhMi45ODMgMi45ODMgMCAwMS0uMTk5LS4yNDN6bTQuNDYtMi4wNDZjLjAwNS4wMi4wMi4wMy4wNC4wM2guMDA4YS4wNDMuMDQzIDAgMDAuMDMxLS4wNDYgNC4wMjggNC4wMjggMCAwMC0uMDk0LS4zMDljLS4wMDgtLjAyLS4wMy0uMDMtLjA1LS4wMjMtLjAyLjAwOC0uMDMyLjAzMS0uMDI0LjA1LjAzNS4wOTguMDY2LjIuMDkuMjk4em0tMy4yMTggMi45NDljLS4xMDEtLjAzNS0uMTk5LS4wNy0uMjg5LS4xMTctLjAyMy0uMDA4LS4wNDcgMC0uMDU1LjAyLS4wMDcuMDE5IDAgLjA0Mi4wMi4wNTQuMDk4LjA0My4xOTUuMDg2LjI5Ny4xMTcuMDA0IDAgLjAwOC4wMDQuMDEyLjAwNC4wMiAwIC4wMzUtLjAxMi4wMzktLjAyNy4wMDctLjAyNC0uMDA0LS4wNDctLjAyNC0uMDUxem0uNjEuMTE3YTIuNjY0IDIuNjY0IDAgMDEtLjMwOS0uMDRjLS4wMjMtLjAwMy0uMDQzLjAwOS0uMDQ3LjAzMi0uMDA0LjAyLjAwOC4wNDMuMDMxLjA0Ny4xMDYuMDIuMjExLjAzNS4zMTcuMDRoLjAwNGMuMDIgMCAuMDM5LS4wMTcuMDM5LS4wMzYuMDA0LS4wMjMtLjAxMi0uMDQzLS4wMzUtLjA0M3ptLS4xNzItNS4wMmMwLS4wMDMtLjAwNC0uMDAzLS4wMDQtLjAwMy4wMTEgMCAuMDIzIDAgLjAzNS4wMDNoLjAwOGMuMDIgMCAuMDM1LS4wMTUuMDM5LS4wMzUgMC0uMDIzLS4wMTYtLjA0My0uMDM1LS4wNDdhMi42ODEgMi42ODEgMCAwMS0uMzA5LS4wNTRjLS4wMi0uMDA0LS4wNDMuMDA4LS4wNDcuMDMxLS4wMDQuMDIuMDA4LjA0My4wMjguMDQ3bC4xNjguMDM1YTQuNCA0LjQgMCAwMC0uMjQzLjA1NS4wNDYuMDQ2IDAgMDAtLjAzLjA1Yy4wMDcuMDIuMDIyLjAzMi4wMzguMDMyLjAwNCAwIC4wMDgtLjAwNC4wMTItLjAwNC4xMDEtLjAyOC4yMDMtLjA1MS4zMDUtLjA2Ny4wMjMtLjAwMy4wMzUtLjAyMy4wMzUtLjA0M3ptLjU4Ni4wMjhoLjAwNGMuMDIgMCAuMDMtLjAxMi4wMzktLjAyOC4wMTUgMCAuMDMtLjAwMy4wNDYtLjAwM2EuMDQuMDQgMCAwMC4wMzItLjA0N2MwLS4wMi0uMDI0LS4wMzUtLjA0My0uMDMyLS4wOTguMDEyLS4xOTYuMDE2LS4yOTMuMDJoLS4wOThhLjA0LjA0IDAgMDAwIC4wNzhoLjA5OGMuMDcuMDA0LjE0NC4wMDQuMjE1LjAxMnptLTIuMjUtNC4yOTdoLjAxMWEuMDQuMDQgMCAwMC4wNC0uMDI3Yy4wMy0uMDk4LjA1OC0uMjA0LjA4MS0uMzA5YS4wNC4wNCAwIDAwLS4wMy0uMDQ3Yy0uMDI0LS4wMDQtLjA0NC4wMDgtLjA0OC4wMzEtLjAyLjEwMi0uMDQ3LjIwMy0uMDgyLjMwMS0uMDA0LjAyLjAwNC4wNDMuMDI4LjA1em0uMDk3LS45NzNjLjAwNC4wNDMuMDA0LjA5LjAwNC4xMzMgMCAuMDU5IDAgLjEyMS0uMDA4LjE4IDAgLjAyMy4wMTYuMDM5LjA0LjA0M2guMDAzYy4wMiAwIC4wMzUtLjAxNi4wNC0uMDQuMDAzLS4wNTguMDA3LS4xMi4wMDctLjE4MyAwLS4wNDctLjAwNC0uMDktLjAwNC0uMTM3LS4wMDQtLjAyLS4wMi0uMDM5LS4wNDMtLjAzNWEuMDQuMDQgMCAwMC0uMDM5LjA0em0tLjAzNS0uMzA4Yy4wMDQuMDIuMDIuMDMuMDQuMDNoLjAwN2MuMDIzLS4wMDMuMDM1LS4wMjMuMDMxLS4wNDZhMi45NSAyLjk1IDAgMDAtLjA3NC0uMzA5Yy0uMDA4LS4wMjMtLjAzMS0uMDM1LS4wNS0uMDI3LS4wMi4wMDQtLjAzMi4wMjctLjAyOC4wNS4wMzEuMDk5LjA1NS4yLjA3NC4zMDJ6TS42NiAxMC4zOWMuMDA0LjAwNC4wMTIuMDA0LjAyLjAwNC4wMTEgMCAuMDI3LS4wMDQuMDM1LS4wMmEyLjI2IDIuMjYgMCAwMS4xNzYtLjI1NC4wNDcuMDQ3IDAgMDAtLjAwOC0uMDU5LjA0Mi4wNDIgMCAwMC0uMDU1LjAwOCAyLjEzNSAyLjEzNSAwIDAwLS4xODMuMjY2Yy0uMDEyLjAyLS4wMDQuMDQzLjAxNS4wNTV6bTMuNzE1LS43MjdjLjAwOC4wMDguMDE2LjAwOC4wMjMuMDA4YS4wMzYuMDM2IDAgMDAuMDMyLS4wMTZjLjAxNS0uMDE1LjAxMS0uMDQzLS4wMDgtLjA1NGEyLjQwNCAyLjQwNCAwIDAwLS4yNjYtLjE3NmMtLjA0Ny0uMDI4LS4wOTMtLjA1NS0uMTQ0LS4wNzgtLjAyLS4wMDgtLjA0MyAwLS4wNTEuMDItLjAxMi4wMTktLjAwNC4wNDIuMDE2LjA1LjA0Ni4wMjMuMDkzLjA1LjEzNi4wNzQuMDkuMDU1LjE4LjExLjI2Mi4xNzJ6bS0zLjMwOS4yMzRhLjA0NC4wNDQgMCAwMC4wMzItLjAxMWMuMDctLjA3NS4xNTItLjE0NS4yMzQtLjIwNy4wMTYtLjAxMi4wMi0uMDQuMDA0LS4wNTUtLjAxMi0uMDItLjAzNS0uMDItLjA1NS0uMDA4YTMuMTIxIDMuMTIxIDAgMDAtLjI0Mi4yMTEuMDQyLjA0MiAwIDAwMCAuMDU5Yy4wMDguMDA4LjAyLjAxMS4wMjcuMDExem0tLjM1MSAzLjEyNWEuMDQuMDQgMCAwMC0uMDEyLjA1NWMuMDU5LjA5LjEyMS4xNzYuMTkyLjI1OC4wMDcuMDEyLjAyLjAxNi4wMy4wMTYuMDA5IDAgLjAxNi0uMDA0LjAyNC0uMDEyLjAyLS4wMTIuMDItLjA0LjAwOC0uMDU1YTEuODk3IDEuODk3IDAgMDEtLjE4Ny0uMjVjLS4wMTItLjAxNS0uMDQtLjAyMy0uMDU1LS4wMTJ6bTQuNDMtMi4zOTRjLjAwNy4wMTYuMDIuMDIzLjAzNS4wMjMuMDA4IDAgLjAxMSAwIC4wMi0uMDA0LjAxOS0uMDA3LjAyNy0uMDMuMDE5LS4wNWEzLjI5NyAzLjI5NyAwIDAwLS4xNTMtLjI4NmMtLjAxMS0uMDE5LS4wMzUtLjAyMy0uMDU0LS4wMTEtLjAyLjAwOC0uMDI0LjAzNS0uMDEyLjA1NC4wNTUuMDg2LjEwMi4xOC4xNDUuMjc0ek0zLjY5IDkuMjk3Yy4wMDQuMDA0LjAwOC4wMDQuMDEyLjAwNC4wMTYgMCAuMDMxLS4wMTIuMDQtLjAyOC4wMDctLjAyLS4wMDUtLjA0My0uMDI0LS4wNWEyLjE3OCAyLjE3OCAwIDAwLS4zMTMtLjA4NmMtLjAyLS4wMDgtLjAzOS4wMDgtLjA0Ny4wMjctLjAwNC4wMjQuMDEyLjA0My4wMzIuMDUuMTAxLjAyLjIwMy4wNDguMy4wODN6bS0xLjUzLS4wNGMuMDk3LS4wMjcuMTk4LS4wNS4zLS4wNjYuMDIzLS4wMDQuMDM5LS4wMjcuMDM1LS4wNDYtLjAwNC0uMDI0LS4wMjMtLjAzNi0uMDQ3LS4wMzYtLjEwNS4wMi0uMjEuMDQzLS4zMTIuMDc1YS4wMzUuMDM1IDAgMDAtLjAyOC4wNDZjLjAwNC4wMi4wMi4wMzIuMDQuMDMyLjAwMyAwIC4wMDcgMCAuMDExLS4wMDR6TS40MTMgMTAuOTc0aC4wMTJjLjAxNSAwIC4wMzEtLjAxMi4wMzktLjAyOC4wMjctLjA5Ny4wNjItLjE5OS4xMDUtLjI5My4wMDgtLjAyIDAtLjA0My0uMDItLjA1LS4wMTktLjAxMi0uMDQyIDAtLjA1NC4wMi0uMDQzLjA5Ny0uMDc4LjE5OC0uMTEuMy0uMDA3LjAyLjAwNS4wNDMuMDI4LjA1em0yLjY2OC0xLjgwNWguMDA0YS4wNC4wNCAwIDAwLjAzOS0uMDRjLjAwNC0uMDE5LS4wMTItLjAzOC0uMDM1LS4wNDItLjEwNi0uMDA4LS4yMTUtLjAxMi0uMzItLjAwOC0uMDI0IDAtLjA0LjAyLS4wNC4wNDMgMCAuMDI0LjAyLjA0LjA0My4wNC4xMDItLjAwNS4yMDctLjAwNS4zMDkuMDA3ek0uNDQ1IDEyLjQ1M2MtLjAyMy4wMDgtLjAzLjAzMS0uMDI3LjA1LjAzNS4xMDIuMDc4LjIuMTI1LjI5OC4wMDguMDE1LjAyLjAyMy4wMzUuMDIzLjAwOCAwIC4wMTItLjAwNC4wMi0uMDA0LjAyLS4wMTEuMDI3LS4wMzUuMDE1LS4wNTRhMi42MzMgMi42MzMgMCAwMS0uMTE3LS4yOWMtLjAwOC0uMDE5LS4wMzEtLjAzLS4wNS0uMDIzem00LjU0LjYxN2MuMDAzLjAwNC4wMTEuMDA0LjAxOS4wMDQuMDE2IDAgLjAyNy0uMDA0LjAzNS0uMDE1LjAyLS4wMzYuMDQzLS4wNy4wNjMtLjEwNi4wMDMtLjAwOC4wMDctLjAyLjAxNS0uMDI3bC4wMDQtLjAwNGMuMDUtLjA5LjExMy0uMTc2LjE3Ni0uMjU4LjAxMi0uMDIuMDEyLS4wNDMtLjAwOC0uMDU1LS4wMTYtLjAxNS0uMDQzLS4wMTEtLjA1NS4wMDRhMS44MyAxLjgzIDAgMDAtLjA3OC4xMDZjLS4wMTUgMC0uMDI3LjAwOC0uMDM1LjAyM2EyLjM4IDIuMzggMCAwMS0uMDkuMTcyYy0uMDIuMDM1LS4wMzkuMDY2LS4wNTguMTAyYS4wNC4wNCAwIDAwLjAxMS4wNTR6bS00LjYwMi0uODQzYy4wMi0uMDA4LjAzNS0uMDI4LjAzMS0uMDUxYTEuOTc4IDEuOTc4IDAgMDEtLjA0Ny0uMzA1YzAtLjAyMy0uMDItLjAzOS0uMDQzLS4wMzktLjAyMy4wMDQtLjAzOS4wMjMtLjAzNS4wNDMuMDA4LjExLjAyNC4yMTUuMDQ3LjMyLjAwNC4wMTYuMDIuMDMyLjAzOS4wMzJoLjAwOHptMy45NDkgMS40NjRhMi45NTUgMi45NTUgMCAwMS0uMjYyLjE2NGMtLjAyLjAxMi0uMDI3LjAzNi0uMDE1LjA1NS4wMDguMDE2LjAyLjAyLjAzNS4wMi4wMDggMCAuMDEyIDAgLjAyLS4wMDQuMDkzLS4wNTEuMTgzLS4xMS4yNjktLjE3MmEuMDQuMDQgMCAwMC4wMTItLjA1NWMtLjAxNi0uMDItLjA0LS4wMjMtLjA1OS0uMDA4em0tMS40OTYuNTE2YzAgLjAyMy4wMi4wNC4wMzkuMDQuMTEgMCAuMjE1LS4wMDkuMzItLjAyNC4wMjQgMCAuMDQtLjAyLjAzNS0uMDQzLS4wMDMtLjAyNC0uMDIzLS4wNC0uMDQyLS4wMzUtLjEwNi4wMTUtLjIwOC4wMi0uMzEzLjAyM2EuMDQuMDQgMCAwMC0uMDQuMDM5em0xLjc2Ni0uNjQ1Yy4wMDcgMCAuMDItLjAwMy4wMjctLjAxMS4wNzQtLjA3LjE0NC0uMTQ1LjIxLS4yMjNsLS4wNDYuMTM3Yy0uMDA4LjAyMy4wMDQuMDQzLjAyNy4wNS4wMDQgMCAuMDA4LjAwNS4wMTIuMDA1LjAxNiAwIC4wMzEtLjAxMi4wNC0uMDMyYTIuMiAyLjIgMCAwMS4xMDUtLjI5M2MuMDA3LS4wMiAwLS4wNDMtLjAyLS4wNS0uMDItLjAwOC0uMDQzIDAtLjA1LjAyLS4wMi4wMzgtLjAzNi4wNzctLjA1Mi4xMTZhLjAyMS4wMjEgMCAwMC0uMDExLS4wMmMtLjAxNi0uMDE1LS4wNDMtLjAxMS0uMDU1LjAwNS0uMDY2LjA3OC0uMTQuMTU2LS4yMTUuMjI2LS4wMTUuMDE2LS4wMi4wNC0uMDA0LjA1NS4wMDguMDA4LjAyLjAxNS4wMzIuMDE1em0tMi4zOTEuNTZjLS4wMDguMDIzLjAwOC4wNDIuMDI3LjA1LjEwNi4wMjMuMjExLjA0My4zMTcuMDU1LjAwNCAwIC4wMDQuMDAzLjAwNC4wMDMuMDIzIDAgLjAzOS0uMDE1LjA0My0uMDM5IDAtLjAyLS4wMTYtLjAzOS0uMDM2LS4wNDNhMi42ODEgMi42ODEgMCAwMS0uMzA4LS4wNTRjLS4wMi0uMDA4LS4wNDMuMDA4LS4wNDcuMDI3em0xLjI1NC4wMWMuMDA0LjAyLjAyLjAzMi4wMzkuMDMyaC4wMDhjLjEwNS0uMDI3LjIwNy0uMDYyLjMwNC0uMTAxLjAyNC0uMDA4LjAzMi0uMDMyLjAyNC0uMDUxLS4wMDgtLjAyLS4wMzEtLjAzMi0uMDUtLjAyNC0uMDk5LjA0LS4xOTYuMDctLjI5OC4wOTgtLjAyLjAwNC0uMDM1LjAyNy0uMDI3LjA0N3ptMS4zNTUtNC4wMzRjLjAwOC4wMTEuMDIuMDE1LjAzMi4wMTVhLjA1Ni4wNTYgMCAwMC4wMjMtLjAwOGMuMDItLjAxNS4wMi0uMDM5LjAwOC0uMDU0YTIuNTE2IDIuNTE2IDAgMDAtLjIxNS0uMjM5LjA0Mi4wNDIgMCAwMC0uMDU5IDAgLjAzOC4wMzggMCAwMDAgLjA1NWMuMDc1LjA3NC4xNDUuMTUzLjIxMS4yM3ptLTQuNSAxLjVhLjA0LjA0IDAgMDAuMDQtLjA0Yy4wMDMtLjEwNS4wMTUtLjIwNi4wMy0uMzA4LjAwNS0uMDIzLS4wMDctLjA0My0uMDMtLjA0N2EuMDQzLjA0MyAwIDAwLS4wNDcuMDMxIDIuOTYyIDIuOTYyIDAgMDAtLjAzMi4zMmMwIC4wMjQuMDE2LjA0LjA0LjA0NHptMS4zMDUgMi4yODljLS4wMTIuMDItLjAwNC4wNDMuMDE2LjA1LjA5My4wNTEuMTkxLjA5OC4yOTMuMTM3aC4wMTVjLjAxNiAwIC4wMzEtLjAwOC4wMzUtLjAyM0EuMDM4LjAzOCAwIDAwMS45NjEgMTRhMi42MzEgMi42MzEgMCAwMS0uMjgxLS4xMzMuMDQ1LjA0NSAwIDAwLS4wNTUuMDJ6bS0uNTA4LS4zNzVhLjA0Mi4wNDIgMCAwMDAgLjA1OGMuMDc4LjA3LjE2NC4xMzcuMjUuMmEuMDU2LjA1NiAwIDAwLjAyNC4wMDdjLjAxMSAwIC4wMjMtLjAwNy4wMy0uMDE1LjAxNi0uMDIuMDEzLS4wNDMtLjAwNy0uMDU5YTEuOTYxIDEuOTYxIDAgMDEtLjI0Mi0uMTk1Yy0uMDE2LS4wMTItLjA0My0uMDEyLS4wNTUuMDA0em0uNDUtNGMuMDA3IDAgLjAxNSAwIC4wMjMtLjAwNC4wODYtLjA1NS4xOC0uMTAyLjI3Ny0uMTQ1LjAyLS4wMDguMDI4LS4wMzEuMDItLjA1YS4wMzkuMDM5IDAgMDAtLjA1NS0uMDJjLS4wOTguMDM5LS4xOTEuMDktLjI4NS4xNDUtLjAyLjAxMS0uMDI0LjAzNS0uMDEyLjA1NC4wMDQuMDEyLjAyLjAyLjAzMS4wMnptOC4yNDIgNC41MjNjLS4wMjQgMC0uMDQuMDItLjA0LjA0My4wMDQuMDQzLjAwNC4wODYuMDA0LjEyOSAwIC4wNjMgMCAuMTIxLS4wMDMuMTgtLjAwNC4wMjMuMDExLjA0My4wMzUuMDQzaC4wMDRjLjAyIDAgLjAzOS0uMDE2LjAzOS0uMDM1LjAwNC0uMDYzLjAwNy0uMTI1LjAwNy0uMTg4IDAtLjA0My0uMDAzLS4wOS0uMDAzLS4xMzdhLjA0Mi4wNDIgMCAwMC0uMDQzLS4wMzV6bS0uMTM3IDEuMDEyYy4wMDQuMDA0LjAwOC4wMDQuMDEyLjAwNC4wMTUgMCAuMDMtLjAxMi4wMzktLjAyOC4wMy0uMTAxLjA2Mi0uMjA3LjA4Mi0uMzEyYS4wNDMuMDQzIDAgMDAtLjAzMi0uMDQ3LjA0LjA0IDAgMDAtLjA0Ni4wMzFjLS4wMi4xMDItLjA0Ny4yMDMtLjA4Mi4zMDFhLjA0NS4wNDUgMCAwMC4wMjcuMDV6bS0uMDkuMjE5Yy0uMDItLjAwOC0uMDQzIDAtLjA1LjAyLS4wMzIuMDU4LS4wNi4xMTYtLjA5NS4xNzEtLjAxOS4wMzUtLjAzOS4wNjYtLjA1OC4xMDItLjAxMi4wMi0uMDA4LjA0My4wMTIuMDU0YS4wMy4wMyAwIDAwLjAyLjAwOC4wNDEuMDQxIDAgMDAuMDM0LS4wMmMuMDItLjAzNS4wNDMtLjA3LjA2My0uMTAxLjAzMS0uMDU5LjA2Ni0uMTIxLjA5NC0uMThhLjA0NS4wNDUgMCAwMC0uMDItLjA1NHptLjEwNS0xLjg1MmEuMDQ1LjA0NSAwIDAwLS4wMjcuMDVjLjAzMS4wOTguMDU5LjIuMDc0LjMwMi4wMDQuMDIuMDIuMDM1LjA0LjAzNWguMDA3Yy4wMjQtLjAwNC4wMzUtLjAyOC4wMzEtLjA0N2EyLjEzOCAyLjEzOCAwIDAwLS4wNzQtLjMxM2MtLjAwOC0uMDIzLS4wMzEtLjAzNS0uMDUtLjAyN3ptLTQuMTY0IDIuNjRjLS4wMTUuMDItLjAxNS4wNDQgMCAuMDYuMDc5LjA3LjE2NS4xNC4yNS4xOTguMDA4LjAwOC4wMTYuMDA4LjAyNC4wMDguMDEyIDAgLjAyNy0uMDA0LjAzNS0uMDE1LjAxMi0uMDIuMDA4LS4wNDMtLjAxMi0uMDU1YTIuOTQgMi45NCAwIDAxLS4yNDItLjE5NWMtLjAxNi0uMDE2LS4wNDMtLjAxNi0uMDU1IDB6bS0uMDc4LTMuNjI0Yy4wMDguMDA4LjAyLjAxMS4wMzIuMDExLjAwNyAwIC4wMi0uMDA0LjAyNy0uMDExLjA3NC0uMDc1LjE1Mi0uMTQuMjM0LS4yMDMuMDE2LS4wMTYuMDItLjA0LjAwNC0uMDU5LS4wMTItLjAxNi0uMDM1LS4wMi0uMDU0LS4wMDhhMi41MDcgMi41MDcgMCAwMC0uMjQzLjIxNS4wMzguMDM4IDAgMDAwIC4wNTV6bS0uMTEzIDMuNDY1Yy4wMDggMCAuMDItLjAwNC4wMjctLjAwOC4wMTYtLjAxNi4wMTYtLjA0LjAwNC0uMDU5YTIuMjczIDIuMjczIDAgMDEtLjE4Ny0uMjQ2Yy0uMDEyLS4wMi0uMDM1LS4wMjMtLjA1NS0uMDEyLS4wMi4wMTItLjAyMy4wMzUtLjAxMi4wNTUuMDU5LjA5LjEyMS4xNzYuMTkyLjI1OC4wMDguMDA4LjAyLjAxMi4wMzEuMDEyem0uNjQtMy44NGMuMDA4IDAgLjAxNiAwIC4wMjQtLjAwNGExLjY4IDEuNjggMCAwMS4yNzctLjE0LjA0NS4wNDUgMCAwMC4wMi0uMDU2Yy0uMDA4LS4wMi0uMDMxLS4wMjctLjA1LS4wMi0uMTAyLjA0NC0uMTk2LjA5LS4yOS4xNDUtLjAyLjAxMi0uMDIzLjAzNi0uMDEyLjA1NS4wMDguMDEyLjAyLjAyLjAzMi4wMnptLjU5NC0uMjVjLjA5OC0uMDMyLjItLjA1NS4zMDEtLjA3LjAyNC0uMDA1LjA0LS4wMjQuMDM1LS4wNDdhLjA0LjA0IDAgMDAtLjA0Ny0uMDMyYy0uMTA1LjAxNi0uMjEuMDQtLjMxMi4wNy0uMDIuMDA4LS4wMzUuMDI4LS4wMjcuMDUxLjAwNC4wMTYuMDIuMDI4LjAzOS4wMjhoLjAxMXptLTEuNTgyIDMuNTYyYy4wMDggMCAuMDEyIDAgLjAyLS4wMDQuMDItLjAxMS4wMjctLjAzNS4wMTYtLjA1NGEzLjYzOSAzLjYzOSAwIDAxLS4xMTgtLjI4NmMtLjAwNy0uMDIzLS4wMy0uMDM1LS4wNS0uMDI3LS4wMi4wMDgtLjAzMi4wMzEtLjAyNC4wNS4wMzEuMTAyLjA3NC4yMDQuMTIxLjI5OGEuMDQyLjA0MiAwIDAwLjAzNS4wMjN6bTMuNzk3LTMuMTU2YS4wNTYuMDU2IDAgMDAuMDI0LjAwOGMuMDExIDAgLjAyMy0uMDA4LjAzLS4wMTYuMDE3LS4wMi4wMTMtLjA0My0uMDA3LS4wNThhMi42MDcgMi42MDcgMCAwMC0uMjY1LS4xNzZjLS4wNDctLjAyOC0uMDk0LS4wNTUtLjE0NS0uMDc4LS4wMi0uMDA4LS4wNDMgMC0uMDUuMDItLjAxMy4wMTktLjAwNS4wNDIuMDE1LjA1NGEyLjQ0IDIuNDQgMCAwMS4zOTguMjQ2em0tMi43NSA0LjIxOWMtLjAxMS4wMi0uMDA0LjA0My4wMTYuMDU0YTIuODEgMi44MSAwIDAwLjMwOC4xMzcuMDM4LjAzOCAwIDAwLjAzNi0uMDI3LjAzOC4wMzggMCAwMC0uMDI0LS4wNTEgMy42NTYgMy42NTYgMCAwMS0uMjgxLS4xMjljLS4wMi0uMDEyLS4wNDMtLjAwNC0uMDU1LjAxNnptLTEuMy0yLjA1MWMtLjAyNCAwLS4wNC4wMi0uMDM2LjA0My4wMDguMTA1LjAyNC4yMS4wNDcuMzE2LjAwNC4wMi4wMi4wMzIuMDQuMDMyaC4wMDdhLjA0My4wNDMgMCAwMC4wMzEtLjA0NyAyLjEwNSAyLjEwNSAwIDAxLS4wNDctLjMwOWMwLS4wMjMtLjAyLS4wMzktLjA0My0uMDM1em0yLjc1Ny0yLjY2OGguMDA0Yy4wMjQgMCAuMDQtLjAxNi4wNDMtLjAzNSAwLS4wMjQtLjAxNS0uMDQzLS4wMzktLjA0M2EyLjE5NCAyLjE5NCAwIDAwLS4zMi0uMDA4LjA0LjA0IDAgMDAtLjA0LjA0YzAgLjAyMy4wMi4wMzguMDQ0LjAzOC4xMDEtLjAwNC4yMDcgMCAuMzA4LjAwOHptLjYxLjEzM2guMDExYy4wMiAwIC4wMzYtLjAwOC4wNC0uMDI4LjAwNy0uMDItLjAwNC0uMDQzLS4wMjQtLjA1YTMuMDMyIDMuMDMyIDAgMDAtLjMwOS0uMDg2Yy0uMDIzLS4wMDQtLjA0My4wMDgtLjA1LjAzYS4wNDMuMDQzIDAgMDAuMDMuMDQ4Yy4xMDIuMDIzLjIwNC4wNS4zMDIuMDg2em0xLjEyOS44Yy4wMDcuMDA4LjAyLjAxMi4wMy4wMTIuMDA5IDAgLjAyIDAgLjAyNC0uMDA4LjAwNCAwIC4wMDQgMCAuMDA0LS4wMDNhLjEzOS4xMzkgMCAwMS4wMTYuMDM1Yy4wMDguMDE1LjAyLjAyMy4wMzUuMDIzLjAwOCAwIC4wMTIgMCAuMDE2LS4wMDRhLjAzOC4wMzggMCAwMC4wMjMtLjA1IDIuMDIgMi4wMiAwIDAxLS4xMDUtLjI5NGMtLjAwOC0uMDItLjAyOC0uMDM1LS4wNTEtLjAyN2EuMDQ1LjA0NSAwIDAwLS4wMjguMDVjLjAxNi4wNTYuMDM2LjEwNi4wNTUuMTYxYTMuODIgMy44MiAwIDAwLS4xNzItLjE4NC4wNDIuMDQyIDAgMDAtLjA1OCAwYy0uMDE2LjAxNi0uMDEyLjA0My4wMDQuMDU1LjA3NC4wNzQuMTQ0LjE1Mi4yMDcuMjM1ek03Ljg3IDE2LjY4Yy4wMDQuMDE1LjAyLjAyNy4wNC4wMjdoLjAwN2MuMTA1LS4wMjcuMjA3LS4wNTkuMzA1LS4xMDJhLjAzOC4wMzggMCAwMC4wMjMtLjA1Yy0uMDA4LS4wMi0uMDMxLS4wMzItLjA1LS4wMjRhMi4wMyAyLjAzIDAgMDEtLjI5OC4wOThjLS4wMi4wMDgtLjAzNS4wMjctLjAyNy4wNXptLTMuMTA1LTIuOTM0Yy0uMDItLjAwNC0uMDQzLjAxMi0uMDQ3LjAzNWEyLjggMi44IDAgMDAtLjAzMi4zMTdjMCAuMDIzLjAxNi4wNDMuMDQuMDQzLjAyMyAwIC4wMzktLjAxNi4wMzktLjA0LjAwNC0uMTAxLjAxNS0uMjA2LjAzNS0uMzA4LjAwNC0uMDIzLS4wMTItLjA0My0uMDM1LS4wNDd6bTMuOTcyIDIuNDg4YTIuOTg4IDIuOTg4IDAgMDEtLjI2MS4xNjhjLS4wMi4wMDgtLjAyOC4wMzItLjAxNi4wNTEuMDA4LjAxNi4wMi4wMjQuMDM1LjAyNC4wMDggMCAuMDEyLS4wMDQuMDItLjAwOC4wOTMtLjA1MS4xODMtLjExLjI3LS4xNzIuMDE5LS4wMTIuMDIzLS4wMzUuMDEtLjA1NWEuMDQ3LjA0NyAwIDAwLS4wNTgtLjAwOHptLjI3LS4xMjljLjAwOCAwIC4wMi0uMDAzLjAyNy0uMDExLjA3OC0uMDc0LjE1Mi0uMTUzLjIxOS0uMjM1LjAxNi0uMDE1LjAxMi0uMDQzLS4wMDQtLjA1NC0uMDE2LS4wMTYtLjA0My0uMDEyLS4wNTUuMDA0LS4wNjYuMDgyLS4xNC4xNTYtLjIxNS4yMjZhLjA0Ny4wNDcgMCAwMC0uMDAzLjA1OWMuMDA3LjAwOC4wMi4wMTEuMDMuMDExek05Ljk3NyA0LjcyYy4wMDcgMCAuMDIgMCAuMDI3LS4wMDguMDc4LS4wNy4xNi0uMTM3LjI0Mi0uMTk1LjAyLS4wMTIuMDI0LS4wMzYuMDEyLS4wNTVhLjA0LjA0IDAgMDAtLjA1NS0uMDEyYy0uMDkuMDYzLS4xNzIuMTMtLjI1NC4yMDMtLjAxNS4wMTItLjAxNS4wNC0uMDA0LjA1NS4wMDguMDA4LjAyLjAxMi4wMzIuMDEyem0zLjc0MiAzLjM3YS4wNTYuMDU2IDAgMDAuMDIzLjAwOS4wNDEuMDQxIDAgMDAuMDM1LS4wMiAyLjM5IDIuMzkgMCAwMC4xNjgtLjI3Yy4wMTItLjAxOS4wMDQtLjA0Mi0uMDE1LS4wNTQtLjAyLS4wMTItLjA0My0uMDA0LS4wNTEuMDE2LS4wNS4wOS0uMTA2LjE4LS4xNjguMjYxYS4wNDcuMDQ3IDAgMDAuMDA4LjA1OXptLS40MDMuNDdhLjA1Ni4wNTYgMCAwMC4wMjQtLjAwOGMuMDgyLS4wNy4xNi0uMTQ1LjIzNC0uMjIzLjAxNi0uMDE1LjAxMi0uMDQzLS4wMDQtLjA1NWEuMDM4LjAzOCAwIDAwLS4wNTQgMGMtLjA3LjA3OS0uMTQ5LjE0OS0uMjI3LjIxNS0uMDE2LjAxNi0uMDIuMDQtLjAwNC4wNTkuMDA4LjAwOC4wMi4wMTIuMDMxLjAxMnptLS41My4zNDNjLjAwNyAwIC4wMSAwIC4wMTktLjAwNC4wOTMtLjA0Ni4xODctLjA5Ny4yNzctLjE1NmEuMDQuMDQgMCAwMC4wMTItLjA1NWMtLjAxMi0uMDE5LS4wMzUtLjAyMy0uMDU1LS4wMTEtLjA4Ni4wNTQtLjE4LjEwNS0uMjcuMTUyLS4wMTkuMDA4LS4wMy4wMzEtLjAxOS4wNTUuMDA4LjAxMi4wMi4wMi4wMzUuMDJ6bS0uNDU4LTQuNzQ2YTIuNjM4IDIuNjM4IDAgMDEuMzEzLjEwMmMuMDE1IDAgLjAyNy0uMDA4LjAzNS0uMDI0LjAwOC0uMDIzIDAtLjA0Ni0uMDI0LS4wNTQtLjA5Ny0uMDQtLjE5OS0uMDc1LS4zMDQtLjEwMi0uMDItLjAwNC0uMDQzLjAwOC0uMDQ3LjAyNy0uMDA4LjAyNC4wMDguMDQzLjAyNy4wNTF6bS0uNzczIDVoLjE2YTQuMSA0LjEgMCAwMS4zMDguMDI0bC4wMDQuMDA0Yy4wMjQgMCAuMDQtLjAxNi4wNDMtLjAzNiAwLS4wMjMtLjAxNS0uMDQzLS4wMzUtLjA0NmwtLjEyOS0uMDEyYS4wNDEuMDQxIDAgMDAtLjAzNS0uMDIgMi43NjkgMi43NjkgMCAwMS0uMzEyLjAwNC4wNC4wNCAwIDAwLS4wNC4wNGMtLjAwMy4wMjMuMDE2LjAzOC4wMzYuMDQyem0tLjQ3LTUuMDJoLjAwOWMuMTAxLS4wMjMuMjA3LS4wNDIuMzA4LS4wNS4wMjQtLjAwNC4wNC0uMDI0LjAzNi0uMDQ3YS4wNDYuMDQ2IDAgMDAtLjA0My0uMDM1IDIuODE2IDIuODE2IDAgMDAtLjMxNy4wNTVjLS4wMjMuMDA3LS4wMzUuMDI3LS4wMzEuMDQ2LjAwNC4wMi4wMi4wMzIuMDM5LjAzMnptLjYzLS4wNjZjLjEwMSAwIC4yMDcuMDA4LjMwOC4wMjRoLjAwNGMuMDI0IDAgLjA0LS4wMTYuMDQzLS4wMzUgMC0uMDItLjAxNS0uMDQzLS4wMzUtLjA0M2EyLjk1MyAyLjk1MyAwIDAwLS4zMi0uMDI4LjA0LjA0IDAgMDAtLjA0LjA0Yy0uMDAzLjAyMy4wMTYuMDQyLjA0LjA0MnptLjQ3MyA1LjAzNWguMDA3Yy4xMDYtLjAyLjIxMS0uMDUuMzEzLS4wODIuMDItLjAwNy4wMzEtLjAzLjAyMy0uMDUtLjAwOC0uMDI0LS4wMzEtLjAzNi0uMDUtLjAyOC0uMDk4LjAzNS0uMi4wNjMtLjMwMS4wODJhLjA0LjA0IDAgMDAtLjAzMi4wNDdjLjAwNC4wMi4wMi4wMzEuMDQuMDMxem0xLjQzLTQuMTE3Yy4wMDcuMDEyLjAxOS4wMTYuMDI3LjAxNi4wMTEgMCAuMDItLjAwNC4wMjctLjAwOC4wMTUtLjAxNi4wMi0uMDM5LjAwNC0uMDU5YTIuNDY4IDIuNDY4IDAgMDAtLjIxOS0uMjM0LjAzOC4wMzggMCAwMC0uMDU1IDAgLjA0Mi4wNDIgMCAwMDAgLjA1OWMuMDc4LjA3LjE0OS4xNDguMjE1LjIyNnptLTIuNjkyIDQuMDU5Yy4wOTcuMDI3LjE5NS4wNTUuMjk3LjA3YTEuNTcgMS41NyAwIDAwLS4xNDUuMDMxYy0uMDIzLjAwNC0uMDM1LjAyOC0uMDMxLjA0Ny4wMDQuMDIuMDIuMDMyLjAzOS4wMzJoLjAwOGEyLjg0IDIuODQgMCAwMS4zMDgtLjA1NWMuMDI0IDAgLjA0LS4wMjQuMDM2LS4wNDMtLjAwNC0uMDI0LS4wMjQtLjA0LS4wNDMtLjAzNWExLjM2NSAxLjM2NSAwIDAwLS4xMjUuMDE1Yy4wMDctLjAwNC4wMTEtLjAxMS4wMTEtLjAyMy4wMDQtLjAyLS4wMDgtLjA0LS4wMzEtLjA0M2EyLjYgMi42IDAgMDEtLjMtLjA3NGMtLjAyNC0uMDA0LS4wNDguMDA4LS4wNTIuMDI3LS4wMDcuMDI0LjAwNC4wNDMuMDI4LjA1em0tLjU4Ni0uMjYyYy4wOS4wNTUuMTg3LjEwNi4yODUuMTQ5LjAwNC4wMDQuMDA4LjAwNC4wMTYuMDA0LjAxNSAwIC4wMjctLjAwOC4wMzUtLjAyNGEuMDQ1LjA0NSAwIDAwLS4wMi0uMDU1IDIuMDg1IDIuMDg1IDAgMDEtLjI3Ny0uMTQ0Yy0uMDItLjAwOC0uMDQzLS4wMDQtLjA1NS4wMTUtLjAxMS4wMi0uMDA0LjA0My4wMTYuMDU1em0uMTU2LTQuNDI2Yy4wMDQgMCAuMDEyIDAgLjAxNi0uMDA0LjA5My0uMDQ2LjE4Ny0uMDkuMjg1LS4xMjguMDItLjAwOC4wMzEtLjAzMi4wMjMtLjA1MS0uMDA4LS4wMi0uMDMtLjAzMS0uMDUtLjAyNC0uMTAyLjA0LS4yLjA4Mi0uMjkzLjEzMy0uMDIuMDA4LS4wMjguMDM1LS4wMTYuMDU1LjAwNC4wMTIuMDIuMDIuMDM1LjAyem0tLjk1Ny44MzJhLjA1LjA1IDAgMDAuMDI0LjAwNGMuMDExIDAgLjAyNy0uMDA0LjAzNS0uMDE1LjA1NC0uMDg2LjEyLS4xNjguMTg3LS4yNDYuMDE2LS4wMi4wMTItLjA0My0uMDA0LS4wNTktLjAxNS0uMDE2LS4wNDMtLjAxMi0uMDU0LjAwNC0uMDcuMDgyLS4xMzcuMTY4LS4xOTYuMjU4LS4wMTUuMDE1LS4wMDguMDQzLjAwOC4wNTR6bTMuMzYzLS44Yy4wOTQuMDUuMTguMTA5LjI2Mi4xNjguMDA4LjAwNy4wMTYuMDA3LjAyNC4wMDcuMDE1IDAgLjAyNy0uMDAzLjAzNS0uMDE1YS4wNDIuMDQyIDAgMDAtLjAwOC0uMDU1IDMuOTggMy45OCAwIDAwLS4yNy0uMTc2Yy0uMDItLjAxMS0uMDQ3LS4wMDQtLjA1NC4wMTZhLjA0Mi4wNDIgMCAwMC4wMTEuMDU1ek0xMC4wNzQgOC42YS4wNTYuMDU2IDAgMDAuMDI0LjAwOC4wMzYuMDM2IDAgMDAuMDMtLjAxNWMuMDE3LS4wMTYuMDEzLS4wNDMtLjAwMy0uMDU1YTIuMzM5IDIuMzM5IDAgMDEtLjIzNC0uMjA3LjAzOC4wMzggMCAwMC0uMDU1IDAgLjAzOC4wMzggMCAwMDAgLjA1NWMuMDc0LjA3OC4xNTYuMTQ4LjIzOC4yMTV6bS0uODA4LTIuODQzYy4wMDQuMDA0LjAwNy4wMDQuMDExLjAwNC4wMTYgMCAuMDMyLS4wMTIuMDQtLjAyOC4wMzUtLjA5Ny4wNzQtLjE5NS4xMi0uMjg1LjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDU0LS4wMi0uMDEyLS4wNDMtLjAwNC0uMDU1LjAyLS4wNDcuMDkzLS4wOS4xOS0uMTI1LjI5MmEuMDQuMDQgMCAwMC4wMjQuMDV6bS0uMTI1LjYyaC4wMDRjLjAyIDAgLjAzNS0uMDE1LjAzOS0uMDM4LjAwNy0uMTAyLjAyMy0uMjAzLjA0Ni0uMzA1LjAwNC0uMDIzLS4wMDctLjA0My0uMDMtLjA0Ny0uMDItLjAwOC0uMDQ0LjAwOC0uMDQ4LjAyOGEyLjg4IDIuODggMCAwMC0uMDUuMzJjMCAuMDIuMDE1LjAzOS4wMzkuMDQzem01LjAxMS43ODJjLS4wMi0uMDA0LS4wNDMuMDA4LS4wNDcuMDMxLS4wMjcuMDk4LS4wNTguMi0uMDk3LjI5Ny0uMDA4LjAyLjAwNC4wNDMuMDIzLjA1MS4wMDQgMCAuMDA4LjAwNC4wMTYuMDA0YS4wMzguMDM4IDAgMDAuMDM1LS4wMjdjLjA0LS4wOTguMDc0LS4yMDQuMDk4LS4zMDUuMDA4LS4wMjQtLjAwNC0uMDQzLS4wMjgtLjA1em0tNC43MDcuNzE5Yy4wNTUuMDkuMTE0LjE4LjE4LjI2Ni4wMDguMDExLjAyLjAxNS4wMzEuMDE1LjAwOCAwIC4wMTYtLjAwNC4wMjQtLjAwOC4wMi0uMDE1LjAyMy0uMDM5LjAwOC0uMDU0YTIuMzIzIDIuMzIzIDAgMDEtLjE3Mi0uMjYyYy0uMDEyLS4wMTYtLjA0LS4wMjQtLjA1NS0uMDEyLS4wMi4wMTItLjAyNy4wMzUtLjAxNi4wNTV6bS0uMjgtLjg3MWguMDAzYy4wMjMtLjAwNC4wMzktLjAyNC4wMzUtLjA0M2EyLjgyMiAyLjgyMiAwIDAxLS4wMzEtLjMxM2MwLS4wMi0uMDItLjAzOS0uMDQtLjAzOS0uMDIzIDAtLjAzOC4wMi0uMDM4LjA0My4wMDQuMTA2LjAxMS4yMTUuMDMxLjMyIDAgLjAyLjAyLjAzMi4wNC4wMzJ6bTQuNzgtMS40OTJjLjAwOC4wMTEuMDI0LjAyMy4wNC4wMjMuMDAzIDAgLjAwNy0uMDA0LjAxNS0uMDA0LjAyLS4wMTIuMDI3LS4wMzUuMDItLjA1NWEyLjQ2IDIuNDYgMCAwMC0uMTU3LS4yOGMtLjAxMS0uMDItLjAzNS0uMDI0LS4wNTQtLjAxM2EuMDQyLjA0MiAwIDAwLS4wMTIuMDU1Yy4wNTUuMDg2LjEwNS4xOC4xNDguMjc0em0tNC42MSAyLjEwMWMuMDA5IDAgLjAxMy0uMDA0LjAxNy0uMDA0LjAyMy0uMDA4LjAzLS4wMzEuMDIzLS4wNTRhMS44NjYgMS44NjYgMCAwMS0uMTA1LS4yOTMuMDQ1LjA0NSAwIDAwLS4wNTEtLjAyOC4wNDcuMDQ3IDAgMDAtLjAyOC4wNTFjLjAzMi4xMDIuMDY3LjIwMy4xMS4zLjAwOC4wMTYuMDIuMDI4LjAzNS4wMjh6bTQuODAyLTEuNTEyYy4wMDQuMDIuMDIuMDM2LjAzOS4wMzYuMDA0IDAgLjAwNC0uMDA0LjAwOC0uMDA0LjAyMy0uMDA0LjAzNS0uMDI0LjAzLS4wNDdhMi45NzUgMi45NzUgMCAwMC0uMDc3LS4zMDljLS4wMDgtLjAyMy0uMDMyLS4wMzUtLjA1MS0uMDI3YS4wNDcuMDQ3IDAgMDAtLjAyNy4wNWMuMDM1LjA5OC4wNTguMi4wNzguMzAxem0uMDM5LjMxYy4wMDQuMDU0LjAwNC4xMDUuMDA0LjE2IDAgLjEtLjAwNC4yMDYtLjAyLjMwOCAwIC4wMjMuMDE2LjA0My4wMzUuMDQ3aC4wMDRjLjAyNCAwIC4wNC0uMDE2LjA0My0uMDM1LjAxMi0uMTA2LjAyLS4yMTUuMDItLjMyIDAtLjA1NS0uMDA0LS4xMS0uMDA4LS4xNjVhLjA0LjA0IDAgMDAtLjA0LS4wMzkuMDQ1LjA0NSAwIDAwLS4wMzguMDQzem0tLjg2IDcuMjMzYy4wMDggMCAuMDE2LS4wMDMuMDI0LS4wMTEuMDgyLS4wNjcuMTYtLjE0LjIzNC0uMjE5LjAxNi0uMDE2LjAxMi0uMDQzLS4wMDQtLjA1OS0uMDE1LS4wMTUtLjAzOS0uMDExLS4wNTQuMDA0LS4wNy4wNzUtLjE0OS4xNDktLjIyNy4yMTUtLjAxNi4wMTItLjAyLjA0LS4wMDQuMDU1LjAwOC4wMTIuMDIuMDE1LjAzMS4wMTV6bS4xNDEtMy44NTVhLjAzOC4wMzggMCAwMC0uMDU1IDAgLjAzOC4wMzggMCAwMDAgLjA1NWMuMDc4LjA3NC4xNDkuMTQ4LjIxNS4yMy4wMDguMDA4LjAyLjAxNi4wMjguMDE2LjAxMSAwIC4wMi0uMDA0LjAyNy0uMDEyLjAxNS0uMDEyLjAyLS4wMzkuMDA0LS4wNTVhMi4wNzIgMi4wNzIgMCAwMC0uMjE5LS4yMzR6bS42OCAxLjA3NGMtLjAwOC0uMDItLjAzMi0uMDMxLS4wNTEtLjAyMy0uMDIuMDA0LS4wMzEuMDI3LS4wMjcuMDUuMDM1LjA5OC4wNTguMi4wNzguMzAxLjAwNC4wMi4wMi4wMzIuMDM5LjAzMmguMDA4Yy4wMjMtLjAwNC4wMzUtLjAyNC4wMy0uMDQ3YTIuODEgMi44MSAwIDAwLS4wNzctLjMxM3ptLjA1OCAxLjE0OWguMDA0Yy4wMjQgMCAuMDQtLjAxMi4wNDMtLjAzMmEyLjE5NyAyLjE5NyAwIDAwLjAxMi0uNDg0LjA0LjA0IDAgMDAtLjA0LS4wNGMtLjAyMyAwLS4wMzguMDItLjAzOC4wNDQuMDA0LjA1LjAwNC4xMDUuMDA0LjE1NiAwIC4xMDYtLjAwNC4yMTEtLjAyLjMxMyAwIC4wMjMuMDE2LjA0My4wMzUuMDQzem0tLjM4Ni0xLjc0M2MtLjAxNi4wMTItLjAyNC4wNC0uMDEyLjA1NS4wNTUuMDkuMTA1LjE4LjE0OC4yNzRhLjA0My4wNDMgMCAwMC4wNC4wMjNjLjAwMyAwIC4wMDcgMCAuMDE1LS4wMDQuMDItLjAwOC4wMjctLjAzMS4wMi0uMDVhMi40NiAyLjQ2IDAgMDAtLjE1Ny0uMjgyYy0uMDExLS4wMi0uMDM1LS4wMjctLjA1NC0uMDE2em0tMy42OCAzLjQxYy4wMTYtLjAxOS4wMTItLjA0Mi0uMDA0LS4wNTRhMy4wMDYgMy4wMDYgMCAwMS0uMjM0LS4yMTEuMDM4LjAzOCAwIDAwLS4wNTUgMCAuMDQyLjA0MiAwIDAwMCAuMDU5Yy4wNzQuMDc0LjE1Ni4xNDguMjM4LjIxNC4wMDguMDA0LjAxNi4wMDguMDI0LjAwOC4wMTEgMCAuMDIzLS4wMDguMDMtLjAxNXptLS45NjUtMS41ODVoLjAwNGMuMDIzLS4wMDQuMDM5LS4wMjQuMDM1LS4wNDdhMi43NTMgMi43NTMgMCAwMS0uMDMxLS4zMDkuMDQuMDQgMCAwMC0uMDc4IDBjLjAwNC4xMS4wMTEuMjE1LjAzMS4zMiAwIC4wMi4wMi4wMzYuMDQuMDM2em00LjA1OS0yLjQ1N2MuMDExLS4wMi4wMDctLjA0My0uMDA4LS4wNTVhMi4yNyAyLjI3IDAgMDAtLjI3LS4xNzZjLS4wMi0uMDEyLS4wNDctLjAwNC0uMDU0LjAxNmEuMDQyLjA0MiAwIDAwLjAxMS4wNTRjLjA5NC4wNTEuMTguMTA2LjI2Mi4xNjguMDA4LjAwNC4wMTYuMDA4LjAyNC4wMDguMDE1IDAgLjAyNy0uMDA0LjAzNS0uMDE1em0tLjY5MiA0LjQxOGMtLjAwOC0uMDItLjAzMS0uMDMyLS4wNS0uMDI0LS4wOTguMDMxLS4yLjA1OS0uMzAxLjA4MmEuMDQuMDQgMCAwMC0uMDMyLjA0N2MuMDA0LjAxNi4wMi4wMzEuMDQuMDMxaC4wMDdjLjEwNi0uMDIzLjIxMS0uMDUuMzEzLS4wODZhLjA0LjA0IDAgMDAuMDIzLS4wNXptLTIuOTY5LTMuNzc0YS4wNDcuMDQ3IDAgMDAuMDM2LS4wMmMuMDU0LS4wODEuMTItLjE2Ny4xODctLjI0NS4wMTYtLjAxNi4wMTItLjA0My0uMDA0LS4wNTUtLjAxNS0uMDE2LS4wNDMtLjAxMi0uMDU0LjAwNC0uMDcuMDc4LS4xMzcuMTY0LS4xOTYuMjU0LS4wMTUuMDItLjAwOC4wNDMuMDA4LjA1NGEuMDU2LjA1NiAwIDAwLjAyNC4wMDh6bTIuMzEgMy44NzVhMi43NjkgMi43NjkgMCAwMS0uMzEzLjAwNC4wNC4wNCAwIDAwLS4wNC4wNGMtLjAwMy4wMTkuMDE2LjAzOC4wMzYuMDM4LjA0My4wMDQuMDgyLjAwNC4xMi4wMDQuMDY3IDAgLjEzNy0uMDA0LjIwNC0uMDA4LjAyIDAgLjAzNS0uMDIuMDM1LS4wNDMgMC0uMDIzLS4wMi0uMDM5LS4wNDMtLjAzNXptLTEuMjE2LS4yMWEyLjY3NSAyLjY3NSAwIDAxLS4yNzctLjE0NWMtLjAyLS4wMTItLjA0My0uMDA0LS4wNTUuMDE1LS4wMTEuMDE2LS4wMDQuMDQzLjAxNi4wNTUuMDkuMDU1LjE4Ny4xMDUuMjg1LjE0OC4wMDQgMCAuMDA4LjAwNC4wMTYuMDA0LjAxNSAwIC4wMjctLjAxMS4wMzUtLjAyMy4wMDgtLjAyNCAwLS4wNDctLjAyLS4wNTV6bS41OTQuMTc5YTEuOTc4IDEuOTc4IDAgMDEtLjMtLjA3Yy0uMDI0LS4wMDgtLjA0OC4wMDQtLjA1Mi4wMjctLjAwNy4wMi4wMDQuMDQzLjAyOC4wNS4xMDEuMDI4LjIwNy4wNTUuMzEyLjA3MSAwIC4wMDQuMDA0LjAwNC4wMDQuMDA0LjAyIDAgLjA0LS4wMTYuMDQtLjAzNS4wMDMtLjAyLS4wMDktLjA0My0uMDMyLS4wNDd6bTEuODQ0LS4zNTZhLjA0Mi4wNDIgMCAwMC0uMDU1LS4wMTFjLS4wODYuMDU4LS4xOC4xMS0uMjcuMTU2LS4wMTkuMDA4LS4wMy4wMzEtLjAxOS4wNS4wMDguMDE2LjAyLjAyNC4wMzUuMDI0LjAwOCAwIC4wMTIgMCAuMDItLjAwNC4wOTMtLjA0Ny4xODctLjEwMS4yNzctLjE2LjAyLS4wMTIuMDIzLS4wMzUuMDEyLS4wNTV6bS0yLjMyNC00LjUzYy0uMTAyLjAzNC0uMi4wODEtLjI5My4xMjgtLjAyLjAxMi0uMDI4LjAzNS0uMDE2LjA1NS4wMDQuMDE1LjAyLjAyMy4wMzUuMDIzbC4wMTYtLjAwNGMuMDkzLS4wNS4xODctLjA5My4yODUtLjEyOS4wMi0uMDA3LjAzMS0uMDMuMDIzLS4wNS0uMDA4LS4wMjQtLjAzLS4wMzItLjA1LS4wMjR6TTkuNjU2IDEzLjI1Yy4wMDggMCAuMDE2LS4wMDQuMDI0LS4wMDguMDItLjAxNS4wMjMtLjAzOS4wMDgtLjA1OGEzLjI5NSAzLjI5NSAwIDAxLS4xNjUtLjI0M2MtLjAxNS0uMDI3LS4wMy0uMDU4LS4wNS0uMDg2LS4wMTItLjAyLS4wMzYtLjAyMy0uMDU1LS4wMTEtLjAyLjAxMS0uMDIzLjAzNS0uMDEyLjA1NC4wMTIuMDIuMDI0LjA0LjAzNS4wNjNsLjAwNC4wMDRjLjAwNC4wMDguMDA0LjAxMi4wMDguMDE1LjAzNS4wNjMuMDcuMTMuMDk4LjE5MmEuMDQyLjA0MiAwIDAwLjAzNS4wMjNoLjAxMmwuMDI3LjA0Yy4wMDguMDA3LjAyLjAxNS4wMzEuMDE1em0yLjk5Ni0zLjk4Yy0uMDk3LS4wNC0uMTk5LS4wNzUtLjMwNC0uMTAyYS4wMzUuMDM1IDAgMDAtLjA0Ny4wMjdjLS4wMDguMDIuMDA4LjA0My4wMjcuMDQ3LjEwMi4wMjguMi4wNjMuMjk3LjEwMi4wMDQgMCAuMDA4LjAwNC4wMTYuMDA0LjAxNSAwIC4wMjctLjAxMi4wMzUtLjAyOGEuMDM4LjAzOCAwIDAwLS4wMjQtLjA1em0tMi4zOTQuMjhhLjA0LjA0IDAgMDAtLjA1NS0uMDFjLS4wOS4wNjItLjE3Mi4xMjgtLjI1NC4xOTgtLjAxNS4wMTYtLjAxNS4wNC0uMDA0LjA1OS4wMDguMDA4LjAyLjAxMi4wMzIuMDEyLjAwNyAwIC4wMi0uMDA0LjAyNy0uMDEyLjA3OC0uMDY3LjE2LS4xMzMuMjQyLS4xOTJhLjA0LjA0IDAgMDAuMDEyLS4wNTR6bS0uOTkyIDEuMjk4aC4wMTFhLjA0My4wNDMgMCAwMC4wNC0uMDI0IDIuNjYgMi42NiAwIDAxLjEyLS4yODljLjAxMi0uMDIuMDA0LS4wNDMtLjAxNS0uMDUtLjAyLS4wMTItLjA0My0uMDA1LS4wNTUuMDE1YTIuODEgMi44MSAwIDAwLS4xMjUuMjk3Yy0uMDA4LjAyLjAwNC4wNDMuMDI0LjA1em0tLjA2Ny4yMjZjLjAyNC4wMDQuMDM1LjAyOC4wMzEuMDQ3LS4wMjMuMTAyLS4wMzkuMjA3LS4wNDYuMzA5LS4wMDQuMDItLjAyLjAzNS0uMDQuMDM1aC0uMDAzYy0uMDI0IDAtLjA0LS4wMi0uMDQtLjA0M2EyLjk2IDIuOTYgMCAwMS4wNTEtLjMxN2MuMDA0LS4wMjMuMDI4LS4wMzUuMDQ3LS4wM1wiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9zdmc+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJMb2dvIiwicHJvcHMiLCJzdmciLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0IiwidmVyc2lvbiIsInZpZXdCb3giLCJkZWZzIiwiY2xpcFBhdGgiLCJpZCIsInBhdGgiLCJkIiwiZmlsbCIsImciLCJ0cmFuc2Zvcm0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Logo.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/NavLink.jsx":
/*!************************************!*\
!*** ./src/components/NavLink.jsx ***!
\************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NavLink: function() { return /* binding */ NavLink; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/next/dist/api/link.js\");\n\n\nfunction NavLink(param) {\n let { href, children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: href,\n className: \"inline-block rounded-lg px-2 py-1 text-sm text-gray-400 hover:bg-gold-600 hover:text-slate-900\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/NavLink.jsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n_c = NavLink;\nvar _c;\n$RefreshReg$(_c, \"NavLink\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL05hdkxpbmsuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBNEI7QUFFckIsU0FBU0MsUUFBUSxLQUFrQjtRQUFsQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFsQjtJQUN0QixxQkFDRSw4REFBQ0gsaURBQUlBO1FBQ0hFLE1BQU1BO1FBQ05FLFdBQVU7a0JBRVREOzs7Ozs7QUFHUDtLQVRnQkYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvTmF2TGluay5qc3g/NWUwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5cbmV4cG9ydCBmdW5jdGlvbiBOYXZMaW5rKHsgaHJlZiwgY2hpbGRyZW4gfSkge1xuICByZXR1cm4gKFxuICAgIDxMaW5rXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWJsb2NrIHJvdW5kZWQtbGcgcHgtMiBweS0xIHRleHQtc20gdGV4dC1ncmF5LTQwMCBob3ZlcjpiZy1nb2xkLTYwMCBob3Zlcjp0ZXh0LXNsYXRlLTkwMFwiXG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvTGluaz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJOYXZMaW5rIiwiaHJlZiIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/NavLink.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/Route.jsx":
/*!**********************************!*\
!*** ./src/components/Route.jsx ***!
\**********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Route; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Button */ \"(app-pages-browser)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\nfunction Route() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-hidden bg-creme-600 pt-6 pb-24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-7xl md:px-6 lg:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-x-8 gap-y-4 lg:gap-y-16 lg:grid-cols-2 lg:items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-6 lg:px-0 lg:pr-4 lg:pt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl lg:mx-0 lg:max-w-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-semibold leading-7 text-gold-600\",\n children: \"ITINERARY\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 19,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl\",\n children: \"THE SACRED RIVER\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 20,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-gray-600\",\n children: \"By following the natural flow of the Nile river you will discover some of the most sacred places of the world.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 21,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-6 text-lg leading-8 text-gray-600\",\n children: \"All our trips are designed according to your wishes. Your group's tailored itinerary will lead you to the locations and temples which fit your energy.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 23,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10 mt-10 mb-10 lg:mb-40 lg:py-2 xs:mb-20 flex justify-startgap-x-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n className: \"button-gold\",\n href: \"/register\",\n children: \"Plan Your Visit\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 26,\n columnNumber: 14\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 25,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 17,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sm:px-6 lg:px-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative overflow-hidden sm:mx-auto sm:max-w-2xl sm:rounded-3xl lg:mx-0 lg:max-w-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl sm:mx-0 sm:max-w-none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: \"trip map\",\n src: \"images/map.png\",\n width: 500,\n height: 500,\n className: \"w-full max-w-full rounded-tl-xl bg-gray-800 ring-1 ring-white/10\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 33,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 32,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n \"aria-hidden\": \"true\",\n className: \"pointer-events-none absolute inset-0 ring-1 ring-inset ring-black/10 sm:rounded-3xl\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 41,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 31,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 30,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 16,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Route.jsx\",\n lineNumber: 14,\n columnNumber: 5\n }, this);\n}\n_c = Route;\nvar _c;\n$RefreshReg$(_c, \"Route\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1JvdXRlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFd0Y7QUFDM0Q7QUFDQztBQUNpRDtBQUN4RDtBQUNxQjtBQUNNO0FBR25DLFNBQVNhO0lBQ3RCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUNiLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDRDs0QkFBSUMsV0FBVTs7OENBQ2IsOERBQUNDO29DQUFHRCxXQUFVOzhDQUFrRDs7Ozs7OzhDQUNoRSw4REFBQ0U7b0NBQUVGLFdBQVU7OENBQW1FOzs7Ozs7OENBQ2hGLDhEQUFDRTtvQ0FBRUYsV0FBVTs4Q0FBdUM7Ozs7Ozs4Q0FFcEQsOERBQUNFO29DQUFFRixXQUFVOzhDQUF1Qzs7Ozs7OzhDQUVwRCw4REFBQ0Q7b0NBQUlDLFdBQVU7OENBQ2hCLDRFQUFDSixzREFBTUE7d0NBQUNJLFdBQVU7d0NBQWNHLE1BQUs7a0RBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBSXBELDhEQUFDSjt3QkFBSUMsV0FBVTtrQ0FDYiw0RUFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDRDtvQ0FBSUMsV0FBVTs4Q0FDYiw0RUFBQ0k7d0NBQ0NDLEtBQUk7d0NBQ0pDLEtBQUk7d0NBQ0pDLE9BQU87d0NBQ1BDLFFBQVE7d0NBQ1JSLFdBQVU7Ozs7Ozs7Ozs7OzhDQUdkLDhEQUFDRDtvQ0FDQ1UsZUFBWTtvQ0FDWlQsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTFCO0tBdkN3QkYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvUm91dGUuanN4PzZiZTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgQ2xvdWRBcnJvd1VwSWNvbiwgTG9ja0Nsb3NlZEljb24sIFNlcnZlckljb24gfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkJ1xuaW1wb3J0IHsgdXNlSWQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBJbWFnZSBmcm9tICduZXh0L2ltYWdlJ1xuaW1wb3J0IHsgVGFiLCBUYWJHcm91cCwgVGFiTGlzdCwgVGFiUGFuZWwsIFRhYlBhbmVscyB9IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9CdXR0b24nXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvdXRlKCkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwib3ZlcmZsb3ctaGlkZGVuIGJnLWNyZW1lLTYwMCBwdC02IHBiLTI0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctN3hsIG1kOnB4LTYgbGc6cHgtOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLXgtOCBnYXAteS00IGxnOmdhcC15LTE2IGxnOmdyaWQtY29scy0yIGxnOml0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC02IGxnOnB4LTAgbGc6cHItNCBsZzpwdC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm14LTAgbGc6bWF4LXctbGdcIj5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFzZSBmb250LXNlbWlib2xkIGxlYWRpbmctNyB0ZXh0LWdvbGQtNjAwXCI+SVRJTkVSQVJZPC9oMj5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiB0ZXh0LTN4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBzbTp0ZXh0LTR4bFwiPlRIRSBTQUNSRUQgUklWRVI8L3A+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTYgdGV4dC1sZyBsZWFkaW5nLTggdGV4dC1ncmF5LTYwMFwiPlxuICAgICAgICAgICAgICBCeSBmb2xsb3dpbmcgdGhlIG5hdHVyYWwgZmxvdyBvZiB0aGUgTmlsZSByaXZlciB5b3Ugd2lsbCBkaXNjb3ZlciBzb21lIG9mIHRoZSBtb3N0IHNhY3JlZCBwbGFjZXMgb2YgdGhlIHdvcmxkLjwvcD5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNiB0ZXh0LWxnIGxlYWRpbmctOCB0ZXh0LWdyYXktNjAwXCI+QWxsIG91ciB0cmlwcyBhcmUgZGVzaWduZWQgYWNjb3JkaW5nIHRvIHlvdXIgd2lzaGVzLiBZb3VyIGdyb3VwJ3MgdGFpbG9yZWQgaXRpbmVyYXJ5IHdpbGwgbGVhZCB5b3UgdG8gdGhlIGxvY2F0aW9ucyBhbmQgdGVtcGxlcyB3aGljaCBmaXQgeW91ciBlbmVyZ3kuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwIG10LTEwIG1iLTEwIGxnOm1iLTQwIGxnOnB5LTIgeHM6bWItMjAgZmxleCBqdXN0aWZ5LXN0YXJ0Z2FwLXgtNlwiPlxuICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYnV0dG9uLWdvbGRcIiBocmVmPVwiL3JlZ2lzdGVyXCI+UGxhbiBZb3VyIFZpc2l0PC9CdXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic206cHgtNiBsZzpweC0wXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBzbTpteC1hdXRvIHNtOm1heC13LTJ4bCBzbTpyb3VuZGVkLTN4bCBsZzpteC0wIGxnOm1heC13LW5vbmVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBzbTpteC0wIHNtOm1heC13LW5vbmVcIj5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBhbHQ9XCJ0cmlwIG1hcFwiXG4gICAgICAgICAgICAgICAgICBzcmM9XCJpbWFnZXMvbWFwLnBuZ1wiXG4gICAgICAgICAgICAgICAgICB3aWR0aD17NTAwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXs1MDB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgbWF4LXctZnVsbCByb3VuZGVkLXRsLXhsIGJnLWdyYXktODAwIHJpbmctMSByaW5nLXdoaXRlLzEwXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC0wIHJpbmctMSByaW5nLWluc2V0IHJpbmctYmxhY2svMTAgc206cm91bmRlZC0zeGxcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJDbG91ZEFycm93VXBJY29uIiwiTG9ja0Nsb3NlZEljb24iLCJTZXJ2ZXJJY29uIiwidXNlSWQiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkJ1dHRvbiIsIkNvbnRhaW5lciIsIlJvdXRlIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJwIiwiaHJlZiIsImltZyIsImFsdCIsInNyYyIsIndpZHRoIiwiaGVpZ2h0IiwiYXJpYS1oaWRkZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Route.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/SecondaryFeatures.jsx":
/*!**********************************************!*\
!*** ./src/components/SecondaryFeatures.jsx ***!
\**********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SecondaryFeatures: function() { return /* binding */ SecondaryFeatures; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Button */ \"(app-pages-browser)/./src/components/Button.jsx\");\n/* harmony import */ var _components_Container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Container */ \"(app-pages-browser)/./src/components/Container.jsx\");\n/* harmony import */ var _images_dahabiyas_veda1_jpg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/images/dahabiyas/veda1.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda1.jpg\");\n/* harmony import */ var _images_dahabiyas_veda2_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/images/dahabiyas/veda2.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda2.jpg\");\n/* harmony import */ var _images_dahabiyas_veda3_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/images/dahabiyas/veda3.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda3.jpg\");\n/* harmony import */ var _images_dahabiyas_veda4_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/images/dahabiyas/veda4.jpg */ \"(app-pages-browser)/./src/images/dahabiyas/veda4.jpg\");\n/* __next_internal_client_entry_do_not_use__ SecondaryFeatures auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\nconst features = [\n {\n name: \"VEDA 1\",\n summary: \"The ideal retreat for luxury and privacy, perfect for intimate gatherings.\",\n description: [\n \"6 rooms & 4 suites with balconies.\",\n \"Hosts up to 20 people.\",\n \"Private bathroom ensuites.\"\n ],\n button: \"Learn More\",\n href: \"/dahabiyas\",\n image: _images_dahabiyas_veda1_jpg__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n icon: _s(function ReportingIcon() {\n _s();\n let id = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"linearGradient\", {\n id: id,\n x1: \"11.5\",\n y1: 18,\n x2: 36,\n y2: \"15.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \".194\",\n stopColor: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: 1,\n stopColor: \"#c6892d\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 31,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 30,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"m30 15-4 5-4-11-4 18-4-11-4 7-4-5\",\n stroke: `url(#${id})`,\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 43,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true);\n }, \"WhsuKpSQZEWeFcB7gWlfDRQktoQ=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_1__.useId\n ];\n })\n },\n {\n name: \"VEDA 2\",\n summary: \"The perfect spacious space for larger groups seeking comfort.\",\n description: [\n \"8 rooms & 2 suites with balconies.\",\n \"Hosts up to 20 people.\",\n \"Private bathroom ensuites.\"\n ],\n button: \"Learn More\",\n href: \"/dahabiyas\",\n image: _images_dahabiyas_veda2_jpg__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n icon: function InventoryIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n opacity: \".5\",\n d: \"M8 17a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 68,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n opacity: \".3\",\n d: \"M8 24a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 73,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M8 10a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 78,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true);\n }\n },\n {\n name: \"VEDA 3\",\n summary: \"An ideal choice for small groups valuing intimacy in a cozy setting.\",\n description: [\n \"5 rooms with balconies.\",\n \"Hosts up to 10 people.\",\n \"Private bathroom ensuites.\"\n ],\n button: \"Learn More\",\n href: \"/dahabiyas\",\n image: _images_dahabiyas_veda3_jpg__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n icon: function ContactsIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n opacity: \".5\",\n d: \"M25.778 25.778c.39.39 1.027.393 1.384-.028A11.952 11.952 0 0 0 30 18c0-6.627-5.373-12-12-12S6 11.373 6 18c0 2.954 1.067 5.659 2.838 7.75.357.421.993.419 1.384.028.39-.39.386-1.02.036-1.448A9.959 9.959 0 0 1 8 18c0-5.523 4.477-10 10-10s10 4.477 10 10a9.959 9.959 0 0 1-2.258 6.33c-.35.427-.354 1.058.036 1.448Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 100,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M12 28.395V28a6 6 0 0 1 12 0v.395A11.945 11.945 0 0 1 18 30c-2.186 0-4.235-.584-6-1.605ZM21 16.5c0-1.933-.5-3.5-3-3.5s-3 1.567-3 3.5 1.343 3.5 3 3.5 3-1.567 3-3.5Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 105,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true);\n }\n },\n {\n name: \"VEDA 4\",\n summary: \"The perfect choice for accommodating larger gatherings with ease.\",\n description: [\n \"10 rooms & 4 suites with balconies.\",\n \"Hosts up to 28 people.\",\n \"Private bathroom ensuites.\"\n ],\n button: \"Learn More\",\n href: \"/dahabiyas\",\n image: _images_dahabiyas_veda4_jpg__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n icon: function ContactsIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n opacity: \".5\",\n d: \"M25.778 25.778c.39.39 1.027.393 1.384-.028A11.952 11.952 0 0 0 30 18c0-6.627-5.373-12-12-12S6 11.373 6 18c0 2.954 1.067 5.659 2.838 7.75.357.421.993.419 1.384.028.39-.39.386-1.02.036-1.448A9.959 9.959 0 0 1 8 18c0-5.523 4.477-10 10-10s10 4.477 10 10a9.959 9.959 0 0 1-2.258 6.33c-.35.427-.354 1.058.036 1.448Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 127,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M12 28.395V28a6 6 0 0 1 12 0v.395A11.945 11.945 0 0 1 18 30c-2.186 0-4.235-.584-6-1.605ZM21 16.5c0-1.933-.5-3.5-3-3.5s-3 1.567-3 3.5 1.343 3.5 3 3.5 3-1.567 3-3.5Z\",\n fill: \"#fff\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 132,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true);\n }\n }\n];\nfunction Feature(param) {\n let { feature, isActive, className, ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(className, !isActive && \"opacity-75 hover:opacity-100\"),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"w-9 rounded-lg\", isActive ? \"bg-gold-600\" : \"bg-slate-500\")\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 148,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"mt-6 text-sm font-medium\", isActive ? \"text-gold-600\" : \"text-slate-600\"),\n children: feature.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 156,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 font-display text-xl text-slate-900\",\n children: feature.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"mt-4 text-sm text-slate-600 list-disc list-inside\",\n children: feature.description.map((item, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: item\n }, index, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 169,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 167,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 144,\n columnNumber: 5\n }, this);\n}\n_c = Feature;\nfunction FeaturesMobile() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"-mx-4 mt-20 flex flex-col gap-y-10 overflow-hidden px-4 sm:-mx-6 sm:px-6 lg:hidden\",\n children: features.map((feature)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mx-auto max-w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative overflow-hidden rounded-xl bg-creme-900\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"w-full h-auto object-cover\",\n src: feature.image,\n alt: feature.name,\n layout: \"responsive\",\n width: 1000,\n height: 600\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 182,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 181,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Feature, {\n feature: feature,\n className: \"mx-auto max-w-2xl\",\n isActive: true\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 191,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-2xl mt-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n href: feature.href,\n variant: \"primary\",\n className: \"rounded-2xl bg-gold-900 mt-4 lg:text-base text-xs px-3 py-2 text-white\",\n children: feature.button\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 193,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 192,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mt-10 pb-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -inset-x-4 bottom-0 top-8 bg-slate-200 sm:-inset-x-6\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 198,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 197,\n columnNumber: 11\n }, this)\n ]\n }, feature.summary, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 178,\n columnNumber: 5\n }, this);\n}\n_c1 = FeaturesMobile;\nfunction FeaturesDesktop() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_10__.TabGroup, {\n className: \"hidden lg:mt-10 lg:block\",\n children: (param)=>{\n let { selectedIndex } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_10__.TabList, {\n className: \"grid grid-cols-4 gap-x-4\",\n children: features.map((feature, featureIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_10__.Tab, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"relative flex flex-col items-center text-center shadow-lg p-4 border border-gold-200 bg-white rounded-lg\", featureIndex === selectedIndex ? \"text-gold-900\" : \"text-slate-600\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full mb-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"w-full h-auto rounded-lg\",\n src: feature.image,\n alt: feature.name,\n layout: \"responsive\",\n width: 300,\n height: 200\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 221,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 220,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mt-2 text-lg font-semibold\",\n children: feature.name\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 230,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-sm text-slate-600\",\n children: feature.summary\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 231,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"mt-4 mb-2 text-sm text-slate-600 list-disc list-inside\",\n children: feature.description.map((item, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: item\n }, index, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 234,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 232,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n href: feature.href,\n variant: \"primary\",\n className: \"rounded-2xl mb-4 bg-gold-900 mt-4 text-base lg:text-xs px-3 py-1 text-white\",\n children: feature.button\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 237,\n columnNumber: 17\n }, this)\n ]\n }, feature.summary, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 213,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 211,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_10__.TabPanels, {\n className: \"relative mt-10\",\n children: features.map((feature, featureIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_10__.TabPanel, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"transition-opacity duration-500 ease-in-out\", featureIndex === selectedIndex ? \"opacity-100\" : \"opacity-0\"),\n \"aria-hidden\": featureIndex !== selectedIndex\n }, feature.summary, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 245,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 243,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true);\n }\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 208,\n columnNumber: 5\n }, this);\n}\n_c2 = FeaturesDesktop;\nfunction SecondaryFeatures() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"secondary-features\",\n \"aria-label\": \"Features for simplifying everyday business tasks\",\n className: \"pb-14 pt-14 lg:pt-20 lg:pb-20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Container__WEBPACK_IMPORTED_MODULE_5__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl md:text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-base font-semibold leading-7 text-gold-600\",\n children: \"OUR OFFERS\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 272,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-display mt-2 text-3xl font-bold tracking-tight text-gray-800 sm:text-4xl\",\n children: \"VEDA DAHABIYAS\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 273,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-lg tracking-wide font-normal leading-8 text-gray-600\",\n children: \"Discover peaceful platforms where every detail ensures a truly memorable stay.\"\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 276,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FeaturesMobile, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FeaturesDesktop, {}, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 281,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 270,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/SecondaryFeatures.jsx\",\n lineNumber: 265,\n columnNumber: 5\n }, this);\n}\n_c3 = SecondaryFeatures;\nvar _c, _c1, _c2, _c3;\n$RefreshReg$(_c, \"Feature\");\n$RefreshReg$(_c1, \"FeaturesMobile\");\n$RefreshReg$(_c2, \"FeaturesDesktop\");\n$RefreshReg$(_c3, \"SecondaryFeatures\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1NlY29uZGFyeUZlYXR1cmVzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNkI7QUFDQztBQUNpRDtBQUN4RDtBQUNxQjtBQUNNO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFFaEQsTUFBTWMsV0FBVztJQUNmO1FBQ0VDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1lBQ1g7WUFDQTtZQUNBO1NBQ0Q7UUFDREMsUUFBUTtRQUNSQyxNQUFNO1FBQ05DLE9BQU9WLG1FQUFLQTtRQUNaVyxJQUFJLEtBQUUsU0FBU0M7O1lBQ2IsSUFBSUMsS0FBS3ZCLDRDQUFLQTtZQUNkLHFCQUNFOztrQ0FDRSw4REFBQ3dCO2tDQUNDLDRFQUFDQzs0QkFDQ0YsSUFBSUE7NEJBQ0pHLElBQUc7NEJBQ0hDLElBQUk7NEJBQ0pDLElBQUk7NEJBQ0pDLElBQUc7NEJBQ0hDLGVBQWM7OzhDQUVkLDhEQUFDQztvQ0FBS0MsUUFBTztvQ0FBT0MsV0FBVTs7Ozs7OzhDQUM5Qiw4REFBQ0Y7b0NBQUtDLFFBQVE7b0NBQUdDLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUcvQiw4REFBQ0M7d0JBQ0NDLEdBQUU7d0JBQ0ZDLFFBQVEsQ0FBQyxLQUFLLEVBQUViLEdBQUcsQ0FBQyxDQUFDO3dCQUNyQmMsYUFBYTt3QkFDYkMsZUFBYzt3QkFDZEMsZ0JBQWU7Ozs7Ozs7O1FBSXZCOztnQkF6Qld2Qyx3Q0FBS0E7OztJQTBCbEI7SUFDQTtRQUNFZSxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsYUFBYTtZQUNYO1lBQ0E7WUFDQTtTQUNEO1FBQ0RDLFFBQVE7UUFDUkMsTUFBTTtRQUNOQyxPQUFPVCxtRUFBS0E7UUFDWlUsTUFBTSxTQUFTbUI7WUFDYixxQkFDRTs7a0NBQ0UsOERBQUNOO3dCQUNDTyxTQUFRO3dCQUNSTixHQUFFO3dCQUNGTyxNQUFLOzs7Ozs7a0NBRVAsOERBQUNSO3dCQUNDTyxTQUFRO3dCQUNSTixH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eUI7NEJBQUd6QixXQUFVO3NDQUFrRDs7Ozs7O3NDQUNoRSw4REFBQ3lCOzRCQUFHekIsV0FBVTtzQ0FBZ0Y7Ozs7OztzQ0FHOUYsOERBQUNJOzRCQUFFSixXQUFVO3NDQUFpRTs7Ozs7Ozs7Ozs7OzhCQUloRiw4REFBQ1U7Ozs7OzhCQUNELDhEQUFDTzs7Ozs7Ozs7Ozs7Ozs7OztBQUlUO01BdEJnQksiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvU2Vjb25kYXJ5RmVhdHVyZXMuanN4PzUzZWMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHVzZUlkIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCB7IFRhYiwgVGFiR3JvdXAsIFRhYkxpc3QsIFRhYlBhbmVsLCBUYWJQYW5lbHMgfSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvQnV0dG9uJ1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0NvbnRhaW5lcidcbmltcG9ydCB2ZWRhMSBmcm9tICdAL2ltYWdlcy9kYWhhYml5YXMvdmVkYTEuanBnJ1xuaW1wb3J0IHZlZGEyIGZyb20gJ0AvaW1hZ2VzL2RhaGFiaXlhcy92ZWRhMi5qcGcnXG5pbXBvcnQgdmVkYTMgZnJvbSAnQC9pbWFnZXMvZGFoYWJpeWFzL3ZlZGEzLmpwZydcbmltcG9ydCB2ZWRhNCBmcm9tICdAL2ltYWdlcy9kYWhhYml5YXMvdmVkYTQuanBnJ1xuXG5jb25zdCBmZWF0dXJlcyA9IFtcbiAge1xuICAgIG5hbWU6ICdWRURBIDEnLFxuICAgIHN1bW1hcnk6ICdUaGUgaWRlYWwgcmV0cmVhdCBmb3IgbHV4dXJ5IGFuZCBwcml2YWN5LCBwZXJmZWN0IGZvciBpbnRpbWF0ZSBnYXRoZXJpbmdzLicsXG4gICAgZGVzY3JpcHRpb246IFtcbiAgICAgICc2IHJvb21zICYgNCBzdWl0ZXMgd2l0aCBiYWxjb25pZXMuJyxcbiAgICAgICdIb3N0cyB1cCB0byAyMCBwZW9wbGUuJyxcbiAgICAgICdQcml2YXRlIGJhdGhyb29tIGVuc3VpdGVzLidcbiAgICBdLFxuICAgIGJ1dHRvbjogJ0xlYXJuIE1vcmUnLFxuICAgIGhyZWY6ICcvZGFoYWJpeWFzJyxcbiAgICBpbWFnZTogdmVkYTEsXG4gICAgaWNvbjogZnVuY3Rpb24gUmVwb3J0aW5nSWNvbigpIHtcbiAgICAgIGxldCBpZCA9IHVzZUlkKClcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICB4MT1cIjExLjVcIlxuICAgICAgICAgICAgICB5MT17MTh9XG4gICAgICAgICAgICAgIHgyPXszNn1cbiAgICAgICAgICAgICAgeTI9XCIxNS41XCJcbiAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiLjE5NFwiIHN0b3BDb2xvcj1cIiNmZmZcIiAvPlxuICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9ezF9IHN0b3BDb2xvcj1cIiNjNjg5MmRcIiAvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJtMzAgMTUtNCA1LTQtMTEtNCAxOC00LTExLTQgNy00LTVcIlxuICAgICAgICAgICAgc3Ryb2tlPXtgdXJsKCMke2lkfSlgfVxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC8+XG4gICAgICApXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdWRURBIDInLFxuICAgIHN1bW1hcnk6ICdUaGUgcGVyZmVjdCBzcGFjaW91cyBzcGFjZSBmb3IgbGFyZ2VyIGdyb3VwcyBzZWVraW5nIGNvbWZvcnQuJyxcbiAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgJzggcm9vbXMgJiAyIHN1aXRlcyB3aXRoIGJhbGNvbmllcy4nLFxuICAgICAgJ0hvc3RzIHVwIHRvIDIwIHBlb3BsZS4nLFxuICAgICAgJ1ByaXZhdGUgYmF0aHJvb20gZW5zdWl0ZXMuJ1xuICAgIF0sXG4gICAgYnV0dG9uOiAnTGVhcm4gTW9yZScsXG4gICAgaHJlZjogJy9kYWhhYml5YXMnLFxuICAgIGltYWdlOiB2ZWRhMixcbiAgICBpY29uOiBmdW5jdGlvbiBJbnZlbnRvcnlJY29uKCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgb3BhY2l0eT1cIi41XCJcbiAgICAgICAgICAgIGQ9XCJNOCAxN2ExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMCAxLTEtMXYtMlpcIlxuICAgICAgICAgICAgZmlsbD1cIiNmZmZcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIG9wYWNpdHk9XCIuM1wiXG4gICAgICAgICAgICBkPVwiTTggMjRhMSAxIDAgMCAxIDEtMWgxOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUg5YTEgMSAwIDAgMS0xLTF2LTJaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTggMTBhMSAxIDAgMCAxIDEtMWgxOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUg5YTEgMSAwIDAgMS0xLTF2LTJaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgIClcbiAgICB9LFxuICB9LFxuICB7XG4gICAgbmFtZTogJ1ZFREEgMycsXG4gICAgc3VtbWFyeTogJ0FuIGlkZWFsIGNob2ljZSBmb3Igc21hbGwgZ3JvdXBzIHZhbHVpbmcgaW50aW1hY3kgaW4gYSBjb3p5IHNldHRpbmcuJyxcbiAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgJzUgcm9vbXMgd2l0aCBiYWxjb25pZXMuJyxcbiAgICAgICdIb3N0cyB1cCB0byAxMCBwZW9wbGUuJyxcbiAgICAgICdQcml2YXRlIGJhdGhyb29tIGVuc3VpdGVzLidcbiAgICBdLFxuICAgIGJ1dHRvbjogJ0xlYXJuIE1vcmUnLFxuICAgIGhyZWY6ICcvZGFoYWJpeWFzJyxcbiAgICBpbWFnZTogdmVkYTMsXG4gICAgaWNvbjogZnVuY3Rpb24gQ29udGFjdHNJY29uKCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgb3BhY2l0eT1cIi41XCJcbiAgICAgICAgICAgIGQ9XCJNMjUuNzc4IDI1Ljc3OGMuMzkuMzkgMS4wMjcuMzkzIDEuMzg0LS4wMjhBMTEuOTUyIDExLjk1MiAwIDAgMCAzMCAxOGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyUzYgMTEuMzczIDYgMThjMCAyLjk1NCAxLjA2NyA1LjY1OSAyLjgzOCA3Ljc1LjM1Ny40MjEuOTkzLjQxOSAxLjM4NC4wMjguMzktLjM5LjM4Ni0xLjAyLjAzNi0xLjQ0OEE5Ljk1OSA5Ljk1OSAwIDAgMSA4IDE4YzAtNS41MjMgNC40NzctMTAgMTAtMTBzMTAgNC40NzcgMTAgMTBhOS45NTkgOS45NTkgMCAwIDEtMi4yNTggNi4zM2MtLjM1LjQyNy0uMzU0IDEuMDU4LjAzNiAxLjQ0OFpcIlxuICAgICAgICAgICAgZmlsbD1cIiNmZmZcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTIgMjguMzk1VjI4YTYgNiAwIDAgMSAxMiAwdi4zOTVBMTEuOTQ1IDExLjk0NSAwIDAgMSAxOCAzMGMtMi4xODYgMC00LjIzNS0uNTg0LTYtMS42MDVaTTIxIDE2LjVjMC0xLjkzMy0uNS0zLjUtMy0zLjVzLTMgMS41NjctMyAzLjUgMS4zNDMgMy41IDMgMy41IDMtMS41NjcgMy0zLjVaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgIClcbiAgICB9LFxuICB9LFxuICB7XG4gICAgbmFtZTogJ1ZFREEgNCcsXG4gICAgc3VtbWFyeTogJ1RoZSBwZXJmZWN0IGNob2ljZSBmb3IgYWNjb21tb2RhdGluZyBsYXJnZXIgZ2F0aGVyaW5ncyB3aXRoIGVhc2UuJyxcbiAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgJzEwIHJvb21zICYgNCBzdWl0ZXMgd2l0aCBiYWxjb25pZXMuJyxcbiAgICAgICdIb3N0cyB1cCB0byAyOCBwZW9wbGUuJyxcbiAgICAgICdQcml2YXRlIGJhdGhyb29tIGVuc3VpdGVzLidcbiAgICBdLFxuICAgIGJ1dHRvbjogJ0xlYXJuIE1vcmUnLFxuICAgIGhyZWY6ICcvZGFoYWJpeWFzJyxcbiAgICBpbWFnZTogdmVkYTQsXG4gICAgaWNvbjogZnVuY3Rpb24gQ29udGFjdHNJY29uKCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgb3BhY2l0eT1cIi41XCJcbiAgICAgICAgICAgIGQ9XCJNMjUuNzc4IDI1Ljc3OGMuMzkuMzkgMS4wMjcuMzkzIDEuMzg0LS4wMjhBMTEuOTUyIDExLjk1MiAwIDAgMCAzMCAxOGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyUzYgMTEuMzczIDYgMThjMCAyLjk1NCAxLjA2NyA1LjY1OSAyLjgzOCA3Ljc1LjM1Ny40MjEuOTkzLjQxOSAxLjM4NC4wMjguMzktLjM5LjM4Ni0xLjAyLjAzNi0xLjQ0OEE5Ljk1OSA5Ljk1OSAwIDAgMSA4IDE4YzAtNS41MjMgNC40NzctMTAgMTAtMTBzMTAgNC40NzcgMTAgMTBhOS45NTkgOS45NTkgMCAwIDEtMi4yNTggNi4zM2MtLjM1LjQyNy0uMzU0IDEuMDU4LjAzNiAxLjQ0OFpcIlxuICAgICAgICAgICAgZmlsbD1cIiNmZmZcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTIgMjguMzk1VjI4YTYgNiAwIDAgMSAxMiAwdi4zOTVBMTEuOTQ1IDExLjk0NSAwIDAgMSAxOCAzMGMtMi4xODYgMC00LjIzNS0uNTg0LTYtMS42MDVaTTIxIDE2LjVjMC0xLjkzMy0uNS0zLjUtMy0zLjVzLTMgMS41NjctMyAzLjUgMS4zNDMgMy41IDMgMy41IDMtMS41NjcgMy0zLjVaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgIClcbiAgICB9LFxuICB9LFxuXVxuXG5mdW5jdGlvbiBGZWF0dXJlKHsgZmVhdHVyZSwgaXNBY3RpdmUsIGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChjbGFzc05hbWUsICFpc0FjdGl2ZSAmJiAnb3BhY2l0eS03NSBob3ZlcjpvcGFjaXR5LTEwMCcpfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICd3LTkgcm91bmRlZC1sZycsXG4gICAgICAgICAgaXNBY3RpdmUgPyAnYmctZ29sZC02MDAnIDogJ2JnLXNsYXRlLTUwMCcsXG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHsvKiBSZW5kZXIgaWNvbiBoZXJlIGlmIG5lZWRlZCAqL31cbiAgICAgIDwvZGl2PlxuICAgICAgPGgzXG4gICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAnbXQtNiB0ZXh0LXNtIGZvbnQtbWVkaXVtJyxcbiAgICAgICAgICBpc0FjdGl2ZSA/ICd0ZXh0LWdvbGQtNjAwJyA6ICd0ZXh0LXNsYXRlLTYwMCcsXG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtmZWF0dXJlLm5hbWV9XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiBmb250LWRpc3BsYXkgdGV4dC14bCB0ZXh0LXNsYXRlLTkwMFwiPlxuICAgICAgICB7ZmVhdHVyZS5zdW1tYXJ5fVxuICAgICAgPC9wPlxuICAgICAgPHVsIGNsYXNzTmFtZT1cIm10LTQgdGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCBsaXN0LWRpc2MgbGlzdC1pbnNpZGVcIj5cbiAgICAgICAge2ZlYXR1cmUuZGVzY3JpcHRpb24ubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e2luZGV4fT57aXRlbX08L2xpPlxuICAgICAgICApKX1cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gRmVhdHVyZXNNb2JpbGUoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCItbXgtNCBtdC0yMCBmbGV4IGZsZXgtY29sIGdhcC15LTEwIG92ZXJmbG93LWhpZGRlbiBweC00IHNtOi1teC02IHNtOnB4LTYgbGc6aGlkZGVuXCI+XG4gICAgICB7ZmVhdHVyZXMubWFwKChmZWF0dXJlKSA9PiAoXG4gICAgICAgIDxkaXYga2V5PXtmZWF0dXJlLnN1bW1hcnl9IGNsYXNzTmFtZT1cInJlbGF0aXZlIG14LWF1dG8gbWF4LXctZnVsbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgYmctY3JlbWUtOTAwXCI+XG4gICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtYXV0byBvYmplY3QtY292ZXJcIlxuICAgICAgICAgICAgICBzcmM9e2ZlYXR1cmUuaW1hZ2V9XG4gICAgICAgICAgICAgIGFsdD17ZmVhdHVyZS5uYW1lfVxuICAgICAgICAgICAgICBsYXlvdXQ9XCJyZXNwb25zaXZlXCJcbiAgICAgICAgICAgICAgd2lkdGg9ezEwMDB9XG4gICAgICAgICAgICAgIGhlaWdodD17NjAwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8RmVhdHVyZSBmZWF0dXJlPXtmZWF0dXJlfSBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bFwiIGlzQWN0aXZlIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBtdC00XCI+XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9e2ZlYXR1cmUuaHJlZn0gdmFyaWFudD1cInByaW1hcnlcIiBjbGFzc05hbWU9XCJyb3VuZGVkLTJ4bCBiZy1nb2xkLTkwMCBtdC00IGxnOnRleHQtYmFzZSB0ZXh0LXhzIHB4LTMgcHktMiB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICB7ZmVhdHVyZS5idXR0b259XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG10LTEwIHBiLTEwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIC1pbnNldC14LTQgYm90dG9tLTAgdG9wLTggYmctc2xhdGUtMjAwIHNtOi1pbnNldC14LTZcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmZ1bmN0aW9uIEZlYXR1cmVzRGVza3RvcCgpIHtcbiAgcmV0dXJuIChcbiAgICA8VGFiR3JvdXAgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOm10LTEwIGxnOmJsb2NrXCI+XG4gICAgICB7KHsgc2VsZWN0ZWRJbmRleCB9KSA9PiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFRhYkxpc3QgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtNCBnYXAteC00XCI+XG4gICAgICAgICAgICB7ZmVhdHVyZXMubWFwKChmZWF0dXJlLCBmZWF0dXJlSW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPFRhYlxuICAgICAgICAgICAgICAgIGtleT17ZmVhdHVyZS5zdW1tYXJ5fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgICAgICdyZWxhdGl2ZSBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlciBzaGFkb3ctbGcgcC00IGJvcmRlciBib3JkZXItZ29sZC0yMDAgYmctd2hpdGUgcm91bmRlZC1sZycsXG4gICAgICAgICAgICAgICAgICBmZWF0dXJlSW5kZXggPT09IHNlbGVjdGVkSW5kZXggPyAndGV4dC1nb2xkLTkwMCcgOiAndGV4dC1zbGF0ZS02MDAnXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIG1iLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1hdXRvIHJvdW5kZWQtbGdcIlxuICAgICAgICAgICAgICAgICAgICBzcmM9e2ZlYXR1cmUuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgIGFsdD17ZmVhdHVyZS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ9XCJyZXNwb25zaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezMwMH1cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsyMDB9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm10LTIgdGV4dC1sZyBmb250LXNlbWlib2xkXCI+e2ZlYXR1cmUubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LXNtIHRleHQtc2xhdGUtNjAwXCI+e2ZlYXR1cmUuc3VtbWFyeX08L3A+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIm10LTQgbWItMiB0ZXh0LXNtIHRleHQtc2xhdGUtNjAwIGxpc3QtZGlzYyBsaXN0LWluc2lkZVwiPlxuICAgICAgICAgICAgICAgICAge2ZlYXR1cmUuZGVzY3JpcHRpb24ubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpbmRleH0+e2l0ZW19PC9saT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbiBocmVmPXtmZWF0dXJlLmhyZWZ9IHZhcmlhbnQ9XCJwcmltYXJ5XCIgY2xhc3NOYW1lPVwicm91bmRlZC0yeGwgbWItNCBiZy1nb2xkLTkwMCBtdC00IHRleHQtYmFzZSBsZzp0ZXh0LXhzIHB4LTMgcHktMSB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICB7ZmVhdHVyZS5idXR0b259XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgIDxUYWJQYW5lbHMgY2xhc3NOYW1lPVwicmVsYXRpdmUgbXQtMTBcIj5cbiAgICAgICAgICAgIHtmZWF0dXJlcy5tYXAoKGZlYXR1cmUsIGZlYXR1cmVJbmRleCkgPT4gKFxuICAgICAgICAgICAgICA8VGFiUGFuZWxcbiAgICAgICAgICAgICAgICBrZXk9e2ZlYXR1cmUuc3VtbWFyeX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTUwMCBlYXNlLWluLW91dCcsXG4gICAgICAgICAgICAgICAgICBmZWF0dXJlSW5kZXggPT09IHNlbGVjdGVkSW5kZXggPyAnb3BhY2l0eS0xMDAnIDogJ29wYWNpdHktMCdcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPXtmZWF0dXJlSW5kZXggIT09IHNlbGVjdGVkSW5kZXh9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7LyogQ29udGVudCBvZiB0aGUgc2VsZWN0ZWQgdGFiIGNhbiBnbyBoZXJlICovfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9UYWJQYW5lbHM+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L1RhYkdyb3VwPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRhcnlGZWF0dXJlcygpIHtcbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvblxuICAgICAgaWQ9XCJzZWNvbmRhcnktZmVhdHVyZXNcIlxuICAgICAgYXJpYS1sYWJlbD1cIkZlYXR1cmVzIGZvciBzaW1wbGlmeWluZyBldmVyeWRheSBidXNpbmVzcyB0YXNrc1wiXG4gICAgICBjbGFzc05hbWU9XCJwYi0xNCBwdC0xNCBsZzpwdC0yMCBsZzpwYi0yMFwiXG4gICAgPlxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCBtZDp0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCBsZWFkaW5nLTcgdGV4dC1nb2xkLTYwMFwiPk9VUiBPRkZFUlM8L2gyPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJmb250LWRpc3BsYXkgbXQtMiB0ZXh0LTN4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTgwMCBzbTp0ZXh0LTR4bFwiPlxuICAgICAgICAgICAgVkVEQSBEQUhBQklZQVNcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTIgdGV4dC1sZyB0cmFja2luZy13aWRlIGZvbnQtbm9ybWFsIGxlYWRpbmctOCB0ZXh0LWdyYXktNjAwXCI+XG4gICAgICAgICAgICBEaXNjb3ZlciBwZWFjZWZ1bCBwbGF0Zm9ybXMgd2hlcmUgZXZlcnkgZGV0YWlsIGVuc3VyZXMgYSB0cnVseSBtZW1vcmFibGUgc3RheS5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8RmVhdHVyZXNNb2JpbGUgLz5cbiAgICAgICAgPEZlYXR1cmVzRGVza3RvcCAvPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlSWQiLCJJbWFnZSIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIiwiY2xzeCIsIkJ1dHRvbiIsIkNvbnRhaW5lciIsInZlZGExIiwidmVkYTIiLCJ2ZWRhMyIsInZlZGE0IiwiZmVhdHVyZXMiLCJuYW1lIiwic3VtbWFyeSIsImRlc2NyaXB0aW9uIiwiYnV0dG9uIiwiaHJlZiIsImltYWdlIiwiaWNvbiIsIlJlcG9ydGluZ0ljb24iLCJpZCIsImRlZnMiLCJsaW5lYXJHcmFkaWVudCIsIngxIiwieTEiLCJ4MiIsInkyIiwiZ3JhZGllbnRVbml0cyIsInN0b3AiLCJvZmZzZXQiLCJzdG9wQ29sb3IiLCJwYXRoIiwiZCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiSW52ZW50b3J5SWNvbiIsIm9wYWNpdHkiLCJmaWxsIiwiQ29udGFjdHNJY29uIiwiRmVhdHVyZSIsImZlYXR1cmUiLCJpc0FjdGl2ZSIsImNsYXNzTmFtZSIsInByb3BzIiwiZGl2IiwiaDMiLCJwIiwidWwiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJsaSIsIkZlYXR1cmVzTW9iaWxlIiwic3JjIiwiYWx0IiwibGF5b3V0Iiwid2lkdGgiLCJoZWlnaHQiLCJ2YXJpYW50IiwiRmVhdHVyZXNEZXNrdG9wIiwic2VsZWN0ZWRJbmRleCIsImZlYXR1cmVJbmRleCIsInNwYW4iLCJhcmlhLWhpZGRlbiIsIlNlY29uZGFyeUZlYXR1cmVzIiwic2VjdGlvbiIsImFyaWEtbGFiZWwiLCJoMiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/SecondaryFeatures.jsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
/*!****************************************************************************************!*\
!*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
\****************************************************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz81Y2RhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
/*!******************************************************************!*\
!*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
\******************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/NjU3YiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/process/browser.js":
/*!*****************************************!*\
!*** ./node_modules/process/browser.js ***!
\*****************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qcz9jY2NhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNoaW0gZm9yIHVzaW5nIHByb2Nlc3MgaW4gYnJvd3NlclxudmFyIHByb2Nlc3MgPSBtb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG4vLyBjYWNoZWQgZnJvbSB3aGF0ZXZlciBnbG9iYWwgaXMgcHJlc2VudCBzbyB0aGF0IHRlc3QgcnVubmVycyB0aGF0IHN0dWIgaXRcbi8vIGRvbid0IGJyZWFrIHRoaW5ncy4gIEJ1dCB3ZSBuZWVkIHRvIHdyYXAgaXQgaW4gYSB0cnkgY2F0Y2ggaW4gY2FzZSBpdCBpc1xuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxuLy8gZnVuY3Rpb24gYmVjYXVzZSB0cnkvY2F0Y2hlcyBkZW9wdGltaXplIGluIGNlcnRhaW4gZW5naW5lcy5cblxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XG52YXIgY2FjaGVkQ2xlYXJUaW1lb3V0O1xuXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xuICAgIHRocm93IG5ldyBFcnJvcignc2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbihmdW5jdGlvbiAoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgfVxufSAoKSlcbmZ1bmN0aW9uIHJ1blRpbWVvdXQoZnVuKSB7XG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIC8vIGlmIHNldFRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRTZXRUaW1lb3V0ID09PSBkZWZhdWx0U2V0VGltb3V0IHx8ICFjYWNoZWRTZXRUaW1lb3V0KSAmJiBzZXRUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfSBjYXRjaChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xuICAgICAgICB9IGNhdGNoKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3JcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XG4gICAgaWYgKGNhY2hlZENsZWFyVGltZW91dCA9PT0gY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIC8vIGlmIGNsZWFyVGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsIG1hcmtlcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXG4gICAgICAgICAgICAvLyBTb21lIHZlcnNpb25zIG9mIEkuRS4gaGF2ZSBkaWZmZXJlbnQgcnVsZXMgZm9yIGNsZWFyVGltZW91dCB2cyBzZXRUaW1lb3V0XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcywgbWFya2VyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbn1cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGRyYWluaW5nID0gZmFsc2U7XG52YXIgY3VycmVudFF1ZXVlO1xudmFyIHF1ZXVlSW5kZXggPSAtMTtcblxuZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCkge1xuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgaWYgKGN1cnJlbnRRdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgcXVldWUgPSBjdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgfVxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgZHJhaW5RdWV1ZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZHJhaW5RdWV1ZSgpIHtcbiAgICBpZiAoZHJhaW5pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcbiAgICBkcmFpbmluZyA9IHRydWU7XG5cbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIHdoaWxlKGxlbikge1xuICAgICAgICBjdXJyZW50UXVldWUgPSBxdWV1ZTtcbiAgICAgICAgcXVldWUgPSBbXTtcbiAgICAgICAgd2hpbGUgKCsrcXVldWVJbmRleCA8IGxlbikge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWV1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgICAgIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB9XG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIHJ1bkNsZWFyVGltZW91dCh0aW1lb3V0KTtcbn1cblxucHJvY2Vzcy5uZXh0VGljayA9IGZ1bmN0aW9uIChmdW4pIHtcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xuICAgIGlmIChxdWV1ZS5sZW5ndGggPT09IDEgJiYgIWRyYWluaW5nKSB7XG4gICAgICAgIHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSk7XG4gICAgfVxufTtcblxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xuZnVuY3Rpb24gSXRlbShmdW4sIGFycmF5KSB7XG4gICAgdGhpcy5mdW4gPSBmdW47XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xufVxuSXRlbS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xufTtcbnByb2Nlc3MudGl0bGUgPSAnYnJvd3Nlcic7XG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xucHJvY2Vzcy5lbnYgPSB7fTtcbnByb2Nlc3MuYXJndiA9IFtdO1xucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXG5wcm9jZXNzLnZlcnNpb25zID0ge307XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5wcm9jZXNzLm9uID0gbm9vcDtcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5vbmNlID0gbm9vcDtcbnByb2Nlc3Mub2ZmID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBub29wO1xucHJvY2Vzcy5lbWl0ID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lciA9IG5vb3A7XG5cbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cblxucHJvY2Vzcy5iaW5kaW5nID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xuXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xucHJvY2Vzcy5jaGRpciA9IGZ1bmN0aW9uIChkaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcbnByb2Nlc3MudW1hc2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/process/browser.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs":
/*!******************************************************************!*\
!*** ./node_modules/@floating-ui/core/dist/floating-ui.core.mjs ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: function() { return /* binding */ arrow; },\n/* harmony export */ autoPlacement: function() { return /* binding */ autoPlacement; },\n/* harmony export */ computePosition: function() { return /* binding */ computePosition; },\n/* harmony export */ detectOverflow: function() { return /* binding */ detectOverflow; },\n/* harmony export */ flip: function() { return /* binding */ flip; },\n/* harmony export */ hide: function() { return /* binding */ hide; },\n/* harmony export */ inline: function() { return /* binding */ inline; },\n/* harmony export */ limitShift: function() { return /* binding */ limitShift; },\n/* harmony export */ offset: function() { return /* binding */ offset; },\n/* harmony export */ rectToClientRect: function() { return /* reexport safe */ _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect; },\n/* harmony export */ shift: function() { return /* binding */ shift; },\n/* harmony export */ size: function() { return /* binding */ size; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n\n\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\n const alignmentAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentAxis)(placement);\n const alignLength = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAxisLength)(alignmentAxis);\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch ((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\n const coords = {\n x,\n y\n };\n const axis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentAxis)(placement);\n const length = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAxisLength)(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) === alignment), ...allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) !== alignment)] : allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) === alignment || (autoAlignment ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAlignmentPlacement)(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentSides)(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const initialSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(initialPlacement);\n const isBasePlacement = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositePlacement)(initialPlacement)] : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getExpandedPlacements)(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxisPlacements)(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentSides)(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...rects.map(rect => rect.left));\n const minY = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...rects.map(rect => rect.top));\n const maxX = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...rects.map(rect => rect.right));\n const maxY = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(getBoundingRect(nativeClientRects));\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if ((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === 'left';\n const maxRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...clientRects.map(rect => rect.right));\n const minLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\n const isVertical = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\n const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\n const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\n const isYAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n availableWidth = alignment || noShift ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n availableHeight = alignment || noShift ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, 0);\n const xMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.right, 0);\n const yMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, 0);\n const yMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvY29yZS9kaXN0L2Zsb2F0aW5nLXVpLmNvcmUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBc1U7QUFDaFI7O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLG1CQUFtQiwrREFBVztBQUM5Qix3QkFBd0Isb0VBQWdCO0FBQ3hDLHNCQUFzQixpRUFBYTtBQUNuQyxlQUFlLDJEQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsZ0VBQVk7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDRCQUE0QjtBQUM5QztBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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O0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsdURBQUc7QUFDekMscUNBQXFDLHVEQUFHO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELHVEQUFHO0FBQ25ELFFBQVE7QUFDUixpREFBaUQsdURBQUc7QUFDcEQ7QUFDQTtBQUNBLHFCQUFxQix1REFBRztBQUN4QixxQkFBcUIsdURBQUc7QUFDeEIscUJBQXFCLHVEQUFHO0FBQ3hCLHFCQUFxQix1REFBRztBQUN4QjtBQUNBLGlGQUFpRix1REFBRztBQUNwRixVQUFVO0FBQ1YsbUZBQW1GLHVEQUFHO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvY29yZS9kaXN0L2Zsb2F0aW5nLXVpLmNvcmUubWpzPzcxYzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2lkZUF4aXMsIGdldEFsaWdubWVudEF4aXMsIGdldEF4aXNMZW5ndGgsIGdldFNpZGUsIGdldEFsaWdubWVudCwgZXZhbHVhdGUsIGdldFBhZGRpbmdPYmplY3QsIHJlY3RUb0NsaWVudFJlY3QsIG1pbiwgY2xhbXAsIHBsYWNlbWVudHMsIGdldEFsaWdubWVudFNpZGVzLCBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudCwgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQsIGdldEV4cGFuZGVkUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cywgc2lkZXMsIG1heCwgZ2V0T3Bwb3NpdGVBeGlzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcbmV4cG9ydCB7IHJlY3RUb0NsaWVudFJlY3QgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xuXG5mdW5jdGlvbiBjb21wdXRlQ29vcmRzRnJvbVBsYWNlbWVudChfcmVmLCBwbGFjZW1lbnQsIHJ0bCkge1xuICBsZXQge1xuICAgIHJlZmVyZW5jZSxcbiAgICBmbG9hdGluZ1xuICB9ID0gX3JlZjtcbiAgY29uc3Qgc2lkZUF4aXMgPSBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpO1xuICBjb25zdCBhbGlnbm1lbnRBeGlzID0gZ2V0QWxpZ25tZW50QXhpcyhwbGFjZW1lbnQpO1xuICBjb25zdCBhbGlnbkxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYWxpZ25tZW50QXhpcyk7XG4gIGNvbnN0IHNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gIGNvbnN0IGlzVmVydGljYWwgPSBzaWRlQXhpcyA9PT0gJ3knO1xuICBjb25zdCBjb21tb25YID0gcmVmZXJlbmNlLnggKyByZWZlcmVuY2Uud2lkdGggLyAyIC0gZmxvYXRpbmcud2lkdGggLyAyO1xuICBjb25zdCBjb21tb25ZID0gcmVmZXJlbmNlLnkgKyByZWZlcmVuY2UuaGVpZ2h0IC8gMiAtIGZsb2F0aW5nLmhlaWdodCAvIDI7XG4gIGNvbnN0IGNvbW1vbkFsaWduID0gcmVmZXJlbmNlW2FsaWduTGVuZ3RoXSAvIDIgLSBmbG9hdGluZ1thbGlnbkxlbmd0aF0gLyAyO1xuICBsZXQgY29vcmRzO1xuICBzd2l0Y2ggKHNpZGUpIHtcbiAgICBjYXNlICd0b3AnOlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSAtIGZsb2F0aW5nLmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IGNvbW1vblgsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIGNvb3JkcyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLnggKyByZWZlcmVuY2Uud2lkdGgsXG4gICAgICAgIHk6IGNvbW1vbllcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGNvb3JkcyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLnggLSBmbG9hdGluZy53aWR0aCxcbiAgICAgICAgeTogY29tbW9uWVxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54LFxuICAgICAgICB5OiByZWZlcmVuY2UueVxuICAgICAgfTtcbiAgfVxuICBzd2l0Y2ggKGdldEFsaWdubWVudChwbGFjZW1lbnQpKSB7XG4gICAgY2FzZSAnc3RhcnQnOlxuICAgICAgY29vcmRzW2FsaWdubWVudEF4aXNdIC09IGNvbW1vbkFsaWduICogKHJ0bCAmJiBpc1ZlcnRpY2FsID8gLTEgOiAxKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2VuZCc6XG4gICAgICBjb29yZHNbYWxpZ25tZW50QXhpc10gKz0gY29tbW9uQWxpZ24gKiAocnRsICYmIGlzVmVydGljYWwgPyAtMSA6IDEpO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGNvb3Jkcztcbn1cblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgYHhgIGFuZCBgeWAgY29vcmRpbmF0ZXMgdGhhdCB3aWxsIHBsYWNlIHRoZSBmbG9hdGluZyBlbGVtZW50XG4gKiBuZXh0IHRvIGEgZ2l2ZW4gcmVmZXJlbmNlIGVsZW1lbnQuXG4gKlxuICogVGhpcyBleHBvcnQgZG9lcyBub3QgaGF2ZSBhbnkgYHBsYXRmb3JtYCBpbnRlcmZhY2UgbG9naWMuIFlvdSB3aWxsIG5lZWQgdG9cbiAqIHdyaXRlIG9uZSBmb3IgdGhlIHBsYXRmb3JtIHlvdSBhcmUgdXNpbmcgRmxvYXRpbmcgVUkgd2l0aC5cbiAqL1xuY29uc3QgY29tcHV0ZVBvc2l0aW9uID0gYXN5bmMgKHJlZmVyZW5jZSwgZmxvYXRpbmcsIGNvbmZpZykgPT4ge1xuICBjb25zdCB7XG4gICAgcGxhY2VtZW50ID0gJ2JvdHRvbScsXG4gICAgc3RyYXRlZ3kgPSAnYWJzb2x1dGUnLFxuICAgIG1pZGRsZXdhcmUgPSBbXSxcbiAgICBwbGF0Zm9ybVxuICB9ID0gY29uZmlnO1xuICBjb25zdCB2YWxpZE1pZGRsZXdhcmUgPSBtaWRkbGV3YXJlLmZpbHRlcihCb29sZWFuKTtcbiAgY29uc3QgcnRsID0gYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChmbG9hdGluZykpO1xuICBsZXQgcmVjdHMgPSBhd2FpdCBwbGF0Zm9ybS5nZXRFbGVtZW50UmVjdHMoe1xuICAgIHJlZmVyZW5jZSxcbiAgICBmbG9hdGluZyxcbiAgICBzdHJhdGVneVxuICB9KTtcbiAgbGV0IHtcbiAgICB4LFxuICAgIHlcbiAgfSA9IGNvbXB1dGVDb29yZHNGcm9tUGxhY2VtZW50KHJlY3RzLCBwbGFjZW1lbnQsIHJ0bCk7XG4gIGxldCBzdGF0ZWZ1bFBsYWNlbWVudCA9IHBsYWNlbWVudDtcbiAgbGV0IG1pZGRsZXdhcmVEYXRhID0ge307XG4gIGxldCByZXNldENvdW50ID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWxpZE1pZGRsZXdhcmUubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgZm5cbiAgICB9ID0gdmFsaWRNaWRkbGV3YXJlW2ldO1xuICAgIGNvbnN0IHtcbiAgICAgIHg6IG5leHRYLFxuICAgICAgeTogbmV4dFksXG4gICAgICBkYXRhLFxuICAgICAgcmVzZXRcbiAgICB9ID0gYXdhaXQgZm4oe1xuICAgICAgeCxcbiAgICAgIHksXG4gICAgICBpbml0aWFsUGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBwbGFjZW1lbnQ6IHN0YXRlZnVsUGxhY2VtZW50LFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICBtaWRkbGV3YXJlRGF0YSxcbiAgICAgIHJlY3RzLFxuICAgICAgcGxhdGZvcm0sXG4gICAgICBlbGVtZW50czoge1xuICAgICAgICByZWZlcmVuY2UsXG4gICAgICAgIGZsb2F0aW5nXG4gICAgICB9XG4gICAgfSk7XG4gICAgeCA9IG5leHRYICE9IG51bGwgPyBuZXh0WCA6IHg7XG4gICAgeSA9IG5leHRZICE9IG51bGwgPyBuZXh0WSA6IHk7XG4gICAgbWlkZGxld2FyZURhdGEgPSB7XG4gICAgICAuLi5taWRkbGV3YXJlRGF0YSxcbiAgICAgIFtuYW1lXToge1xuICAgICAgICAuLi5taWRkbGV3YXJlRGF0YVtuYW1lXSxcbiAgICAgICAgLi4uZGF0YVxuICAgICAgfVxuICAgIH07XG4gICAgaWYgKHJlc2V0ICYmIHJlc2V0Q291bnQgPD0gNTApIHtcbiAgICAgIHJlc2V0Q291bnQrKztcbiAgICAgIGlmICh0eXBlb2YgcmVzZXQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmIChyZXNldC5wbGFjZW1lbnQpIHtcbiAgICAgICAgICBzdGF0ZWZ1bFBsYWNlbWVudCA9IHJlc2V0LnBsYWNlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzZXQucmVjdHMpIHtcbiAgICAgICAgICByZWN0cyA9IHJlc2V0LnJlY3RzID09PSB0cnVlID8gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcbiAgICAgICAgICAgIHJlZmVyZW5jZSxcbiAgICAgICAgICAgIGZsb2F0aW5nLFxuICAgICAgICAgICAgc3RyYXRlZ3lcbiAgICAgICAgICB9KSA6IHJlc2V0LnJlY3RzO1xuICAgICAgICB9XG4gICAgICAgICh7XG4gICAgICAgICAgeCxcbiAgICAgICAgICB5XG4gICAgICAgIH0gPSBjb21wdXRlQ29vcmRzRnJvbVBsYWNlbWVudChyZWN0cywgc3RhdGVmdWxQbGFjZW1lbnQsIHJ0bCkpO1xuICAgICAgfVxuICAgICAgaSA9IC0xO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeSxcbiAgICBwbGFjZW1lbnQ6IHN0YXRlZnVsUGxhY2VtZW50LFxuICAgIHN0cmF0ZWd5LFxuICAgIG1pZGRsZXdhcmVEYXRhXG4gIH07XG59O1xuXG4vKipcbiAqIFJlc29sdmVzIHdpdGggYW4gb2JqZWN0IG9mIG92ZXJmbG93IHNpZGUgb2Zmc2V0cyB0aGF0IGRldGVybWluZSBob3cgbXVjaCB0aGVcbiAqIGVsZW1lbnQgaXMgb3ZlcmZsb3dpbmcgYSBnaXZlbiBjbGlwcGluZyBib3VuZGFyeSBvbiBlYWNoIHNpZGUuXG4gKiAtIHBvc2l0aXZlID0gb3ZlcmZsb3dpbmcgdGhlIGJvdW5kYXJ5IGJ5IHRoYXQgbnVtYmVyIG9mIHBpeGVsc1xuICogLSBuZWdhdGl2ZSA9IGhvdyBtYW55IHBpeGVscyBsZWZ0IGJlZm9yZSBpdCB3aWxsIG92ZXJmbG93XG4gKiAtIDAgPSBsaWVzIGZsdXNoIHdpdGggdGhlIGJvdW5kYXJ5XG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZGV0ZWN0T3ZlcmZsb3dcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIG9wdGlvbnMpIHtcbiAgdmFyIF9hd2FpdCRwbGF0Zm9ybSRpc0VsZTtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgeCxcbiAgICB5LFxuICAgIHBsYXRmb3JtLFxuICAgIHJlY3RzLFxuICAgIGVsZW1lbnRzLFxuICAgIHN0cmF0ZWd5XG4gIH0gPSBzdGF0ZTtcbiAgY29uc3Qge1xuICAgIGJvdW5kYXJ5ID0gJ2NsaXBwaW5nQW5jZXN0b3JzJyxcbiAgICByb290Qm91bmRhcnkgPSAndmlld3BvcnQnLFxuICAgIGVsZW1lbnRDb250ZXh0ID0gJ2Zsb2F0aW5nJyxcbiAgICBhbHRCb3VuZGFyeSA9IGZhbHNlLFxuICAgIHBhZGRpbmcgPSAwXG4gIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gIGNvbnN0IHBhZGRpbmdPYmplY3QgPSBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpO1xuICBjb25zdCBhbHRDb250ZXh0ID0gZWxlbWVudENvbnRleHQgPT09ICdmbG9hdGluZycgPyAncmVmZXJlbmNlJyA6ICdmbG9hdGluZyc7XG4gIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1thbHRCb3VuZGFyeSA/IGFsdENvbnRleHQgOiBlbGVtZW50Q29udGV4dF07XG4gIGNvbnN0IGNsaXBwaW5nQ2xpZW50UmVjdCA9IHJlY3RUb0NsaWVudFJlY3QoYXdhaXQgcGxhdGZvcm0uZ2V0Q2xpcHBpbmdSZWN0KHtcbiAgICBlbGVtZW50OiAoKF9hd2FpdCRwbGF0Zm9ybSRpc0VsZSA9IGF3YWl0IChwbGF0Zm9ybS5pc0VsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzRWxlbWVudChlbGVtZW50KSkpICE9IG51bGwgPyBfYXdhaXQkcGxhdGZvcm0kaXNFbGUgOiB0cnVlKSA/IGVsZW1lbnQgOiBlbGVtZW50LmNvbnRleHRFbGVtZW50IHx8IChhd2FpdCAocGxhdGZvcm0uZ2V0RG9jdW1lbnRFbGVtZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpKSksXG4gICAgYm91bmRhcnksXG4gICAgcm9vdEJvdW5kYXJ5LFxuICAgIHN0cmF0ZWd5XG4gIH0pKTtcbiAgY29uc3QgcmVjdCA9IGVsZW1lbnRDb250ZXh0ID09PSAnZmxvYXRpbmcnID8ge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aDogcmVjdHMuZmxvYXRpbmcud2lkdGgsXG4gICAgaGVpZ2h0OiByZWN0cy5mbG9hdGluZy5oZWlnaHRcbiAgfSA6IHJlY3RzLnJlZmVyZW5jZTtcbiAgY29uc3Qgb2Zmc2V0UGFyZW50ID0gYXdhaXQgKHBsYXRmb3JtLmdldE9mZnNldFBhcmVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnRzLmZsb2F0aW5nKSk7XG4gIGNvbnN0IG9mZnNldFNjYWxlID0gKGF3YWl0IChwbGF0Zm9ybS5pc0VsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzRWxlbWVudChvZmZzZXRQYXJlbnQpKSkgPyAoYXdhaXQgKHBsYXRmb3JtLmdldFNjYWxlID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXRTY2FsZShvZmZzZXRQYXJlbnQpKSkgfHwge1xuICAgIHg6IDEsXG4gICAgeTogMVxuICB9IDoge1xuICAgIHg6IDEsXG4gICAgeTogMVxuICB9O1xuICBjb25zdCBlbGVtZW50Q2xpZW50UmVjdCA9IHJlY3RUb0NsaWVudFJlY3QocGxhdGZvcm0uY29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3QgPyBhd2FpdCBwbGF0Zm9ybS5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCh7XG4gICAgZWxlbWVudHMsXG4gICAgcmVjdCxcbiAgICBvZmZzZXRQYXJlbnQsXG4gICAgc3RyYXRlZ3lcbiAgfSkgOiByZWN0KTtcbiAgcmV0dXJuIHtcbiAgICB0b3A6IChjbGlwcGluZ0NsaWVudFJlY3QudG9wIC0gZWxlbWVudENsaWVudFJlY3QudG9wICsgcGFkZGluZ09iamVjdC50b3ApIC8gb2Zmc2V0U2NhbGUueSxcbiAgICBib3R0b206IChlbGVtZW50Q2xpZW50UmVjdC5ib3R0b20gLSBjbGlwcGluZ0NsaWVudFJlY3QuYm90dG9tICsgcGFkZGluZ09iamVjdC5ib3R0b20pIC8gb2Zmc2V0U2NhbGUueSxcbiAgICBsZWZ0OiAoY2xpcHBpbmdDbGllbnRSZWN0LmxlZnQgLSBlbGVtZW50Q2xpZW50UmVjdC5sZWZ0ICsgcGFkZGluZ09iamVjdC5sZWZ0KSAvIG9mZnNldFNjYWxlLngsXG4gICAgcmlnaHQ6IChlbGVtZW50Q2xpZW50UmVjdC5yaWdodCAtIGNsaXBwaW5nQ2xpZW50UmVjdC5yaWdodCArIHBhZGRpbmdPYmplY3QucmlnaHQpIC8gb2Zmc2V0U2NhbGUueFxuICB9O1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gcG9zaXRpb24gYW4gaW5uZXIgZWxlbWVudCBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBzbyB0aGF0IGl0XG4gKiBhcHBlYXJzIGNlbnRlcmVkIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hcnJvd1xuICovXG5jb25zdCBhcnJvdyA9IG9wdGlvbnMgPT4gKHtcbiAgbmFtZTogJ2Fycm93JyxcbiAgb3B0aW9ucyxcbiAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICBjb25zdCB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHBsYWNlbWVudCxcbiAgICAgIHJlY3RzLFxuICAgICAgcGxhdGZvcm0sXG4gICAgICBlbGVtZW50cyxcbiAgICAgIG1pZGRsZXdhcmVEYXRhXG4gICAgfSA9IHN0YXRlO1xuICAgIC8vIFNpbmNlIGBlbGVtZW50YCBpcyByZXF1aXJlZCwgd2UgZG9uJ3QgUGFydGlhbDw+IHRoZSB0eXBlLlxuICAgIGNvbnN0IHtcbiAgICAgIGVsZW1lbnQsXG4gICAgICBwYWRkaW5nID0gMFxuICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSkgfHwge307XG4gICAgaWYgKGVsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBwYWRkaW5nT2JqZWN0ID0gZ2V0UGFkZGluZ09iamVjdChwYWRkaW5nKTtcbiAgICBjb25zdCBjb29yZHMgPSB7XG4gICAgICB4LFxuICAgICAgeVxuICAgIH07XG4gICAgY29uc3QgYXhpcyA9IGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KTtcbiAgICBjb25zdCBsZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGF4aXMpO1xuICAgIGNvbnN0IGFycm93RGltZW5zaW9ucyA9IGF3YWl0IHBsYXRmb3JtLmdldERpbWVuc2lvbnMoZWxlbWVudCk7XG4gICAgY29uc3QgaXNZQXhpcyA9IGF4aXMgPT09ICd5JztcbiAgICBjb25zdCBtaW5Qcm9wID0gaXNZQXhpcyA/ICd0b3AnIDogJ2xlZnQnO1xuICAgIGNvbnN0IG1heFByb3AgPSBpc1lBeGlzID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICAgIGNvbnN0IGNsaWVudFByb3AgPSBpc1lBeGlzID8gJ2NsaWVudEhlaWdodCcgOiAnY2xpZW50V2lkdGgnO1xuICAgIGNvbnN0IGVuZERpZmYgPSByZWN0cy5yZWZlcmVuY2VbbGVuZ3RoXSArIHJlY3RzLnJlZmVyZW5jZVtheGlzXSAtIGNvb3Jkc1theGlzXSAtIHJlY3RzLmZsb2F0aW5nW2xlbmd0aF07XG4gICAgY29uc3Qgc3RhcnREaWZmID0gY29vcmRzW2F4aXNdIC0gcmVjdHMucmVmZXJlbmNlW2F4aXNdO1xuICAgIGNvbnN0IGFycm93T2Zmc2V0UGFyZW50ID0gYXdhaXQgKHBsYXRmb3JtLmdldE9mZnNldFBhcmVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQpKTtcbiAgICBsZXQgY2xpZW50U2l6ZSA9IGFycm93T2Zmc2V0UGFyZW50ID8gYXJyb3dPZmZzZXRQYXJlbnRbY2xpZW50UHJvcF0gOiAwO1xuXG4gICAgLy8gRE9NIHBsYXRmb3JtIGNhbiByZXR1cm4gYHdpbmRvd2AgYXMgdGhlIGBvZmZzZXRQYXJlbnRgLlxuICAgIGlmICghY2xpZW50U2l6ZSB8fCAhKGF3YWl0IChwbGF0Zm9ybS5pc0VsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzRWxlbWVudChhcnJvd09mZnNldFBhcmVudCkpKSkge1xuICAgICAgY2xpZW50U2l6ZSA9IGVsZW1lbnRzLmZsb2F0aW5nW2NsaWVudFByb3BdIHx8IHJlY3RzLmZsb2F0aW5nW2xlbmd0aF07XG4gICAgfVxuICAgIGNvbnN0IGNlbnRlclRvUmVmZXJlbmNlID0gZW5kRGlmZiAvIDIgLSBzdGFydERpZmYgLyAyO1xuXG4gICAgLy8gSWYgdGhlIHBhZGRpbmcgaXMgbGFyZ2UgZW5vdWdoIHRoYXQgaXQgY2F1c2VzIHRoZSBhcnJvdyB0byBubyBsb25nZXIgYmVcbiAgICAvLyBjZW50ZXJlZCwgbW9kaWZ5IHRoZSBwYWRkaW5nIHNvIHRoYXQgaXQgaXMgY2VudGVyZWQuXG4gICAgY29uc3QgbGFyZ2VzdFBvc3NpYmxlUGFkZGluZyA9IGNsaWVudFNpemUgLyAyIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLyAyIC0gMTtcbiAgICBjb25zdCBtaW5QYWRkaW5nID0gbWluKHBhZGRpbmdPYmplY3RbbWluUHJvcF0sIGxhcmdlc3RQb3NzaWJsZVBhZGRpbmcpO1xuICAgIGNvbnN0IG1heFBhZGRpbmcgPSBtaW4ocGFkZGluZ09iamVjdFttYXhQcm9wXSwgbGFyZ2VzdFBvc3NpYmxlUGFkZGluZyk7XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIGFycm93IGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaWYgdGhlIGNlbnRlclxuICAgIC8vIHBvaW50IGlzIG91dHNpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQncyBib3VuZHMuXG4gICAgY29uc3QgbWluJDEgPSBtaW5QYWRkaW5nO1xuICAgIGNvbnN0IG1heCA9IGNsaWVudFNpemUgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAtIG1heFBhZGRpbmc7XG4gICAgY29uc3QgY2VudGVyID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAvIDIgKyBjZW50ZXJUb1JlZmVyZW5jZTtcbiAgICBjb25zdCBvZmZzZXQgPSBjbGFtcChtaW4kMSwgY2VudGVyLCBtYXgpO1xuXG4gICAgLy8gSWYgdGhlIHJlZmVyZW5jZSBpcyBzbWFsbCBlbm91Z2ggdGhhdCB0aGUgYXJyb3cncyBwYWRkaW5nIGNhdXNlcyBpdCB0b1xuICAgIC8vIHRvIHBvaW50IHRvIG5vdGhpbmcgZm9yIGFuIGFsaWduZWQgcGxhY2VtZW50LCBhZGp1c3QgdGhlIG9mZnNldCBvZiB0aGVcbiAgICAvLyBmbG9hdGluZyBlbGVtZW50IGl0c2VsZi4gVG8gZW5zdXJlIGBzaGlmdCgpYCBjb250aW51ZXMgdG8gdGFrZSBhY3Rpb24sXG4gICAgLy8gYSBzaW5nbGUgcmVzZXQgaXMgcGVyZm9ybWVkIHdoZW4gdGhpcyBpcyB0cnVlLlxuICAgIGNvbnN0IHNob3VsZEFkZE9mZnNldCA9ICFtaWRkbGV3YXJlRGF0YS5hcnJvdyAmJiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSAhPSBudWxsICYmIGNlbnRlciAhPT0gb2Zmc2V0ICYmIHJlY3RzLnJlZmVyZW5jZVtsZW5ndGhdIC8gMiAtIChjZW50ZXIgPCBtaW4kMSA/IG1pblBhZGRpbmcgOiBtYXhQYWRkaW5nKSAtIGFycm93RGltZW5zaW9uc1tsZW5ndGhdIC8gMiA8IDA7XG4gICAgY29uc3QgYWxpZ25tZW50T2Zmc2V0ID0gc2hvdWxkQWRkT2Zmc2V0ID8gY2VudGVyIDwgbWluJDEgPyBjZW50ZXIgLSBtaW4kMSA6IGNlbnRlciAtIG1heCA6IDA7XG4gICAgcmV0dXJuIHtcbiAgICAgIFtheGlzXTogY29vcmRzW2F4aXNdICsgYWxpZ25tZW50T2Zmc2V0LFxuICAgICAgZGF0YToge1xuICAgICAgICBbYXhpc106IG9mZnNldCxcbiAgICAgICAgY2VudGVyT2Zmc2V0OiBjZW50ZXIgLSBvZmZzZXQgLSBhbGlnbm1lbnRPZmZzZXQsXG4gICAgICAgIC4uLihzaG91bGRBZGRPZmZzZXQgJiYge1xuICAgICAgICAgIGFsaWdubWVudE9mZnNldFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHJlc2V0OiBzaG91bGRBZGRPZmZzZXRcbiAgICB9O1xuICB9XG59KTtcblxuZnVuY3Rpb24gZ2V0UGxhY2VtZW50TGlzdChhbGlnbm1lbnQsIGF1dG9BbGlnbm1lbnQsIGFsbG93ZWRQbGFjZW1lbnRzKSB7XG4gIGNvbnN0IGFsbG93ZWRQbGFjZW1lbnRzU29ydGVkQnlBbGlnbm1lbnQgPSBhbGlnbm1lbnQgPyBbLi4uYWxsb3dlZFBsYWNlbWVudHMuZmlsdGVyKHBsYWNlbWVudCA9PiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSA9PT0gYWxpZ25tZW50KSwgLi4uYWxsb3dlZFBsYWNlbWVudHMuZmlsdGVyKHBsYWNlbWVudCA9PiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSAhPT0gYWxpZ25tZW50KV0gOiBhbGxvd2VkUGxhY2VtZW50cy5maWx0ZXIocGxhY2VtZW50ID0+IGdldFNpZGUocGxhY2VtZW50KSA9PT0gcGxhY2VtZW50KTtcbiAgcmV0dXJuIGFsbG93ZWRQbGFjZW1lbnRzU29ydGVkQnlBbGlnbm1lbnQuZmlsdGVyKHBsYWNlbWVudCA9PiB7XG4gICAgaWYgKGFsaWdubWVudCkge1xuICAgICAgcmV0dXJuIGdldEFsaWdubWVudChwbGFjZW1lbnQpID09PSBhbGlnbm1lbnQgfHwgKGF1dG9BbGlnbm1lbnQgPyBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpICE9PSBwbGFjZW1lbnQgOiBmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn1cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcbiAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gKiBwcmVmZXJyZWQgcGxhY2VtZW50LiBBbHRlcm5hdGl2ZSB0byBgZmxpcGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxuICovXG5jb25zdCBhdXRvUGxhY2VtZW50ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhdXRvUGxhY2VtZW50JyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICB2YXIgX21pZGRsZXdhcmVEYXRhJGF1dG9QLCBfbWlkZGxld2FyZURhdGEkYXV0b1AyLCBfcGxhY2VtZW50c1RoYXRGaXRPbkU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlY3RzLFxuICAgICAgICBtaWRkbGV3YXJlRGF0YSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBwbGF0Zm9ybSxcbiAgICAgICAgZWxlbWVudHNcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY3Jvc3NBeGlzID0gZmFsc2UsXG4gICAgICAgIGFsaWdubWVudCxcbiAgICAgICAgYWxsb3dlZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzLFxuICAgICAgICBhdXRvQWxpZ25tZW50ID0gdHJ1ZSxcbiAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICAgICAgY29uc3QgcGxhY2VtZW50cyQxID0gYWxpZ25tZW50ICE9PSB1bmRlZmluZWQgfHwgYWxsb3dlZFBsYWNlbWVudHMgPT09IHBsYWNlbWVudHMgPyBnZXRQbGFjZW1lbnRMaXN0KGFsaWdubWVudCB8fCBudWxsLCBhdXRvQWxpZ25tZW50LCBhbGxvd2VkUGxhY2VtZW50cykgOiBhbGxvd2VkUGxhY2VtZW50cztcbiAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XG4gICAgICBjb25zdCBjdXJyZW50SW5kZXggPSAoKF9taWRkbGV3YXJlRGF0YSRhdXRvUCA9IG1pZGRsZXdhcmVEYXRhLmF1dG9QbGFjZW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkYXV0b1AuaW5kZXgpIHx8IDA7XG4gICAgICBjb25zdCBjdXJyZW50UGxhY2VtZW50ID0gcGxhY2VtZW50cyQxW2N1cnJlbnRJbmRleF07XG4gICAgICBpZiAoY3VycmVudFBsYWNlbWVudCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFsaWdubWVudFNpZGVzID0gZ2V0QWxpZ25tZW50U2lkZXMoY3VycmVudFBsYWNlbWVudCwgcmVjdHMsIGF3YWl0IChwbGF0Zm9ybS5pc1JUTCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNSVEwoZWxlbWVudHMuZmxvYXRpbmcpKSk7XG5cbiAgICAgIC8vIE1ha2UgYGNvbXB1dGVDb29yZHNgIHN0YXJ0IGZyb20gdGhlIHJpZ2h0IHBsYWNlLlxuICAgICAgaWYgKHBsYWNlbWVudCAhPT0gY3VycmVudFBsYWNlbWVudCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudHMkMVswXVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGN1cnJlbnRPdmVyZmxvd3MgPSBbb3ZlcmZsb3dbZ2V0U2lkZShjdXJyZW50UGxhY2VtZW50KV0sIG92ZXJmbG93W2FsaWdubWVudFNpZGVzWzBdXSwgb3ZlcmZsb3dbYWxpZ25tZW50U2lkZXNbMV1dXTtcbiAgICAgIGNvbnN0IGFsbE92ZXJmbG93cyA9IFsuLi4oKChfbWlkZGxld2FyZURhdGEkYXV0b1AyID0gbWlkZGxld2FyZURhdGEuYXV0b1BsYWNlbWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRhdXRvUDIub3ZlcmZsb3dzKSB8fCBbXSksIHtcbiAgICAgICAgcGxhY2VtZW50OiBjdXJyZW50UGxhY2VtZW50LFxuICAgICAgICBvdmVyZmxvd3M6IGN1cnJlbnRPdmVyZmxvd3NcbiAgICAgIH1dO1xuICAgICAgY29uc3QgbmV4dFBsYWNlbWVudCA9IHBsYWNlbWVudHMkMVtjdXJyZW50SW5kZXggKyAxXTtcblxuICAgICAgLy8gVGhlcmUgYXJlIG1vcmUgcGxhY2VtZW50cyB0byBjaGVjay5cbiAgICAgIGlmIChuZXh0UGxhY2VtZW50KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgaW5kZXg6IGN1cnJlbnRJbmRleCArIDEsXG4gICAgICAgICAgICBvdmVyZmxvd3M6IGFsbE92ZXJmbG93c1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIHBsYWNlbWVudDogbmV4dFBsYWNlbWVudFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBsYWNlbWVudHNTb3J0ZWRCeU1vc3RTcGFjZSA9IGFsbE92ZXJmbG93cy5tYXAoZCA9PiB7XG4gICAgICAgIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChkLnBsYWNlbWVudCk7XG4gICAgICAgIHJldHVybiBbZC5wbGFjZW1lbnQsIGFsaWdubWVudCAmJiBjcm9zc0F4aXMgP1xuICAgICAgICAvLyBDaGVjayBhbG9uZyB0aGUgbWFpbkF4aXMgYW5kIG1haW4gY3Jvc3NBeGlzIHNpZGUuXG4gICAgICAgIGQub3ZlcmZsb3dzLnNsaWNlKDAsIDIpLnJlZHVjZSgoYWNjLCB2KSA9PiBhY2MgKyB2LCAwKSA6XG4gICAgICAgIC8vIENoZWNrIG9ubHkgdGhlIG1haW5BeGlzLlxuICAgICAgICBkLm92ZXJmbG93c1swXSwgZC5vdmVyZmxvd3NdO1xuICAgICAgfSkuc29ydCgoYSwgYikgPT4gYVsxXSAtIGJbMV0pO1xuICAgICAgY29uc3QgcGxhY2VtZW50c1RoYXRGaXRPbkVhY2hTaWRlID0gcGxhY2VtZW50c1NvcnRlZEJ5TW9zdFNwYWNlLmZpbHRlcihkID0+IGRbMl0uc2xpY2UoMCxcbiAgICAgIC8vIEFsaWduZWQgcGxhY2VtZW50cyBzaG91bGQgbm90IGNoZWNrIHRoZWlyIG9wcG9zaXRlIGNyb3NzQXhpc1xuICAgICAgLy8gc2lkZS5cbiAgICAgIGdldEFsaWdubWVudChkWzBdKSA/IDIgOiAzKS5ldmVyeSh2ID0+IHYgPD0gMCkpO1xuICAgICAgY29uc3QgcmVzZXRQbGFjZW1lbnQgPSAoKF9wbGFjZW1lbnRzVGhhdEZpdE9uRSA9IHBsYWNlbWVudHNUaGF0Rml0T25FYWNoU2lkZVswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9wbGFjZW1lbnRzVGhhdEZpdE9uRVswXSkgfHwgcGxhY2VtZW50c1NvcnRlZEJ5TW9zdFNwYWNlWzBdWzBdO1xuICAgICAgaWYgKHJlc2V0UGxhY2VtZW50ICE9PSBwbGFjZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBpbmRleDogY3VycmVudEluZGV4ICsgMSxcbiAgICAgICAgICAgIG92ZXJmbG93czogYWxsT3ZlcmZsb3dzXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcGxhY2VtZW50OiByZXNldFBsYWNlbWVudFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBmbGlwcGluZyB0aGUgYHBsYWNlbWVudGBcbiAqIGluIG9yZGVyIHRvIGtlZXAgaXQgaW4gdmlldyB3aGVuIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50KHMpIHdpbGwgb3ZlcmZsb3cgdGhlXG4gKiBjbGlwcGluZyBib3VuZGFyeS4gQWx0ZXJuYXRpdmUgdG8gYGF1dG9QbGFjZW1lbnRgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2ZsaXBcbiAqL1xuY29uc3QgZmxpcCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZmxpcCcsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRhcnJvdywgX21pZGRsZXdhcmVEYXRhJGZsaXA7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgbWlkZGxld2FyZURhdGEsXG4gICAgICAgIHJlY3RzLFxuICAgICAgICBpbml0aWFsUGxhY2VtZW50LFxuICAgICAgICBwbGF0Zm9ybSxcbiAgICAgICAgZWxlbWVudHNcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbWFpbkF4aXM6IGNoZWNrTWFpbkF4aXMgPSB0cnVlLFxuICAgICAgICBjcm9zc0F4aXM6IGNoZWNrQ3Jvc3NBeGlzID0gdHJ1ZSxcbiAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnRzOiBzcGVjaWZpZWRGYWxsYmFja1BsYWNlbWVudHMsXG4gICAgICAgIGZhbGxiYWNrU3RyYXRlZ3kgPSAnYmVzdEZpdCcsXG4gICAgICAgIGZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24gPSAnbm9uZScsXG4gICAgICAgIGZsaXBBbGlnbm1lbnQgPSB0cnVlLFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG5cbiAgICAgIC8vIElmIGEgcmVzZXQgYnkgdGhlIGFycm93IHdhcyBjYXVzZWQgZHVlIHRvIGFuIGFsaWdubWVudCBvZmZzZXQgYmVpbmdcbiAgICAgIC8vIGFkZGVkLCB3ZSBzaG91bGQgc2tpcCBhbnkgbG9naWMgbm93IHNpbmNlIGBmbGlwKClgIGhhcyBhbHJlYWR5IGRvbmUgaXRzXG4gICAgICAvLyB3b3JrLlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8yNTQ5I2lzc3VlY29tbWVudC0xNzE5NjAxNjQzXG4gICAgICBpZiAoKF9taWRkbGV3YXJlRGF0YSRhcnJvdyA9IG1pZGRsZXdhcmVEYXRhLmFycm93KSAhPSBudWxsICYmIF9taWRkbGV3YXJlRGF0YSRhcnJvdy5hbGlnbm1lbnRPZmZzZXQpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IGluaXRpYWxTaWRlQXhpcyA9IGdldFNpZGVBeGlzKGluaXRpYWxQbGFjZW1lbnQpO1xuICAgICAgY29uc3QgaXNCYXNlUGxhY2VtZW50ID0gZ2V0U2lkZShpbml0aWFsUGxhY2VtZW50KSA9PT0gaW5pdGlhbFBsYWNlbWVudDtcbiAgICAgIGNvbnN0IHJ0bCA9IGF3YWl0IChwbGF0Zm9ybS5pc1JUTCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNSVEwoZWxlbWVudHMuZmxvYXRpbmcpKTtcbiAgICAgIGNvbnN0IGZhbGxiYWNrUGxhY2VtZW50cyA9IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyB8fCAoaXNCYXNlUGxhY2VtZW50IHx8ICFmbGlwQWxpZ25tZW50ID8gW2dldE9wcG9zaXRlUGxhY2VtZW50KGluaXRpYWxQbGFjZW1lbnQpXSA6IGdldEV4cGFuZGVkUGxhY2VtZW50cyhpbml0aWFsUGxhY2VtZW50KSk7XG4gICAgICBjb25zdCBoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uID0gZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiAhPT0gJ25vbmUnO1xuICAgICAgaWYgKCFzcGVjaWZpZWRGYWxsYmFja1BsYWNlbWVudHMgJiYgaGFzRmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbikge1xuICAgICAgICBmYWxsYmFja1BsYWNlbWVudHMucHVzaCguLi5nZXRPcHBvc2l0ZUF4aXNQbGFjZW1lbnRzKGluaXRpYWxQbGFjZW1lbnQsIGZsaXBBbGlnbm1lbnQsIGZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24sIHJ0bCkpO1xuICAgICAgfVxuICAgICAgY29uc3QgcGxhY2VtZW50cyA9IFtpbml0aWFsUGxhY2VtZW50LCAuLi5mYWxsYmFja1BsYWNlbWVudHNdO1xuICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgZGV0ZWN0T3ZlcmZsb3dPcHRpb25zKTtcbiAgICAgIGNvbnN0IG92ZXJmbG93cyA9IFtdO1xuICAgICAgbGV0IG92ZXJmbG93c0RhdGEgPSAoKF9taWRkbGV3YXJlRGF0YSRmbGlwID0gbWlkZGxld2FyZURhdGEuZmxpcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRmbGlwLm92ZXJmbG93cykgfHwgW107XG4gICAgICBpZiAoY2hlY2tNYWluQXhpcykge1xuICAgICAgICBvdmVyZmxvd3MucHVzaChvdmVyZmxvd1tzaWRlXSk7XG4gICAgICB9XG4gICAgICBpZiAoY2hlY2tDcm9zc0F4aXMpIHtcbiAgICAgICAgY29uc3Qgc2lkZXMgPSBnZXRBbGlnbm1lbnRTaWRlcyhwbGFjZW1lbnQsIHJlY3RzLCBydGwpO1xuICAgICAgICBvdmVyZmxvd3MucHVzaChvdmVyZmxvd1tzaWRlc1swXV0sIG92ZXJmbG93W3NpZGVzWzFdXSk7XG4gICAgICB9XG4gICAgICBvdmVyZmxvd3NEYXRhID0gWy4uLm92ZXJmbG93c0RhdGEsIHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBvdmVyZmxvd3NcbiAgICAgIH1dO1xuXG4gICAgICAvLyBPbmUgb3IgbW9yZSBzaWRlcyBpcyBvdmVyZmxvd2luZy5cbiAgICAgIGlmICghb3ZlcmZsb3dzLmV2ZXJ5KHNpZGUgPT4gc2lkZSA8PSAwKSkge1xuICAgICAgICB2YXIgX21pZGRsZXdhcmVEYXRhJGZsaXAyLCBfb3ZlcmZsb3dzRGF0YSRmaWx0ZXI7XG4gICAgICAgIGNvbnN0IG5leHRJbmRleCA9ICgoKF9taWRkbGV3YXJlRGF0YSRmbGlwMiA9IG1pZGRsZXdhcmVEYXRhLmZsaXApID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkZmxpcDIuaW5kZXgpIHx8IDApICsgMTtcbiAgICAgICAgY29uc3QgbmV4dFBsYWNlbWVudCA9IHBsYWNlbWVudHNbbmV4dEluZGV4XTtcbiAgICAgICAgaWYgKG5leHRQbGFjZW1lbnQpIHtcbiAgICAgICAgICAvLyBUcnkgbmV4dCBwbGFjZW1lbnQgYW5kIHJlLXJ1biB0aGUgbGlmZWN5Y2xlLlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIGluZGV4OiBuZXh0SW5kZXgsXG4gICAgICAgICAgICAgIG92ZXJmbG93czogb3ZlcmZsb3dzRGF0YVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICAgIHBsYWNlbWVudDogbmV4dFBsYWNlbWVudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXJzdCwgZmluZCB0aGUgY2FuZGlkYXRlcyB0aGF0IGZpdCBvbiB0aGUgbWFpbkF4aXMgc2lkZSBvZiBvdmVyZmxvdyxcbiAgICAgICAgLy8gdGhlbiBmaW5kIHRoZSBwbGFjZW1lbnQgdGhhdCBmaXRzIHRoZSBiZXN0IG9uIHRoZSBtYWluIGNyb3NzQXhpcyBzaWRlLlxuICAgICAgICBsZXQgcmVzZXRQbGFjZW1lbnQgPSAoX292ZXJmbG93c0RhdGEkZmlsdGVyID0gb3ZlcmZsb3dzRGF0YS5maWx0ZXIoZCA9PiBkLm92ZXJmbG93c1swXSA8PSAwKS5zb3J0KChhLCBiKSA9PiBhLm92ZXJmbG93c1sxXSAtIGIub3ZlcmZsb3dzWzFdKVswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9vdmVyZmxvd3NEYXRhJGZpbHRlci5wbGFjZW1lbnQ7XG5cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGZhbGxiYWNrLlxuICAgICAgICBpZiAoIXJlc2V0UGxhY2VtZW50KSB7XG4gICAgICAgICAgc3dpdGNoIChmYWxsYmFja1N0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjYXNlICdiZXN0Rml0JzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhciBfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYWNlbWVudCA9IChfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyID0gb3ZlcmZsb3dzRGF0YS5maWx0ZXIoZCA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoaGFzRmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50U2lkZUF4aXMgPSBnZXRTaWRlQXhpcyhkLnBsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50U2lkZUF4aXMgPT09IGluaXRpYWxTaWRlQXhpcyB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBiaWFzIHRvIHRoZSBgeWAgc2lkZSBheGlzIGR1ZSB0byBob3Jpem9udGFsXG4gICAgICAgICAgICAgICAgICAgIC8vIHJlYWRpbmcgZGlyZWN0aW9ucyBmYXZvcmluZyBncmVhdGVyIHdpZHRoLlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2lkZUF4aXMgPT09ICd5JztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0pLm1hcChkID0+IFtkLnBsYWNlbWVudCwgZC5vdmVyZmxvd3MuZmlsdGVyKG92ZXJmbG93ID0+IG92ZXJmbG93ID4gMCkucmVkdWNlKChhY2MsIG92ZXJmbG93KSA9PiBhY2MgKyBvdmVyZmxvdywgMCldKS5zb3J0KChhLCBiKSA9PiBhWzFdIC0gYlsxXSlbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyWzBdO1xuICAgICAgICAgICAgICAgIGlmIChwbGFjZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgIHJlc2V0UGxhY2VtZW50ID0gcGxhY2VtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnaW5pdGlhbFBsYWNlbWVudCc6XG4gICAgICAgICAgICAgIHJlc2V0UGxhY2VtZW50ID0gaW5pdGlhbFBsYWNlbWVudDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwbGFjZW1lbnQgIT09IHJlc2V0UGxhY2VtZW50KSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICAgIHBsYWNlbWVudDogcmVzZXRQbGFjZW1lbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3QpIHtcbiAgcmV0dXJuIHtcbiAgICB0b3A6IG92ZXJmbG93LnRvcCAtIHJlY3QuaGVpZ2h0LFxuICAgIHJpZ2h0OiBvdmVyZmxvdy5yaWdodCAtIHJlY3Qud2lkdGgsXG4gICAgYm90dG9tOiBvdmVyZmxvdy5ib3R0b20gLSByZWN0LmhlaWdodCxcbiAgICBsZWZ0OiBvdmVyZmxvdy5sZWZ0IC0gcmVjdC53aWR0aFxuICB9O1xufVxuZnVuY3Rpb24gaXNBbnlTaWRlRnVsbHlDbGlwcGVkKG92ZXJmbG93KSB7XG4gIHJldHVybiBzaWRlcy5zb21lKHNpZGUgPT4gb3ZlcmZsb3dbc2lkZV0gPj0gMCk7XG59XG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gaGlkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbiBhcHBsaWNhYmxlIHNpdHVhdGlvbnMsIHN1Y2ggYXNcbiAqIHdoZW4gaXQgaXMgbm90IGluIHRoZSBzYW1lIGNsaXBwaW5nIGNvbnRleHQgYXMgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2hpZGVcbiAqL1xuY29uc3QgaGlkZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnaGlkZScsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICByZWN0c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBzdHJhdGVneSA9ICdyZWZlcmVuY2VIaWRkZW4nLFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBzd2l0Y2ggKHN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgJ3JlZmVyZW5jZUhpZGRlbic6XG4gICAgICAgICAge1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgICAgICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnMsXG4gICAgICAgICAgICAgIGVsZW1lbnRDb250ZXh0OiAncmVmZXJlbmNlJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBvZmZzZXRzID0gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3RzLnJlZmVyZW5jZSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlSGlkZGVuT2Zmc2V0czogb2Zmc2V0cyxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VIaWRkZW46IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChvZmZzZXRzKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgY2FzZSAnZXNjYXBlZCc6XG4gICAgICAgICAge1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgICAgICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnMsXG4gICAgICAgICAgICAgIGFsdEJvdW5kYXJ5OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldHMgPSBnZXRTaWRlT2Zmc2V0cyhvdmVyZmxvdywgcmVjdHMuZmxvYXRpbmcpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGVzY2FwZWRPZmZzZXRzOiBvZmZzZXRzLFxuICAgICAgICAgICAgICAgIGVzY2FwZWQ6IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChvZmZzZXRzKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn07XG5cbmZ1bmN0aW9uIGdldEJvdW5kaW5nUmVjdChyZWN0cykge1xuICBjb25zdCBtaW5YID0gbWluKC4uLnJlY3RzLm1hcChyZWN0ID0+IHJlY3QubGVmdCkpO1xuICBjb25zdCBtaW5ZID0gbWluKC4uLnJlY3RzLm1hcChyZWN0ID0+IHJlY3QudG9wKSk7XG4gIGNvbnN0IG1heFggPSBtYXgoLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5yaWdodCkpO1xuICBjb25zdCBtYXhZID0gbWF4KC4uLnJlY3RzLm1hcChyZWN0ID0+IHJlY3QuYm90dG9tKSk7XG4gIHJldHVybiB7XG4gICAgeDogbWluWCxcbiAgICB5OiBtaW5ZLFxuICAgIHdpZHRoOiBtYXhYIC0gbWluWCxcbiAgICBoZWlnaHQ6IG1heFkgLSBtaW5ZXG4gIH07XG59XG5mdW5jdGlvbiBnZXRSZWN0c0J5TGluZShyZWN0cykge1xuICBjb25zdCBzb3J0ZWRSZWN0cyA9IHJlY3RzLnNsaWNlKCkuc29ydCgoYSwgYikgPT4gYS55IC0gYi55KTtcbiAgY29uc3QgZ3JvdXBzID0gW107XG4gIGxldCBwcmV2UmVjdCA9IG51bGw7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkUmVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByZWN0ID0gc29ydGVkUmVjdHNbaV07XG4gICAgaWYgKCFwcmV2UmVjdCB8fCByZWN0LnkgLSBwcmV2UmVjdC55ID4gcHJldlJlY3QuaGVpZ2h0IC8gMikge1xuICAgICAgZ3JvdXBzLnB1c2goW3JlY3RdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JvdXBzW2dyb3Vwcy5sZW5ndGggLSAxXS5wdXNoKHJlY3QpO1xuICAgIH1cbiAgICBwcmV2UmVjdCA9IHJlY3Q7XG4gIH1cbiAgcmV0dXJuIGdyb3Vwcy5tYXAocmVjdCA9PiByZWN0VG9DbGllbnRSZWN0KGdldEJvdW5kaW5nUmVjdChyZWN0KSkpO1xufVxuLyoqXG4gKiBQcm92aWRlcyBpbXByb3ZlZCBwb3NpdGlvbmluZyBmb3IgaW5saW5lIHJlZmVyZW5jZSBlbGVtZW50cyB0aGF0IGNhbiBzcGFuXG4gKiBvdmVyIG11bHRpcGxlIGxpbmVzLCBzdWNoIGFzIGh5cGVybGlua3Mgb3IgcmFuZ2Ugc2VsZWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbmxpbmVcbiAqL1xuY29uc3QgaW5saW5lID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdpbmxpbmUnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBlbGVtZW50cyxcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBzdHJhdGVneVxuICAgICAgfSA9IHN0YXRlO1xuICAgICAgLy8gQSBNb3VzZUV2ZW50J3MgY2xpZW50e1gsWX0gY29vcmRzIGNhbiBiZSB1cCB0byAyIHBpeGVscyBvZmYgYVxuICAgICAgLy8gQ2xpZW50UmVjdCdzIGJvdW5kcywgZGVzcGl0ZSB0aGUgZXZlbnQgbGlzdGVuZXIgYmVpbmcgdHJpZ2dlcmVkLiBBXG4gICAgICAvLyBwYWRkaW5nIG9mIDIgc2VlbXMgdG8gaGFuZGxlIHRoaXMgaXNzdWUuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHBhZGRpbmcgPSAyLFxuICAgICAgICB4LFxuICAgICAgICB5XG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICAgICAgY29uc3QgbmF0aXZlQ2xpZW50UmVjdHMgPSBBcnJheS5mcm9tKChhd2FpdCAocGxhdGZvcm0uZ2V0Q2xpZW50UmVjdHMgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldENsaWVudFJlY3RzKGVsZW1lbnRzLnJlZmVyZW5jZSkpKSB8fCBbXSk7XG4gICAgICBjb25zdCBjbGllbnRSZWN0cyA9IGdldFJlY3RzQnlMaW5lKG5hdGl2ZUNsaWVudFJlY3RzKTtcbiAgICAgIGNvbnN0IGZhbGxiYWNrID0gcmVjdFRvQ2xpZW50UmVjdChnZXRCb3VuZGluZ1JlY3QobmF0aXZlQ2xpZW50UmVjdHMpKTtcbiAgICAgIGNvbnN0IHBhZGRpbmdPYmplY3QgPSBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpO1xuICAgICAgZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgICAgICAvLyBUaGVyZSBhcmUgdHdvIHJlY3RzIGFuZCB0aGV5IGFyZSBkaXNqb2luZWQuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cy5sZW5ndGggPT09IDIgJiYgY2xpZW50UmVjdHNbMF0ubGVmdCA+IGNsaWVudFJlY3RzWzFdLnJpZ2h0ICYmIHggIT0gbnVsbCAmJiB5ICE9IG51bGwpIHtcbiAgICAgICAgICAvLyBGaW5kIHRoZSBmaXJzdCByZWN0IGluIHdoaWNoIHRoZSBwb2ludCBpcyBmdWxseSBpbnNpZGUuXG4gICAgICAgICAgcmV0dXJuIGNsaWVudFJlY3RzLmZpbmQocmVjdCA9PiB4ID4gcmVjdC5sZWZ0IC0gcGFkZGluZ09iamVjdC5sZWZ0ICYmIHggPCByZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodCAmJiB5ID4gcmVjdC50b3AgLSBwYWRkaW5nT2JqZWN0LnRvcCAmJiB5IDwgcmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSkgfHwgZmFsbGJhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGVyZSBhcmUgMiBvciBtb3JlIGNvbm5lY3RlZCByZWN0cy5cbiAgICAgICAgaWYgKGNsaWVudFJlY3RzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgaWYgKGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5Jykge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RSZWN0ID0gY2xpZW50UmVjdHNbMF07XG4gICAgICAgICAgICBjb25zdCBsYXN0UmVjdCA9IGNsaWVudFJlY3RzW2NsaWVudFJlY3RzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgY29uc3QgaXNUb3AgPSBnZXRTaWRlKHBsYWNlbWVudCkgPT09ICd0b3AnO1xuICAgICAgICAgICAgY29uc3QgdG9wID0gZmlyc3RSZWN0LnRvcDtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbSA9IGxhc3RSZWN0LmJvdHRvbTtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBpc1RvcCA/IGZpcnN0UmVjdC5sZWZ0IDogbGFzdFJlY3QubGVmdDtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gaXNUb3AgPyBmaXJzdFJlY3QucmlnaHQgOiBsYXN0UmVjdC5yaWdodDtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gYm90dG9tIC0gdG9wO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdG9wLFxuICAgICAgICAgICAgICBib3R0b20sXG4gICAgICAgICAgICAgIGxlZnQsXG4gICAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgICB4OiBsZWZ0LFxuICAgICAgICAgICAgICB5OiB0b3BcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGlzTGVmdFNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCkgPT09ICdsZWZ0JztcbiAgICAgICAgICBjb25zdCBtYXhSaWdodCA9IG1heCguLi5jbGllbnRSZWN0cy5tYXAocmVjdCA9PiByZWN0LnJpZ2h0KSk7XG4gICAgICAgICAgY29uc3QgbWluTGVmdCA9IG1pbiguLi5jbGllbnRSZWN0cy5tYXAocmVjdCA9PiByZWN0LmxlZnQpKTtcbiAgICAgICAgICBjb25zdCBtZWFzdXJlUmVjdHMgPSBjbGllbnRSZWN0cy5maWx0ZXIocmVjdCA9PiBpc0xlZnRTaWRlID8gcmVjdC5sZWZ0ID09PSBtaW5MZWZ0IDogcmVjdC5yaWdodCA9PT0gbWF4UmlnaHQpO1xuICAgICAgICAgIGNvbnN0IHRvcCA9IG1lYXN1cmVSZWN0c1swXS50b3A7XG4gICAgICAgICAgY29uc3QgYm90dG9tID0gbWVhc3VyZVJlY3RzW21lYXN1cmVSZWN0cy5sZW5ndGggLSAxXS5ib3R0b207XG4gICAgICAgICAgY29uc3QgbGVmdCA9IG1pbkxlZnQ7XG4gICAgICAgICAgY29uc3QgcmlnaHQgPSBtYXhSaWdodDtcbiAgICAgICAgICBjb25zdCB3aWR0aCA9IHJpZ2h0IC0gbGVmdDtcbiAgICAgICAgICBjb25zdCBoZWlnaHQgPSBib3R0b20gLSB0b3A7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRvcCxcbiAgICAgICAgICAgIGJvdHRvbSxcbiAgICAgICAgICAgIGxlZnQsXG4gICAgICAgICAgICByaWdodCxcbiAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgeDogbGVmdCxcbiAgICAgICAgICAgIHk6IHRvcFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbGxiYWNrO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzZXRSZWN0cyA9IGF3YWl0IHBsYXRmb3JtLmdldEVsZW1lbnRSZWN0cyh7XG4gICAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdFxuICAgICAgICB9LFxuICAgICAgICBmbG9hdGluZzogZWxlbWVudHMuZmxvYXRpbmcsXG4gICAgICAgIHN0cmF0ZWd5XG4gICAgICB9KTtcbiAgICAgIGlmIChyZWN0cy5yZWZlcmVuY2UueCAhPT0gcmVzZXRSZWN0cy5yZWZlcmVuY2UueCB8fCByZWN0cy5yZWZlcmVuY2UueSAhPT0gcmVzZXRSZWN0cy5yZWZlcmVuY2UueSB8fCByZWN0cy5yZWZlcmVuY2Uud2lkdGggIT09IHJlc2V0UmVjdHMucmVmZXJlbmNlLndpZHRoIHx8IHJlY3RzLnJlZmVyZW5jZS5oZWlnaHQgIT09IHJlc2V0UmVjdHMucmVmZXJlbmNlLmhlaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICByZWN0czogcmVzZXRSZWN0c1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG4vLyBGb3IgdHlwZSBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSwgdGhlIGBPZmZzZXRPcHRpb25zYCB0eXBlIHdhcyBhbHNvXG4vLyBEZXJpdmFibGUuXG5cbmFzeW5jIGZ1bmN0aW9uIGNvbnZlcnRWYWx1ZVRvQ29vcmRzKHN0YXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHtcbiAgICBwbGFjZW1lbnQsXG4gICAgcGxhdGZvcm0sXG4gICAgZWxlbWVudHNcbiAgfSA9IHN0YXRlO1xuICBjb25zdCBydGwgPSBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGVsZW1lbnRzLmZsb2F0aW5nKSk7XG4gIGNvbnN0IHNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBjb25zdCBpc1ZlcnRpY2FsID0gZ2V0U2lkZUF4aXMocGxhY2VtZW50KSA9PT0gJ3knO1xuICBjb25zdCBtYWluQXhpc011bHRpID0gWydsZWZ0JywgJ3RvcCddLmluY2x1ZGVzKHNpZGUpID8gLTEgOiAxO1xuICBjb25zdCBjcm9zc0F4aXNNdWx0aSA9IHJ0bCAmJiBpc1ZlcnRpY2FsID8gLTEgOiAxO1xuICBjb25zdCByYXdWYWx1ZSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gIGxldCB7XG4gICAgbWFpbkF4aXMsXG4gICAgY3Jvc3NBeGlzLFxuICAgIGFsaWdubWVudEF4aXNcbiAgfSA9IHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcicgPyB7XG4gICAgbWFpbkF4aXM6IHJhd1ZhbHVlLFxuICAgIGNyb3NzQXhpczogMCxcbiAgICBhbGlnbm1lbnRBeGlzOiBudWxsXG4gIH0gOiB7XG4gICAgbWFpbkF4aXM6IDAsXG4gICAgY3Jvc3NBeGlzOiAwLFxuICAgIGFsaWdubWVudEF4aXM6IG51bGwsXG4gICAgLi4ucmF3VmFsdWVcbiAgfTtcbiAgaWYgKGFsaWdubWVudCAmJiB0eXBlb2YgYWxpZ25tZW50QXhpcyA9PT0gJ251bWJlcicpIHtcbiAgICBjcm9zc0F4aXMgPSBhbGlnbm1lbnQgPT09ICdlbmQnID8gYWxpZ25tZW50QXhpcyAqIC0xIDogYWxpZ25tZW50QXhpcztcbiAgfVxuICByZXR1cm4gaXNWZXJ0aWNhbCA/IHtcbiAgICB4OiBjcm9zc0F4aXMgKiBjcm9zc0F4aXNNdWx0aSxcbiAgICB5OiBtYWluQXhpcyAqIG1haW5BeGlzTXVsdGlcbiAgfSA6IHtcbiAgICB4OiBtYWluQXhpcyAqIG1haW5BeGlzTXVsdGksXG4gICAgeTogY3Jvc3NBeGlzICogY3Jvc3NBeGlzTXVsdGlcbiAgfTtcbn1cblxuLyoqXG4gKiBNb2RpZmllcyB0aGUgcGxhY2VtZW50IGJ5IHRyYW5zbGF0aW5nIHRoZSBmbG9hdGluZyBlbGVtZW50IGFsb25nIHRoZVxuICogc3BlY2lmaWVkIGF4ZXMuXG4gKiBBIG51bWJlciAoc2hvcnRoYW5kIGZvciBgbWFpbkF4aXNgIG9yIGRpc3RhbmNlKSwgb3IgYW4gYXhlcyBjb25maWd1cmF0aW9uXG4gKiBvYmplY3QgbWF5IGJlIHBhc3NlZC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9vZmZzZXRcbiAqL1xuY29uc3Qgb2Zmc2V0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSAwO1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ29mZnNldCcsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRvZmZzZSwgX21pZGRsZXdhcmVEYXRhJGFycm93O1xuICAgICAgY29uc3Qge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCBkaWZmQ29vcmRzID0gYXdhaXQgY29udmVydFZhbHVlVG9Db29yZHMoc3RhdGUsIG9wdGlvbnMpO1xuXG4gICAgICAvLyBJZiB0aGUgcGxhY2VtZW50IGlzIHRoZSBzYW1lIGFuZCB0aGUgYXJyb3cgY2F1c2VkIGFuIGFsaWdubWVudCBvZmZzZXRcbiAgICAgIC8vIHRoZW4gd2UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlIHBvc2l0aW9uaW5nIGNvb3JkaW5hdGVzLlxuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gKChfbWlkZGxld2FyZURhdGEkb2Zmc2UgPSBtaWRkbGV3YXJlRGF0YS5vZmZzZXQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkb2Zmc2UucGxhY2VtZW50KSAmJiAoX21pZGRsZXdhcmVEYXRhJGFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3cpICE9IG51bGwgJiYgX21pZGRsZXdhcmVEYXRhJGFycm93LmFsaWdubWVudE9mZnNldCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB4ICsgZGlmZkNvb3Jkcy54LFxuICAgICAgICB5OiB5ICsgZGlmZkNvb3Jkcy55LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4uZGlmZkNvb3JkcyxcbiAgICAgICAgICBwbGFjZW1lbnRcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH07XG59O1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBzaGlmdGluZyBpdCBpbiBvcmRlciB0b1xuICoga2VlcCBpdCBpbiB2aWV3IHdoZW4gaXQgd2lsbCBvdmVyZmxvdyB0aGUgY2xpcHBpbmcgYm91bmRhcnkuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2hpZnRcbiAqL1xuY29uc3Qgc2hpZnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NoaWZ0JyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICAgIHBsYWNlbWVudFxuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSBmYWxzZSxcbiAgICAgICAgbGltaXRlciA9IHtcbiAgICAgICAgICBmbjogX3JlZiA9PiB7XG4gICAgICAgICAgICBsZXQge1xuICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICB5XG4gICAgICAgICAgICB9ID0gX3JlZjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgIHlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBjb29yZHMgPSB7XG4gICAgICAgIHgsXG4gICAgICAgIHlcbiAgICAgIH07XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3QgY3Jvc3NBeGlzID0gZ2V0U2lkZUF4aXMoZ2V0U2lkZShwbGFjZW1lbnQpKTtcbiAgICAgIGNvbnN0IG1haW5BeGlzID0gZ2V0T3Bwb3NpdGVBeGlzKGNyb3NzQXhpcyk7XG4gICAgICBsZXQgbWFpbkF4aXNDb29yZCA9IGNvb3Jkc1ttYWluQXhpc107XG4gICAgICBsZXQgY3Jvc3NBeGlzQ29vcmQgPSBjb29yZHNbY3Jvc3NBeGlzXTtcbiAgICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICAgIGNvbnN0IG1pblNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gJ3RvcCcgOiAnbGVmdCc7XG4gICAgICAgIGNvbnN0IG1heFNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICAgICAgICBjb25zdCBtaW4gPSBtYWluQXhpc0Nvb3JkICsgb3ZlcmZsb3dbbWluU2lkZV07XG4gICAgICAgIGNvbnN0IG1heCA9IG1haW5BeGlzQ29vcmQgLSBvdmVyZmxvd1ttYXhTaWRlXTtcbiAgICAgICAgbWFpbkF4aXNDb29yZCA9IGNsYW1wKG1pbiwgbWFpbkF4aXNDb29yZCwgbWF4KTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGVja0Nyb3NzQXhpcykge1xuICAgICAgICBjb25zdCBtaW5TaWRlID0gY3Jvc3NBeGlzID09PSAneScgPyAndG9wJyA6ICdsZWZ0JztcbiAgICAgICAgY29uc3QgbWF4U2lkZSA9IGNyb3NzQXhpcyA9PT0gJ3knID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICAgICAgICBjb25zdCBtaW4gPSBjcm9zc0F4aXNDb29yZCArIG92ZXJmbG93W21pblNpZGVdO1xuICAgICAgICBjb25zdCBtYXggPSBjcm9zc0F4aXNDb29yZCAtIG92ZXJmbG93W21heFNpZGVdO1xuICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGNsYW1wKG1pbiwgY3Jvc3NBeGlzQ29vcmQsIG1heCk7XG4gICAgICB9XG4gICAgICBjb25zdCBsaW1pdGVkQ29vcmRzID0gbGltaXRlci5mbih7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBbbWFpbkF4aXNdOiBtYWluQXhpc0Nvb3JkLFxuICAgICAgICBbY3Jvc3NBeGlzXTogY3Jvc3NBeGlzQ29vcmRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubGltaXRlZENvb3JkcyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHg6IGxpbWl0ZWRDb29yZHMueCAtIHgsXG4gICAgICAgICAgeTogbGltaXRlZENvb3Jkcy55IC0geVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG4vKipcbiAqIEJ1aWx0LWluIGBsaW1pdGVyYCB0aGF0IHdpbGwgc3RvcCBgc2hpZnQoKWAgYXQgYSBjZXJ0YWluIHBvaW50LlxuICovXG5jb25zdCBsaW1pdFNoaWZ0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG9wdGlvbnMsXG4gICAgZm4oc3RhdGUpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICByZWN0cyxcbiAgICAgICAgbWlkZGxld2FyZURhdGFcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgb2Zmc2V0ID0gMCxcbiAgICAgICAgbWFpbkF4aXM6IGNoZWNrTWFpbkF4aXMgPSB0cnVlLFxuICAgICAgICBjcm9zc0F4aXM6IGNoZWNrQ3Jvc3NBeGlzID0gdHJ1ZVxuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIGNvbnN0IGNvb3JkcyA9IHtcbiAgICAgICAgeCxcbiAgICAgICAgeVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNyb3NzQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCk7XG4gICAgICBjb25zdCBtYWluQXhpcyA9IGdldE9wcG9zaXRlQXhpcyhjcm9zc0F4aXMpO1xuICAgICAgbGV0IG1haW5BeGlzQ29vcmQgPSBjb29yZHNbbWFpbkF4aXNdO1xuICAgICAgbGV0IGNyb3NzQXhpc0Nvb3JkID0gY29vcmRzW2Nyb3NzQXhpc107XG4gICAgICBjb25zdCByYXdPZmZzZXQgPSBldmFsdWF0ZShvZmZzZXQsIHN0YXRlKTtcbiAgICAgIGNvbnN0IGNvbXB1dGVkT2Zmc2V0ID0gdHlwZW9mIHJhd09mZnNldCA9PT0gJ251bWJlcicgPyB7XG4gICAgICAgIG1haW5BeGlzOiByYXdPZmZzZXQsXG4gICAgICAgIGNyb3NzQXhpczogMFxuICAgICAgfSA6IHtcbiAgICAgICAgbWFpbkF4aXM6IDAsXG4gICAgICAgIGNyb3NzQXhpczogMCxcbiAgICAgICAgLi4ucmF3T2Zmc2V0XG4gICAgICB9O1xuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICAgICAgY29uc3QgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgICAgICAgY29uc3QgbGltaXRNaW4gPSByZWN0cy5yZWZlcmVuY2VbbWFpbkF4aXNdIC0gcmVjdHMuZmxvYXRpbmdbbGVuXSArIGNvbXB1dGVkT2Zmc2V0Lm1haW5BeGlzO1xuICAgICAgICBjb25zdCBsaW1pdE1heCA9IHJlY3RzLnJlZmVyZW5jZVttYWluQXhpc10gKyByZWN0cy5yZWZlcmVuY2VbbGVuXSAtIGNvbXB1dGVkT2Zmc2V0Lm1haW5BeGlzO1xuICAgICAgICBpZiAobWFpbkF4aXNDb29yZCA8IGxpbWl0TWluKSB7XG4gICAgICAgICAgbWFpbkF4aXNDb29yZCA9IGxpbWl0TWluO1xuICAgICAgICB9IGVsc2UgaWYgKG1haW5BeGlzQ29vcmQgPiBsaW1pdE1heCkge1xuICAgICAgICAgIG1haW5BeGlzQ29vcmQgPSBsaW1pdE1heDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XG4gICAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkb2Zmc2UsIF9taWRkbGV3YXJlRGF0YSRvZmZzZTI7XG4gICAgICAgIGNvbnN0IGxlbiA9IG1haW5BeGlzID09PSAneScgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG4gICAgICAgIGNvbnN0IGlzT3JpZ2luU2lkZSA9IFsndG9wJywgJ2xlZnQnXS5pbmNsdWRlcyhnZXRTaWRlKHBsYWNlbWVudCkpO1xuICAgICAgICBjb25zdCBsaW1pdE1pbiA9IHJlY3RzLnJlZmVyZW5jZVtjcm9zc0F4aXNdIC0gcmVjdHMuZmxvYXRpbmdbbGVuXSArIChpc09yaWdpblNpZGUgPyAoKF9taWRkbGV3YXJlRGF0YSRvZmZzZSA9IG1pZGRsZXdhcmVEYXRhLm9mZnNldCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRvZmZzZVtjcm9zc0F4aXNdKSB8fCAwIDogMCkgKyAoaXNPcmlnaW5TaWRlID8gMCA6IGNvbXB1dGVkT2Zmc2V0LmNyb3NzQXhpcyk7XG4gICAgICAgIGNvbnN0IGxpbWl0TWF4ID0gcmVjdHMucmVmZXJlbmNlW2Nyb3NzQXhpc10gKyByZWN0cy5yZWZlcmVuY2VbbGVuXSArIChpc09yaWdpblNpZGUgPyAwIDogKChfbWlkZGxld2FyZURhdGEkb2Zmc2UyID0gbWlkZGxld2FyZURhdGEub2Zmc2V0KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJG9mZnNlMltjcm9zc0F4aXNdKSB8fCAwKSAtIChpc09yaWdpblNpZGUgPyBjb21wdXRlZE9mZnNldC5jcm9zc0F4aXMgOiAwKTtcbiAgICAgICAgaWYgKGNyb3NzQXhpc0Nvb3JkIDwgbGltaXRNaW4pIHtcbiAgICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGxpbWl0TWluO1xuICAgICAgICB9IGVsc2UgaWYgKGNyb3NzQXhpc0Nvb3JkID4gbGltaXRNYXgpIHtcbiAgICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGxpbWl0TWF4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbbWFpbkF4aXNdOiBtYWluQXhpc0Nvb3JkLFxuICAgICAgICBbY3Jvc3NBeGlzXTogY3Jvc3NBeGlzQ29vcmRcbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRoYXQgYWxsb3dzIHlvdSB0byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQg4oCUXG4gKiBmb3IgaW5zdGFuY2UsIHByZXZlbnQgaXQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgYm91bmRhcnkgb3IgbWF0Y2ggdGhlXG4gKiB3aWR0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2l6ZVxuICovXG5jb25zdCBzaXplID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdzaXplJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBhcHBseSA9ICgpID0+IHt9LFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICAgICAgY29uc3QgaXNZQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5JztcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgICAgfSA9IHJlY3RzLmZsb2F0aW5nO1xuICAgICAgbGV0IGhlaWdodFNpZGU7XG4gICAgICBsZXQgd2lkdGhTaWRlO1xuICAgICAgaWYgKHNpZGUgPT09ICd0b3AnIHx8IHNpZGUgPT09ICdib3R0b20nKSB7XG4gICAgICAgIGhlaWdodFNpZGUgPSBzaWRlO1xuICAgICAgICB3aWR0aFNpZGUgPSBhbGlnbm1lbnQgPT09ICgoYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpKSA/ICdzdGFydCcgOiAnZW5kJykgPyAnbGVmdCcgOiAncmlnaHQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2lkdGhTaWRlID0gc2lkZTtcbiAgICAgICAgaGVpZ2h0U2lkZSA9IGFsaWdubWVudCA9PT0gJ2VuZCcgPyAndG9wJyA6ICdib3R0b20nO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nSGVpZ2h0ID0gaGVpZ2h0IC0gb3ZlcmZsb3cudG9wIC0gb3ZlcmZsb3cuYm90dG9tO1xuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nV2lkdGggPSB3aWR0aCAtIG92ZXJmbG93LmxlZnQgLSBvdmVyZmxvdy5yaWdodDtcbiAgICAgIGNvbnN0IG92ZXJmbG93QXZhaWxhYmxlSGVpZ2h0ID0gbWluKGhlaWdodCAtIG92ZXJmbG93W2hlaWdodFNpZGVdLCBtYXhpbXVtQ2xpcHBpbmdIZWlnaHQpO1xuICAgICAgY29uc3Qgb3ZlcmZsb3dBdmFpbGFibGVXaWR0aCA9IG1pbih3aWR0aCAtIG92ZXJmbG93W3dpZHRoU2lkZV0sIG1heGltdW1DbGlwcGluZ1dpZHRoKTtcbiAgICAgIGNvbnN0IG5vU2hpZnQgPSAhc3RhdGUubWlkZGxld2FyZURhdGEuc2hpZnQ7XG4gICAgICBsZXQgYXZhaWxhYmxlSGVpZ2h0ID0gb3ZlcmZsb3dBdmFpbGFibGVIZWlnaHQ7XG4gICAgICBsZXQgYXZhaWxhYmxlV2lkdGggPSBvdmVyZmxvd0F2YWlsYWJsZVdpZHRoO1xuICAgICAgaWYgKGlzWUF4aXMpIHtcbiAgICAgICAgYXZhaWxhYmxlV2lkdGggPSBhbGlnbm1lbnQgfHwgbm9TaGlmdCA/IG1pbihvdmVyZmxvd0F2YWlsYWJsZVdpZHRoLCBtYXhpbXVtQ2xpcHBpbmdXaWR0aCkgOiBtYXhpbXVtQ2xpcHBpbmdXaWR0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IGFsaWdubWVudCB8fCBub1NoaWZ0ID8gbWluKG92ZXJmbG93QXZhaWxhYmxlSGVpZ2h0LCBtYXhpbXVtQ2xpcHBpbmdIZWlnaHQpIDogbWF4aW11bUNsaXBwaW5nSGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYgKG5vU2hpZnQgJiYgIWFsaWdubWVudCkge1xuICAgICAgICBjb25zdCB4TWluID0gbWF4KG92ZXJmbG93LmxlZnQsIDApO1xuICAgICAgICBjb25zdCB4TWF4ID0gbWF4KG92ZXJmbG93LnJpZ2h0LCAwKTtcbiAgICAgICAgY29uc3QgeU1pbiA9IG1heChvdmVyZmxvdy50b3AsIDApO1xuICAgICAgICBjb25zdCB5TWF4ID0gbWF4KG92ZXJmbG93LmJvdHRvbSwgMCk7XG4gICAgICAgIGlmIChpc1lBeGlzKSB7XG4gICAgICAgICAgYXZhaWxhYmxlV2lkdGggPSB3aWR0aCAtIDIgKiAoeE1pbiAhPT0gMCB8fCB4TWF4ICE9PSAwID8geE1pbiArIHhNYXggOiBtYXgob3ZlcmZsb3cubGVmdCwgb3ZlcmZsb3cucmlnaHQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBoZWlnaHQgLSAyICogKHlNaW4gIT09IDAgfHwgeU1heCAhPT0gMCA/IHlNaW4gKyB5TWF4IDogbWF4KG92ZXJmbG93LnRvcCwgb3ZlcmZsb3cuYm90dG9tKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IGFwcGx5KHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGF2YWlsYWJsZVdpZHRoLFxuICAgICAgICBhdmFpbGFibGVIZWlnaHRcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbmV4dERpbWVuc2lvbnMgPSBhd2FpdCBwbGF0Zm9ybS5nZXREaW1lbnNpb25zKGVsZW1lbnRzLmZsb2F0aW5nKTtcbiAgICAgIGlmICh3aWR0aCAhPT0gbmV4dERpbWVuc2lvbnMud2lkdGggfHwgaGVpZ2h0ICE9PSBuZXh0RGltZW5zaW9ucy5oZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcmVjdHM6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9O1xufTtcblxuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGhpZGUsIGlubGluZSwgbGltaXRTaGlmdCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs":
/*!****************************************************************!*\
!*** ./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: function() { return /* binding */ arrow; },\n/* harmony export */ autoPlacement: function() { return /* binding */ autoPlacement; },\n/* harmony export */ autoUpdate: function() { return /* binding */ autoUpdate; },\n/* harmony export */ computePosition: function() { return /* binding */ computePosition; },\n/* harmony export */ detectOverflow: function() { return /* binding */ detectOverflow; },\n/* harmony export */ flip: function() { return /* binding */ flip; },\n/* harmony export */ getOverflowAncestors: function() { return /* reexport safe */ _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors; },\n/* harmony export */ hide: function() { return /* binding */ hide; },\n/* harmony export */ inline: function() { return /* binding */ inline; },\n/* harmony export */ limitShift: function() { return /* binding */ limitShift; },\n/* harmony export */ offset: function() { return /* binding */ offset; },\n/* harmony export */ platform: function() { return /* binding */ platform; },\n/* harmony export */ shift: function() { return /* binding */ shift; },\n/* harmony export */ size: function() { return /* binding */ size; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/utils */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n/* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/core */ \"(app-pages-browser)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs\");\n/* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils/dom */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n\n\n\n\n\nfunction getCssDimensions(element) {\n const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(width) !== offsetWidth || (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(domElement)) {\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.width) : rect.width) / width;\n let y = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\nfunction getVisualOffsets(element) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n if (includeScale) {\n if (offsetParent) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(domElement);\n const offsetWin = offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent) ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = currentWin.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(currentIFrame);\n currentIFrame = currentWin.frameElement;\n }\n }\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\n const topLayer = elements ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\n scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\n }\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element)).left + (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n const scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element);\n const body = element.ownerDocument.body;\n const width = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(body).direction === 'rtl') {\n x += (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) ? getScale(element) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element));\n } else if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\n if (parentNode === stopNode || !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(parentNode) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(parentNode)) {\n return false;\n }\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(element, [], false).filter(el => (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(el) && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed';\n let currentNode = elementIsFixed ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(currentNode) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(currentNode)) {\n const computedStyle = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentNode);\n const currentNodeIsContaining = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(rect.top, accRect.top);\n accRect.right = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(rect.right, accRect.right);\n accRect.bottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(rect.bottom, accRect.bottom);\n accRect.left = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\n const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\n scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const x = rect.left + scroll.scrollLeft - offsets.x;\n const y = rect.top + scroll.scrollTop - offsets.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element)) {\n return win;\n }\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {\n let svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\n while (svgOffsetParent && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(svgOffsetParent)) {\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTableElement)(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(offsetParent) && isStaticPositioned(offsetParent) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(offsetParent)) {\n return win;\n }\n return offsetParent || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getContainingBlock)(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(top);\n const insetRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientWidth - (left + width));\n const insetBottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientHeight - (top + height));\n const insetLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(0, (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(referenceEl) : []), ...(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.detectOverflow;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.offset;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.autoPlacement;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.shift;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.flip;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.size;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.hide;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.arrow;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.inline;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.limitShift;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.computePosition)(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvZG9tL2Rpc3QvZmxvYXRpbmctdWkuZG9tLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5VDtBQUMvTztBQUNpTztBQUM3Tzs7QUFFOUQ7QUFDQSxjQUFjLHdFQUFnQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxRUFBYTtBQUNqQztBQUNBO0FBQ0EseUJBQXlCLHlEQUFLLDJCQUEyQix5REFBSztBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVUsaUVBQVM7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLE9BQU8scUVBQWE7QUFDcEIsV0FBVyxnRUFBWTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZUFBZSx5REFBSztBQUNwQixlQUFlLHlEQUFLOztBQUVwQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtCQUErQixnRUFBWTtBQUMzQztBQUNBLGNBQWMsaUVBQVM7QUFDdkIsT0FBTyxnRUFBUTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUUsaUVBQVM7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxnRUFBWTtBQUMxQjtBQUNBO0FBQ0EsVUFBVSxpRUFBUztBQUNuQjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLDJIQUEySCxnRUFBWTtBQUN2STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlFQUFTO0FBQ3pCLHNDQUFzQyxpRUFBUyxpQkFBaUIsaUVBQVM7QUFDekU7QUFD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QUNBO0FBQ0E7QUFDQSx1QkFBdUIsNkRBQWdCOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUscURBQVE7O0FBRXZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiw0REFBZTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsb0RBQU87O0FBRXJCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsbURBQU07O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsbURBQU07O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG1EQUFNOztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxvREFBTzs7QUFFckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUscURBQVE7O0FBRXZCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix5REFBWTs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsa0VBQWlCO0FBQzFCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRTRJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvZG9tL2Rpc3QvZmxvYXRpbmctdWkuZG9tLm1qcz8xNDMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlY3RUb0NsaWVudFJlY3QsIGRldGVjdE92ZXJmbG93IGFzIGRldGVjdE92ZXJmbG93JDEsIG9mZnNldCBhcyBvZmZzZXQkMSwgYXV0b1BsYWNlbWVudCBhcyBhdXRvUGxhY2VtZW50JDEsIHNoaWZ0IGFzIHNoaWZ0JDEsIGZsaXAgYXMgZmxpcCQxLCBzaXplIGFzIHNpemUkMSwgaGlkZSBhcyBoaWRlJDEsIGFycm93IGFzIGFycm93JDEsIGlubGluZSBhcyBpbmxpbmUkMSwgbGltaXRTaGlmdCBhcyBsaW1pdFNoaWZ0JDEsIGNvbXB1dGVQb3NpdGlvbiBhcyBjb21wdXRlUG9zaXRpb24kMSB9IGZyb20gJ0BmbG9hdGluZy11aS9jb3JlJztcbmltcG9ydCB7IHJvdW5kLCBjcmVhdGVDb29yZHMsIG1heCwgbWluLCBmbG9vciB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscyc7XG5pbXBvcnQgeyBnZXRDb21wdXRlZFN0eWxlLCBpc0hUTUxFbGVtZW50LCBpc0VsZW1lbnQsIGdldFdpbmRvdywgaXNXZWJLaXQsIGdldERvY3VtZW50RWxlbWVudCwgaXNUb3BMYXllciwgZ2V0Tm9kZU5hbWUsIGlzT3ZlcmZsb3dFbGVtZW50LCBnZXROb2RlU2Nyb2xsLCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgaXNMYXN0VHJhdmVyc2FibGVOb2RlLCBpc0NvbnRhaW5pbmdCbG9jaywgaXNUYWJsZUVsZW1lbnQsIGdldENvbnRhaW5pbmdCbG9jayB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscy9kb20nO1xuZXhwb3J0IHsgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMvZG9tJztcblxuZnVuY3Rpb24gZ2V0Q3NzRGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IGNzcyA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIC8vIEluIHRlc3RpbmcgZW52aXJvbm1lbnRzLCB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgcHJvcGVydGllcyBhcmUgZW1wdHlcbiAgLy8gc3RyaW5ncyBmb3IgU1ZHIGVsZW1lbnRzLCByZXR1cm5pbmcgTmFOLiBGYWxsYmFjayB0byBgMGAgaW4gdGhpcyBjYXNlLlxuICBsZXQgd2lkdGggPSBwYXJzZUZsb2F0KGNzcy53aWR0aCkgfHwgMDtcbiAgbGV0IGhlaWdodCA9IHBhcnNlRmxvYXQoY3NzLmhlaWdodCkgfHwgMDtcbiAgY29uc3QgaGFzT2Zmc2V0ID0gaXNIVE1MRWxlbWVudChlbGVtZW50KTtcbiAgY29uc3Qgb2Zmc2V0V2lkdGggPSBoYXNPZmZzZXQgPyBlbGVtZW50Lm9mZnNldFdpZHRoIDogd2lkdGg7XG4gIGNvbnN0IG9mZnNldEhlaWdodCA9IGhhc09mZnNldCA/IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogaGVpZ2h0O1xuICBjb25zdCBzaG91bGRGYWxsYmFjayA9IHJvdW5kKHdpZHRoKSAhPT0gb2Zmc2V0V2lkdGggfHwgcm91bmQoaGVpZ2h0KSAhPT0gb2Zmc2V0SGVpZ2h0O1xuICBpZiAoc2hvdWxkRmFsbGJhY2spIHtcbiAgICB3aWR0aCA9IG9mZnNldFdpZHRoO1xuICAgIGhlaWdodCA9IG9mZnNldEhlaWdodDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICAkOiBzaG91bGRGYWxsYmFja1xuICB9O1xufVxuXG5mdW5jdGlvbiB1bndyYXBFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuICFpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50LmNvbnRleHRFbGVtZW50IDogZWxlbWVudDtcbn1cblxuZnVuY3Rpb24gZ2V0U2NhbGUoZWxlbWVudCkge1xuICBjb25zdCBkb21FbGVtZW50ID0gdW53cmFwRWxlbWVudChlbGVtZW50KTtcbiAgaWYgKCFpc0hUTUxFbGVtZW50KGRvbUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvb3JkcygxKTtcbiAgfVxuICBjb25zdCByZWN0ID0gZG9tRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3Qge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICAkXG4gIH0gPSBnZXRDc3NEaW1lbnNpb25zKGRvbUVsZW1lbnQpO1xuICBsZXQgeCA9ICgkID8gcm91bmQocmVjdC53aWR0aCkgOiByZWN0LndpZHRoKSAvIHdpZHRoO1xuICBsZXQgeSA9ICgkID8gcm91bmQocmVjdC5oZWlnaHQpIDogcmVjdC5oZWlnaHQpIC8gaGVpZ2h0O1xuXG4gIC8vIDAsIE5hTiwgb3IgSW5maW5pdHkgc2hvdWxkIGFsd2F5cyBmYWxsYmFjayB0byAxLlxuXG4gIGlmICgheCB8fCAhTnVtYmVyLmlzRmluaXRlKHgpKSB7XG4gICAgeCA9IDE7XG4gIH1cbiAgaWYgKCF5IHx8ICFOdW1iZXIuaXNGaW5pdGUoeSkpIHtcbiAgICB5ID0gMTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5jb25zdCBub09mZnNldHMgPSAvKiNfX1BVUkVfXyovY3JlYXRlQ29vcmRzKDApO1xuZnVuY3Rpb24gZ2V0VmlzdWFsT2Zmc2V0cyhlbGVtZW50KSB7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgaWYgKCFpc1dlYktpdCgpIHx8ICF3aW4udmlzdWFsVmlld3BvcnQpIHtcbiAgICByZXR1cm4gbm9PZmZzZXRzO1xuICB9XG4gIHJldHVybiB7XG4gICAgeDogd2luLnZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQsXG4gICAgeTogd2luLnZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcFxuICB9O1xufVxuZnVuY3Rpb24gc2hvdWxkQWRkVmlzdWFsT2Zmc2V0cyhlbGVtZW50LCBpc0ZpeGVkLCBmbG9hdGluZ09mZnNldFBhcmVudCkge1xuICBpZiAoaXNGaXhlZCA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZCA9IGZhbHNlO1xuICB9XG4gIGlmICghZmxvYXRpbmdPZmZzZXRQYXJlbnQgfHwgaXNGaXhlZCAmJiBmbG9hdGluZ09mZnNldFBhcmVudCAhPT0gZ2V0V2luZG93KGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBpc0ZpeGVkO1xufVxuXG5mdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgaW5jbHVkZVNjYWxlLCBpc0ZpeGVkU3RyYXRlZ3ksIG9mZnNldFBhcmVudCkge1xuICBpZiAoaW5jbHVkZVNjYWxlID09PSB2b2lkIDApIHtcbiAgICBpbmNsdWRlU2NhbGUgPSBmYWxzZTtcbiAgfVxuICBpZiAoaXNGaXhlZFN0cmF0ZWd5ID09PSB2b2lkIDApIHtcbiAgICBpc0ZpeGVkU3RyYXRlZ3kgPSBmYWxzZTtcbiAgfVxuICBjb25zdCBjbGllbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZG9tRWxlbWVudCA9IHVud3JhcEVsZW1lbnQoZWxlbWVudCk7XG4gIGxldCBzY2FsZSA9IGNyZWF0ZUNvb3JkcygxKTtcbiAgaWYgKGluY2x1ZGVTY2FsZSkge1xuICAgIGlmIChvZmZzZXRQYXJlbnQpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgICBzY2FsZSA9IGdldFNjYWxlKG9mZnNldFBhcmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjYWxlID0gZ2V0U2NhbGUoZWxlbWVudCk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHZpc3VhbE9mZnNldHMgPSBzaG91bGRBZGRWaXN1YWxPZmZzZXRzKGRvbUVsZW1lbnQsIGlzRml4ZWRTdHJhdGVneSwgb2Zmc2V0UGFyZW50KSA/IGdldFZpc3VhbE9mZnNldHMoZG9tRWxlbWVudCkgOiBjcmVhdGVDb29yZHMoMCk7XG4gIGxldCB4ID0gKGNsaWVudFJlY3QubGVmdCArIHZpc3VhbE9mZnNldHMueCkgLyBzY2FsZS54O1xuICBsZXQgeSA9IChjbGllbnRSZWN0LnRvcCArIHZpc3VhbE9mZnNldHMueSkgLyBzY2FsZS55O1xuICBsZXQgd2lkdGggPSBjbGllbnRSZWN0LndpZHRoIC8gc2NhbGUueDtcbiAgbGV0IGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0IC8gc2NhbGUueTtcbiAgaWYgKGRvbUVsZW1lbnQpIHtcbiAgICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZG9tRWxlbWVudCk7XG4gICAgY29uc3Qgb2Zmc2V0V2luID0gb2Zmc2V0UGFyZW50ICYmIGlzRWxlbWVudChvZmZzZXRQYXJlbnQpID8gZ2V0V2luZG93KG9mZnNldFBhcmVudCkgOiBvZmZzZXRQYXJlbnQ7XG4gICAgbGV0IGN1cnJlbnRXaW4gPSB3aW47XG4gICAgbGV0IGN1cnJlbnRJRnJhbWUgPSBjdXJyZW50V2luLmZyYW1lRWxlbWVudDtcbiAgICB3aGlsZSAoY3VycmVudElGcmFtZSAmJiBvZmZzZXRQYXJlbnQgJiYgb2Zmc2V0V2luICE9PSBjdXJyZW50V2luKSB7XG4gICAgICBjb25zdCBpZnJhbWVTY2FsZSA9IGdldFNjYWxlKGN1cnJlbnRJRnJhbWUpO1xuICAgICAgY29uc3QgaWZyYW1lUmVjdCA9IGN1cnJlbnRJRnJhbWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjc3MgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnRJRnJhbWUpO1xuICAgICAgY29uc3QgbGVmdCA9IGlmcmFtZVJlY3QubGVmdCArIChjdXJyZW50SUZyYW1lLmNsaWVudExlZnQgKyBwYXJzZUZsb2F0KGNzcy5wYWRkaW5nTGVmdCkpICogaWZyYW1lU2NhbGUueDtcbiAgICAgIGNvbnN0IHRvcCA9IGlmcmFtZVJlY3QudG9wICsgKGN1cnJlbnRJRnJhbWUuY2xpZW50VG9wICsgcGFyc2VGbG9hdChjc3MucGFkZGluZ1RvcCkpICogaWZyYW1lU2NhbGUueTtcbiAgICAgIHggKj0gaWZyYW1lU2NhbGUueDtcbiAgICAgIHkgKj0gaWZyYW1lU2NhbGUueTtcbiAgICAgIHdpZHRoICo9IGlmcmFtZVNjYWxlLng7XG4gICAgICBoZWlnaHQgKj0gaWZyYW1lU2NhbGUueTtcbiAgICAgIHggKz0gbGVmdDtcbiAgICAgIHkgKz0gdG9wO1xuICAgICAgY3VycmVudFdpbiA9IGdldFdpbmRvdyhjdXJyZW50SUZyYW1lKTtcbiAgICAgIGN1cnJlbnRJRnJhbWUgPSBjdXJyZW50V2luLmZyYW1lRWxlbWVudDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlY3RUb0NsaWVudFJlY3Qoe1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50cyxcbiAgICByZWN0LFxuICAgIG9mZnNldFBhcmVudCxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgaXNGaXhlZCA9IHN0cmF0ZWd5ID09PSAnZml4ZWQnO1xuICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgY29uc3QgdG9wTGF5ZXIgPSBlbGVtZW50cyA/IGlzVG9wTGF5ZXIoZWxlbWVudHMuZmxvYXRpbmcpIDogZmFsc2U7XG4gIGlmIChvZmZzZXRQYXJlbnQgPT09IGRvY3VtZW50RWxlbWVudCB8fCB0b3BMYXllciAmJiBpc0ZpeGVkKSB7XG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGNvbnN0IG9mZnNldHMgPSBjcmVhdGVDb29yZHMoMCk7XG4gIGNvbnN0IGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50KTtcbiAgICAgIHNjYWxlID0gZ2V0U2NhbGUob2Zmc2V0UGFyZW50KTtcbiAgICAgIG9mZnNldHMueCA9IG9mZnNldFJlY3QueCArIG9mZnNldFBhcmVudC5jbGllbnRMZWZ0O1xuICAgICAgb2Zmc2V0cy55ID0gb2Zmc2V0UmVjdC55ICsgb2Zmc2V0UGFyZW50LmNsaWVudFRvcDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogcmVjdC53aWR0aCAqIHNjYWxlLngsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodCAqIHNjYWxlLnksXG4gICAgeDogcmVjdC54ICogc2NhbGUueCAtIHNjcm9sbC5zY3JvbGxMZWZ0ICogc2NhbGUueCArIG9mZnNldHMueCxcbiAgICB5OiByZWN0LnkgKiBzY2FsZS55IC0gc2Nyb2xsLnNjcm9sbFRvcCAqIHNjYWxlLnkgKyBvZmZzZXRzLnlcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdHMoZWxlbWVudCkge1xuICByZXR1cm4gQXJyYXkuZnJvbShlbGVtZW50LmdldENsaWVudFJlY3RzKCkpO1xufVxuXG5mdW5jdGlvbiBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQpIHtcbiAgLy8gSWYgPGh0bWw+IGhhcyBhIENTUyB3aWR0aCBncmVhdGVyIHRoYW4gdGhlIHZpZXdwb3J0LCB0aGVuIHRoaXMgd2lsbCBiZVxuICAvLyBpbmNvcnJlY3QgZm9yIFJUTC5cbiAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBnZXROb2RlU2Nyb2xsKGVsZW1lbnQpLnNjcm9sbExlZnQ7XG59XG5cbi8vIEdldHMgdGhlIGVudGlyZSBzaXplIG9mIHRoZSBzY3JvbGxhYmxlIGRvY3VtZW50IGFyZWEsIGV2ZW4gZXh0ZW5kaW5nIG91dHNpZGVcbi8vIG9mIHRoZSBgPGh0bWw+YCBhbmQgYDxib2R5PmAgcmVjdCBib3VuZHMgaWYgaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUuXG5mdW5jdGlvbiBnZXREb2N1bWVudFJlY3QoZWxlbWVudCkge1xuICBjb25zdCBodG1sID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBjb25zdCBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKGVsZW1lbnQpO1xuICBjb25zdCBib2R5ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIGNvbnN0IHdpZHRoID0gbWF4KGh0bWwuc2Nyb2xsV2lkdGgsIGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuc2Nyb2xsV2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpO1xuICBjb25zdCBoZWlnaHQgPSBtYXgoaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwuY2xpZW50SGVpZ2h0LCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5jbGllbnRIZWlnaHQpO1xuICBsZXQgeCA9IC1zY3JvbGwuc2Nyb2xsTGVmdCArIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCk7XG4gIGNvbnN0IHkgPSAtc2Nyb2xsLnNjcm9sbFRvcDtcbiAgaWYgKGdldENvbXB1dGVkU3R5bGUoYm9keSkuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgIHggKz0gbWF4KGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpIC0gd2lkdGg7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgeCxcbiAgICB5XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICBsZXQgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICBsZXQgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIGxldCB4ID0gMDtcbiAgbGV0IHkgPSAwO1xuICBpZiAodmlzdWFsVmlld3BvcnQpIHtcbiAgICB3aWR0aCA9IHZpc3VhbFZpZXdwb3J0LndpZHRoO1xuICAgIGhlaWdodCA9IHZpc3VhbFZpZXdwb3J0LmhlaWdodDtcbiAgICBjb25zdCB2aXN1YWxWaWV3cG9ydEJhc2VkID0gaXNXZWJLaXQoKTtcbiAgICBpZiAoIXZpc3VhbFZpZXdwb3J0QmFzZWQgfHwgdmlzdWFsVmlld3BvcnRCYXNlZCAmJiBzdHJhdGVneSA9PT0gJ2ZpeGVkJykge1xuICAgICAgeCA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQ7XG4gICAgICB5ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuLy8gUmV0dXJucyB0aGUgaW5uZXIgY2xpZW50IHJlY3QsIHN1YnRyYWN0aW5nIHNjcm9sbGJhcnMgaWYgcHJlc2VudC5cbmZ1bmN0aW9uIGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICBjb25zdCB0b3AgPSBjbGllbnRSZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICBjb25zdCBsZWZ0ID0gY2xpZW50UmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0O1xuICBjb25zdCBzY2FsZSA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRTY2FsZShlbGVtZW50KSA6IGNyZWF0ZUNvb3JkcygxKTtcbiAgY29uc3Qgd2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoICogc2NhbGUueDtcbiAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQgKiBzY2FsZS55O1xuICBjb25zdCB4ID0gbGVmdCAqIHNjYWxlLng7XG4gIGNvbnN0IHkgPSB0b3AgKiBzY2FsZS55O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkge1xuICBsZXQgcmVjdDtcbiAgaWYgKGNsaXBwaW5nQW5jZXN0b3IgPT09ICd2aWV3cG9ydCcpIHtcbiAgICByZWN0ID0gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KTtcbiAgfSBlbHNlIGlmIChjbGlwcGluZ0FuY2VzdG9yID09PSAnZG9jdW1lbnQnKSB7XG4gICAgcmVjdCA9IGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpO1xuICB9IGVsc2UgaWYgKGlzRWxlbWVudChjbGlwcGluZ0FuY2VzdG9yKSkge1xuICAgIHJlY3QgPSBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmlzdWFsT2Zmc2V0cyA9IGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCk7XG4gICAgcmVjdCA9IHtcbiAgICAgIC4uLmNsaXBwaW5nQW5jZXN0b3IsXG4gICAgICB4OiBjbGlwcGluZ0FuY2VzdG9yLnggLSB2aXN1YWxPZmZzZXRzLngsXG4gICAgICB5OiBjbGlwcGluZ0FuY2VzdG9yLnkgLSB2aXN1YWxPZmZzZXRzLnlcbiAgICB9O1xuICB9XG4gIHJldHVybiByZWN0VG9DbGllbnRSZWN0KHJlY3QpO1xufVxuZnVuY3Rpb24gaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKGVsZW1lbnQsIHN0b3BOb2RlKSB7XG4gIGNvbnN0IHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICBpZiAocGFyZW50Tm9kZSA9PT0gc3RvcE5vZGUgfHwgIWlzRWxlbWVudChwYXJlbnROb2RlKSB8fCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUocGFyZW50Tm9kZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUocGFyZW50Tm9kZSkucG9zaXRpb24gPT09ICdmaXhlZCcgfHwgaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKHBhcmVudE5vZGUsIHN0b3BOb2RlKTtcbn1cblxuLy8gQSBcImNsaXBwaW5nIGFuY2VzdG9yXCIgaXMgYW4gYG92ZXJmbG93YCBlbGVtZW50IHdpdGggdGhlIGNoYXJhY3RlcmlzdGljIG9mXG4vLyBjbGlwcGluZyAob3IgaGlkaW5nKSBjaGlsZCBlbGVtZW50cy4gVGhpcyByZXR1cm5zIGFsbCBjbGlwcGluZyBhbmNlc3RvcnNcbi8vIG9mIHRoZSBnaXZlbiBlbGVtZW50IHVwIHRoZSB0cmVlLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdFbGVtZW50QW5jZXN0b3JzKGVsZW1lbnQsIGNhY2hlKSB7XG4gIGNvbnN0IGNhY2hlZFJlc3VsdCA9IGNhY2hlLmdldChlbGVtZW50KTtcbiAgaWYgKGNhY2hlZFJlc3VsdCkge1xuICAgIHJldHVybiBjYWNoZWRSZXN1bHQ7XG4gIH1cbiAgbGV0IHJlc3VsdCA9IGdldE92ZXJmbG93QW5jZXN0b3JzKGVsZW1lbnQsIFtdLCBmYWxzZSkuZmlsdGVyKGVsID0+IGlzRWxlbWVudChlbCkgJiYgZ2V0Tm9kZU5hbWUoZWwpICE9PSAnYm9keScpO1xuICBsZXQgY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgPSBudWxsO1xuICBjb25zdCBlbGVtZW50SXNGaXhlZCA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdmaXhlZCc7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSA6IGVsZW1lbnQ7XG5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcbiAgd2hpbGUgKGlzRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgIWlzTGFzdFRyYXZlcnNhYmxlTm9kZShjdXJyZW50Tm9kZSkpIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50Tm9kZSk7XG4gICAgY29uc3QgY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgPSBpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSk7XG4gICAgaWYgKCFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgICBjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA9IG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHNob3VsZERyb3BDdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmICFjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA6ICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJyAmJiAhIWN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlICYmIFsnYWJzb2x1dGUnLCAnZml4ZWQnXS5pbmNsdWRlcyhjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZS5wb3NpdGlvbikgfHwgaXNPdmVyZmxvd0VsZW1lbnQoY3VycmVudE5vZGUpICYmICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IoZWxlbWVudCwgY3VycmVudE5vZGUpO1xuICAgIGlmIChzaG91bGREcm9wQ3VycmVudE5vZGUpIHtcbiAgICAgIC8vIERyb3Agbm9uLWNvbnRhaW5pbmcgYmxvY2tzLlxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihhbmNlc3RvciA9PiBhbmNlc3RvciAhPT0gY3VycmVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWNvcmQgbGFzdCBjb250YWluaW5nIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbi5cbiAgICAgIGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gY29tcHV0ZWRTdHlsZTtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICBjYWNoZS5zZXQoZWxlbWVudCwgcmVzdWx0KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gR2V0cyB0aGUgbWF4aW11bSBhcmVhIHRoYXQgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBkdWUgdG8gYW55IG51bWJlciBvZlxuLy8gY2xpcHBpbmcgYW5jZXN0b3JzLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50LFxuICAgIGJvdW5kYXJ5LFxuICAgIHJvb3RCb3VuZGFyeSxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgZWxlbWVudENsaXBwaW5nQW5jZXN0b3JzID0gYm91bmRhcnkgPT09ICdjbGlwcGluZ0FuY2VzdG9ycycgPyBpc1RvcExheWVyKGVsZW1lbnQpID8gW10gOiBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnMoZWxlbWVudCwgdGhpcy5fYykgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICBjb25zdCBjbGlwcGluZ0FuY2VzdG9ycyA9IFsuLi5lbGVtZW50Q2xpcHBpbmdBbmNlc3RvcnMsIHJvb3RCb3VuZGFyeV07XG4gIGNvbnN0IGZpcnN0Q2xpcHBpbmdBbmNlc3RvciA9IGNsaXBwaW5nQW5jZXN0b3JzWzBdO1xuICBjb25zdCBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ0FuY2VzdG9ycy5yZWR1Y2UoKGFjY1JlY3QsIGNsaXBwaW5nQW5jZXN0b3IpID0+IHtcbiAgICBjb25zdCByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGNsaXBwaW5nQW5jZXN0b3IsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbUNsaXBwaW5nQW5jZXN0b3IoZWxlbWVudCwgZmlyc3RDbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkpO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdCxcbiAgICBoZWlnaHQ6IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wLFxuICAgIHg6IGNsaXBwaW5nUmVjdC5sZWZ0LFxuICAgIHk6IGNsaXBwaW5nUmVjdC50b3BcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGVsZW1lbnQsIG9mZnNldFBhcmVudCwgc3RyYXRlZ3kpIHtcbiAgY29uc3QgaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IGdldERvY3VtZW50RWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBjb25zdCBpc0ZpeGVkID0gc3RyYXRlZ3kgPT09ICdmaXhlZCc7XG4gIGNvbnN0IHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgaXNGaXhlZCwgb2Zmc2V0UGFyZW50KTtcbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc09mZnNldFBhcmVudEFuRWxlbWVudCkge1xuICAgICAgY29uc3Qgb2Zmc2V0UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChvZmZzZXRQYXJlbnQsIHRydWUsIGlzRml4ZWQsIG9mZnNldFBhcmVudCk7XG4gICAgICBvZmZzZXRzLnggPSBvZmZzZXRSZWN0LnggKyBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSA9IG9mZnNldFJlY3QueSArIG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfSBlbHNlIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIG9mZnNldHMueCA9IGdldFdpbmRvd1Njcm9sbEJhclgoZG9jdW1lbnRFbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgY29uc3QgeCA9IHJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC0gb2Zmc2V0cy54O1xuICBjb25zdCB5ID0gcmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wIC0gb2Zmc2V0cy55O1xuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljUG9zaXRpb25lZChlbGVtZW50KSB7XG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnc3RhdGljJztcbn1cblxuZnVuY3Rpb24gZ2V0VHJ1ZU9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCkge1xuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmIChwb2x5ZmlsbCkge1xuICAgIHJldHVybiBwb2x5ZmlsbChlbGVtZW50KTtcbiAgfVxuICByZXR1cm4gZWxlbWVudC5vZmZzZXRQYXJlbnQ7XG59XG5cbi8vIEdldHMgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgcG9zaXRpb25lZCBlbGVtZW50LiBIYW5kbGVzIHNvbWUgZWRnZSBjYXNlcyxcbi8vIHN1Y2ggYXMgdGFibGUgYW5jZXN0b3JzIGFuZCBjcm9zcyBicm93c2VyIGJ1Z3MuXG5mdW5jdGlvbiBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCwgcG9seWZpbGwpIHtcbiAgY29uc3Qgd2luID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICBpZiAoaXNUb3BMYXllcihlbGVtZW50KSkge1xuICAgIHJldHVybiB3aW47XG4gIH1cbiAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgbGV0IHN2Z09mZnNldFBhcmVudCA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gICAgd2hpbGUgKHN2Z09mZnNldFBhcmVudCAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKHN2Z09mZnNldFBhcmVudCkpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQoc3ZnT2Zmc2V0UGFyZW50KSAmJiAhaXNTdGF0aWNQb3NpdGlvbmVkKHN2Z09mZnNldFBhcmVudCkpIHtcbiAgICAgICAgcmV0dXJuIHN2Z09mZnNldFBhcmVudDtcbiAgICAgIH1cbiAgICAgIHN2Z09mZnNldFBhcmVudCA9IGdldFBhcmVudE5vZGUoc3ZnT2Zmc2V0UGFyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICBsZXQgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCk7XG4gIHdoaWxlIChvZmZzZXRQYXJlbnQgJiYgaXNUYWJsZUVsZW1lbnQob2Zmc2V0UGFyZW50KSAmJiBpc1N0YXRpY1Bvc2l0aW9uZWQob2Zmc2V0UGFyZW50KSkge1xuICAgIG9mZnNldFBhcmVudCA9IGdldFRydWVPZmZzZXRQYXJlbnQob2Zmc2V0UGFyZW50LCBwb2x5ZmlsbCk7XG4gIH1cbiAgaWYgKG9mZnNldFBhcmVudCAmJiBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUob2Zmc2V0UGFyZW50KSAmJiBpc1N0YXRpY1Bvc2l0aW9uZWQob2Zmc2V0UGFyZW50KSAmJiAhaXNDb250YWluaW5nQmxvY2sob2Zmc2V0UGFyZW50KSkge1xuICAgIHJldHVybiB3aW47XG4gIH1cbiAgcmV0dXJuIG9mZnNldFBhcmVudCB8fCBnZXRDb250YWluaW5nQmxvY2soZWxlbWVudCkgfHwgd2luO1xufVxuXG5jb25zdCBnZXRFbGVtZW50UmVjdHMgPSBhc3luYyBmdW5jdGlvbiAoZGF0YSkge1xuICBjb25zdCBnZXRPZmZzZXRQYXJlbnRGbiA9IHRoaXMuZ2V0T2Zmc2V0UGFyZW50IHx8IGdldE9mZnNldFBhcmVudDtcbiAgY29uc3QgZ2V0RGltZW5zaW9uc0ZuID0gdGhpcy5nZXREaW1lbnNpb25zO1xuICBjb25zdCBmbG9hdGluZ0RpbWVuc2lvbnMgPSBhd2FpdCBnZXREaW1lbnNpb25zRm4oZGF0YS5mbG9hdGluZyk7XG4gIHJldHVybiB7XG4gICAgcmVmZXJlbmNlOiBnZXRSZWN0UmVsYXRpdmVUb09mZnNldFBhcmVudChkYXRhLnJlZmVyZW5jZSwgYXdhaXQgZ2V0T2Zmc2V0UGFyZW50Rm4oZGF0YS5mbG9hdGluZyksIGRhdGEuc3RyYXRlZ3kpLFxuICAgIGZsb2F0aW5nOiB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMCxcbiAgICAgIHdpZHRoOiBmbG9hdGluZ0RpbWVuc2lvbnMud2lkdGgsXG4gICAgICBoZWlnaHQ6IGZsb2F0aW5nRGltZW5zaW9ucy5oZWlnaHRcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBpc1JUTChlbGVtZW50KSB7XG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XG59XG5cbmNvbnN0IHBsYXRmb3JtID0ge1xuICBjb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCxcbiAgZ2V0RG9jdW1lbnRFbGVtZW50LFxuICBnZXRDbGlwcGluZ1JlY3QsXG4gIGdldE9mZnNldFBhcmVudCxcbiAgZ2V0RWxlbWVudFJlY3RzLFxuICBnZXRDbGllbnRSZWN0cyxcbiAgZ2V0RGltZW5zaW9ucyxcbiAgZ2V0U2NhbGUsXG4gIGlzRWxlbWVudCxcbiAgaXNSVExcbn07XG5cbi8vIGh0dHBzOi8vc2FtdGhvci5hdS8yMDIxL29ic2VydmluZy1kb20vXG5mdW5jdGlvbiBvYnNlcnZlTW92ZShlbGVtZW50LCBvbk1vdmUpIHtcbiAgbGV0IGlvID0gbnVsbDtcbiAgbGV0IHRpbWVvdXRJZDtcbiAgY29uc3Qgcm9vdCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICB2YXIgX2lvO1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgIChfaW8gPSBpbykgPT0gbnVsbCB8fCBfaW8uZGlzY29ubmVjdCgpO1xuICAgIGlvID0gbnVsbDtcbiAgfVxuICBmdW5jdGlvbiByZWZyZXNoKHNraXAsIHRocmVzaG9sZCkge1xuICAgIGlmIChza2lwID09PSB2b2lkIDApIHtcbiAgICAgIHNraXAgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7XG4gICAgICB0aHJlc2hvbGQgPSAxO1xuICAgIH1cbiAgICBjbGVhbnVwKCk7XG4gICAgY29uc3Qge1xuICAgICAgbGVmdCxcbiAgICAgIHRvcCxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0XG4gICAgfSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaWYgKCFza2lwKSB7XG4gICAgICBvbk1vdmUoKTtcbiAgICB9XG4gICAgaWYgKCF3aWR0aCB8fCAhaGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc2V0VG9wID0gZmxvb3IodG9wKTtcbiAgICBjb25zdCBpbnNldFJpZ2h0ID0gZmxvb3Iocm9vdC5jbGllbnRXaWR0aCAtIChsZWZ0ICsgd2lkdGgpKTtcbiAgICBjb25zdCBpbnNldEJvdHRvbSA9IGZsb29yKHJvb3QuY2xpZW50SGVpZ2h0IC0gKHRvcCArIGhlaWdodCkpO1xuICAgIGNvbnN0IGluc2V0TGVmdCA9IGZsb29yKGxlZnQpO1xuICAgIGNvbnN0IHJvb3RNYXJnaW4gPSAtaW5zZXRUb3AgKyBcInB4IFwiICsgLWluc2V0UmlnaHQgKyBcInB4IFwiICsgLWluc2V0Qm90dG9tICsgXCJweCBcIiArIC1pbnNldExlZnQgKyBcInB4XCI7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJvb3RNYXJnaW4sXG4gICAgICB0aHJlc2hvbGQ6IG1heCgwLCBtaW4oMSwgdGhyZXNob2xkKSkgfHwgMVxuICAgIH07XG4gICAgbGV0IGlzRmlyc3RVcGRhdGUgPSB0cnVlO1xuICAgIGZ1bmN0aW9uIGhhbmRsZU9ic2VydmUoZW50cmllcykge1xuICAgICAgY29uc3QgcmF0aW8gPSBlbnRyaWVzWzBdLmludGVyc2VjdGlvblJhdGlvO1xuICAgICAgaWYgKHJhdGlvICE9PSB0aHJlc2hvbGQpIHtcbiAgICAgICAgaWYgKCFpc0ZpcnN0VXBkYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJhdGlvKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIHJlZmVyZW5jZSBpcyBjbGlwcGVkLCB0aGUgcmF0aW8gaXMgMC4gVGhyb3R0bGUgdGhlIHJlZnJlc2hcbiAgICAgICAgICAvLyB0byBwcmV2ZW50IGFuIGluZmluaXRlIGxvb3Agb2YgdXBkYXRlcy5cbiAgICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHJlZnJlc2goZmFsc2UsIDFlLTcpO1xuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZnJlc2goZmFsc2UsIHJhdGlvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaXNGaXJzdFVwZGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIE9sZGVyIGJyb3dzZXJzIGRvbid0IHN1cHBvcnQgYSBgZG9jdW1lbnRgIGFzIHRoZSByb290IGFuZCB3aWxsIHRocm93IGFuXG4gICAgLy8gZXJyb3IuXG4gICAgdHJ5IHtcbiAgICAgIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZU9ic2VydmUsIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgLy8gSGFuZGxlIDxpZnJhbWU+c1xuICAgICAgICByb290OiByb290Lm93bmVyRG9jdW1lbnRcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZU9ic2VydmUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpby5vYnNlcnZlKGVsZW1lbnQpO1xuICB9XG4gIHJlZnJlc2godHJ1ZSk7XG4gIHJldHVybiBjbGVhbnVwO1xufVxuXG4vKipcbiAqIEF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgd2hlbiBuZWNlc3NhcnkuXG4gKiBTaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBtb3VudGVkIG9uIHRoZSBET00gb3JcbiAqIHZpc2libGUgb24gdGhlIHNjcmVlbi5cbiAqIEByZXR1cm5zIGNsZWFudXAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgaW52b2tlZCB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzXG4gKiByZW1vdmVkIGZyb20gdGhlIERPTSBvciBoaWRkZW4gZnJvbSB0aGUgc2NyZWVuLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9VcGRhdGVcbiAqL1xuZnVuY3Rpb24gYXV0b1VwZGF0ZShyZWZlcmVuY2UsIGZsb2F0aW5nLCB1cGRhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgYW5jZXN0b3JTY3JvbGwgPSB0cnVlLFxuICAgIGFuY2VzdG9yUmVzaXplID0gdHJ1ZSxcbiAgICBlbGVtZW50UmVzaXplID0gdHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAnZnVuY3Rpb24nLFxuICAgIGxheW91dFNoaWZ0ID0gdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyID09PSAnZnVuY3Rpb24nLFxuICAgIGFuaW1hdGlvbkZyYW1lID0gZmFsc2VcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHJlZmVyZW5jZUVsID0gdW53cmFwRWxlbWVudChyZWZlcmVuY2UpO1xuICBjb25zdCBhbmNlc3RvcnMgPSBhbmNlc3RvclNjcm9sbCB8fCBhbmNlc3RvclJlc2l6ZSA/IFsuLi4ocmVmZXJlbmNlRWwgPyBnZXRPdmVyZmxvd0FuY2VzdG9ycyhyZWZlcmVuY2VFbCkgOiBbXSksIC4uLmdldE92ZXJmbG93QW5jZXN0b3JzKGZsb2F0aW5nKV0gOiBbXTtcbiAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgIGFuY2VzdG9yU2Nyb2xsICYmIGFuY2VzdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgIH0pO1xuICAgIGFuY2VzdG9yUmVzaXplICYmIGFuY2VzdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSk7XG4gIH0pO1xuICBjb25zdCBjbGVhbnVwSW8gPSByZWZlcmVuY2VFbCAmJiBsYXlvdXRTaGlmdCA/IG9ic2VydmVNb3ZlKHJlZmVyZW5jZUVsLCB1cGRhdGUpIDogbnVsbDtcbiAgbGV0IHJlb2JzZXJ2ZUZyYW1lID0gLTE7XG4gIGxldCByZXNpemVPYnNlcnZlciA9IG51bGw7XG4gIGlmIChlbGVtZW50UmVzaXplKSB7XG4gICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoX3JlZiA9PiB7XG4gICAgICBsZXQgW2ZpcnN0RW50cnldID0gX3JlZjtcbiAgICAgIGlmIChmaXJzdEVudHJ5ICYmIGZpcnN0RW50cnkudGFyZ2V0ID09PSByZWZlcmVuY2VFbCAmJiByZXNpemVPYnNlcnZlcikge1xuICAgICAgICAvLyBQcmV2ZW50IHVwZGF0ZSBsb29wcyB3aGVuIHVzaW5nIHRoZSBgc2l6ZWAgbWlkZGxld2FyZS5cbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8xNzQwXG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShmbG9hdGluZyk7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlb2JzZXJ2ZUZyYW1lKTtcbiAgICAgICAgcmVvYnNlcnZlRnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHZhciBfcmVzaXplT2JzZXJ2ZXI7XG4gICAgICAgICAgKF9yZXNpemVPYnNlcnZlciA9IHJlc2l6ZU9ic2VydmVyKSA9PSBudWxsIHx8IF9yZXNpemVPYnNlcnZlci5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB1cGRhdGUoKTtcbiAgICB9KTtcbiAgICBpZiAocmVmZXJlbmNlRWwgJiYgIWFuaW1hdGlvbkZyYW1lKSB7XG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHJlZmVyZW5jZUVsKTtcbiAgICB9XG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShmbG9hdGluZyk7XG4gIH1cbiAgbGV0IGZyYW1lSWQ7XG4gIGxldCBwcmV2UmVmUmVjdCA9IGFuaW1hdGlvbkZyYW1lID8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHJlZmVyZW5jZSkgOiBudWxsO1xuICBpZiAoYW5pbWF0aW9uRnJhbWUpIHtcbiAgICBmcmFtZUxvb3AoKTtcbiAgfVxuICBmdW5jdGlvbiBmcmFtZUxvb3AoKSB7XG4gICAgY29uc3QgbmV4dFJlZlJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QocmVmZXJlbmNlKTtcbiAgICBpZiAocHJldlJlZlJlY3QgJiYgKG5leHRSZWZSZWN0LnggIT09IHByZXZSZWZSZWN0LnggfHwgbmV4dFJlZlJlY3QueSAhPT0gcHJldlJlZlJlY3QueSB8fCBuZXh0UmVmUmVjdC53aWR0aCAhPT0gcHJldlJlZlJlY3Qud2lkdGggfHwgbmV4dFJlZlJlY3QuaGVpZ2h0ICE9PSBwcmV2UmVmUmVjdC5oZWlnaHQpKSB7XG4gICAgICB1cGRhdGUoKTtcbiAgICB9XG4gICAgcHJldlJlZlJlY3QgPSBuZXh0UmVmUmVjdDtcbiAgICBmcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lTG9vcCk7XG4gIH1cbiAgdXBkYXRlKCk7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgdmFyIF9yZXNpemVPYnNlcnZlcjI7XG4gICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKTtcbiAgICAgIGFuY2VzdG9yUmVzaXplICYmIGFuY2VzdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSk7XG4gICAgfSk7XG4gICAgY2xlYW51cElvID09IG51bGwgfHwgY2xlYW51cElvKCk7XG4gICAgKF9yZXNpemVPYnNlcnZlcjIgPSByZXNpemVPYnNlcnZlcikgPT0gbnVsbCB8fCBfcmVzaXplT2JzZXJ2ZXIyLmRpc2Nvbm5lY3QoKTtcbiAgICByZXNpemVPYnNlcnZlciA9IG51bGw7XG4gICAgaWYgKGFuaW1hdGlvbkZyYW1lKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShmcmFtZUlkKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2l0aCBhbiBvYmplY3Qgb2Ygb3ZlcmZsb3cgc2lkZSBvZmZzZXRzIHRoYXQgZGV0ZXJtaW5lIGhvdyBtdWNoIHRoZVxuICogZWxlbWVudCBpcyBvdmVyZmxvd2luZyBhIGdpdmVuIGNsaXBwaW5nIGJvdW5kYXJ5IG9uIGVhY2ggc2lkZS5cbiAqIC0gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgYm91bmRhcnkgYnkgdGhhdCBudW1iZXIgb2YgcGl4ZWxzXG4gKiAtIG5lZ2F0aXZlID0gaG93IG1hbnkgcGl4ZWxzIGxlZnQgYmVmb3JlIGl0IHdpbGwgb3ZlcmZsb3dcbiAqIC0gMCA9IGxpZXMgZmx1c2ggd2l0aCB0aGUgYm91bmRhcnlcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9kZXRlY3RPdmVyZmxvd1xuICovXG5jb25zdCBkZXRlY3RPdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93JDE7XG5cbi8qKlxuICogTW9kaWZpZXMgdGhlIHBsYWNlbWVudCBieSB0cmFuc2xhdGluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbG9uZyB0aGVcbiAqIHNwZWNpZmllZCBheGVzLlxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxuICogb2JqZWN0IG1heSBiZSBwYXNzZWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gKi9cbmNvbnN0IG9mZnNldCA9IG9mZnNldCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBjaG9vc2luZyB0aGUgcGxhY2VtZW50XG4gKiB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseSwgd2l0aG91dCBuZWVkaW5nIHRvIHNwZWNpZnkgYVxuICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9QbGFjZW1lbnRcbiAqL1xuY29uc3QgYXV0b1BsYWNlbWVudCA9IGF1dG9QbGFjZW1lbnQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cbiAqIGtlZXAgaXQgaW4gdmlldyB3aGVuIGl0IHdpbGwgb3ZlcmZsb3cgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NoaWZ0XG4gKi9cbmNvbnN0IHNoaWZ0ID0gc2hpZnQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgZmxpcHBpbmcgdGhlIGBwbGFjZW1lbnRgXG4gKiBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcgd2hlbiB0aGUgcHJlZmVycmVkIHBsYWNlbWVudChzKSB3aWxsIG92ZXJmbG93IHRoZVxuICogY2xpcHBpbmcgYm91bmRhcnkuIEFsdGVybmF0aXZlIHRvIGBhdXRvUGxhY2VtZW50YC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9mbGlwXG4gKi9cbmNvbnN0IGZsaXAgPSBmbGlwJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0aGF0IGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IOKAlFxuICogZm9yIGluc3RhbmNlLCBwcmV2ZW50IGl0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5IG9yIG1hdGNoIHRoZVxuICogd2lkdGggb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NpemVcbiAqL1xuY29uc3Qgc2l6ZSA9IHNpemUkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIGhpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaW4gYXBwbGljYWJsZSBzaXR1YXRpb25zLCBzdWNoIGFzXG4gKiB3aGVuIGl0IGlzIG5vdCBpbiB0aGUgc2FtZSBjbGlwcGluZyBjb250ZXh0IGFzIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9oaWRlXG4gKi9cbmNvbnN0IGhpZGUgPSBoaWRlJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93ID0gYXJyb3ckMTtcblxuLyoqXG4gKiBQcm92aWRlcyBpbXByb3ZlZCBwb3NpdGlvbmluZyBmb3IgaW5saW5lIHJlZmVyZW5jZSBlbGVtZW50cyB0aGF0IGNhbiBzcGFuXG4gKiBvdmVyIG11bHRpcGxlIGxpbmVzLCBzdWNoIGFzIGh5cGVybGlua3Mgb3IgcmFuZ2Ugc2VsZWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbmxpbmVcbiAqL1xuY29uc3QgaW5saW5lID0gaW5saW5lJDE7XG5cbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSBsaW1pdFNoaWZ0JDE7XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGB4YCBhbmQgYHlgIGNvb3JkaW5hdGVzIHRoYXQgd2lsbCBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudFxuICogbmV4dCB0byBhIGdpdmVuIHJlZmVyZW5jZSBlbGVtZW50LlxuICovXG5jb25zdCBjb21wdXRlUG9zaXRpb24gPSAocmVmZXJlbmNlLCBmbG9hdGluZywgb3B0aW9ucykgPT4ge1xuICAvLyBUaGlzIGNhY2hlcyB0aGUgZXhwZW5zaXZlIGBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnNgIGZ1bmN0aW9uIHNvIHRoYXRcbiAgLy8gbXVsdGlwbGUgbGlmZWN5Y2xlIHJlc2V0cyByZS11c2UgdGhlIHNhbWUgcmVzdWx0LiBJdCBvbmx5IGxpdmVzIGZvciBhXG4gIC8vIHNpbmdsZSBjYWxsLiBJZiBvdGhlciBmdW5jdGlvbnMgYmVjb21lIGV4cGVuc2l2ZSwgd2UgY2FuIGFkZCB0aGVtIGFzIHdlbGwuXG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcCgpO1xuICBjb25zdCBtZXJnZWRPcHRpb25zID0ge1xuICAgIHBsYXRmb3JtLFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbiAgY29uc3QgcGxhdGZvcm1XaXRoQ2FjaGUgPSB7XG4gICAgLi4ubWVyZ2VkT3B0aW9ucy5wbGF0Zm9ybSxcbiAgICBfYzogY2FjaGVcbiAgfTtcbiAgcmV0dXJuIGNvbXB1dGVQb3NpdGlvbiQxKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHtcbiAgICAuLi5tZXJnZWRPcHRpb25zLFxuICAgIHBsYXRmb3JtOiBwbGF0Zm9ybVdpdGhDYWNoZVxuICB9KTtcbn07XG5cbmV4cG9ydCB7IGFycm93LCBhdXRvUGxhY2VtZW50LCBhdXRvVXBkYXRlLCBjb21wdXRlUG9zaXRpb24sIGRldGVjdE92ZXJmbG93LCBmbGlwLCBoaWRlLCBpbmxpbmUsIGxpbWl0U2hpZnQsIG9mZnNldCwgcGxhdGZvcm0sIHNoaWZ0LCBzaXplIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs":
/*!****************************************************************************!*\
!*** ./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs ***!
\****************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: function() { return /* binding */ arrow; },\n/* harmony export */ autoPlacement: function() { return /* binding */ autoPlacement; },\n/* harmony export */ autoUpdate: function() { return /* reexport safe */ _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.autoUpdate; },\n/* harmony export */ computePosition: function() { return /* reexport safe */ _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.computePosition; },\n/* harmony export */ detectOverflow: function() { return /* reexport safe */ _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.detectOverflow; },\n/* harmony export */ flip: function() { return /* binding */ flip; },\n/* harmony export */ getOverflowAncestors: function() { return /* reexport safe */ _floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__.getOverflowAncestors; },\n/* harmony export */ hide: function() { return /* binding */ hide; },\n/* harmony export */ inline: function() { return /* binding */ inline; },\n/* harmony export */ limitShift: function() { return /* binding */ limitShift; },\n/* harmony export */ offset: function() { return /* binding */ offset; },\n/* harmony export */ platform: function() { return /* reexport safe */ _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.platform; },\n/* harmony export */ shift: function() { return /* binding */ shift; },\n/* harmony export */ size: function() { return /* binding */ size; },\n/* harmony export */ useFloating: function() { return /* binding */ useFloating; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/dom */ \"(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\");\n/* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/dom */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\n\n\n\n\n\n\nvar index = typeof document !== 'undefined' ? react__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_2__.useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = react__WEBPACK_IMPORTED_MODULE_2__.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = react__WEBPACK_IMPORTED_MODULE_2__.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = react__WEBPACK_IMPORTED_MODULE_2__.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = react__WEBPACK_IMPORTED_MODULE_2__.useState(null);\n const [_floating, _setFloating] = react__WEBPACK_IMPORTED_MODULE_2__.useState(null);\n const setReference = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n const floatingRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n const dataRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const update = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.computePosition)(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n isPositioned: true\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n react_dom__WEBPACK_IMPORTED_MODULE_3__.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.arrow)({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.arrow)({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.offset)(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.shift)(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.limitShift)(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.flip)(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.size)(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.autoPlacement)(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.hide)(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.inline)(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QtZG9tL2Rpc3QvZmxvYXRpbmctdWkucmVhY3QtZG9tLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTZPO0FBQzlIO0FBQ2hGO0FBQ29CO0FBQ2I7O0FBRXRDLDhDQUE4QyxrREFBZSxHQUFHLDRDQUFTOztBQUV6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixVQUFVO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsVUFBVTtBQUMvQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLFVBQVU7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYyx5Q0FBWTtBQUMxQjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQUk7QUFDVjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osMEJBQTBCLDJDQUFjO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsR0FBRztBQUNILGtEQUFrRCwyQ0FBYztBQUNoRTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsMkNBQWM7QUFDcEQsb0NBQW9DLDJDQUFjO0FBQ2xELHVCQUF1Qiw4Q0FBaUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsc0JBQXNCLDhDQUFpQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsdUJBQXVCLHlDQUFZO0FBQ25DLHNCQUFzQix5Q0FBWTtBQUNsQyxrQkFBa0IseUNBQVk7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDhDQUFpQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxpRUFBZTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGdEQUFrQjtBQUMxQjtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNILHVCQUF1Qix5Q0FBWTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxlQUFlLDBDQUFhO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILG1CQUFtQiwwQ0FBYTtBQUNoQztBQUNBO0FBQ0EsR0FBRztBQUNILHlCQUF5QiwwQ0FBYTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxTQUFTLDBDQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxpQkFBaUIsdURBQU87QUFDeEI7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsdURBQU87QUFDdEI7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHdEQUFRO0FBQ2I7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssdURBQU87QUFDWjtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLDREQUFZO0FBQ2pCO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssc0RBQU07QUFDWDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHNEQUFNO0FBQ1g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSywrREFBZTtBQUNwQjtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxzREFBTTtBQUNYO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHdEQUFRO0FBQ2I7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRWlHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QtZG9tL2Rpc3QvZmxvYXRpbmctdWkucmVhY3QtZG9tLm1qcz83ZmNiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVQb3NpdGlvbiwgYXJyb3cgYXMgYXJyb3ckMiwgb2Zmc2V0IGFzIG9mZnNldCQxLCBzaGlmdCBhcyBzaGlmdCQxLCBsaW1pdFNoaWZ0IGFzIGxpbWl0U2hpZnQkMSwgZmxpcCBhcyBmbGlwJDEsIHNpemUgYXMgc2l6ZSQxLCBhdXRvUGxhY2VtZW50IGFzIGF1dG9QbGFjZW1lbnQkMSwgaGlkZSBhcyBoaWRlJDEsIGlubGluZSBhcyBpbmxpbmUkMSB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuZXhwb3J0IHsgYXV0b1VwZGF0ZSwgY29tcHV0ZVBvc2l0aW9uLCBkZXRlY3RPdmVyZmxvdywgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMsIHBsYXRmb3JtIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCAqIGFzIFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5cbnZhciBpbmRleCA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyB1c2VMYXlvdXRFZmZlY3QgOiB1c2VFZmZlY3Q7XG5cbi8vIEZvcmsgb2YgYGZhc3QtZGVlcC1lcXVhbGAgdGhhdCBvbmx5IGRvZXMgdGhlIGNvbXBhcmlzb25zIHdlIG5lZWQgYW5kIGNvbXBhcmVzXG4vLyBmdW5jdGlvbnNcbmZ1bmN0aW9uIGRlZXBFcXVhbChhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodHlwZW9mIGEgPT09ICdmdW5jdGlvbicgJiYgYS50b1N0cmluZygpID09PSBiLnRvU3RyaW5nKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBsZXQgbGVuZ3RoO1xuICBsZXQgaTtcbiAgbGV0IGtleXM7XG4gIGlmIChhICYmIGIgJiYgdHlwZW9mIGEgPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYSkpIHtcbiAgICAgIGxlbmd0aCA9IGEubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCAhPT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOykge1xuICAgICAgICBpZiAoIWRlZXBFcXVhbChhW2ldLCBiW2ldKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7KSB7XG4gICAgICBpZiAoIXt9Lmhhc093blByb3BlcnR5LmNhbGwoYiwga2V5c1tpXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcbiAgICAgIGNvbnN0IGtleSA9IGtleXNbaV07XG4gICAgICBpZiAoa2V5ID09PSAnX293bmVyJyAmJiBhLiQkdHlwZW9mKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFkZWVwRXF1YWwoYVtrZXldLCBiW2tleV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGEgIT09IGEgJiYgYiAhPT0gYjtcbn1cblxuZnVuY3Rpb24gZ2V0RFBSKGVsZW1lbnQpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgY29uc3Qgd2luID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgcmV0dXJuIHdpbi5kZXZpY2VQaXhlbFJhdGlvIHx8IDE7XG59XG5cbmZ1bmN0aW9uIHJvdW5kQnlEUFIoZWxlbWVudCwgdmFsdWUpIHtcbiAgY29uc3QgZHByID0gZ2V0RFBSKGVsZW1lbnQpO1xuICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGRwcikgLyBkcHI7XG59XG5cbmZ1bmN0aW9uIHVzZUxhdGVzdFJlZih2YWx1ZSkge1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYodmFsdWUpO1xuICBpbmRleCgoKSA9PiB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfSk7XG4gIHJldHVybiByZWY7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhIGZsb2F0aW5nIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlRmxvYXRpbmdcbiAqL1xuZnVuY3Rpb24gdXNlRmxvYXRpbmcob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcbiAgICBzdHJhdGVneSA9ICdhYnNvbHV0ZScsXG4gICAgbWlkZGxld2FyZSA9IFtdLFxuICAgIHBsYXRmb3JtLFxuICAgIGVsZW1lbnRzOiB7XG4gICAgICByZWZlcmVuY2U6IGV4dGVybmFsUmVmZXJlbmNlLFxuICAgICAgZmxvYXRpbmc6IGV4dGVybmFsRmxvYXRpbmdcbiAgICB9ID0ge30sXG4gICAgdHJhbnNmb3JtID0gdHJ1ZSxcbiAgICB3aGlsZUVsZW1lbnRzTW91bnRlZCxcbiAgICBvcGVuXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSBSZWFjdC51c2VTdGF0ZSh7XG4gICAgeDogMCxcbiAgICB5OiAwLFxuICAgIHN0cmF0ZWd5LFxuICAgIHBsYWNlbWVudCxcbiAgICBtaWRkbGV3YXJlRGF0YToge30sXG4gICAgaXNQb3NpdGlvbmVkOiBmYWxzZVxuICB9KTtcbiAgY29uc3QgW2xhdGVzdE1pZGRsZXdhcmUsIHNldExhdGVzdE1pZGRsZXdhcmVdID0gUmVhY3QudXNlU3RhdGUobWlkZGxld2FyZSk7XG4gIGlmICghZGVlcEVxdWFsKGxhdGVzdE1pZGRsZXdhcmUsIG1pZGRsZXdhcmUpKSB7XG4gICAgc2V0TGF0ZXN0TWlkZGxld2FyZShtaWRkbGV3YXJlKTtcbiAgfVxuICBjb25zdCBbX3JlZmVyZW5jZSwgX3NldFJlZmVyZW5jZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW19mbG9hdGluZywgX3NldEZsb2F0aW5nXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBzZXRSZWZlcmVuY2UgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBpZiAobm9kZSAhPT0gcmVmZXJlbmNlUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlZmVyZW5jZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIF9zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgfVxuICB9LCBbXSk7XG4gIGNvbnN0IHNldEZsb2F0aW5nID0gUmVhY3QudXNlQ2FsbGJhY2sobm9kZSA9PiB7XG4gICAgaWYgKG5vZGUgIT09IGZsb2F0aW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgX3NldEZsb2F0aW5nKG5vZGUpO1xuICAgIH1cbiAgfSwgW10pO1xuICBjb25zdCByZWZlcmVuY2VFbCA9IGV4dGVybmFsUmVmZXJlbmNlIHx8IF9yZWZlcmVuY2U7XG4gIGNvbnN0IGZsb2F0aW5nRWwgPSBleHRlcm5hbEZsb2F0aW5nIHx8IF9mbG9hdGluZztcbiAgY29uc3QgcmVmZXJlbmNlUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBmbG9hdGluZ1JlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgZGF0YVJlZiA9IFJlYWN0LnVzZVJlZihkYXRhKTtcbiAgY29uc3QgaGFzV2hpbGVFbGVtZW50c01vdW50ZWQgPSB3aGlsZUVsZW1lbnRzTW91bnRlZCAhPSBudWxsO1xuICBjb25zdCB3aGlsZUVsZW1lbnRzTW91bnRlZFJlZiA9IHVzZUxhdGVzdFJlZih3aGlsZUVsZW1lbnRzTW91bnRlZCk7XG4gIGNvbnN0IHBsYXRmb3JtUmVmID0gdXNlTGF0ZXN0UmVmKHBsYXRmb3JtKTtcbiAgY29uc3QgdXBkYXRlID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVmZXJlbmNlUmVmLmN1cnJlbnQgfHwgIWZsb2F0aW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50LFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICBtaWRkbGV3YXJlOiBsYXRlc3RNaWRkbGV3YXJlXG4gICAgfTtcbiAgICBpZiAocGxhdGZvcm1SZWYuY3VycmVudCkge1xuICAgICAgY29uZmlnLnBsYXRmb3JtID0gcGxhdGZvcm1SZWYuY3VycmVudDtcbiAgICB9XG4gICAgY29tcHV0ZVBvc2l0aW9uKHJlZmVyZW5jZVJlZi5jdXJyZW50LCBmbG9hdGluZ1JlZi5jdXJyZW50LCBjb25maWcpLnRoZW4oZGF0YSA9PiB7XG4gICAgICBjb25zdCBmdWxsRGF0YSA9IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgaXNQb3NpdGlvbmVkOiB0cnVlXG4gICAgICB9O1xuICAgICAgaWYgKGlzTW91bnRlZFJlZi5jdXJyZW50ICYmICFkZWVwRXF1YWwoZGF0YVJlZi5jdXJyZW50LCBmdWxsRGF0YSkpIHtcbiAgICAgICAgZGF0YVJlZi5jdXJyZW50ID0gZnVsbERhdGE7XG4gICAgICAgIFJlYWN0RE9NLmZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgICAgc2V0RGF0YShmdWxsRGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbbGF0ZXN0TWlkZGxld2FyZSwgcGxhY2VtZW50LCBzdHJhdGVneSwgcGxhdGZvcm1SZWZdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChvcGVuID09PSBmYWxzZSAmJiBkYXRhUmVmLmN1cnJlbnQuaXNQb3NpdGlvbmVkKSB7XG4gICAgICBkYXRhUmVmLmN1cnJlbnQuaXNQb3NpdGlvbmVkID0gZmFsc2U7XG4gICAgICBzZXREYXRhKGRhdGEgPT4gKHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgaXNQb3NpdGlvbmVkOiBmYWxzZVxuICAgICAgfSkpO1xuICAgIH1cbiAgfSwgW29wZW5dKTtcbiAgY29uc3QgaXNNb3VudGVkUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9O1xuICB9LCBbXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAocmVmZXJlbmNlRWwpIHJlZmVyZW5jZVJlZi5jdXJyZW50ID0gcmVmZXJlbmNlRWw7XG4gICAgaWYgKGZsb2F0aW5nRWwpIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBmbG9hdGluZ0VsO1xuICAgIGlmIChyZWZlcmVuY2VFbCAmJiBmbG9hdGluZ0VsKSB7XG4gICAgICBpZiAod2hpbGVFbGVtZW50c01vdW50ZWRSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm4gd2hpbGVFbGVtZW50c01vdW50ZWRSZWYuY3VycmVudChyZWZlcmVuY2VFbCwgZmxvYXRpbmdFbCwgdXBkYXRlKTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZSgpO1xuICAgIH1cbiAgfSwgW3JlZmVyZW5jZUVsLCBmbG9hdGluZ0VsLCB1cGRhdGUsIHdoaWxlRWxlbWVudHNNb3VudGVkUmVmLCBoYXNXaGlsZUVsZW1lbnRzTW91bnRlZF0pO1xuICBjb25zdCByZWZzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlUmVmLFxuICAgIGZsb2F0aW5nOiBmbG9hdGluZ1JlZixcbiAgICBzZXRSZWZlcmVuY2UsXG4gICAgc2V0RmxvYXRpbmdcbiAgfSksIFtzZXRSZWZlcmVuY2UsIHNldEZsb2F0aW5nXSk7XG4gIGNvbnN0IGVsZW1lbnRzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlRWwsXG4gICAgZmxvYXRpbmc6IGZsb2F0aW5nRWxcbiAgfSksIFtyZWZlcmVuY2VFbCwgZmxvYXRpbmdFbF0pO1xuICBjb25zdCBmbG9hdGluZ1N0eWxlcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGluaXRpYWxTdHlsZXMgPSB7XG4gICAgICBwb3NpdGlvbjogc3RyYXRlZ3ksXG4gICAgICBsZWZ0OiAwLFxuICAgICAgdG9wOiAwXG4gICAgfTtcbiAgICBpZiAoIWVsZW1lbnRzLmZsb2F0aW5nKSB7XG4gICAgICByZXR1cm4gaW5pdGlhbFN0eWxlcztcbiAgICB9XG4gICAgY29uc3QgeCA9IHJvdW5kQnlEUFIoZWxlbWVudHMuZmxvYXRpbmcsIGRhdGEueCk7XG4gICAgY29uc3QgeSA9IHJvdW5kQnlEUFIoZWxlbWVudHMuZmxvYXRpbmcsIGRhdGEueSk7XG4gICAgaWYgKHRyYW5zZm9ybSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5pdGlhbFN0eWxlcyxcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIiArIHggKyBcInB4LCBcIiArIHkgKyBcInB4KVwiLFxuICAgICAgICAuLi4oZ2V0RFBSKGVsZW1lbnRzLmZsb2F0aW5nKSA+PSAxLjUgJiYge1xuICAgICAgICAgIHdpbGxDaGFuZ2U6ICd0cmFuc2Zvcm0nXG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IHN0cmF0ZWd5LFxuICAgICAgbGVmdDogeCxcbiAgICAgIHRvcDogeVxuICAgIH07XG4gIH0sIFtzdHJhdGVneSwgdHJhbnNmb3JtLCBlbGVtZW50cy5mbG9hdGluZywgZGF0YS54LCBkYXRhLnldKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5kYXRhLFxuICAgIHVwZGF0ZSxcbiAgICByZWZzLFxuICAgIGVsZW1lbnRzLFxuICAgIGZsb2F0aW5nU3R5bGVzXG4gIH0pLCBbZGF0YSwgdXBkYXRlLCByZWZzLCBlbGVtZW50cywgZmxvYXRpbmdTdHlsZXNdKTtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGFuIGlubmVyIGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc28gdGhhdCBpdFxuICogYXBwZWFycyBjZW50ZXJlZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBUaGlzIHdyYXBzIHRoZSBjb3JlIGBhcnJvd2AgbWlkZGxld2FyZSB0byBhbGxvdyBSZWFjdCByZWZzIGFzIHRoZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93JDEgPSBvcHRpb25zID0+IHtcbiAgZnVuY3Rpb24gaXNSZWYodmFsdWUpIHtcbiAgICByZXR1cm4ge30uaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ2N1cnJlbnQnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhcnJvdycsXG4gICAgb3B0aW9ucyxcbiAgICBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBlbGVtZW50LFxuICAgICAgICBwYWRkaW5nXG4gICAgICB9ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicgPyBvcHRpb25zKHN0YXRlKSA6IG9wdGlvbnM7XG4gICAgICBpZiAoZWxlbWVudCAmJiBpc1JlZihlbGVtZW50KSkge1xuICAgICAgICBpZiAoZWxlbWVudC5jdXJyZW50ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gYXJyb3ckMih7XG4gICAgICAgICAgICBlbGVtZW50OiBlbGVtZW50LmN1cnJlbnQsXG4gICAgICAgICAgICBwYWRkaW5nXG4gICAgICAgICAgfSkuZm4oc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBhcnJvdyQyKHtcbiAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgIHBhZGRpbmdcbiAgICAgICAgfSkuZm4oc3RhdGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogTW9kaWZpZXMgdGhlIHBsYWNlbWVudCBieSB0cmFuc2xhdGluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbG9uZyB0aGVcbiAqIHNwZWNpZmllZCBheGVzLlxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxuICogb2JqZWN0IG1heSBiZSBwYXNzZWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gKi9cbmNvbnN0IG9mZnNldCA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5vZmZzZXQkMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cbiAqIGtlZXAgaXQgaW4gdmlldyB3aGVuIGl0IHdpbGwgb3ZlcmZsb3cgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NoaWZ0XG4gKi9cbmNvbnN0IHNoaWZ0ID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLnNoaWZ0JDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4ubGltaXRTaGlmdCQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBmbGlwcGluZyB0aGUgYHBsYWNlbWVudGBcbiAqIGluIG9yZGVyIHRvIGtlZXAgaXQgaW4gdmlldyB3aGVuIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50KHMpIHdpbGwgb3ZlcmZsb3cgdGhlXG4gKiBjbGlwcGluZyBib3VuZGFyeS4gQWx0ZXJuYXRpdmUgdG8gYGF1dG9QbGFjZW1lbnRgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2ZsaXBcbiAqL1xuY29uc3QgZmxpcCA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5mbGlwJDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0aGF0IGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IOKAlFxuICogZm9yIGluc3RhbmNlLCBwcmV2ZW50IGl0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5IG9yIG1hdGNoIHRoZVxuICogd2lkdGggb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NpemVcbiAqL1xuY29uc3Qgc2l6ZSA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5zaXplJDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcbiAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gKiBwcmVmZXJyZWQgcGxhY2VtZW50LiBBbHRlcm5hdGl2ZSB0byBgZmxpcGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxuICovXG5jb25zdCBhdXRvUGxhY2VtZW50ID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLmF1dG9QbGFjZW1lbnQkMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIGhpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaW4gYXBwbGljYWJsZSBzaXR1YXRpb25zLCBzdWNoIGFzXG4gKiB3aGVuIGl0IGlzIG5vdCBpbiB0aGUgc2FtZSBjbGlwcGluZyBjb250ZXh0IGFzIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9oaWRlXG4gKi9cbmNvbnN0IGhpZGUgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uaGlkZSQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cbiAqIG92ZXIgbXVsdGlwbGUgbGluZXMsIHN1Y2ggYXMgaHlwZXJsaW5rcyBvciByYW5nZSBzZWxlY3Rpb25zLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2lubGluZVxuICovXG5jb25zdCBpbmxpbmUgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uaW5saW5lJDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogVGhpcyB3cmFwcyB0aGUgY29yZSBgYXJyb3dgIG1pZGRsZXdhcmUgdG8gYWxsb3cgUmVhY3QgcmVmcyBhcyB0aGUgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hcnJvd1xuICovXG5jb25zdCBhcnJvdyA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5hcnJvdyQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG5leHBvcnQgeyBhcnJvdywgYXV0b1BsYWNlbWVudCwgZmxpcCwgaGlkZSwgaW5saW5lLCBsaW1pdFNoaWZ0LCBvZmZzZXQsIHNoaWZ0LCBzaXplLCB1c2VGbG9hdGluZyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/react/dist/floating-ui.react.mjs":
/*!********************************************************************!*\
!*** ./node_modules/@floating-ui/react/dist/floating-ui.react.mjs ***!
\********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("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 */ Composite: function() { return /* binding */ Composite; },\n/* harmony export */ CompositeItem: function() { return /* binding */ CompositeItem; },\n/* harmony export */ FloatingArrow: function() { return /* binding */ FloatingArrow; },\n/* harmony export */ FloatingDelayGroup: function() { return /* binding */ FloatingDelayGroup; },\n/* harmony export */ FloatingFocusManager: function() { return /* binding */ FloatingFocusManager; },\n/* harmony export */ FloatingList: function() { return /* binding */ FloatingList; },\n/* harmony export */ FloatingNode: function() { return /* binding */ FloatingNode; },\n/* harmony export */ FloatingOverlay: function() { return /* binding */ FloatingOverlay; },\n/* harmony export */ FloatingPortal: function() { return /* binding */ FloatingPortal; },\n/* harmony export */ FloatingTree: function() { return /* binding */ FloatingTree; },\n/* harmony export */ arrow: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.arrow; },\n/* harmony export */ autoPlacement: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.autoPlacement; },\n/* harmony export */ autoUpdate: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.autoUpdate; },\n/* harmony export */ computePosition: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.computePosition; },\n/* harmony export */ detectOverflow: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.detectOverflow; },\n/* harmony export */ flip: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.flip; },\n/* harmony export */ getOverflowAncestors: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getOverflowAncestors; },\n/* harmony export */ hide: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.hide; },\n/* harmony export */ inline: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.inline; },\n/* harmony export */ inner: function() { return /* binding */ inner; },\n/* harmony export */ limitShift: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.limitShift; },\n/* harmony export */ offset: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.offset; },\n/* harmony export */ platform: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.platform; },\n/* harmony export */ safePolygon: function() { return /* binding */ safePolygon; },\n/* harmony export */ shift: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.shift; },\n/* harmony export */ size: function() { return /* reexport safe */ _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.size; },\n/* harmony export */ useClick: function() { return /* binding */ useClick; },\n/* harmony export */ useClientPoint: function() { return /* binding */ useClientPoint; },\n/* harmony export */ useDelayGroup: function() { return /* binding */ useDelayGroup; },\n/* harmony export */ useDelayGroupContext: function() { return /* binding */ useDelayGroupContext; },\n/* harmony export */ useDismiss: function() { return /* binding */ useDismiss; },\n/* harmony export */ useFloating: function() { return /* binding */ useFloating; },\n/* harmony export */ useFloatingNodeId: function() { return /* binding */ useFloatingNodeId; },\n/* harmony export */ useFloatingParentNodeId: function() { return /* binding */ useFloatingParentNodeId; },\n/* harmony export */ useFloatingPortalNode: function() { return /* binding */ useFloatingPortalNode; },\n/* harmony export */ useFloatingRootContext: function() { return /* binding */ useFloatingRootContext; },\n/* harmony export */ useFloatingTree: function() { return /* binding */ useFloatingTree; },\n/* harmony export */ useFocus: function() { return /* binding */ useFocus; },\n/* harmony export */ useHover: function() { return /* binding */ useHover; },\n/* harmony export */ useId: function() { return /* binding */ useId; },\n/* harmony export */ useInnerOffset: function() { return /* binding */ useInnerOffset; },\n/* harmony export */ useInteractions: function() { return /* binding */ useInteractions; },\n/* harmony export */ useListItem: function() { return /* binding */ useListItem; },\n/* harmony export */ useListNavigation: function() { return /* binding */ useListNavigation; },\n/* harmony export */ useMergeRefs: function() { return /* binding */ useMergeRefs; },\n/* harmony export */ useRole: function() { return /* binding */ useRole; },\n/* harmony export */ useTransitionStatus: function() { return /* binding */ useTransitionStatus; },\n/* harmony export */ useTransitionStyles: function() { return /* binding */ useTransitionStyles; },\n/* harmony export */ useTypeahead: function() { return /* binding */ useTypeahead; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @floating-ui/react/utils */ \"(app-pages-browser)/./node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs\");\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @floating-ui/utils */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n/* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @floating-ui/react-dom */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n/* harmony import */ var tabbable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tabbable */ \"(app-pages-browser)/./node_modules/tabbable/dist/index.esm.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\n/* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react-dom */ \"(app-pages-browser)/./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\");\n/* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @floating-ui/react-dom */ \"(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\");\n\n\n\n\n\n\n\n\n\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/react-utils#usemergerefs\n */\nfunction useMergeRefs(refs) {\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n .../*#__PURE__*/ (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache || (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache = __webpack_require__.t(react__WEBPACK_IMPORTED_MODULE_0__, 2)))\n};\n\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(() => {\n if (true) {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nfunction isDifferentRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n const list = listRef.current;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= list.length - 1 && isDisabled(list, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(elementsRef, _ref) {\n let {\n event,\n orientation,\n loop,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.floor)(prevIndex / cols);\n if (event.key === ARROW_RIGHT) {\n stop && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_LEFT) {\n stop && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.floor)(maxIndex / cols) === prevRow;\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === ARROW_LEFT ? maxIndex : findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction buildCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (true) {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isDisabled(list, index, disabledIndices) {\n if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = list[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el == null ? void 0 : el.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\n\nvar index = typeof document !== 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect;\n\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nfunction areMapsEqual(map1, map2) {\n if (map1.size !== map2.size) {\n return false;\n }\n for (const [key, value] of map1.entries()) {\n if (value !== map2.get(key)) {\n return false;\n }\n }\n return true;\n}\nconst FloatingListContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({\n register: () => {},\n unregister: () => {},\n map: /*#__PURE__*/new Map(),\n elementsRef: {\n current: []\n }\n});\n/**\n * Provides context for a list of items within the floating element.\n * @see https://floating-ui.com/docs/FloatingList\n */\nfunction FloatingList(props) {\n const {\n children,\n elementsRef,\n labelsRef\n } = props;\n const [map, setMap] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => new Map());\n const register = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n setMap(prevMap => new Map(prevMap).set(node, null));\n }, []);\n const unregister = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n setMap(prevMap => {\n const map = new Map(prevMap);\n map.delete(node);\n return map;\n });\n }, []);\n index(() => {\n const newMap = new Map(map);\n const nodes = Array.from(newMap.keys()).sort(sortByDocumentPosition);\n nodes.forEach((node, index) => {\n newMap.set(node, index);\n });\n if (!areMapsEqual(map, newMap)) {\n setMap(newMap);\n }\n }, [map]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FloatingListContext.Provider, {\n value: react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n }), [register, unregister, map, elementsRef, labelsRef])\n }, children);\n}\n/**\n * Used to register a list item and its index (DOM position) in the\n * `FloatingList`.\n * @see https://floating-ui.com/docs/FloatingList#uselistitem\n */\nfunction useListItem(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n label\n } = props;\n const {\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n } = react__WEBPACK_IMPORTED_MODULE_0__.useContext(FloatingListContext);\n const [index$1, setIndex] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const componentRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n componentRef.current = node;\n if (index$1 !== null) {\n elementsRef.current[index$1] = node;\n if (labelsRef) {\n var _node$textContent;\n const isLabelDefined = label !== undefined;\n labelsRef.current[index$1] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n }\n }\n }, [index$1, elementsRef, labelsRef, label]);\n index(() => {\n const node = componentRef.current;\n if (node) {\n register(node);\n return () => {\n unregister(node);\n };\n }\n }, [register, unregister]);\n index(() => {\n const index = componentRef.current ? map.get(componentRef.current) : null;\n if (index != null) {\n setIndex(index);\n }\n }, [map]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n ref,\n index: index$1 == null ? -1 : index$1\n }), [index$1, ref]);\n}\n\nfunction renderJsx(render, computedProps) {\n if (typeof render === 'function') {\n return render(computedProps);\n }\n if (render) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(render, computedProps);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", computedProps);\n}\nconst CompositeContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({\n activeIndex: 0,\n onNavigate: () => {}\n});\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\n\n/**\n * Creates a single tab stop whose items are navigated by arrow keys, which\n * provides list navigation outside of floating element contexts.\n *\n * This is useful to enable navigation of a list of items that arent part of a\n * floating element. A menubar is an example of a composite, with each reference\n * element being an item.\n * @see https://floating-ui.com/docs/Composite\n */\nconst Composite = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function Composite(props, forwardedRef) {\n const {\n render,\n orientation = 'both',\n loop = true,\n cols = 1,\n disabledIndices,\n activeIndex: externalActiveIndex,\n onNavigate: externalSetActiveIndex,\n itemSizes,\n dense = false,\n ...domProps\n } = props;\n const [internalActiveIndex, internalSetActiveIndex] = react__WEBPACK_IMPORTED_MODULE_0__.useState(0);\n const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;\n const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);\n const elementsRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const contextValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n activeIndex,\n onNavigate\n }), [activeIndex, onNavigate]);\n const isGrid = cols > 1;\n function handleKeyDown(event) {\n if (!allKeys.includes(event.key)) return;\n let nextIndex = activeIndex;\n const minIndex = getMinIndex(elementsRef, disabledIndices);\n const maxIndex = getMaxIndex(elementsRef, disabledIndices);\n if (isGrid) {\n const sizes = itemSizes || Array.from({\n length: elementsRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(elementsRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(elementsRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n nextIndex = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || elementsRef.current.map((_, index) => isDisabled(elementsRef.current, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(activeIndex > maxIndex ? minIndex : activeIndex, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction we're\n // moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl')\n })]; // navigated cell will never be nullish\n }\n const toEndKeys = {\n horizontal: [ARROW_RIGHT],\n vertical: [ARROW_DOWN],\n both: [ARROW_RIGHT, ARROW_DOWN]\n }[orientation];\n const toStartKeys = {\n horizontal: [ARROW_LEFT],\n vertical: [ARROW_UP],\n both: [ARROW_LEFT, ARROW_UP]\n }[orientation];\n const preventedKeys = isGrid ? allKeys : {\n horizontal: horizontalKeys,\n vertical: verticalKeys,\n both: allKeys\n }[orientation];\n if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {\n if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {\n nextIndex = minIndex;\n } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: nextIndex,\n decrement: toStartKeys.includes(event.key),\n disabledIndices\n });\n }\n }\n if (nextIndex !== activeIndex && !isIndexOutOfBounds(elementsRef, nextIndex)) {\n event.stopPropagation();\n if (preventedKeys.includes(event.key)) {\n event.preventDefault();\n }\n onNavigate(nextIndex);\n\n // Wait for FocusManager `returnFocus` to execute.\n queueMicrotask(() => {\n enqueueFocus(elementsRef.current[nextIndex]);\n });\n }\n }\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: forwardedRef,\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n onKeyDown(e) {\n domProps.onKeyDown == null || domProps.onKeyDown(e);\n renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e);\n handleKeyDown(e);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(CompositeContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FloatingList, {\n elementsRef: elementsRef\n }, renderJsx(render, computedProps)));\n});\n/**\n * @see https://floating-ui.com/docs/Composite\n */\nconst CompositeItem = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function CompositeItem(props, forwardedRef) {\n const {\n render,\n ...domProps\n } = props;\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const {\n activeIndex,\n onNavigate\n } = react__WEBPACK_IMPORTED_MODULE_0__.useContext(CompositeContext);\n const {\n ref,\n index\n } = useListItem();\n const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);\n const isActive = activeIndex === index;\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: mergedRef,\n tabIndex: isActive ? 0 : -1,\n 'data-active': isActive ? '' : undefined,\n onFocus(e) {\n domProps.onFocus == null || domProps.onFocus(e);\n renderElementProps.onFocus == null || renderElementProps.onFocus(e);\n onNavigate(index);\n }\n };\n return renderJsx(render, computedProps);\n});\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => // Ensure the id is unique with multiple independent versions of Floating UI\n// on <React 18\n\"floating-ui-\" + Math.random().toString(36).slice(2, 6) + count++;\nfunction useFloatingId() {\n const [id, setId] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => serverHandoffComplete ? genId() : undefined);\n index(() => {\n if (id == null) {\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n serverHandoffComplete = true;\n }, []);\n return id;\n}\nconst useReactId = SafeReact.useId;\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/react-utils#useid\n */\nconst useId = useReactId || useFloatingId;\n\nlet devMessageSet;\nif (true) {\n devMessageSet = /*#__PURE__*/new Set();\n}\nfunction warn() {\n var _devMessageSet;\n for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {\n messages[_key] = arguments[_key];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {\n var _devMessageSet2;\n (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);\n console.warn(message);\n }\n}\nfunction error() {\n var _devMessageSet3;\n for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n messages[_key2] = arguments[_key2];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {\n var _devMessageSet4;\n (_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);\n console.error(message);\n }\n}\n\n/**\n * Renders a pointing arrow triangle.\n * @see https://floating-ui.com/docs/FloatingArrow\n */\nconst FloatingArrow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function FloatingArrow(props, ref) {\n const {\n context: {\n placement,\n elements: {\n floating\n },\n middlewareData: {\n arrow\n }\n },\n width = 14,\n height = 7,\n tipRadius = 0,\n strokeWidth = 0,\n staticOffset,\n stroke,\n d,\n style: {\n transform,\n ...restStyle\n } = {},\n ...rest\n } = props;\n if (true) {\n if (!ref) {\n warn('The `ref` prop is required for `FloatingArrow`.');\n }\n }\n const clipPathId = useId();\n const [isRTL, setIsRTL] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n\n // https://github.com/floating-ui/floating-ui/issues/2932\n index(() => {\n if (!floating) return;\n const isRTL = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getComputedStyle)(floating).direction === 'rtl';\n if (isRTL) {\n setIsRTL(true);\n }\n }, [floating]);\n if (!floating) {\n return null;\n }\n\n // Strokes must be double the border width, this ensures the stroke's width\n // works as you'd expect.\n const computedStrokeWidth = strokeWidth * 2;\n const halfStrokeWidth = computedStrokeWidth / 2;\n const svgX = width / 2 * (tipRadius / -8 + 1);\n const svgY = height / 2 * tipRadius / 4;\n const [side, alignment] = placement.split('-');\n const isCustomShape = !!d;\n const isVerticalSide = side === 'top' || side === 'bottom';\n const yOffsetProp = staticOffset && alignment === 'end' ? 'bottom' : 'top';\n let xOffsetProp = staticOffset && alignment === 'end' ? 'right' : 'left';\n if (staticOffset && isRTL) {\n xOffsetProp = alignment === 'end' ? 'left' : 'right';\n }\n const arrowX = (arrow == null ? void 0 : arrow.x) != null ? staticOffset || arrow.x : '';\n const arrowY = (arrow == null ? void 0 : arrow.y) != null ? staticOffset || arrow.y : '';\n const dValue = d || 'M0,0' + (\" H\" + width) + (\" L\" + (width - svgX) + \",\" + (height - svgY)) + (\" Q\" + width / 2 + \",\" + height + \" \" + svgX + \",\" + (height - svgY)) + ' Z';\n const rotation = {\n top: isCustomShape ? 'rotate(180deg)' : '',\n left: isCustomShape ? 'rotate(90deg)' : 'rotate(-90deg)',\n bottom: isCustomShape ? '' : 'rotate(180deg)',\n right: isCustomShape ? 'rotate(-90deg)' : 'rotate(90deg)'\n }[side];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", _extends({}, rest, {\n \"aria-hidden\": true,\n ref: ref,\n width: isCustomShape ? width : width + computedStrokeWidth,\n height: width,\n viewBox: \"0 0 \" + width + \" \" + (height > width ? height : width),\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n [xOffsetProp]: arrowX,\n [yOffsetProp]: arrowY,\n [side]: isVerticalSide || isCustomShape ? '100%' : \"calc(100% - \" + computedStrokeWidth / 2 + \"px)\",\n transform: \"\" + rotation + (transform != null ? transform : ''),\n ...restStyle\n }\n }), computedStrokeWidth > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n clipPath: \"url(#\" + clipPathId + \")\",\n fill: \"none\",\n stroke: stroke\n // Account for the stroke on the fill path rendered below.\n ,\n strokeWidth: computedStrokeWidth + (d ? 0 : 1),\n d: dValue\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n stroke: computedStrokeWidth && !d ? rest.fill : 'none',\n d: dValue\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"rect\", {\n x: -halfStrokeWidth,\n y: halfStrokeWidth * (isCustomShape ? -1 : 1),\n width: width + computedStrokeWidth,\n height: width\n })));\n});\n\nfunction createPubSub() {\n const map = new Map();\n return {\n emit(event, data) {\n var _map$get;\n (_map$get = map.get(event)) == null || _map$get.forEach(handler => handler(data));\n },\n on(event, listener) {\n map.set(event, [...(map.get(event) || []), listener]);\n },\n off(event, listener) {\n var _map$get2;\n map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter(l => l !== listener)) || []);\n }\n };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nconst useFloatingParentNodeId = () => {\n var _React$useContext;\n return ((_React$useContext = react__WEBPACK_IMPORTED_MODULE_0__.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nconst useFloatingTree = () => react__WEBPACK_IMPORTED_MODULE_0__.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction useFloatingNodeId(customParentId) {\n const id = useId();\n const tree = useFloatingTree();\n const reactParentId = useFloatingParentNodeId();\n const parentId = customParentId || reactParentId;\n index(() => {\n const node = {\n id,\n parentId\n };\n tree == null || tree.addNode(node);\n return () => {\n tree == null || tree.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingNode(props) {\n const {\n children,\n id\n } = props;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FloatingNodeContext.Provider, {\n value: react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n id,\n parentId\n }), [id, parentId])\n }, children);\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingTree(props) {\n const {\n children\n } = props;\n const nodesRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n const addNode = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n nodesRef.current = [...nodesRef.current, node];\n }, []);\n const removeNode = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n nodesRef.current = nodesRef.current.filter(n => n !== node);\n }, []);\n const events = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => createPubSub())[0];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FloatingTreeContext.Provider, {\n value: react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n nodesRef,\n addNode,\n removeNode,\n events\n }), [addNode, removeNode, events])\n }, children);\n}\n\nfunction createAttribute(name) {\n return \"data-floating-ui-\" + name;\n}\n\nfunction useLatestRef(value) {\n const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\nconst safePolygonIdentifier = /*#__PURE__*/createAttribute('safe-polygon');\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseLikePointerType)(pointerType)) {\n return 0;\n }\n if (typeof value === 'number') {\n return value;\n }\n return value == null ? void 0 : value[prop];\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nfunction useHover(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n events,\n elements\n } = context;\n const {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true\n } = props;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const handleCloseRef = useLatestRef(handleClose);\n const delayRef = useLatestRef(delay);\n const openRef = useLatestRef(open);\n const pointerTypeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n const timeoutRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(-1);\n const handlerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n const restTimeoutRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(-1);\n const blockMouseMoveRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(true);\n const performedPointerEventsMutationRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const unbindMouseMoveRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(() => {});\n const isHoverOpen = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(() => {\n var _dataRef$current$open;\n const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n }, [dataRef]);\n\n // When closing before opening, clear the delay timeouts to cancel it\n // from showing.\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n open\n } = _ref;\n if (!open) {\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n blockMouseMoveRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [enabled, events]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled) return;\n if (!handleCloseRef.current) return;\n if (!open) return;\n function onLeave(event) {\n if (isHoverOpen()) {\n onOpenChange(false, event, 'hover');\n }\n }\n const html = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating).documentElement;\n html.addEventListener('mouseleave', onLeave);\n return () => {\n html.removeEventListener('mouseleave', onLeave);\n };\n }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);\n const closeWithDelay = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event, runElseBranch, reason) {\n if (runElseBranch === void 0) {\n runElseBranch = true;\n }\n if (reason === void 0) {\n reason = 'hover';\n }\n const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n } else if (runElseBranch) {\n clearTimeout(timeoutRef.current);\n onOpenChange(false, event, reason);\n }\n }, [delayRef, onOpenChange]);\n const cleanupMouseMoveHandler = useEffectEvent(() => {\n unbindMouseMoveRef.current();\n handlerRef.current = undefined;\n });\n const clearPointerEvents = useEffectEvent(() => {\n if (performedPointerEventsMutationRef.current) {\n const body = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating).body;\n body.style.pointerEvents = '';\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n\n // Registering the mouse events on the reference directly to bypass React's\n // delegation system. If the cursor was on a disabled element and then entered\n // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled) return;\n function isClickLikeOpenEvent() {\n return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n }\n function onMouseEnter(event) {\n clearTimeout(timeoutRef.current);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseLikePointerType)(pointerTypeRef.current) || restMs > 0 && !getDelay(delayRef.current, 'open')) {\n return;\n }\n const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = window.setTimeout(() => {\n if (!openRef.current) {\n onOpenChange(true, event, 'hover');\n }\n }, openDelay);\n } else {\n onOpenChange(true, event, 'hover');\n }\n }\n function onMouseLeave(event) {\n if (isClickLikeOpenEvent()) return;\n unbindMouseMoveRef.current();\n const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating);\n clearTimeout(restTimeoutRef.current);\n if (handleCloseRef.current && dataRef.current.floatingContext) {\n // Prevent clearing `onScrollMouseLeave` timeout.\n if (!open) {\n clearTimeout(timeoutRef.current);\n }\n handlerRef.current = handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n closeWithDelay(event, true, 'safe-polygon');\n }\n });\n const handler = handlerRef.current;\n doc.addEventListener('mousemove', handler);\n unbindMouseMoveRef.current = () => {\n doc.removeEventListener('mousemove', handler);\n };\n return;\n }\n\n // Allow interactivity without `safePolygon` on touch devices. With a\n // pointer, a short close delay is an alternative, so it should work\n // consistently.\n const shouldClose = pointerTypeRef.current === 'touch' ? !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(elements.floating, event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n\n // Ensure the floating element closes after scrolling even if the pointer\n // did not move.\n // https://github.com/floating-ui/floating-ui/discussions/1692\n function onScrollMouseLeave(event) {\n if (isClickLikeOpenEvent()) return;\n if (!dataRef.current.floatingContext) return;\n handleCloseRef.current == null || handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n closeWithDelay(event);\n }\n })(event);\n }\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(elements.domReference)) {\n var _elements$floating;\n const ref = elements.domReference;\n open && ref.addEventListener('mouseleave', onScrollMouseLeave);\n (_elements$floating = elements.floating) == null || _elements$floating.addEventListener('mouseleave', onScrollMouseLeave);\n move && ref.addEventListener('mousemove', onMouseEnter, {\n once: true\n });\n ref.addEventListener('mouseenter', onMouseEnter);\n ref.addEventListener('mouseleave', onMouseLeave);\n return () => {\n var _elements$floating2;\n open && ref.removeEventListener('mouseleave', onScrollMouseLeave);\n (_elements$floating2 = elements.floating) == null || _elements$floating2.removeEventListener('mouseleave', onScrollMouseLeave);\n move && ref.removeEventListener('mousemove', onMouseEnter);\n ref.removeEventListener('mouseenter', onMouseEnter);\n ref.removeEventListener('mouseleave', onMouseLeave);\n };\n }\n }, [elements, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef]);\n\n // Block pointer-events of every element other than the reference and floating\n // while the floating element is open and has a `handleClose` handler. Also\n // handles nested floating elements.\n // https://github.com/floating-ui/floating-ui/issues/1722\n index(() => {\n var _handleCloseRef$curre;\n if (!enabled) return;\n if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {\n const body = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating).body;\n body.setAttribute(safePolygonIdentifier, '');\n body.style.pointerEvents = 'none';\n performedPointerEventsMutationRef.current = true;\n const floatingEl = elements.floating;\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(elements.domReference) && floatingEl) {\n var _tree$nodesRef$curren;\n const ref = elements.domReference;\n const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n ref.style.pointerEvents = 'auto';\n floatingEl.style.pointerEvents = 'auto';\n return () => {\n ref.style.pointerEvents = '';\n floatingEl.style.pointerEvents = '';\n };\n }\n }\n }, [enabled, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);\n index(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n return () => {\n cleanupMouseMoveHandler();\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n clearPointerEvents();\n };\n }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n const {\n nativeEvent\n } = event;\n function handleMouseMove() {\n if (!blockMouseMoveRef.current && !openRef.current) {\n onOpenChange(true, nativeEvent, 'hover');\n }\n }\n if (mouseOnly && !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseLikePointerType)(pointerTypeRef.current)) {\n return;\n }\n if (open || restMs === 0) {\n return;\n }\n clearTimeout(restTimeoutRef.current);\n if (pointerTypeRef.current === 'touch') {\n handleMouseMove();\n } else {\n restTimeoutRef.current = window.setTimeout(handleMouseMove, restMs);\n }\n }\n };\n }, [mouseOnly, onOpenChange, open, openRef, restMs]);\n const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n onMouseLeave(event) {\n closeWithDelay(event.nativeEvent, false);\n }\n }), [closeWithDelay]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nconst NOOP = () => {};\nconst FloatingDelayGroupContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({\n delay: 0,\n initialDelay: 0,\n timeoutMs: 0,\n currentId: null,\n setCurrentId: NOOP,\n setState: NOOP,\n isInstantPhase: false\n});\n\n/**\n * @deprecated\n * Use the return value of `useDelayGroup()` instead.\n */\nconst useDelayGroupContext = () => react__WEBPACK_IMPORTED_MODULE_0__.useContext(FloatingDelayGroupContext);\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction FloatingDelayGroup(props) {\n const {\n children,\n delay,\n timeoutMs = 0\n } = props;\n const [state, setState] = react__WEBPACK_IMPORTED_MODULE_0__.useReducer((prev, next) => ({\n ...prev,\n ...next\n }), {\n delay,\n timeoutMs,\n initialDelay: delay,\n currentId: null,\n isInstantPhase: false\n });\n const initialCurrentIdRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const setCurrentId = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(currentId => {\n setState({\n currentId\n });\n }, []);\n index(() => {\n if (state.currentId) {\n if (initialCurrentIdRef.current === null) {\n initialCurrentIdRef.current = state.currentId;\n } else if (!state.isInstantPhase) {\n setState({\n isInstantPhase: true\n });\n }\n } else {\n if (state.isInstantPhase) {\n setState({\n isInstantPhase: false\n });\n }\n initialCurrentIdRef.current = null;\n }\n }, [state.currentId, state.isInstantPhase]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FloatingDelayGroupContext.Provider, {\n value: react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n ...state,\n setState,\n setCurrentId\n }), [state, setCurrentId])\n }, children);\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `FloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useDelayGroup(context, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open,\n onOpenChange,\n floatingId\n } = context;\n const {\n id: optionId\n } = options;\n const id = optionId != null ? optionId : floatingId;\n const groupContext = useDelayGroupContext();\n const {\n currentId,\n setCurrentId,\n initialDelay,\n setState,\n timeoutMs\n } = groupContext;\n index(() => {\n if (!currentId) return;\n setState({\n delay: {\n open: 1,\n close: getDelay(initialDelay, 'close')\n }\n });\n if (currentId !== id) {\n onOpenChange(false);\n }\n }, [id, onOpenChange, setState, currentId, initialDelay]);\n index(() => {\n function unset() {\n onOpenChange(false);\n setState({\n delay: initialDelay,\n currentId: null\n });\n }\n if (!currentId) return;\n if (!open && currentId === id) {\n if (timeoutMs) {\n const timeout = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeout);\n };\n }\n unset();\n }\n }, [open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n index(() => {\n if (setCurrentId === NOOP || !open) return;\n setCurrentId(id);\n }, [open, setCurrentId, id]);\n return groupContext;\n}\n\nfunction getAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction getChildren(nodes, id) {\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n });\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\n\n// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nlet counterMap = /*#__PURE__*/new WeakMap();\nlet uncontrolledElementsSet = /*#__PURE__*/new WeakSet();\nlet markerMap = {};\nlet lockCount = 0;\nconst supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nconst unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n const markerName = 'data-floating-ui-inert';\n const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const elementsToKeep = new Set();\n const elementsToStop = new Set(avoidElements);\n const hiddenElements = [];\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n const markerCounter = markerMap[markerName];\n avoidElements.forEach(keep);\n deep(body);\n elementsToKeep.clear();\n function keep(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n el.parentNode && keep(el.parentNode);\n }\n function deep(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n [].forEach.call(parent.children, node => {\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getNodeName)(node) === 'script') return;\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n const attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterValue = (counterMap.get(node) || 0) + 1;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledElementsSet.add(node);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n if (!alreadyHidden && controlAttribute) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n }\n lockCount++;\n return () => {\n hiddenElements.forEach(element => {\n const counterValue = (counterMap.get(element) || 0) - 1;\n const markerValue = (markerCounter.get(element) || 0) - 1;\n counterMap.set(element, counterValue);\n markerCounter.set(element, markerValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet.delete(element);\n }\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledElementsSet = new WeakSet();\n markerMap = {};\n }\n };\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n if (ariaHidden === void 0) {\n ariaHidden = false;\n }\n if (inert === void 0) {\n inert = false;\n }\n const body = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll('[aria-live]'))), body, ariaHidden, inert);\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, direction) {\n const allTabbable = (0,tabbable__WEBPACK_IMPORTED_MODULE_7__.tabbable)(container, getTabbableOptions());\n if (direction === 'prev') {\n allTabbable.reverse();\n }\n const activeIndex = allTabbable.indexOf((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(container)));\n const nextTabbableElements = allTabbable.slice(activeIndex + 1);\n return nextTabbableElements[0];\n}\nfunction getNextTabbable() {\n return getTabbableIn(document.body, 'next');\n}\nfunction getPreviousTabbable() {\n return getTabbableIn(document.body, 'prev');\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = (0,tabbable__WEBPACK_IMPORTED_MODULE_7__.tabbable)(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\nfunction getClosestTabbableElement(tabbableElements, element, floating) {\n const elementIndex = tabbableElements.indexOf(element);\n function traverseTabbableElements(next) {\n const attr = createAttribute('focus-guard');\n let index = elementIndex + (next ? 1 : 0);\n let currentElement = tabbableElements[index];\n while (currentElement && (!currentElement.isConnected || currentElement.hasAttribute(attr) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floating, currentElement))) {\n if (next) {\n index++;\n } else {\n index--;\n }\n currentElement = tabbableElements[index];\n }\n return currentElement;\n }\n\n // First, try to find the next tabbable element\n const next = traverseTabbableElements(true);\n if (next) {\n return next;\n }\n\n // If we can't find a next tabbable element, try to find the previous one\n return traverseTabbableElements(false);\n}\n\n// See Diego Haz's Sandbox for making this logic work well on Safari/iOS:\n// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/FocusTrap.tsx\n\nconst HIDDEN_STYLES = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'fixed',\n whiteSpace: 'nowrap',\n width: '1px',\n top: 0,\n left: 0\n};\nlet timeoutId;\nfunction setActiveElementOnTab(event) {\n if (event.key === 'Tab') {\n event.target;\n clearTimeout(timeoutId);\n }\n}\nconst FocusGuard = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function FocusGuard(props, ref) {\n const [role, setRole] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n index(() => {\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isSafari)()) {\n // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n // on VoiceOver does trigger the onFocus event, so we can use the focus\n // trap element. On Safari, only buttons trigger the onFocus event.\n // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n // button role.\n setRole('button');\n }\n document.addEventListener('keydown', setActiveElementOnTab);\n return () => {\n document.removeEventListener('keydown', setActiveElementOnTab);\n };\n }, []);\n const restProps = {\n ref,\n tabIndex: 0,\n // Role is only for VoiceOver\n role,\n 'aria-hidden': role ? undefined : true,\n [createAttribute('focus-guard')]: '',\n style: HIDDEN_STYLES\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", _extends({}, props, restProps));\n});\n\nconst PortalContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nconst attr = /*#__PURE__*/createAttribute('portal');\n/**\n * @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n */\nfunction useFloatingPortalNode(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n id,\n root\n } = props;\n const uniqueId = useId();\n const portalContext = usePortalContext();\n const [portalNode, setPortalNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const portalNodeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n index(() => {\n return () => {\n portalNode == null || portalNode.remove();\n // Allow the subsequent layout effects to create a new node on updates.\n // The portal node will still be cleaned up on unmount.\n // https://github.com/floating-ui/floating-ui/issues/2454\n queueMicrotask(() => {\n portalNodeRef.current = null;\n });\n };\n }, [portalNode]);\n index(() => {\n // Wait for the uniqueId to be generated before creating the portal node in\n // React <18 (using `useFloatingId` instead of the native `useId`).\n // https://github.com/floating-ui/floating-ui/issues/2778\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n const existingIdRoot = id ? document.getElementById(id) : null;\n if (!existingIdRoot) return;\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n existingIdRoot.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, uniqueId]);\n index(() => {\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n let container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n if (container && !(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(container)) container = container.current;\n container = container || document.body;\n let idWrapper = null;\n if (id) {\n idWrapper = document.createElement('div');\n idWrapper.id = id;\n container.appendChild(idWrapper);\n }\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n container = idWrapper || container;\n container.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, root, uniqueId, portalContext]);\n return portalNode;\n}\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nfunction FloatingPortal(props) {\n const {\n children,\n id,\n root = null,\n preserveTabOrder = true\n } = props;\n const portalNode = useFloatingPortalNode({\n id,\n root\n });\n const [focusManagerState, setFocusManagerState] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const beforeOutsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const afterOutsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const beforeInsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const afterInsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const shouldRenderGuards =\n // The FocusManager and therefore floating element are currently open/\n // rendered.\n !!focusManagerState &&\n // Guards are only for non-modal focus management.\n !focusManagerState.modal &&\n // Don't render if unmount is transitioning.\n focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!portalNode || !preserveTabOrder || focusManagerState != null && focusManagerState.modal) {\n return;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && isOutsideEvent(event)) {\n const focusing = event.type === 'focusin';\n const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n manageFocus(portalNode);\n }\n }\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n portalNode.addEventListener('focusin', onFocus, true);\n portalNode.addEventListener('focusout', onFocus, true);\n return () => {\n portalNode.removeEventListener('focusin', onFocus, true);\n portalNode.removeEventListener('focusout', onFocus, true);\n };\n }, [portalNode, preserveTabOrder, focusManagerState == null ? void 0 : focusManagerState.modal]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(PortalContext.Provider, {\n value: react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n preserveTabOrder,\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [preserveTabOrder, portalNode])\n }, shouldRenderGuards && portalNode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _beforeInsideRef$curr;\n (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n } else {\n const prevTabbable = getPreviousTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n prevTabbable == null || prevTabbable.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n \"aria-owns\": portalNode.id,\n style: HIDDEN_STYLES\n }), portalNode && /*#__PURE__*/react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _afterInsideRef$curre;\n (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n } else {\n const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n nextTabbable == null || nextTabbable.focus();\n (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent));\n }\n }\n }));\n}\nconst usePortalContext = () => react__WEBPACK_IMPORTED_MODULE_0__.useContext(PortalContext);\n\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction addPreviouslyFocusedElement(element) {\n previouslyFocusedElements = previouslyFocusedElements.filter(el => el.isConnected);\n let tabbableEl = element;\n if (!tabbableEl || (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getNodeName)(tabbableEl) === 'body') return;\n if (!(0,tabbable__WEBPACK_IMPORTED_MODULE_7__.isTabbable)(tabbableEl, getTabbableOptions())) {\n const tabbableChild = (0,tabbable__WEBPACK_IMPORTED_MODULE_7__.tabbable)(tabbableEl, getTabbableOptions())[0];\n if (tabbableChild) {\n tabbableEl = tabbableChild;\n }\n }\n previouslyFocusedElements.push(tabbableEl);\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n }\n}\nfunction getPreviouslyFocusedElement() {\n return previouslyFocusedElements.slice().reverse().find(el => el.isConnected);\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"button\", _extends({}, props, {\n type: \"button\",\n ref: ref,\n tabIndex: -1,\n style: HIDDEN_STYLES\n }));\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n order = ['content'],\n guards: _guards = true,\n initialFocus = 0,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n visuallyHiddenDismiss = false,\n closeOnFocusOut = true\n } = props;\n const {\n open,\n refs,\n nodeId,\n onOpenChange,\n events,\n dataRef,\n floatingId,\n elements: {\n domReference,\n floating\n }\n } = context;\n const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isTypeableCombobox)(domReference) && ignoreInitialFocus;\n\n // Force the guards to be rendered if the `inert` attribute is not supported.\n const guards = supportsInert() ? _guards : true;\n const orderRef = useLatestRef(order);\n const initialFocusRef = useLatestRef(initialFocus);\n const returnFocusRef = useLatestRef(returnFocus);\n const tree = useFloatingTree();\n const portalContext = usePortalContext();\n const startDismissButtonRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const endDismissButtonRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const preventReturnFocusRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const isPointerDownRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const tabbableIndexRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(-1);\n const isInsidePortal = portalContext != null;\n const firstElementChild = floating == null ? void 0 : floating.firstElementChild;\n // If the floating element is acting as a positioning wrapper rather than the\n // element that receives aria props, use it as the focus root instead.\n const floatingFocusNode = (firstElementChild == null ? void 0 : firstElementChild.id) === floatingId ? firstElementChild : floating;\n const getTabbableContent = useEffectEvent(function (container) {\n if (container === void 0) {\n container = floatingFocusNode;\n }\n return container ? (0,tabbable__WEBPACK_IMPORTED_MODULE_7__.tabbable)(container, getTabbableOptions()) : [];\n });\n const getTabbableElements = useEffectEvent(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(type => {\n if (domReference && type === 'reference') {\n return domReference;\n }\n if (floatingFocusNode && type === 'floating') {\n return floatingFocusNode;\n }\n return content;\n }).filter(Boolean).flat();\n });\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (disabled) return;\n if (!modal) return;\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floatingFocusNode, (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusNode))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n }\n const els = getTabbableElements();\n const target = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event);\n if (orderRef.current[0] === 'reference' && target === domReference) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (event.shiftKey) {\n enqueueFocus(els[els.length - 1]);\n } else {\n enqueueFocus(els[1]);\n }\n }\n if (orderRef.current[1] === 'floating' && target === floatingFocusNode && event.shiftKey) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n enqueueFocus(els[0]);\n }\n }\n }\n const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusNode);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [disabled, domReference, floatingFocusNode, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (disabled) return;\n if (!floating) return;\n function handleFocusIn(event) {\n const target = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event);\n const tabbableContent = getTabbableContent();\n const tabbableIndex = tabbableContent.indexOf(target);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n }\n floating.addEventListener('focusin', handleFocusIn);\n return () => {\n floating.removeEventListener('focusin', handleFocusIn);\n };\n }, [disabled, floating, getTabbableContent]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (disabled) return;\n if (!closeOnFocusOut) return;\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n setTimeout(() => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n queueMicrotask(() => {\n const movedToUnrelatedNode = !((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(domReference, relatedTarget) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floating, relatedTarget) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(relatedTarget, floating) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute('focus-guard')) || tree && (getChildren(tree.nodesRef.current, nodeId).find(node => {\n var _node$context, _node$context2;\n return (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n }) || getAncestors(tree.nodesRef.current, nodeId).find(node => {\n var _node$context3, _node$context4;\n return ((_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating) === relatedTarget || ((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.domReference) === relatedTarget;\n })));\n\n // Restore focus to the previous tabbable element index to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && movedToUnrelatedNode && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusNode)) === (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusNode).body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(floatingFocusNode)) {\n floatingFocusNode == null || floatingFocusNode.focus();\n }\n const prevTabbableIndex = tabbableIndexRef.current;\n const tabbableContent = getTabbableContent();\n const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusNode;\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n relatedTarget !== getPreviouslyFocusedElement()) {\n preventReturnFocusRef.current = true;\n onOpenChange(false, event);\n }\n });\n }\n if (floating && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(domReference)) {\n domReference.addEventListener('focusout', handleFocusOutside);\n domReference.addEventListener('pointerdown', handlePointerDown);\n floating.addEventListener('focusout', handleFocusOutside);\n return () => {\n domReference.removeEventListener('focusout', handleFocusOutside);\n domReference.removeEventListener('pointerdown', handlePointerDown);\n floating.removeEventListener('focusout', handleFocusOutside);\n };\n }\n }, [disabled, domReference, floating, floatingFocusNode, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n var _portalContext$portal;\n if (disabled) return;\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute('portal') + \"]\")) || []);\n if (floating) {\n const insideElements = [floating, ...portalNodes, startDismissButtonRef.current, endDismissButtonRef.current, orderRef.current.includes('reference') || isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, guards, !guards) : markOthers(insideElements);\n return () => {\n cleanup();\n };\n }\n }, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards]);\n index(() => {\n if (disabled || !(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(floatingFocusNode)) return;\n const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusNode);\n const previouslyFocusedElement = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const focusableElements = getTabbableElements(floatingFocusNode);\n const initialFocusValue = initialFocusRef.current;\n const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusNode;\n const focusAlreadyInsideFloatingEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floatingFocusNode, previouslyFocusedElement);\n if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusNode\n });\n }\n });\n }, [disabled, open, floatingFocusNode, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n index(() => {\n if (disabled || !floatingFocusNode) return;\n let preventReturnFocusScroll = false;\n const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusNode);\n const previouslyFocusedElement = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)(doc);\n const contextData = dataRef.current;\n let openEvent = contextData.openEvent;\n const domReference = refs.domReference.current;\n addPreviouslyFocusedElement(previouslyFocusedElement);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChange(_ref) {\n let {\n open,\n reason,\n event,\n nested\n } = _ref;\n if (open) {\n openEvent = event;\n }\n if (reason === 'escape-key' && refs.domReference.current) {\n addPreviouslyFocusedElement(refs.domReference.current);\n }\n if (reason === 'hover' && event.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (reason !== 'outside-press') return;\n if (nested) {\n preventReturnFocusRef.current = false;\n preventReturnFocusScroll = true;\n } else {\n preventReturnFocusRef.current = !((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isVirtualClick)(event) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isVirtualPointerEvent)(event));\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n const activeEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)(doc);\n const isFocusInsideFloatingTree = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floating, activeEl) || tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context5;\n return (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.floating, activeEl);\n });\n const shouldFocusReference = isFocusInsideFloatingTree || openEvent && ['click', 'mousedown'].includes(openEvent.type);\n if (shouldFocusReference && refs.domReference.current) {\n addPreviouslyFocusedElement(refs.domReference.current);\n }\n const returnContextElement = domReference || previouslyFocusedElement;\n const tabbableElements = (0,tabbable__WEBPACK_IMPORTED_MODULE_7__.tabbable)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(returnContextElement).body, getTabbableOptions());\n\n // Wait for the return element to get potentially disconnected before\n // checking.\n queueMicrotask(() => {\n let returnElement = getPreviouslyFocusedElement();\n if (!returnElement && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(returnContextElement) && floating) {\n returnElement = getClosestTabbableElement(tabbableElements, returnContextElement, floating);\n }\n if (\n // eslint-disable-next-line react-hooks/exhaustive-deps\n returnFocusRef.current && !preventReturnFocusRef.current && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(returnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n returnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n returnElement.focus({\n preventScroll: preventReturnFocusScroll\n });\n }\n });\n };\n }, [disabled, floating, floatingFocusNode, returnFocusRef, dataRef, refs, events, tree, nodeId]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n index(() => {\n if (disabled) return;\n if (!portalContext) return;\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange,\n refs\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, onOpenChange, refs, closeOnFocusOut]);\n index(() => {\n if (disabled) return;\n if (!floatingFocusNode) return;\n if (typeof MutationObserver !== 'function') return;\n if (ignoreInitialFocus) return;\n const handleMutation = () => {\n const tabIndex = floatingFocusNode.getAttribute('tabindex');\n const tabbableContent = getTabbableContent();\n const activeEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floating));\n const tabbableIndex = tabbableContent.indexOf(activeEl);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n if (orderRef.current.includes('floating') || activeEl !== refs.domReference.current && tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusNode.setAttribute('tabindex', '0');\n }\n } else if (tabIndex !== '-1') {\n floatingFocusNode.setAttribute('tabindex', '-1');\n }\n };\n handleMutation();\n const observer = new MutationObserver(handleMutation);\n observer.observe(floatingFocusNode, {\n childList: true,\n subtree: true,\n attributes: true\n });\n return () => {\n observer.disconnect();\n };\n }, [disabled, floating, floatingFocusNode, refs, orderRef, getTabbableContent, ignoreInitialFocus]);\n function renderDismissButton(location) {\n if (disabled || !visuallyHiddenDismiss || !modal) {\n return null;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(VisuallyHiddenDismiss, {\n ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n onClick: event => onOpenChange(false, event.nativeEvent)\n }, typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss');\n }\n const shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, shouldRenderGuards && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.beforeInsideRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable() || domReference;\n nextTabbable == null || nextTabbable.focus();\n } else {\n var _portalContext$before;\n (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n }\n }\n }\n }), !isUntrappedTypeableCombobox && renderDismissButton('start'), children, renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.afterInsideRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable() || domReference;\n prevTabbable == null || prevTabbable.focus();\n } else {\n var _portalContext$afterO;\n (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n }\n }\n }\n }));\n}\n\nconst activeLocks = /*#__PURE__*/new Set();\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `<div>`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function FloatingOverlay(props, ref) {\n const {\n lockScroll = false,\n ...rest\n } = props;\n const lockId = useId();\n index(() => {\n if (!lockScroll) return;\n activeLocks.add(lockId);\n const isIOS = /iP(hone|ad|od)|iOS/.test((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getPlatform)());\n const bodyStyle = document.body.style;\n // RTL <body> scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;\n const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;\n bodyStyle.overflow = 'hidden';\n if (scrollbarWidth) {\n bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n }\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (isIOS) {\n var _window$visualViewpor, _window$visualViewpor2;\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n Object.assign(bodyStyle, {\n position: 'fixed',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0'\n });\n }\n return () => {\n activeLocks.delete(lockId);\n if (activeLocks.size === 0) {\n Object.assign(bodyStyle, {\n overflow: '',\n [paddingProp]: ''\n });\n if (isIOS) {\n Object.assign(bodyStyle, {\n position: '',\n top: '',\n left: '',\n right: ''\n });\n window.scrollTo(scrollX, scrollY);\n }\n }\n };\n }, [lockId, lockScroll]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", _extends({\n ref: ref\n }, rest, {\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n }));\n});\n\nfunction isButtonTarget(event) {\n return (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n return (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isTypeableElement)(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true\n } = props;\n const pointerTypeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n const didKeyDownRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) return;\n if (eventOption === 'click') return;\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseLikePointerType)(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseLikePointerType)(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, toggle]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction createVirtualElement(domElement, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domElement || undefined,\n getBoundingClientRect() {\n var _data$dataRef$current;\n const domRect = (domElement == null ? void 0 : domElement.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n dataRef,\n elements: {\n floating,\n domReference\n },\n refs\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const cleanupListenerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const [pointerType, setPointerType] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n const [reactive, setReactive] = react__WEBPACK_IMPORTED_MODULE_0__.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMouseLikePointerType)(pointerType) ? floating : open;\n const addListener = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getWindow)(floating);\n function handleMouseMove(event) {\n const target = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event);\n if (!(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floating, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(domReference);\n }, [openCheck, enabled, x, y, floating, dataRef, refs, domReference, setReference]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n index(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n };\n }, [handleReferenceEnterOrMove]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n elements,\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const endedOrStartedInsideRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n var _dataRef$current$floa;\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isReactEvent)(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n var _dataRef$current$floa2;\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating).querySelectorAll(inertSelector);\n let targetRootAncestor = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(target) ? target : null;\n while (targetRootAncestor && !(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isLastTraversableNode)(targetRootAncestor)) {\n const nextParent = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getParentNode)(targetRootAncestor);\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isLastTraversableNode)(nextParent) || !(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(target) && !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isRootElement)(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(target, elements.floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(target) && floating) {\n // In Firefox, `target.scrollWidth > target.clientWidth` for inline\n // elements.\n const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n // In some browsers it is possible to change the <body> (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n if (canScrollY) {\n const isRTL = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getComputedStyle)(target).direction === 'rtl';\n if (isRTL) {\n xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n }\n }\n if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n return;\n }\n }\n const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isEventTargetWithin)(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isEventTargetWithin)(event, elements.floating) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isEventTargetWithin)(event, elements.domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating);\n escapeKey && doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(elements.domReference)) {\n ancestors = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getOverflowAncestors)(elements.domReference);\n }\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(elements.floating)) {\n ancestors = ancestors.concat((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getOverflowAncestors)(elements.floating));\n }\n if (!(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(elements.reference) && elements.reference && elements.reference.contextElement) {\n ancestors = ancestors.concat((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getOverflowAncestors)(elements.reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n escapeKey && doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n };\n }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n if (referencePress) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n }\n }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);\n const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }), [closeOnEscapeKeyDown, outsidePressEvent]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange: onOpenChangeProp,\n elements: elementsProp\n } = options;\n const floatingId = useId();\n const dataRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef({});\n const [events] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => createPubSub());\n const nested = useFloatingParentNodeId() != null;\n if (true) {\n const optionDomReference = elementsProp.reference;\n if (optionDomReference && !(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(optionDomReference)) {\n error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');\n }\n }\n const [positionReference, setPositionReference] = react__WEBPACK_IMPORTED_MODULE_0__.useState(elementsProp.reference);\n const onOpenChange = useEffectEvent((open, event, reason) => {\n dataRef.current.openEvent = open ? event : undefined;\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n onOpenChangeProp == null || onOpenChangeProp(open, event, reason);\n });\n const refs = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n setPositionReference\n }), []);\n const elements = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n reference: positionReference || elementsProp.reference || null,\n floating: elementsProp.floating || null,\n domReference: elementsProp.reference\n }), [positionReference, elementsProp.reference, elementsProp.floating]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n dataRef,\n open,\n onOpenChange,\n elements,\n events,\n floatingId,\n refs\n }), [open, onOpenChange, elements, events, floatingId, refs]);\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n nodeId\n } = options;\n const internalRootContext = useFloatingRootContext({\n ...options,\n elements: {\n reference: null,\n floating: null,\n ...options.elements\n }\n });\n const rootContext = options.rootContext || internalRootContext;\n const computedElements = rootContext.elements;\n const [_domReference, setDomReference] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [positionReference, _setPositionReference] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const optionDomReference = computedElements == null ? void 0 : computedElements.reference;\n const domReference = optionDomReference || _domReference;\n const domReferenceRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const tree = useFloatingTree();\n index(() => {\n if (domReference) {\n domReferenceRef.current = domReference;\n }\n }, [domReference]);\n const position = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.useFloating)({\n ...options,\n elements: {\n ...computedElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const setPositionReference = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n const computedPositionReference = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n _setPositionReference(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => {\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !(0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n ...position,\n ...rootContext,\n refs,\n elements,\n nodeId\n }), [position, refs, elements, nodeId, rootContext]);\n index(() => {\n rootContext.dataRef.current.floatingContext = context;\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const timeoutRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n const keyboardModalityRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(true);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled) return;\n const win = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.getWindow)(elements.domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(elements.domReference) && elements.domReference === (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n win.addEventListener('blur', onBlur);\n win.addEventListener('keydown', onKeyDown, true);\n return () => {\n win.removeEventListener('blur', onBlur);\n win.removeEventListener('keydown', onKeyDown, true);\n };\n }, [elements.domReference, open, enabled]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onPointerDown(event) {\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isVirtualPointerEvent)(event.nativeEvent)) return;\n keyboardModalityRef.current = false;\n },\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event.nativeEvent);\n if (visibleOnly && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(target)) {\n try {\n // Mac Safari unreliably matches `:focus-visible` on the reference\n // if focus was outside the page initially - use the fallback\n // instead.\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isSafari)() && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMac)()) throw Error();\n if (!target.matches(':focus-visible')) return;\n } catch (e) {\n // Old browsers will throw an error when using `:focus-visible`.\n if (!keyboardModalityRef.current && !(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isTypeableElement)(target)) {\n return;\n }\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n const nativeEvent = event.nativeEvent;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n var _dataRef$current$floa;\n const activeEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)(elements.domReference ? elements.domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === elements.domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if ((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(elements.domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, nativeEvent, 'focus');\n });\n }\n }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);\n const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);\n const itemDeps = propsList.map(key => key == null ? void 0 : key.item);\n const getReferenceProps = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n referenceDeps);\n const getFloatingProps = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n floatingDeps);\n const getItemProps = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n itemDeps);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nlet isPreventScrollSupported = false;\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n elements\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (true) {\n if (allowEscape) {\n if (!loop) {\n warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const onNavigate = useEffectEvent(unstable_onNavigate);\n const focusItemOnOpenRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(focusItemOnOpen);\n const indexRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const isPointerModalityRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(true);\n const previousOnNavigateRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(onNavigate);\n const previousMountedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(!!elements.floating);\n const previousOpenRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(open);\n const forceSyncFocus = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const forceScrollIntoViewRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const floatingRef = useLatestRef(elements.floating);\n const selectedIndexRef = useLatestRef(selectedIndex);\n const [activeId, setActiveId] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n const [virtualId, setVirtualId] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n const focusItem = useEffectEvent(function (listRef, indexRef, forceScrollIntoView) {\n if (forceScrollIntoView === void 0) {\n forceScrollIntoView = false;\n }\n function runFocus(item) {\n if (virtual) {\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n preventScroll: true,\n // Mac Safari does not move the virtual cursor unless the focus call\n // is sync. However, for the very first focus call, we need to wait\n // for the position to be ready in order to prevent unwanted\n // scrolling. This means the virtual cursor will not move to the first\n // item when first opening the floating element, but will on\n // subsequent calls. `preventScroll` is supported in modern Safari,\n // so we can use that instead.\n // iOS Safari must be async or the first item will not be focused.\n sync: (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isMac)() && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isSafari)() ? isPreventScrollSupported || forceSyncFocus.current : false\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n if (initialItem) {\n runFocus(initialItem);\n }\n requestAnimationFrame(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) return;\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n index(() => {\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n }, []);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n index(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate(selectedIndex);\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current(null);\n }\n }, [enabled, open, elements.floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n index(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (activeIndex == null) {\n forceSyncFocus.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate(indexRef.current);\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n forceScrollIntoViewRef.current = false;\n }\n }\n }, [enabled, open, elements.floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n index(() => {\n var _nodes$find;\n if (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating));\n const treeContainsActiveEl = nodes.some(node => node.context && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, elements.floating, tree, parentId, virtual]);\n index(() => {\n if (!enabled) return;\n if (!tree) return;\n if (!virtual) return;\n if (parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n index(() => {\n previousOnNavigateRef.current = onNavigate;\n previousMountedRef.current = !!elements.floating;\n });\n index(() => {\n if (!open) {\n keyRef.current = null;\n }\n }, [open]);\n index(() => {\n previousOpenRef.current = open;\n }, [open]);\n const hasActiveIndex = activeIndex != null;\n const item = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1) {\n onNavigate(index);\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n onNavigate(null);\n if (!virtual) {\n enqueueFocus(floatingRef.current, {\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, floatingRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n const commonOnKeyDown = useEffectEvent(event => {\n isPointerModalityRef.current = false;\n forceSyncFocus.current = true;\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if ((0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(elements.domReference) && !virtual) {\n elements.domReference.focus();\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinIndex(listRef, disabledIndices);\n const maxIndex = getMaxIndex(listRef, disabledIndices);\n if (event.key === 'Home') {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n indexRef.current = minIndex;\n onNavigate(indexRef.current);\n }\n if (event.key === 'End') {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n indexRef.current = maxIndex;\n onNavigate(indexRef.current);\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(listRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n indexRef.current = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || listRef.current.map((_, index) => isDisabled(listRef.current, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl'),\n stopEvent: true\n })]; // navigated cell will never be nullish\n\n onNavigate(indexRef.current);\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(indexRef.current);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n onNavigate(null);\n } else {\n onNavigate(indexRef.current);\n }\n }\n });\n const ariaActiveDescendantProp = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n }, [virtual, open, hasActiveIndex, virtualId, activeId]);\n const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!(0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isTypeableCombobox)(elements.domReference) && ariaActiveDescendantProp),\n onKeyDown: commonOnKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, elements.domReference, orientation]);\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isVirtualClick)(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isVirtualPointerEvent)(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.indexOf('Arrow') === 0;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isArrowKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find(item => (item == null ? void 0 : item.id) === activeId) : null;\n if (dispatchItem) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if (isMainKey && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return commonOnKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n keyRef.current = nested && isMainKey ? null : event.key;\n }\n if (nested) {\n if (isCrossOpenKey) {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (open) {\n indexRef.current = getMinIndex(listRef, disabledIndicesRef.current);\n onNavigate(indexRef.current);\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n commonOnKeyDown(event);\n }\n if (open) {\n onNavigate(indexRef.current);\n }\n }\n },\n onFocus() {\n if (open && !virtual) {\n onNavigate(null);\n }\n },\n onPointerDown: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [activeId, ariaActiveDescendantProp, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, rtl, selectedIndex, tree, virtual, virtualItemRef]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n floatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const referenceId = useId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n };\n }\n return {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n };\n }, [ariaRole, floatingId, isNested, open, referenceId, role]);\n const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return floatingProps;\n }\n return {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n };\n }, [ariaRole, floatingId, referenceId, role]);\n const item = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(_ref => {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n return {\n ...commonProps,\n 'aria-selected': active && selected\n };\n case 'combobox':\n {\n return {\n ...commonProps,\n ...(active && {\n 'aria-selected': true\n })\n };\n }\n }\n return {};\n }, [floatingId, role]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = react__WEBPACK_IMPORTED_MODULE_0__.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!open && isMounted) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, isMounted, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [status, setStatus] = react__WEBPACK_IMPORTED_MODULE_0__.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n if (!isMounted && status === 'close') {\n setStatus('unmounted');\n }\n index(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n setStatus('open');\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n index(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n const stringRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef('');\n const prevIndexRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n index(() => {\n if (open) {\n clearTimeout(timeoutIdRef.current);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n index(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useEffectEvent(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n });\n const onKeyDown = useEffectEvent(event => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.stopEvent)(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const reference = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onKeyDown\n }), [onKeyDown]);\n const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n };\n }, [onKeyDown, setTypingChange]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside of it is\n * anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.evaluate)(props, state);\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n if (true) {\n if (!state.placement.startsWith('bottom')) {\n warn('`placement` side must be \"bottom\" when using the `inner`', 'middleware.');\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_2__.offset)(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const el = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n const overflow = await (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.detectOverflow)(getArgsWithCustomFloatingHeight(nextArgs, el.scrollHeight), detectOverflowOptions);\n const refOverflow = await (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.detectOverflow)(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = Math.max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const maxHeight = Math.max(0, el.scrollHeight - diffY - Math.max(0, overflow.bottom));\n el.style.maxHeight = maxHeight + \"px\";\n el.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n if (el.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current.length - 1) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold) {\n react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => onFallbackChange(true));\n } else {\n react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => onFallbackChange(false));\n }\n }\n if (overflowRef) {\n overflowRef.current = await (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.detectOverflow)(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, el.offsetHeight), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const prevScrollTopRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const initialOverflowRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getUserAgent)())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }), [elements.floating, onChange, overflowRef, scrollRef]);\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {\n floating\n } : {}, [enabled, floating]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n let timeoutId;\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = performance.now();\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getTarget)(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(elements.floating, target);\n const isOverReferenceEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isElement)(event.relatedTarget) && (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutId = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QvZGlzdC9mbG9hdGluZy11aS5yZWFjdC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUErQjtBQUM0QjtBQUMrTztBQUNyUDtBQUM2RjtBQUNsRztBQUNWO0FBQzhFO0FBQzRFOztBQUVoTTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywwQ0FBYTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUsseUxBQUs7QUFDVjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHlDQUFZO0FBQzFCLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNILFNBQVMsOENBQWlCO0FBQzFCLHdFQUF3RSxhQUFhO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLHdCQUF3QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsWUFBWSxtRUFBUztBQUNyQjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsbUVBQVc7QUFDckI7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHFFQUFXO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxzQkFBc0Isa0RBQVE7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLHVFQUFhLENBQUMscUVBQVc7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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Q0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxxQkFBcUIsbUVBQVM7QUFDOUI7QUFDQSwrQkFBK0Isa0VBQVE7QUFDdkMsZ0NBQWdDLGtFQUFRO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxQkFBcUIsaUVBQVMseUJBQXlCLGtFQUFRO0FBQy9EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMmlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QvZGlzdC9mbG9hdGluZy11aS5yZWFjdC5tanM/ZjI5ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3RvcEV2ZW50LCBnZXREb2N1bWVudCwgaXNNb3VzZUxpa2VQb2ludGVyVHlwZSwgY29udGFpbnMsIGFjdGl2ZUVsZW1lbnQsIGlzU2FmYXJpLCBpc1R5cGVhYmxlQ29tYm9ib3gsIGlzVmlydHVhbENsaWNrLCBpc1ZpcnR1YWxQb2ludGVyRXZlbnQsIGdldFRhcmdldCwgZ2V0UGxhdGZvcm0sIGlzVHlwZWFibGVFbGVtZW50LCBpc1JlYWN0RXZlbnQsIGlzUm9vdEVsZW1lbnQsIGlzRXZlbnRUYXJnZXRXaXRoaW4sIGlzTWFjLCBnZXRVc2VyQWdlbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QvdXRpbHMnO1xuaW1wb3J0IHsgZmxvb3IsIGV2YWx1YXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcbmltcG9ydCB7IGdldENvbXB1dGVkU3R5bGUsIGlzRWxlbWVudCwgZ2V0Tm9kZU5hbWUsIGlzSFRNTEVsZW1lbnQsIGdldFdpbmRvdywgaXNMYXN0VHJhdmVyc2FibGVOb2RlLCBnZXRQYXJlbnROb2RlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyB0YWJiYWJsZSwgaXNUYWJiYWJsZSB9IGZyb20gJ3RhYmJhYmxlJztcbmltcG9ydCAqIGFzIFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBnZXRPdmVyZmxvd0FuY2VzdG9ycywgdXNlRmxvYXRpbmcgYXMgdXNlRmxvYXRpbmckMSwgb2Zmc2V0LCBkZXRlY3RPdmVyZmxvdyB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdC1kb20nO1xuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGF1dG9VcGRhdGUsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGdldE92ZXJmbG93QW5jZXN0b3JzLCBoaWRlLCBpbmxpbmUsIGxpbWl0U2hpZnQsIG9mZnNldCwgcGxhdGZvcm0sIHNoaWZ0LCBzaXplIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbSc7XG5cbi8qKlxuICogTWVyZ2VzIGFuIGFycmF5IG9mIHJlZnMgaW50byBhIHNpbmdsZSBtZW1vaXplZCBjYWxsYmFjayByZWYgb3IgYG51bGxgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3JlYWN0LXV0aWxzI3VzZW1lcmdlcmVmc1xuICovXG5mdW5jdGlvbiB1c2VNZXJnZVJlZnMocmVmcykge1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlZnMuZXZlcnkocmVmID0+IHJlZiA9PSBudWxsKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA9PiB7XG4gICAgICByZWZzLmZvckVhY2gocmVmID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZWYodmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIHJlZnMpO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbXVpL21hdGVyaWFsLXVpL2lzc3Vlcy80MTE5MCNpc3N1ZWNvbW1lbnQtMjA0MDg3MzM3OVxuY29uc3QgU2FmZVJlYWN0ID0ge1xuICAuLi5SZWFjdFxufTtcblxuY29uc3QgdXNlSW5zZXJ0aW9uRWZmZWN0ID0gU2FmZVJlYWN0LnVzZUluc2VydGlvbkVmZmVjdDtcbmNvbnN0IHVzZVNhZmVJbnNlcnRpb25FZmZlY3QgPSB1c2VJbnNlcnRpb25FZmZlY3QgfHwgKGZuID0+IGZuKCkpO1xuZnVuY3Rpb24gdXNlRWZmZWN0RXZlbnQoY2FsbGJhY2spIHtcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmKCgpID0+IHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjYWxsIGFuIGV2ZW50IGhhbmRsZXIgd2hpbGUgcmVuZGVyaW5nLicpO1xuICAgIH1cbiAgfSk7XG4gIHVzZVNhZmVJbnNlcnRpb25FZmZlY3QoKCkgPT4ge1xuICAgIHJlZi5jdXJyZW50ID0gY2FsbGJhY2s7XG4gIH0pO1xuICByZXR1cm4gUmVhY3QudXNlQ2FsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50ID09IG51bGwgPyB2b2lkIDAgOiByZWYuY3VycmVudCguLi5hcmdzKTtcbiAgfSwgW10pO1xufVxuXG5jb25zdCBBUlJPV19VUCA9ICdBcnJvd1VwJztcbmNvbnN0IEFSUk9XX0RPV04gPSAnQXJyb3dEb3duJztcbmNvbnN0IEFSUk9XX0xFRlQgPSAnQXJyb3dMZWZ0JztcbmNvbnN0IEFSUk9XX1JJR0hUID0gJ0Fycm93UmlnaHQnO1xuZnVuY3Rpb24gaXNEaWZmZXJlbnRSb3coaW5kZXgsIGNvbHMsIHByZXZSb3cpIHtcbiAgcmV0dXJuIE1hdGguZmxvb3IoaW5kZXggLyBjb2xzKSAhPT0gcHJldlJvdztcbn1cbmZ1bmN0aW9uIGlzSW5kZXhPdXRPZkJvdW5kcyhsaXN0UmVmLCBpbmRleCkge1xuICByZXR1cm4gaW5kZXggPCAwIHx8IGluZGV4ID49IGxpc3RSZWYuY3VycmVudC5sZW5ndGg7XG59XG5mdW5jdGlvbiBnZXRNaW5JbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXMpIHtcbiAgcmV0dXJuIGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICBkaXNhYmxlZEluZGljZXNcbiAgfSk7XG59XG5mdW5jdGlvbiBnZXRNYXhJbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXMpIHtcbiAgcmV0dXJuIGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgc3RhcnRpbmdJbmRleDogbGlzdFJlZi5jdXJyZW50Lmxlbmd0aCxcbiAgICBkaXNhYmxlZEluZGljZXNcbiAgfSk7XG59XG5mdW5jdGlvbiBmaW5kTm9uRGlzYWJsZWRJbmRleChsaXN0UmVmLCBfdGVtcCkge1xuICBsZXQge1xuICAgIHN0YXJ0aW5nSW5kZXggPSAtMSxcbiAgICBkZWNyZW1lbnQgPSBmYWxzZSxcbiAgICBkaXNhYmxlZEluZGljZXMsXG4gICAgYW1vdW50ID0gMVxuICB9ID0gX3RlbXAgPT09IHZvaWQgMCA/IHt9IDogX3RlbXA7XG4gIGNvbnN0IGxpc3QgPSBsaXN0UmVmLmN1cnJlbnQ7XG4gIGxldCBpbmRleCA9IHN0YXJ0aW5nSW5kZXg7XG4gIGRvIHtcbiAgICBpbmRleCArPSBkZWNyZW1lbnQgPyAtYW1vdW50IDogYW1vdW50O1xuICB9IHdoaWxlIChpbmRleCA+PSAwICYmIGluZGV4IDw9IGxpc3QubGVuZ3RoIC0gMSAmJiBpc0Rpc2FibGVkKGxpc3QsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpKTtcbiAgcmV0dXJuIGluZGV4O1xufVxuZnVuY3Rpb24gZ2V0R3JpZE5hdmlnYXRlZEluZGV4KGVsZW1lbnRzUmVmLCBfcmVmKSB7XG4gIGxldCB7XG4gICAgZXZlbnQsXG4gICAgb3JpZW50YXRpb24sXG4gICAgbG9vcCxcbiAgICBjb2xzLFxuICAgIGRpc2FibGVkSW5kaWNlcyxcbiAgICBtaW5JbmRleCxcbiAgICBtYXhJbmRleCxcbiAgICBwcmV2SW5kZXgsXG4gICAgc3RvcEV2ZW50OiBzdG9wID0gZmFsc2VcbiAgfSA9IF9yZWY7XG4gIGxldCBuZXh0SW5kZXggPSBwcmV2SW5kZXg7XG4gIGlmIChldmVudC5rZXkgPT09IEFSUk9XX1VQKSB7XG4gICAgc3RvcCAmJiBzdG9wRXZlbnQoZXZlbnQpO1xuICAgIGlmIChwcmV2SW5kZXggPT09IC0xKSB7XG4gICAgICBuZXh0SW5kZXggPSBtYXhJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV4dEluZGV4ID0gZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgc3RhcnRpbmdJbmRleDogbmV4dEluZGV4LFxuICAgICAgICBhbW91bnQ6IGNvbHMsXG4gICAgICAgIGRlY3JlbWVudDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICB9KTtcbiAgICAgIGlmIChsb29wICYmIChwcmV2SW5kZXggLSBjb2xzIDwgbWluSW5kZXggfHwgbmV4dEluZGV4IDwgMCkpIHtcbiAgICAgICAgY29uc3QgY29sID0gcHJldkluZGV4ICUgY29scztcbiAgICAgICAgY29uc3QgbWF4Q29sID0gbWF4SW5kZXggJSBjb2xzO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSBtYXhJbmRleCAtIChtYXhDb2wgLSBjb2wpO1xuICAgICAgICBpZiAobWF4Q29sID09PSBjb2wpIHtcbiAgICAgICAgICBuZXh0SW5kZXggPSBtYXhJbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXh0SW5kZXggPSBtYXhDb2wgPiBjb2wgPyBvZmZzZXQgOiBvZmZzZXQgLSBjb2xzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc0luZGV4T3V0T2ZCb3VuZHMoZWxlbWVudHNSZWYsIG5leHRJbmRleCkpIHtcbiAgICAgIG5leHRJbmRleCA9IHByZXZJbmRleDtcbiAgICB9XG4gIH1cbiAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfRE9XTikge1xuICAgIHN0b3AgJiYgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICBpZiAocHJldkluZGV4ID09PSAtMSkge1xuICAgICAgbmV4dEluZGV4ID0gbWluSW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCxcbiAgICAgICAgYW1vdW50OiBjb2xzLFxuICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgIH0pO1xuICAgICAgaWYgKGxvb3AgJiYgcHJldkluZGV4ICsgY29scyA+IG1heEluZGV4KSB7XG4gICAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgICAgc3RhcnRpbmdJbmRleDogcHJldkluZGV4ICUgY29scyAtIGNvbHMsXG4gICAgICAgICAgYW1vdW50OiBjb2xzLFxuICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzSW5kZXhPdXRPZkJvdW5kcyhlbGVtZW50c1JlZiwgbmV4dEluZGV4KSkge1xuICAgICAgbmV4dEluZGV4ID0gcHJldkluZGV4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbWFpbnMgb24gdGhlIHNhbWUgcm93L2NvbHVtbi5cbiAgaWYgKG9yaWVudGF0aW9uID09PSAnYm90aCcpIHtcbiAgICBjb25zdCBwcmV2Um93ID0gZmxvb3IocHJldkluZGV4IC8gY29scyk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfUklHSFQpIHtcbiAgICAgIHN0b3AgJiYgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgIGlmIChwcmV2SW5kZXggJSBjb2xzICE9PSBjb2xzIC0gMSkge1xuICAgICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChsb29wICYmIGlzRGlmZmVyZW50Um93KG5leHRJbmRleCwgY29scywgcHJldlJvdykpIHtcbiAgICAgICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICAgICAgc3RhcnRpbmdJbmRleDogcHJldkluZGV4IC0gcHJldkluZGV4ICUgY29scyAtIDEsXG4gICAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsb29wKSB7XG4gICAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgICAgc3RhcnRpbmdJbmRleDogcHJldkluZGV4IC0gcHJldkluZGV4ICUgY29scyAtIDEsXG4gICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGlzRGlmZmVyZW50Um93KG5leHRJbmRleCwgY29scywgcHJldlJvdykpIHtcbiAgICAgICAgbmV4dEluZGV4ID0gcHJldkluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXZlbnQua2V5ID09PSBBUlJPV19MRUZUKSB7XG4gICAgICBzdG9wICYmIHN0b3BFdmVudChldmVudCk7XG4gICAgICBpZiAocHJldkluZGV4ICUgY29scyAhPT0gMCkge1xuICAgICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCxcbiAgICAgICAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobG9vcCAmJiBpc0RpZmZlcmVudFJvdyhuZXh0SW5kZXgsIGNvbHMsIHByZXZSb3cpKSB7XG4gICAgICAgICAgbmV4dEluZGV4ID0gZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCArIChjb2xzIC0gcHJldkluZGV4ICUgY29scyksXG4gICAgICAgICAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsb29wKSB7XG4gICAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgICAgc3RhcnRpbmdJbmRleDogcHJldkluZGV4ICsgKGNvbHMgLSBwcmV2SW5kZXggJSBjb2xzKSxcbiAgICAgICAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGlzRGlmZmVyZW50Um93KG5leHRJbmRleCwgY29scywgcHJldlJvdykpIHtcbiAgICAgICAgbmV4dEluZGV4ID0gcHJldkluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsYXN0Um93ID0gZmxvb3IobWF4SW5kZXggLyBjb2xzKSA9PT0gcHJldlJvdztcbiAgICBpZiAoaXNJbmRleE91dE9mQm91bmRzKGVsZW1lbnRzUmVmLCBuZXh0SW5kZXgpKSB7XG4gICAgICBpZiAobG9vcCAmJiBsYXN0Um93KSB7XG4gICAgICAgIG5leHRJbmRleCA9IGV2ZW50LmtleSA9PT0gQVJST1dfTEVGVCA/IG1heEluZGV4IDogZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICBzdGFydGluZ0luZGV4OiBwcmV2SW5kZXggLSBwcmV2SW5kZXggJSBjb2xzIC0gMSxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0SW5kZXggPSBwcmV2SW5kZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXh0SW5kZXg7XG59XG5cbi8qKiBGb3IgZWFjaCBjZWxsIGluZGV4LCBnZXRzIHRoZSBpdGVtIGluZGV4IHRoYXQgb2NjdXBpZXMgdGhhdCBjZWxsICovXG5mdW5jdGlvbiBidWlsZENlbGxNYXAoc2l6ZXMsIGNvbHMsIGRlbnNlKSB7XG4gIGNvbnN0IGNlbGxNYXAgPSBbXTtcbiAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICBzaXplcy5mb3JFYWNoKChfcmVmMiwgaW5kZXgpID0+IHtcbiAgICBsZXQge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gX3JlZjI7XG4gICAgaWYgKHdpZHRoID4gY29scykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJbRmxvYXRpbmcgVUldOiBJbnZhbGlkIGdyaWQgLSBpdGVtIHdpZHRoIGF0IGluZGV4IFwiICsgaW5kZXggKyBcIiBpcyBncmVhdGVyIHRoYW4gZ3JpZCBjb2x1bW5zXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgaXRlbVBsYWNlZCA9IGZhbHNlO1xuICAgIGlmIChkZW5zZSkge1xuICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgfVxuICAgIHdoaWxlICghaXRlbVBsYWNlZCkge1xuICAgICAgY29uc3QgdGFyZ2V0Q2VsbHMgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2lkdGg7IGkrKykge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGhlaWdodDsgaisrKSB7XG4gICAgICAgICAgdGFyZ2V0Q2VsbHMucHVzaChzdGFydEluZGV4ICsgaSArIGogKiBjb2xzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0SW5kZXggJSBjb2xzICsgd2lkdGggPD0gY29scyAmJiB0YXJnZXRDZWxscy5ldmVyeShjZWxsID0+IGNlbGxNYXBbY2VsbF0gPT0gbnVsbCkpIHtcbiAgICAgICAgdGFyZ2V0Q2VsbHMuZm9yRWFjaChjZWxsID0+IHtcbiAgICAgICAgICBjZWxsTWFwW2NlbGxdID0gaW5kZXg7XG4gICAgICAgIH0pO1xuICAgICAgICBpdGVtUGxhY2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0SW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8vIGNvbnZlcnQgaW50byBhIG5vbi1zcGFyc2UgYXJyYXlcbiAgcmV0dXJuIFsuLi5jZWxsTWFwXTtcbn1cblxuLyoqIEdldHMgY2VsbCBpbmRleCBvZiBhbiBpdGVtJ3MgY29ybmVyIG9yIC0xIHdoZW4gaW5kZXggaXMgLTEuICovXG5mdW5jdGlvbiBnZXRDZWxsSW5kZXhPZkNvcm5lcihpbmRleCwgc2l6ZXMsIGNlbGxNYXAsIGNvbHMsIGNvcm5lcikge1xuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gLTE7XG4gIGNvbnN0IGZpcnN0Q2VsbEluZGV4ID0gY2VsbE1hcC5pbmRleE9mKGluZGV4KTtcbiAgY29uc3Qgc2l6ZUl0ZW0gPSBzaXplc1tpbmRleF07XG4gIHN3aXRjaCAoY29ybmVyKSB7XG4gICAgY2FzZSAndGwnOlxuICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4O1xuICAgIGNhc2UgJ3RyJzpcbiAgICAgIGlmICghc2l6ZUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4ICsgc2l6ZUl0ZW0ud2lkdGggLSAxO1xuICAgIGNhc2UgJ2JsJzpcbiAgICAgIGlmICghc2l6ZUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4ICsgKHNpemVJdGVtLmhlaWdodCAtIDEpICogY29scztcbiAgICBjYXNlICdicic6XG4gICAgICByZXR1cm4gY2VsbE1hcC5sYXN0SW5kZXhPZihpbmRleCk7XG4gIH1cbn1cblxuLyoqIEdldHMgYWxsIGNlbGwgaW5kaWNlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIHNwZWNpZmllZCBpbmRpY2VzICovXG5mdW5jdGlvbiBnZXRDZWxsSW5kaWNlcyhpbmRpY2VzLCBjZWxsTWFwKSB7XG4gIHJldHVybiBjZWxsTWFwLmZsYXRNYXAoKGluZGV4LCBjZWxsSW5kZXgpID0+IGluZGljZXMuaW5jbHVkZXMoaW5kZXgpID8gW2NlbGxJbmRleF0gOiBbXSk7XG59XG5mdW5jdGlvbiBpc0Rpc2FibGVkKGxpc3QsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpIHtcbiAgaWYgKGRpc2FibGVkSW5kaWNlcykge1xuICAgIHJldHVybiBkaXNhYmxlZEluZGljZXMuaW5jbHVkZXMoaW5kZXgpO1xuICB9XG4gIGNvbnN0IGVsZW1lbnQgPSBsaXN0W2luZGV4XTtcbiAgcmV0dXJuIGVsZW1lbnQgPT0gbnVsbCB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcpID09PSAndHJ1ZSc7XG59XG5cbmxldCByYWZJZCA9IDA7XG5mdW5jdGlvbiBlbnF1ZXVlRm9jdXMoZWwsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgcHJldmVudFNjcm9sbCA9IGZhbHNlLFxuICAgIGNhbmNlbFByZXZpb3VzID0gdHJ1ZSxcbiAgICBzeW5jID0gZmFsc2VcbiAgfSA9IG9wdGlvbnM7XG4gIGNhbmNlbFByZXZpb3VzICYmIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZklkKTtcbiAgY29uc3QgZXhlYyA9ICgpID0+IGVsID09IG51bGwgPyB2b2lkIDAgOiBlbC5mb2N1cyh7XG4gICAgcHJldmVudFNjcm9sbFxuICB9KTtcbiAgaWYgKHN5bmMpIHtcbiAgICBleGVjKCk7XG4gIH0gZWxzZSB7XG4gICAgcmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZXhlYyk7XG4gIH1cbn1cblxudmFyIGluZGV4ID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IHVzZUxheW91dEVmZmVjdCA6IHVzZUVmZmVjdDtcblxuZnVuY3Rpb24gc29ydEJ5RG9jdW1lbnRQb3NpdGlvbihhLCBiKSB7XG4gIGNvbnN0IHBvc2l0aW9uID0gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKTtcbiAgaWYgKHBvc2l0aW9uICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgfHwgcG9zaXRpb24gJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuICBpZiAocG9zaXRpb24gJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBwb3NpdGlvbiAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlMpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICByZXR1cm4gMDtcbn1cbmZ1bmN0aW9uIGFyZU1hcHNFcXVhbChtYXAxLCBtYXAyKSB7XG4gIGlmIChtYXAxLnNpemUgIT09IG1hcDIuc2l6ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBtYXAxLmVudHJpZXMoKSkge1xuICAgIGlmICh2YWx1ZSAhPT0gbWFwMi5nZXQoa2V5KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbmNvbnN0IEZsb2F0aW5nTGlzdENvbnRleHQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlQ29udGV4dCh7XG4gIHJlZ2lzdGVyOiAoKSA9PiB7fSxcbiAgdW5yZWdpc3RlcjogKCkgPT4ge30sXG4gIG1hcDogLyojX19QVVJFX18qL25ldyBNYXAoKSxcbiAgZWxlbWVudHNSZWY6IHtcbiAgICBjdXJyZW50OiBbXVxuICB9XG59KTtcbi8qKlxuICogUHJvdmlkZXMgY29udGV4dCBmb3IgYSBsaXN0IG9mIGl0ZW1zIHdpdGhpbiB0aGUgZmxvYXRpbmcgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ0xpc3RcbiAqL1xuZnVuY3Rpb24gRmxvYXRpbmdMaXN0KHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBlbGVtZW50c1JlZixcbiAgICBsYWJlbHNSZWZcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbbWFwLCBzZXRNYXBdID0gUmVhY3QudXNlU3RhdGUoKCkgPT4gbmV3IE1hcCgpKTtcbiAgY29uc3QgcmVnaXN0ZXIgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBzZXRNYXAocHJldk1hcCA9PiBuZXcgTWFwKHByZXZNYXApLnNldChub2RlLCBudWxsKSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgdW5yZWdpc3RlciA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIHNldE1hcChwcmV2TWFwID0+IHtcbiAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAocHJldk1hcCk7XG4gICAgICBtYXAuZGVsZXRlKG5vZGUpO1xuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9KTtcbiAgfSwgW10pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgY29uc3QgbmV3TWFwID0gbmV3IE1hcChtYXApO1xuICAgIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShuZXdNYXAua2V5cygpKS5zb3J0KHNvcnRCeURvY3VtZW50UG9zaXRpb24pO1xuICAgIG5vZGVzLmZvckVhY2goKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBuZXdNYXAuc2V0KG5vZGUsIGluZGV4KTtcbiAgICB9KTtcbiAgICBpZiAoIWFyZU1hcHNFcXVhbChtYXAsIG5ld01hcCkpIHtcbiAgICAgIHNldE1hcChuZXdNYXApO1xuICAgIH1cbiAgfSwgW21hcF0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoRmxvYXRpbmdMaXN0Q29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgICByZWdpc3RlcixcbiAgICAgIHVucmVnaXN0ZXIsXG4gICAgICBtYXAsXG4gICAgICBlbGVtZW50c1JlZixcbiAgICAgIGxhYmVsc1JlZlxuICAgIH0pLCBbcmVnaXN0ZXIsIHVucmVnaXN0ZXIsIG1hcCwgZWxlbWVudHNSZWYsIGxhYmVsc1JlZl0pXG4gIH0sIGNoaWxkcmVuKTtcbn1cbi8qKlxuICogVXNlZCB0byByZWdpc3RlciBhIGxpc3QgaXRlbSBhbmQgaXRzIGluZGV4IChET00gcG9zaXRpb24pIGluIHRoZVxuICogYEZsb2F0aW5nTGlzdGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdMaXN0I3VzZWxpc3RpdGVtXG4gKi9cbmZ1bmN0aW9uIHVzZUxpc3RJdGVtKHByb3BzKSB7XG4gIGlmIChwcm9wcyA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgbGFiZWxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7XG4gICAgcmVnaXN0ZXIsXG4gICAgdW5yZWdpc3RlcixcbiAgICBtYXAsXG4gICAgZWxlbWVudHNSZWYsXG4gICAgbGFiZWxzUmVmXG4gIH0gPSBSZWFjdC51c2VDb250ZXh0KEZsb2F0aW5nTGlzdENvbnRleHQpO1xuICBjb25zdCBbaW5kZXgkMSwgc2V0SW5kZXhdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IGNvbXBvbmVudFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlQ2FsbGJhY2sobm9kZSA9PiB7XG4gICAgY29tcG9uZW50UmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIGlmIChpbmRleCQxICE9PSBudWxsKSB7XG4gICAgICBlbGVtZW50c1JlZi5jdXJyZW50W2luZGV4JDFdID0gbm9kZTtcbiAgICAgIGlmIChsYWJlbHNSZWYpIHtcbiAgICAgICAgdmFyIF9ub2RlJHRleHRDb250ZW50O1xuICAgICAgICBjb25zdCBpc0xhYmVsRGVmaW5lZCA9IGxhYmVsICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGxhYmVsc1JlZi5jdXJyZW50W2luZGV4JDFdID0gaXNMYWJlbERlZmluZWQgPyBsYWJlbCA6IChfbm9kZSR0ZXh0Q29udGVudCA9IG5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IG5vZGUudGV4dENvbnRlbnQpICE9IG51bGwgPyBfbm9kZSR0ZXh0Q29udGVudCA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9LCBbaW5kZXgkMSwgZWxlbWVudHNSZWYsIGxhYmVsc1JlZiwgbGFiZWxdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjb21wb25lbnRSZWYuY3VycmVudDtcbiAgICBpZiAobm9kZSkge1xuICAgICAgcmVnaXN0ZXIobm9kZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB1bnJlZ2lzdGVyKG5vZGUpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtyZWdpc3RlciwgdW5yZWdpc3Rlcl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBjb21wb25lbnRSZWYuY3VycmVudCA/IG1hcC5nZXQoY29tcG9uZW50UmVmLmN1cnJlbnQpIDogbnVsbDtcbiAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgc2V0SW5kZXgoaW5kZXgpO1xuICAgIH1cbiAgfSwgW21hcF0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZixcbiAgICBpbmRleDogaW5kZXgkMSA9PSBudWxsID8gLTEgOiBpbmRleCQxXG4gIH0pLCBbaW5kZXgkMSwgcmVmXSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckpzeChyZW5kZXIsIGNvbXB1dGVkUHJvcHMpIHtcbiAgaWYgKHR5cGVvZiByZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gcmVuZGVyKGNvbXB1dGVkUHJvcHMpO1xuICB9XG4gIGlmIChyZW5kZXIpIHtcbiAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNsb25lRWxlbWVudChyZW5kZXIsIGNvbXB1dGVkUHJvcHMpO1xuICB9XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBjb21wdXRlZFByb3BzKTtcbn1cbmNvbnN0IENvbXBvc2l0ZUNvbnRleHQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlQ29udGV4dCh7XG4gIGFjdGl2ZUluZGV4OiAwLFxuICBvbk5hdmlnYXRlOiAoKSA9PiB7fVxufSk7XG5jb25zdCBob3Jpem9udGFsS2V5cyA9IFtBUlJPV19MRUZULCBBUlJPV19SSUdIVF07XG5jb25zdCB2ZXJ0aWNhbEtleXMgPSBbQVJST1dfVVAsIEFSUk9XX0RPV05dO1xuY29uc3QgYWxsS2V5cyA9IFsuLi5ob3Jpem9udGFsS2V5cywgLi4udmVydGljYWxLZXlzXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgc2luZ2xlIHRhYiBzdG9wIHdob3NlIGl0ZW1zIGFyZSBuYXZpZ2F0ZWQgYnkgYXJyb3cga2V5cywgd2hpY2hcbiAqIHByb3ZpZGVzIGxpc3QgbmF2aWdhdGlvbiBvdXRzaWRlIG9mIGZsb2F0aW5nIGVsZW1lbnQgY29udGV4dHMuXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgdG8gZW5hYmxlIG5hdmlnYXRpb24gb2YgYSBsaXN0IG9mIGl0ZW1zIHRoYXQgYXJlbuKAmXQgcGFydCBvZiBhXG4gKiBmbG9hdGluZyBlbGVtZW50LiBBIG1lbnViYXIgaXMgYW4gZXhhbXBsZSBvZiBhIGNvbXBvc2l0ZSwgd2l0aCBlYWNoIHJlZmVyZW5jZVxuICogZWxlbWVudCBiZWluZyBhbiBpdGVtLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0NvbXBvc2l0ZVxuICovXG5jb25zdCBDb21wb3NpdGUgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBDb21wb3NpdGUocHJvcHMsIGZvcndhcmRlZFJlZikge1xuICBjb25zdCB7XG4gICAgcmVuZGVyLFxuICAgIG9yaWVudGF0aW9uID0gJ2JvdGgnLFxuICAgIGxvb3AgPSB0cnVlLFxuICAgIGNvbHMgPSAxLFxuICAgIGRpc2FibGVkSW5kaWNlcyxcbiAgICBhY3RpdmVJbmRleDogZXh0ZXJuYWxBY3RpdmVJbmRleCxcbiAgICBvbk5hdmlnYXRlOiBleHRlcm5hbFNldEFjdGl2ZUluZGV4LFxuICAgIGl0ZW1TaXplcyxcbiAgICBkZW5zZSA9IGZhbHNlLFxuICAgIC4uLmRvbVByb3BzXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW2ludGVybmFsQWN0aXZlSW5kZXgsIGludGVybmFsU2V0QWN0aXZlSW5kZXhdID0gUmVhY3QudXNlU3RhdGUoMCk7XG4gIGNvbnN0IGFjdGl2ZUluZGV4ID0gZXh0ZXJuYWxBY3RpdmVJbmRleCAhPSBudWxsID8gZXh0ZXJuYWxBY3RpdmVJbmRleCA6IGludGVybmFsQWN0aXZlSW5kZXg7XG4gIGNvbnN0IG9uTmF2aWdhdGUgPSB1c2VFZmZlY3RFdmVudChleHRlcm5hbFNldEFjdGl2ZUluZGV4ICE9IG51bGwgPyBleHRlcm5hbFNldEFjdGl2ZUluZGV4IDogaW50ZXJuYWxTZXRBY3RpdmVJbmRleCk7XG4gIGNvbnN0IGVsZW1lbnRzUmVmID0gUmVhY3QudXNlUmVmKFtdKTtcbiAgY29uc3QgcmVuZGVyRWxlbWVudFByb3BzID0gcmVuZGVyICYmIHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicgPyByZW5kZXIucHJvcHMgOiB7fTtcbiAgY29uc3QgY29udGV4dFZhbHVlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGFjdGl2ZUluZGV4LFxuICAgIG9uTmF2aWdhdGVcbiAgfSksIFthY3RpdmVJbmRleCwgb25OYXZpZ2F0ZV0pO1xuICBjb25zdCBpc0dyaWQgPSBjb2xzID4gMTtcbiAgZnVuY3Rpb24gaGFuZGxlS2V5RG93bihldmVudCkge1xuICAgIGlmICghYWxsS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSByZXR1cm47XG4gICAgbGV0IG5leHRJbmRleCA9IGFjdGl2ZUluZGV4O1xuICAgIGNvbnN0IG1pbkluZGV4ID0gZ2V0TWluSW5kZXgoZWxlbWVudHNSZWYsIGRpc2FibGVkSW5kaWNlcyk7XG4gICAgY29uc3QgbWF4SW5kZXggPSBnZXRNYXhJbmRleChlbGVtZW50c1JlZiwgZGlzYWJsZWRJbmRpY2VzKTtcbiAgICBpZiAoaXNHcmlkKSB7XG4gICAgICBjb25zdCBzaXplcyA9IGl0ZW1TaXplcyB8fCBBcnJheS5mcm9tKHtcbiAgICAgICAgbGVuZ3RoOiBlbGVtZW50c1JlZi5jdXJyZW50Lmxlbmd0aFxuICAgICAgfSwgKCkgPT4gKHtcbiAgICAgICAgd2lkdGg6IDEsXG4gICAgICAgIGhlaWdodDogMVxuICAgICAgfSkpO1xuICAgICAgLy8gVG8gY2FsY3VsYXRlIG1vdmVtZW50cyBvbiB0aGUgZ3JpZCwgd2UgdXNlIGh5cG90aGV0aWNhbCBjZWxsIGluZGljZXNcbiAgICAgIC8vIGFzIGlmIGV2ZXJ5IGl0ZW0gd2FzIDF4MSwgdGhlbiBjb252ZXJ0IGJhY2sgdG8gcmVhbCBpbmRpY2VzLlxuICAgICAgY29uc3QgY2VsbE1hcCA9IGJ1aWxkQ2VsbE1hcChzaXplcywgY29scywgZGVuc2UpO1xuICAgICAgY29uc3QgbWluR3JpZEluZGV4ID0gY2VsbE1hcC5maW5kSW5kZXgoaW5kZXggPT4gaW5kZXggIT0gbnVsbCAmJiAhaXNEaXNhYmxlZChlbGVtZW50c1JlZi5jdXJyZW50LCBpbmRleCwgZGlzYWJsZWRJbmRpY2VzKSk7XG4gICAgICAvLyBsYXN0IGVuYWJsZWQgaW5kZXhcbiAgICAgIGNvbnN0IG1heEdyaWRJbmRleCA9IGNlbGxNYXAucmVkdWNlKChmb3VuZEluZGV4LCBpbmRleCwgY2VsbEluZGV4KSA9PiBpbmRleCAhPSBudWxsICYmICFpc0Rpc2FibGVkKGVsZW1lbnRzUmVmLmN1cnJlbnQsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpID8gY2VsbEluZGV4IDogZm91bmRJbmRleCwgLTEpO1xuICAgICAgbmV4dEluZGV4ID0gY2VsbE1hcFtnZXRHcmlkTmF2aWdhdGVkSW5kZXgoe1xuICAgICAgICBjdXJyZW50OiBjZWxsTWFwLm1hcChpdGVtSW5kZXggPT4gaXRlbUluZGV4ID8gZWxlbWVudHNSZWYuY3VycmVudFtpdGVtSW5kZXhdIDogbnVsbClcbiAgICAgIH0sIHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG9yaWVudGF0aW9uLFxuICAgICAgICBsb29wLFxuICAgICAgICBjb2xzLFxuICAgICAgICAvLyB0cmVhdCB1bmRlZmluZWQgKGVtcHR5IGdyaWQgc3BhY2VzKSBhcyBkaXNhYmxlZCBpbmRpY2VzIHNvIHdlXG4gICAgICAgIC8vIGRvbid0IGVuZCB1cCBpbiB0aGVtXG4gICAgICAgIGRpc2FibGVkSW5kaWNlczogZ2V0Q2VsbEluZGljZXMoWy4uLihkaXNhYmxlZEluZGljZXMgfHwgZWxlbWVudHNSZWYuY3VycmVudC5tYXAoKF8sIGluZGV4KSA9PiBpc0Rpc2FibGVkKGVsZW1lbnRzUmVmLmN1cnJlbnQsIGluZGV4KSA/IGluZGV4IDogdW5kZWZpbmVkKSksIHVuZGVmaW5lZF0sIGNlbGxNYXApLFxuICAgICAgICBtaW5JbmRleDogbWluR3JpZEluZGV4LFxuICAgICAgICBtYXhJbmRleDogbWF4R3JpZEluZGV4LFxuICAgICAgICBwcmV2SW5kZXg6IGdldENlbGxJbmRleE9mQ29ybmVyKGFjdGl2ZUluZGV4ID4gbWF4SW5kZXggPyBtaW5JbmRleCA6IGFjdGl2ZUluZGV4LCBzaXplcywgY2VsbE1hcCwgY29scyxcbiAgICAgICAgLy8gdXNlIGEgY29ybmVyIG1hdGNoaW5nIHRoZSBlZGdlIGNsb3Nlc3QgdG8gdGhlIGRpcmVjdGlvbiB3ZSdyZVxuICAgICAgICAvLyBtb3ZpbmcgaW4gc28gd2UgZG9uJ3QgZW5kIHVwIGluIHRoZSBzYW1lIGl0ZW0uIFByZWZlclxuICAgICAgICAvLyB0b3AvbGVmdCBvdmVyIGJvdHRvbS9yaWdodC5cbiAgICAgICAgZXZlbnQua2V5ID09PSBBUlJPV19ET1dOID8gJ2JsJyA6IGV2ZW50LmtleSA9PT0gQVJST1dfUklHSFQgPyAndHInIDogJ3RsJylcbiAgICAgIH0pXTsgLy8gbmF2aWdhdGVkIGNlbGwgd2lsbCBuZXZlciBiZSBudWxsaXNoXG4gICAgfVxuICAgIGNvbnN0IHRvRW5kS2V5cyA9IHtcbiAgICAgIGhvcml6b250YWw6IFtBUlJPV19SSUdIVF0sXG4gICAgICB2ZXJ0aWNhbDogW0FSUk9XX0RPV05dLFxuICAgICAgYm90aDogW0FSUk9XX1JJR0hULCBBUlJPV19ET1dOXVxuICAgIH1bb3JpZW50YXRpb25dO1xuICAgIGNvbnN0IHRvU3RhcnRLZXlzID0ge1xuICAgICAgaG9yaXpvbnRhbDogW0FSUk9XX0xFRlRdLFxuICAgICAgdmVydGljYWw6IFtBUlJPV19VUF0sXG4gICAgICBib3RoOiBbQVJST1dfTEVGVCwgQVJST1dfVVBdXG4gICAgfVtvcmllbnRhdGlvbl07XG4gICAgY29uc3QgcHJldmVudGVkS2V5cyA9IGlzR3JpZCA/IGFsbEtleXMgOiB7XG4gICAgICBob3Jpem9udGFsOiBob3Jpem9udGFsS2V5cyxcbiAgICAgIHZlcnRpY2FsOiB2ZXJ0aWNhbEtleXMsXG4gICAgICBib3RoOiBhbGxLZXlzXG4gICAgfVtvcmllbnRhdGlvbl07XG4gICAgaWYgKG5leHRJbmRleCA9PT0gYWN0aXZlSW5kZXggJiYgWy4uLnRvRW5kS2V5cywgLi4udG9TdGFydEtleXNdLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGlmIChsb29wICYmIG5leHRJbmRleCA9PT0gbWF4SW5kZXggJiYgdG9FbmRLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgbmV4dEluZGV4ID0gbWluSW5kZXg7XG4gICAgICB9IGVsc2UgaWYgKGxvb3AgJiYgbmV4dEluZGV4ID09PSBtaW5JbmRleCAmJiB0b1N0YXJ0S2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgIG5leHRJbmRleCA9IG1heEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV4dEluZGV4ID0gZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICBzdGFydGluZ0luZGV4OiBuZXh0SW5kZXgsXG4gICAgICAgICAgZGVjcmVtZW50OiB0b1N0YXJ0S2V5cy5pbmNsdWRlcyhldmVudC5rZXkpLFxuICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5leHRJbmRleCAhPT0gYWN0aXZlSW5kZXggJiYgIWlzSW5kZXhPdXRPZkJvdW5kcyhlbGVtZW50c1JlZiwgbmV4dEluZGV4KSkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZiAocHJldmVudGVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgICBvbk5hdmlnYXRlKG5leHRJbmRleCk7XG5cbiAgICAgIC8vIFdhaXQgZm9yIEZvY3VzTWFuYWdlciBgcmV0dXJuRm9jdXNgIHRvIGV4ZWN1dGUuXG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIGVucXVldWVGb2N1cyhlbGVtZW50c1JlZi5jdXJyZW50W25leHRJbmRleF0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGNvbXB1dGVkUHJvcHMgPSB7XG4gICAgLi4uZG9tUHJvcHMsXG4gICAgLi4ucmVuZGVyRWxlbWVudFByb3BzLFxuICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICdhcmlhLW9yaWVudGF0aW9uJzogb3JpZW50YXRpb24gPT09ICdib3RoJyA/IHVuZGVmaW5lZCA6IG9yaWVudGF0aW9uLFxuICAgIG9uS2V5RG93bihlKSB7XG4gICAgICBkb21Qcm9wcy5vbktleURvd24gPT0gbnVsbCB8fCBkb21Qcm9wcy5vbktleURvd24oZSk7XG4gICAgICByZW5kZXJFbGVtZW50UHJvcHMub25LZXlEb3duID09IG51bGwgfHwgcmVuZGVyRWxlbWVudFByb3BzLm9uS2V5RG93bihlKTtcbiAgICAgIGhhbmRsZUtleURvd24oZSk7XG4gICAgfVxuICB9O1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9zaXRlQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBjb250ZXh0VmFsdWVcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoRmxvYXRpbmdMaXN0LCB7XG4gICAgZWxlbWVudHNSZWY6IGVsZW1lbnRzUmVmXG4gIH0sIHJlbmRlckpzeChyZW5kZXIsIGNvbXB1dGVkUHJvcHMpKSk7XG59KTtcbi8qKlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0NvbXBvc2l0ZVxuICovXG5jb25zdCBDb21wb3NpdGVJdGVtID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gQ29tcG9zaXRlSXRlbShwcm9wcywgZm9yd2FyZGVkUmVmKSB7XG4gIGNvbnN0IHtcbiAgICByZW5kZXIsXG4gICAgLi4uZG9tUHJvcHNcbiAgfSA9IHByb3BzO1xuICBjb25zdCByZW5kZXJFbGVtZW50UHJvcHMgPSByZW5kZXIgJiYgdHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJyA/IHJlbmRlci5wcm9wcyA6IHt9O1xuICBjb25zdCB7XG4gICAgYWN0aXZlSW5kZXgsXG4gICAgb25OYXZpZ2F0ZVxuICB9ID0gUmVhY3QudXNlQ29udGV4dChDb21wb3NpdGVDb250ZXh0KTtcbiAgY29uc3Qge1xuICAgIHJlZixcbiAgICBpbmRleFxuICB9ID0gdXNlTGlzdEl0ZW0oKTtcbiAgY29uc3QgbWVyZ2VkUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIGZvcndhcmRlZFJlZiwgcmVuZGVyRWxlbWVudFByb3BzLnJlZl0pO1xuICBjb25zdCBpc0FjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBpbmRleDtcbiAgY29uc3QgY29tcHV0ZWRQcm9wcyA9IHtcbiAgICAuLi5kb21Qcm9wcyxcbiAgICAuLi5yZW5kZXJFbGVtZW50UHJvcHMsXG4gICAgcmVmOiBtZXJnZWRSZWYsXG4gICAgdGFiSW5kZXg6IGlzQWN0aXZlID8gMCA6IC0xLFxuICAgICdkYXRhLWFjdGl2ZSc6IGlzQWN0aXZlID8gJycgOiB1bmRlZmluZWQsXG4gICAgb25Gb2N1cyhlKSB7XG4gICAgICBkb21Qcm9wcy5vbkZvY3VzID09IG51bGwgfHwgZG9tUHJvcHMub25Gb2N1cyhlKTtcbiAgICAgIHJlbmRlckVsZW1lbnRQcm9wcy5vbkZvY3VzID09IG51bGwgfHwgcmVuZGVyRWxlbWVudFByb3BzLm9uRm9jdXMoZSk7XG4gICAgICBvbk5hdmlnYXRlKGluZGV4KTtcbiAgICB9XG4gIH07XG4gIHJldHVybiByZW5kZXJKc3gocmVuZGVyLCBjb21wdXRlZFByb3BzKTtcbn0pO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxubGV0IHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9IGZhbHNlO1xubGV0IGNvdW50ID0gMDtcbmNvbnN0IGdlbklkID0gKCkgPT4gLy8gRW5zdXJlIHRoZSBpZCBpcyB1bmlxdWUgd2l0aCBtdWx0aXBsZSBpbmRlcGVuZGVudCB2ZXJzaW9ucyBvZiBGbG9hdGluZyBVSVxuLy8gb24gPFJlYWN0IDE4XG5cImZsb2F0aW5nLXVpLVwiICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgNikgKyBjb3VudCsrO1xuZnVuY3Rpb24gdXNlRmxvYXRpbmdJZCgpIHtcbiAgY29uc3QgW2lkLCBzZXRJZF0gPSBSZWFjdC51c2VTdGF0ZSgoKSA9PiBzZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgPyBnZW5JZCgpIDogdW5kZWZpbmVkKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChpZCA9PSBudWxsKSB7XG4gICAgICBzZXRJZChnZW5JZCgpKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2VydmVySGFuZG9mZkNvbXBsZXRlID0gdHJ1ZTtcbiAgfSwgW10pO1xuICByZXR1cm4gaWQ7XG59XG5jb25zdCB1c2VSZWFjdElkID0gU2FmZVJlYWN0LnVzZUlkO1xuXG4vKipcbiAqIFVzZXMgUmVhY3QgMTgncyBidWlsdC1pbiBgdXNlSWQoKWAgd2hlbiBhdmFpbGFibGUsIG9yIGZhbGxzIGJhY2sgdG8gYVxuICogc2xpZ2h0bHkgbGVzcyBwZXJmb3JtYW50IChyZXF1aXJpbmcgYSBkb3VibGUgcmVuZGVyKSBpbXBsZW1lbnRhdGlvbiBmb3JcbiAqIGVhcmxpZXIgUmVhY3QgdmVyc2lvbnMuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvcmVhY3QtdXRpbHMjdXNlaWRcbiAqL1xuY29uc3QgdXNlSWQgPSB1c2VSZWFjdElkIHx8IHVzZUZsb2F0aW5nSWQ7XG5cbmxldCBkZXZNZXNzYWdlU2V0O1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBkZXZNZXNzYWdlU2V0ID0gLyojX19QVVJFX18qL25ldyBTZXQoKTtcbn1cbmZ1bmN0aW9uIHdhcm4oKSB7XG4gIHZhciBfZGV2TWVzc2FnZVNldDtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIG1lc3NhZ2VzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIG1lc3NhZ2VzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG4gIGNvbnN0IG1lc3NhZ2UgPSBcIkZsb2F0aW5nIFVJOiBcIiArIG1lc3NhZ2VzLmpvaW4oJyAnKTtcbiAgaWYgKCEoKF9kZXZNZXNzYWdlU2V0ID0gZGV2TWVzc2FnZVNldCkgIT0gbnVsbCAmJiBfZGV2TWVzc2FnZVNldC5oYXMobWVzc2FnZSkpKSB7XG4gICAgdmFyIF9kZXZNZXNzYWdlU2V0MjtcbiAgICAoX2Rldk1lc3NhZ2VTZXQyID0gZGV2TWVzc2FnZVNldCkgPT0gbnVsbCB8fCBfZGV2TWVzc2FnZVNldDIuYWRkKG1lc3NhZ2UpO1xuICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoKSB7XG4gIHZhciBfZGV2TWVzc2FnZVNldDM7XG4gIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgbWVzc2FnZXMgPSBuZXcgQXJyYXkoX2xlbjIpLCBfa2V5MiA9IDA7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICBtZXNzYWdlc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICB9XG4gIGNvbnN0IG1lc3NhZ2UgPSBcIkZsb2F0aW5nIFVJOiBcIiArIG1lc3NhZ2VzLmpvaW4oJyAnKTtcbiAgaWYgKCEoKF9kZXZNZXNzYWdlU2V0MyA9IGRldk1lc3NhZ2VTZXQpICE9IG51bGwgJiYgX2Rldk1lc3NhZ2VTZXQzLmhhcyhtZXNzYWdlKSkpIHtcbiAgICB2YXIgX2Rldk1lc3NhZ2VTZXQ0O1xuICAgIChfZGV2TWVzc2FnZVNldDQgPSBkZXZNZXNzYWdlU2V0KSA9PSBudWxsIHx8IF9kZXZNZXNzYWdlU2V0NC5hZGQobWVzc2FnZSk7XG4gICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBwb2ludGluZyBhcnJvdyB0cmlhbmdsZS5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ0Fycm93XG4gKi9cbmNvbnN0IEZsb2F0aW5nQXJyb3cgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBGbG9hdGluZ0Fycm93KHByb3BzLCByZWYpIHtcbiAgY29uc3Qge1xuICAgIGNvbnRleHQ6IHtcbiAgICAgIHBsYWNlbWVudCxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIGZsb2F0aW5nXG4gICAgICB9LFxuICAgICAgbWlkZGxld2FyZURhdGE6IHtcbiAgICAgICAgYXJyb3dcbiAgICAgIH1cbiAgICB9LFxuICAgIHdpZHRoID0gMTQsXG4gICAgaGVpZ2h0ID0gNyxcbiAgICB0aXBSYWRpdXMgPSAwLFxuICAgIHN0cm9rZVdpZHRoID0gMCxcbiAgICBzdGF0aWNPZmZzZXQsXG4gICAgc3Ryb2tlLFxuICAgIGQsXG4gICAgc3R5bGU6IHtcbiAgICAgIHRyYW5zZm9ybSxcbiAgICAgIC4uLnJlc3RTdHlsZVxuICAgIH0gPSB7fSxcbiAgICAuLi5yZXN0XG4gIH0gPSBwcm9wcztcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGlmICghcmVmKSB7XG4gICAgICB3YXJuKCdUaGUgYHJlZmAgcHJvcCBpcyByZXF1aXJlZCBmb3IgYEZsb2F0aW5nQXJyb3dgLicpO1xuICAgIH1cbiAgfVxuICBjb25zdCBjbGlwUGF0aElkID0gdXNlSWQoKTtcbiAgY29uc3QgW2lzUlRMLCBzZXRJc1JUTF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8yOTMyXG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIWZsb2F0aW5nKSByZXR1cm47XG4gICAgY29uc3QgaXNSVEwgPSBnZXRDb21wdXRlZFN0eWxlKGZsb2F0aW5nKS5kaXJlY3Rpb24gPT09ICdydGwnO1xuICAgIGlmIChpc1JUTCkge1xuICAgICAgc2V0SXNSVEwodHJ1ZSk7XG4gICAgfVxuICB9LCBbZmxvYXRpbmddKTtcbiAgaWYgKCFmbG9hdGluZykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gU3Ryb2tlcyBtdXN0IGJlIGRvdWJsZSB0aGUgYm9yZGVyIHdpZHRoLCB0aGlzIGVuc3VyZXMgdGhlIHN0cm9rZSdzIHdpZHRoXG4gIC8vIHdvcmtzIGFzIHlvdSdkIGV4cGVjdC5cbiAgY29uc3QgY29tcHV0ZWRTdHJva2VXaWR0aCA9IHN0cm9rZVdpZHRoICogMjtcbiAgY29uc3QgaGFsZlN0cm9rZVdpZHRoID0gY29tcHV0ZWRTdHJva2VXaWR0aCAvIDI7XG4gIGNvbnN0IHN2Z1ggPSB3aWR0aCAvIDIgKiAodGlwUmFkaXVzIC8gLTggKyAxKTtcbiAgY29uc3Qgc3ZnWSA9IGhlaWdodCAvIDIgKiB0aXBSYWRpdXMgLyA0O1xuICBjb25zdCBbc2lkZSwgYWxpZ25tZW50XSA9IHBsYWNlbWVudC5zcGxpdCgnLScpO1xuICBjb25zdCBpc0N1c3RvbVNoYXBlID0gISFkO1xuICBjb25zdCBpc1ZlcnRpY2FsU2lkZSA9IHNpZGUgPT09ICd0b3AnIHx8IHNpZGUgPT09ICdib3R0b20nO1xuICBjb25zdCB5T2Zmc2V0UHJvcCA9IHN0YXRpY09mZnNldCAmJiBhbGlnbm1lbnQgPT09ICdlbmQnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgbGV0IHhPZmZzZXRQcm9wID0gc3RhdGljT2Zmc2V0ICYmIGFsaWdubWVudCA9PT0gJ2VuZCcgPyAncmlnaHQnIDogJ2xlZnQnO1xuICBpZiAoc3RhdGljT2Zmc2V0ICYmIGlzUlRMKSB7XG4gICAgeE9mZnNldFByb3AgPSBhbGlnbm1lbnQgPT09ICdlbmQnID8gJ2xlZnQnIDogJ3JpZ2h0JztcbiAgfVxuICBjb25zdCBhcnJvd1ggPSAoYXJyb3cgPT0gbnVsbCA/IHZvaWQgMCA6IGFycm93LngpICE9IG51bGwgPyBzdGF0aWNPZmZzZXQgfHwgYXJyb3cueCA6ICcnO1xuICBjb25zdCBhcnJvd1kgPSAoYXJyb3cgPT0gbnVsbCA/IHZvaWQgMCA6IGFycm93LnkpICE9IG51bGwgPyBzdGF0aWNPZmZzZXQgfHwgYXJyb3cueSA6ICcnO1xuICBjb25zdCBkVmFsdWUgPSBkIHx8ICdNMCwwJyArIChcIiBIXCIgKyB3aWR0aCkgKyAoXCIgTFwiICsgKHdpZHRoIC0gc3ZnWCkgKyBcIixcIiArIChoZWlnaHQgLSBzdmdZKSkgKyAoXCIgUVwiICsgd2lkdGggLyAyICsgXCIsXCIgKyBoZWlnaHQgKyBcIiBcIiArIHN2Z1ggKyBcIixcIiArIChoZWlnaHQgLSBzdmdZKSkgKyAnIFonO1xuICBjb25zdCByb3RhdGlvbiA9IHtcbiAgICB0b3A6IGlzQ3VzdG9tU2hhcGUgPyAncm90YXRlKDE4MGRlZyknIDogJycsXG4gICAgbGVmdDogaXNDdXN0b21TaGFwZSA/ICdyb3RhdGUoOTBkZWcpJyA6ICdyb3RhdGUoLTkwZGVnKScsXG4gICAgYm90dG9tOiBpc0N1c3RvbVNoYXBlID8gJycgOiAncm90YXRlKDE4MGRlZyknLFxuICAgIHJpZ2h0OiBpc0N1c3RvbVNoYXBlID8gJ3JvdGF0ZSgtOTBkZWcpJyA6ICdyb3RhdGUoOTBkZWcpJ1xuICB9W3NpZGVdO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwgX2V4dGVuZHMoe30sIHJlc3QsIHtcbiAgICBcImFyaWEtaGlkZGVuXCI6IHRydWUsXG4gICAgcmVmOiByZWYsXG4gICAgd2lkdGg6IGlzQ3VzdG9tU2hhcGUgPyB3aWR0aCA6IHdpZHRoICsgY29tcHV0ZWRTdHJva2VXaWR0aCxcbiAgICBoZWlnaHQ6IHdpZHRoLFxuICAgIHZpZXdCb3g6IFwiMCAwIFwiICsgd2lkdGggKyBcIiBcIiArIChoZWlnaHQgPiB3aWR0aCA/IGhlaWdodCA6IHdpZHRoKSxcbiAgICBzdHlsZToge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICBbeE9mZnNldFByb3BdOiBhcnJvd1gsXG4gICAgICBbeU9mZnNldFByb3BdOiBhcnJvd1ksXG4gICAgICBbc2lkZV06IGlzVmVydGljYWxTaWRlIHx8IGlzQ3VzdG9tU2hhcGUgPyAnMTAwJScgOiBcImNhbGMoMTAwJSAtIFwiICsgY29tcHV0ZWRTdHJva2VXaWR0aCAvIDIgKyBcInB4KVwiLFxuICAgICAgdHJhbnNmb3JtOiBcIlwiICsgcm90YXRpb24gKyAodHJhbnNmb3JtICE9IG51bGwgPyB0cmFuc2Zvcm0gOiAnJyksXG4gICAgICAuLi5yZXN0U3R5bGVcbiAgICB9XG4gIH0pLCBjb21wdXRlZFN0cm9rZVdpZHRoID4gMCAmJiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIGNsaXBQYXRoOiBcInVybCgjXCIgKyBjbGlwUGF0aElkICsgXCIpXCIsXG4gICAgZmlsbDogXCJub25lXCIsXG4gICAgc3Ryb2tlOiBzdHJva2VcbiAgICAvLyBBY2NvdW50IGZvciB0aGUgc3Ryb2tlIG9uIHRoZSBmaWxsIHBhdGggcmVuZGVyZWQgYmVsb3cuXG4gICAgLFxuICAgIHN0cm9rZVdpZHRoOiBjb21wdXRlZFN0cm9rZVdpZHRoICsgKGQgPyAwIDogMSksXG4gICAgZDogZFZhbHVlXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIHN0cm9rZTogY29tcHV0ZWRTdHJva2VXaWR0aCAmJiAhZCA/IHJlc3QuZmlsbCA6ICdub25lJyxcbiAgICBkOiBkVmFsdWVcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiY2xpcFBhdGhcIiwge1xuICAgIGlkOiBjbGlwUGF0aElkXG4gIH0sIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicmVjdFwiLCB7XG4gICAgeDogLWhhbGZTdHJva2VXaWR0aCxcbiAgICB5OiBoYWxmU3Ryb2tlV2lkdGggKiAoaXNDdXN0b21TaGFwZSA/IC0xIDogMSksXG4gICAgd2lkdGg6IHdpZHRoICsgY29tcHV0ZWRTdHJva2VXaWR0aCxcbiAgICBoZWlnaHQ6IHdpZHRoXG4gIH0pKSk7XG59KTtcblxuZnVuY3Rpb24gY3JlYXRlUHViU3ViKCkge1xuICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG4gIHJldHVybiB7XG4gICAgZW1pdChldmVudCwgZGF0YSkge1xuICAgICAgdmFyIF9tYXAkZ2V0O1xuICAgICAgKF9tYXAkZ2V0ID0gbWFwLmdldChldmVudCkpID09IG51bGwgfHwgX21hcCRnZXQuZm9yRWFjaChoYW5kbGVyID0+IGhhbmRsZXIoZGF0YSkpO1xuICAgIH0sXG4gICAgb24oZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICBtYXAuc2V0KGV2ZW50LCBbLi4uKG1hcC5nZXQoZXZlbnQpIHx8IFtdKSwgbGlzdGVuZXJdKTtcbiAgICB9LFxuICAgIG9mZihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgIHZhciBfbWFwJGdldDI7XG4gICAgICBtYXAuc2V0KGV2ZW50LCAoKF9tYXAkZ2V0MiA9IG1hcC5nZXQoZXZlbnQpKSA9PSBudWxsID8gdm9pZCAwIDogX21hcCRnZXQyLmZpbHRlcihsID0+IGwgIT09IGxpc3RlbmVyKSkgfHwgW10pO1xuICAgIH1cbiAgfTtcbn1cblxuY29uc3QgRmxvYXRpbmdOb2RlQ29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KG51bGwpO1xuY29uc3QgRmxvYXRpbmdUcmVlQ29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KG51bGwpO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHBhcmVudCBub2RlIGlkIGZvciBuZXN0ZWQgZmxvYXRpbmcgZWxlbWVudHMsIGlmIGF2YWlsYWJsZS5cbiAqIFJldHVybnMgYG51bGxgIGZvciB0b3AtbGV2ZWwgZmxvYXRpbmcgZWxlbWVudHMuXG4gKi9cbmNvbnN0IHVzZUZsb2F0aW5nUGFyZW50Tm9kZUlkID0gKCkgPT4ge1xuICB2YXIgX1JlYWN0JHVzZUNvbnRleHQ7XG4gIHJldHVybiAoKF9SZWFjdCR1c2VDb250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChGbG9hdGluZ05vZGVDb250ZXh0KSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9SZWFjdCR1c2VDb250ZXh0LmlkKSB8fCBudWxsO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBuZWFyZXN0IGZsb2F0aW5nIHRyZWUgY29udGV4dCwgaWYgYXZhaWxhYmxlLlxuICovXG5jb25zdCB1c2VGbG9hdGluZ1RyZWUgPSAoKSA9PiBSZWFjdC51c2VDb250ZXh0KEZsb2F0aW5nVHJlZUNvbnRleHQpO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhIG5vZGUgaW50byB0aGUgYEZsb2F0aW5nVHJlZWAsIHJldHVybmluZyBpdHMgaWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdUcmVlXG4gKi9cbmZ1bmN0aW9uIHVzZUZsb2F0aW5nTm9kZUlkKGN1c3RvbVBhcmVudElkKSB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKTtcbiAgY29uc3QgdHJlZSA9IHVzZUZsb2F0aW5nVHJlZSgpO1xuICBjb25zdCByZWFjdFBhcmVudElkID0gdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQoKTtcbiAgY29uc3QgcGFyZW50SWQgPSBjdXN0b21QYXJlbnRJZCB8fCByZWFjdFBhcmVudElkO1xuICBpbmRleCgoKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IHtcbiAgICAgIGlkLFxuICAgICAgcGFyZW50SWRcbiAgICB9O1xuICAgIHRyZWUgPT0gbnVsbCB8fCB0cmVlLmFkZE5vZGUobm9kZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRyZWUgPT0gbnVsbCB8fCB0cmVlLnJlbW92ZU5vZGUobm9kZSk7XG4gICAgfTtcbiAgfSwgW3RyZWUsIGlkLCBwYXJlbnRJZF0pO1xuICByZXR1cm4gaWQ7XG59XG4vKipcbiAqIFByb3ZpZGVzIHBhcmVudCBub2RlIGNvbnRleHQgZm9yIG5lc3RlZCBmbG9hdGluZyBlbGVtZW50cy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ1RyZWVcbiAqL1xuZnVuY3Rpb24gRmxvYXRpbmdOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBpZFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBhcmVudElkID0gdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQoKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZsb2F0aW5nTm9kZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgICAgaWQsXG4gICAgICBwYXJlbnRJZFxuICAgIH0pLCBbaWQsIHBhcmVudElkXSlcbiAgfSwgY2hpbGRyZW4pO1xufVxuLyoqXG4gKiBQcm92aWRlcyBjb250ZXh0IGZvciBuZXN0ZWQgZmxvYXRpbmcgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBub3QgY2hpbGRyZW4gb2ZcbiAqIGVhY2ggb3RoZXIgb24gdGhlIERPTS5cbiAqIFRoaXMgaXMgbm90IG5lY2Vzc2FyeSBpbiBhbGwgY2FzZXMsIGV4Y2VwdCB3aGVuIHRoZXJlIG11c3QgYmUgZXhwbGljaXQgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHBhcmVudCBhbmQgY2hpbGQgZmxvYXRpbmcgZWxlbWVudHMuIEl0IGlzIG5lY2Vzc2FyeSBmb3I6XG4gKiAtIFRoZSBgYnViYmxlc2Agb3B0aW9uIGluIHRoZSBgdXNlRGlzbWlzcygpYCBIb29rXG4gKiAtIE5lc3RlZCB2aXJ0dWFsIGxpc3QgbmF2aWdhdGlvblxuICogLSBOZXN0ZWQgZmxvYXRpbmcgZWxlbWVudHMgdGhhdCBlYWNoIG9wZW4gb24gaG92ZXJcbiAqIC0gQ3VzdG9tIGNvbW11bmljYXRpb24gYmV0d2VlbiBwYXJlbnQgYW5kIGNoaWxkIGZsb2F0aW5nIGVsZW1lbnRzXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdUcmVlXG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nVHJlZShwcm9wcykge1xuICBjb25zdCB7XG4gICAgY2hpbGRyZW5cbiAgfSA9IHByb3BzO1xuICBjb25zdCBub2Rlc1JlZiA9IFJlYWN0LnVzZVJlZihbXSk7XG4gIGNvbnN0IGFkZE5vZGUgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBub2Rlc1JlZi5jdXJyZW50ID0gWy4uLm5vZGVzUmVmLmN1cnJlbnQsIG5vZGVdO1xuICB9LCBbXSk7XG4gIGNvbnN0IHJlbW92ZU5vZGUgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBub2Rlc1JlZi5jdXJyZW50ID0gbm9kZXNSZWYuY3VycmVudC5maWx0ZXIobiA9PiBuICE9PSBub2RlKTtcbiAgfSwgW10pO1xuICBjb25zdCBldmVudHMgPSBSZWFjdC51c2VTdGF0ZSgoKSA9PiBjcmVhdGVQdWJTdWIoKSlbMF07XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChGbG9hdGluZ1RyZWVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAgIG5vZGVzUmVmLFxuICAgICAgYWRkTm9kZSxcbiAgICAgIHJlbW92ZU5vZGUsXG4gICAgICBldmVudHNcbiAgICB9KSwgW2FkZE5vZGUsIHJlbW92ZU5vZGUsIGV2ZW50c10pXG4gIH0sIGNoaWxkcmVuKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXR0cmlidXRlKG5hbWUpIHtcbiAgcmV0dXJuIFwiZGF0YS1mbG9hdGluZy11aS1cIiArIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHVzZUxhdGVzdFJlZih2YWx1ZSkge1xuICBjb25zdCByZWYgPSB1c2VSZWYodmFsdWUpO1xuICBpbmRleCgoKSA9PiB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfSk7XG4gIHJldHVybiByZWY7XG59XG5cbmNvbnN0IHNhZmVQb2x5Z29uSWRlbnRpZmllciA9IC8qI19fUFVSRV9fKi9jcmVhdGVBdHRyaWJ1dGUoJ3NhZmUtcG9seWdvbicpO1xuZnVuY3Rpb24gZ2V0RGVsYXkodmFsdWUsIHByb3AsIHBvaW50ZXJUeXBlKSB7XG4gIGlmIChwb2ludGVyVHlwZSAmJiAhaXNNb3VzZUxpa2VQb2ludGVyVHlwZShwb2ludGVyVHlwZSkpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/IHZvaWQgMCA6IHZhbHVlW3Byb3BdO1xufVxuLyoqXG4gKiBPcGVucyB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGlsZSBob3ZlcmluZyBvdmVyIHRoZSByZWZlcmVuY2UgZWxlbWVudCwgbGlrZVxuICogQ1NTIGA6aG92ZXJgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZUhvdmVyXG4gKi9cbmZ1bmN0aW9uIHVzZUhvdmVyKGNvbnRleHQsIHByb3BzKSB7XG4gIGlmIChwcm9wcyA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgZGF0YVJlZixcbiAgICBldmVudHMsXG4gICAgZWxlbWVudHNcbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBkZWxheSA9IDAsXG4gICAgaGFuZGxlQ2xvc2UgPSBudWxsLFxuICAgIG1vdXNlT25seSA9IGZhbHNlLFxuICAgIHJlc3RNcyA9IDAsXG4gICAgbW92ZSA9IHRydWVcbiAgfSA9IHByb3BzO1xuICBjb25zdCB0cmVlID0gdXNlRmxvYXRpbmdUcmVlKCk7XG4gIGNvbnN0IHBhcmVudElkID0gdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQoKTtcbiAgY29uc3QgaGFuZGxlQ2xvc2VSZWYgPSB1c2VMYXRlc3RSZWYoaGFuZGxlQ2xvc2UpO1xuICBjb25zdCBkZWxheVJlZiA9IHVzZUxhdGVzdFJlZihkZWxheSk7XG4gIGNvbnN0IG9wZW5SZWYgPSB1c2VMYXRlc3RSZWYob3Blbik7XG4gIGNvbnN0IHBvaW50ZXJUeXBlUmVmID0gUmVhY3QudXNlUmVmKCk7XG4gIGNvbnN0IHRpbWVvdXRSZWYgPSBSZWFjdC51c2VSZWYoLTEpO1xuICBjb25zdCBoYW5kbGVyUmVmID0gUmVhY3QudXNlUmVmKCk7XG4gIGNvbnN0IHJlc3RUaW1lb3V0UmVmID0gUmVhY3QudXNlUmVmKC0xKTtcbiAgY29uc3QgYmxvY2tNb3VzZU1vdmVSZWYgPSBSZWFjdC51c2VSZWYodHJ1ZSk7XG4gIGNvbnN0IHBlcmZvcm1lZFBvaW50ZXJFdmVudHNNdXRhdGlvblJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHVuYmluZE1vdXNlTW92ZVJlZiA9IFJlYWN0LnVzZVJlZigoKSA9PiB7fSk7XG4gIGNvbnN0IGlzSG92ZXJPcGVuID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHZhciBfZGF0YVJlZiRjdXJyZW50JG9wZW47XG4gICAgY29uc3QgdHlwZSA9IChfZGF0YVJlZiRjdXJyZW50JG9wZW4gPSBkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2RhdGFSZWYkY3VycmVudCRvcGVuLnR5cGU7XG4gICAgcmV0dXJuICh0eXBlID09IG51bGwgPyB2b2lkIDAgOiB0eXBlLmluY2x1ZGVzKCdtb3VzZScpKSAmJiB0eXBlICE9PSAnbW91c2Vkb3duJztcbiAgfSwgW2RhdGFSZWZdKTtcblxuICAvLyBXaGVuIGNsb3NpbmcgYmVmb3JlIG9wZW5pbmcsIGNsZWFyIHRoZSBkZWxheSB0aW1lb3V0cyB0byBjYW5jZWwgaXRcbiAgLy8gZnJvbSBzaG93aW5nLlxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIG9uT3BlbkNoYW5nZShfcmVmKSB7XG4gICAgICBsZXQge1xuICAgICAgICBvcGVuXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGlmICghb3Blbikge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHJlc3RUaW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgICBibG9ja01vdXNlTW92ZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZXZlbnRzLm9uKCdvcGVuY2hhbmdlJywgb25PcGVuQ2hhbmdlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZXZlbnRzLm9mZignb3BlbmNoYW5nZScsIG9uT3BlbkNoYW5nZSk7XG4gICAgfTtcbiAgfSwgW2VuYWJsZWQsIGV2ZW50c10pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGlmICghaGFuZGxlQ2xvc2VSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGlmICghb3BlbikgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIG9uTGVhdmUoZXZlbnQpIHtcbiAgICAgIGlmIChpc0hvdmVyT3BlbigpKSB7XG4gICAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQsICdob3ZlcicpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBodG1sID0gZ2V0RG9jdW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpLmRvY3VtZW50RWxlbWVudDtcbiAgICBodG1sLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBvbkxlYXZlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaHRtbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgb25MZWF2ZSk7XG4gICAgfTtcbiAgfSwgW2VsZW1lbnRzLmZsb2F0aW5nLCBvcGVuLCBvbk9wZW5DaGFuZ2UsIGVuYWJsZWQsIGhhbmRsZUNsb3NlUmVmLCBpc0hvdmVyT3Blbl0pO1xuICBjb25zdCBjbG9zZVdpdGhEZWxheSA9IFJlYWN0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCwgcnVuRWxzZUJyYW5jaCwgcmVhc29uKSB7XG4gICAgaWYgKHJ1bkVsc2VCcmFuY2ggPT09IHZvaWQgMCkge1xuICAgICAgcnVuRWxzZUJyYW5jaCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChyZWFzb24gPT09IHZvaWQgMCkge1xuICAgICAgcmVhc29uID0gJ2hvdmVyJztcbiAgICB9XG4gICAgY29uc3QgY2xvc2VEZWxheSA9IGdldERlbGF5KGRlbGF5UmVmLmN1cnJlbnQsICdjbG9zZScsIHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQpO1xuICAgIGlmIChjbG9zZURlbGF5ICYmICFoYW5kbGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgdGltZW91dFJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudCwgcmVhc29uKSwgY2xvc2VEZWxheSk7XG4gICAgfSBlbHNlIGlmIChydW5FbHNlQnJhbmNoKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQsIHJlYXNvbik7XG4gICAgfVxuICB9LCBbZGVsYXlSZWYsIG9uT3BlbkNoYW5nZV0pO1xuICBjb25zdCBjbGVhbnVwTW91c2VNb3ZlSGFuZGxlciA9IHVzZUVmZmVjdEV2ZW50KCgpID0+IHtcbiAgICB1bmJpbmRNb3VzZU1vdmVSZWYuY3VycmVudCgpO1xuICAgIGhhbmRsZXJSZWYuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgfSk7XG4gIGNvbnN0IGNsZWFyUG9pbnRlckV2ZW50cyA9IHVzZUVmZmVjdEV2ZW50KCgpID0+IHtcbiAgICBpZiAocGVyZm9ybWVkUG9pbnRlckV2ZW50c011dGF0aW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGJvZHkgPSBnZXREb2N1bWVudChlbGVtZW50cy5mbG9hdGluZykuYm9keTtcbiAgICAgIGJvZHkuc3R5bGUucG9pbnRlckV2ZW50cyA9ICcnO1xuICAgICAgYm9keS5yZW1vdmVBdHRyaWJ1dGUoc2FmZVBvbHlnb25JZGVudGlmaWVyKTtcbiAgICAgIHBlcmZvcm1lZFBvaW50ZXJFdmVudHNNdXRhdGlvblJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWdpc3RlcmluZyB0aGUgbW91c2UgZXZlbnRzIG9uIHRoZSByZWZlcmVuY2UgZGlyZWN0bHkgdG8gYnlwYXNzIFJlYWN0J3NcbiAgLy8gZGVsZWdhdGlvbiBzeXN0ZW0uIElmIHRoZSBjdXJzb3Igd2FzIG9uIGEgZGlzYWJsZWQgZWxlbWVudCBhbmQgdGhlbiBlbnRlcmVkXG4gIC8vIHRoZSByZWZlcmVuY2UgKG5vIGdhcCksIGBtb3VzZWVudGVyYCBkb2Vzbid0IGZpcmUgaW4gdGhlIGRlbGVnYXRpb24gc3lzdGVtLlxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIGlzQ2xpY2tMaWtlT3BlbkV2ZW50KCkge1xuICAgICAgcmV0dXJuIGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQgPyBbJ2NsaWNrJywgJ21vdXNlZG93biddLmluY2x1ZGVzKGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQudHlwZSkgOiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gb25Nb3VzZUVudGVyKGV2ZW50KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIGJsb2NrTW91c2VNb3ZlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIGlmIChtb3VzZU9ubHkgJiYgIWlzTW91c2VMaWtlUG9pbnRlclR5cGUocG9pbnRlclR5cGVSZWYuY3VycmVudCkgfHwgcmVzdE1zID4gMCAmJiAhZ2V0RGVsYXkoZGVsYXlSZWYuY3VycmVudCwgJ29wZW4nKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBvcGVuRGVsYXkgPSBnZXREZWxheShkZWxheVJlZi5jdXJyZW50LCAnb3BlbicsIHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQpO1xuICAgICAgaWYgKG9wZW5EZWxheSkge1xuICAgICAgICB0aW1lb3V0UmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCFvcGVuUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIG9uT3BlbkNoYW5nZSh0cnVlLCBldmVudCwgJ2hvdmVyJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBvcGVuRGVsYXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKHRydWUsIGV2ZW50LCAnaG92ZXInKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gb25Nb3VzZUxlYXZlKGV2ZW50KSB7XG4gICAgICBpZiAoaXNDbGlja0xpa2VPcGVuRXZlbnQoKSkgcmV0dXJuO1xuICAgICAgdW5iaW5kTW91c2VNb3ZlUmVmLmN1cnJlbnQoKTtcbiAgICAgIGNvbnN0IGRvYyA9IGdldERvY3VtZW50KGVsZW1lbnRzLmZsb2F0aW5nKTtcbiAgICAgIGNsZWFyVGltZW91dChyZXN0VGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIGlmIChoYW5kbGVDbG9zZVJlZi5jdXJyZW50ICYmIGRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQpIHtcbiAgICAgICAgLy8gUHJldmVudCBjbGVhcmluZyBgb25TY3JvbGxNb3VzZUxlYXZlYCB0aW1lb3V0LlxuICAgICAgICBpZiAoIW9wZW4pIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICBoYW5kbGVyUmVmLmN1cnJlbnQgPSBoYW5kbGVDbG9zZVJlZi5jdXJyZW50KHtcbiAgICAgICAgICAuLi5kYXRhUmVmLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0LFxuICAgICAgICAgIHRyZWUsXG4gICAgICAgICAgeDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICB5OiBldmVudC5jbGllbnRZLFxuICAgICAgICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgICAgICBjbGVhclBvaW50ZXJFdmVudHMoKTtcbiAgICAgICAgICAgIGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyKCk7XG4gICAgICAgICAgICBjbG9zZVdpdGhEZWxheShldmVudCwgdHJ1ZSwgJ3NhZmUtcG9seWdvbicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVyUmVmLmN1cnJlbnQ7XG4gICAgICAgIGRvYy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBoYW5kbGVyKTtcbiAgICAgICAgdW5iaW5kTW91c2VNb3ZlUmVmLmN1cnJlbnQgPSAoKSA9PiB7XG4gICAgICAgICAgZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGhhbmRsZXIpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEFsbG93IGludGVyYWN0aXZpdHkgd2l0aG91dCBgc2FmZVBvbHlnb25gIG9uIHRvdWNoIGRldmljZXMuIFdpdGggYVxuICAgICAgLy8gcG9pbnRlciwgYSBzaG9ydCBjbG9zZSBkZWxheSBpcyBhbiBhbHRlcm5hdGl2ZSwgc28gaXQgc2hvdWxkIHdvcmtcbiAgICAgIC8vIGNvbnNpc3RlbnRseS5cbiAgICAgIGNvbnN0IHNob3VsZENsb3NlID0gcG9pbnRlclR5cGVSZWYuY3VycmVudCA9PT0gJ3RvdWNoJyA/ICFjb250YWlucyhlbGVtZW50cy5mbG9hdGluZywgZXZlbnQucmVsYXRlZFRhcmdldCkgOiB0cnVlO1xuICAgICAgaWYgKHNob3VsZENsb3NlKSB7XG4gICAgICAgIGNsb3NlV2l0aERlbGF5KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgY2xvc2VzIGFmdGVyIHNjcm9sbGluZyBldmVuIGlmIHRoZSBwb2ludGVyXG4gICAgLy8gZGlkIG5vdCBtb3ZlLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9kaXNjdXNzaW9ucy8xNjkyXG4gICAgZnVuY3Rpb24gb25TY3JvbGxNb3VzZUxlYXZlKGV2ZW50KSB7XG4gICAgICBpZiAoaXNDbGlja0xpa2VPcGVuRXZlbnQoKSkgcmV0dXJuO1xuICAgICAgaWYgKCFkYXRhUmVmLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0KSByZXR1cm47XG4gICAgICBoYW5kbGVDbG9zZVJlZi5jdXJyZW50ID09IG51bGwgfHwgaGFuZGxlQ2xvc2VSZWYuY3VycmVudCh7XG4gICAgICAgIC4uLmRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQsXG4gICAgICAgIHRyZWUsXG4gICAgICAgIHg6IGV2ZW50LmNsaWVudFgsXG4gICAgICAgIHk6IGV2ZW50LmNsaWVudFksXG4gICAgICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgICAgY2xlYXJQb2ludGVyRXZlbnRzKCk7XG4gICAgICAgICAgY2xlYW51cE1vdXNlTW92ZUhhbmRsZXIoKTtcbiAgICAgICAgICBjbG9zZVdpdGhEZWxheShldmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pKGV2ZW50KTtcbiAgICB9XG4gICAgaWYgKGlzRWxlbWVudChlbGVtZW50cy5kb21SZWZlcmVuY2UpKSB7XG4gICAgICB2YXIgX2VsZW1lbnRzJGZsb2F0aW5nO1xuICAgICAgY29uc3QgcmVmID0gZWxlbWVudHMuZG9tUmVmZXJlbmNlO1xuICAgICAgb3BlbiAmJiByZWYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uU2Nyb2xsTW91c2VMZWF2ZSk7XG4gICAgICAoX2VsZW1lbnRzJGZsb2F0aW5nID0gZWxlbWVudHMuZmxvYXRpbmcpID09IG51bGwgfHwgX2VsZW1lbnRzJGZsb2F0aW5nLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBvblNjcm9sbE1vdXNlTGVhdmUpO1xuICAgICAgbW92ZSAmJiByZWYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZUVudGVyLCB7XG4gICAgICAgIG9uY2U6IHRydWVcbiAgICAgIH0pO1xuICAgICAgcmVmLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBvbk1vdXNlRW50ZXIpO1xuICAgICAgcmVmLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBvbk1vdXNlTGVhdmUpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdmFyIF9lbGVtZW50cyRmbG9hdGluZzI7XG4gICAgICAgIG9wZW4gJiYgcmVmLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBvblNjcm9sbE1vdXNlTGVhdmUpO1xuICAgICAgICAoX2VsZW1lbnRzJGZsb2F0aW5nMiA9IGVsZW1lbnRzLmZsb2F0aW5nKSA9PSBudWxsIHx8IF9lbGVtZW50cyRmbG9hdGluZzIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uU2Nyb2xsTW91c2VMZWF2ZSk7XG4gICAgICAgIG1vdmUgJiYgcmVmLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uTW91c2VFbnRlcik7XG4gICAgICAgIHJlZi5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgb25Nb3VzZUVudGVyKTtcbiAgICAgICAgcmVmLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBvbk1vdXNlTGVhdmUpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtlbGVtZW50cywgZW5hYmxlZCwgY29udGV4dCwgbW91c2VPbmx5LCByZXN0TXMsIG1vdmUsIGNsb3NlV2l0aERlbGF5LCBjbGVhbnVwTW91c2VNb3ZlSGFuZGxlciwgY2xlYXJQb2ludGVyRXZlbnRzLCBvbk9wZW5DaGFuZ2UsIG9wZW4sIG9wZW5SZWYsIHRyZWUsIGRlbGF5UmVmLCBoYW5kbGVDbG9zZVJlZiwgZGF0YVJlZl0pO1xuXG4gIC8vIEJsb2NrIHBvaW50ZXItZXZlbnRzIG9mIGV2ZXJ5IGVsZW1lbnQgb3RoZXIgdGhhbiB0aGUgcmVmZXJlbmNlIGFuZCBmbG9hdGluZ1xuICAvLyB3aGlsZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBvcGVuIGFuZCBoYXMgYSBgaGFuZGxlQ2xvc2VgIGhhbmRsZXIuIEFsc29cbiAgLy8gaGFuZGxlcyBuZXN0ZWQgZmxvYXRpbmcgZWxlbWVudHMuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMTcyMlxuICBpbmRleCgoKSA9PiB7XG4gICAgdmFyIF9oYW5kbGVDbG9zZVJlZiRjdXJyZTtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBpZiAob3BlbiAmJiAoX2hhbmRsZUNsb3NlUmVmJGN1cnJlID0gaGFuZGxlQ2xvc2VSZWYuY3VycmVudCkgIT0gbnVsbCAmJiBfaGFuZGxlQ2xvc2VSZWYkY3VycmUuX19vcHRpb25zLmJsb2NrUG9pbnRlckV2ZW50cyAmJiBpc0hvdmVyT3BlbigpKSB7XG4gICAgICBjb25zdCBib2R5ID0gZ2V0RG9jdW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpLmJvZHk7XG4gICAgICBib2R5LnNldEF0dHJpYnV0ZShzYWZlUG9seWdvbklkZW50aWZpZXIsICcnKTtcbiAgICAgIGJvZHkuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgIHBlcmZvcm1lZFBvaW50ZXJFdmVudHNNdXRhdGlvblJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGZsb2F0aW5nRWwgPSBlbGVtZW50cy5mbG9hdGluZztcbiAgICAgIGlmIChpc0VsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSAmJiBmbG9hdGluZ0VsKSB7XG4gICAgICAgIHZhciBfdHJlZSRub2Rlc1JlZiRjdXJyZW47XG4gICAgICAgIGNvbnN0IHJlZiA9IGVsZW1lbnRzLmRvbVJlZmVyZW5jZTtcbiAgICAgICAgY29uc3QgcGFyZW50RmxvYXRpbmcgPSB0cmVlID09IG51bGwgfHwgKF90cmVlJG5vZGVzUmVmJGN1cnJlbiA9IHRyZWUubm9kZXNSZWYuY3VycmVudC5maW5kKG5vZGUgPT4gbm9kZS5pZCA9PT0gcGFyZW50SWQpKSA9PSBudWxsIHx8IChfdHJlZSRub2Rlc1JlZiRjdXJyZW4gPSBfdHJlZSRub2Rlc1JlZiRjdXJyZW4uY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF90cmVlJG5vZGVzUmVmJGN1cnJlbi5lbGVtZW50cy5mbG9hdGluZztcbiAgICAgICAgaWYgKHBhcmVudEZsb2F0aW5nKSB7XG4gICAgICAgICAgcGFyZW50RmxvYXRpbmcuc3R5bGUucG9pbnRlckV2ZW50cyA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJlZi5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2F1dG8nO1xuICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYXV0byc7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgcmVmLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnJztcbiAgICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnJztcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBwYXJlbnRJZCwgZWxlbWVudHMsIHRyZWUsIGhhbmRsZUNsb3NlUmVmLCBpc0hvdmVyT3Blbl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuKSB7XG4gICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgY2xlYW51cE1vdXNlTW92ZUhhbmRsZXIoKTtcbiAgICAgIGNsZWFyUG9pbnRlckV2ZW50cygpO1xuICAgIH1cbiAgfSwgW29wZW4sIGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyLCBjbGVhclBvaW50ZXJFdmVudHNdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYW51cE1vdXNlTW92ZUhhbmRsZXIoKTtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgY2xlYXJUaW1lb3V0KHJlc3RUaW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgY2xlYXJQb2ludGVyRXZlbnRzKCk7XG4gICAgfTtcbiAgfSwgW2VuYWJsZWQsIGVsZW1lbnRzLmRvbVJlZmVyZW5jZSwgY2xlYW51cE1vdXNlTW92ZUhhbmRsZXIsIGNsZWFyUG9pbnRlckV2ZW50c10pO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBmdW5jdGlvbiBzZXRQb2ludGVyUmVmKGV2ZW50KSB7XG4gICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gZXZlbnQucG9pbnRlclR5cGU7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBvblBvaW50ZXJEb3duOiBzZXRQb2ludGVyUmVmLFxuICAgICAgb25Qb2ludGVyRW50ZXI6IHNldFBvaW50ZXJSZWYsXG4gICAgICBvbk1vdXNlTW92ZShldmVudCkge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgbmF0aXZlRXZlbnRcbiAgICAgICAgfSA9IGV2ZW50O1xuICAgICAgICBmdW5jdGlvbiBoYW5kbGVNb3VzZU1vdmUoKSB7XG4gICAgICAgICAgaWYgKCFibG9ja01vdXNlTW92ZVJlZi5jdXJyZW50ICYmICFvcGVuUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIG9uT3BlbkNoYW5nZSh0cnVlLCBuYXRpdmVFdmVudCwgJ2hvdmVyJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtb3VzZU9ubHkgJiYgIWlzTW91c2VMaWtlUG9pbnRlclR5cGUocG9pbnRlclR5cGVSZWYuY3VycmVudCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZW4gfHwgcmVzdE1zID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFyVGltZW91dChyZXN0VGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgICAgaWYgKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPT09ICd0b3VjaCcpIHtcbiAgICAgICAgICBoYW5kbGVNb3VzZU1vdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN0VGltZW91dFJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoaGFuZGxlTW91c2VNb3ZlLCByZXN0TXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW21vdXNlT25seSwgb25PcGVuQ2hhbmdlLCBvcGVuLCBvcGVuUmVmLCByZXN0TXNdKTtcbiAgY29uc3QgZmxvYXRpbmcgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgfSxcbiAgICBvbk1vdXNlTGVhdmUoZXZlbnQpIHtcbiAgICAgIGNsb3NlV2l0aERlbGF5KGV2ZW50Lm5hdGl2ZUV2ZW50LCBmYWxzZSk7XG4gICAgfVxuICB9KSwgW2Nsb3NlV2l0aERlbGF5XSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IGVuYWJsZWQgPyB7XG4gICAgcmVmZXJlbmNlLFxuICAgIGZsb2F0aW5nXG4gIH0gOiB7fSwgW2VuYWJsZWQsIHJlZmVyZW5jZSwgZmxvYXRpbmddKTtcbn1cblxuY29uc3QgTk9PUCA9ICgpID0+IHt9O1xuY29uc3QgRmxvYXRpbmdEZWxheUdyb3VwQ29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KHtcbiAgZGVsYXk6IDAsXG4gIGluaXRpYWxEZWxheTogMCxcbiAgdGltZW91dE1zOiAwLFxuICBjdXJyZW50SWQ6IG51bGwsXG4gIHNldEN1cnJlbnRJZDogTk9PUCxcbiAgc2V0U3RhdGU6IE5PT1AsXG4gIGlzSW5zdGFudFBoYXNlOiBmYWxzZVxufSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIFVzZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGB1c2VEZWxheUdyb3VwKClgIGluc3RlYWQuXG4gKi9cbmNvbnN0IHVzZURlbGF5R3JvdXBDb250ZXh0ID0gKCkgPT4gUmVhY3QudXNlQ29udGV4dChGbG9hdGluZ0RlbGF5R3JvdXBDb250ZXh0KTtcbi8qKlxuICogUHJvdmlkZXMgY29udGV4dCBmb3IgYSBncm91cCBvZiBmbG9hdGluZyBlbGVtZW50cyB0aGF0IHNob3VsZCBzaGFyZSBhXG4gKiBgZGVsYXlgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nRGVsYXlHcm91cFxuICovXG5mdW5jdGlvbiBGbG9hdGluZ0RlbGF5R3JvdXAocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIGNoaWxkcmVuLFxuICAgIGRlbGF5LFxuICAgIHRpbWVvdXRNcyA9IDBcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IFJlYWN0LnVzZVJlZHVjZXIoKHByZXYsIG5leHQpID0+ICh7XG4gICAgLi4ucHJldixcbiAgICAuLi5uZXh0XG4gIH0pLCB7XG4gICAgZGVsYXksXG4gICAgdGltZW91dE1zLFxuICAgIGluaXRpYWxEZWxheTogZGVsYXksXG4gICAgY3VycmVudElkOiBudWxsLFxuICAgIGlzSW5zdGFudFBoYXNlOiBmYWxzZVxuICB9KTtcbiAgY29uc3QgaW5pdGlhbEN1cnJlbnRJZFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2V0Q3VycmVudElkID0gUmVhY3QudXNlQ2FsbGJhY2soY3VycmVudElkID0+IHtcbiAgICBzZXRTdGF0ZSh7XG4gICAgICBjdXJyZW50SWRcbiAgICB9KTtcbiAgfSwgW10pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKHN0YXRlLmN1cnJlbnRJZCkge1xuICAgICAgaWYgKGluaXRpYWxDdXJyZW50SWRSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICBpbml0aWFsQ3VycmVudElkUmVmLmN1cnJlbnQgPSBzdGF0ZS5jdXJyZW50SWQ7XG4gICAgICB9IGVsc2UgaWYgKCFzdGF0ZS5pc0luc3RhbnRQaGFzZSkge1xuICAgICAgICBzZXRTdGF0ZSh7XG4gICAgICAgICAgaXNJbnN0YW50UGhhc2U6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0ZS5pc0luc3RhbnRQaGFzZSkge1xuICAgICAgICBzZXRTdGF0ZSh7XG4gICAgICAgICAgaXNJbnN0YW50UGhhc2U6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaW5pdGlhbEN1cnJlbnRJZFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gIH0sIFtzdGF0ZS5jdXJyZW50SWQsIHN0YXRlLmlzSW5zdGFudFBoYXNlXSk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChGbG9hdGluZ0RlbGF5R3JvdXBDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2V0U3RhdGUsXG4gICAgICBzZXRDdXJyZW50SWRcbiAgICB9KSwgW3N0YXRlLCBzZXRDdXJyZW50SWRdKVxuICB9LCBjaGlsZHJlbik7XG59XG4vKipcbiAqIEVuYWJsZXMgZ3JvdXBpbmcgd2hlbiBjYWxsZWQgaW5zaWRlIGEgY29tcG9uZW50IHRoYXQncyBhIGNoaWxkIG9mIGFcbiAqIGBGbG9hdGluZ0RlbGF5R3JvdXBgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nRGVsYXlHcm91cFxuICovXG5mdW5jdGlvbiB1c2VEZWxheUdyb3VwKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgZmxvYXRpbmdJZFxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGlkOiBvcHRpb25JZFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgaWQgPSBvcHRpb25JZCAhPSBudWxsID8gb3B0aW9uSWQgOiBmbG9hdGluZ0lkO1xuICBjb25zdCBncm91cENvbnRleHQgPSB1c2VEZWxheUdyb3VwQ29udGV4dCgpO1xuICBjb25zdCB7XG4gICAgY3VycmVudElkLFxuICAgIHNldEN1cnJlbnRJZCxcbiAgICBpbml0aWFsRGVsYXksXG4gICAgc2V0U3RhdGUsXG4gICAgdGltZW91dE1zXG4gIH0gPSBncm91cENvbnRleHQ7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIWN1cnJlbnRJZCkgcmV0dXJuO1xuICAgIHNldFN0YXRlKHtcbiAgICAgIGRlbGF5OiB7XG4gICAgICAgIG9wZW46IDEsXG4gICAgICAgIGNsb3NlOiBnZXREZWxheShpbml0aWFsRGVsYXksICdjbG9zZScpXG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGN1cnJlbnRJZCAhPT0gaWQpIHtcbiAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgfVxuICB9LCBbaWQsIG9uT3BlbkNoYW5nZSwgc2V0U3RhdGUsIGN1cnJlbnRJZCwgaW5pdGlhbERlbGF5XSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBmdW5jdGlvbiB1bnNldCgpIHtcbiAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICBzZXRTdGF0ZSh7XG4gICAgICAgIGRlbGF5OiBpbml0aWFsRGVsYXksXG4gICAgICAgIGN1cnJlbnRJZDogbnVsbFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICghY3VycmVudElkKSByZXR1cm47XG4gICAgaWYgKCFvcGVuICYmIGN1cnJlbnRJZCA9PT0gaWQpIHtcbiAgICAgIGlmICh0aW1lb3V0TXMpIHtcbiAgICAgICAgY29uc3QgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KHVuc2V0LCB0aW1lb3V0TXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHVuc2V0KCk7XG4gICAgfVxuICB9LCBbb3Blbiwgc2V0U3RhdGUsIGN1cnJlbnRJZCwgaWQsIG9uT3BlbkNoYW5nZSwgaW5pdGlhbERlbGF5LCB0aW1lb3V0TXNdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChzZXRDdXJyZW50SWQgPT09IE5PT1AgfHwgIW9wZW4pIHJldHVybjtcbiAgICBzZXRDdXJyZW50SWQoaWQpO1xuICB9LCBbb3Blbiwgc2V0Q3VycmVudElkLCBpZF0pO1xuICByZXR1cm4gZ3JvdXBDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBnZXRBbmNlc3RvcnMobm9kZXMsIGlkKSB7XG4gIHZhciBfbm9kZXMkZmluZDtcbiAgbGV0IGFsbEFuY2VzdG9ycyA9IFtdO1xuICBsZXQgY3VycmVudFBhcmVudElkID0gKF9ub2RlcyRmaW5kID0gbm9kZXMuZmluZChub2RlID0+IG5vZGUuaWQgPT09IGlkKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlcyRmaW5kLnBhcmVudElkO1xuICB3aGlsZSAoY3VycmVudFBhcmVudElkKSB7XG4gICAgY29uc3QgY3VycmVudE5vZGUgPSBub2Rlcy5maW5kKG5vZGUgPT4gbm9kZS5pZCA9PT0gY3VycmVudFBhcmVudElkKTtcbiAgICBjdXJyZW50UGFyZW50SWQgPSBjdXJyZW50Tm9kZSA9PSBudWxsID8gdm9pZCAwIDogY3VycmVudE5vZGUucGFyZW50SWQ7XG4gICAgaWYgKGN1cnJlbnROb2RlKSB7XG4gICAgICBhbGxBbmNlc3RvcnMgPSBhbGxBbmNlc3RvcnMuY29uY2F0KGN1cnJlbnROb2RlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFsbEFuY2VzdG9ycztcbn1cblxuZnVuY3Rpb24gZ2V0Q2hpbGRyZW4obm9kZXMsIGlkKSB7XG4gIGxldCBhbGxDaGlsZHJlbiA9IG5vZGVzLmZpbHRlcihub2RlID0+IHtcbiAgICB2YXIgX25vZGUkY29udGV4dDtcbiAgICByZXR1cm4gbm9kZS5wYXJlbnRJZCA9PT0gaWQgJiYgKChfbm9kZSRjb250ZXh0ID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dC5vcGVuKTtcbiAgfSk7XG4gIGxldCBjdXJyZW50Q2hpbGRyZW4gPSBhbGxDaGlsZHJlbjtcbiAgd2hpbGUgKGN1cnJlbnRDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICBjdXJyZW50Q2hpbGRyZW4gPSBub2Rlcy5maWx0ZXIobm9kZSA9PiB7XG4gICAgICB2YXIgX2N1cnJlbnRDaGlsZHJlbjtcbiAgICAgIHJldHVybiAoX2N1cnJlbnRDaGlsZHJlbiA9IGN1cnJlbnRDaGlsZHJlbikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jdXJyZW50Q2hpbGRyZW4uc29tZShuID0+IHtcbiAgICAgICAgdmFyIF9ub2RlJGNvbnRleHQyO1xuICAgICAgICByZXR1cm4gbm9kZS5wYXJlbnRJZCA9PT0gbi5pZCAmJiAoKF9ub2RlJGNvbnRleHQyID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dDIub3Blbik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhbGxDaGlsZHJlbiA9IGFsbENoaWxkcmVuLmNvbmNhdChjdXJyZW50Q2hpbGRyZW4pO1xuICB9XG4gIHJldHVybiBhbGxDaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIGdldERlZXBlc3ROb2RlKG5vZGVzLCBpZCkge1xuICBsZXQgZGVlcGVzdE5vZGVJZDtcbiAgbGV0IG1heERlcHRoID0gLTE7XG4gIGZ1bmN0aW9uIGZpbmREZWVwZXN0KG5vZGVJZCwgZGVwdGgpIHtcbiAgICBpZiAoZGVwdGggPiBtYXhEZXB0aCkge1xuICAgICAgZGVlcGVzdE5vZGVJZCA9IG5vZGVJZDtcbiAgICAgIG1heERlcHRoID0gZGVwdGg7XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkcmVuID0gZ2V0Q2hpbGRyZW4obm9kZXMsIG5vZGVJZCk7XG4gICAgY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICBmaW5kRGVlcGVzdChjaGlsZC5pZCwgZGVwdGggKyAxKTtcbiAgICB9KTtcbiAgfVxuICBmaW5kRGVlcGVzdChpZCwgMCk7XG4gIHJldHVybiBub2Rlcy5maW5kKG5vZGUgPT4gbm9kZS5pZCA9PT0gZGVlcGVzdE5vZGVJZCk7XG59XG5cbi8vIE1vZGlmaWVkIHRvIGFkZCBjb25kaXRpb25hbCBgYXJpYS1oaWRkZW5gIHN1cHBvcnQ6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vdGhlS2FzaGV5L2FyaWEtaGlkZGVuL2Jsb2IvOTIyMGM4ZjRhNGZkMzVmNjNiZWU1NTEwYTlmNDFhMzcyNjQzODJkNC9zcmMvaW5kZXgudHNcbmxldCBjb3VudGVyTWFwID0gLyojX19QVVJFX18qL25ldyBXZWFrTWFwKCk7XG5sZXQgdW5jb250cm9sbGVkRWxlbWVudHNTZXQgPSAvKiNfX1BVUkVfXyovbmV3IFdlYWtTZXQoKTtcbmxldCBtYXJrZXJNYXAgPSB7fTtcbmxldCBsb2NrQ291bnQgPSAwO1xuY29uc3Qgc3VwcG9ydHNJbmVydCA9ICgpID0+IHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgJ2luZXJ0JyBpbiBIVE1MRWxlbWVudC5wcm90b3R5cGU7XG5jb25zdCB1bndyYXBIb3N0ID0gbm9kZSA9PiBub2RlICYmIChub2RlLmhvc3QgfHwgdW53cmFwSG9zdChub2RlLnBhcmVudE5vZGUpKTtcbmNvbnN0IGNvcnJlY3RFbGVtZW50cyA9IChwYXJlbnQsIHRhcmdldHMpID0+IHRhcmdldHMubWFwKHRhcmdldCA9PiB7XG4gIGlmIChwYXJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbiAgY29uc3QgY29ycmVjdGVkVGFyZ2V0ID0gdW53cmFwSG9zdCh0YXJnZXQpO1xuICBpZiAocGFyZW50LmNvbnRhaW5zKGNvcnJlY3RlZFRhcmdldCkpIHtcbiAgICByZXR1cm4gY29ycmVjdGVkVGFyZ2V0O1xuICB9XG4gIHJldHVybiBudWxsO1xufSkuZmlsdGVyKHggPT4geCAhPSBudWxsKTtcbmZ1bmN0aW9uIGFwcGx5QXR0cmlidXRlVG9PdGhlcnModW5jb3JyZWN0ZWRBdm9pZEVsZW1lbnRzLCBib2R5LCBhcmlhSGlkZGVuLCBpbmVydCkge1xuICBjb25zdCBtYXJrZXJOYW1lID0gJ2RhdGEtZmxvYXRpbmctdWktaW5lcnQnO1xuICBjb25zdCBjb250cm9sQXR0cmlidXRlID0gaW5lcnQgPyAnaW5lcnQnIDogYXJpYUhpZGRlbiA/ICdhcmlhLWhpZGRlbicgOiBudWxsO1xuICBjb25zdCBhdm9pZEVsZW1lbnRzID0gY29ycmVjdEVsZW1lbnRzKGJvZHksIHVuY29ycmVjdGVkQXZvaWRFbGVtZW50cyk7XG4gIGNvbnN0IGVsZW1lbnRzVG9LZWVwID0gbmV3IFNldCgpO1xuICBjb25zdCBlbGVtZW50c1RvU3RvcCA9IG5ldyBTZXQoYXZvaWRFbGVtZW50cyk7XG4gIGNvbnN0IGhpZGRlbkVsZW1lbnRzID0gW107XG4gIGlmICghbWFya2VyTWFwW21hcmtlck5hbWVdKSB7XG4gICAgbWFya2VyTWFwW21hcmtlck5hbWVdID0gbmV3IFdlYWtNYXAoKTtcbiAgfVxuICBjb25zdCBtYXJrZXJDb3VudGVyID0gbWFya2VyTWFwW21hcmtlck5hbWVdO1xuICBhdm9pZEVsZW1lbnRzLmZvckVhY2goa2VlcCk7XG4gIGRlZXAoYm9keSk7XG4gIGVsZW1lbnRzVG9LZWVwLmNsZWFyKCk7XG4gIGZ1bmN0aW9uIGtlZXAoZWwpIHtcbiAgICBpZiAoIWVsIHx8IGVsZW1lbnRzVG9LZWVwLmhhcyhlbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWxlbWVudHNUb0tlZXAuYWRkKGVsKTtcbiAgICBlbC5wYXJlbnROb2RlICYmIGtlZXAoZWwucGFyZW50Tm9kZSk7XG4gIH1cbiAgZnVuY3Rpb24gZGVlcChwYXJlbnQpIHtcbiAgICBpZiAoIXBhcmVudCB8fCBlbGVtZW50c1RvU3RvcC5oYXMocGFyZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBbXS5mb3JFYWNoLmNhbGwocGFyZW50LmNoaWxkcmVuLCBub2RlID0+IHtcbiAgICAgIGlmIChnZXROb2RlTmFtZShub2RlKSA9PT0gJ3NjcmlwdCcpIHJldHVybjtcbiAgICAgIGlmIChlbGVtZW50c1RvS2VlcC5oYXMobm9kZSkpIHtcbiAgICAgICAgZGVlcChub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGF0dHIgPSBjb250cm9sQXR0cmlidXRlID8gbm9kZS5nZXRBdHRyaWJ1dGUoY29udHJvbEF0dHJpYnV0ZSkgOiBudWxsO1xuICAgICAgICBjb25zdCBhbHJlYWR5SGlkZGVuID0gYXR0ciAhPT0gbnVsbCAmJiBhdHRyICE9PSAnZmFsc2UnO1xuICAgICAgICBjb25zdCBjb3VudGVyVmFsdWUgPSAoY291bnRlck1hcC5nZXQobm9kZSkgfHwgMCkgKyAxO1xuICAgICAgICBjb25zdCBtYXJrZXJWYWx1ZSA9IChtYXJrZXJDb3VudGVyLmdldChub2RlKSB8fCAwKSArIDE7XG4gICAgICAgIGNvdW50ZXJNYXAuc2V0KG5vZGUsIGNvdW50ZXJWYWx1ZSk7XG4gICAgICAgIG1hcmtlckNvdW50ZXIuc2V0KG5vZGUsIG1hcmtlclZhbHVlKTtcbiAgICAgICAgaGlkZGVuRWxlbWVudHMucHVzaChub2RlKTtcbiAgICAgICAgaWYgKGNvdW50ZXJWYWx1ZSA9PT0gMSAmJiBhbHJlYWR5SGlkZGVuKSB7XG4gICAgICAgICAgdW5jb250cm9sbGVkRWxlbWVudHNTZXQuYWRkKG5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXJrZXJWYWx1ZSA9PT0gMSkge1xuICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKG1hcmtlck5hbWUsICcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFscmVhZHlIaWRkZW4gJiYgY29udHJvbEF0dHJpYnV0ZSkge1xuICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKGNvbnRyb2xBdHRyaWJ1dGUsICd0cnVlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBsb2NrQ291bnQrKztcbiAgcmV0dXJuICgpID0+IHtcbiAgICBoaWRkZW5FbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3QgY291bnRlclZhbHVlID0gKGNvdW50ZXJNYXAuZ2V0KGVsZW1lbnQpIHx8IDApIC0gMTtcbiAgICAgIGNvbnN0IG1hcmtlclZhbHVlID0gKG1hcmtlckNvdW50ZXIuZ2V0KGVsZW1lbnQpIHx8IDApIC0gMTtcbiAgICAgIGNvdW50ZXJNYXAuc2V0KGVsZW1lbnQsIGNvdW50ZXJWYWx1ZSk7XG4gICAgICBtYXJrZXJDb3VudGVyLnNldChlbGVtZW50LCBtYXJrZXJWYWx1ZSk7XG4gICAgICBpZiAoIWNvdW50ZXJWYWx1ZSkge1xuICAgICAgICBpZiAoIXVuY29udHJvbGxlZEVsZW1lbnRzU2V0LmhhcyhlbGVtZW50KSAmJiBjb250cm9sQXR0cmlidXRlKSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoY29udHJvbEF0dHJpYnV0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdW5jb250cm9sbGVkRWxlbWVudHNTZXQuZGVsZXRlKGVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgaWYgKCFtYXJrZXJWYWx1ZSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShtYXJrZXJOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsb2NrQ291bnQtLTtcbiAgICBpZiAoIWxvY2tDb3VudCkge1xuICAgICAgY291bnRlck1hcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICBjb3VudGVyTWFwID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgIHVuY29udHJvbGxlZEVsZW1lbnRzU2V0ID0gbmV3IFdlYWtTZXQoKTtcbiAgICAgIG1hcmtlck1hcCA9IHt9O1xuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIG1hcmtPdGhlcnMoYXZvaWRFbGVtZW50cywgYXJpYUhpZGRlbiwgaW5lcnQpIHtcbiAgaWYgKGFyaWFIaWRkZW4gPT09IHZvaWQgMCkge1xuICAgIGFyaWFIaWRkZW4gPSBmYWxzZTtcbiAgfVxuICBpZiAoaW5lcnQgPT09IHZvaWQgMCkge1xuICAgIGluZXJ0ID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgYm9keSA9IGdldERvY3VtZW50KGF2b2lkRWxlbWVudHNbMF0pLmJvZHk7XG4gIHJldHVybiBhcHBseUF0dHJpYnV0ZVRvT3RoZXJzKGF2b2lkRWxlbWVudHMuY29uY2F0KEFycmF5LmZyb20oYm9keS5xdWVyeVNlbGVjdG9yQWxsKCdbYXJpYS1saXZlXScpKSksIGJvZHksIGFyaWFIaWRkZW4sIGluZXJ0KTtcbn1cblxuY29uc3QgZ2V0VGFiYmFibGVPcHRpb25zID0gKCkgPT4gKHtcbiAgZ2V0U2hhZG93Um9vdDogdHJ1ZSxcbiAgZGlzcGxheUNoZWNrOlxuICAvLyBKU0RPTSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBgdGFiYmFibGVgIGxpYnJhcnkuIFRvIHNvbHZlIHRoaXMgd2UgY2FuXG4gIC8vIGNoZWNrIGlmIGBSZXNpemVPYnNlcnZlcmAgaXMgYSByZWFsIGZ1bmN0aW9uIChub3QgcG9seWZpbGxlZCksIHdoaWNoXG4gIC8vIGRldGVybWluZXMgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgSlNET00tbGlrZS5cbiAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAnZnVuY3Rpb24nICYmIFJlc2l6ZU9ic2VydmVyLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ1tuYXRpdmUgY29kZV0nKSA/ICdmdWxsJyA6ICdub25lJ1xufSk7XG5mdW5jdGlvbiBnZXRUYWJiYWJsZUluKGNvbnRhaW5lciwgZGlyZWN0aW9uKSB7XG4gIGNvbnN0IGFsbFRhYmJhYmxlID0gdGFiYmFibGUoY29udGFpbmVyLCBnZXRUYWJiYWJsZU9wdGlvbnMoKSk7XG4gIGlmIChkaXJlY3Rpb24gPT09ICdwcmV2Jykge1xuICAgIGFsbFRhYmJhYmxlLnJldmVyc2UoKTtcbiAgfVxuICBjb25zdCBhY3RpdmVJbmRleCA9IGFsbFRhYmJhYmxlLmluZGV4T2YoYWN0aXZlRWxlbWVudChnZXREb2N1bWVudChjb250YWluZXIpKSk7XG4gIGNvbnN0IG5leHRUYWJiYWJsZUVsZW1lbnRzID0gYWxsVGFiYmFibGUuc2xpY2UoYWN0aXZlSW5kZXggKyAxKTtcbiAgcmV0dXJuIG5leHRUYWJiYWJsZUVsZW1lbnRzWzBdO1xufVxuZnVuY3Rpb24gZ2V0TmV4dFRhYmJhYmxlKCkge1xuICByZXR1cm4gZ2V0VGFiYmFibGVJbihkb2N1bWVudC5ib2R5LCAnbmV4dCcpO1xufVxuZnVuY3Rpb24gZ2V0UHJldmlvdXNUYWJiYWJsZSgpIHtcbiAgcmV0dXJuIGdldFRhYmJhYmxlSW4oZG9jdW1lbnQuYm9keSwgJ3ByZXYnKTtcbn1cbmZ1bmN0aW9uIGlzT3V0c2lkZUV2ZW50KGV2ZW50LCBjb250YWluZXIpIHtcbiAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lciB8fCBldmVudC5jdXJyZW50VGFyZ2V0O1xuICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldDtcbiAgcmV0dXJuICFyZWxhdGVkVGFyZ2V0IHx8ICFjb250YWlucyhjb250YWluZXJFbGVtZW50LCByZWxhdGVkVGFyZ2V0KTtcbn1cbmZ1bmN0aW9uIGRpc2FibGVGb2N1c0luc2lkZShjb250YWluZXIpIHtcbiAgY29uc3QgdGFiYmFibGVFbGVtZW50cyA9IHRhYmJhYmxlKGNvbnRhaW5lciwgZ2V0VGFiYmFibGVPcHRpb25zKCkpO1xuICB0YWJiYWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgZWxlbWVudC5kYXRhc2V0LnRhYmluZGV4ID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgfHwgJyc7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gIH0pO1xufVxuZnVuY3Rpb24gZW5hYmxlRm9jdXNJbnNpZGUoY29udGFpbmVyKSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRhYmluZGV4XScpO1xuICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IHRhYmluZGV4ID0gZWxlbWVudC5kYXRhc2V0LnRhYmluZGV4O1xuICAgIGRlbGV0ZSBlbGVtZW50LmRhdGFzZXQudGFiaW5kZXg7XG4gICAgaWYgKHRhYmluZGV4KSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCB0YWJpbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgIH1cbiAgfSk7XG59XG5mdW5jdGlvbiBnZXRDbG9zZXN0VGFiYmFibGVFbGVtZW50KHRhYmJhYmxlRWxlbWVudHMsIGVsZW1lbnQsIGZsb2F0aW5nKSB7XG4gIGNvbnN0IGVsZW1lbnRJbmRleCA9IHRhYmJhYmxlRWxlbWVudHMuaW5kZXhPZihlbGVtZW50KTtcbiAgZnVuY3Rpb24gdHJhdmVyc2VUYWJiYWJsZUVsZW1lbnRzKG5leHQpIHtcbiAgICBjb25zdCBhdHRyID0gY3JlYXRlQXR0cmlidXRlKCdmb2N1cy1ndWFyZCcpO1xuICAgIGxldCBpbmRleCA9IGVsZW1lbnRJbmRleCArIChuZXh0ID8gMSA6IDApO1xuICAgIGxldCBjdXJyZW50RWxlbWVudCA9IHRhYmJhYmxlRWxlbWVudHNbaW5kZXhdO1xuICAgIHdoaWxlIChjdXJyZW50RWxlbWVudCAmJiAoIWN1cnJlbnRFbGVtZW50LmlzQ29ubmVjdGVkIHx8IGN1cnJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZShhdHRyKSB8fCBjb250YWlucyhmbG9hdGluZywgY3VycmVudEVsZW1lbnQpKSkge1xuICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluZGV4LS07XG4gICAgICB9XG4gICAgICBjdXJyZW50RWxlbWVudCA9IHRhYmJhYmxlRWxlbWVudHNbaW5kZXhdO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudEVsZW1lbnQ7XG4gIH1cblxuICAvLyBGaXJzdCwgdHJ5IHRvIGZpbmQgdGhlIG5leHQgdGFiYmFibGUgZWxlbWVudFxuICBjb25zdCBuZXh0ID0gdHJhdmVyc2VUYWJiYWJsZUVsZW1lbnRzKHRydWUpO1xuICBpZiAobmV4dCkge1xuICAgIHJldHVybiBuZXh0O1xuICB9XG5cbiAgLy8gSWYgd2UgY2FuJ3QgZmluZCBhIG5leHQgdGFiYmFibGUgZWxlbWVudCwgdHJ5IHRvIGZpbmQgdGhlIHByZXZpb3VzIG9uZVxuICByZXR1cm4gdHJhdmVyc2VUYWJiYWJsZUVsZW1lbnRzKGZhbHNlKTtcbn1cblxuLy8gU2VlIERpZWdvIEhheidzIFNhbmRib3ggZm9yIG1ha2luZyB0aGlzIGxvZ2ljIHdvcmsgd2VsbCBvbiBTYWZhcmkvaU9TOlxuLy8gaHR0cHM6Ly9jb2Rlc2FuZGJveC5pby9zL3RhYmJhYmxlLXBvcnRhbC1mNHRuZz9maWxlPS9zcmMvRm9jdXNUcmFwLnRzeFxuXG5jb25zdCBISURERU5fU1RZTEVTID0ge1xuICBib3JkZXI6IDAsXG4gIGNsaXA6ICdyZWN0KDAgMCAwIDApJyxcbiAgaGVpZ2h0OiAnMXB4JyxcbiAgbWFyZ2luOiAnLTFweCcsXG4gIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgcGFkZGluZzogMCxcbiAgcG9zaXRpb246ICdmaXhlZCcsXG4gIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB3aWR0aDogJzFweCcsXG4gIHRvcDogMCxcbiAgbGVmdDogMFxufTtcbmxldCB0aW1lb3V0SWQ7XG5mdW5jdGlvbiBzZXRBY3RpdmVFbGVtZW50T25UYWIoZXZlbnQpIHtcbiAgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICBldmVudC50YXJnZXQ7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gIH1cbn1cbmNvbnN0IEZvY3VzR3VhcmQgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBGb2N1c0d1YXJkKHByb3BzLCByZWYpIHtcbiAgY29uc3QgW3JvbGUsIHNldFJvbGVdID0gUmVhY3QudXNlU3RhdGUoKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChpc1NhZmFyaSgpKSB7XG4gICAgICAvLyBVbmxpa2Ugb3RoZXIgc2NyZWVuIHJlYWRlcnMgc3VjaCBhcyBOVkRBIGFuZCBKQVdTLCB0aGUgdmlydHVhbCBjdXJzb3JcbiAgICAgIC8vIG9uIFZvaWNlT3ZlciBkb2VzIHRyaWdnZXIgdGhlIG9uRm9jdXMgZXZlbnQsIHNvIHdlIGNhbiB1c2UgdGhlIGZvY3VzXG4gICAgICAvLyB0cmFwIGVsZW1lbnQuIE9uIFNhZmFyaSwgb25seSBidXR0b25zIHRyaWdnZXIgdGhlIG9uRm9jdXMgZXZlbnQuXG4gICAgICAvLyBOQjogXCJncm91cFwiIHJvbGUgaW4gdGhlIFNhbmRib3ggbm8gbG9uZ2VyIGFwcGVhcnMgdG8gd29yaywgbXVzdCBiZSBhXG4gICAgICAvLyBidXR0b24gcm9sZS5cbiAgICAgIHNldFJvbGUoJ2J1dHRvbicpO1xuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgc2V0QWN0aXZlRWxlbWVudE9uVGFiKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHNldEFjdGl2ZUVsZW1lbnRPblRhYik7XG4gICAgfTtcbiAgfSwgW10pO1xuICBjb25zdCByZXN0UHJvcHMgPSB7XG4gICAgcmVmLFxuICAgIHRhYkluZGV4OiAwLFxuICAgIC8vIFJvbGUgaXMgb25seSBmb3IgVm9pY2VPdmVyXG4gICAgcm9sZSxcbiAgICAnYXJpYS1oaWRkZW4nOiByb2xlID8gdW5kZWZpbmVkIDogdHJ1ZSxcbiAgICBbY3JlYXRlQXR0cmlidXRlKCdmb2N1cy1ndWFyZCcpXTogJycsXG4gICAgc3R5bGU6IEhJRERFTl9TVFlMRVNcbiAgfTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCBfZXh0ZW5kcyh7fSwgcHJvcHMsIHJlc3RQcm9wcykpO1xufSk7XG5cbmNvbnN0IFBvcnRhbENvbnRleHQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlQ29udGV4dChudWxsKTtcbmNvbnN0IGF0dHIgPSAvKiNfX1BVUkVfXyovY3JlYXRlQXR0cmlidXRlKCdwb3J0YWwnKTtcbi8qKlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nUG9ydGFsI3VzZWZsb2F0aW5ncG9ydGFsbm9kZVxuICovXG5mdW5jdGlvbiB1c2VGbG9hdGluZ1BvcnRhbE5vZGUocHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBpZCxcbiAgICByb290XG4gIH0gPSBwcm9wcztcbiAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpO1xuICBjb25zdCBwb3J0YWxDb250ZXh0ID0gdXNlUG9ydGFsQ29udGV4dCgpO1xuICBjb25zdCBbcG9ydGFsTm9kZSwgc2V0UG9ydGFsTm9kZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgcG9ydGFsTm9kZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBwb3J0YWxOb2RlID09IG51bGwgfHwgcG9ydGFsTm9kZS5yZW1vdmUoKTtcbiAgICAgIC8vIEFsbG93IHRoZSBzdWJzZXF1ZW50IGxheW91dCBlZmZlY3RzIHRvIGNyZWF0ZSBhIG5ldyBub2RlIG9uIHVwZGF0ZXMuXG4gICAgICAvLyBUaGUgcG9ydGFsIG5vZGUgd2lsbCBzdGlsbCBiZSBjbGVhbmVkIHVwIG9uIHVubW91bnQuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzI0NTRcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgcG9ydGFsTm9kZVJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0sIFtwb3J0YWxOb2RlXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICAvLyBXYWl0IGZvciB0aGUgdW5pcXVlSWQgdG8gYmUgZ2VuZXJhdGVkIGJlZm9yZSBjcmVhdGluZyB0aGUgcG9ydGFsIG5vZGUgaW5cbiAgICAvLyBSZWFjdCA8MTggKHVzaW5nIGB1c2VGbG9hdGluZ0lkYCBpbnN0ZWFkIG9mIHRoZSBuYXRpdmUgYHVzZUlkYCkuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8yNzc4XG4gICAgaWYgKCF1bmlxdWVJZCkgcmV0dXJuO1xuICAgIGlmIChwb3J0YWxOb2RlUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBjb25zdCBleGlzdGluZ0lkUm9vdCA9IGlkID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpIDogbnVsbDtcbiAgICBpZiAoIWV4aXN0aW5nSWRSb290KSByZXR1cm47XG4gICAgY29uc3Qgc3ViUm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHN1YlJvb3QuaWQgPSB1bmlxdWVJZDtcbiAgICBzdWJSb290LnNldEF0dHJpYnV0ZShhdHRyLCAnJyk7XG4gICAgZXhpc3RpbmdJZFJvb3QuYXBwZW5kQ2hpbGQoc3ViUm9vdCk7XG4gICAgcG9ydGFsTm9kZVJlZi5jdXJyZW50ID0gc3ViUm9vdDtcbiAgICBzZXRQb3J0YWxOb2RlKHN1YlJvb3QpO1xuICB9LCBbaWQsIHVuaXF1ZUlkXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIXVuaXF1ZUlkKSByZXR1cm47XG4gICAgaWYgKHBvcnRhbE5vZGVSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGxldCBjb250YWluZXIgPSByb290IHx8IChwb3J0YWxDb250ZXh0ID09IG51bGwgPyB2b2lkIDAgOiBwb3J0YWxDb250ZXh0LnBvcnRhbE5vZGUpO1xuICAgIGlmIChjb250YWluZXIgJiYgIWlzRWxlbWVudChjb250YWluZXIpKSBjb250YWluZXIgPSBjb250YWluZXIuY3VycmVudDtcbiAgICBjb250YWluZXIgPSBjb250YWluZXIgfHwgZG9jdW1lbnQuYm9keTtcbiAgICBsZXQgaWRXcmFwcGVyID0gbnVsbDtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGlkV3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgaWRXcmFwcGVyLmlkID0gaWQ7XG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaWRXcmFwcGVyKTtcbiAgICB9XG4gICAgY29uc3Qgc3ViUm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHN1YlJvb3QuaWQgPSB1bmlxdWVJZDtcbiAgICBzdWJSb290LnNldEF0dHJpYnV0ZShhdHRyLCAnJyk7XG4gICAgY29udGFpbmVyID0gaWRXcmFwcGVyIHx8IGNvbnRhaW5lcjtcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoc3ViUm9vdCk7XG4gICAgcG9ydGFsTm9kZVJlZi5jdXJyZW50ID0gc3ViUm9vdDtcbiAgICBzZXRQb3J0YWxOb2RlKHN1YlJvb3QpO1xuICB9LCBbaWQsIHJvb3QsIHVuaXF1ZUlkLCBwb3J0YWxDb250ZXh0XSk7XG4gIHJldHVybiBwb3J0YWxOb2RlO1xufVxuLyoqXG4gKiBQb3J0YWxzIHRoZSBmbG9hdGluZyBlbGVtZW50IGludG8gYSBnaXZlbiBjb250YWluZXIgZWxlbWVudCDigJQgYnkgZGVmYXVsdCxcbiAqIG91dHNpZGUgb2YgdGhlIGFwcCByb290IGFuZCBpbnRvIHRoZSBib2R5LlxuICogVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoZSBmbG9hdGluZyBlbGVtZW50IGNhbiBhcHBlYXIgb3V0c2lkZSBhbnlcbiAqIHBvdGVudGlhbCBwYXJlbnQgY29udGFpbmVycyB0aGF0IGNhdXNlIGNsaXBwaW5nIChzdWNoIGFzIGBvdmVyZmxvdzogaGlkZGVuYCksXG4gKiB3aGlsZSByZXRhaW5pbmcgaXRzIGxvY2F0aW9uIGluIHRoZSBSZWFjdCB0cmVlLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nUG9ydGFsXG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nUG9ydGFsKHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBpZCxcbiAgICByb290ID0gbnVsbCxcbiAgICBwcmVzZXJ2ZVRhYk9yZGVyID0gdHJ1ZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvcnRhbE5vZGUgPSB1c2VGbG9hdGluZ1BvcnRhbE5vZGUoe1xuICAgIGlkLFxuICAgIHJvb3RcbiAgfSk7XG4gIGNvbnN0IFtmb2N1c01hbmFnZXJTdGF0ZSwgc2V0Rm9jdXNNYW5hZ2VyU3RhdGVdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IGJlZm9yZU91dHNpZGVSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGFmdGVyT3V0c2lkZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgYmVmb3JlSW5zaWRlUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBhZnRlckluc2lkZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2hvdWxkUmVuZGVyR3VhcmRzID1cbiAgLy8gVGhlIEZvY3VzTWFuYWdlciBhbmQgdGhlcmVmb3JlIGZsb2F0aW5nIGVsZW1lbnQgYXJlIGN1cnJlbnRseSBvcGVuL1xuICAvLyByZW5kZXJlZC5cbiAgISFmb2N1c01hbmFnZXJTdGF0ZSAmJlxuICAvLyBHdWFyZHMgYXJlIG9ubHkgZm9yIG5vbi1tb2RhbCBmb2N1cyBtYW5hZ2VtZW50LlxuICAhZm9jdXNNYW5hZ2VyU3RhdGUubW9kYWwgJiZcbiAgLy8gRG9uJ3QgcmVuZGVyIGlmIHVubW91bnQgaXMgdHJhbnNpdGlvbmluZy5cbiAgZm9jdXNNYW5hZ2VyU3RhdGUub3BlbiAmJiBwcmVzZXJ2ZVRhYk9yZGVyICYmICEhKHJvb3QgfHwgcG9ydGFsTm9kZSk7XG5cbiAgLy8gaHR0cHM6Ly9jb2Rlc2FuZGJveC5pby9zL3RhYmJhYmxlLXBvcnRhbC1mNHRuZz9maWxlPS9zcmMvVGFiYmFibGVQb3J0YWwudHN4XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFwb3J0YWxOb2RlIHx8ICFwcmVzZXJ2ZVRhYk9yZGVyIHx8IGZvY3VzTWFuYWdlclN0YXRlICE9IG51bGwgJiYgZm9jdXNNYW5hZ2VyU3RhdGUubW9kYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgZWxlbWVudHMgaW5zaWRlIHRoZSBwb3J0YWwgZWxlbWVudCBhcmUgdGFiYmFibGUgb25seSB3aGVuIHRoZVxuICAgIC8vIHBvcnRhbCBoYXMgYWxyZWFkeSBiZWVuIGZvY3VzZWQsIGVpdGhlciBieSB0YWJiaW5nIGludG8gYSBmb2N1cyB0cmFwXG4gICAgLy8gZWxlbWVudCBvdXRzaWRlIG9yIHVzaW5nIHRoZSBtb3VzZS5cbiAgICBmdW5jdGlvbiBvbkZvY3VzKGV2ZW50KSB7XG4gICAgICBpZiAocG9ydGFsTm9kZSAmJiBpc091dHNpZGVFdmVudChldmVudCkpIHtcbiAgICAgICAgY29uc3QgZm9jdXNpbmcgPSBldmVudC50eXBlID09PSAnZm9jdXNpbic7XG4gICAgICAgIGNvbnN0IG1hbmFnZUZvY3VzID0gZm9jdXNpbmcgPyBlbmFibGVGb2N1c0luc2lkZSA6IGRpc2FibGVGb2N1c0luc2lkZTtcbiAgICAgICAgbWFuYWdlRm9jdXMocG9ydGFsTm9kZSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIExpc3RlbiB0byB0aGUgZXZlbnQgb24gdGhlIGNhcHR1cmUgcGhhc2Ugc28gdGhleSBydW4gYmVmb3JlIHRoZSBmb2N1c1xuICAgIC8vIHRyYXAgZWxlbWVudHMgb25Gb2N1cyBwcm9wIGlzIGNhbGxlZC5cbiAgICBwb3J0YWxOb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBvbkZvY3VzLCB0cnVlKTtcbiAgICBwb3J0YWxOb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0Jywgb25Gb2N1cywgdHJ1ZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHBvcnRhbE5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIG9uRm9jdXMsIHRydWUpO1xuICAgICAgcG9ydGFsTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIG9uRm9jdXMsIHRydWUpO1xuICAgIH07XG4gIH0sIFtwb3J0YWxOb2RlLCBwcmVzZXJ2ZVRhYk9yZGVyLCBmb2N1c01hbmFnZXJTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogZm9jdXNNYW5hZ2VyU3RhdGUubW9kYWxdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFBvcnRhbENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgICAgcHJlc2VydmVUYWJPcmRlcixcbiAgICAgIGJlZm9yZU91dHNpZGVSZWYsXG4gICAgICBhZnRlck91dHNpZGVSZWYsXG4gICAgICBiZWZvcmVJbnNpZGVSZWYsXG4gICAgICBhZnRlckluc2lkZVJlZixcbiAgICAgIHBvcnRhbE5vZGUsXG4gICAgICBzZXRGb2N1c01hbmFnZXJTdGF0ZVxuICAgIH0pLCBbcHJlc2VydmVUYWJPcmRlciwgcG9ydGFsTm9kZV0pXG4gIH0sIHNob3VsZFJlbmRlckd1YXJkcyAmJiBwb3J0YWxOb2RlICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZvY3VzR3VhcmQsIHtcbiAgICBcImRhdGEtdHlwZVwiOiBcIm91dHNpZGVcIixcbiAgICByZWY6IGJlZm9yZU91dHNpZGVSZWYsXG4gICAgb25Gb2N1czogZXZlbnQgPT4ge1xuICAgICAgaWYgKGlzT3V0c2lkZUV2ZW50KGV2ZW50LCBwb3J0YWxOb2RlKSkge1xuICAgICAgICB2YXIgX2JlZm9yZUluc2lkZVJlZiRjdXJyO1xuICAgICAgICAoX2JlZm9yZUluc2lkZVJlZiRjdXJyID0gYmVmb3JlSW5zaWRlUmVmLmN1cnJlbnQpID09IG51bGwgfHwgX2JlZm9yZUluc2lkZVJlZiRjdXJyLmZvY3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcmV2VGFiYmFibGUgPSBnZXRQcmV2aW91c1RhYmJhYmxlKCkgfHwgKGZvY3VzTWFuYWdlclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBmb2N1c01hbmFnZXJTdGF0ZS5yZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50KTtcbiAgICAgICAgcHJldlRhYmJhYmxlID09IG51bGwgfHwgcHJldlRhYmJhYmxlLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9KSwgc2hvdWxkUmVuZGVyR3VhcmRzICYmIHBvcnRhbE5vZGUgJiYgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICBcImFyaWEtb3duc1wiOiBwb3J0YWxOb2RlLmlkLFxuICAgIHN0eWxlOiBISURERU5fU1RZTEVTXG4gIH0pLCBwb3J0YWxOb2RlICYmIC8qI19fUFVSRV9fKi9SZWFjdERPTS5jcmVhdGVQb3J0YWwoY2hpbGRyZW4sIHBvcnRhbE5vZGUpLCBzaG91bGRSZW5kZXJHdWFyZHMgJiYgcG9ydGFsTm9kZSAmJiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChGb2N1c0d1YXJkLCB7XG4gICAgXCJkYXRhLXR5cGVcIjogXCJvdXRzaWRlXCIsXG4gICAgcmVmOiBhZnRlck91dHNpZGVSZWYsXG4gICAgb25Gb2N1czogZXZlbnQgPT4ge1xuICAgICAgaWYgKGlzT3V0c2lkZUV2ZW50KGV2ZW50LCBwb3J0YWxOb2RlKSkge1xuICAgICAgICB2YXIgX2FmdGVySW5zaWRlUmVmJGN1cnJlO1xuICAgICAgICAoX2FmdGVySW5zaWRlUmVmJGN1cnJlID0gYWZ0ZXJJbnNpZGVSZWYuY3VycmVudCkgPT0gbnVsbCB8fCBfYWZ0ZXJJbnNpZGVSZWYkY3VycmUuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5leHRUYWJiYWJsZSA9IGdldE5leHRUYWJiYWJsZSgpIHx8IChmb2N1c01hbmFnZXJTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogZm9jdXNNYW5hZ2VyU3RhdGUucmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCk7XG4gICAgICAgIG5leHRUYWJiYWJsZSA9PSBudWxsIHx8IG5leHRUYWJiYWJsZS5mb2N1cygpO1xuICAgICAgICAoZm9jdXNNYW5hZ2VyU3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IGZvY3VzTWFuYWdlclN0YXRlLmNsb3NlT25Gb2N1c091dCkgJiYgKGZvY3VzTWFuYWdlclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBmb2N1c01hbmFnZXJTdGF0ZS5vbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50Lm5hdGl2ZUV2ZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9KSk7XG59XG5jb25zdCB1c2VQb3J0YWxDb250ZXh0ID0gKCkgPT4gUmVhY3QudXNlQ29udGV4dChQb3J0YWxDb250ZXh0KTtcblxuY29uc3QgTElTVF9MSU1JVCA9IDIwO1xubGV0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudHMgPSBbXTtcbmZ1bmN0aW9uIGFkZFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudChlbGVtZW50KSB7XG4gIHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudHMgPSBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzLmZpbHRlcihlbCA9PiBlbC5pc0Nvbm5lY3RlZCk7XG4gIGxldCB0YWJiYWJsZUVsID0gZWxlbWVudDtcbiAgaWYgKCF0YWJiYWJsZUVsIHx8IGdldE5vZGVOYW1lKHRhYmJhYmxlRWwpID09PSAnYm9keScpIHJldHVybjtcbiAgaWYgKCFpc1RhYmJhYmxlKHRhYmJhYmxlRWwsIGdldFRhYmJhYmxlT3B0aW9ucygpKSkge1xuICAgIGNvbnN0IHRhYmJhYmxlQ2hpbGQgPSB0YWJiYWJsZSh0YWJiYWJsZUVsLCBnZXRUYWJiYWJsZU9wdGlvbnMoKSlbMF07XG4gICAgaWYgKHRhYmJhYmxlQ2hpbGQpIHtcbiAgICAgIHRhYmJhYmxlRWwgPSB0YWJiYWJsZUNoaWxkO1xuICAgIH1cbiAgfVxuICBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzLnB1c2godGFiYmFibGVFbCk7XG4gIGlmIChwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzLmxlbmd0aCA+IExJU1RfTElNSVQpIHtcbiAgICBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzID0gcHJldmlvdXNseUZvY3VzZWRFbGVtZW50cy5zbGljZSgtTElTVF9MSU1JVCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpIHtcbiAgcmV0dXJuIHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudHMuc2xpY2UoKS5yZXZlcnNlKCkuZmluZChlbCA9PiBlbC5pc0Nvbm5lY3RlZCk7XG59XG5jb25zdCBWaXN1YWxseUhpZGRlbkRpc21pc3MgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBWaXN1YWxseUhpZGRlbkRpc21pc3MocHJvcHMsIHJlZikge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgdHlwZTogXCJidXR0b25cIixcbiAgICByZWY6IHJlZixcbiAgICB0YWJJbmRleDogLTEsXG4gICAgc3R5bGU6IEhJRERFTl9TVFlMRVNcbiAgfSkpO1xufSk7XG4vKipcbiAqIFByb3ZpZGVzIGZvY3VzIG1hbmFnZW1lbnQgZm9yIHRoZSBmbG9hdGluZyBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nRm9jdXNNYW5hZ2VyXG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nRm9jdXNNYW5hZ2VyKHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjb250ZXh0LFxuICAgIGNoaWxkcmVuLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgb3JkZXIgPSBbJ2NvbnRlbnQnXSxcbiAgICBndWFyZHM6IF9ndWFyZHMgPSB0cnVlLFxuICAgIGluaXRpYWxGb2N1cyA9IDAsXG4gICAgcmV0dXJuRm9jdXMgPSB0cnVlLFxuICAgIHJlc3RvcmVGb2N1cyA9IGZhbHNlLFxuICAgIG1vZGFsID0gdHJ1ZSxcbiAgICB2aXN1YWxseUhpZGRlbkRpc21pc3MgPSBmYWxzZSxcbiAgICBjbG9zZU9uRm9jdXNPdXQgPSB0cnVlXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgcmVmcyxcbiAgICBub2RlSWQsXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGV2ZW50cyxcbiAgICBkYXRhUmVmLFxuICAgIGZsb2F0aW5nSWQsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIGRvbVJlZmVyZW5jZSxcbiAgICAgIGZsb2F0aW5nXG4gICAgfVxuICB9ID0gY29udGV4dDtcbiAgY29uc3QgaWdub3JlSW5pdGlhbEZvY3VzID0gdHlwZW9mIGluaXRpYWxGb2N1cyA9PT0gJ251bWJlcicgJiYgaW5pdGlhbEZvY3VzIDwgMDtcbiAgLy8gSWYgdGhlIHJlZmVyZW5jZSBpcyBhIGNvbWJvYm94IGFuZCBpcyB0eXBlYWJsZSAoZS5nLiBpbnB1dC90ZXh0YXJlYSksXG4gIC8vIHRoZXJlIGFyZSBkaWZmZXJlbnQgZm9jdXMgc2VtYW50aWNzLiBUaGUgZ3VhcmRzIHNob3VsZCBub3QgYmUgcmVuZGVyZWQsIGJ1dFxuICAvLyBhcmlhLWhpZGRlbiBzaG91bGQgYmUgYXBwbGllZCB0byBhbGwgbm9kZXMgc3RpbGwuIEZ1cnRoZXIsIHRoZSB2aXN1YWxseVxuICAvLyBoaWRkZW4gZGlzbWlzcyBidXR0b24gc2hvdWxkIG9ubHkgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QsIG5vdCB0aGVcbiAgLy8gc3RhcnQuXG4gIGNvbnN0IGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCA9IGlzVHlwZWFibGVDb21ib2JveChkb21SZWZlcmVuY2UpICYmIGlnbm9yZUluaXRpYWxGb2N1cztcblxuICAvLyBGb3JjZSB0aGUgZ3VhcmRzIHRvIGJlIHJlbmRlcmVkIGlmIHRoZSBgaW5lcnRgIGF0dHJpYnV0ZSBpcyBub3Qgc3VwcG9ydGVkLlxuICBjb25zdCBndWFyZHMgPSBzdXBwb3J0c0luZXJ0KCkgPyBfZ3VhcmRzIDogdHJ1ZTtcbiAgY29uc3Qgb3JkZXJSZWYgPSB1c2VMYXRlc3RSZWYob3JkZXIpO1xuICBjb25zdCBpbml0aWFsRm9jdXNSZWYgPSB1c2VMYXRlc3RSZWYoaW5pdGlhbEZvY3VzKTtcbiAgY29uc3QgcmV0dXJuRm9jdXNSZWYgPSB1c2VMYXRlc3RSZWYocmV0dXJuRm9jdXMpO1xuICBjb25zdCB0cmVlID0gdXNlRmxvYXRpbmdUcmVlKCk7XG4gIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KCk7XG4gIGNvbnN0IHN0YXJ0RGlzbWlzc0J1dHRvblJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgZW5kRGlzbWlzc0J1dHRvblJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldmVudFJldHVybkZvY3VzUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaXNQb2ludGVyRG93blJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHRhYmJhYmxlSW5kZXhSZWYgPSBSZWFjdC51c2VSZWYoLTEpO1xuICBjb25zdCBpc0luc2lkZVBvcnRhbCA9IHBvcnRhbENvbnRleHQgIT0gbnVsbDtcbiAgY29uc3QgZmlyc3RFbGVtZW50Q2hpbGQgPSBmbG9hdGluZyA9PSBudWxsID8gdm9pZCAwIDogZmxvYXRpbmcuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gIC8vIElmIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIGFjdGluZyBhcyBhIHBvc2l0aW9uaW5nIHdyYXBwZXIgcmF0aGVyIHRoYW4gdGhlXG4gIC8vIGVsZW1lbnQgdGhhdCByZWNlaXZlcyBhcmlhIHByb3BzLCB1c2UgaXQgYXMgdGhlIGZvY3VzIHJvb3QgaW5zdGVhZC5cbiAgY29uc3QgZmxvYXRpbmdGb2N1c05vZGUgPSAoZmlyc3RFbGVtZW50Q2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGZpcnN0RWxlbWVudENoaWxkLmlkKSA9PT0gZmxvYXRpbmdJZCA/IGZpcnN0RWxlbWVudENoaWxkIDogZmxvYXRpbmc7XG4gIGNvbnN0IGdldFRhYmJhYmxlQ29udGVudCA9IHVzZUVmZmVjdEV2ZW50KGZ1bmN0aW9uIChjb250YWluZXIpIHtcbiAgICBpZiAoY29udGFpbmVyID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnRhaW5lciA9IGZsb2F0aW5nRm9jdXNOb2RlO1xuICAgIH1cbiAgICByZXR1cm4gY29udGFpbmVyID8gdGFiYmFibGUoY29udGFpbmVyLCBnZXRUYWJiYWJsZU9wdGlvbnMoKSkgOiBbXTtcbiAgfSk7XG4gIGNvbnN0IGdldFRhYmJhYmxlRWxlbWVudHMgPSB1c2VFZmZlY3RFdmVudChjb250YWluZXIgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBnZXRUYWJiYWJsZUNvbnRlbnQoY29udGFpbmVyKTtcbiAgICByZXR1cm4gb3JkZXJSZWYuY3VycmVudC5tYXAodHlwZSA9PiB7XG4gICAgICBpZiAoZG9tUmVmZXJlbmNlICYmIHR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgIHJldHVybiBkb21SZWZlcmVuY2U7XG4gICAgICB9XG4gICAgICBpZiAoZmxvYXRpbmdGb2N1c05vZGUgJiYgdHlwZSA9PT0gJ2Zsb2F0aW5nJykge1xuICAgICAgICByZXR1cm4gZmxvYXRpbmdGb2N1c05vZGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5maWx0ZXIoQm9vbGVhbikuZmxhdCgpO1xuICB9KTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAoIW1vZGFsKSByZXR1cm47XG4gICAgZnVuY3Rpb24gb25LZXlEb3duKGV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAvLyBUaGUgZm9jdXMgZ3VhcmRzIGhhdmUgbm90aGluZyB0byBmb2N1cywgc28gd2UgbmVlZCB0byBzdG9wIHRoZSBldmVudC5cbiAgICAgICAgaWYgKGNvbnRhaW5zKGZsb2F0aW5nRm9jdXNOb2RlLCBhY3RpdmVFbGVtZW50KGdldERvY3VtZW50KGZsb2F0aW5nRm9jdXNOb2RlKSkpICYmIGdldFRhYmJhYmxlQ29udGVudCgpLmxlbmd0aCA9PT0gMCAmJiAhaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94KSB7XG4gICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbHMgPSBnZXRUYWJiYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChldmVudCk7XG4gICAgICAgIGlmIChvcmRlclJlZi5jdXJyZW50WzBdID09PSAncmVmZXJlbmNlJyAmJiB0YXJnZXQgPT09IGRvbVJlZmVyZW5jZSkge1xuICAgICAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICBlbnF1ZXVlRm9jdXMoZWxzW2Vscy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVucXVldWVGb2N1cyhlbHNbMV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob3JkZXJSZWYuY3VycmVudFsxXSA9PT0gJ2Zsb2F0aW5nJyAmJiB0YXJnZXQgPT09IGZsb2F0aW5nRm9jdXNOb2RlICYmIGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgICBlbnF1ZXVlRm9jdXMoZWxzWzBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBkb2MgPSBnZXREb2N1bWVudChmbG9hdGluZ0ZvY3VzTm9kZSk7XG4gICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgfTtcbiAgfSwgW2Rpc2FibGVkLCBkb21SZWZlcmVuY2UsIGZsb2F0aW5nRm9jdXNOb2RlLCBtb2RhbCwgb3JkZXJSZWYsIGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCwgZ2V0VGFiYmFibGVDb250ZW50LCBnZXRUYWJiYWJsZUVsZW1lbnRzXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKCFmbG9hdGluZykgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzSW4oZXZlbnQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChldmVudCk7XG4gICAgICBjb25zdCB0YWJiYWJsZUNvbnRlbnQgPSBnZXRUYWJiYWJsZUNvbnRlbnQoKTtcbiAgICAgIGNvbnN0IHRhYmJhYmxlSW5kZXggPSB0YWJiYWJsZUNvbnRlbnQuaW5kZXhPZih0YXJnZXQpO1xuICAgICAgaWYgKHRhYmJhYmxlSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHRhYmJhYmxlSW5kZXhSZWYuY3VycmVudCA9IHRhYmJhYmxlSW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIGZsb2F0aW5nLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBoYW5kbGVGb2N1c0luKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZmxvYXRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGhhbmRsZUZvY3VzSW4pO1xuICAgIH07XG4gIH0sIFtkaXNhYmxlZCwgZmxvYXRpbmcsIGdldFRhYmJhYmxlQ29udGVudF0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICghY2xvc2VPbkZvY3VzT3V0KSByZXR1cm47XG5cbiAgICAvLyBJbiBTYWZhcmksIGJ1dHRvbnMgbG9zZSBmb2N1cyB3aGVuIHByZXNzaW5nIHRoZW0uXG4gICAgZnVuY3Rpb24gaGFuZGxlUG9pbnRlckRvd24oKSB7XG4gICAgICBpc1BvaW50ZXJEb3duUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzUG9pbnRlckRvd25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzT3V0c2lkZShldmVudCkge1xuICAgICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vdmVkVG9VbnJlbGF0ZWROb2RlID0gIShjb250YWlucyhkb21SZWZlcmVuY2UsIHJlbGF0ZWRUYXJnZXQpIHx8IGNvbnRhaW5zKGZsb2F0aW5nLCByZWxhdGVkVGFyZ2V0KSB8fCBjb250YWlucyhyZWxhdGVkVGFyZ2V0LCBmbG9hdGluZykgfHwgY29udGFpbnMocG9ydGFsQ29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogcG9ydGFsQ29udGV4dC5wb3J0YWxOb2RlLCByZWxhdGVkVGFyZ2V0KSB8fCByZWxhdGVkVGFyZ2V0ICE9IG51bGwgJiYgcmVsYXRlZFRhcmdldC5oYXNBdHRyaWJ1dGUoY3JlYXRlQXR0cmlidXRlKCdmb2N1cy1ndWFyZCcpKSB8fCB0cmVlICYmIChnZXRDaGlsZHJlbih0cmVlLm5vZGVzUmVmLmN1cnJlbnQsIG5vZGVJZCkuZmluZChub2RlID0+IHtcbiAgICAgICAgICB2YXIgX25vZGUkY29udGV4dCwgX25vZGUkY29udGV4dDI7XG4gICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKChfbm9kZSRjb250ZXh0ID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dC5lbGVtZW50cy5mbG9hdGluZywgcmVsYXRlZFRhcmdldCkgfHwgY29udGFpbnMoKF9ub2RlJGNvbnRleHQyID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dDIuZWxlbWVudHMuZG9tUmVmZXJlbmNlLCByZWxhdGVkVGFyZ2V0KTtcbiAgICAgICAgfSkgfHwgZ2V0QW5jZXN0b3JzKHRyZWUubm9kZXNSZWYuY3VycmVudCwgbm9kZUlkKS5maW5kKG5vZGUgPT4ge1xuICAgICAgICAgIHZhciBfbm9kZSRjb250ZXh0MywgX25vZGUkY29udGV4dDQ7XG4gICAgICAgICAgcmV0dXJuICgoX25vZGUkY29udGV4dDMgPSBub2RlLmNvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRjb250ZXh0My5lbGVtZW50cy5mbG9hdGluZykgPT09IHJlbGF0ZWRUYXJnZXQgfHwgKChfbm9kZSRjb250ZXh0NCA9IG5vZGUuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJGNvbnRleHQ0LmVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgPT09IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIH0pKSk7XG5cbiAgICAgICAgLy8gUmVzdG9yZSBmb2N1cyB0byB0aGUgcHJldmlvdXMgdGFiYmFibGUgZWxlbWVudCBpbmRleCB0byBwcmV2ZW50XG4gICAgICAgIC8vIGZvY3VzIGZyb20gYmVpbmcgbG9zdCBvdXRzaWRlIHRoZSBmbG9hdGluZyB0cmVlLlxuICAgICAgICBpZiAocmVzdG9yZUZvY3VzICYmIG1vdmVkVG9VbnJlbGF0ZWROb2RlICYmIGFjdGl2ZUVsZW1lbnQoZ2V0RG9jdW1lbnQoZmxvYXRpbmdGb2N1c05vZGUpKSA9PT0gZ2V0RG9jdW1lbnQoZmxvYXRpbmdGb2N1c05vZGUpLmJvZHkpIHtcbiAgICAgICAgICAvLyBMZXQgYEZsb2F0aW5nUG9ydGFsYCBlZmZlY3Qga25vd3MgdGhhdCBmb2N1cyBpcyBzdGlsbCBpbnNpZGUgdGhlXG4gICAgICAgICAgLy8gZmxvYXRpbmcgdHJlZS5cbiAgICAgICAgICBpZiAoaXNIVE1MRWxlbWVudChmbG9hdGluZ0ZvY3VzTm9kZSkpIHtcbiAgICAgICAgICAgIGZsb2F0aW5nRm9jdXNOb2RlID09IG51bGwgfHwgZmxvYXRpbmdGb2N1c05vZGUuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcHJldlRhYmJhYmxlSW5kZXggPSB0YWJiYWJsZUluZGV4UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgY29uc3QgdGFiYmFibGVDb250ZW50ID0gZ2V0VGFiYmFibGVDb250ZW50KCk7XG4gICAgICAgICAgY29uc3Qgbm9kZVRvRm9jdXMgPSB0YWJiYWJsZUNvbnRlbnRbcHJldlRhYmJhYmxlSW5kZXhdIHx8IHRhYmJhYmxlQ29udGVudFt0YWJiYWJsZUNvbnRlbnQubGVuZ3RoIC0gMV0gfHwgZmxvYXRpbmdGb2N1c05vZGU7XG4gICAgICAgICAgaWYgKGlzSFRNTEVsZW1lbnQobm9kZVRvRm9jdXMpKSB7XG4gICAgICAgICAgICBub2RlVG9Gb2N1cy5mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIGRpZCBub3QgbW92ZSBpbnNpZGUgdGhlIGZsb2F0aW5nIHRyZWUsIGFuZCB0aGVyZSBhcmUgbm8gdGFiYmFibGVcbiAgICAgICAgLy8gcG9ydGFsIGd1YXJkcyB0byBoYW5kbGUgY2xvc2luZy5cbiAgICAgICAgaWYgKChpc1VudHJhcHBlZFR5cGVhYmxlQ29tYm9ib3ggPyB0cnVlIDogIW1vZGFsKSAmJiByZWxhdGVkVGFyZ2V0ICYmIG1vdmVkVG9VbnJlbGF0ZWROb2RlICYmICFpc1BvaW50ZXJEb3duUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgLy8gRml4IFJlYWN0IDE4IFN0cmljdCBNb2RlIHJldHVybkZvY3VzIGR1ZSB0byBkb3VibGUgcmVuZGVyaW5nLlxuICAgICAgICByZWxhdGVkVGFyZ2V0ICE9PSBnZXRQcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQoKSkge1xuICAgICAgICAgIHByZXZlbnRSZXR1cm5Gb2N1c1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChmbG9hdGluZyAmJiBpc0hUTUxFbGVtZW50KGRvbVJlZmVyZW5jZSkpIHtcbiAgICAgIGRvbVJlZmVyZW5jZS5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIGhhbmRsZUZvY3VzT3V0c2lkZSk7XG4gICAgICBkb21SZWZlcmVuY2UuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBoYW5kbGVQb2ludGVyRG93bik7XG4gICAgICBmbG9hdGluZy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIGhhbmRsZUZvY3VzT3V0c2lkZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb21SZWZlcmVuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBoYW5kbGVGb2N1c091dHNpZGUpO1xuICAgICAgICBkb21SZWZlcmVuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBoYW5kbGVQb2ludGVyRG93bik7XG4gICAgICAgIGZsb2F0aW5nLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgaGFuZGxlRm9jdXNPdXRzaWRlKTtcbiAgICAgIH07XG4gICAgfVxuICB9LCBbZGlzYWJsZWQsIGRvbVJlZmVyZW5jZSwgZmxvYXRpbmcsIGZsb2F0aW5nRm9jdXNOb2RlLCBtb2RhbCwgbm9kZUlkLCB0cmVlLCBwb3J0YWxDb250ZXh0LCBvbk9wZW5DaGFuZ2UsIGNsb3NlT25Gb2N1c091dCwgcmVzdG9yZUZvY3VzLCBnZXRUYWJiYWJsZUNvbnRlbnQsIGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveF0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHZhciBfcG9ydGFsQ29udGV4dCRwb3J0YWw7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG5cbiAgICAvLyBEb24ndCBoaWRlIHBvcnRhbHMgbmVzdGVkIHdpdGhpbiB0aGUgcGFyZW50IHBvcnRhbC5cbiAgICBjb25zdCBwb3J0YWxOb2RlcyA9IEFycmF5LmZyb20oKHBvcnRhbENvbnRleHQgPT0gbnVsbCB8fCAoX3BvcnRhbENvbnRleHQkcG9ydGFsID0gcG9ydGFsQ29udGV4dC5wb3J0YWxOb2RlKSA9PSBudWxsID8gdm9pZCAwIDogX3BvcnRhbENvbnRleHQkcG9ydGFsLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbXCIgKyBjcmVhdGVBdHRyaWJ1dGUoJ3BvcnRhbCcpICsgXCJdXCIpKSB8fCBbXSk7XG4gICAgaWYgKGZsb2F0aW5nKSB7XG4gICAgICBjb25zdCBpbnNpZGVFbGVtZW50cyA9IFtmbG9hdGluZywgLi4ucG9ydGFsTm9kZXMsIHN0YXJ0RGlzbWlzc0J1dHRvblJlZi5jdXJyZW50LCBlbmREaXNtaXNzQnV0dG9uUmVmLmN1cnJlbnQsIG9yZGVyUmVmLmN1cnJlbnQuaW5jbHVkZXMoJ3JlZmVyZW5jZScpIHx8IGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCA/IGRvbVJlZmVyZW5jZSA6IG51bGxdLmZpbHRlcih4ID0+IHggIT0gbnVsbCk7XG4gICAgICBjb25zdCBjbGVhbnVwID0gbW9kYWwgfHwgaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94ID8gbWFya090aGVycyhpbnNpZGVFbGVtZW50cywgZ3VhcmRzLCAhZ3VhcmRzKSA6IG1hcmtPdGhlcnMoaW5zaWRlRWxlbWVudHMpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY2xlYW51cCgpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtkaXNhYmxlZCwgZG9tUmVmZXJlbmNlLCBmbG9hdGluZywgbW9kYWwsIG9yZGVyUmVmLCBwb3J0YWxDb250ZXh0LCBpc1VudHJhcHBlZFR5cGVhYmxlQ29tYm9ib3gsIGd1YXJkc10pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkIHx8ICFpc0hUTUxFbGVtZW50KGZsb2F0aW5nRm9jdXNOb2RlKSkgcmV0dXJuO1xuICAgIGNvbnN0IGRvYyA9IGdldERvY3VtZW50KGZsb2F0aW5nRm9jdXNOb2RlKTtcbiAgICBjb25zdCBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBhY3RpdmVFbGVtZW50KGRvYyk7XG5cbiAgICAvLyBXYWl0IGZvciBhbnkgbGF5b3V0IGVmZmVjdCBzdGF0ZSBzZXR0ZXJzIHRvIGV4ZWN1dGUgdG8gc2V0IGB0YWJJbmRleGAuXG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBnZXRUYWJiYWJsZUVsZW1lbnRzKGZsb2F0aW5nRm9jdXNOb2RlKTtcbiAgICAgIGNvbnN0IGluaXRpYWxGb2N1c1ZhbHVlID0gaW5pdGlhbEZvY3VzUmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBlbFRvRm9jdXMgPSAodHlwZW9mIGluaXRpYWxGb2N1c1ZhbHVlID09PSAnbnVtYmVyJyA/IGZvY3VzYWJsZUVsZW1lbnRzW2luaXRpYWxGb2N1c1ZhbHVlXSA6IGluaXRpYWxGb2N1c1ZhbHVlLmN1cnJlbnQpIHx8IGZsb2F0aW5nRm9jdXNOb2RlO1xuICAgICAgY29uc3QgZm9jdXNBbHJlYWR5SW5zaWRlRmxvYXRpbmdFbCA9IGNvbnRhaW5zKGZsb2F0aW5nRm9jdXNOb2RlLCBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQpO1xuICAgICAgaWYgKCFpZ25vcmVJbml0aWFsRm9jdXMgJiYgIWZvY3VzQWxyZWFkeUluc2lkZUZsb2F0aW5nRWwgJiYgb3Blbikge1xuICAgICAgICBlbnF1ZXVlRm9jdXMoZWxUb0ZvY3VzLCB7XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogZWxUb0ZvY3VzID09PSBmbG9hdGluZ0ZvY3VzTm9kZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2Rpc2FibGVkLCBvcGVuLCBmbG9hdGluZ0ZvY3VzTm9kZSwgaWdub3JlSW5pdGlhbEZvY3VzLCBnZXRUYWJiYWJsZUVsZW1lbnRzLCBpbml0aWFsRm9jdXNSZWZdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChkaXNhYmxlZCB8fCAhZmxvYXRpbmdGb2N1c05vZGUpIHJldHVybjtcbiAgICBsZXQgcHJldmVudFJldHVybkZvY3VzU2Nyb2xsID0gZmFsc2U7XG4gICAgY29uc3QgZG9jID0gZ2V0RG9jdW1lbnQoZmxvYXRpbmdGb2N1c05vZGUpO1xuICAgIGNvbnN0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQoZG9jKTtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IGRhdGFSZWYuY3VycmVudDtcbiAgICBsZXQgb3BlbkV2ZW50ID0gY29udGV4dERhdGEub3BlbkV2ZW50O1xuICAgIGNvbnN0IGRvbVJlZmVyZW5jZSA9IHJlZnMuZG9tUmVmZXJlbmNlLmN1cnJlbnQ7XG4gICAgYWRkUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCk7XG5cbiAgICAvLyBEaXNtaXNzaW5nIHZpYSBvdXRzaWRlIHByZXNzIHNob3VsZCBhbHdheXMgaWdub3JlIGByZXR1cm5Gb2N1c2AgdG9cbiAgICAvLyBwcmV2ZW50IHVud2FudGVkIHNjcm9sbGluZy5cbiAgICBmdW5jdGlvbiBvbk9wZW5DaGFuZ2UoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgcmVhc29uLFxuICAgICAgICBldmVudCxcbiAgICAgICAgbmVzdGVkXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgIG9wZW5FdmVudCA9IGV2ZW50O1xuICAgICAgfVxuICAgICAgaWYgKHJlYXNvbiA9PT0gJ2VzY2FwZS1rZXknICYmIHJlZnMuZG9tUmVmZXJlbmNlLmN1cnJlbnQpIHtcbiAgICAgICAgYWRkUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KHJlZnMuZG9tUmVmZXJlbmNlLmN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgaWYgKHJlYXNvbiA9PT0gJ2hvdmVyJyAmJiBldmVudC50eXBlID09PSAnbW91c2VsZWF2ZScpIHtcbiAgICAgICAgcHJldmVudFJldHVybkZvY3VzUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHJlYXNvbiAhPT0gJ291dHNpZGUtcHJlc3MnKSByZXR1cm47XG4gICAgICBpZiAobmVzdGVkKSB7XG4gICAgICAgIHByZXZlbnRSZXR1cm5Gb2N1c1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIHByZXZlbnRSZXR1cm5Gb2N1c1Njcm9sbCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9ICEoaXNWaXJ0dWFsQ2xpY2soZXZlbnQpIHx8IGlzVmlydHVhbFBvaW50ZXJFdmVudChldmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBldmVudHMub24oJ29wZW5jaGFuZ2UnLCBvbk9wZW5DaGFuZ2UpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBldmVudHMub2ZmKCdvcGVuY2hhbmdlJywgb25PcGVuQ2hhbmdlKTtcbiAgICAgIGNvbnN0IGFjdGl2ZUVsID0gYWN0aXZlRWxlbWVudChkb2MpO1xuICAgICAgY29uc3QgaXNGb2N1c0luc2lkZUZsb2F0aW5nVHJlZSA9IGNvbnRhaW5zKGZsb2F0aW5nLCBhY3RpdmVFbCkgfHwgdHJlZSAmJiBnZXRDaGlsZHJlbih0cmVlLm5vZGVzUmVmLmN1cnJlbnQsIG5vZGVJZCkuc29tZShub2RlID0+IHtcbiAgICAgICAgdmFyIF9ub2RlJGNvbnRleHQ1O1xuICAgICAgICByZXR1cm4gY29udGFpbnMoKF9ub2RlJGNvbnRleHQ1ID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dDUuZWxlbWVudHMuZmxvYXRpbmcsIGFjdGl2ZUVsKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2hvdWxkRm9jdXNSZWZlcmVuY2UgPSBpc0ZvY3VzSW5zaWRlRmxvYXRpbmdUcmVlIHx8IG9wZW5FdmVudCAmJiBbJ2NsaWNrJywgJ21vdXNlZG93biddLmluY2x1ZGVzKG9wZW5FdmVudC50eXBlKTtcbiAgICAgIGlmIChzaG91bGRGb2N1c1JlZmVyZW5jZSAmJiByZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50KSB7XG4gICAgICAgIGFkZFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudChyZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJldHVybkNvbnRleHRFbGVtZW50ID0gZG9tUmVmZXJlbmNlIHx8IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudDtcbiAgICAgIGNvbnN0IHRhYmJhYmxlRWxlbWVudHMgPSB0YWJiYWJsZShnZXREb2N1bWVudChyZXR1cm5Db250ZXh0RWxlbWVudCkuYm9keSwgZ2V0VGFiYmFibGVPcHRpb25zKCkpO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgcmV0dXJuIGVsZW1lbnQgdG8gZ2V0IHBvdGVudGlhbGx5IGRpc2Nvbm5lY3RlZCBiZWZvcmVcbiAgICAgIC8vIGNoZWNraW5nLlxuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICBsZXQgcmV0dXJuRWxlbWVudCA9IGdldFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpO1xuICAgICAgICBpZiAoIXJldHVybkVsZW1lbnQgJiYgaXNIVE1MRWxlbWVudChyZXR1cm5Db250ZXh0RWxlbWVudCkgJiYgZmxvYXRpbmcpIHtcbiAgICAgICAgICByZXR1cm5FbGVtZW50ID0gZ2V0Q2xvc2VzdFRhYmJhYmxlRWxlbWVudCh0YWJiYWJsZUVsZW1lbnRzLCByZXR1cm5Db250ZXh0RWxlbWVudCwgZmxvYXRpbmcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgICAgICByZXR1cm5Gb2N1c1JlZi5jdXJyZW50ICYmICFwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCAmJiBpc0hUTUxFbGVtZW50KHJldHVybkVsZW1lbnQpICYmIChcbiAgICAgICAgLy8gSWYgdGhlIGZvY3VzIG1vdmVkIHNvbWV3aGVyZSBlbHNlIGFmdGVyIG1vdW50LCBhdm9pZCByZXR1cm5pbmcgZm9jdXNcbiAgICAgICAgLy8gc2luY2UgaXQgbGlrZWx5IGVudGVyZWQgYSBkaWZmZXJlbnQgZWxlbWVudCB3aGljaCBzaG91bGQgYmVcbiAgICAgICAgLy8gcmVzcGVjdGVkOiBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzI2MDdcbiAgICAgICAgcmV0dXJuRWxlbWVudCAhPT0gYWN0aXZlRWwgJiYgYWN0aXZlRWwgIT09IGRvYy5ib2R5ID8gaXNGb2N1c0luc2lkZUZsb2F0aW5nVHJlZSA6IHRydWUpKSB7XG4gICAgICAgICAgcmV0dXJuRWxlbWVudC5mb2N1cyh7XG4gICAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiBwcmV2ZW50UmV0dXJuRm9jdXNTY3JvbGxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgfSwgW2Rpc2FibGVkLCBmbG9hdGluZywgZmxvYXRpbmdGb2N1c05vZGUsIHJldHVybkZvY3VzUmVmLCBkYXRhUmVmLCByZWZzLCBldmVudHMsIHRyZWUsIG5vZGVJZF0pO1xuXG4gIC8vIFN5bmNocm9uaXplIHRoZSBgY29udGV4dGAgJiBgbW9kYWxgIHZhbHVlIHRvIHRoZSBGbG9hdGluZ1BvcnRhbCBjb250ZXh0LlxuICAvLyBJdCB3aWxsIGRlY2lkZSB3aGV0aGVyIG9yIG5vdCBpdCBuZWVkcyB0byByZW5kZXIgaXRzIG93biBndWFyZHMuXG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAoIXBvcnRhbENvbnRleHQpIHJldHVybjtcbiAgICBwb3J0YWxDb250ZXh0LnNldEZvY3VzTWFuYWdlclN0YXRlKHtcbiAgICAgIG1vZGFsLFxuICAgICAgY2xvc2VPbkZvY3VzT3V0LFxuICAgICAgb3BlbixcbiAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgIHJlZnNcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcG9ydGFsQ29udGV4dC5zZXRGb2N1c01hbmFnZXJTdGF0ZShudWxsKTtcbiAgICB9O1xuICB9LCBbZGlzYWJsZWQsIHBvcnRhbENvbnRleHQsIG1vZGFsLCBvcGVuLCBvbk9wZW5DaGFuZ2UsIHJlZnMsIGNsb3NlT25Gb2N1c091dF0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKCFmbG9hdGluZ0ZvY3VzTm9kZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuO1xuICAgIGlmIChpZ25vcmVJbml0aWFsRm9jdXMpIHJldHVybjtcbiAgICBjb25zdCBoYW5kbGVNdXRhdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHRhYkluZGV4ID0gZmxvYXRpbmdGb2N1c05vZGUuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgY29uc3QgdGFiYmFibGVDb250ZW50ID0gZ2V0VGFiYmFibGVDb250ZW50KCk7XG4gICAgICBjb25zdCBhY3RpdmVFbCA9IGFjdGl2ZUVsZW1lbnQoZ2V0RG9jdW1lbnQoZmxvYXRpbmcpKTtcbiAgICAgIGNvbnN0IHRhYmJhYmxlSW5kZXggPSB0YWJiYWJsZUNvbnRlbnQuaW5kZXhPZihhY3RpdmVFbCk7XG4gICAgICBpZiAodGFiYmFibGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGFiYmFibGVJbmRleFJlZi5jdXJyZW50ID0gdGFiYmFibGVJbmRleDtcbiAgICAgIH1cbiAgICAgIGlmIChvcmRlclJlZi5jdXJyZW50LmluY2x1ZGVzKCdmbG9hdGluZycpIHx8IGFjdGl2ZUVsICE9PSByZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50ICYmIHRhYmJhYmxlQ29udGVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKHRhYkluZGV4ICE9PSAnMCcpIHtcbiAgICAgICAgICBmbG9hdGluZ0ZvY3VzTm9kZS5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YWJJbmRleCAhPT0gJy0xJykge1xuICAgICAgICBmbG9hdGluZ0ZvY3VzTm9kZS5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBoYW5kbGVNdXRhdGlvbigpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoaGFuZGxlTXV0YXRpb24pO1xuICAgIG9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmdGb2N1c05vZGUsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlXG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9O1xuICB9LCBbZGlzYWJsZWQsIGZsb2F0aW5nLCBmbG9hdGluZ0ZvY3VzTm9kZSwgcmVmcywgb3JkZXJSZWYsIGdldFRhYmJhYmxlQ29udGVudCwgaWdub3JlSW5pdGlhbEZvY3VzXSk7XG4gIGZ1bmN0aW9uIHJlbmRlckRpc21pc3NCdXR0b24obG9jYXRpb24pIHtcbiAgICBpZiAoZGlzYWJsZWQgfHwgIXZpc3VhbGx5SGlkZGVuRGlzbWlzcyB8fCAhbW9kYWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW5EaXNtaXNzLCB7XG4gICAgICByZWY6IGxvY2F0aW9uID09PSAnc3RhcnQnID8gc3RhcnREaXNtaXNzQnV0dG9uUmVmIDogZW5kRGlzbWlzc0J1dHRvblJlZixcbiAgICAgIG9uQ2xpY2s6IGV2ZW50ID0+IG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQubmF0aXZlRXZlbnQpXG4gICAgfSwgdHlwZW9mIHZpc3VhbGx5SGlkZGVuRGlzbWlzcyA9PT0gJ3N0cmluZycgPyB2aXN1YWxseUhpZGRlbkRpc21pc3MgOiAnRGlzbWlzcycpO1xuICB9XG4gIGNvbnN0IHNob3VsZFJlbmRlckd1YXJkcyA9ICFkaXNhYmxlZCAmJiBndWFyZHMgJiYgKG1vZGFsID8gIWlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCA6IHRydWUpICYmIChpc0luc2lkZVBvcnRhbCB8fCBtb2RhbCk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgc2hvdWxkUmVuZGVyR3VhcmRzICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZvY3VzR3VhcmQsIHtcbiAgICBcImRhdGEtdHlwZVwiOiBcImluc2lkZVwiLFxuICAgIHJlZjogcG9ydGFsQ29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogcG9ydGFsQ29udGV4dC5iZWZvcmVJbnNpZGVSZWYsXG4gICAgb25Gb2N1czogZXZlbnQgPT4ge1xuICAgICAgaWYgKG1vZGFsKSB7XG4gICAgICAgIGNvbnN0IGVscyA9IGdldFRhYmJhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgZW5xdWV1ZUZvY3VzKG9yZGVyWzBdID09PSAncmVmZXJlbmNlJyA/IGVsc1swXSA6IGVsc1tlbHMubGVuZ3RoIC0gMV0pO1xuICAgICAgfSBlbHNlIGlmIChwb3J0YWxDb250ZXh0ICE9IG51bGwgJiYgcG9ydGFsQ29udGV4dC5wcmVzZXJ2ZVRhYk9yZGVyICYmIHBvcnRhbENvbnRleHQucG9ydGFsTm9kZSkge1xuICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICBpZiAoaXNPdXRzaWRlRXZlbnQoZXZlbnQsIHBvcnRhbENvbnRleHQucG9ydGFsTm9kZSkpIHtcbiAgICAgICAgICBjb25zdCBuZXh0VGFiYmFibGUgPSBnZXROZXh0VGFiYmFibGUoKSB8fCBkb21SZWZlcmVuY2U7XG4gICAgICAgICAgbmV4dFRhYmJhYmxlID09IG51bGwgfHwgbmV4dFRhYmJhYmxlLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIF9wb3J0YWxDb250ZXh0JGJlZm9yZTtcbiAgICAgICAgICAoX3BvcnRhbENvbnRleHQkYmVmb3JlID0gcG9ydGFsQ29udGV4dC5iZWZvcmVPdXRzaWRlUmVmLmN1cnJlbnQpID09IG51bGwgfHwgX3BvcnRhbENvbnRleHQkYmVmb3JlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pLCAhaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94ICYmIHJlbmRlckRpc21pc3NCdXR0b24oJ3N0YXJ0JyksIGNoaWxkcmVuLCByZW5kZXJEaXNtaXNzQnV0dG9uKCdlbmQnKSwgc2hvdWxkUmVuZGVyR3VhcmRzICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZvY3VzR3VhcmQsIHtcbiAgICBcImRhdGEtdHlwZVwiOiBcImluc2lkZVwiLFxuICAgIHJlZjogcG9ydGFsQ29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogcG9ydGFsQ29udGV4dC5hZnRlckluc2lkZVJlZixcbiAgICBvbkZvY3VzOiBldmVudCA9PiB7XG4gICAgICBpZiAobW9kYWwpIHtcbiAgICAgICAgZW5xdWV1ZUZvY3VzKGdldFRhYmJhYmxlRWxlbWVudHMoKVswXSk7XG4gICAgICB9IGVsc2UgaWYgKHBvcnRhbENvbnRleHQgIT0gbnVsbCAmJiBwb3J0YWxDb250ZXh0LnByZXNlcnZlVGFiT3JkZXIgJiYgcG9ydGFsQ29udGV4dC5wb3J0YWxOb2RlKSB7XG4gICAgICAgIGlmIChjbG9zZU9uRm9jdXNPdXQpIHtcbiAgICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzT3V0c2lkZUV2ZW50KGV2ZW50LCBwb3J0YWxDb250ZXh0LnBvcnRhbE5vZGUpKSB7XG4gICAgICAgICAgY29uc3QgcHJldlRhYmJhYmxlID0gZ2V0UHJldmlvdXNUYWJiYWJsZSgpIHx8IGRvbVJlZmVyZW5jZTtcbiAgICAgICAgICBwcmV2VGFiYmFibGUgPT0gbnVsbCB8fCBwcmV2VGFiYmFibGUuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgX3BvcnRhbENvbnRleHQkYWZ0ZXJPO1xuICAgICAgICAgIChfcG9ydGFsQ29udGV4dCRhZnRlck8gPSBwb3J0YWxDb250ZXh0LmFmdGVyT3V0c2lkZVJlZi5jdXJyZW50KSA9PSBudWxsIHx8IF9wb3J0YWxDb250ZXh0JGFmdGVyTy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KSk7XG59XG5cbmNvbnN0IGFjdGl2ZUxvY2tzID0gLyojX19QVVJFX18qL25ldyBTZXQoKTtcbi8qKlxuICogUHJvdmlkZXMgYmFzZSBzdHlsaW5nIGZvciBhIGZpeGVkIG92ZXJsYXkgZWxlbWVudCB0byBkaW0gY29udGVudCBvciBibG9ja1xuICogcG9pbnRlciBldmVudHMgYmVoaW5kIGEgZmxvYXRpbmcgZWxlbWVudC5cbiAqIEl0J3MgYSByZWd1bGFyIGA8ZGl2PmAsIHNvIGl0IGNhbiBiZSBzdHlsZWQgdmlhIGFueSBDU1Mgc29sdXRpb24geW91IHByZWZlci5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ092ZXJsYXlcbiAqL1xuY29uc3QgRmxvYXRpbmdPdmVybGF5ID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gRmxvYXRpbmdPdmVybGF5KHByb3BzLCByZWYpIHtcbiAgY29uc3Qge1xuICAgIGxvY2tTY3JvbGwgPSBmYWxzZSxcbiAgICAuLi5yZXN0XG4gIH0gPSBwcm9wcztcbiAgY29uc3QgbG9ja0lkID0gdXNlSWQoKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmICghbG9ja1Njcm9sbCkgcmV0dXJuO1xuICAgIGFjdGl2ZUxvY2tzLmFkZChsb2NrSWQpO1xuICAgIGNvbnN0IGlzSU9TID0gL2lQKGhvbmV8YWR8b2QpfGlPUy8udGVzdChnZXRQbGF0Zm9ybSgpKTtcbiAgICBjb25zdCBib2R5U3R5bGUgPSBkb2N1bWVudC5ib2R5LnN0eWxlO1xuICAgIC8vIFJUTCA8Ym9keT4gc2Nyb2xsYmFyXG4gICAgY29uc3Qgc2Nyb2xsYmFyWCA9IE1hdGgucm91bmQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQpICsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgY29uc3QgcGFkZGluZ1Byb3AgPSBzY3JvbGxiYXJYID8gJ3BhZGRpbmdMZWZ0JyA6ICdwYWRkaW5nUmlnaHQnO1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgY29uc3Qgc2Nyb2xsWCA9IGJvZHlTdHlsZS5sZWZ0ID8gcGFyc2VGbG9hdChib2R5U3R5bGUubGVmdCkgOiB3aW5kb3cuc2Nyb2xsWDtcbiAgICBjb25zdCBzY3JvbGxZID0gYm9keVN0eWxlLnRvcCA/IHBhcnNlRmxvYXQoYm9keVN0eWxlLnRvcCkgOiB3aW5kb3cuc2Nyb2xsWTtcbiAgICBib2R5U3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICBpZiAoc2Nyb2xsYmFyV2lkdGgpIHtcbiAgICAgIGJvZHlTdHlsZVtwYWRkaW5nUHJvcF0gPSBzY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGlPUyBkb2Vzbid0IHJlc3BlY3QgYG92ZXJmbG93OiBoaWRkZW5gIG9uIGRvY3VtZW50LmJvZHksIGFuZCB0aGlzXG4gICAgLy8gdGVjaG5pcXVlIGhhcyBmZXdlciBzaWRlIGVmZmVjdHMuXG4gICAgaWYgKGlzSU9TKSB7XG4gICAgICB2YXIgX3dpbmRvdyR2aXN1YWxWaWV3cG9yLCBfd2luZG93JHZpc3VhbFZpZXdwb3IyO1xuICAgICAgLy8gaU9TIDEyIGRvZXMgbm90IHN1cHBvcnQgYHZpc3VhbFZpZXdwb3J0YC5cbiAgICAgIGNvbnN0IG9mZnNldExlZnQgPSAoKF93aW5kb3ckdmlzdWFsVmlld3BvciA9IHdpbmRvdy52aXN1YWxWaWV3cG9ydCkgPT0gbnVsbCA/IHZvaWQgMCA6IF93aW5kb3ckdmlzdWFsVmlld3Bvci5vZmZzZXRMZWZ0KSB8fCAwO1xuICAgICAgY29uc3Qgb2Zmc2V0VG9wID0gKChfd2luZG93JHZpc3VhbFZpZXdwb3IyID0gd2luZG93LnZpc3VhbFZpZXdwb3J0KSA9PSBudWxsID8gdm9pZCAwIDogX3dpbmRvdyR2aXN1YWxWaWV3cG9yMi5vZmZzZXRUb3ApIHx8IDA7XG4gICAgICBPYmplY3QuYXNzaWduKGJvZHlTdHlsZSwge1xuICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgdG9wOiAtKHNjcm9sbFkgLSBNYXRoLmZsb29yKG9mZnNldFRvcCkpICsgXCJweFwiLFxuICAgICAgICBsZWZ0OiAtKHNjcm9sbFggLSBNYXRoLmZsb29yKG9mZnNldExlZnQpKSArIFwicHhcIixcbiAgICAgICAgcmlnaHQ6ICcwJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBhY3RpdmVMb2Nrcy5kZWxldGUobG9ja0lkKTtcbiAgICAgIGlmIChhY3RpdmVMb2Nrcy5zaXplID09PSAwKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oYm9keVN0eWxlLCB7XG4gICAgICAgICAgb3ZlcmZsb3c6ICcnLFxuICAgICAgICAgIFtwYWRkaW5nUHJvcF06ICcnXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaXNJT1MpIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKGJvZHlTdHlsZSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICcnLFxuICAgICAgICAgICAgdG9wOiAnJyxcbiAgICAgICAgICAgIGxlZnQ6ICcnLFxuICAgICAgICAgICAgcmlnaHQ6ICcnXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKHNjcm9sbFgsIHNjcm9sbFkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2xvY2tJZCwgbG9ja1Njcm9sbF0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmXG4gIH0sIHJlc3QsIHtcbiAgICBzdHlsZToge1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgdG9wOiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgLi4ucmVzdC5zdHlsZVxuICAgIH1cbiAgfSkpO1xufSk7XG5cbmZ1bmN0aW9uIGlzQnV0dG9uVGFyZ2V0KGV2ZW50KSB7XG4gIHJldHVybiBpc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCkgJiYgZXZlbnQudGFyZ2V0LnRhZ05hbWUgPT09ICdCVVRUT04nO1xufVxuZnVuY3Rpb24gaXNTcGFjZUlnbm9yZWQoZWxlbWVudCkge1xuICByZXR1cm4gaXNUeXBlYWJsZUVsZW1lbnQoZWxlbWVudCk7XG59XG4vKipcbiAqIE9wZW5zIG9yIGNsb3NlcyB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIGNsaWNraW5nIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VDbGlja1xuICovXG5mdW5jdGlvbiB1c2VDbGljayhjb250ZXh0LCBwcm9wcykge1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGRhdGFSZWYsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIGRvbVJlZmVyZW5jZVxuICAgIH1cbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBldmVudDogZXZlbnRPcHRpb24gPSAnY2xpY2snLFxuICAgIHRvZ2dsZSA9IHRydWUsXG4gICAgaWdub3JlTW91c2UgPSBmYWxzZSxcbiAgICBrZXlib2FyZEhhbmRsZXJzID0gdHJ1ZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvaW50ZXJUeXBlUmVmID0gUmVhY3QudXNlUmVmKCk7XG4gIGNvbnN0IGRpZEtleURvd25SZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25Qb2ludGVyRG93bihldmVudCkge1xuICAgICAgcG9pbnRlclR5cGVSZWYuY3VycmVudCA9IGV2ZW50LnBvaW50ZXJUeXBlO1xuICAgIH0sXG4gICAgb25Nb3VzZURvd24oZXZlbnQpIHtcbiAgICAgIGNvbnN0IHBvaW50ZXJUeXBlID0gcG9pbnRlclR5cGVSZWYuY3VycmVudDtcblxuICAgICAgLy8gSWdub3JlIGFsbCBidXR0b25zIGV4Y2VwdCBmb3IgdGhlIFwibWFpblwiIGJ1dHRvbi5cbiAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Nb3VzZUV2ZW50L2J1dHRvblxuICAgICAgaWYgKGV2ZW50LmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuICAgICAgaWYgKGV2ZW50T3B0aW9uID09PSAnY2xpY2snKSByZXR1cm47XG4gICAgICBpZiAoaXNNb3VzZUxpa2VQb2ludGVyVHlwZShwb2ludGVyVHlwZSwgdHJ1ZSkgJiYgaWdub3JlTW91c2UpIHJldHVybjtcbiAgICAgIGlmIChvcGVuICYmIHRvZ2dsZSAmJiAoZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudCA/IGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bicgOiB0cnVlKSkge1xuICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFByZXZlbnQgc3RlYWxpbmcgZm9jdXMgZnJvbSB0aGUgZmxvYXRpbmcgZWxlbWVudFxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQubmF0aXZlRXZlbnQsICdjbGljaycpO1xuICAgICAgfVxuICAgIH0sXG4gICAgb25DbGljayhldmVudCkge1xuICAgICAgY29uc3QgcG9pbnRlclR5cGUgPSBwb2ludGVyVHlwZVJlZi5jdXJyZW50O1xuICAgICAgaWYgKGV2ZW50T3B0aW9uID09PSAnbW91c2Vkb3duJyAmJiBwb2ludGVyVHlwZVJlZi5jdXJyZW50KSB7XG4gICAgICAgIHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChpc01vdXNlTGlrZVBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlLCB0cnVlKSAmJiBpZ25vcmVNb3VzZSkgcmV0dXJuO1xuICAgICAgaWYgKG9wZW4gJiYgdG9nZ2xlICYmIChkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50ID8gZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudC50eXBlID09PSAnY2xpY2snIDogdHJ1ZSkpIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ2NsaWNrJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQubmF0aXZlRXZlbnQsICdjbGljaycpO1xuICAgICAgfVxuICAgIH0sXG4gICAgb25LZXlEb3duKGV2ZW50KSB7XG4gICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHwgIWtleWJvYXJkSGFuZGxlcnMgfHwgaXNCdXR0b25UYXJnZXQoZXZlbnQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJyAmJiAhaXNTcGFjZUlnbm9yZWQoZG9tUmVmZXJlbmNlKSkge1xuICAgICAgICAvLyBQcmV2ZW50IHNjcm9sbGluZ1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBkaWRLZXlEb3duUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICBpZiAob3BlbiAmJiB0b2dnbGUpIHtcbiAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQubmF0aXZlRXZlbnQsICdjbGljaycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBvbktleVVwKGV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCAha2V5Ym9hcmRIYW5kbGVycyB8fCBpc0J1dHRvblRhcmdldChldmVudCkgfHwgaXNTcGFjZUlnbm9yZWQoZG9tUmVmZXJlbmNlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnICcgJiYgZGlkS2V5RG93blJlZi5jdXJyZW50KSB7XG4gICAgICAgIGRpZEtleURvd25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICBpZiAob3BlbiAmJiB0b2dnbGUpIHtcbiAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQubmF0aXZlRXZlbnQsICdjbGljaycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KSwgW2RhdGFSZWYsIGRvbVJlZmVyZW5jZSwgZXZlbnRPcHRpb24sIGlnbm9yZU1vdXNlLCBrZXlib2FyZEhhbmRsZXJzLCBvbk9wZW5DaGFuZ2UsIG9wZW4sIHRvZ2dsZV0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiBlbmFibGVkID8ge1xuICAgIHJlZmVyZW5jZVxuICB9IDoge30sIFtlbmFibGVkLCByZWZlcmVuY2VdKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVmlydHVhbEVsZW1lbnQoZG9tRWxlbWVudCwgZGF0YSkge1xuICBsZXQgb2Zmc2V0WCA9IG51bGw7XG4gIGxldCBvZmZzZXRZID0gbnVsbDtcbiAgbGV0IGlzQXV0b1VwZGF0ZUV2ZW50ID0gZmFsc2U7XG4gIHJldHVybiB7XG4gICAgY29udGV4dEVsZW1lbnQ6IGRvbUVsZW1lbnQgfHwgdW5kZWZpbmVkLFxuICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcbiAgICAgIHZhciBfZGF0YSRkYXRhUmVmJGN1cnJlbnQ7XG4gICAgICBjb25zdCBkb21SZWN0ID0gKGRvbUVsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IGRvbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpIHx8IHtcbiAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogMFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzWEF4aXMgPSBkYXRhLmF4aXMgPT09ICd4JyB8fCBkYXRhLmF4aXMgPT09ICdib3RoJztcbiAgICAgIGNvbnN0IGlzWUF4aXMgPSBkYXRhLmF4aXMgPT09ICd5JyB8fCBkYXRhLmF4aXMgPT09ICdib3RoJztcbiAgICAgIGNvbnN0IGNhblRyYWNrQ3Vyc29yT25BdXRvVXBkYXRlID0gWydtb3VzZWVudGVyJywgJ21vdXNlbW92ZSddLmluY2x1ZGVzKCgoX2RhdGEkZGF0YVJlZiRjdXJyZW50ID0gZGF0YS5kYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2RhdGEkZGF0YVJlZiRjdXJyZW50LnR5cGUpIHx8ICcnKSAmJiBkYXRhLnBvaW50ZXJUeXBlICE9PSAndG91Y2gnO1xuICAgICAgbGV0IHdpZHRoID0gZG9tUmVjdC53aWR0aDtcbiAgICAgIGxldCBoZWlnaHQgPSBkb21SZWN0LmhlaWdodDtcbiAgICAgIGxldCB4ID0gZG9tUmVjdC54O1xuICAgICAgbGV0IHkgPSBkb21SZWN0Lnk7XG4gICAgICBpZiAob2Zmc2V0WCA9PSBudWxsICYmIGRhdGEueCAmJiBpc1hBeGlzKSB7XG4gICAgICAgIG9mZnNldFggPSBkb21SZWN0LnggLSBkYXRhLng7XG4gICAgICB9XG4gICAgICBpZiAob2Zmc2V0WSA9PSBudWxsICYmIGRhdGEueSAmJiBpc1lBeGlzKSB7XG4gICAgICAgIG9mZnNldFkgPSBkb21SZWN0LnkgLSBkYXRhLnk7XG4gICAgICB9XG4gICAgICB4IC09IG9mZnNldFggfHwgMDtcbiAgICAgIHkgLT0gb2Zmc2V0WSB8fCAwO1xuICAgICAgd2lkdGggPSAwO1xuICAgICAgaGVpZ2h0ID0gMDtcbiAgICAgIGlmICghaXNBdXRvVXBkYXRlRXZlbnQgfHwgY2FuVHJhY2tDdXJzb3JPbkF1dG9VcGRhdGUpIHtcbiAgICAgICAgd2lkdGggPSBkYXRhLmF4aXMgPT09ICd5JyA/IGRvbVJlY3Qud2lkdGggOiAwO1xuICAgICAgICBoZWlnaHQgPSBkYXRhLmF4aXMgPT09ICd4JyA/IGRvbVJlY3QuaGVpZ2h0IDogMDtcbiAgICAgICAgeCA9IGlzWEF4aXMgJiYgZGF0YS54ICE9IG51bGwgPyBkYXRhLnggOiB4O1xuICAgICAgICB5ID0gaXNZQXhpcyAmJiBkYXRhLnkgIT0gbnVsbCA/IGRhdGEueSA6IHk7XG4gICAgICB9IGVsc2UgaWYgKGlzQXV0b1VwZGF0ZUV2ZW50ICYmICFjYW5UcmFja0N1cnNvck9uQXV0b1VwZGF0ZSkge1xuICAgICAgICBoZWlnaHQgPSBkYXRhLmF4aXMgPT09ICd4JyA/IGRvbVJlY3QuaGVpZ2h0IDogaGVpZ2h0O1xuICAgICAgICB3aWR0aCA9IGRhdGEuYXhpcyA9PT0gJ3knID8gZG9tUmVjdC53aWR0aCA6IHdpZHRoO1xuICAgICAgfVxuICAgICAgaXNBdXRvVXBkYXRlRXZlbnQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgdG9wOiB5LFxuICAgICAgICByaWdodDogeCArIHdpZHRoLFxuICAgICAgICBib3R0b206IHkgKyBoZWlnaHQsXG4gICAgICAgIGxlZnQ6IHhcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gaXNNb3VzZUJhc2VkRXZlbnQoZXZlbnQpIHtcbiAgcmV0dXJuIGV2ZW50ICE9IG51bGwgJiYgZXZlbnQuY2xpZW50WCAhPSBudWxsO1xufVxuLyoqXG4gKiBQb3NpdGlvbnMgdGhlIGZsb2F0aW5nIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSBjbGllbnQgcG9pbnQgKGluIHRoZSB2aWV3cG9ydCksXG4gKiBzdWNoIGFzIHRoZSBtb3VzZSBwb3NpdGlvbi4gQnkgZGVmYXVsdCwgaXQgZm9sbG93cyB0aGUgbW91c2UgY3Vyc29yLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZUNsaWVudFBvaW50XG4gKi9cbmZ1bmN0aW9uIHVzZUNsaWVudFBvaW50KGNvbnRleHQsIHByb3BzKSB7XG4gIGlmIChwcm9wcyA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBkYXRhUmVmLFxuICAgIGVsZW1lbnRzOiB7XG4gICAgICBmbG9hdGluZyxcbiAgICAgIGRvbVJlZmVyZW5jZVxuICAgIH0sXG4gICAgcmVmc1xuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIGF4aXMgPSAnYm90aCcsXG4gICAgeCA9IG51bGwsXG4gICAgeSA9IG51bGxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBpbml0aWFsUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgY2xlYW51cExpc3RlbmVyUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBbcG9pbnRlclR5cGUsIHNldFBvaW50ZXJUeXBlXSA9IFJlYWN0LnVzZVN0YXRlKCk7XG4gIGNvbnN0IFtyZWFjdGl2ZSwgc2V0UmVhY3RpdmVdID0gUmVhY3QudXNlU3RhdGUoW10pO1xuICBjb25zdCBzZXRSZWZlcmVuY2UgPSB1c2VFZmZlY3RFdmVudCgoeCwgeSkgPT4ge1xuICAgIGlmIChpbml0aWFsUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIC8vIFByZXZlbnQgc2V0dGluZyBpZiB0aGUgb3BlbiBldmVudCB3YXMgbm90IGEgbW91c2UtbGlrZSBvbmVcbiAgICAvLyAoZS5nLiBmb2N1cyB0byBvcGVuLCB0aGVuIGhvdmVyIG92ZXIgdGhlIHJlZmVyZW5jZSBlbGVtZW50KS5cbiAgICAvLyBPbmx5IGFwcGx5IGlmIHRoZSBldmVudCBleGlzdHMuXG4gICAgaWYgKGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQgJiYgIWlzTW91c2VCYXNlZEV2ZW50KGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJlZnMuc2V0UG9zaXRpb25SZWZlcmVuY2UoY3JlYXRlVmlydHVhbEVsZW1lbnQoZG9tUmVmZXJlbmNlLCB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIGF4aXMsXG4gICAgICBkYXRhUmVmLFxuICAgICAgcG9pbnRlclR5cGVcbiAgICB9KSk7XG4gIH0pO1xuICBjb25zdCBoYW5kbGVSZWZlcmVuY2VFbnRlck9yTW92ZSA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICBpZiAoeCAhPSBudWxsIHx8IHkgIT0gbnVsbCkgcmV0dXJuO1xuICAgIGlmICghb3Blbikge1xuICAgICAgc2V0UmVmZXJlbmNlKGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpO1xuICAgIH0gZWxzZSBpZiAoIWNsZWFudXBMaXN0ZW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIG5vIGNsZWFudXAsIHRoZXJlJ3Mgbm8gbGlzdGVuZXIsIGJ1dCB3ZSB3YW50IHRvIGVuc3VyZVxuICAgICAgLy8gd2UgYWRkIHRoZSBsaXN0ZW5lciBpZiB0aGUgY3Vyc29yIGxhbmRlZCBvbiB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbmRcbiAgICAgIC8vIHRoZW4gYmFjayBvbiB0aGUgcmVmZXJlbmNlIChpLmUuIGl0J3MgaW50ZXJhY3RpdmUpLlxuICAgICAgc2V0UmVhY3RpdmUoW10pO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gSWYgdGhlIHBvaW50ZXIgaXMgYSBtb3VzZS1saWtlIHBvaW50ZXIsIHdlIHdhbnQgdG8gY29udGludWUgZm9sbG93aW5nIHRoZVxuICAvLyBtb3VzZSBldmVuIGlmIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIHRyYW5zaXRpb25pbmcgb3V0LiBPbiB0b3VjaFxuICAvLyBkZXZpY2VzLCB0aGlzIGlzIHVuZGVzaXJhYmxlIGJlY2F1c2UgdGhlIGZsb2F0aW5nIGVsZW1lbnQgd2lsbCBtb3ZlIHRvXG4gIC8vIHRoZSBkaXNtaXNzYWwgdG91Y2ggcG9pbnQuXG4gIGNvbnN0IG9wZW5DaGVjayA9IGlzTW91c2VMaWtlUG9pbnRlclR5cGUocG9pbnRlclR5cGUpID8gZmxvYXRpbmcgOiBvcGVuO1xuICBjb25zdCBhZGRMaXN0ZW5lciA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBFeHBsaWNpdGx5IHNwZWNpZmllZCBgeGAvYHlgIGNvb3JkaW5hdGVzIHNob3VsZG4ndCBhZGQgYSBsaXN0ZW5lci5cbiAgICBpZiAoIW9wZW5DaGVjayB8fCAhZW5hYmxlZCB8fCB4ICE9IG51bGwgfHwgeSAhPSBudWxsKSByZXR1cm47XG4gICAgY29uc3Qgd2luID0gZ2V0V2luZG93KGZsb2F0aW5nKTtcbiAgICBmdW5jdGlvbiBoYW5kbGVNb3VzZU1vdmUoZXZlbnQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChldmVudCk7XG4gICAgICBpZiAoIWNvbnRhaW5zKGZsb2F0aW5nLCB0YXJnZXQpKSB7XG4gICAgICAgIHNldFJlZmVyZW5jZShldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbi5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBoYW5kbGVNb3VzZU1vdmUpO1xuICAgICAgICBjbGVhbnVwTGlzdGVuZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudCB8fCBpc01vdXNlQmFzZWRFdmVudChkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50KSkge1xuICAgICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGhhbmRsZU1vdXNlTW92ZSk7XG4gICAgICBjb25zdCBjbGVhbnVwID0gKCkgPT4ge1xuICAgICAgICB3aW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgaGFuZGxlTW91c2VNb3ZlKTtcbiAgICAgICAgY2xlYW51cExpc3RlbmVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgfTtcbiAgICAgIGNsZWFudXBMaXN0ZW5lclJlZi5jdXJyZW50ID0gY2xlYW51cDtcbiAgICAgIHJldHVybiBjbGVhbnVwO1xuICAgIH1cbiAgICByZWZzLnNldFBvc2l0aW9uUmVmZXJlbmNlKGRvbVJlZmVyZW5jZSk7XG4gIH0sIFtvcGVuQ2hlY2ssIGVuYWJsZWQsIHgsIHksIGZsb2F0aW5nLCBkYXRhUmVmLCByZWZzLCBkb21SZWZlcmVuY2UsIHNldFJlZmVyZW5jZV0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBhZGRMaXN0ZW5lcigpO1xuICB9LCBbYWRkTGlzdGVuZXIsIHJlYWN0aXZlXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVuYWJsZWQgJiYgIWZsb2F0aW5nKSB7XG4gICAgICBpbml0aWFsUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBmbG9hdGluZ10pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCAmJiBvcGVuKSB7XG4gICAgICBpbml0aWFsUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgfSwgW2VuYWJsZWQsIG9wZW5dKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChlbmFibGVkICYmICh4ICE9IG51bGwgfHwgeSAhPSBudWxsKSkge1xuICAgICAgaW5pdGlhbFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICBzZXRSZWZlcmVuY2UoeCwgeSk7XG4gICAgfVxuICB9LCBbZW5hYmxlZCwgeCwgeSwgc2V0UmVmZXJlbmNlXSk7XG4gIGNvbnN0IHJlZmVyZW5jZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGZ1bmN0aW9uIHNldFBvaW50ZXJUeXBlUmVmKF9yZWYpIHtcbiAgICAgIGxldCB7XG4gICAgICAgIHBvaW50ZXJUeXBlXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIHNldFBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uUG9pbnRlckRvd246IHNldFBvaW50ZXJUeXBlUmVmLFxuICAgICAgb25Qb2ludGVyRW50ZXI6IHNldFBvaW50ZXJUeXBlUmVmLFxuICAgICAgb25Nb3VzZU1vdmU6IGhhbmRsZVJlZmVyZW5jZUVudGVyT3JNb3ZlLFxuICAgICAgb25Nb3VzZUVudGVyOiBoYW5kbGVSZWZlcmVuY2VFbnRlck9yTW92ZVxuICAgIH07XG4gIH0sIFtoYW5kbGVSZWZlcmVuY2VFbnRlck9yTW92ZV0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiBlbmFibGVkID8ge1xuICAgIHJlZmVyZW5jZVxuICB9IDoge30sIFtlbmFibGVkLCByZWZlcmVuY2VdKTtcbn1cblxuY29uc3QgYnViYmxlSGFuZGxlcktleXMgPSB7XG4gIHBvaW50ZXJkb3duOiAnb25Qb2ludGVyRG93bicsXG4gIG1vdXNlZG93bjogJ29uTW91c2VEb3duJyxcbiAgY2xpY2s6ICdvbkNsaWNrJ1xufTtcbmNvbnN0IGNhcHR1cmVIYW5kbGVyS2V5cyA9IHtcbiAgcG9pbnRlcmRvd246ICdvblBvaW50ZXJEb3duQ2FwdHVyZScsXG4gIG1vdXNlZG93bjogJ29uTW91c2VEb3duQ2FwdHVyZScsXG4gIGNsaWNrOiAnb25DbGlja0NhcHR1cmUnXG59O1xuY29uc3Qgbm9ybWFsaXplUHJvcCA9IG5vcm1hbGl6YWJsZSA9PiB7XG4gIHZhciBfbm9ybWFsaXphYmxlJGVzY2FwZUssIF9ub3JtYWxpemFibGUkb3V0c2lkZTtcbiAgcmV0dXJuIHtcbiAgICBlc2NhcGVLZXk6IHR5cGVvZiBub3JtYWxpemFibGUgPT09ICdib29sZWFuJyA/IG5vcm1hbGl6YWJsZSA6IChfbm9ybWFsaXphYmxlJGVzY2FwZUsgPSBub3JtYWxpemFibGUgPT0gbnVsbCA/IHZvaWQgMCA6IG5vcm1hbGl6YWJsZS5lc2NhcGVLZXkpICE9IG51bGwgPyBfbm9ybWFsaXphYmxlJGVzY2FwZUsgOiBmYWxzZSxcbiAgICBvdXRzaWRlUHJlc3M6IHR5cGVvZiBub3JtYWxpemFibGUgPT09ICdib29sZWFuJyA/IG5vcm1hbGl6YWJsZSA6IChfbm9ybWFsaXphYmxlJG91dHNpZGUgPSBub3JtYWxpemFibGUgPT0gbnVsbCA/IHZvaWQgMCA6IG5vcm1hbGl6YWJsZS5vdXRzaWRlUHJlc3MpICE9IG51bGwgPyBfbm9ybWFsaXphYmxlJG91dHNpZGUgOiB0cnVlXG4gIH07XG59O1xuLyoqXG4gKiBDbG9zZXMgdGhlIGZsb2F0aW5nIGVsZW1lbnQgd2hlbiBhIGRpc21pc3NhbCBpcyByZXF1ZXN0ZWQg4oCUIGJ5IGRlZmF1bHQsIHdoZW5cbiAqIHRoZSB1c2VyIHByZXNzZXMgdGhlIGBlc2NhcGVgIGtleSBvciBvdXRzaWRlIG9mIHRoZSBmbG9hdGluZyBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZURpc21pc3NcbiAqL1xuZnVuY3Rpb24gdXNlRGlzbWlzcyhjb250ZXh0LCBwcm9wcykge1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGVsZW1lbnRzLFxuICAgIGRhdGFSZWZcbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBlc2NhcGVLZXkgPSB0cnVlLFxuICAgIG91dHNpZGVQcmVzczogdW5zdGFibGVfb3V0c2lkZVByZXNzID0gdHJ1ZSxcbiAgICBvdXRzaWRlUHJlc3NFdmVudCA9ICdwb2ludGVyZG93bicsXG4gICAgcmVmZXJlbmNlUHJlc3MgPSBmYWxzZSxcbiAgICByZWZlcmVuY2VQcmVzc0V2ZW50ID0gJ3BvaW50ZXJkb3duJyxcbiAgICBhbmNlc3RvclNjcm9sbCA9IGZhbHNlLFxuICAgIGJ1YmJsZXMsXG4gICAgY2FwdHVyZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHRyZWUgPSB1c2VGbG9hdGluZ1RyZWUoKTtcbiAgY29uc3Qgb3V0c2lkZVByZXNzRm4gPSB1c2VFZmZlY3RFdmVudCh0eXBlb2YgdW5zdGFibGVfb3V0c2lkZVByZXNzID09PSAnZnVuY3Rpb24nID8gdW5zdGFibGVfb3V0c2lkZVByZXNzIDogKCkgPT4gZmFsc2UpO1xuICBjb25zdCBvdXRzaWRlUHJlc3MgPSB0eXBlb2YgdW5zdGFibGVfb3V0c2lkZVByZXNzID09PSAnZnVuY3Rpb24nID8gb3V0c2lkZVByZXNzRm4gOiB1bnN0YWJsZV9vdXRzaWRlUHJlc3M7XG4gIGNvbnN0IGluc2lkZVJlYWN0VHJlZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGVuZGVkT3JTdGFydGVkSW5zaWRlUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qge1xuICAgIGVzY2FwZUtleTogZXNjYXBlS2V5QnViYmxlcyxcbiAgICBvdXRzaWRlUHJlc3M6IG91dHNpZGVQcmVzc0J1YmJsZXNcbiAgfSA9IG5vcm1hbGl6ZVByb3AoYnViYmxlcyk7XG4gIGNvbnN0IHtcbiAgICBlc2NhcGVLZXk6IGVzY2FwZUtleUNhcHR1cmUsXG4gICAgb3V0c2lkZVByZXNzOiBvdXRzaWRlUHJlc3NDYXB0dXJlXG4gIH0gPSBub3JtYWxpemVQcm9wKGNhcHR1cmUpO1xuICBjb25zdCBjbG9zZU9uRXNjYXBlS2V5RG93biA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICB2YXIgX2RhdGFSZWYkY3VycmVudCRmbG9hO1xuICAgIGlmICghb3BlbiB8fCAhZW5hYmxlZCB8fCAhZXNjYXBlS2V5IHx8IGV2ZW50LmtleSAhPT0gJ0VzY2FwZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm9kZUlkID0gKF9kYXRhUmVmJGN1cnJlbnQkZmxvYSA9IGRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YVJlZiRjdXJyZW50JGZsb2Eubm9kZUlkO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdHJlZSA/IGdldENoaWxkcmVuKHRyZWUubm9kZXNSZWYuY3VycmVudCwgbm9kZUlkKSA6IFtdO1xuICAgIGlmICghZXNjYXBlS2V5QnViYmxlcykge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgc2hvdWxkRGlzbWlzcyA9IHRydWU7XG4gICAgICAgIGNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgIHZhciBfY2hpbGQkY29udGV4dDtcbiAgICAgICAgICBpZiAoKF9jaGlsZCRjb250ZXh0ID0gY2hpbGQuY29udGV4dCkgIT0gbnVsbCAmJiBfY2hpbGQkY29udGV4dC5vcGVuICYmICFjaGlsZC5jb250ZXh0LmRhdGFSZWYuY3VycmVudC5fX2VzY2FwZUtleUJ1YmJsZXMpIHtcbiAgICAgICAgICAgIHNob3VsZERpc21pc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXNob3VsZERpc21pc3MpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBpc1JlYWN0RXZlbnQoZXZlbnQpID8gZXZlbnQubmF0aXZlRXZlbnQgOiBldmVudCwgJ2VzY2FwZS1rZXknKTtcbiAgfSk7XG4gIGNvbnN0IGNsb3NlT25Fc2NhcGVLZXlEb3duQ2FwdHVyZSA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICB2YXIgX2dldFRhcmdldDI7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICB2YXIgX2dldFRhcmdldDtcbiAgICAgIGNsb3NlT25Fc2NhcGVLZXlEb3duKGV2ZW50KTtcbiAgICAgIChfZ2V0VGFyZ2V0ID0gZ2V0VGFyZ2V0KGV2ZW50KSkgPT0gbnVsbCB8fCBfZ2V0VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBjYWxsYmFjayk7XG4gICAgfTtcbiAgICAoX2dldFRhcmdldDIgPSBnZXRUYXJnZXQoZXZlbnQpKSA9PSBudWxsIHx8IF9nZXRUYXJnZXQyLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBjYWxsYmFjayk7XG4gIH0pO1xuICBjb25zdCBjbG9zZU9uUHJlc3NPdXRzaWRlID0gdXNlRWZmZWN0RXZlbnQoZXZlbnQgPT4ge1xuICAgIHZhciBfZGF0YVJlZiRjdXJyZW50JGZsb2EyO1xuICAgIC8vIEdpdmVuIGRldmVsb3BlcnMgY2FuIHN0b3AgdGhlIHByb3BhZ2F0aW9uIG9mIHRoZSBzeW50aGV0aWMgZXZlbnQsXG4gICAgLy8gd2UgY2FuIG9ubHkgYmUgY29uZmlkZW50IHdpdGggYSBwb3NpdGl2ZSB2YWx1ZS5cbiAgICBjb25zdCBpbnNpZGVSZWFjdFRyZWUgPSBpbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudDtcbiAgICBpbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IGZhbHNlO1xuXG4gICAgLy8gV2hlbiBjbGljayBvdXRzaWRlIGlzIGxhenkgKGBjbGlja2AgZXZlbnQpLCBoYW5kbGUgZHJhZ2dpbmcuXG4gICAgLy8gRG9uJ3QgY2xvc2UgaWY6XG4gICAgLy8gLSBUaGUgY2xpY2sgc3RhcnRlZCBpbnNpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQuXG4gICAgLy8gLSBUaGUgY2xpY2sgZW5kZWQgaW5zaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50LlxuICAgIGNvbnN0IGVuZGVkT3JTdGFydGVkSW5zaWRlID0gZW5kZWRPclN0YXJ0ZWRJbnNpZGVSZWYuY3VycmVudDtcbiAgICBlbmRlZE9yU3RhcnRlZEluc2lkZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgaWYgKG91dHNpZGVQcmVzc0V2ZW50ID09PSAnY2xpY2snICYmIGVuZGVkT3JTdGFydGVkSW5zaWRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpbnNpZGVSZWFjdFRyZWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvdXRzaWRlUHJlc3MgPT09ICdmdW5jdGlvbicgJiYgIW91dHNpZGVQcmVzcyhldmVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGV2ZW50KTtcbiAgICBjb25zdCBpbmVydFNlbGVjdG9yID0gXCJbXCIgKyBjcmVhdGVBdHRyaWJ1dGUoJ2luZXJ0JykgKyBcIl1cIjtcbiAgICBjb25zdCBtYXJrZXJzID0gZ2V0RG9jdW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpLnF1ZXJ5U2VsZWN0b3JBbGwoaW5lcnRTZWxlY3Rvcik7XG4gICAgbGV0IHRhcmdldFJvb3RBbmNlc3RvciA9IGlzRWxlbWVudCh0YXJnZXQpID8gdGFyZ2V0IDogbnVsbDtcbiAgICB3aGlsZSAodGFyZ2V0Um9vdEFuY2VzdG9yICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUodGFyZ2V0Um9vdEFuY2VzdG9yKSkge1xuICAgICAgY29uc3QgbmV4dFBhcmVudCA9IGdldFBhcmVudE5vZGUodGFyZ2V0Um9vdEFuY2VzdG9yKTtcbiAgICAgIGlmIChpc0xhc3RUcmF2ZXJzYWJsZU5vZGUobmV4dFBhcmVudCkgfHwgIWlzRWxlbWVudChuZXh0UGFyZW50KSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHRhcmdldFJvb3RBbmNlc3RvciA9IG5leHRQYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIG9jY3VycmVkIG9uIGEgdGhpcmQtcGFydHkgZWxlbWVudCBpbmplY3RlZCBhZnRlciB0aGVcbiAgICAvLyBmbG9hdGluZyBlbGVtZW50IHJlbmRlcmVkLlxuICAgIGlmIChtYXJrZXJzLmxlbmd0aCAmJiBpc0VsZW1lbnQodGFyZ2V0KSAmJiAhaXNSb290RWxlbWVudCh0YXJnZXQpICYmXG4gICAgLy8gQ2xpY2tlZCBvbiBhIGRpcmVjdCBhbmNlc3RvciAoZS5nLiBGbG9hdGluZ092ZXJsYXkpLlxuICAgICFjb250YWlucyh0YXJnZXQsIGVsZW1lbnRzLmZsb2F0aW5nKSAmJlxuICAgIC8vIElmIHRoZSB0YXJnZXQgcm9vdCBlbGVtZW50IGNvbnRhaW5zIG5vbmUgb2YgdGhlIG1hcmtlcnMsIHRoZW4gdGhlXG4gICAgLy8gZWxlbWVudCB3YXMgaW5qZWN0ZWQgYWZ0ZXIgdGhlIGZsb2F0aW5nIGVsZW1lbnQgcmVuZGVyZWQuXG4gICAgQXJyYXkuZnJvbShtYXJrZXJzKS5ldmVyeShtYXJrZXIgPT4gIWNvbnRhaW5zKHRhcmdldFJvb3RBbmNlc3RvciwgbWFya2VyKSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgb2NjdXJyZWQgb24gdGhlIHNjcm9sbGJhclxuICAgIGlmIChpc0hUTUxFbGVtZW50KHRhcmdldCkgJiYgZmxvYXRpbmcpIHtcbiAgICAgIC8vIEluIEZpcmVmb3gsIGB0YXJnZXQuc2Nyb2xsV2lkdGggPiB0YXJnZXQuY2xpZW50V2lkdGhgIGZvciBpbmxpbmVcbiAgICAgIC8vIGVsZW1lbnRzLlxuICAgICAgY29uc3QgY2FuU2Nyb2xsWCA9IHRhcmdldC5jbGllbnRXaWR0aCA+IDAgJiYgdGFyZ2V0LnNjcm9sbFdpZHRoID4gdGFyZ2V0LmNsaWVudFdpZHRoO1xuICAgICAgY29uc3QgY2FuU2Nyb2xsWSA9IHRhcmdldC5jbGllbnRIZWlnaHQgPiAwICYmIHRhcmdldC5zY3JvbGxIZWlnaHQgPiB0YXJnZXQuY2xpZW50SGVpZ2h0O1xuICAgICAgbGV0IHhDb25kID0gY2FuU2Nyb2xsWSAmJiBldmVudC5vZmZzZXRYID4gdGFyZ2V0LmNsaWVudFdpZHRoO1xuXG4gICAgICAvLyBJbiBzb21lIGJyb3dzZXJzIGl0IGlzIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUgPGJvZHk+IChvciB3aW5kb3cpXG4gICAgICAvLyBzY3JvbGxiYXIgdG8gdGhlIGxlZnQgc2lkZSwgYnV0IGlzIHZlcnkgcmFyZSBhbmQgaXMgZGlmZmljdWx0IHRvXG4gICAgICAvLyBjaGVjayBmb3IuIFBsdXMsIGZvciBtb2RhbCBkaWFsb2dzIHdpdGggYmFja2Ryb3BzLCBpdCBpcyBtb3JlXG4gICAgICAvLyBpbXBvcnRhbnQgdGhhdCB0aGUgYmFja2Ryb3AgaXMgY2hlY2tlZCBidXQgbm90IHNvIG11Y2ggdGhlIHdpbmRvdy5cbiAgICAgIGlmIChjYW5TY3JvbGxZKSB7XG4gICAgICAgIGNvbnN0IGlzUlRMID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XG4gICAgICAgIGlmIChpc1JUTCkge1xuICAgICAgICAgIHhDb25kID0gZXZlbnQub2Zmc2V0WCA8PSB0YXJnZXQub2Zmc2V0V2lkdGggLSB0YXJnZXQuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh4Q29uZCB8fCBjYW5TY3JvbGxYICYmIGV2ZW50Lm9mZnNldFkgPiB0YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgbm9kZUlkID0gKF9kYXRhUmVmJGN1cnJlbnQkZmxvYTIgPSBkYXRhUmVmLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2RhdGFSZWYkY3VycmVudCRmbG9hMi5ub2RlSWQ7XG4gICAgY29uc3QgdGFyZ2V0SXNJbnNpZGVDaGlsZHJlbiA9IHRyZWUgJiYgZ2V0Q2hpbGRyZW4odHJlZS5ub2Rlc1JlZi5jdXJyZW50LCBub2RlSWQpLnNvbWUobm9kZSA9PiB7XG4gICAgICB2YXIgX25vZGUkY29udGV4dDtcbiAgICAgIHJldHVybiBpc0V2ZW50VGFyZ2V0V2l0aGluKGV2ZW50LCAoX25vZGUkY29udGV4dCA9IG5vZGUuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJGNvbnRleHQuZWxlbWVudHMuZmxvYXRpbmcpO1xuICAgIH0pO1xuICAgIGlmIChpc0V2ZW50VGFyZ2V0V2l0aGluKGV2ZW50LCBlbGVtZW50cy5mbG9hdGluZykgfHwgaXNFdmVudFRhcmdldFdpdGhpbihldmVudCwgZWxlbWVudHMuZG9tUmVmZXJlbmNlKSB8fCB0YXJnZXRJc0luc2lkZUNoaWxkcmVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkcmVuID0gdHJlZSA/IGdldENoaWxkcmVuKHRyZWUubm9kZXNSZWYuY3VycmVudCwgbm9kZUlkKSA6IFtdO1xuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgc2hvdWxkRGlzbWlzcyA9IHRydWU7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgdmFyIF9jaGlsZCRjb250ZXh0MjtcbiAgICAgICAgaWYgKChfY2hpbGQkY29udGV4dDIgPSBjaGlsZC5jb250ZXh0KSAhPSBudWxsICYmIF9jaGlsZCRjb250ZXh0Mi5vcGVuICYmICFjaGlsZC5jb250ZXh0LmRhdGFSZWYuY3VycmVudC5fX291dHNpZGVQcmVzc0J1YmJsZXMpIHtcbiAgICAgICAgICBzaG91bGREaXNtaXNzID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICghc2hvdWxkRGlzbWlzcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQsICdvdXRzaWRlLXByZXNzJyk7XG4gIH0pO1xuICBjb25zdCBjbG9zZU9uUHJlc3NPdXRzaWRlQ2FwdHVyZSA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICB2YXIgX2dldFRhcmdldDQ7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICB2YXIgX2dldFRhcmdldDM7XG4gICAgICBjbG9zZU9uUHJlc3NPdXRzaWRlKGV2ZW50KTtcbiAgICAgIChfZ2V0VGFyZ2V0MyA9IGdldFRhcmdldChldmVudCkpID09IG51bGwgfHwgX2dldFRhcmdldDMucmVtb3ZlRXZlbnRMaXN0ZW5lcihvdXRzaWRlUHJlc3NFdmVudCwgY2FsbGJhY2spO1xuICAgIH07XG4gICAgKF9nZXRUYXJnZXQ0ID0gZ2V0VGFyZ2V0KGV2ZW50KSkgPT0gbnVsbCB8fCBfZ2V0VGFyZ2V0NC5hZGRFdmVudExpc3RlbmVyKG91dHNpZGVQcmVzc0V2ZW50LCBjYWxsYmFjayk7XG4gIH0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkYXRhUmVmLmN1cnJlbnQuX19lc2NhcGVLZXlCdWJibGVzID0gZXNjYXBlS2V5QnViYmxlcztcbiAgICBkYXRhUmVmLmN1cnJlbnQuX19vdXRzaWRlUHJlc3NCdWJibGVzID0gb3V0c2lkZVByZXNzQnViYmxlcztcbiAgICBmdW5jdGlvbiBvblNjcm9sbChldmVudCkge1xuICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudCwgJ2FuY2VzdG9yLXNjcm9sbCcpO1xuICAgIH1cbiAgICBjb25zdCBkb2MgPSBnZXREb2N1bWVudChlbGVtZW50cy5mbG9hdGluZyk7XG4gICAgZXNjYXBlS2V5ICYmIGRvYy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZXNjYXBlS2V5Q2FwdHVyZSA/IGNsb3NlT25Fc2NhcGVLZXlEb3duQ2FwdHVyZSA6IGNsb3NlT25Fc2NhcGVLZXlEb3duLCBlc2NhcGVLZXlDYXB0dXJlKTtcbiAgICBvdXRzaWRlUHJlc3MgJiYgZG9jLmFkZEV2ZW50TGlzdGVuZXIob3V0c2lkZVByZXNzRXZlbnQsIG91dHNpZGVQcmVzc0NhcHR1cmUgPyBjbG9zZU9uUHJlc3NPdXRzaWRlQ2FwdHVyZSA6IGNsb3NlT25QcmVzc091dHNpZGUsIG91dHNpZGVQcmVzc0NhcHR1cmUpO1xuICAgIGxldCBhbmNlc3RvcnMgPSBbXTtcbiAgICBpZiAoYW5jZXN0b3JTY3JvbGwpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSkge1xuICAgICAgICBhbmNlc3RvcnMgPSBnZXRPdmVyZmxvd0FuY2VzdG9ycyhlbGVtZW50cy5kb21SZWZlcmVuY2UpO1xuICAgICAgfVxuICAgICAgaWYgKGlzRWxlbWVudChlbGVtZW50cy5mbG9hdGluZykpIHtcbiAgICAgICAgYW5jZXN0b3JzID0gYW5jZXN0b3JzLmNvbmNhdChnZXRPdmVyZmxvd0FuY2VzdG9ycyhlbGVtZW50cy5mbG9hdGluZykpO1xuICAgICAgfVxuICAgICAgaWYgKCFpc0VsZW1lbnQoZWxlbWVudHMucmVmZXJlbmNlKSAmJiBlbGVtZW50cy5yZWZlcmVuY2UgJiYgZWxlbWVudHMucmVmZXJlbmNlLmNvbnRleHRFbGVtZW50KSB7XG4gICAgICAgIGFuY2VzdG9ycyA9IGFuY2VzdG9ycy5jb25jYXQoZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZWxlbWVudHMucmVmZXJlbmNlLmNvbnRleHRFbGVtZW50KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWdub3JlIHRoZSB2aXN1YWwgdmlld3BvcnQgZm9yIHNjcm9sbGluZyBkaXNtaXNzYWwgKGFsbG93IHBpbmNoLXpvb20pXG4gICAgYW5jZXN0b3JzID0gYW5jZXN0b3JzLmZpbHRlcihhbmNlc3RvciA9PiB7XG4gICAgICB2YXIgX2RvYyRkZWZhdWx0VmlldztcbiAgICAgIHJldHVybiBhbmNlc3RvciAhPT0gKChfZG9jJGRlZmF1bHRWaWV3ID0gZG9jLmRlZmF1bHRWaWV3KSA9PSBudWxsID8gdm9pZCAwIDogX2RvYyRkZWZhdWx0Vmlldy52aXN1YWxWaWV3cG9ydCk7XG4gICAgfSk7XG4gICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwsIHtcbiAgICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGVzY2FwZUtleSAmJiBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGVzY2FwZUtleUNhcHR1cmUgPyBjbG9zZU9uRXNjYXBlS2V5RG93bkNhcHR1cmUgOiBjbG9zZU9uRXNjYXBlS2V5RG93biwgZXNjYXBlS2V5Q2FwdHVyZSk7XG4gICAgICBvdXRzaWRlUHJlc3MgJiYgZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIob3V0c2lkZVByZXNzRXZlbnQsIG91dHNpZGVQcmVzc0NhcHR1cmUgPyBjbG9zZU9uUHJlc3NPdXRzaWRlQ2FwdHVyZSA6IGNsb3NlT25QcmVzc091dHNpZGUsIG91dHNpZGVQcmVzc0NhcHR1cmUpO1xuICAgICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgICBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9LCBbZGF0YVJlZiwgZWxlbWVudHMsIGVzY2FwZUtleSwgb3V0c2lkZVByZXNzLCBvdXRzaWRlUHJlc3NFdmVudCwgb3Blbiwgb25PcGVuQ2hhbmdlLCBhbmNlc3RvclNjcm9sbCwgZW5hYmxlZCwgZXNjYXBlS2V5QnViYmxlcywgb3V0c2lkZVByZXNzQnViYmxlcywgY2xvc2VPbkVzY2FwZUtleURvd24sIGVzY2FwZUtleUNhcHR1cmUsIGNsb3NlT25Fc2NhcGVLZXlEb3duQ2FwdHVyZSwgY2xvc2VPblByZXNzT3V0c2lkZSwgb3V0c2lkZVByZXNzQ2FwdHVyZSwgY2xvc2VPblByZXNzT3V0c2lkZUNhcHR1cmVdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbb3V0c2lkZVByZXNzLCBvdXRzaWRlUHJlc3NFdmVudF0pO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25LZXlEb3duOiBjbG9zZU9uRXNjYXBlS2V5RG93bixcbiAgICBbYnViYmxlSGFuZGxlcktleXNbcmVmZXJlbmNlUHJlc3NFdmVudF1dOiBldmVudCA9PiB7XG4gICAgICBpZiAocmVmZXJlbmNlUHJlc3MpIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ3JlZmVyZW5jZS1wcmVzcycpO1xuICAgICAgfVxuICAgIH1cbiAgfSksIFtjbG9zZU9uRXNjYXBlS2V5RG93biwgb25PcGVuQ2hhbmdlLCByZWZlcmVuY2VQcmVzcywgcmVmZXJlbmNlUHJlc3NFdmVudF0pO1xuICBjb25zdCBmbG9hdGluZyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBvbktleURvd246IGNsb3NlT25Fc2NhcGVLZXlEb3duLFxuICAgIG9uTW91c2VEb3duKCkge1xuICAgICAgZW5kZWRPclN0YXJ0ZWRJbnNpZGVSZWYuY3VycmVudCA9IHRydWU7XG4gICAgfSxcbiAgICBvbk1vdXNlVXAoKSB7XG4gICAgICBlbmRlZE9yU3RhcnRlZEluc2lkZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9LFxuICAgIFtjYXB0dXJlSGFuZGxlcktleXNbb3V0c2lkZVByZXNzRXZlbnRdXTogKCkgPT4ge1xuICAgICAgaW5zaWRlUmVhY3RUcmVlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgfSksIFtjbG9zZU9uRXNjYXBlS2V5RG93biwgb3V0c2lkZVByZXNzRXZlbnRdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmdcbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlLCBmbG9hdGluZ10pO1xufVxuXG5mdW5jdGlvbiB1c2VGbG9hdGluZ1Jvb3RDb250ZXh0KG9wdGlvbnMpIHtcbiAgY29uc3Qge1xuICAgIG9wZW4gPSBmYWxzZSxcbiAgICBvbk9wZW5DaGFuZ2U6IG9uT3BlbkNoYW5nZVByb3AsXG4gICAgZWxlbWVudHM6IGVsZW1lbnRzUHJvcFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgZmxvYXRpbmdJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IGRhdGFSZWYgPSBSZWFjdC51c2VSZWYoe30pO1xuICBjb25zdCBbZXZlbnRzXSA9IFJlYWN0LnVzZVN0YXRlKCgpID0+IGNyZWF0ZVB1YlN1YigpKTtcbiAgY29uc3QgbmVzdGVkID0gdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQoKSAhPSBudWxsO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgY29uc3Qgb3B0aW9uRG9tUmVmZXJlbmNlID0gZWxlbWVudHNQcm9wLnJlZmVyZW5jZTtcbiAgICBpZiAob3B0aW9uRG9tUmVmZXJlbmNlICYmICFpc0VsZW1lbnQob3B0aW9uRG9tUmVmZXJlbmNlKSkge1xuICAgICAgZXJyb3IoJ0Nhbm5vdCBwYXNzIGEgdmlydHVhbCBlbGVtZW50IHRvIHRoZSBgZWxlbWVudHMucmVmZXJlbmNlYCBvcHRpb24sJywgJ2FzIGl0IG11c3QgYmUgYSByZWFsIERPTSBlbGVtZW50LiBVc2UgYHJlZnMuc2V0UG9zaXRpb25SZWZlcmVuY2UoKWAnLCAnaW5zdGVhZC4nKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgW3Bvc2l0aW9uUmVmZXJlbmNlLCBzZXRQb3NpdGlvblJlZmVyZW5jZV0gPSBSZWFjdC51c2VTdGF0ZShlbGVtZW50c1Byb3AucmVmZXJlbmNlKTtcbiAgY29uc3Qgb25PcGVuQ2hhbmdlID0gdXNlRWZmZWN0RXZlbnQoKG9wZW4sIGV2ZW50LCByZWFzb24pID0+IHtcbiAgICBkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50ID0gb3BlbiA/IGV2ZW50IDogdW5kZWZpbmVkO1xuICAgIGV2ZW50cy5lbWl0KCdvcGVuY2hhbmdlJywge1xuICAgICAgb3BlbixcbiAgICAgIGV2ZW50LFxuICAgICAgcmVhc29uLFxuICAgICAgbmVzdGVkXG4gICAgfSk7XG4gICAgb25PcGVuQ2hhbmdlUHJvcCA9PSBudWxsIHx8IG9uT3BlbkNoYW5nZVByb3Aob3BlbiwgZXZlbnQsIHJlYXNvbik7XG4gIH0pO1xuICBjb25zdCByZWZzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHNldFBvc2l0aW9uUmVmZXJlbmNlXG4gIH0pLCBbXSk7XG4gIGNvbnN0IGVsZW1lbnRzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZmVyZW5jZTogcG9zaXRpb25SZWZlcmVuY2UgfHwgZWxlbWVudHNQcm9wLnJlZmVyZW5jZSB8fCBudWxsLFxuICAgIGZsb2F0aW5nOiBlbGVtZW50c1Byb3AuZmxvYXRpbmcgfHwgbnVsbCxcbiAgICBkb21SZWZlcmVuY2U6IGVsZW1lbnRzUHJvcC5yZWZlcmVuY2VcbiAgfSksIFtwb3NpdGlvblJlZmVyZW5jZSwgZWxlbWVudHNQcm9wLnJlZmVyZW5jZSwgZWxlbWVudHNQcm9wLmZsb2F0aW5nXSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgZGF0YVJlZixcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBlbGVtZW50cyxcbiAgICBldmVudHMsXG4gICAgZmxvYXRpbmdJZCxcbiAgICByZWZzXG4gIH0pLCBbb3Blbiwgb25PcGVuQ2hhbmdlLCBlbGVtZW50cywgZXZlbnRzLCBmbG9hdGluZ0lkLCByZWZzXSk7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhIGZsb2F0aW5nIGVsZW1lbnQgYW5kIGNvbnRleHQgdG8gYWRkIGludGVyYWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VGbG9hdGluZ1xuICovXG5mdW5jdGlvbiB1c2VGbG9hdGluZyhvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG5vZGVJZFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgaW50ZXJuYWxSb290Q29udGV4dCA9IHVzZUZsb2F0aW5nUm9vdENvbnRleHQoe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIHJlZmVyZW5jZTogbnVsbCxcbiAgICAgIGZsb2F0aW5nOiBudWxsLFxuICAgICAgLi4ub3B0aW9ucy5lbGVtZW50c1xuICAgIH1cbiAgfSk7XG4gIGNvbnN0IHJvb3RDb250ZXh0ID0gb3B0aW9ucy5yb290Q29udGV4dCB8fCBpbnRlcm5hbFJvb3RDb250ZXh0O1xuICBjb25zdCBjb21wdXRlZEVsZW1lbnRzID0gcm9vdENvbnRleHQuZWxlbWVudHM7XG4gIGNvbnN0IFtfZG9tUmVmZXJlbmNlLCBzZXREb21SZWZlcmVuY2VdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvblJlZmVyZW5jZSwgX3NldFBvc2l0aW9uUmVmZXJlbmNlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBvcHRpb25Eb21SZWZlcmVuY2UgPSBjb21wdXRlZEVsZW1lbnRzID09IG51bGwgPyB2b2lkIDAgOiBjb21wdXRlZEVsZW1lbnRzLnJlZmVyZW5jZTtcbiAgY29uc3QgZG9tUmVmZXJlbmNlID0gb3B0aW9uRG9tUmVmZXJlbmNlIHx8IF9kb21SZWZlcmVuY2U7XG4gIGNvbnN0IGRvbVJlZmVyZW5jZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgdHJlZSA9IHVzZUZsb2F0aW5nVHJlZSgpO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGRvbVJlZmVyZW5jZSkge1xuICAgICAgZG9tUmVmZXJlbmNlUmVmLmN1cnJlbnQgPSBkb21SZWZlcmVuY2U7XG4gICAgfVxuICB9LCBbZG9tUmVmZXJlbmNlXSk7XG4gIGNvbnN0IHBvc2l0aW9uID0gdXNlRmxvYXRpbmckMSh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBlbGVtZW50czoge1xuICAgICAgLi4uY29tcHV0ZWRFbGVtZW50cyxcbiAgICAgIC4uLihwb3NpdGlvblJlZmVyZW5jZSAmJiB7XG4gICAgICAgIHJlZmVyZW5jZTogcG9zaXRpb25SZWZlcmVuY2VcbiAgICAgIH0pXG4gICAgfVxuICB9KTtcbiAgY29uc3Qgc2V0UG9zaXRpb25SZWZlcmVuY2UgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBjb25zdCBjb21wdXRlZFBvc2l0aW9uUmVmZXJlbmNlID0gaXNFbGVtZW50KG5vZGUpID8ge1xuICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0OiAoKSA9PiBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgY29udGV4dEVsZW1lbnQ6IG5vZGVcbiAgICB9IDogbm9kZTtcbiAgICAvLyBTdG9yZSB0aGUgcG9zaXRpb25SZWZlcmVuY2UgaW4gc3RhdGUgaWYgdGhlIERPTSByZWZlcmVuY2UgaXMgc3BlY2lmaWVkIGV4dGVybmFsbHkgdmlhIHRoZVxuICAgIC8vIGBlbGVtZW50cy5yZWZlcmVuY2VgIG9wdGlvbi4gVGhpcyBlbnN1cmVzIHRoYXQgaXQgd29uJ3QgYmUgb3ZlcnJpZGRlbiBvbiBmdXR1cmUgcmVuZGVycy5cbiAgICBfc2V0UG9zaXRpb25SZWZlcmVuY2UoY29tcHV0ZWRQb3NpdGlvblJlZmVyZW5jZSk7XG4gICAgcG9zaXRpb24ucmVmcy5zZXRSZWZlcmVuY2UoY29tcHV0ZWRQb3NpdGlvblJlZmVyZW5jZSk7XG4gIH0sIFtwb3NpdGlvbi5yZWZzXSk7XG4gIGNvbnN0IHNldFJlZmVyZW5jZSA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIGlmIChpc0VsZW1lbnQobm9kZSkgfHwgbm9kZSA9PT0gbnVsbCkge1xuICAgICAgZG9tUmVmZXJlbmNlUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgc2V0RG9tUmVmZXJlbmNlKG5vZGUpO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGZvciBwYXNzaW5nIGEgdmlydHVhbCBlbGVtZW50IHRvIGByZWZlcmVuY2VgXG4gICAgLy8gYWZ0ZXIgaXQgaGFzIHNldCB0aGUgRE9NIHJlZmVyZW5jZS5cbiAgICBpZiAoaXNFbGVtZW50KHBvc2l0aW9uLnJlZnMucmVmZXJlbmNlLmN1cnJlbnQpIHx8IHBvc2l0aW9uLnJlZnMucmVmZXJlbmNlLmN1cnJlbnQgPT09IG51bGwgfHxcbiAgICAvLyBEb24ndCBhbGxvdyBzZXR0aW5nIHZpcnR1YWwgZWxlbWVudHMgdXNpbmcgdGhlIG9sZCB0ZWNobmlxdWUgYmFjayB0b1xuICAgIC8vIGBudWxsYCB0byBzdXBwb3J0IGBwb3NpdGlvblJlZmVyZW5jZWAgKyBhbiB1bnN0YWJsZSBgcmVmZXJlbmNlYFxuICAgIC8vIGNhbGxiYWNrIHJlZi5cbiAgICBub2RlICE9PSBudWxsICYmICFpc0VsZW1lbnQobm9kZSkpIHtcbiAgICAgIHBvc2l0aW9uLnJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgIH1cbiAgfSwgW3Bvc2l0aW9uLnJlZnNdKTtcbiAgY29uc3QgcmVmcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5wb3NpdGlvbi5yZWZzLFxuICAgIHNldFJlZmVyZW5jZSxcbiAgICBzZXRQb3NpdGlvblJlZmVyZW5jZSxcbiAgICBkb21SZWZlcmVuY2U6IGRvbVJlZmVyZW5jZVJlZlxuICB9KSwgW3Bvc2l0aW9uLnJlZnMsIHNldFJlZmVyZW5jZSwgc2V0UG9zaXRpb25SZWZlcmVuY2VdKTtcbiAgY29uc3QgZWxlbWVudHMgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgLi4ucG9zaXRpb24uZWxlbWVudHMsXG4gICAgZG9tUmVmZXJlbmNlOiBkb21SZWZlcmVuY2VcbiAgfSksIFtwb3NpdGlvbi5lbGVtZW50cywgZG9tUmVmZXJlbmNlXSk7XG4gIGNvbnN0IGNvbnRleHQgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgLi4ucG9zaXRpb24sXG4gICAgLi4ucm9vdENvbnRleHQsXG4gICAgcmVmcyxcbiAgICBlbGVtZW50cyxcbiAgICBub2RlSWRcbiAgfSksIFtwb3NpdGlvbiwgcmVmcywgZWxlbWVudHMsIG5vZGVJZCwgcm9vdENvbnRleHRdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIHJvb3RDb250ZXh0LmRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQgPSBjb250ZXh0O1xuICAgIGNvbnN0IG5vZGUgPSB0cmVlID09IG51bGwgPyB2b2lkIDAgOiB0cmVlLm5vZGVzUmVmLmN1cnJlbnQuZmluZChub2RlID0+IG5vZGUuaWQgPT09IG5vZGVJZCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIG5vZGUuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5wb3NpdGlvbixcbiAgICBjb250ZXh0LFxuICAgIHJlZnMsXG4gICAgZWxlbWVudHNcbiAgfSksIFtwb3NpdGlvbiwgcmVmcywgZWxlbWVudHMsIGNvbnRleHRdKTtcbn1cblxuLyoqXG4gKiBPcGVucyB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGlsZSB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgaGFzIGZvY3VzLCBsaWtlIENTU1xuICogYDpmb2N1c2AuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlRm9jdXNcbiAqL1xuZnVuY3Rpb24gdXNlRm9jdXMoY29udGV4dCwgcHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBldmVudHMsXG4gICAgZGF0YVJlZixcbiAgICBlbGVtZW50c1xuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIHZpc2libGVPbmx5ID0gdHJ1ZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGJsb2NrRm9jdXNSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCB0aW1lb3V0UmVmID0gUmVhY3QudXNlUmVmKCk7XG4gIGNvbnN0IGtleWJvYXJkTW9kYWxpdHlSZWYgPSBSZWFjdC51c2VSZWYodHJ1ZSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgY29uc3Qgd2luID0gZ2V0V2luZG93KGVsZW1lbnRzLmRvbVJlZmVyZW5jZSk7XG5cbiAgICAvLyBJZiB0aGUgcmVmZXJlbmNlIHdhcyBmb2N1c2VkIGFuZCB0aGUgdXNlciBsZWZ0IHRoZSB0YWIvd2luZG93LCBhbmQgdGhlXG4gICAgLy8gZmxvYXRpbmcgZWxlbWVudCB3YXMgbm90IG9wZW4sIHRoZSBmb2N1cyBzaG91bGQgYmUgYmxvY2tlZCB3aGVuIHRoZXlcbiAgICAvLyByZXR1cm4gdG8gdGhlIHRhYi93aW5kb3cuXG4gICAgZnVuY3Rpb24gb25CbHVyKCkge1xuICAgICAgaWYgKCFvcGVuICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSAmJiBlbGVtZW50cy5kb21SZWZlcmVuY2UgPT09IGFjdGl2ZUVsZW1lbnQoZ2V0RG9jdW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSkpIHtcbiAgICAgICAgYmxvY2tGb2N1c1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gb25LZXlEb3duKCkge1xuICAgICAga2V5Ym9hcmRNb2RhbGl0eVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9XG4gICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBvbkJsdXIpO1xuICAgIHdpbi5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duLCB0cnVlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCBvbkJsdXIpO1xuICAgICAgd2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24sIHRydWUpO1xuICAgIH07XG4gIH0sIFtlbGVtZW50cy5kb21SZWZlcmVuY2UsIG9wZW4sIGVuYWJsZWRdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBmdW5jdGlvbiBvbk9wZW5DaGFuZ2UoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgcmVhc29uXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGlmIChyZWFzb24gPT09ICdyZWZlcmVuY2UtcHJlc3MnIHx8IHJlYXNvbiA9PT0gJ2VzY2FwZS1rZXknKSB7XG4gICAgICAgIGJsb2NrRm9jdXNSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGV2ZW50cy5vbignb3BlbmNoYW5nZScsIG9uT3BlbkNoYW5nZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGV2ZW50cy5vZmYoJ29wZW5jaGFuZ2UnLCBvbk9wZW5DaGFuZ2UpO1xuICAgIH07XG4gIH0sIFtldmVudHMsIGVuYWJsZWRdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgfTtcbiAgfSwgW10pO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25Qb2ludGVyRG93bihldmVudCkge1xuICAgICAgaWYgKGlzVmlydHVhbFBvaW50ZXJFdmVudChldmVudC5uYXRpdmVFdmVudCkpIHJldHVybjtcbiAgICAgIGtleWJvYXJkTW9kYWxpdHlSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH0sXG4gICAgb25Nb3VzZUxlYXZlKCkge1xuICAgICAgYmxvY2tGb2N1c1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSxcbiAgICBvbkZvY3VzKGV2ZW50KSB7XG4gICAgICBpZiAoYmxvY2tGb2N1c1JlZi5jdXJyZW50KSByZXR1cm47XG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQoZXZlbnQubmF0aXZlRXZlbnQpO1xuICAgICAgaWYgKHZpc2libGVPbmx5ICYmIGlzRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gTWFjIFNhZmFyaSB1bnJlbGlhYmx5IG1hdGNoZXMgYDpmb2N1cy12aXNpYmxlYCBvbiB0aGUgcmVmZXJlbmNlXG4gICAgICAgICAgLy8gaWYgZm9jdXMgd2FzIG91dHNpZGUgdGhlIHBhZ2UgaW5pdGlhbGx5IC0gdXNlIHRoZSBmYWxsYmFja1xuICAgICAgICAgIC8vIGluc3RlYWQuXG4gICAgICAgICAgaWYgKGlzU2FmYXJpKCkgJiYgaXNNYWMoKSkgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICBpZiAoIXRhcmdldC5tYXRjaGVzKCc6Zm9jdXMtdmlzaWJsZScpKSByZXR1cm47XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBPbGQgYnJvd3NlcnMgd2lsbCB0aHJvdyBhbiBlcnJvciB3aGVuIHVzaW5nIGA6Zm9jdXMtdmlzaWJsZWAuXG4gICAgICAgICAgaWYgKCFrZXlib2FyZE1vZGFsaXR5UmVmLmN1cnJlbnQgJiYgIWlzVHlwZWFibGVFbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9uT3BlbkNoYW5nZSh0cnVlLCBldmVudC5uYXRpdmVFdmVudCwgJ2ZvY3VzJyk7XG4gICAgfSxcbiAgICBvbkJsdXIoZXZlbnQpIHtcbiAgICAgIGJsb2NrRm9jdXNSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBjb25zdCBuYXRpdmVFdmVudCA9IGV2ZW50Lm5hdGl2ZUV2ZW50O1xuXG4gICAgICAvLyBIaXQgdGhlIG5vbi1tb2RhbCBmb2N1cyBtYW5hZ2VtZW50IHBvcnRhbCBndWFyZC4gRm9jdXMgd2lsbCBiZVxuICAgICAgLy8gbW92ZWQgaW50byB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbW1lZGlhdGVseSBhZnRlci5cbiAgICAgIGNvbnN0IG1vdmVkVG9Gb2N1c0d1YXJkID0gaXNFbGVtZW50KHJlbGF0ZWRUYXJnZXQpICYmIHJlbGF0ZWRUYXJnZXQuaGFzQXR0cmlidXRlKGNyZWF0ZUF0dHJpYnV0ZSgnZm9jdXMtZ3VhcmQnKSkgJiYgcmVsYXRlZFRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdHlwZScpID09PSAnb3V0c2lkZSc7XG5cbiAgICAgIC8vIFdhaXQgZm9yIHRoZSB3aW5kb3cgYmx1ciBsaXN0ZW5lciB0byBmaXJlLlxuICAgICAgdGltZW91dFJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB2YXIgX2RhdGFSZWYkY3VycmVudCRmbG9hO1xuICAgICAgICBjb25zdCBhY3RpdmVFbCA9IGFjdGl2ZUVsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlID8gZWxlbWVudHMuZG9tUmVmZXJlbmNlLm93bmVyRG9jdW1lbnQgOiBkb2N1bWVudCk7XG5cbiAgICAgICAgLy8gRm9jdXMgbGVmdCB0aGUgcGFnZSwga2VlcCBpdCBvcGVuLlxuICAgICAgICBpZiAoIXJlbGF0ZWRUYXJnZXQgJiYgYWN0aXZlRWwgPT09IGVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgcmV0dXJuO1xuXG4gICAgICAgIC8vIFdoZW4gZm9jdXNpbmcgdGhlIHJlZmVyZW5jZSBlbGVtZW50IChlLmcuIHJlZ3VsYXIgY2xpY2spLCB0aGVuXG4gICAgICAgIC8vIGNsaWNraW5nIGludG8gdGhlIGZsb2F0aW5nIGVsZW1lbnQsIHByZXZlbnQgaXQgZnJvbSBoaWRpbmcuXG4gICAgICAgIC8vIE5vdGU6IGl0IG11c3QgYmUgZm9jdXNhYmxlLCBlLmcuIGB0YWJpbmRleD1cIi0xXCJgLlxuICAgICAgICAvLyBXZSBjYW4gbm90IHJlbHkgb24gcmVsYXRlZFRhcmdldCB0byBwb2ludCB0byB0aGUgY29ycmVjdCBlbGVtZW50XG4gICAgICAgIC8vIGFzIGl0IHdpbGwgb25seSBwb2ludCB0byB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIG5ld2x5IGZvY3VzZWQgZWxlbWVudFxuICAgICAgICAvLyBhbmQgbm90IHRoZSBlbGVtZW50IHRoYXQgYWN0dWFsbHkgaGFzIHJlY2VpdmVkIGZvY3VzIGlmIGl0IGlzIGxvY2F0ZWRcbiAgICAgICAgLy8gaW5zaWRlIGEgc2hhZG93IHJvb3QuXG4gICAgICAgIGlmIChjb250YWlucygoX2RhdGFSZWYkY3VycmVudCRmbG9hID0gZGF0YVJlZi5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9kYXRhUmVmJGN1cnJlbnQkZmxvYS5yZWZzLmZsb2F0aW5nLmN1cnJlbnQsIGFjdGl2ZUVsKSB8fCBjb250YWlucyhlbGVtZW50cy5kb21SZWZlcmVuY2UsIGFjdGl2ZUVsKSB8fCBtb3ZlZFRvRm9jdXNHdWFyZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIG5hdGl2ZUV2ZW50LCAnZm9jdXMnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSksIFtkYXRhUmVmLCBlbGVtZW50cy5kb21SZWZlcmVuY2UsIG9uT3BlbkNoYW5nZSwgdmlzaWJsZU9ubHldKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2VcbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlXSk7XG59XG5cbmNvbnN0IEFDVElWRV9LRVkgPSAnYWN0aXZlJztcbmNvbnN0IFNFTEVDVEVEX0tFWSA9ICdzZWxlY3RlZCc7XG5mdW5jdGlvbiBtZXJnZVByb3BzKHVzZXJQcm9wcywgcHJvcHNMaXN0LCBlbGVtZW50S2V5KSB7XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgY29uc3QgaXNJdGVtID0gZWxlbWVudEtleSA9PT0gJ2l0ZW0nO1xuICBsZXQgZG9tVXNlclByb3BzID0gdXNlclByb3BzO1xuICBpZiAoaXNJdGVtICYmIHVzZXJQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIFtBQ1RJVkVfS0VZXTogXyxcbiAgICAgIFtTRUxFQ1RFRF9LRVldOiBfXyxcbiAgICAgIC4uLnZhbGlkUHJvcHNcbiAgICB9ID0gdXNlclByb3BzO1xuICAgIGRvbVVzZXJQcm9wcyA9IHZhbGlkUHJvcHM7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi4oZWxlbWVudEtleSA9PT0gJ2Zsb2F0aW5nJyAmJiB7XG4gICAgICB0YWJJbmRleDogLTFcbiAgICB9KSxcbiAgICAuLi5kb21Vc2VyUHJvcHMsXG4gICAgLi4ucHJvcHNMaXN0Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBwcm9wc09yR2V0UHJvcHMgPSB2YWx1ZSA/IHZhbHVlW2VsZW1lbnRLZXldIDogbnVsbDtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHNPckdldFByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB1c2VyUHJvcHMgPyBwcm9wc09yR2V0UHJvcHModXNlclByb3BzKSA6IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvcHNPckdldFByb3BzO1xuICAgIH0pLmNvbmNhdCh1c2VyUHJvcHMpLnJlZHVjZSgoYWNjLCBwcm9wcykgPT4ge1xuICAgICAgaWYgKCFwcm9wcykge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmVudHJpZXMocHJvcHMpLmZvckVhY2goX3JlZiA9PiB7XG4gICAgICAgIGxldCBba2V5LCB2YWx1ZV0gPSBfcmVmO1xuICAgICAgICBpZiAoaXNJdGVtICYmIFtBQ1RJVkVfS0VZLCBTRUxFQ1RFRF9LRVldLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleS5pbmRleE9mKCdvbicpID09PSAwKSB7XG4gICAgICAgICAgaWYgKCFtYXAuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIG1hcC5zZXQoa2V5LCBbXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhciBfbWFwJGdldDtcbiAgICAgICAgICAgIChfbWFwJGdldCA9IG1hcC5nZXQoa2V5KSkgPT0gbnVsbCB8fCBfbWFwJGdldC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIGFjY1trZXldID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICB2YXIgX21hcCRnZXQyO1xuICAgICAgICAgICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiAoX21hcCRnZXQyID0gbWFwLmdldChrZXkpKSA9PSBudWxsID8gdm9pZCAwIDogX21hcCRnZXQyLm1hcChmbiA9PiBmbiguLi5hcmdzKSkuZmluZCh2YWwgPT4gdmFsICE9PSB1bmRlZmluZWQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KVxuICB9O1xufVxuLyoqXG4gKiBNZXJnZXMgYW4gYXJyYXkgb2YgaW50ZXJhY3Rpb24gaG9va3MnIHByb3BzIGludG8gcHJvcCBnZXR0ZXJzLCBhbGxvd2luZ1xuICogZXZlbnQgaGFuZGxlciBmdW5jdGlvbnMgdG8gYmUgY29tcG9zZWQgdG9nZXRoZXIgd2l0aG91dCBvdmVyd3JpdGluZyBvbmVcbiAqIGFub3RoZXIuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlSW50ZXJhY3Rpb25zXG4gKi9cbmZ1bmN0aW9uIHVzZUludGVyYWN0aW9ucyhwcm9wc0xpc3QpIHtcbiAgaWYgKHByb3BzTGlzdCA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHNMaXN0ID0gW107XG4gIH1cbiAgY29uc3QgcmVmZXJlbmNlRGVwcyA9IHByb3BzTGlzdC5tYXAoa2V5ID0+IGtleSA9PSBudWxsID8gdm9pZCAwIDoga2V5LnJlZmVyZW5jZSk7XG4gIGNvbnN0IGZsb2F0aW5nRGVwcyA9IHByb3BzTGlzdC5tYXAoa2V5ID0+IGtleSA9PSBudWxsID8gdm9pZCAwIDoga2V5LmZsb2F0aW5nKTtcbiAgY29uc3QgaXRlbURlcHMgPSBwcm9wc0xpc3QubWFwKGtleSA9PiBrZXkgPT0gbnVsbCA/IHZvaWQgMCA6IGtleS5pdGVtKTtcbiAgY29uc3QgZ2V0UmVmZXJlbmNlUHJvcHMgPSBSZWFjdC51c2VDYWxsYmFjayh1c2VyUHJvcHMgPT4gbWVyZ2VQcm9wcyh1c2VyUHJvcHMsIHByb3BzTGlzdCwgJ3JlZmVyZW5jZScpLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIHJlZmVyZW5jZURlcHMpO1xuICBjb25zdCBnZXRGbG9hdGluZ1Byb3BzID0gUmVhY3QudXNlQ2FsbGJhY2sodXNlclByb3BzID0+IG1lcmdlUHJvcHModXNlclByb3BzLCBwcm9wc0xpc3QsICdmbG9hdGluZycpLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIGZsb2F0aW5nRGVwcyk7XG4gIGNvbnN0IGdldEl0ZW1Qcm9wcyA9IFJlYWN0LnVzZUNhbGxiYWNrKHVzZXJQcm9wcyA9PiBtZXJnZVByb3BzKHVzZXJQcm9wcywgcHJvcHNMaXN0LCAnaXRlbScpLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIGl0ZW1EZXBzKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBnZXRSZWZlcmVuY2VQcm9wcyxcbiAgICBnZXRGbG9hdGluZ1Byb3BzLFxuICAgIGdldEl0ZW1Qcm9wc1xuICB9KSwgW2dldFJlZmVyZW5jZVByb3BzLCBnZXRGbG9hdGluZ1Byb3BzLCBnZXRJdGVtUHJvcHNdKTtcbn1cblxubGV0IGlzUHJldmVudFNjcm9sbFN1cHBvcnRlZCA9IGZhbHNlO1xuZnVuY3Rpb24gZG9Td2l0Y2gob3JpZW50YXRpb24sIHZlcnRpY2FsLCBob3Jpem9udGFsKSB7XG4gIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICByZXR1cm4gdmVydGljYWw7XG4gICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICByZXR1cm4gaG9yaXpvbnRhbDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHZlcnRpY2FsIHx8IGhvcml6b250YWw7XG4gIH1cbn1cbmZ1bmN0aW9uIGlzTWFpbk9yaWVudGF0aW9uS2V5KGtleSwgb3JpZW50YXRpb24pIHtcbiAgY29uc3QgdmVydGljYWwgPSBrZXkgPT09IEFSUk9XX1VQIHx8IGtleSA9PT0gQVJST1dfRE9XTjtcbiAgY29uc3QgaG9yaXpvbnRhbCA9IGtleSA9PT0gQVJST1dfTEVGVCB8fCBrZXkgPT09IEFSUk9XX1JJR0hUO1xuICByZXR1cm4gZG9Td2l0Y2gob3JpZW50YXRpb24sIHZlcnRpY2FsLCBob3Jpem9udGFsKTtcbn1cbmZ1bmN0aW9uIGlzTWFpbk9yaWVudGF0aW9uVG9FbmRLZXkoa2V5LCBvcmllbnRhdGlvbiwgcnRsKSB7XG4gIGNvbnN0IHZlcnRpY2FsID0ga2V5ID09PSBBUlJPV19ET1dOO1xuICBjb25zdCBob3Jpem9udGFsID0gcnRsID8ga2V5ID09PSBBUlJPV19MRUZUIDoga2V5ID09PSBBUlJPV19SSUdIVDtcbiAgcmV0dXJuIGRvU3dpdGNoKG9yaWVudGF0aW9uLCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCkgfHwga2V5ID09PSAnRW50ZXInIHx8IGtleSA9PT0gJyAnIHx8IGtleSA9PT0gJyc7XG59XG5mdW5jdGlvbiBpc0Nyb3NzT3JpZW50YXRpb25PcGVuS2V5KGtleSwgb3JpZW50YXRpb24sIHJ0bCkge1xuICBjb25zdCB2ZXJ0aWNhbCA9IHJ0bCA/IGtleSA9PT0gQVJST1dfTEVGVCA6IGtleSA9PT0gQVJST1dfUklHSFQ7XG4gIGNvbnN0IGhvcml6b250YWwgPSBrZXkgPT09IEFSUk9XX0RPV047XG4gIHJldHVybiBkb1N3aXRjaChvcmllbnRhdGlvbiwgdmVydGljYWwsIGhvcml6b250YWwpO1xufVxuZnVuY3Rpb24gaXNDcm9zc09yaWVudGF0aW9uQ2xvc2VLZXkoa2V5LCBvcmllbnRhdGlvbiwgcnRsKSB7XG4gIGNvbnN0IHZlcnRpY2FsID0gcnRsID8ga2V5ID09PSBBUlJPV19SSUdIVCA6IGtleSA9PT0gQVJST1dfTEVGVDtcbiAgY29uc3QgaG9yaXpvbnRhbCA9IGtleSA9PT0gQVJST1dfVVA7XG4gIHJldHVybiBkb1N3aXRjaChvcmllbnRhdGlvbiwgdmVydGljYWwsIGhvcml6b250YWwpO1xufVxuLyoqXG4gKiBBZGRzIGFycm93IGtleS1iYXNlZCBuYXZpZ2F0aW9uIG9mIGEgbGlzdCBvZiBpdGVtcywgZWl0aGVyIHVzaW5nIHJlYWwgRE9NXG4gKiBmb2N1cyBvciB2aXJ0dWFsIGZvY3VzLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZUxpc3ROYXZpZ2F0aW9uXG4gKi9cbmZ1bmN0aW9uIHVzZUxpc3ROYXZpZ2F0aW9uKGNvbnRleHQsIHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBlbGVtZW50c1xuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGxpc3RSZWYsXG4gICAgYWN0aXZlSW5kZXgsXG4gICAgb25OYXZpZ2F0ZTogdW5zdGFibGVfb25OYXZpZ2F0ZSA9ICgpID0+IHt9LFxuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIHNlbGVjdGVkSW5kZXggPSBudWxsLFxuICAgIGFsbG93RXNjYXBlID0gZmFsc2UsXG4gICAgbG9vcCA9IGZhbHNlLFxuICAgIG5lc3RlZCA9IGZhbHNlLFxuICAgIHJ0bCA9IGZhbHNlLFxuICAgIHZpcnR1YWwgPSBmYWxzZSxcbiAgICBmb2N1c0l0ZW1Pbk9wZW4gPSAnYXV0bycsXG4gICAgZm9jdXNJdGVtT25Ib3ZlciA9IHRydWUsXG4gICAgb3Blbk9uQXJyb3dLZXlEb3duID0gdHJ1ZSxcbiAgICBkaXNhYmxlZEluZGljZXMgPSB1bmRlZmluZWQsXG4gICAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICAgIGNvbHMgPSAxLFxuICAgIHNjcm9sbEl0ZW1JbnRvVmlldyA9IHRydWUsXG4gICAgdmlydHVhbEl0ZW1SZWYsXG4gICAgaXRlbVNpemVzLFxuICAgIGRlbnNlID0gZmFsc2VcbiAgfSA9IHByb3BzO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgaWYgKGFsbG93RXNjYXBlKSB7XG4gICAgICBpZiAoIWxvb3ApIHtcbiAgICAgICAgd2FybignYHVzZUxpc3ROYXZpZ2F0aW9uYCBsb29waW5nIG11c3QgYmUgZW5hYmxlZCB0byBhbGxvdyBlc2NhcGluZy4nKTtcbiAgICAgIH1cbiAgICAgIGlmICghdmlydHVhbCkge1xuICAgICAgICB3YXJuKCdgdXNlTGlzdE5hdmlnYXRpb25gIG11c3QgYmUgdmlydHVhbCB0byBhbGxvdyBlc2NhcGluZy4nKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9yaWVudGF0aW9uID09PSAndmVydGljYWwnICYmIGNvbHMgPiAxKSB7XG4gICAgICB3YXJuKCdJbiBncmlkIGxpc3QgbmF2aWdhdGlvbiBtb2RlIChgY29sc2AgPiAxKSwgdGhlIGBvcmllbnRhdGlvbmAgc2hvdWxkJywgJ2JlIGVpdGhlciBcImhvcml6b250YWxcIiBvciBcImJvdGhcIi4nKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgcGFyZW50SWQgPSB1c2VGbG9hdGluZ1BhcmVudE5vZGVJZCgpO1xuICBjb25zdCB0cmVlID0gdXNlRmxvYXRpbmdUcmVlKCk7XG4gIGNvbnN0IG9uTmF2aWdhdGUgPSB1c2VFZmZlY3RFdmVudCh1bnN0YWJsZV9vbk5hdmlnYXRlKTtcbiAgY29uc3QgZm9jdXNJdGVtT25PcGVuUmVmID0gUmVhY3QudXNlUmVmKGZvY3VzSXRlbU9uT3Blbik7XG4gIGNvbnN0IGluZGV4UmVmID0gUmVhY3QudXNlUmVmKHNlbGVjdGVkSW5kZXggIT0gbnVsbCA/IHNlbGVjdGVkSW5kZXggOiAtMSk7XG4gIGNvbnN0IGtleVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgaXNQb2ludGVyTW9kYWxpdHlSZWYgPSBSZWFjdC51c2VSZWYodHJ1ZSk7XG4gIGNvbnN0IHByZXZpb3VzT25OYXZpZ2F0ZVJlZiA9IFJlYWN0LnVzZVJlZihvbk5hdmlnYXRlKTtcbiAgY29uc3QgcHJldmlvdXNNb3VudGVkUmVmID0gUmVhY3QudXNlUmVmKCEhZWxlbWVudHMuZmxvYXRpbmcpO1xuICBjb25zdCBwcmV2aW91c09wZW5SZWYgPSBSZWFjdC51c2VSZWYob3Blbik7XG4gIGNvbnN0IGZvcmNlU3luY0ZvY3VzID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZm9yY2VTY3JvbGxJbnRvVmlld1JlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGRpc2FibGVkSW5kaWNlc1JlZiA9IHVzZUxhdGVzdFJlZihkaXNhYmxlZEluZGljZXMpO1xuICBjb25zdCBsYXRlc3RPcGVuUmVmID0gdXNlTGF0ZXN0UmVmKG9wZW4pO1xuICBjb25zdCBzY3JvbGxJdGVtSW50b1ZpZXdSZWYgPSB1c2VMYXRlc3RSZWYoc2Nyb2xsSXRlbUludG9WaWV3KTtcbiAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VMYXRlc3RSZWYoZWxlbWVudHMuZmxvYXRpbmcpO1xuICBjb25zdCBzZWxlY3RlZEluZGV4UmVmID0gdXNlTGF0ZXN0UmVmKHNlbGVjdGVkSW5kZXgpO1xuICBjb25zdCBbYWN0aXZlSWQsIHNldEFjdGl2ZUlkXSA9IFJlYWN0LnVzZVN0YXRlKCk7XG4gIGNvbnN0IFt2aXJ0dWFsSWQsIHNldFZpcnR1YWxJZF0gPSBSZWFjdC51c2VTdGF0ZSgpO1xuICBjb25zdCBmb2N1c0l0ZW0gPSB1c2VFZmZlY3RFdmVudChmdW5jdGlvbiAobGlzdFJlZiwgaW5kZXhSZWYsIGZvcmNlU2Nyb2xsSW50b1ZpZXcpIHtcbiAgICBpZiAoZm9yY2VTY3JvbGxJbnRvVmlldyA9PT0gdm9pZCAwKSB7XG4gICAgICBmb3JjZVNjcm9sbEludG9WaWV3ID0gZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJ1bkZvY3VzKGl0ZW0pIHtcbiAgICAgIGlmICh2aXJ0dWFsKSB7XG4gICAgICAgIHNldEFjdGl2ZUlkKGl0ZW0uaWQpO1xuICAgICAgICB0cmVlID09IG51bGwgfHwgdHJlZS5ldmVudHMuZW1pdCgndmlydHVhbGZvY3VzJywgaXRlbSk7XG4gICAgICAgIGlmICh2aXJ0dWFsSXRlbVJlZikge1xuICAgICAgICAgIHZpcnR1YWxJdGVtUmVmLmN1cnJlbnQgPSBpdGVtO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbnF1ZXVlRm9jdXMoaXRlbSwge1xuICAgICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgICAgLy8gTWFjIFNhZmFyaSBkb2VzIG5vdCBtb3ZlIHRoZSB2aXJ0dWFsIGN1cnNvciB1bmxlc3MgdGhlIGZvY3VzIGNhbGxcbiAgICAgICAgICAvLyBpcyBzeW5jLiBIb3dldmVyLCBmb3IgdGhlIHZlcnkgZmlyc3QgZm9jdXMgY2FsbCwgd2UgbmVlZCB0byB3YWl0XG4gICAgICAgICAgLy8gZm9yIHRoZSBwb3NpdGlvbiB0byBiZSByZWFkeSBpbiBvcmRlciB0byBwcmV2ZW50IHVud2FudGVkXG4gICAgICAgICAgLy8gc2Nyb2xsaW5nLiBUaGlzIG1lYW5zIHRoZSB2aXJ0dWFsIGN1cnNvciB3aWxsIG5vdCBtb3ZlIHRvIHRoZSBmaXJzdFxuICAgICAgICAgIC8vIGl0ZW0gd2hlbiBmaXJzdCBvcGVuaW5nIHRoZSBmbG9hdGluZyBlbGVtZW50LCBidXQgd2lsbCBvblxuICAgICAgICAgIC8vIHN1YnNlcXVlbnQgY2FsbHMuIGBwcmV2ZW50U2Nyb2xsYCBpcyBzdXBwb3J0ZWQgaW4gbW9kZXJuIFNhZmFyaSxcbiAgICAgICAgICAvLyBzbyB3ZSBjYW4gdXNlIHRoYXQgaW5zdGVhZC5cbiAgICAgICAgICAvLyBpT1MgU2FmYXJpIG11c3QgYmUgYXN5bmMgb3IgdGhlIGZpcnN0IGl0ZW0gd2lsbCBub3QgYmUgZm9jdXNlZC5cbiAgICAgICAgICBzeW5jOiBpc01hYygpICYmIGlzU2FmYXJpKCkgPyBpc1ByZXZlbnRTY3JvbGxTdXBwb3J0ZWQgfHwgZm9yY2VTeW5jRm9jdXMuY3VycmVudCA6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBpbml0aWFsSXRlbSA9IGxpc3RSZWYuY3VycmVudFtpbmRleFJlZi5jdXJyZW50XTtcbiAgICBpZiAoaW5pdGlhbEl0ZW0pIHtcbiAgICAgIHJ1bkZvY3VzKGluaXRpYWxJdGVtKTtcbiAgICB9XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGNvbnN0IHdhaXRlZEl0ZW0gPSBsaXN0UmVmLmN1cnJlbnRbaW5kZXhSZWYuY3VycmVudF0gfHwgaW5pdGlhbEl0ZW07XG4gICAgICBpZiAoIXdhaXRlZEl0ZW0pIHJldHVybjtcbiAgICAgIGlmICghaW5pdGlhbEl0ZW0pIHtcbiAgICAgICAgcnVuRm9jdXMod2FpdGVkSXRlbSk7XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JvbGxJbnRvVmlld09wdGlvbnMgPSBzY3JvbGxJdGVtSW50b1ZpZXdSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IHNob3VsZFNjcm9sbEludG9WaWV3ID0gc2Nyb2xsSW50b1ZpZXdPcHRpb25zICYmIGl0ZW0gJiYgKGZvcmNlU2Nyb2xsSW50b1ZpZXcgfHwgIWlzUG9pbnRlck1vZGFsaXR5UmVmLmN1cnJlbnQpO1xuICAgICAgaWYgKHNob3VsZFNjcm9sbEludG9WaWV3KSB7XG4gICAgICAgIC8vIEpTRE9NIGRvZXNuJ3Qgc3VwcG9ydCBgLnNjcm9sbEludG9WaWV3KClgIGJ1dCBpdCdzIHdpZGVseSBzdXBwb3J0ZWRcbiAgICAgICAgLy8gYnkgYWxsIGJyb3dzZXJzLlxuICAgICAgICB3YWl0ZWRJdGVtLnNjcm9sbEludG9WaWV3ID09IG51bGwgfHwgd2FpdGVkSXRlbS5zY3JvbGxJbnRvVmlldyh0eXBlb2Ygc2Nyb2xsSW50b1ZpZXdPcHRpb25zID09PSAnYm9vbGVhbicgPyB7XG4gICAgICAgICAgYmxvY2s6ICduZWFyZXN0JyxcbiAgICAgICAgICBpbmxpbmU6ICduZWFyZXN0J1xuICAgICAgICB9IDogc2Nyb2xsSW50b1ZpZXdPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5mb2N1cyh7XG4gICAgICBnZXQgcHJldmVudFNjcm9sbCgpIHtcbiAgICAgICAgaXNQcmV2ZW50U2Nyb2xsU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgLy8gU3luYyBgc2VsZWN0ZWRJbmRleGAgdG8gYmUgdGhlIGBhY3RpdmVJbmRleGAgdXBvbiBvcGVuaW5nIHRoZSBmbG9hdGluZ1xuICAvLyBlbGVtZW50LiBBbHNvLCByZXNldCBgYWN0aXZlSW5kZXhgIHVwb24gY2xvc2luZyB0aGUgZmxvYXRpbmcgZWxlbWVudC5cbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGlmIChvcGVuICYmIGVsZW1lbnRzLmZsb2F0aW5nKSB7XG4gICAgICBpZiAoZm9jdXNJdGVtT25PcGVuUmVmLmN1cnJlbnQgJiYgc2VsZWN0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIC8vIFJlZ2FyZGxlc3Mgb2YgdGhlIHBvaW50ZXIgbW9kYWxpdHksIHdlIHdhbnQgdG8gZW5zdXJlIHRoZSBzZWxlY3RlZFxuICAgICAgICAvLyBpdGVtIGNvbWVzIGludG8gdmlldyB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIG9wZW5lZC5cbiAgICAgICAgZm9yY2VTY3JvbGxJbnRvVmlld1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IHNlbGVjdGVkSW5kZXg7XG4gICAgICAgIG9uTmF2aWdhdGUoc2VsZWN0ZWRJbmRleCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcmV2aW91c01vdW50ZWRSZWYuY3VycmVudCkge1xuICAgICAgLy8gU2luY2UgdGhlIHVzZXIgY2FuIHNwZWNpZnkgYG9uTmF2aWdhdGVgIGNvbmRpdGlvbmFsbHlcbiAgICAgIC8vIChvbk5hdmlnYXRlOiBvcGVuID8gc2V0QWN0aXZlSW5kZXggOiBzZXRTZWxlY3RlZEluZGV4KSxcbiAgICAgIC8vIHdlIHN0b3JlIGFuZCBjYWxsIHRoZSBwcmV2aW91cyBmdW5jdGlvbi5cbiAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSAtMTtcbiAgICAgIHByZXZpb3VzT25OYXZpZ2F0ZVJlZi5jdXJyZW50KG51bGwpO1xuICAgIH1cbiAgfSwgW2VuYWJsZWQsIG9wZW4sIGVsZW1lbnRzLmZsb2F0aW5nLCBzZWxlY3RlZEluZGV4LCBvbk5hdmlnYXRlXSk7XG5cbiAgLy8gU3luYyBgYWN0aXZlSW5kZXhgIHRvIGJlIHRoZSBmb2N1c2VkIGl0ZW0gd2hpbGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXNcbiAgLy8gb3Blbi5cbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGlmIChvcGVuICYmIGVsZW1lbnRzLmZsb2F0aW5nKSB7XG4gICAgICBpZiAoYWN0aXZlSW5kZXggPT0gbnVsbCkge1xuICAgICAgICBmb3JjZVN5bmNGb2N1cy5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIGlmIChzZWxlY3RlZEluZGV4UmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlc2V0IHdoaWxlIHRoZSBmbG9hdGluZyBlbGVtZW50IHdhcyBvcGVuIChlLmcuIHRoZSBsaXN0IGNoYW5nZWQpLlxuICAgICAgICBpZiAocHJldmlvdXNNb3VudGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0gLTE7XG4gICAgICAgICAgZm9jdXNJdGVtKGxpc3RSZWYsIGluZGV4UmVmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluaXRpYWwgc3luYy5cbiAgICAgICAgaWYgKCghcHJldmlvdXNPcGVuUmVmLmN1cnJlbnQgfHwgIXByZXZpb3VzTW91bnRlZFJlZi5jdXJyZW50KSAmJiBmb2N1c0l0ZW1Pbk9wZW5SZWYuY3VycmVudCAmJiAoa2V5UmVmLmN1cnJlbnQgIT0gbnVsbCB8fCBmb2N1c0l0ZW1Pbk9wZW5SZWYuY3VycmVudCA9PT0gdHJ1ZSAmJiBrZXlSZWYuY3VycmVudCA9PSBudWxsKSkge1xuICAgICAgICAgIGxldCBydW5zID0gMDtcbiAgICAgICAgICBjb25zdCB3YWl0Rm9yTGlzdFBvcHVsYXRlZCA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsaXN0UmVmLmN1cnJlbnRbMF0gPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBBdm9pZCBsZXR0aW5nIHRoZSBicm93c2VyIHBhaW50IGlmIHBvc3NpYmxlIG9uIHRoZSBmaXJzdCB0cnksXG4gICAgICAgICAgICAgIC8vIG90aGVyd2lzZSB1c2UgckFGLiBEb24ndCB0cnkgbW9yZSB0aGFuIHR3aWNlLCBzaW5jZSBzb21ldGhpbmdcbiAgICAgICAgICAgICAgLy8gaXMgd3Jvbmcgb3RoZXJ3aXNlLlxuICAgICAgICAgICAgICBpZiAocnVucyA8IDIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY2hlZHVsZXIgPSBydW5zID8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIDogcXVldWVNaWNyb3Rhc2s7XG4gICAgICAgICAgICAgICAgc2NoZWR1bGVyKHdhaXRGb3JMaXN0UG9wdWxhdGVkKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBydW5zKys7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0ga2V5UmVmLmN1cnJlbnQgPT0gbnVsbCB8fCBpc01haW5PcmllbnRhdGlvblRvRW5kS2V5KGtleVJlZi5jdXJyZW50LCBvcmllbnRhdGlvbiwgcnRsKSB8fCBuZXN0ZWQgPyBnZXRNaW5JbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXNSZWYuY3VycmVudCkgOiBnZXRNYXhJbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXNSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgIGtleVJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgb25OYXZpZ2F0ZShpbmRleFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICAgIHdhaXRGb3JMaXN0UG9wdWxhdGVkKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIWlzSW5kZXhPdXRPZkJvdW5kcyhsaXN0UmVmLCBhY3RpdmVJbmRleCkpIHtcbiAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IGFjdGl2ZUluZGV4O1xuICAgICAgICBmb2N1c0l0ZW0obGlzdFJlZiwgaW5kZXhSZWYsIGZvcmNlU2Nyb2xsSW50b1ZpZXdSZWYuY3VycmVudCk7XG4gICAgICAgIGZvcmNlU2Nyb2xsSW50b1ZpZXdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2VuYWJsZWQsIG9wZW4sIGVsZW1lbnRzLmZsb2F0aW5nLCBhY3RpdmVJbmRleCwgc2VsZWN0ZWRJbmRleFJlZiwgbmVzdGVkLCBsaXN0UmVmLCBvcmllbnRhdGlvbiwgcnRsLCBvbk5hdmlnYXRlLCBmb2N1c0l0ZW0sIGRpc2FibGVkSW5kaWNlc1JlZl0pO1xuXG4gIC8vIEVuc3VyZSB0aGUgcGFyZW50IGZsb2F0aW5nIGVsZW1lbnQgaGFzIGZvY3VzIHdoZW4gYSBuZXN0ZWQgY2hpbGQgY2xvc2VzXG4gIC8vIHRvIGFsbG93IGFycm93IGtleSBuYXZpZ2F0aW9uIHRvIHdvcmsgYWZ0ZXIgdGhlIHBvaW50ZXIgbGVhdmVzIHRoZSBjaGlsZC5cbiAgaW5kZXgoKCkgPT4ge1xuICAgIHZhciBfbm9kZXMkZmluZDtcbiAgICBpZiAoIWVuYWJsZWQgfHwgZWxlbWVudHMuZmxvYXRpbmcgfHwgIXRyZWUgfHwgdmlydHVhbCB8fCAhcHJldmlvdXNNb3VudGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm9kZXMgPSB0cmVlLm5vZGVzUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgcGFyZW50ID0gKF9ub2RlcyRmaW5kID0gbm9kZXMuZmluZChub2RlID0+IG5vZGUuaWQgPT09IHBhcmVudElkKSkgPT0gbnVsbCB8fCAoX25vZGVzJGZpbmQgPSBfbm9kZXMkZmluZC5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGVzJGZpbmQuZWxlbWVudHMuZmxvYXRpbmc7XG4gICAgY29uc3QgYWN0aXZlRWwgPSBhY3RpdmVFbGVtZW50KGdldERvY3VtZW50KGVsZW1lbnRzLmZsb2F0aW5nKSk7XG4gICAgY29uc3QgdHJlZUNvbnRhaW5zQWN0aXZlRWwgPSBub2Rlcy5zb21lKG5vZGUgPT4gbm9kZS5jb250ZXh0ICYmIGNvbnRhaW5zKG5vZGUuY29udGV4dC5lbGVtZW50cy5mbG9hdGluZywgYWN0aXZlRWwpKTtcbiAgICBpZiAocGFyZW50ICYmICF0cmVlQ29udGFpbnNBY3RpdmVFbCAmJiBpc1BvaW50ZXJNb2RhbGl0eVJlZi5jdXJyZW50KSB7XG4gICAgICBwYXJlbnQuZm9jdXMoe1xuICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBlbGVtZW50cy5mbG9hdGluZywgdHJlZSwgcGFyZW50SWQsIHZpcnR1YWxdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGlmICghdHJlZSkgcmV0dXJuO1xuICAgIGlmICghdmlydHVhbCkgcmV0dXJuO1xuICAgIGlmIChwYXJlbnRJZCkgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIGhhbmRsZVZpcnR1YWxGb2N1cyhpdGVtKSB7XG4gICAgICBzZXRWaXJ0dWFsSWQoaXRlbS5pZCk7XG4gICAgICBpZiAodmlydHVhbEl0ZW1SZWYpIHtcbiAgICAgICAgdmlydHVhbEl0ZW1SZWYuY3VycmVudCA9IGl0ZW07XG4gICAgICB9XG4gICAgfVxuICAgIHRyZWUuZXZlbnRzLm9uKCd2aXJ0dWFsZm9jdXMnLCBoYW5kbGVWaXJ0dWFsRm9jdXMpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0cmVlLmV2ZW50cy5vZmYoJ3ZpcnR1YWxmb2N1cycsIGhhbmRsZVZpcnR1YWxGb2N1cyk7XG4gICAgfTtcbiAgfSwgW2VuYWJsZWQsIHRyZWUsIHZpcnR1YWwsIHBhcmVudElkLCB2aXJ0dWFsSXRlbVJlZl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgcHJldmlvdXNPbk5hdmlnYXRlUmVmLmN1cnJlbnQgPSBvbk5hdmlnYXRlO1xuICAgIHByZXZpb3VzTW91bnRlZFJlZi5jdXJyZW50ID0gISFlbGVtZW50cy5mbG9hdGluZztcbiAgfSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIW9wZW4pIHtcbiAgICAgIGtleVJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gIH0sIFtvcGVuXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBwcmV2aW91c09wZW5SZWYuY3VycmVudCA9IG9wZW47XG4gIH0sIFtvcGVuXSk7XG4gIGNvbnN0IGhhc0FjdGl2ZUluZGV4ID0gYWN0aXZlSW5kZXggIT0gbnVsbDtcbiAgY29uc3QgaXRlbSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGZ1bmN0aW9uIHN5bmNDdXJyZW50VGFyZ2V0KGN1cnJlbnRUYXJnZXQpIHtcbiAgICAgIGlmICghb3BlbikgcmV0dXJuO1xuICAgICAgY29uc3QgaW5kZXggPSBsaXN0UmVmLmN1cnJlbnQuaW5kZXhPZihjdXJyZW50VGFyZ2V0KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgb25OYXZpZ2F0ZShpbmRleCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgb25Gb2N1cyhfcmVmKSB7XG4gICAgICAgIGxldCB7XG4gICAgICAgICAgY3VycmVudFRhcmdldFxuICAgICAgICB9ID0gX3JlZjtcbiAgICAgICAgc3luY0N1cnJlbnRUYXJnZXQoY3VycmVudFRhcmdldCk7XG4gICAgICB9LFxuICAgICAgb25DbGljazogX3JlZjIgPT4ge1xuICAgICAgICBsZXQge1xuICAgICAgICAgIGN1cnJlbnRUYXJnZXRcbiAgICAgICAgfSA9IF9yZWYyO1xuICAgICAgICByZXR1cm4gY3VycmVudFRhcmdldC5mb2N1cyh7XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAvLyBTYWZhcmlcbiAgICAgIC4uLihmb2N1c0l0ZW1PbkhvdmVyICYmIHtcbiAgICAgICAgb25Nb3VzZU1vdmUoX3JlZjMpIHtcbiAgICAgICAgICBsZXQge1xuICAgICAgICAgICAgY3VycmVudFRhcmdldFxuICAgICAgICAgIH0gPSBfcmVmMztcbiAgICAgICAgICBzeW5jQ3VycmVudFRhcmdldChjdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Qb2ludGVyTGVhdmUoX3JlZjQpIHtcbiAgICAgICAgICBsZXQge1xuICAgICAgICAgICAgcG9pbnRlclR5cGVcbiAgICAgICAgICB9ID0gX3JlZjQ7XG4gICAgICAgICAgaWYgKCFpc1BvaW50ZXJNb2RhbGl0eVJlZi5jdXJyZW50IHx8IHBvaW50ZXJUeXBlID09PSAndG91Y2gnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSAtMTtcbiAgICAgICAgICBmb2N1c0l0ZW0obGlzdFJlZiwgaW5kZXhSZWYpO1xuICAgICAgICAgIG9uTmF2aWdhdGUobnVsbCk7XG4gICAgICAgICAgaWYgKCF2aXJ0dWFsKSB7XG4gICAgICAgICAgICBlbnF1ZXVlRm9jdXMoZmxvYXRpbmdSZWYuY3VycmVudCwge1xuICAgICAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfTtcbiAgICByZXR1cm4gcHJvcHM7XG4gIH0sIFtvcGVuLCBmbG9hdGluZ1JlZiwgZm9jdXNJdGVtLCBmb2N1c0l0ZW1PbkhvdmVyLCBsaXN0UmVmLCBvbk5hdmlnYXRlLCB2aXJ0dWFsXSk7XG4gIGNvbnN0IGNvbW1vbk9uS2V5RG93biA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICBpc1BvaW50ZXJNb2RhbGl0eVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgZm9yY2VTeW5jRm9jdXMuY3VycmVudCA9IHRydWU7XG5cbiAgICAvLyBJZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBhbmltYXRpbmcgb3V0LCBpZ25vcmUgbmF2aWdhdGlvbi4gT3RoZXJ3aXNlLFxuICAgIC8vIHRoZSBgYWN0aXZlSW5kZXhgIGdldHMgc2V0IHRvIDAgZGVzcGl0ZSBub3QgYmVpbmcgb3BlbiBzbyB0aGUgbmV4dCB0aW1lXG4gICAgLy8gdGhlIHVzZXIgQXJyb3dEb3ducywgdGhlIGZpcnN0IGl0ZW0gd29uJ3QgYmUgZm9jdXNlZC5cbiAgICBpZiAoIWxhdGVzdE9wZW5SZWYuY3VycmVudCAmJiBldmVudC5jdXJyZW50VGFyZ2V0ID09PSBmbG9hdGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChuZXN0ZWQgJiYgaXNDcm9zc09yaWVudGF0aW9uQ2xvc2VLZXkoZXZlbnQua2V5LCBvcmllbnRhdGlvbiwgcnRsKSkge1xuICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQubmF0aXZlRXZlbnQsICdsaXN0LW5hdmlnYXRpb24nKTtcbiAgICAgIGlmIChpc0hUTUxFbGVtZW50KGVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgJiYgIXZpcnR1YWwpIHtcbiAgICAgICAgZWxlbWVudHMuZG9tUmVmZXJlbmNlLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGluZGV4UmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWluSW5kZXggPSBnZXRNaW5JbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXMpO1xuICAgIGNvbnN0IG1heEluZGV4ID0gZ2V0TWF4SW5kZXgobGlzdFJlZiwgZGlzYWJsZWRJbmRpY2VzKTtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnSG9tZScpIHtcbiAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICBpbmRleFJlZi5jdXJyZW50ID0gbWluSW5kZXg7XG4gICAgICBvbk5hdmlnYXRlKGluZGV4UmVmLmN1cnJlbnQpO1xuICAgIH1cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBtYXhJbmRleDtcbiAgICAgIG9uTmF2aWdhdGUoaW5kZXhSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgLy8gR3JpZCBuYXZpZ2F0aW9uLlxuICAgIGlmIChjb2xzID4gMSkge1xuICAgICAgY29uc3Qgc2l6ZXMgPSBpdGVtU2l6ZXMgfHwgQXJyYXkuZnJvbSh7XG4gICAgICAgIGxlbmd0aDogbGlzdFJlZi5jdXJyZW50Lmxlbmd0aFxuICAgICAgfSwgKCkgPT4gKHtcbiAgICAgICAgd2lkdGg6IDEsXG4gICAgICAgIGhlaWdodDogMVxuICAgICAgfSkpO1xuICAgICAgLy8gVG8gY2FsY3VsYXRlIG1vdmVtZW50cyBvbiB0aGUgZ3JpZCwgd2UgdXNlIGh5cG90aGV0aWNhbCBjZWxsIGluZGljZXNcbiAgICAgIC8vIGFzIGlmIGV2ZXJ5IGl0ZW0gd2FzIDF4MSwgdGhlbiBjb252ZXJ0IGJhY2sgdG8gcmVhbCBpbmRpY2VzLlxuICAgICAgY29uc3QgY2VsbE1hcCA9IGJ1aWxkQ2VsbE1hcChzaXplcywgY29scywgZGVuc2UpO1xuICAgICAgY29uc3QgbWluR3JpZEluZGV4ID0gY2VsbE1hcC5maW5kSW5kZXgoaW5kZXggPT4gaW5kZXggIT0gbnVsbCAmJiAhaXNEaXNhYmxlZChsaXN0UmVmLmN1cnJlbnQsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpKTtcbiAgICAgIC8vIGxhc3QgZW5hYmxlZCBpbmRleFxuICAgICAgY29uc3QgbWF4R3JpZEluZGV4ID0gY2VsbE1hcC5yZWR1Y2UoKGZvdW5kSW5kZXgsIGluZGV4LCBjZWxsSW5kZXgpID0+IGluZGV4ICE9IG51bGwgJiYgIWlzRGlzYWJsZWQobGlzdFJlZi5jdXJyZW50LCBpbmRleCwgZGlzYWJsZWRJbmRpY2VzKSA/IGNlbGxJbmRleCA6IGZvdW5kSW5kZXgsIC0xKTtcbiAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBjZWxsTWFwW2dldEdyaWROYXZpZ2F0ZWRJbmRleCh7XG4gICAgICAgIGN1cnJlbnQ6IGNlbGxNYXAubWFwKGl0ZW1JbmRleCA9PiBpdGVtSW5kZXggIT0gbnVsbCA/IGxpc3RSZWYuY3VycmVudFtpdGVtSW5kZXhdIDogbnVsbClcbiAgICAgIH0sIHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG9yaWVudGF0aW9uLFxuICAgICAgICBsb29wLFxuICAgICAgICBjb2xzLFxuICAgICAgICAvLyB0cmVhdCB1bmRlZmluZWQgKGVtcHR5IGdyaWQgc3BhY2VzKSBhcyBkaXNhYmxlZCBpbmRpY2VzIHNvIHdlXG4gICAgICAgIC8vIGRvbid0IGVuZCB1cCBpbiB0aGVtXG4gICAgICAgIGRpc2FibGVkSW5kaWNlczogZ2V0Q2VsbEluZGljZXMoWy4uLihkaXNhYmxlZEluZGljZXMgfHwgbGlzdFJlZi5jdXJyZW50Lm1hcCgoXywgaW5kZXgpID0+IGlzRGlzYWJsZWQobGlzdFJlZi5jdXJyZW50LCBpbmRleCkgPyBpbmRleCA6IHVuZGVmaW5lZCkpLCB1bmRlZmluZWRdLCBjZWxsTWFwKSxcbiAgICAgICAgbWluSW5kZXg6IG1pbkdyaWRJbmRleCxcbiAgICAgICAgbWF4SW5kZXg6IG1heEdyaWRJbmRleCxcbiAgICAgICAgcHJldkluZGV4OiBnZXRDZWxsSW5kZXhPZkNvcm5lcihpbmRleFJlZi5jdXJyZW50ID4gbWF4SW5kZXggPyBtaW5JbmRleCA6IGluZGV4UmVmLmN1cnJlbnQsIHNpemVzLCBjZWxsTWFwLCBjb2xzLFxuICAgICAgICAvLyB1c2UgYSBjb3JuZXIgbWF0Y2hpbmcgdGhlIGVkZ2UgY2xvc2VzdCB0byB0aGUgZGlyZWN0aW9uXG4gICAgICAgIC8vIHdlJ3JlIG1vdmluZyBpbiBzbyB3ZSBkb24ndCBlbmQgdXAgaW4gdGhlIHNhbWUgaXRlbS4gUHJlZmVyXG4gICAgICAgIC8vIHRvcC9sZWZ0IG92ZXIgYm90dG9tL3JpZ2h0LlxuICAgICAgICBldmVudC5rZXkgPT09IEFSUk9XX0RPV04gPyAnYmwnIDogZXZlbnQua2V5ID09PSBBUlJPV19SSUdIVCA/ICd0cicgOiAndGwnKSxcbiAgICAgICAgc3RvcEV2ZW50OiB0cnVlXG4gICAgICB9KV07IC8vIG5hdmlnYXRlZCBjZWxsIHdpbGwgbmV2ZXIgYmUgbnVsbGlzaFxuXG4gICAgICBvbk5hdmlnYXRlKGluZGV4UmVmLmN1cnJlbnQpO1xuICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAnYm90aCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNNYWluT3JpZW50YXRpb25LZXkoZXZlbnQua2V5LCBvcmllbnRhdGlvbikpIHtcbiAgICAgIHN0b3BFdmVudChldmVudCk7XG5cbiAgICAgIC8vIFJlc2V0IHRoZSBpbmRleCBpZiBubyBpdGVtIGlzIGZvY3VzZWQuXG4gICAgICBpZiAob3BlbiAmJiAhdmlydHVhbCAmJiBhY3RpdmVFbGVtZW50KGV2ZW50LmN1cnJlbnRUYXJnZXQub3duZXJEb2N1bWVudCkgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IGlzTWFpbk9yaWVudGF0aW9uVG9FbmRLZXkoZXZlbnQua2V5LCBvcmllbnRhdGlvbiwgcnRsKSA/IG1pbkluZGV4IDogbWF4SW5kZXg7XG4gICAgICAgIG9uTmF2aWdhdGUoaW5kZXhSZWYuY3VycmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChpc01haW5PcmllbnRhdGlvblRvRW5kS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24sIHJ0bCkpIHtcbiAgICAgICAgaWYgKGxvb3ApIHtcbiAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0gY3VycmVudEluZGV4ID49IG1heEluZGV4ID8gYWxsb3dFc2NhcGUgJiYgY3VycmVudEluZGV4ICE9PSBsaXN0UmVmLmN1cnJlbnQubGVuZ3RoID8gLTEgOiBtaW5JbmRleCA6IGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IGN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBNYXRoLm1pbihtYXhJbmRleCwgZmluZE5vbkRpc2FibGVkSW5kZXgobGlzdFJlZiwge1xuICAgICAgICAgICAgc3RhcnRpbmdJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobG9vcCkge1xuICAgICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBjdXJyZW50SW5kZXggPD0gbWluSW5kZXggPyBhbGxvd0VzY2FwZSAmJiBjdXJyZW50SW5kZXggIT09IC0xID8gbGlzdFJlZi5jdXJyZW50Lmxlbmd0aCA6IG1heEluZGV4IDogZmluZE5vbkRpc2FibGVkSW5kZXgobGlzdFJlZiwge1xuICAgICAgICAgICAgc3RhcnRpbmdJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICAgICAgZGVjcmVtZW50OiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IE1hdGgubWF4KG1pbkluZGV4LCBmaW5kTm9uRGlzYWJsZWRJbmRleChsaXN0UmVmLCB7XG4gICAgICAgICAgICBzdGFydGluZ0luZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpc0luZGV4T3V0T2ZCb3VuZHMobGlzdFJlZiwgaW5kZXhSZWYuY3VycmVudCkpIHtcbiAgICAgICAgb25OYXZpZ2F0ZShudWxsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uTmF2aWdhdGUoaW5kZXhSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgY29uc3QgYXJpYUFjdGl2ZURlc2NlbmRhbnRQcm9wID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHZpcnR1YWwgJiYgb3BlbiAmJiBoYXNBY3RpdmVJbmRleCAmJiB7XG4gICAgICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JzogdmlydHVhbElkIHx8IGFjdGl2ZUlkXG4gICAgfTtcbiAgfSwgW3ZpcnR1YWwsIG9wZW4sIGhhc0FjdGl2ZUluZGV4LCB2aXJ0dWFsSWQsIGFjdGl2ZUlkXSk7XG4gIGNvbnN0IGZsb2F0aW5nID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdhcmlhLW9yaWVudGF0aW9uJzogb3JpZW50YXRpb24gPT09ICdib3RoJyA/IHVuZGVmaW5lZCA6IG9yaWVudGF0aW9uLFxuICAgICAgLi4uKCFpc1R5cGVhYmxlQ29tYm9ib3goZWxlbWVudHMuZG9tUmVmZXJlbmNlKSAmJiBhcmlhQWN0aXZlRGVzY2VuZGFudFByb3ApLFxuICAgICAgb25LZXlEb3duOiBjb21tb25PbktleURvd24sXG4gICAgICBvblBvaW50ZXJNb3ZlKCkge1xuICAgICAgICBpc1BvaW50ZXJNb2RhbGl0eVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbYXJpYUFjdGl2ZURlc2NlbmRhbnRQcm9wLCBjb21tb25PbktleURvd24sIGVsZW1lbnRzLmRvbVJlZmVyZW5jZSwgb3JpZW50YXRpb25dKTtcbiAgY29uc3QgcmVmZXJlbmNlID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgZnVuY3Rpb24gY2hlY2tWaXJ0dWFsTW91c2UoZXZlbnQpIHtcbiAgICAgIGlmIChmb2N1c0l0ZW1Pbk9wZW4gPT09ICdhdXRvJyAmJiBpc1ZpcnR1YWxDbGljayhldmVudC5uYXRpdmVFdmVudCkpIHtcbiAgICAgICAgZm9jdXNJdGVtT25PcGVuUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja1ZpcnR1YWxQb2ludGVyKGV2ZW50KSB7XG4gICAgICAvLyBgcG9pbnRlcmRvd25gIGZpcmVzIGZpcnN0LCByZXNldCB0aGUgc3RhdGUgdGhlbiBwZXJmb3JtIHRoZSBjaGVja3MuXG4gICAgICBmb2N1c0l0ZW1Pbk9wZW5SZWYuY3VycmVudCA9IGZvY3VzSXRlbU9uT3BlbjtcbiAgICAgIGlmIChmb2N1c0l0ZW1Pbk9wZW4gPT09ICdhdXRvJyAmJiBpc1ZpcnR1YWxQb2ludGVyRXZlbnQoZXZlbnQubmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIGZvY3VzSXRlbU9uT3BlblJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmFyaWFBY3RpdmVEZXNjZW5kYW50UHJvcCxcbiAgICAgIG9uS2V5RG93bihldmVudCkge1xuICAgICAgICBpc1BvaW50ZXJNb2RhbGl0eVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGlzQXJyb3dLZXkgPSBldmVudC5rZXkuaW5kZXhPZignQXJyb3cnKSA9PT0gMDtcbiAgICAgICAgY29uc3QgaXNDcm9zc09wZW5LZXkgPSBpc0Nyb3NzT3JpZW50YXRpb25PcGVuS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24sIHJ0bCk7XG4gICAgICAgIGNvbnN0IGlzQ3Jvc3NDbG9zZUtleSA9IGlzQ3Jvc3NPcmllbnRhdGlvbkNsb3NlS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24sIHJ0bCk7XG4gICAgICAgIGNvbnN0IGlzTWFpbktleSA9IGlzTWFpbk9yaWVudGF0aW9uS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24pO1xuICAgICAgICBjb25zdCBpc05hdmlnYXRpb25LZXkgPSAobmVzdGVkID8gaXNDcm9zc09wZW5LZXkgOiBpc01haW5LZXkpIHx8IGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkudHJpbSgpID09PSAnJztcbiAgICAgICAgaWYgKHZpcnR1YWwgJiYgb3Blbikge1xuICAgICAgICAgIGNvbnN0IHJvb3ROb2RlID0gdHJlZSA9PSBudWxsID8gdm9pZCAwIDogdHJlZS5ub2Rlc1JlZi5jdXJyZW50LmZpbmQobm9kZSA9PiBub2RlLnBhcmVudElkID09IG51bGwpO1xuICAgICAgICAgIGNvbnN0IGRlZXBlc3ROb2RlID0gdHJlZSAmJiByb290Tm9kZSA/IGdldERlZXBlc3ROb2RlKHRyZWUubm9kZXNSZWYuY3VycmVudCwgcm9vdE5vZGUuaWQpIDogbnVsbDtcbiAgICAgICAgICBpZiAoaXNBcnJvd0tleSAmJiBkZWVwZXN0Tm9kZSAmJiB2aXJ0dWFsSXRlbVJlZikge1xuICAgICAgICAgICAgY29uc3QgZXZlbnRPYmplY3QgPSBuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHtcbiAgICAgICAgICAgICAga2V5OiBldmVudC5rZXksXG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGlzQ3Jvc3NPcGVuS2V5IHx8IGlzQ3Jvc3NDbG9zZUtleSkge1xuICAgICAgICAgICAgICB2YXIgX2RlZXBlc3ROb2RlJGNvbnRleHQsIF9kZWVwZXN0Tm9kZSRjb250ZXh0MjtcbiAgICAgICAgICAgICAgY29uc3QgaXNDdXJyZW50VGFyZ2V0ID0gKChfZGVlcGVzdE5vZGUkY29udGV4dCA9IGRlZXBlc3ROb2RlLmNvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfZGVlcGVzdE5vZGUkY29udGV4dC5lbGVtZW50cy5kb21SZWZlcmVuY2UpID09PSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICAgICAgICBjb25zdCBkaXNwYXRjaEl0ZW0gPSBpc0Nyb3NzQ2xvc2VLZXkgJiYgIWlzQ3VycmVudFRhcmdldCA/IChfZGVlcGVzdE5vZGUkY29udGV4dDIgPSBkZWVwZXN0Tm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2RlZXBlc3ROb2RlJGNvbnRleHQyLmVsZW1lbnRzLmRvbVJlZmVyZW5jZSA6IGlzQ3Jvc3NPcGVuS2V5ID8gbGlzdFJlZi5jdXJyZW50LmZpbmQoaXRlbSA9PiAoaXRlbSA9PSBudWxsID8gdm9pZCAwIDogaXRlbS5pZCkgPT09IGFjdGl2ZUlkKSA6IG51bGw7XG4gICAgICAgICAgICAgIGlmIChkaXNwYXRjaEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoSXRlbS5kaXNwYXRjaEV2ZW50KGV2ZW50T2JqZWN0KTtcbiAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsSWQodW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzTWFpbktleSAmJiBkZWVwZXN0Tm9kZS5jb250ZXh0KSB7XG4gICAgICAgICAgICAgIGlmIChkZWVwZXN0Tm9kZS5jb250ZXh0Lm9wZW4gJiYgZGVlcGVzdE5vZGUucGFyZW50SWQgJiYgZXZlbnQuY3VycmVudFRhcmdldCAhPT0gZGVlcGVzdE5vZGUuY29udGV4dC5lbGVtZW50cy5kb21SZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2RlZXBlc3ROb2RlJGNvbnRleHQkO1xuICAgICAgICAgICAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICAgICAgICAgICAgKF9kZWVwZXN0Tm9kZSRjb250ZXh0JCA9IGRlZXBlc3ROb2RlLmNvbnRleHQuZWxlbWVudHMuZG9tUmVmZXJlbmNlKSA9PSBudWxsIHx8IF9kZWVwZXN0Tm9kZSRjb250ZXh0JC5kaXNwYXRjaEV2ZW50KGV2ZW50T2JqZWN0KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNvbW1vbk9uS2V5RG93bihldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBhIGZsb2F0aW5nIGVsZW1lbnQgc2hvdWxkIG5vdCBvcGVuIG9uIGFycm93IGtleSBkb3duLCBhdm9pZFxuICAgICAgICAvLyBzZXR0aW5nIGBhY3RpdmVJbmRleGAgd2hpbGUgaXQncyBjbG9zZWQuXG4gICAgICAgIGlmICghb3BlbiAmJiAhb3Blbk9uQXJyb3dLZXlEb3duICYmIGlzQXJyb3dLZXkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTmF2aWdhdGlvbktleSkge1xuICAgICAgICAgIGtleVJlZi5jdXJyZW50ID0gbmVzdGVkICYmIGlzTWFpbktleSA/IG51bGwgOiBldmVudC5rZXk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5lc3RlZCkge1xuICAgICAgICAgIGlmIChpc0Nyb3NzT3BlbktleSkge1xuICAgICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBnZXRNaW5JbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXNSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgIG9uTmF2aWdhdGUoaW5kZXhSZWYuY3VycmVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQubmF0aXZlRXZlbnQsICdsaXN0LW5hdmlnYXRpb24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc01haW5LZXkpIHtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgICBpZiAoIW9wZW4gJiYgb3Blbk9uQXJyb3dLZXlEb3duKSB7XG4gICAgICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQubmF0aXZlRXZlbnQsICdsaXN0LW5hdmlnYXRpb24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tbW9uT25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgIG9uTmF2aWdhdGUoaW5kZXhSZWYuY3VycmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25Gb2N1cygpIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgIXZpcnR1YWwpIHtcbiAgICAgICAgICBvbk5hdmlnYXRlKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25Qb2ludGVyRG93bjogY2hlY2tWaXJ0dWFsUG9pbnRlcixcbiAgICAgIG9uTW91c2VEb3duOiBjaGVja1ZpcnR1YWxNb3VzZSxcbiAgICAgIG9uQ2xpY2s6IGNoZWNrVmlydHVhbE1vdXNlXG4gICAgfTtcbiAgfSwgW2FjdGl2ZUlkLCBhcmlhQWN0aXZlRGVzY2VuZGFudFByb3AsIGNvbW1vbk9uS2V5RG93biwgZGlzYWJsZWRJbmRpY2VzUmVmLCBmb2N1c0l0ZW1Pbk9wZW4sIGxpc3RSZWYsIG5lc3RlZCwgb25OYXZpZ2F0ZSwgb25PcGVuQ2hhbmdlLCBvcGVuLCBvcGVuT25BcnJvd0tleURvd24sIG9yaWVudGF0aW9uLCBydGwsIHNlbGVjdGVkSW5kZXgsIHRyZWUsIHZpcnR1YWwsIHZpcnR1YWxJdGVtUmVmXSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IGVuYWJsZWQgPyB7XG4gICAgcmVmZXJlbmNlLFxuICAgIGZsb2F0aW5nLFxuICAgIGl0ZW1cbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlLCBmbG9hdGluZywgaXRlbV0pO1xufVxuXG5jb25zdCBjb21wb25lbnRSb2xlVG9BcmlhUm9sZU1hcCA9IC8qI19fUFVSRV9fKi9uZXcgTWFwKFtbJ3NlbGVjdCcsICdsaXN0Ym94J10sIFsnY29tYm9ib3gnLCAnbGlzdGJveCddLCBbJ2xhYmVsJywgZmFsc2VdXSk7XG5cbi8qKlxuICogQWRkcyBiYXNlIHNjcmVlbiByZWFkZXIgcHJvcHMgdG8gdGhlIHJlZmVyZW5jZSBhbmQgZmxvYXRpbmcgZWxlbWVudHMgZm9yIGFcbiAqIGdpdmVuIGZsb2F0aW5nIGVsZW1lbnQgYHJvbGVgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZVJvbGVcbiAqL1xuZnVuY3Rpb24gdXNlUm9sZShjb250ZXh0LCBwcm9wcykge1xuICB2YXIgX2NvbXBvbmVudFJvbGVUb0FyaWFSO1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgZmxvYXRpbmdJZFxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIHJvbGUgPSAnZGlhbG9nJ1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGFyaWFSb2xlID0gKF9jb21wb25lbnRSb2xlVG9BcmlhUiA9IGNvbXBvbmVudFJvbGVUb0FyaWFSb2xlTWFwLmdldChyb2xlKSkgIT0gbnVsbCA/IF9jb21wb25lbnRSb2xlVG9BcmlhUiA6IHJvbGU7XG4gIGNvbnN0IHJlZmVyZW5jZUlkID0gdXNlSWQoKTtcbiAgY29uc3QgcGFyZW50SWQgPSB1c2VGbG9hdGluZ1BhcmVudE5vZGVJZCgpO1xuICBjb25zdCBpc05lc3RlZCA9IHBhcmVudElkICE9IG51bGw7XG4gIGNvbnN0IHJlZmVyZW5jZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcmlhUm9sZSA9PT0gJ3Rvb2x0aXAnIHx8IHJvbGUgPT09ICdsYWJlbCcpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtcImFyaWEtXCIgKyAocm9sZSA9PT0gJ2xhYmVsJyA/ICdsYWJlbGxlZGJ5JyA6ICdkZXNjcmliZWRieScpXTogb3BlbiA/IGZsb2F0aW5nSWQgOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAnYXJpYS1leHBhbmRlZCc6IG9wZW4gPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhUm9sZSA9PT0gJ2FsZXJ0ZGlhbG9nJyA/ICdkaWFsb2cnIDogYXJpYVJvbGUsXG4gICAgICAnYXJpYS1jb250cm9scyc6IG9wZW4gPyBmbG9hdGluZ0lkIDogdW5kZWZpbmVkLFxuICAgICAgLi4uKGFyaWFSb2xlID09PSAnbGlzdGJveCcgJiYge1xuICAgICAgICByb2xlOiAnY29tYm9ib3gnXG4gICAgICB9KSxcbiAgICAgIC4uLihhcmlhUm9sZSA9PT0gJ21lbnUnICYmIHtcbiAgICAgICAgaWQ6IHJlZmVyZW5jZUlkXG4gICAgICB9KSxcbiAgICAgIC4uLihhcmlhUm9sZSA9PT0gJ21lbnUnICYmIGlzTmVzdGVkICYmIHtcbiAgICAgICAgcm9sZTogJ21lbnVpdGVtJ1xuICAgICAgfSksXG4gICAgICAuLi4ocm9sZSA9PT0gJ3NlbGVjdCcgJiYge1xuICAgICAgICAnYXJpYS1hdXRvY29tcGxldGUnOiAnbm9uZSdcbiAgICAgIH0pLFxuICAgICAgLi4uKHJvbGUgPT09ICdjb21ib2JveCcgJiYge1xuICAgICAgICAnYXJpYS1hdXRvY29tcGxldGUnOiAnbGlzdCdcbiAgICAgIH0pXG4gICAgfTtcbiAgfSwgW2FyaWFSb2xlLCBmbG9hdGluZ0lkLCBpc05lc3RlZCwgb3BlbiwgcmVmZXJlbmNlSWQsIHJvbGVdKTtcbiAgY29uc3QgZmxvYXRpbmcgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBmbG9hdGluZ1Byb3BzID0ge1xuICAgICAgaWQ6IGZsb2F0aW5nSWQsXG4gICAgICAuLi4oYXJpYVJvbGUgJiYge1xuICAgICAgICByb2xlOiBhcmlhUm9sZVxuICAgICAgfSlcbiAgICB9O1xuICAgIGlmIChhcmlhUm9sZSA9PT0gJ3Rvb2x0aXAnIHx8IHJvbGUgPT09ICdsYWJlbCcpIHtcbiAgICAgIHJldHVybiBmbG9hdGluZ1Byb3BzO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmxvYXRpbmdQcm9wcyxcbiAgICAgIC4uLihhcmlhUm9sZSA9PT0gJ21lbnUnICYmIHtcbiAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IHJlZmVyZW5jZUlkXG4gICAgICB9KVxuICAgIH07XG4gIH0sIFthcmlhUm9sZSwgZmxvYXRpbmdJZCwgcmVmZXJlbmNlSWQsIHJvbGVdKTtcbiAgY29uc3QgaXRlbSA9IFJlYWN0LnVzZUNhbGxiYWNrKF9yZWYgPT4ge1xuICAgIGxldCB7XG4gICAgICBhY3RpdmUsXG4gICAgICBzZWxlY3RlZFxuICAgIH0gPSBfcmVmO1xuICAgIGNvbnN0IGNvbW1vblByb3BzID0ge1xuICAgICAgcm9sZTogJ29wdGlvbicsXG4gICAgICAuLi4oYWN0aXZlICYmIHtcbiAgICAgICAgaWQ6IGZsb2F0aW5nSWQgKyBcIi1vcHRpb25cIlxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgLy8gRm9yIGBtZW51YCwgd2UgYXJlIHVuYWJsZSB0byB0ZWxsIGlmIHRoZSBpdGVtIGlzIGEgYG1lbnVpdGVtcmFkaW9gXG4gICAgLy8gb3IgYG1lbnVpdGVtY2hlY2tib3hgLiBGb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgcmVhc29ucywgYWxzb1xuICAgIC8vIGF2b2lkIGRlZmF1bHRpbmcgdG8gYG1lbnVpdGVtYCBhcyBpdCBtYXkgb3ZlcndyaXRlIGN1c3RvbSByb2xlIHByb3BzLlxuICAgIHN3aXRjaCAocm9sZSkge1xuICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5jb21tb25Qcm9wcyxcbiAgICAgICAgICAnYXJpYS1zZWxlY3RlZCc6IGFjdGl2ZSAmJiBzZWxlY3RlZFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnY29tYm9ib3gnOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbW1vblByb3BzLFxuICAgICAgICAgICAgLi4uKGFjdGl2ZSAmJiB7XG4gICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfSwgW2Zsb2F0aW5nSWQsIHJvbGVdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmcsXG4gICAgaXRlbVxuICB9IDoge30sIFtlbmFibGVkLCByZWZlcmVuY2UsIGZsb2F0aW5nLCBpdGVtXSk7XG59XG5cbi8vIENvbnZlcnRzIGEgSlMgc3R5bGUga2V5IGxpa2UgYGJhY2tncm91bmRDb2xvcmAgdG8gYSBDU1MgdHJhbnNpdGlvbi1wcm9wZXJ0eVxuLy8gbGlrZSBgYmFja2dyb3VuZC1jb2xvcmAuXG5jb25zdCBjYW1lbENhc2VUb0tlYmFiQ2FzZSA9IHN0ciA9PiBzdHIucmVwbGFjZSgvW0EtWl0rKD8hW2Etel0pfFtBLVpdL2csICgkLCBvZnMpID0+IChvZnMgPyAnLScgOiAnJykgKyAkLnRvTG93ZXJDYXNlKCkpO1xuZnVuY3Rpb24gZXhlY1dpdGhBcmdzT3JSZXR1cm4odmFsdWVPckZuLCBhcmdzKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWVPckZuID09PSAnZnVuY3Rpb24nID8gdmFsdWVPckZuKGFyZ3MpIDogdmFsdWVPckZuO1xufVxuZnVuY3Rpb24gdXNlRGVsYXlVbm1vdW50KG9wZW4sIGR1cmF0aW9uTXMpIHtcbiAgY29uc3QgW2lzTW91bnRlZCwgc2V0SXNNb3VudGVkXSA9IFJlYWN0LnVzZVN0YXRlKG9wZW4pO1xuICBpZiAob3BlbiAmJiAhaXNNb3VudGVkKSB7XG4gICAgc2V0SXNNb3VudGVkKHRydWUpO1xuICB9XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuICYmIGlzTW91bnRlZCkge1xuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gc2V0SXNNb3VudGVkKGZhbHNlKSwgZHVyYXRpb25Ncyk7XG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgIH1cbiAgfSwgW29wZW4sIGlzTW91bnRlZCwgZHVyYXRpb25Nc10pO1xuICByZXR1cm4gaXNNb3VudGVkO1xufVxuLyoqXG4gKiBQcm92aWRlcyBhIHN0YXR1cyBzdHJpbmcgdG8gYXBwbHkgQ1NTIHRyYW5zaXRpb25zIHRvIGEgZmxvYXRpbmcgZWxlbWVudCxcbiAqIGNvcnJlY3RseSBoYW5kbGluZyBwbGFjZW1lbnQtYXdhcmUgdHJhbnNpdGlvbnMuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlVHJhbnNpdGlvbiN1c2V0cmFuc2l0aW9uc3RhdHVzXG4gKi9cbmZ1bmN0aW9uIHVzZVRyYW5zaXRpb25TdGF0dXMoY29udGV4dCwgcHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIGVsZW1lbnRzOiB7XG4gICAgICBmbG9hdGluZ1xuICAgIH1cbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBkdXJhdGlvbiA9IDI1MFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGlzTnVtYmVyRHVyYXRpb24gPSB0eXBlb2YgZHVyYXRpb24gPT09ICdudW1iZXInO1xuICBjb25zdCBjbG9zZUR1cmF0aW9uID0gKGlzTnVtYmVyRHVyYXRpb24gPyBkdXJhdGlvbiA6IGR1cmF0aW9uLmNsb3NlKSB8fCAwO1xuICBjb25zdCBbc3RhdHVzLCBzZXRTdGF0dXNdID0gUmVhY3QudXNlU3RhdGUoJ3VubW91bnRlZCcpO1xuICBjb25zdCBpc01vdW50ZWQgPSB1c2VEZWxheVVubW91bnQob3BlbiwgY2xvc2VEdXJhdGlvbik7XG4gIGlmICghaXNNb3VudGVkICYmIHN0YXR1cyA9PT0gJ2Nsb3NlJykge1xuICAgIHNldFN0YXR1cygndW5tb3VudGVkJyk7XG4gIH1cbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmICghZmxvYXRpbmcpIHJldHVybjtcbiAgICBpZiAob3Blbikge1xuICAgICAgc2V0U3RhdHVzKCdpbml0aWFsJyk7XG4gICAgICBjb25zdCBmcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHNldFN0YXR1cygnb3BlbicpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShmcmFtZSk7XG4gICAgICB9O1xuICAgIH1cbiAgICBzZXRTdGF0dXMoJ2Nsb3NlJyk7XG4gIH0sIFtvcGVuLCBmbG9hdGluZ10pO1xuICByZXR1cm4ge1xuICAgIGlzTW91bnRlZCxcbiAgICBzdGF0dXNcbiAgfTtcbn1cbi8qKlxuICogUHJvdmlkZXMgc3R5bGVzIHRvIGFwcGx5IENTUyB0cmFuc2l0aW9ucyB0byBhIGZsb2F0aW5nIGVsZW1lbnQsIGNvcnJlY3RseVxuICogaGFuZGxpbmcgcGxhY2VtZW50LWF3YXJlIHRyYW5zaXRpb25zLiBXcmFwcGVyIGFyb3VuZCBgdXNlVHJhbnNpdGlvblN0YXR1c2AuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlVHJhbnNpdGlvbiN1c2V0cmFuc2l0aW9uc3R5bGVzXG4gKi9cbmZ1bmN0aW9uIHVzZVRyYW5zaXRpb25TdHlsZXMoY29udGV4dCwgcHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBpbml0aWFsOiB1bnN0YWJsZV9pbml0aWFsID0ge1xuICAgICAgb3BhY2l0eTogMFxuICAgIH0sXG4gICAgb3BlbjogdW5zdGFibGVfb3BlbixcbiAgICBjbG9zZTogdW5zdGFibGVfY2xvc2UsXG4gICAgY29tbW9uOiB1bnN0YWJsZV9jb21tb24sXG4gICAgZHVyYXRpb24gPSAyNTBcbiAgfSA9IHByb3BzO1xuICBjb25zdCBwbGFjZW1lbnQgPSBjb250ZXh0LnBsYWNlbWVudDtcbiAgY29uc3Qgc2lkZSA9IHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICBjb25zdCBmbkFyZ3MgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgc2lkZSxcbiAgICBwbGFjZW1lbnRcbiAgfSksIFtzaWRlLCBwbGFjZW1lbnRdKTtcbiAgY29uc3QgaXNOdW1iZXJEdXJhdGlvbiA9IHR5cGVvZiBkdXJhdGlvbiA9PT0gJ251bWJlcic7XG4gIGNvbnN0IG9wZW5EdXJhdGlvbiA9IChpc051bWJlckR1cmF0aW9uID8gZHVyYXRpb24gOiBkdXJhdGlvbi5vcGVuKSB8fCAwO1xuICBjb25zdCBjbG9zZUR1cmF0aW9uID0gKGlzTnVtYmVyRHVyYXRpb24gPyBkdXJhdGlvbiA6IGR1cmF0aW9uLmNsb3NlKSB8fCAwO1xuICBjb25zdCBbc3R5bGVzLCBzZXRTdHlsZXNdID0gUmVhY3QudXNlU3RhdGUoKCkgPT4gKHtcbiAgICAuLi5leGVjV2l0aEFyZ3NPclJldHVybih1bnN0YWJsZV9jb21tb24sIGZuQXJncyksXG4gICAgLi4uZXhlY1dpdGhBcmdzT3JSZXR1cm4odW5zdGFibGVfaW5pdGlhbCwgZm5BcmdzKVxuICB9KSk7XG4gIGNvbnN0IHtcbiAgICBpc01vdW50ZWQsXG4gICAgc3RhdHVzXG4gIH0gPSB1c2VUcmFuc2l0aW9uU3RhdHVzKGNvbnRleHQsIHtcbiAgICBkdXJhdGlvblxuICB9KTtcbiAgY29uc3QgaW5pdGlhbFJlZiA9IHVzZUxhdGVzdFJlZih1bnN0YWJsZV9pbml0aWFsKTtcbiAgY29uc3Qgb3BlblJlZiA9IHVzZUxhdGVzdFJlZih1bnN0YWJsZV9vcGVuKTtcbiAgY29uc3QgY2xvc2VSZWYgPSB1c2VMYXRlc3RSZWYodW5zdGFibGVfY2xvc2UpO1xuICBjb25zdCBjb21tb25SZWYgPSB1c2VMYXRlc3RSZWYodW5zdGFibGVfY29tbW9uKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGNvbnN0IGluaXRpYWxTdHlsZXMgPSBleGVjV2l0aEFyZ3NPclJldHVybihpbml0aWFsUmVmLmN1cnJlbnQsIGZuQXJncyk7XG4gICAgY29uc3QgY2xvc2VTdHlsZXMgPSBleGVjV2l0aEFyZ3NPclJldHVybihjbG9zZVJlZi5jdXJyZW50LCBmbkFyZ3MpO1xuICAgIGNvbnN0IGNvbW1vblN0eWxlcyA9IGV4ZWNXaXRoQXJnc09yUmV0dXJuKGNvbW1vblJlZi5jdXJyZW50LCBmbkFyZ3MpO1xuICAgIGNvbnN0IG9wZW5TdHlsZXMgPSBleGVjV2l0aEFyZ3NPclJldHVybihvcGVuUmVmLmN1cnJlbnQsIGZuQXJncykgfHwgT2JqZWN0LmtleXMoaW5pdGlhbFN0eWxlcykucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgYWNjW2tleV0gPSAnJztcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICAgIGlmIChzdGF0dXMgPT09ICdpbml0aWFsJykge1xuICAgICAgc2V0U3R5bGVzKHN0eWxlcyA9PiAoe1xuICAgICAgICB0cmFuc2l0aW9uUHJvcGVydHk6IHN0eWxlcy50cmFuc2l0aW9uUHJvcGVydHksXG4gICAgICAgIC4uLmNvbW1vblN0eWxlcyxcbiAgICAgICAgLi4uaW5pdGlhbFN0eWxlc1xuICAgICAgfSkpO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzID09PSAnb3BlbicpIHtcbiAgICAgIHNldFN0eWxlcyh7XG4gICAgICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogT2JqZWN0LmtleXMob3BlblN0eWxlcykubWFwKGNhbWVsQ2FzZVRvS2ViYWJDYXNlKS5qb2luKCcsJyksXG4gICAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogb3BlbkR1cmF0aW9uICsgXCJtc1wiLFxuICAgICAgICAuLi5jb21tb25TdHlsZXMsXG4gICAgICAgIC4uLm9wZW5TdHlsZXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzID09PSAnY2xvc2UnKSB7XG4gICAgICBjb25zdCBzdHlsZXMgPSBjbG9zZVN0eWxlcyB8fCBpbml0aWFsU3R5bGVzO1xuICAgICAgc2V0U3R5bGVzKHtcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiBPYmplY3Qua2V5cyhzdHlsZXMpLm1hcChjYW1lbENhc2VUb0tlYmFiQ2FzZSkuam9pbignLCcpLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IGNsb3NlRHVyYXRpb24gKyBcIm1zXCIsXG4gICAgICAgIC4uLmNvbW1vblN0eWxlcyxcbiAgICAgICAgLi4uc3R5bGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtjbG9zZUR1cmF0aW9uLCBjbG9zZVJlZiwgaW5pdGlhbFJlZiwgb3BlblJlZiwgY29tbW9uUmVmLCBvcGVuRHVyYXRpb24sIHN0YXR1cywgZm5BcmdzXSk7XG4gIHJldHVybiB7XG4gICAgaXNNb3VudGVkLFxuICAgIHN0eWxlc1xuICB9O1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGEgbWF0Y2hpbmcgY2FsbGJhY2sgdGhhdCBjYW4gYmUgdXNlZCB0byBmb2N1cyBhbiBpdGVtIGFzIHRoZSB1c2VyXG4gKiB0eXBlcywgb2Z0ZW4gdXNlZCBpbiB0YW5kZW0gd2l0aCBgdXNlTGlzdE5hdmlnYXRpb24oKWAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlVHlwZWFoZWFkXG4gKi9cbmZ1bmN0aW9uIHVzZVR5cGVhaGVhZChjb250ZXh0LCBwcm9wcykge1xuICB2YXIgX3JlZjtcbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgZGF0YVJlZlxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGxpc3RSZWYsXG4gICAgYWN0aXZlSW5kZXgsXG4gICAgb25NYXRjaDogdW5zdGFibGVfb25NYXRjaCxcbiAgICBvblR5cGluZ0NoYW5nZTogdW5zdGFibGVfb25UeXBpbmdDaGFuZ2UsXG4gICAgZW5hYmxlZCA9IHRydWUsXG4gICAgZmluZE1hdGNoID0gbnVsbCxcbiAgICByZXNldE1zID0gNzUwLFxuICAgIGlnbm9yZUtleXMgPSBbXSxcbiAgICBzZWxlY3RlZEluZGV4ID0gbnVsbFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHRpbWVvdXRJZFJlZiA9IFJlYWN0LnVzZVJlZigpO1xuICBjb25zdCBzdHJpbmdSZWYgPSBSZWFjdC51c2VSZWYoJycpO1xuICBjb25zdCBwcmV2SW5kZXhSZWYgPSBSZWFjdC51c2VSZWYoKF9yZWYgPSBzZWxlY3RlZEluZGV4ICE9IG51bGwgPyBzZWxlY3RlZEluZGV4IDogYWN0aXZlSW5kZXgpICE9IG51bGwgPyBfcmVmIDogLTEpO1xuICBjb25zdCBtYXRjaEluZGV4UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBvbk1hdGNoID0gdXNlRWZmZWN0RXZlbnQodW5zdGFibGVfb25NYXRjaCk7XG4gIGNvbnN0IG9uVHlwaW5nQ2hhbmdlID0gdXNlRWZmZWN0RXZlbnQodW5zdGFibGVfb25UeXBpbmdDaGFuZ2UpO1xuICBjb25zdCBmaW5kTWF0Y2hSZWYgPSB1c2VMYXRlc3RSZWYoZmluZE1hdGNoKTtcbiAgY29uc3QgaWdub3JlS2V5c1JlZiA9IHVzZUxhdGVzdFJlZihpZ25vcmVLZXlzKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkUmVmLmN1cnJlbnQpO1xuICAgICAgbWF0Y2hJbmRleFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgIHN0cmluZ1JlZi5jdXJyZW50ID0gJyc7XG4gICAgfVxuICB9LCBbb3Blbl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgLy8gU3luYyBhcnJvdyBrZXkgbmF2aWdhdGlvbiBidXQgbm90IHR5cGVhaGVhZCBuYXZpZ2F0aW9uLlxuICAgIGlmIChvcGVuICYmIHN0cmluZ1JlZi5jdXJyZW50ID09PSAnJykge1xuICAgICAgdmFyIF9yZWYyO1xuICAgICAgcHJldkluZGV4UmVmLmN1cnJlbnQgPSAoX3JlZjIgPSBzZWxlY3RlZEluZGV4ICE9IG51bGwgPyBzZWxlY3RlZEluZGV4IDogYWN0aXZlSW5kZXgpICE9IG51bGwgPyBfcmVmMiA6IC0xO1xuICAgIH1cbiAgfSwgW29wZW4sIHNlbGVjdGVkSW5kZXgsIGFjdGl2ZUluZGV4XSk7XG4gIGNvbnN0IHNldFR5cGluZ0NoYW5nZSA9IHVzZUVmZmVjdEV2ZW50KHZhbHVlID0+IHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICghZGF0YVJlZi5jdXJyZW50LnR5cGluZykge1xuICAgICAgICBkYXRhUmVmLmN1cnJlbnQudHlwaW5nID0gdmFsdWU7XG4gICAgICAgIG9uVHlwaW5nQ2hhbmdlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGRhdGFSZWYuY3VycmVudC50eXBpbmcpIHtcbiAgICAgICAgZGF0YVJlZi5jdXJyZW50LnR5cGluZyA9IHZhbHVlO1xuICAgICAgICBvblR5cGluZ0NoYW5nZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgY29uc3Qgb25LZXlEb3duID0gdXNlRWZmZWN0RXZlbnQoZXZlbnQgPT4ge1xuICAgIGZ1bmN0aW9uIGdldE1hdGNoaW5nSW5kZXgobGlzdCwgb3JkZXJlZExpc3QsIHN0cmluZykge1xuICAgICAgY29uc3Qgc3RyID0gZmluZE1hdGNoUmVmLmN1cnJlbnQgPyBmaW5kTWF0Y2hSZWYuY3VycmVudChvcmRlcmVkTGlzdCwgc3RyaW5nKSA6IG9yZGVyZWRMaXN0LmZpbmQodGV4dCA9PiAodGV4dCA9PSBudWxsID8gdm9pZCAwIDogdGV4dC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluZGV4T2Yoc3RyaW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSA9PT0gMCk7XG4gICAgICByZXR1cm4gc3RyID8gbGlzdC5pbmRleE9mKHN0cikgOiAtMTtcbiAgICB9XG4gICAgY29uc3QgbGlzdENvbnRlbnQgPSBsaXN0UmVmLmN1cnJlbnQ7XG4gICAgaWYgKHN0cmluZ1JlZi5jdXJyZW50Lmxlbmd0aCA+IDAgJiYgc3RyaW5nUmVmLmN1cnJlbnRbMF0gIT09ICcgJykge1xuICAgICAgaWYgKGdldE1hdGNoaW5nSW5kZXgobGlzdENvbnRlbnQsIGxpc3RDb250ZW50LCBzdHJpbmdSZWYuY3VycmVudCkgPT09IC0xKSB7XG4gICAgICAgIHNldFR5cGluZ0NoYW5nZShmYWxzZSk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChsaXN0Q29udGVudCA9PSBudWxsIHx8IGlnbm9yZUtleXNSZWYuY3VycmVudC5pbmNsdWRlcyhldmVudC5rZXkpIHx8XG4gICAgLy8gQ2hhcmFjdGVyIGtleS5cbiAgICBldmVudC5rZXkubGVuZ3RoICE9PSAxIHx8XG4gICAgLy8gTW9kaWZpZXIga2V5LlxuICAgIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5hbHRLZXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG9wZW4gJiYgZXZlbnQua2V5ICE9PSAnICcpIHtcbiAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICBzZXRUeXBpbmdDaGFuZ2UodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFpbCBvdXQgaWYgdGhlIGxpc3QgY29udGFpbnMgYSB3b3JkIGxpa2UgXCJsbGFtYVwiIG9yIFwiYWFyb25cIi4gVE9ETzpcbiAgICAvLyBhbGxvdyBpdCBpbiB0aGlzIGNhc2UsIHRvby5cbiAgICBjb25zdCBhbGxvd1JhcGlkU3VjY2Vzc2lvbk9mRmlyc3RMZXR0ZXIgPSBsaXN0Q29udGVudC5ldmVyeSh0ZXh0ID0+IHtcbiAgICAgIHZhciBfdGV4dCQsIF90ZXh0JDI7XG4gICAgICByZXR1cm4gdGV4dCA/ICgoX3RleHQkID0gdGV4dFswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90ZXh0JC50b0xvY2FsZUxvd2VyQ2FzZSgpKSAhPT0gKChfdGV4dCQyID0gdGV4dFsxXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90ZXh0JDIudG9Mb2NhbGVMb3dlckNhc2UoKSkgOiB0cnVlO1xuICAgIH0pO1xuXG4gICAgLy8gQWxsb3dzIHRoZSB1c2VyIHRvIGN5Y2xlIHRocm91Z2ggaXRlbXMgdGhhdCBzdGFydCB3aXRoIHRoZSBzYW1lIGxldHRlclxuICAgIC8vIGluIHJhcGlkIHN1Y2Nlc3Npb24uXG4gICAgaWYgKGFsbG93UmFwaWRTdWNjZXNzaW9uT2ZGaXJzdExldHRlciAmJiBzdHJpbmdSZWYuY3VycmVudCA9PT0gZXZlbnQua2V5KSB7XG4gICAgICBzdHJpbmdSZWYuY3VycmVudCA9ICcnO1xuICAgICAgcHJldkluZGV4UmVmLmN1cnJlbnQgPSBtYXRjaEluZGV4UmVmLmN1cnJlbnQ7XG4gICAgfVxuICAgIHN0cmluZ1JlZi5jdXJyZW50ICs9IGV2ZW50LmtleTtcbiAgICBjbGVhclRpbWVvdXQodGltZW91dElkUmVmLmN1cnJlbnQpO1xuICAgIHRpbWVvdXRJZFJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzdHJpbmdSZWYuY3VycmVudCA9ICcnO1xuICAgICAgcHJldkluZGV4UmVmLmN1cnJlbnQgPSBtYXRjaEluZGV4UmVmLmN1cnJlbnQ7XG4gICAgICBzZXRUeXBpbmdDaGFuZ2UoZmFsc2UpO1xuICAgIH0sIHJlc2V0TXMpO1xuICAgIGNvbnN0IHByZXZJbmRleCA9IHByZXZJbmRleFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGluZGV4ID0gZ2V0TWF0Y2hpbmdJbmRleChsaXN0Q29udGVudCwgWy4uLmxpc3RDb250ZW50LnNsaWNlKChwcmV2SW5kZXggfHwgMCkgKyAxKSwgLi4ubGlzdENvbnRlbnQuc2xpY2UoMCwgKHByZXZJbmRleCB8fCAwKSArIDEpXSwgc3RyaW5nUmVmLmN1cnJlbnQpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIG9uTWF0Y2goaW5kZXgpO1xuICAgICAgbWF0Y2hJbmRleFJlZi5jdXJyZW50ID0gaW5kZXg7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgIT09ICcgJykge1xuICAgICAgc3RyaW5nUmVmLmN1cnJlbnQgPSAnJztcbiAgICAgIHNldFR5cGluZ0NoYW5nZShmYWxzZSk7XG4gICAgfVxuICB9KTtcbiAgY29uc3QgcmVmZXJlbmNlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIG9uS2V5RG93blxuICB9KSwgW29uS2V5RG93bl0pO1xuICBjb25zdCBmbG9hdGluZyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBvbktleURvd24sXG4gICAgICBvbktleVVwKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICAgIHNldFR5cGluZ0NoYW5nZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LCBbb25LZXlEb3duLCBzZXRUeXBpbmdDaGFuZ2VdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmdcbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlLCBmbG9hdGluZ10pO1xufVxuXG5mdW5jdGlvbiBnZXRBcmdzV2l0aEN1c3RvbUZsb2F0aW5nSGVpZ2h0KHN0YXRlLCBoZWlnaHQpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZWN0czoge1xuICAgICAgLi4uc3RhdGUucmVjdHMsXG4gICAgICBmbG9hdGluZzoge1xuICAgICAgICAuLi5zdGF0ZS5yZWN0cy5mbG9hdGluZyxcbiAgICAgICAgaGVpZ2h0XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuLyoqXG4gKiBQb3NpdGlvbnMgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc3VjaCB0aGF0IGFuIGlubmVyIGVsZW1lbnQgaW5zaWRlIG9mIGl0IGlzXG4gKiBhbmNob3JlZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaW5uZXJcbiAqL1xuY29uc3QgaW5uZXIgPSBwcm9wcyA9PiAoe1xuICBuYW1lOiAnaW5uZXInLFxuICBvcHRpb25zOiBwcm9wcyxcbiAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICBjb25zdCB7XG4gICAgICBsaXN0UmVmLFxuICAgICAgb3ZlcmZsb3dSZWYsXG4gICAgICBvbkZhbGxiYWNrQ2hhbmdlLFxuICAgICAgb2Zmc2V0OiBpbm5lck9mZnNldCA9IDAsXG4gICAgICBpbmRleCA9IDAsXG4gICAgICBtaW5JdGVtc1Zpc2libGUgPSA0LFxuICAgICAgcmVmZXJlbmNlT3ZlcmZsb3dUaHJlc2hvbGQgPSAwLFxuICAgICAgc2Nyb2xsUmVmLFxuICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zXG4gICAgfSA9IGV2YWx1YXRlKHByb3BzLCBzdGF0ZSk7XG4gICAgY29uc3Qge1xuICAgICAgcmVjdHMsXG4gICAgICBlbGVtZW50czoge1xuICAgICAgICBmbG9hdGluZ1xuICAgICAgfVxuICAgIH0gPSBzdGF0ZTtcbiAgICBjb25zdCBpdGVtID0gbGlzdFJlZi5jdXJyZW50W2luZGV4XTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICBpZiAoIXN0YXRlLnBsYWNlbWVudC5zdGFydHNXaXRoKCdib3R0b20nKSkge1xuICAgICAgICB3YXJuKCdgcGxhY2VtZW50YCBzaWRlIG11c3QgYmUgXCJib3R0b21cIiB3aGVuIHVzaW5nIHRoZSBgaW5uZXJgJywgJ21pZGRsZXdhcmUuJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghaXRlbSkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBuZXh0QXJncyA9IHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgLi4uKGF3YWl0IG9mZnNldCgtaXRlbS5vZmZzZXRUb3AgLSBmbG9hdGluZy5jbGllbnRUb3AgLSByZWN0cy5yZWZlcmVuY2UuaGVpZ2h0IC8gMiAtIGl0ZW0ub2Zmc2V0SGVpZ2h0IC8gMiAtIGlubmVyT2Zmc2V0KS5mbihzdGF0ZSkpXG4gICAgfTtcbiAgICBjb25zdCBlbCA9IChzY3JvbGxSZWYgPT0gbnVsbCA/IHZvaWQgMCA6IHNjcm9sbFJlZi5jdXJyZW50KSB8fCBmbG9hdGluZztcbiAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KGdldEFyZ3NXaXRoQ3VzdG9tRmxvYXRpbmdIZWlnaHQobmV4dEFyZ3MsIGVsLnNjcm9sbEhlaWdodCksIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XG4gICAgY29uc3QgcmVmT3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhuZXh0QXJncywge1xuICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zLFxuICAgICAgZWxlbWVudENvbnRleHQ6ICdyZWZlcmVuY2UnXG4gICAgfSk7XG4gICAgY29uc3QgZGlmZlkgPSBNYXRoLm1heCgwLCBvdmVyZmxvdy50b3ApO1xuICAgIGNvbnN0IG5leHRZID0gbmV4dEFyZ3MueSArIGRpZmZZO1xuICAgIGNvbnN0IG1heEhlaWdodCA9IE1hdGgubWF4KDAsIGVsLnNjcm9sbEhlaWdodCAtIGRpZmZZIC0gTWF0aC5tYXgoMCwgb3ZlcmZsb3cuYm90dG9tKSk7XG4gICAgZWwuc3R5bGUubWF4SGVpZ2h0ID0gbWF4SGVpZ2h0ICsgXCJweFwiO1xuICAgIGVsLnNjcm9sbFRvcCA9IGRpZmZZO1xuXG4gICAgLy8gVGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSwgZmFsbGJhY2sgdG8gc3RhbmRhcmQgYW5jaG9yZWQgcG9zaXRpb25pbmdcbiAgICBpZiAob25GYWxsYmFja0NoYW5nZSkge1xuICAgICAgaWYgKGVsLm9mZnNldEhlaWdodCA8IGl0ZW0ub2Zmc2V0SGVpZ2h0ICogTWF0aC5taW4obWluSXRlbXNWaXNpYmxlLCBsaXN0UmVmLmN1cnJlbnQubGVuZ3RoIC0gMSkgLSAxIHx8IHJlZk92ZXJmbG93LnRvcCA+PSAtcmVmZXJlbmNlT3ZlcmZsb3dUaHJlc2hvbGQgfHwgcmVmT3ZlcmZsb3cuYm90dG9tID49IC1yZWZlcmVuY2VPdmVyZmxvd1RocmVzaG9sZCkge1xuICAgICAgICBSZWFjdERPTS5mbHVzaFN5bmMoKCkgPT4gb25GYWxsYmFja0NoYW5nZSh0cnVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBSZWFjdERPTS5mbHVzaFN5bmMoKCkgPT4gb25GYWxsYmFja0NoYW5nZShmYWxzZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAob3ZlcmZsb3dSZWYpIHtcbiAgICAgIG92ZXJmbG93UmVmLmN1cnJlbnQgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhnZXRBcmdzV2l0aEN1c3RvbUZsb2F0aW5nSGVpZ2h0KHtcbiAgICAgICAgLi4ubmV4dEFyZ3MsXG4gICAgICAgIHk6IG5leHRZXG4gICAgICB9LCBlbC5vZmZzZXRIZWlnaHQpLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgeTogbmV4dFlcbiAgICB9O1xuICB9XG59KTtcbi8qKlxuICogQ2hhbmdlcyB0aGUgYGlubmVyYCBtaWRkbGV3YXJlJ3MgYG9mZnNldGAgdXBvbiBhIGB3aGVlbGAgZXZlbnQgdG9cbiAqIGV4cGFuZCB0aGUgZmxvYXRpbmcgZWxlbWVudCdzIGhlaWdodCwgcmV2ZWFsaW5nIG1vcmUgbGlzdCBpdGVtcy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbm5lclxuICovXG5mdW5jdGlvbiB1c2VJbm5lck9mZnNldChjb250ZXh0LCBwcm9wcykge1xuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBlbGVtZW50c1xuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIG92ZXJmbG93UmVmLFxuICAgIHNjcm9sbFJlZixcbiAgICBvbkNoYW5nZTogdW5zdGFibGVfb25DaGFuZ2VcbiAgfSA9IHByb3BzO1xuICBjb25zdCBvbkNoYW5nZSA9IHVzZUVmZmVjdEV2ZW50KHVuc3RhYmxlX29uQ2hhbmdlKTtcbiAgY29uc3QgY29udHJvbGxlZFNjcm9sbGluZ1JlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHByZXZTY3JvbGxUb3BSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGluaXRpYWxPdmVyZmxvd1JlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBmdW5jdGlvbiBvbldoZWVsKGUpIHtcbiAgICAgIGlmIChlLmN0cmxLZXkgfHwgIWVsIHx8IG92ZXJmbG93UmVmLmN1cnJlbnQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBkWSA9IGUuZGVsdGFZO1xuICAgICAgY29uc3QgaXNBdFRvcCA9IG92ZXJmbG93UmVmLmN1cnJlbnQudG9wID49IC0wLjU7XG4gICAgICBjb25zdCBpc0F0Qm90dG9tID0gb3ZlcmZsb3dSZWYuY3VycmVudC5ib3R0b20gPj0gLTAuNTtcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1Njcm9sbCA9IGVsLnNjcm9sbEhlaWdodCAtIGVsLmNsaWVudEhlaWdodDtcbiAgICAgIGNvbnN0IHNpZ24gPSBkWSA8IDAgPyAtMSA6IDE7XG4gICAgICBjb25zdCBtZXRob2QgPSBkWSA8IDAgPyAnbWF4JyA6ICdtaW4nO1xuICAgICAgaWYgKGVsLnNjcm9sbEhlaWdodCA8PSBlbC5jbGllbnRIZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKCFpc0F0VG9wICYmIGRZID4gMCB8fCAhaXNBdEJvdHRvbSAmJiBkWSA8IDApIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBSZWFjdERPTS5mbHVzaFN5bmMoKCkgPT4ge1xuICAgICAgICAgIG9uQ2hhbmdlKGQgPT4gZCArIE1hdGhbbWV0aG9kXShkWSwgcmVtYWluaW5nU2Nyb2xsICogc2lnbikpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoL2ZpcmVmb3gvaS50ZXN0KGdldFVzZXJBZ2VudCgpKSkge1xuICAgICAgICAvLyBOZWVkZWQgdG8gcHJvcGFnYXRlIHNjcm9sbGluZyBkdXJpbmcgbW9tZW50dW0gc2Nyb2xsaW5nIHBoYXNlIG9uY2VcbiAgICAgICAgLy8gaXQgZ2V0cyBsaW1pdGVkIGJ5IHRoZSBib3VuZGFyeS4gVVggaW1wcm92ZW1lbnQsIG5vdCBjcml0aWNhbC5cbiAgICAgICAgZWwuc2Nyb2xsVG9wICs9IGRZO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBlbCA9IChzY3JvbGxSZWYgPT0gbnVsbCA/IHZvaWQgMCA6IHNjcm9sbFJlZi5jdXJyZW50KSB8fCBlbGVtZW50cy5mbG9hdGluZztcbiAgICBpZiAob3BlbiAmJiBlbCkge1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBvbldoZWVsKTtcblxuICAgICAgLy8gV2FpdCBmb3IgdGhlIHBvc2l0aW9uIHRvIGJlIHJlYWR5LlxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgcHJldlNjcm9sbFRvcFJlZi5jdXJyZW50ID0gZWwuc2Nyb2xsVG9wO1xuICAgICAgICBpZiAob3ZlcmZsb3dSZWYuY3VycmVudCAhPSBudWxsKSB7XG4gICAgICAgICAgaW5pdGlhbE92ZXJmbG93UmVmLmN1cnJlbnQgPSB7XG4gICAgICAgICAgICAuLi5vdmVyZmxvd1JlZi5jdXJyZW50XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBwcmV2U2Nyb2xsVG9wUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICBpbml0aWFsT3ZlcmZsb3dSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2VuYWJsZWQsIG9wZW4sIGVsZW1lbnRzLmZsb2F0aW5nLCBvdmVyZmxvd1JlZiwgc2Nyb2xsUmVmLCBvbkNoYW5nZV0pO1xuICBjb25zdCBmbG9hdGluZyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBvbktleURvd24oKSB7XG4gICAgICBjb250cm9sbGVkU2Nyb2xsaW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIH0sXG4gICAgb25XaGVlbCgpIHtcbiAgICAgIGNvbnRyb2xsZWRTY3JvbGxpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH0sXG4gICAgb25Qb2ludGVyTW92ZSgpIHtcbiAgICAgIGNvbnRyb2xsZWRTY3JvbGxpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH0sXG4gICAgb25TY3JvbGwoKSB7XG4gICAgICBjb25zdCBlbCA9IChzY3JvbGxSZWYgPT0gbnVsbCA/IHZvaWQgMCA6IHNjcm9sbFJlZi5jdXJyZW50KSB8fCBlbGVtZW50cy5mbG9hdGluZztcbiAgICAgIGlmICghb3ZlcmZsb3dSZWYuY3VycmVudCB8fCAhZWwgfHwgIWNvbnRyb2xsZWRTY3JvbGxpbmdSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAocHJldlNjcm9sbFRvcFJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbERpZmYgPSBlbC5zY3JvbGxUb3AgLSBwcmV2U2Nyb2xsVG9wUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmIChvdmVyZmxvd1JlZi5jdXJyZW50LmJvdHRvbSA8IC0wLjUgJiYgc2Nyb2xsRGlmZiA8IC0xIHx8IG92ZXJmbG93UmVmLmN1cnJlbnQudG9wIDwgLTAuNSAmJiBzY3JvbGxEaWZmID4gMSkge1xuICAgICAgICAgIFJlYWN0RE9NLmZsdXNoU3luYygoKSA9PiBvbkNoYW5nZShkID0+IGQgKyBzY3JvbGxEaWZmKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gW0ZpcmVmb3hdIFdhaXQgZm9yIHRoZSBoZWlnaHQgY2hhbmdlIHRvIGhhdmUgYmVlbiBhcHBsaWVkLlxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgcHJldlNjcm9sbFRvcFJlZi5jdXJyZW50ID0gZWwuc2Nyb2xsVG9wO1xuICAgICAgfSk7XG4gICAgfVxuICB9KSwgW2VsZW1lbnRzLmZsb2F0aW5nLCBvbkNoYW5nZSwgb3ZlcmZsb3dSZWYsIHNjcm9sbFJlZl0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiBlbmFibGVkID8ge1xuICAgIGZsb2F0aW5nXG4gIH0gOiB7fSwgW2VuYWJsZWQsIGZsb2F0aW5nXSk7XG59XG5cbmZ1bmN0aW9uIGlzUG9pbnRJblBvbHlnb24ocG9pbnQsIHBvbHlnb24pIHtcbiAgY29uc3QgW3gsIHldID0gcG9pbnQ7XG4gIGxldCBpc0luc2lkZSA9IGZhbHNlO1xuICBjb25zdCBsZW5ndGggPSBwb2x5Z29uLmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDAsIGogPSBsZW5ndGggLSAxOyBpIDwgbGVuZ3RoOyBqID0gaSsrKSB7XG4gICAgY29uc3QgW3hpLCB5aV0gPSBwb2x5Z29uW2ldIHx8IFswLCAwXTtcbiAgICBjb25zdCBbeGosIHlqXSA9IHBvbHlnb25bal0gfHwgWzAsIDBdO1xuICAgIGNvbnN0IGludGVyc2VjdCA9IHlpID49IHkgIT09IHlqID49IHkgJiYgeCA8PSAoeGogLSB4aSkgKiAoeSAtIHlpKSAvICh5aiAtIHlpKSArIHhpO1xuICAgIGlmIChpbnRlcnNlY3QpIHtcbiAgICAgIGlzSW5zaWRlID0gIWlzSW5zaWRlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaXNJbnNpZGU7XG59XG5mdW5jdGlvbiBpc0luc2lkZShwb2ludCwgcmVjdCkge1xuICByZXR1cm4gcG9pbnRbMF0gPj0gcmVjdC54ICYmIHBvaW50WzBdIDw9IHJlY3QueCArIHJlY3Qud2lkdGggJiYgcG9pbnRbMV0gPj0gcmVjdC55ICYmIHBvaW50WzFdIDw9IHJlY3QueSArIHJlY3QuaGVpZ2h0O1xufVxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBzYWZlIHBvbHlnb24gYXJlYSB0aGF0IHRoZSB1c2VyIGNhbiB0cmF2ZXJzZSB3aXRob3V0IGNsb3NpbmcgdGhlXG4gKiBmbG9hdGluZyBlbGVtZW50IG9uY2UgbGVhdmluZyB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlSG92ZXIjc2FmZXBvbHlnb25cbiAqL1xuZnVuY3Rpb24gc2FmZVBvbHlnb24ob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBidWZmZXIgPSAwLjUsXG4gICAgYmxvY2tQb2ludGVyRXZlbnRzID0gZmFsc2UsXG4gICAgcmVxdWlyZUludGVudCA9IHRydWVcbiAgfSA9IG9wdGlvbnM7XG4gIGxldCB0aW1lb3V0SWQ7XG4gIGxldCBoYXNMYW5kZWQgPSBmYWxzZTtcbiAgbGV0IGxhc3RYID0gbnVsbDtcbiAgbGV0IGxhc3RZID0gbnVsbDtcbiAgbGV0IGxhc3RDdXJzb3JUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gIGZ1bmN0aW9uIGdldEN1cnNvclNwZWVkKHgsIHkpIHtcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIGNvbnN0IGVsYXBzZWRUaW1lID0gY3VycmVudFRpbWUgLSBsYXN0Q3Vyc29yVGltZTtcbiAgICBpZiAobGFzdFggPT09IG51bGwgfHwgbGFzdFkgPT09IG51bGwgfHwgZWxhcHNlZFRpbWUgPT09IDApIHtcbiAgICAgIGxhc3RYID0geDtcbiAgICAgIGxhc3RZID0geTtcbiAgICAgIGxhc3RDdXJzb3JUaW1lID0gY3VycmVudFRpbWU7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgZGVsdGFYID0geCAtIGxhc3RYO1xuICAgIGNvbnN0IGRlbHRhWSA9IHkgLSBsYXN0WTtcbiAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguc3FydChkZWx0YVggKiBkZWx0YVggKyBkZWx0YVkgKiBkZWx0YVkpO1xuICAgIGNvbnN0IHNwZWVkID0gZGlzdGFuY2UgLyBlbGFwc2VkVGltZTsgLy8gcHggLyBtc1xuXG4gICAgbGFzdFggPSB4O1xuICAgIGxhc3RZID0geTtcbiAgICBsYXN0Q3Vyc29yVGltZSA9IGN1cnJlbnRUaW1lO1xuICAgIHJldHVybiBzcGVlZDtcbiAgfVxuICBjb25zdCBmbiA9IF9yZWYgPT4ge1xuICAgIGxldCB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHBsYWNlbWVudCxcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgb25DbG9zZSxcbiAgICAgIG5vZGVJZCxcbiAgICAgIHRyZWVcbiAgICB9ID0gX3JlZjtcbiAgICByZXR1cm4gZnVuY3Rpb24gb25Nb3VzZU1vdmUoZXZlbnQpIHtcbiAgICAgIGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgb25DbG9zZSgpO1xuICAgICAgfVxuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgICBpZiAoIWVsZW1lbnRzLmRvbVJlZmVyZW5jZSB8fCAhZWxlbWVudHMuZmxvYXRpbmcgfHwgcGxhY2VtZW50ID09IG51bGwgfHwgeCA9PSBudWxsIHx8IHkgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB7XG4gICAgICAgIGNsaWVudFgsXG4gICAgICAgIGNsaWVudFlcbiAgICAgIH0gPSBldmVudDtcbiAgICAgIGNvbnN0IGNsaWVudFBvaW50ID0gW2NsaWVudFgsIGNsaWVudFldO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGV2ZW50KTtcbiAgICAgIGNvbnN0IGlzTGVhdmUgPSBldmVudC50eXBlID09PSAnbW91c2VsZWF2ZSc7XG4gICAgICBjb25zdCBpc092ZXJGbG9hdGluZ0VsID0gY29udGFpbnMoZWxlbWVudHMuZmxvYXRpbmcsIHRhcmdldCk7XG4gICAgICBjb25zdCBpc092ZXJSZWZlcmVuY2VFbCA9IGNvbnRhaW5zKGVsZW1lbnRzLmRvbVJlZmVyZW5jZSwgdGFyZ2V0KTtcbiAgICAgIGNvbnN0IHJlZlJlY3QgPSBlbGVtZW50cy5kb21SZWZlcmVuY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCByZWN0ID0gZWxlbWVudHMuZmxvYXRpbmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBzaWRlID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gICAgICBjb25zdCBjdXJzb3JMZWF2ZUZyb21SaWdodCA9IHggPiByZWN0LnJpZ2h0IC0gcmVjdC53aWR0aCAvIDI7XG4gICAgICBjb25zdCBjdXJzb3JMZWF2ZUZyb21Cb3R0b20gPSB5ID4gcmVjdC5ib3R0b20gLSByZWN0LmhlaWdodCAvIDI7XG4gICAgICBjb25zdCBpc092ZXJSZWZlcmVuY2VSZWN0ID0gaXNJbnNpZGUoY2xpZW50UG9pbnQsIHJlZlJlY3QpO1xuICAgICAgY29uc3QgaXNGbG9hdGluZ1dpZGVyID0gcmVjdC53aWR0aCA+IHJlZlJlY3Qud2lkdGg7XG4gICAgICBjb25zdCBpc0Zsb2F0aW5nVGFsbGVyID0gcmVjdC5oZWlnaHQgPiByZWZSZWN0LmhlaWdodDtcbiAgICAgIGNvbnN0IGxlZnQgPSAoaXNGbG9hdGluZ1dpZGVyID8gcmVmUmVjdCA6IHJlY3QpLmxlZnQ7XG4gICAgICBjb25zdCByaWdodCA9IChpc0Zsb2F0aW5nV2lkZXIgPyByZWZSZWN0IDogcmVjdCkucmlnaHQ7XG4gICAgICBjb25zdCB0b3AgPSAoaXNGbG9hdGluZ1RhbGxlciA/IHJlZlJlY3QgOiByZWN0KS50b3A7XG4gICAgICBjb25zdCBib3R0b20gPSAoaXNGbG9hdGluZ1RhbGxlciA/IHJlZlJlY3QgOiByZWN0KS5ib3R0b207XG4gICAgICBpZiAoaXNPdmVyRmxvYXRpbmdFbCkge1xuICAgICAgICBoYXNMYW5kZWQgPSB0cnVlO1xuICAgICAgICBpZiAoIWlzTGVhdmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpc092ZXJSZWZlcmVuY2VFbCkge1xuICAgICAgICBoYXNMYW5kZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc092ZXJSZWZlcmVuY2VFbCAmJiAhaXNMZWF2ZSkge1xuICAgICAgICBoYXNMYW5kZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIFByZXZlbnQgb3ZlcmxhcHBpbmcgZmxvYXRpbmcgZWxlbWVudCBmcm9tIGJlaW5nIHN0dWNrIGluIGFuIG9wZW4tY2xvc2VcbiAgICAgIC8vIGxvb3A6IGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMTkxMFxuICAgICAgaWYgKGlzTGVhdmUgJiYgaXNFbGVtZW50KGV2ZW50LnJlbGF0ZWRUYXJnZXQpICYmIGNvbnRhaW5zKGVsZW1lbnRzLmZsb2F0aW5nLCBldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIElmIGFueSBuZXN0ZWQgY2hpbGQgaXMgb3BlbiwgYWJvcnQuXG4gICAgICBpZiAodHJlZSAmJiBnZXRDaGlsZHJlbih0cmVlLm5vZGVzUmVmLmN1cnJlbnQsIG5vZGVJZCkuc29tZShfcmVmMiA9PiB7XG4gICAgICAgIGxldCB7XG4gICAgICAgICAgY29udGV4dFxuICAgICAgICB9ID0gX3JlZjI7XG4gICAgICAgIHJldHVybiBjb250ZXh0ID09IG51bGwgPyB2b2lkIDAgOiBjb250ZXh0Lm9wZW47XG4gICAgICB9KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBwb2ludGVyIGlzIGxlYXZpbmcgZnJvbSB0aGUgb3Bwb3NpdGUgc2lkZSwgdGhlIFwiYnVmZmVyXCIgbG9naWNcbiAgICAgIC8vIGNyZWF0ZXMgYSBwb2ludCB3aGVyZSB0aGUgZmxvYXRpbmcgZWxlbWVudCByZW1haW5zIG9wZW4sIGJ1dCBzaG91bGQgYmVcbiAgICAgIC8vIGlnbm9yZWQuXG4gICAgICAvLyBBIGNvbnN0YW50IG9mIDEgaGFuZGxlcyBmbG9hdGluZyBwb2ludCByb3VuZGluZyBlcnJvcnMuXG4gICAgICBpZiAoc2lkZSA9PT0gJ3RvcCcgJiYgeSA+PSByZWZSZWN0LmJvdHRvbSAtIDEgfHwgc2lkZSA9PT0gJ2JvdHRvbScgJiYgeSA8PSByZWZSZWN0LnRvcCArIDEgfHwgc2lkZSA9PT0gJ2xlZnQnICYmIHggPj0gcmVmUmVjdC5yaWdodCAtIDEgfHwgc2lkZSA9PT0gJ3JpZ2h0JyAmJiB4IDw9IHJlZlJlY3QubGVmdCArIDEpIHtcbiAgICAgICAgcmV0dXJuIGNsb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIElnbm9yZSB3aGVuIHRoZSBjdXJzb3IgaXMgd2l0aGluIHRoZSByZWN0YW5ndWxhciB0cm91Z2ggYmV0d2VlbiB0aGVcbiAgICAgIC8vIHR3byBlbGVtZW50cy4gU2luY2UgdGhlIHRyaWFuZ2xlIGlzIGNyZWF0ZWQgZnJvbSB0aGUgY3Vyc29yIHBvaW50LFxuICAgICAgLy8gd2hpY2ggY2FuIHN0YXJ0IGJleW9uZCB0aGUgcmVmIGVsZW1lbnQncyBlZGdlLCB0cmF2ZXJzaW5nIGJhY2sgYW5kXG4gICAgICAvLyBmb3J0aCBmcm9tIHRoZSByZWYgdG8gdGhlIGZsb2F0aW5nIGVsZW1lbnQgY2FuIGNhdXNlIGl0IHRvIGNsb3NlLiBUaGlzXG4gICAgICAvLyBlbnN1cmVzIGl0IGFsd2F5cyByZW1haW5zIG9wZW4gaW4gdGhhdCBjYXNlLlxuICAgICAgbGV0IHJlY3RQb2x5ID0gW107XG4gICAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICByZWN0UG9seSA9IFtbbGVmdCwgcmVmUmVjdC50b3AgKyAxXSwgW2xlZnQsIHJlY3QuYm90dG9tIC0gMV0sIFtyaWdodCwgcmVjdC5ib3R0b20gLSAxXSwgW3JpZ2h0LCByZWZSZWN0LnRvcCArIDFdXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICByZWN0UG9seSA9IFtbbGVmdCwgcmVjdC50b3AgKyAxXSwgW2xlZnQsIHJlZlJlY3QuYm90dG9tIC0gMV0sIFtyaWdodCwgcmVmUmVjdC5ib3R0b20gLSAxXSwgW3JpZ2h0LCByZWN0LnRvcCArIDFdXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgcmVjdFBvbHkgPSBbW3JlY3QucmlnaHQgLSAxLCBib3R0b21dLCBbcmVjdC5yaWdodCAtIDEsIHRvcF0sIFtyZWZSZWN0LmxlZnQgKyAxLCB0b3BdLCBbcmVmUmVjdC5sZWZ0ICsgMSwgYm90dG9tXV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICByZWN0UG9seSA9IFtbcmVmUmVjdC5yaWdodCAtIDEsIGJvdHRvbV0sIFtyZWZSZWN0LnJpZ2h0IC0gMSwgdG9wXSwgW3JlY3QubGVmdCArIDEsIHRvcF0sIFtyZWN0LmxlZnQgKyAxLCBib3R0b21dXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGdldFBvbHlnb24oX3JlZjMpIHtcbiAgICAgICAgbGV0IFt4LCB5XSA9IF9yZWYzO1xuICAgICAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb2ludE9uZSA9IFtpc0Zsb2F0aW5nV2lkZXIgPyB4ICsgYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbVJpZ2h0ID8geCArIGJ1ZmZlciAqIDQgOiB4IC0gYnVmZmVyICogNCwgeSArIGJ1ZmZlciArIDFdO1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb2ludFR3byA9IFtpc0Zsb2F0aW5nV2lkZXIgPyB4IC0gYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbVJpZ2h0ID8geCArIGJ1ZmZlciAqIDQgOiB4IC0gYnVmZmVyICogNCwgeSArIGJ1ZmZlciArIDFdO1xuICAgICAgICAgICAgICBjb25zdCBjb21tb25Qb2ludHMgPSBbW3JlY3QubGVmdCwgY3Vyc29yTGVhdmVGcm9tUmlnaHQgPyByZWN0LmJvdHRvbSAtIGJ1ZmZlciA6IGlzRmxvYXRpbmdXaWRlciA/IHJlY3QuYm90dG9tIC0gYnVmZmVyIDogcmVjdC50b3BdLCBbcmVjdC5yaWdodCwgY3Vyc29yTGVhdmVGcm9tUmlnaHQgPyBpc0Zsb2F0aW5nV2lkZXIgPyByZWN0LmJvdHRvbSAtIGJ1ZmZlciA6IHJlY3QudG9wIDogcmVjdC5ib3R0b20gLSBidWZmZXJdXTtcbiAgICAgICAgICAgICAgcmV0dXJuIFtjdXJzb3JQb2ludE9uZSwgY3Vyc29yUG9pbnRUd28sIC4uLmNvbW1vblBvaW50c107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRPbmUgPSBbaXNGbG9hdGluZ1dpZGVyID8geCArIGJ1ZmZlciAvIDIgOiBjdXJzb3JMZWF2ZUZyb21SaWdodCA/IHggKyBidWZmZXIgKiA0IDogeCAtIGJ1ZmZlciAqIDQsIHkgLSBidWZmZXJdO1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb2ludFR3byA9IFtpc0Zsb2F0aW5nV2lkZXIgPyB4IC0gYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbVJpZ2h0ID8geCArIGJ1ZmZlciAqIDQgOiB4IC0gYnVmZmVyICogNCwgeSAtIGJ1ZmZlcl07XG4gICAgICAgICAgICAgIGNvbnN0IGNvbW1vblBvaW50cyA9IFtbcmVjdC5sZWZ0LCBjdXJzb3JMZWF2ZUZyb21SaWdodCA/IHJlY3QudG9wICsgYnVmZmVyIDogaXNGbG9hdGluZ1dpZGVyID8gcmVjdC50b3AgKyBidWZmZXIgOiByZWN0LmJvdHRvbV0sIFtyZWN0LnJpZ2h0LCBjdXJzb3JMZWF2ZUZyb21SaWdodCA/IGlzRmxvYXRpbmdXaWRlciA/IHJlY3QudG9wICsgYnVmZmVyIDogcmVjdC5ib3R0b20gOiByZWN0LnRvcCArIGJ1ZmZlcl1dO1xuICAgICAgICAgICAgICByZXR1cm4gW2N1cnNvclBvaW50T25lLCBjdXJzb3JQb2ludFR3bywgLi4uY29tbW9uUG9pbnRzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRPbmUgPSBbeCArIGJ1ZmZlciArIDEsIGlzRmxvYXRpbmdUYWxsZXIgPyB5ICsgYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbUJvdHRvbSA/IHkgKyBidWZmZXIgKiA0IDogeSAtIGJ1ZmZlciAqIDRdO1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb2ludFR3byA9IFt4ICsgYnVmZmVyICsgMSwgaXNGbG9hdGluZ1RhbGxlciA/IHkgLSBidWZmZXIgLyAyIDogY3Vyc29yTGVhdmVGcm9tQm90dG9tID8geSArIGJ1ZmZlciAqIDQgOiB5IC0gYnVmZmVyICogNF07XG4gICAgICAgICAgICAgIGNvbnN0IGNvbW1vblBvaW50cyA9IFtbY3Vyc29yTGVhdmVGcm9tQm90dG9tID8gcmVjdC5yaWdodCAtIGJ1ZmZlciA6IGlzRmxvYXRpbmdUYWxsZXIgPyByZWN0LnJpZ2h0IC0gYnVmZmVyIDogcmVjdC5sZWZ0LCByZWN0LnRvcF0sIFtjdXJzb3JMZWF2ZUZyb21Cb3R0b20gPyBpc0Zsb2F0aW5nVGFsbGVyID8gcmVjdC5yaWdodCAtIGJ1ZmZlciA6IHJlY3QubGVmdCA6IHJlY3QucmlnaHQgLSBidWZmZXIsIHJlY3QuYm90dG9tXV07XG4gICAgICAgICAgICAgIHJldHVybiBbLi4uY29tbW9uUG9pbnRzLCBjdXJzb3JQb2ludE9uZSwgY3Vyc29yUG9pbnRUd29dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRPbmUgPSBbeCAtIGJ1ZmZlciwgaXNGbG9hdGluZ1RhbGxlciA/IHkgKyBidWZmZXIgLyAyIDogY3Vyc29yTGVhdmVGcm9tQm90dG9tID8geSArIGJ1ZmZlciAqIDQgOiB5IC0gYnVmZmVyICogNF07XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvaW50VHdvID0gW3ggLSBidWZmZXIsIGlzRmxvYXRpbmdUYWxsZXIgPyB5IC0gYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbUJvdHRvbSA/IHkgKyBidWZmZXIgKiA0IDogeSAtIGJ1ZmZlciAqIDRdO1xuICAgICAgICAgICAgICBjb25zdCBjb21tb25Qb2ludHMgPSBbW2N1cnNvckxlYXZlRnJvbUJvdHRvbSA/IHJlY3QubGVmdCArIGJ1ZmZlciA6IGlzRmxvYXRpbmdUYWxsZXIgPyByZWN0LmxlZnQgKyBidWZmZXIgOiByZWN0LnJpZ2h0LCByZWN0LnRvcF0sIFtjdXJzb3JMZWF2ZUZyb21Cb3R0b20gPyBpc0Zsb2F0aW5nVGFsbGVyID8gcmVjdC5sZWZ0ICsgYnVmZmVyIDogcmVjdC5yaWdodCA6IHJlY3QubGVmdCArIGJ1ZmZlciwgcmVjdC5ib3R0b21dXTtcbiAgICAgICAgICAgICAgcmV0dXJuIFtjdXJzb3JQb2ludE9uZSwgY3Vyc29yUG9pbnRUd28sIC4uLmNvbW1vblBvaW50c107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpc1BvaW50SW5Qb2x5Z29uKFtjbGllbnRYLCBjbGllbnRZXSwgcmVjdFBvbHkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChoYXNMYW5kZWQgJiYgIWlzT3ZlclJlZmVyZW5jZVJlY3QpIHtcbiAgICAgICAgcmV0dXJuIGNsb3NlKCk7XG4gICAgICB9XG4gICAgICBpZiAoIWlzTGVhdmUgJiYgcmVxdWlyZUludGVudCkge1xuICAgICAgICBjb25zdCBjdXJzb3JTcGVlZCA9IGdldEN1cnNvclNwZWVkKGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpO1xuICAgICAgICBjb25zdCBjdXJzb3JTcGVlZFRocmVzaG9sZCA9IDAuMTtcbiAgICAgICAgaWYgKGN1cnNvclNwZWVkICE9PSBudWxsICYmIGN1cnNvclNwZWVkIDwgY3Vyc29yU3BlZWRUaHJlc2hvbGQpIHtcbiAgICAgICAgICByZXR1cm4gY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpc1BvaW50SW5Qb2x5Z29uKFtjbGllbnRYLCBjbGllbnRZXSwgZ2V0UG9seWdvbihbeCwgeV0pKSkge1xuICAgICAgICBjbG9zZSgpO1xuICAgICAgfSBlbHNlIGlmICghaGFzTGFuZGVkICYmIHJlcXVpcmVJbnRlbnQpIHtcbiAgICAgICAgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoY2xvc2UsIDQwKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xuICBmbi5fX29wdGlvbnMgPSB7XG4gICAgYmxvY2tQb2ludGVyRXZlbnRzXG4gIH07XG4gIHJldHVybiBmbjtcbn1cblxuZXhwb3J0IHsgQ29tcG9zaXRlLCBDb21wb3NpdGVJdGVtLCBGbG9hdGluZ0Fycm93LCBGbG9hdGluZ0RlbGF5R3JvdXAsIEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ0xpc3QsIEZsb2F0aW5nTm9kZSwgRmxvYXRpbmdPdmVybGF5LCBGbG9hdGluZ1BvcnRhbCwgRmxvYXRpbmdUcmVlLCBpbm5lciwgc2FmZVBvbHlnb24sIHVzZUNsaWNrLCB1c2VDbGllbnRQb2ludCwgdXNlRGVsYXlHcm91cCwgdXNlRGVsYXlHcm91cENvbnRleHQsIHVzZURpc21pc3MsIHVzZUZsb2F0aW5nLCB1c2VGbG9hdGluZ05vZGVJZCwgdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQsIHVzZUZsb2F0aW5nUG9ydGFsTm9kZSwgdXNlRmxvYXRpbmdSb290Q29udGV4dCwgdXNlRmxvYXRpbmdUcmVlLCB1c2VGb2N1cywgdXNlSG92ZXIsIHVzZUlkLCB1c2VJbm5lck9mZnNldCwgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0SXRlbSwgdXNlTGlzdE5hdmlnYXRpb24sIHVzZU1lcmdlUmVmcywgdXNlUm9sZSwgdXNlVHJhbnNpdGlvblN0YXR1cywgdXNlVHJhbnNpdGlvblN0eWxlcywgdXNlVHlwZWFoZWFkIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/react/dist/floating-ui.react.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs":
/*!**************************************************************************!*\
!*** ./node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs ***!
\**************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TYPEABLE_SELECTOR: function() { return /* binding */ TYPEABLE_SELECTOR; },\n/* harmony export */ activeElement: function() { return /* binding */ activeElement; },\n/* harmony export */ contains: function() { return /* binding */ contains; },\n/* harmony export */ getDocument: function() { return /* binding */ getDocument; },\n/* harmony export */ getPlatform: function() { return /* binding */ getPlatform; },\n/* harmony export */ getTarget: function() { return /* binding */ getTarget; },\n/* harmony export */ getUserAgent: function() { return /* binding */ getUserAgent; },\n/* harmony export */ isAndroid: function() { return /* binding */ isAndroid; },\n/* harmony export */ isEventTargetWithin: function() { return /* binding */ isEventTargetWithin; },\n/* harmony export */ isJSDOM: function() { return /* binding */ isJSDOM; },\n/* harmony export */ isMac: function() { return /* binding */ isMac; },\n/* harmony export */ isMouseLikePointerType: function() { return /* binding */ isMouseLikePointerType; },\n/* harmony export */ isReactEvent: function() { return /* binding */ isReactEvent; },\n/* harmony export */ isRootElement: function() { return /* binding */ isRootElement; },\n/* harmony export */ isSafari: function() { return /* binding */ isSafari; },\n/* harmony export */ isTypeableCombobox: function() { return /* binding */ isTypeableCombobox; },\n/* harmony export */ isTypeableElement: function() { return /* binding */ isTypeableElement; },\n/* harmony export */ isVirtualClick: function() { return /* binding */ isVirtualClick; },\n/* harmony export */ isVirtualPointerEvent: function() { return /* binding */ isVirtualPointerEvent; },\n/* harmony export */ stopEvent: function() { return /* binding */ stopEvent; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils/dom */ \"(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QvZGlzdC9mbG9hdGluZy11aS5yZWFjdC51dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXFFOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixvRUFBWTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHFFQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFaVQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS9yZWFjdC9kaXN0L2Zsb2F0aW5nLXVpLnJlYWN0LnV0aWxzLm1qcz81ZDRjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2hhZG93Um9vdCwgaXNIVE1MRWxlbWVudCB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscy9kb20nO1xuXG5mdW5jdGlvbiBhY3RpdmVFbGVtZW50KGRvYykge1xuICBsZXQgYWN0aXZlRWxlbWVudCA9IGRvYy5hY3RpdmVFbGVtZW50O1xuICB3aGlsZSAoKChfYWN0aXZlRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQpID09IG51bGwgfHwgKF9hY3RpdmVFbGVtZW50ID0gX2FjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hY3RpdmVFbGVtZW50LmFjdGl2ZUVsZW1lbnQpICE9IG51bGwpIHtcbiAgICB2YXIgX2FjdGl2ZUVsZW1lbnQ7XG4gICAgYWN0aXZlRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50O1xuICB9XG4gIHJldHVybiBhY3RpdmVFbGVtZW50O1xufVxuZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICBpZiAoIXBhcmVudCB8fCAhY2hpbGQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3Qgcm9vdE5vZGUgPSBjaGlsZC5nZXRSb290Tm9kZSA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQuZ2V0Um9vdE5vZGUoKTtcblxuICAvLyBGaXJzdCwgYXR0ZW1wdCB3aXRoIGZhc3RlciBuYXRpdmUgbWV0aG9kXG4gIGlmIChwYXJlbnQuY29udGFpbnMoY2hpbGQpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyB0aGVuIGZhbGxiYWNrIHRvIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB3aXRoIFNoYWRvdyBET00gc3VwcG9ydFxuICBpZiAocm9vdE5vZGUgJiYgaXNTaGFkb3dSb290KHJvb3ROb2RlKSkge1xuICAgIGxldCBuZXh0ID0gY2hpbGQ7XG4gICAgd2hpbGUgKG5leHQpIHtcbiAgICAgIGlmIChwYXJlbnQgPT09IG5leHQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBuZXh0ID0gbmV4dC5wYXJlbnROb2RlIHx8IG5leHQuaG9zdDtcbiAgICB9XG4gIH1cblxuICAvLyBHaXZlIHVwLCB0aGUgcmVzdWx0IGlzIGZhbHNlXG4gIHJldHVybiBmYWxzZTtcbn1cbi8vIEF2b2lkIENocm9tZSBEZXZUb29scyBibHVlIHdhcm5pbmcuXG5mdW5jdGlvbiBnZXRQbGF0Zm9ybSgpIHtcbiAgY29uc3QgdWFEYXRhID0gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE7XG4gIGlmICh1YURhdGEgIT0gbnVsbCAmJiB1YURhdGEucGxhdGZvcm0pIHtcbiAgICByZXR1cm4gdWFEYXRhLnBsYXRmb3JtO1xuICB9XG4gIHJldHVybiBuYXZpZ2F0b3IucGxhdGZvcm07XG59XG5mdW5jdGlvbiBnZXRVc2VyQWdlbnQoKSB7XG4gIGNvbnN0IHVhRGF0YSA9IG5hdmlnYXRvci51c2VyQWdlbnREYXRhO1xuICBpZiAodWFEYXRhICYmIEFycmF5LmlzQXJyYXkodWFEYXRhLmJyYW5kcykpIHtcbiAgICByZXR1cm4gdWFEYXRhLmJyYW5kcy5tYXAoX3JlZiA9PiB7XG4gICAgICBsZXQge1xuICAgICAgICBicmFuZCxcbiAgICAgICAgdmVyc2lvblxuICAgICAgfSA9IF9yZWY7XG4gICAgICByZXR1cm4gYnJhbmQgKyBcIi9cIiArIHZlcnNpb247XG4gICAgfSkuam9pbignICcpO1xuICB9XG4gIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50O1xufVxuXG4vLyBMaWNlbnNlOiBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUvcmVhY3Qtc3BlY3RydW0vYmxvYi9iMzVkNWMwMmZlOTAwYmFkY2NkMGNmMWE4ZjIzYmI1OTM0MTlmMjM4L3BhY2thZ2VzL0ByZWFjdC1hcmlhL3V0aWxzL3NyYy9pc1ZpcnR1YWxFdmVudC50c1xuZnVuY3Rpb24gaXNWaXJ0dWFsQ2xpY2soZXZlbnQpIHtcbiAgLy8gRklYTUU6IEZpcmVmb3ggaXMgbm93IGVtaXR0aW5nIGEgZGVwcmVjYXRpb24gd2FybmluZyBmb3IgYG1veklucHV0U291cmNlYC5cbiAgLy8gVHJ5IHRvIGZpbmQgYSB3b3JrYXJvdW5kIGZvciB0aGlzLiBgcmVhY3QtYXJpYWAgc291cmNlIHN0aWxsIGhhcyB0aGUgY2hlY2suXG4gIGlmIChldmVudC5tb3pJbnB1dFNvdXJjZSA9PT0gMCAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNBbmRyb2lkKCkgJiYgZXZlbnQucG9pbnRlclR5cGUpIHtcbiAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5idXR0b25zID09PSAxO1xuICB9XG4gIHJldHVybiBldmVudC5kZXRhaWwgPT09IDAgJiYgIWV2ZW50LnBvaW50ZXJUeXBlO1xufVxuZnVuY3Rpb24gaXNWaXJ0dWFsUG9pbnRlckV2ZW50KGV2ZW50KSB7XG4gIGlmIChpc0pTRE9NKCkpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuICFpc0FuZHJvaWQoKSAmJiBldmVudC53aWR0aCA9PT0gMCAmJiBldmVudC5oZWlnaHQgPT09IDAgfHwgaXNBbmRyb2lkKCkgJiYgZXZlbnQud2lkdGggPT09IDEgJiYgZXZlbnQuaGVpZ2h0ID09PSAxICYmIGV2ZW50LnByZXNzdXJlID09PSAwICYmIGV2ZW50LmRldGFpbCA9PT0gMCAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyB8fFxuICAvLyBpT1MgVm9pY2VPdmVyIHJldHVybnMgMC4zMzPigKIgZm9yIHdpZHRoL2hlaWdodC5cbiAgZXZlbnQud2lkdGggPCAxICYmIGV2ZW50LmhlaWdodCA8IDEgJiYgZXZlbnQucHJlc3N1cmUgPT09IDAgJiYgZXZlbnQuZGV0YWlsID09PSAwICYmIGV2ZW50LnBvaW50ZXJUeXBlID09PSAndG91Y2gnO1xufVxuZnVuY3Rpb24gaXNTYWZhcmkoKSB7XG4gIC8vIENocm9tZSBEZXZUb29scyBkb2VzIG5vdCBjb21wbGFpbiBhYm91dCBuYXZpZ2F0b3IudmVuZG9yXG4gIHJldHVybiAvYXBwbGUvaS50ZXN0KG5hdmlnYXRvci52ZW5kb3IpO1xufVxuZnVuY3Rpb24gaXNBbmRyb2lkKCkge1xuICBjb25zdCByZSA9IC9hbmRyb2lkL2k7XG4gIHJldHVybiByZS50ZXN0KGdldFBsYXRmb3JtKCkpIHx8IHJlLnRlc3QoZ2V0VXNlckFnZW50KCkpO1xufVxuZnVuY3Rpb24gaXNNYWMoKSB7XG4gIHJldHVybiBnZXRQbGF0Zm9ybSgpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnbWFjJykgJiYgIW5hdmlnYXRvci5tYXhUb3VjaFBvaW50cztcbn1cbmZ1bmN0aW9uIGlzSlNET00oKSB7XG4gIHJldHVybiBnZXRVc2VyQWdlbnQoKS5pbmNsdWRlcygnanNkb20vJyk7XG59XG5mdW5jdGlvbiBpc01vdXNlTGlrZVBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlLCBzdHJpY3QpIHtcbiAgLy8gT24gc29tZSBMaW51eCBtYWNoaW5lcyB3aXRoIENocm9taXVtLCBtb3VzZSBpbnB1dHMgcmV0dXJuIGEgYHBvaW50ZXJUeXBlYFxuICAvLyBvZiBcInBlblwiOiBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzIwMTVcbiAgY29uc3QgdmFsdWVzID0gWydtb3VzZScsICdwZW4nXTtcbiAgaWYgKCFzdHJpY3QpIHtcbiAgICB2YWx1ZXMucHVzaCgnJywgdW5kZWZpbmVkKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzLmluY2x1ZGVzKHBvaW50ZXJUeXBlKTtcbn1cbmZ1bmN0aW9uIGlzUmVhY3RFdmVudChldmVudCkge1xuICByZXR1cm4gJ25hdGl2ZUV2ZW50JyBpbiBldmVudDtcbn1cbmZ1bmN0aW9uIGlzUm9vdEVsZW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCdodG1sLGJvZHknKTtcbn1cbmZ1bmN0aW9uIGdldERvY3VtZW50KG5vZGUpIHtcbiAgcmV0dXJuIChub2RlID09IG51bGwgPyB2b2lkIDAgOiBub2RlLm93bmVyRG9jdW1lbnQpIHx8IGRvY3VtZW50O1xufVxuZnVuY3Rpb24gaXNFdmVudFRhcmdldFdpdGhpbihldmVudCwgbm9kZSkge1xuICBpZiAobm9kZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgnY29tcG9zZWRQYXRoJyBpbiBldmVudCkge1xuICAgIHJldHVybiBldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyhub2RlKTtcbiAgfVxuXG4gIC8vIFRTIHRoaW5rcyBgZXZlbnRgIGlzIG9mIHR5cGUgbmV2ZXIgYXMgaXQgYXNzdW1lcyBhbGwgYnJvd3NlcnMgc3VwcG9ydCBjb21wb3NlZFBhdGgsIGJ1dCBicm93c2VycyB3aXRob3V0IHNoYWRvdyBkb20gZG9uJ3RcbiAgY29uc3QgZSA9IGV2ZW50O1xuICByZXR1cm4gZS50YXJnZXQgIT0gbnVsbCAmJiBub2RlLmNvbnRhaW5zKGUudGFyZ2V0KTtcbn1cbmZ1bmN0aW9uIGdldFRhcmdldChldmVudCkge1xuICBpZiAoJ2NvbXBvc2VkUGF0aCcgaW4gZXZlbnQpIHtcbiAgICByZXR1cm4gZXZlbnQuY29tcG9zZWRQYXRoKClbMF07XG4gIH1cblxuICAvLyBUUyB0aGlua3MgYGV2ZW50YCBpcyBvZiB0eXBlIG5ldmVyIGFzIGl0IGFzc3VtZXMgYWxsIGJyb3dzZXJzIHN1cHBvcnRcbiAgLy8gYGNvbXBvc2VkUGF0aCgpYCwgYnV0IGJyb3dzZXJzIHdpdGhvdXQgc2hhZG93IERPTSBkb24ndC5cbiAgcmV0dXJuIGV2ZW50LnRhcmdldDtcbn1cbmNvbnN0IFRZUEVBQkxFX1NFTEVDVE9SID0gXCJpbnB1dDpub3QoW3R5cGU9J2hpZGRlbiddKTpub3QoW2Rpc2FibGVkXSksXCIgKyBcIltjb250ZW50ZWRpdGFibGVdOm5vdChbY29udGVudGVkaXRhYmxlPSdmYWxzZSddKSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSlcIjtcbmZ1bmN0aW9uIGlzVHlwZWFibGVFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgJiYgZWxlbWVudC5tYXRjaGVzKFRZUEVBQkxFX1NFTEVDVE9SKTtcbn1cbmZ1bmN0aW9uIHN0b3BFdmVudChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbmZ1bmN0aW9uIGlzVHlwZWFibGVDb21ib2JveChlbGVtZW50KSB7XG4gIGlmICghZWxlbWVudCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ2NvbWJvYm94JyAmJiBpc1R5cGVhYmxlRWxlbWVudChlbGVtZW50KTtcbn1cblxuZXhwb3J0IHsgVFlQRUFCTEVfU0VMRUNUT1IsIGFjdGl2ZUVsZW1lbnQsIGNvbnRhaW5zLCBnZXREb2N1bWVudCwgZ2V0UGxhdGZvcm0sIGdldFRhcmdldCwgZ2V0VXNlckFnZW50LCBpc0FuZHJvaWQsIGlzRXZlbnRUYXJnZXRXaXRoaW4sIGlzSlNET00sIGlzTWFjLCBpc01vdXNlTGlrZVBvaW50ZXJUeXBlLCBpc1JlYWN0RXZlbnQsIGlzUm9vdEVsZW1lbnQsIGlzU2FmYXJpLCBpc1R5cGVhYmxlQ29tYm9ib3gsIGlzVHlwZWFibGVFbGVtZW50LCBpc1ZpcnR1YWxDbGljaywgaXNWaXJ0dWFsUG9pbnRlckV2ZW50LCBzdG9wRXZlbnQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs":
/*!************************************************************************!*\
!*** ./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getComputedStyle: function() { return /* binding */ getComputedStyle; },\n/* harmony export */ getContainingBlock: function() { return /* binding */ getContainingBlock; },\n/* harmony export */ getDocumentElement: function() { return /* binding */ getDocumentElement; },\n/* harmony export */ getNearestOverflowAncestor: function() { return /* binding */ getNearestOverflowAncestor; },\n/* harmony export */ getNodeName: function() { return /* binding */ getNodeName; },\n/* harmony export */ getNodeScroll: function() { return /* binding */ getNodeScroll; },\n/* harmony export */ getOverflowAncestors: function() { return /* binding */ getOverflowAncestors; },\n/* harmony export */ getParentNode: function() { return /* binding */ getParentNode; },\n/* harmony export */ getWindow: function() { return /* binding */ getWindow; },\n/* harmony export */ isContainingBlock: function() { return /* binding */ isContainingBlock; },\n/* harmony export */ isElement: function() { return /* binding */ isElement; },\n/* harmony export */ isHTMLElement: function() { return /* binding */ isHTMLElement; },\n/* harmony export */ isLastTraversableNode: function() { return /* binding */ isLastTraversableNode; },\n/* harmony export */ isNode: function() { return /* binding */ isNode; },\n/* harmony export */ isOverflowElement: function() { return /* binding */ isOverflowElement; },\n/* harmony export */ isShadowRoot: function() { return /* binding */ isShadowRoot; },\n/* harmony export */ isTableElement: function() { return /* binding */ isTableElement; },\n/* harmony export */ isTopLayer: function() { return /* binding */ isTopLayer; },\n/* harmony export */ isWebKit: function() { return /* binding */ isWebKit; }\n/* harmony export */ });\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5kb20ubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRStUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5kb20ubWpzPzZjMTQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gZ2V0Tm9kZU5hbWUobm9kZSkge1xuICBpZiAoaXNOb2RlKG5vZGUpKSB7XG4gICAgcmV0dXJuIChub2RlLm5vZGVOYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICB9XG4gIC8vIE1vY2tlZCBub2RlcyBpbiB0ZXN0aW5nIGVudmlyb25tZW50cyBtYXkgbm90IGJlIGluc3RhbmNlcyBvZiBOb2RlLiBCeVxuICAvLyByZXR1cm5pbmcgYCNkb2N1bWVudGAgYW4gaW5maW5pdGUgbG9vcCB3b24ndCBvY2N1ci5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8yMzE3XG4gIHJldHVybiAnI2RvY3VtZW50Jztcbn1cbmZ1bmN0aW9uIGdldFdpbmRvdyhub2RlKSB7XG4gIHZhciBfbm9kZSRvd25lckRvY3VtZW50O1xuICByZXR1cm4gKG5vZGUgPT0gbnVsbCB8fCAoX25vZGUkb3duZXJEb2N1bWVudCA9IG5vZGUub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpIHx8IHdpbmRvdztcbn1cbmZ1bmN0aW9uIGdldERvY3VtZW50RWxlbWVudChub2RlKSB7XG4gIHZhciBfcmVmO1xuICByZXR1cm4gKF9yZWYgPSAoaXNOb2RlKG5vZGUpID8gbm9kZS5vd25lckRvY3VtZW50IDogbm9kZS5kb2N1bWVudCkgfHwgd2luZG93LmRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX3JlZi5kb2N1bWVudEVsZW1lbnQ7XG59XG5mdW5jdGlvbiBpc05vZGUodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgTm9kZSB8fCB2YWx1ZSBpbnN0YW5jZW9mIGdldFdpbmRvdyh2YWx1ZSkuTm9kZTtcbn1cbmZ1bmN0aW9uIGlzRWxlbWVudCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5FbGVtZW50O1xufVxuZnVuY3Rpb24gaXNIVE1MRWxlbWVudCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCB8fCB2YWx1ZSBpbnN0YW5jZW9mIGdldFdpbmRvdyh2YWx1ZSkuSFRNTEVsZW1lbnQ7XG59XG5mdW5jdGlvbiBpc1NoYWRvd1Jvb3QodmFsdWUpIHtcbiAgLy8gQnJvd3NlcnMgd2l0aG91dCBgU2hhZG93Um9vdGAgc3VwcG9ydC5cbiAgaWYgKHR5cGVvZiBTaGFkb3dSb290ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTaGFkb3dSb290IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5TaGFkb3dSb290O1xufVxuZnVuY3Rpb24gaXNPdmVyZmxvd0VsZW1lbnQoZWxlbWVudCkge1xuICBjb25zdCB7XG4gICAgb3ZlcmZsb3csXG4gICAgb3ZlcmZsb3dYLFxuICAgIG92ZXJmbG93WSxcbiAgICBkaXNwbGF5XG4gIH0gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICByZXR1cm4gL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVufGNsaXAvLnRlc3Qob3ZlcmZsb3cgKyBvdmVyZmxvd1kgKyBvdmVyZmxvd1gpICYmICFbJ2lubGluZScsICdjb250ZW50cyddLmluY2x1ZGVzKGRpc3BsYXkpO1xufVxuZnVuY3Rpb24gaXNUYWJsZUVsZW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gWyd0YWJsZScsICd0ZCcsICd0aCddLmluY2x1ZGVzKGdldE5vZGVOYW1lKGVsZW1lbnQpKTtcbn1cbmZ1bmN0aW9uIGlzVG9wTGF5ZXIoZWxlbWVudCkge1xuICByZXR1cm4gWyc6cG9wb3Zlci1vcGVuJywgJzptb2RhbCddLnNvbWUoc2VsZWN0b3IgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKHNlbGVjdG9yKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9KTtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmluZ0Jsb2NrKGVsZW1lbnRPckNzcykge1xuICBjb25zdCB3ZWJraXQgPSBpc1dlYktpdCgpO1xuICBjb25zdCBjc3MgPSBpc0VsZW1lbnQoZWxlbWVudE9yQ3NzKSA/IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudE9yQ3NzKSA6IGVsZW1lbnRPckNzcztcblxuICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQ29udGFpbmluZ19ibG9jayNpZGVudGlmeWluZ190aGVfY29udGFpbmluZ19ibG9ja1xuICByZXR1cm4gY3NzLnRyYW5zZm9ybSAhPT0gJ25vbmUnIHx8IGNzcy5wZXJzcGVjdGl2ZSAhPT0gJ25vbmUnIHx8IChjc3MuY29udGFpbmVyVHlwZSA/IGNzcy5jb250YWluZXJUeXBlICE9PSAnbm9ybWFsJyA6IGZhbHNlKSB8fCAhd2Via2l0ICYmIChjc3MuYmFja2Ryb3BGaWx0ZXIgPyBjc3MuYmFja2Ryb3BGaWx0ZXIgIT09ICdub25lJyA6IGZhbHNlKSB8fCAhd2Via2l0ICYmIChjc3MuZmlsdGVyID8gY3NzLmZpbHRlciAhPT0gJ25vbmUnIDogZmFsc2UpIHx8IFsndHJhbnNmb3JtJywgJ3BlcnNwZWN0aXZlJywgJ2ZpbHRlciddLnNvbWUodmFsdWUgPT4gKGNzcy53aWxsQ2hhbmdlIHx8ICcnKS5pbmNsdWRlcyh2YWx1ZSkpIHx8IFsncGFpbnQnLCAnbGF5b3V0JywgJ3N0cmljdCcsICdjb250ZW50J10uc29tZSh2YWx1ZSA9PiAoY3NzLmNvbnRhaW4gfHwgJycpLmluY2x1ZGVzKHZhbHVlKSk7XG59XG5mdW5jdGlvbiBnZXRDb250YWluaW5nQmxvY2soZWxlbWVudCkge1xuICBsZXQgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICB3aGlsZSAoaXNIVE1MRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgIWlzTGFzdFRyYXZlcnNhYmxlTm9kZShjdXJyZW50Tm9kZSkpIHtcbiAgICBpZiAoaXNDb250YWluaW5nQmxvY2soY3VycmVudE5vZGUpKSB7XG4gICAgICByZXR1cm4gY3VycmVudE5vZGU7XG4gICAgfSBlbHNlIGlmIChpc1RvcExheWVyKGN1cnJlbnROb2RlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGN1cnJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShjdXJyZW50Tm9kZSk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBpc1dlYktpdCgpIHtcbiAgaWYgKHR5cGVvZiBDU1MgPT09ICd1bmRlZmluZWQnIHx8ICFDU1Muc3VwcG9ydHMpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIENTUy5zdXBwb3J0cygnLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXInLCAnbm9uZScpO1xufVxuZnVuY3Rpb24gaXNMYXN0VHJhdmVyc2FibGVOb2RlKG5vZGUpIHtcbiAgcmV0dXJuIFsnaHRtbCcsICdib2R5JywgJyNkb2N1bWVudCddLmluY2x1ZGVzKGdldE5vZGVOYW1lKG5vZGUpKTtcbn1cbmZ1bmN0aW9uIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkge1xuICByZXR1cm4gZ2V0V2luZG93KGVsZW1lbnQpLmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG59XG5mdW5jdGlvbiBnZXROb2RlU2Nyb2xsKGVsZW1lbnQpIHtcbiAgaWYgKGlzRWxlbWVudChlbGVtZW50KSkge1xuICAgIHJldHVybiB7XG4gICAgICBzY3JvbGxMZWZ0OiBlbGVtZW50LnNjcm9sbExlZnQsXG4gICAgICBzY3JvbGxUb3A6IGVsZW1lbnQuc2Nyb2xsVG9wXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHNjcm9sbExlZnQ6IGVsZW1lbnQuc2Nyb2xsWCxcbiAgICBzY3JvbGxUb3A6IGVsZW1lbnQuc2Nyb2xsWVxuICB9O1xufVxuZnVuY3Rpb24gZ2V0UGFyZW50Tm9kZShub2RlKSB7XG4gIGlmIChnZXROb2RlTmFtZShub2RlKSA9PT0gJ2h0bWwnKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID1cbiAgLy8gU3RlcCBpbnRvIHRoZSBzaGFkb3cgRE9NIG9mIHRoZSBwYXJlbnQgb2YgYSBzbG90dGVkIG5vZGUuXG4gIG5vZGUuYXNzaWduZWRTbG90IHx8XG4gIC8vIERPTSBFbGVtZW50IGRldGVjdGVkLlxuICBub2RlLnBhcmVudE5vZGUgfHxcbiAgLy8gU2hhZG93Um9vdCBkZXRlY3RlZC5cbiAgaXNTaGFkb3dSb290KG5vZGUpICYmIG5vZGUuaG9zdCB8fFxuICAvLyBGYWxsYmFjay5cbiAgZ2V0RG9jdW1lbnRFbGVtZW50KG5vZGUpO1xuICByZXR1cm4gaXNTaGFkb3dSb290KHJlc3VsdCkgPyByZXN1bHQuaG9zdCA6IHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yKG5vZGUpIHtcbiAgY29uc3QgcGFyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUobm9kZSk7XG4gIGlmIChpc0xhc3RUcmF2ZXJzYWJsZU5vZGUocGFyZW50Tm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50ID8gbm9kZS5vd25lckRvY3VtZW50LmJvZHkgOiBub2RlLmJvZHk7XG4gIH1cbiAgaWYgKGlzSFRNTEVsZW1lbnQocGFyZW50Tm9kZSkgJiYgaXNPdmVyZmxvd0VsZW1lbnQocGFyZW50Tm9kZSkpIHtcbiAgICByZXR1cm4gcGFyZW50Tm9kZTtcbiAgfVxuICByZXR1cm4gZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3IocGFyZW50Tm9kZSk7XG59XG5mdW5jdGlvbiBnZXRPdmVyZmxvd0FuY2VzdG9ycyhub2RlLCBsaXN0LCB0cmF2ZXJzZUlmcmFtZXMpIHtcbiAgdmFyIF9ub2RlJG93bmVyRG9jdW1lbnQyO1xuICBpZiAobGlzdCA9PT0gdm9pZCAwKSB7XG4gICAgbGlzdCA9IFtdO1xuICB9XG4gIGlmICh0cmF2ZXJzZUlmcmFtZXMgPT09IHZvaWQgMCkge1xuICAgIHRyYXZlcnNlSWZyYW1lcyA9IHRydWU7XG4gIH1cbiAgY29uc3Qgc2Nyb2xsYWJsZUFuY2VzdG9yID0gZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3Iobm9kZSk7XG4gIGNvbnN0IGlzQm9keSA9IHNjcm9sbGFibGVBbmNlc3RvciA9PT0gKChfbm9kZSRvd25lckRvY3VtZW50MiA9IG5vZGUub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJG93bmVyRG9jdW1lbnQyLmJvZHkpO1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coc2Nyb2xsYWJsZUFuY2VzdG9yKTtcbiAgaWYgKGlzQm9keSkge1xuICAgIHJldHVybiBsaXN0LmNvbmNhdCh3aW4sIHdpbi52aXN1YWxWaWV3cG9ydCB8fCBbXSwgaXNPdmVyZmxvd0VsZW1lbnQoc2Nyb2xsYWJsZUFuY2VzdG9yKSA/IHNjcm9sbGFibGVBbmNlc3RvciA6IFtdLCB3aW4uZnJhbWVFbGVtZW50ICYmIHRyYXZlcnNlSWZyYW1lcyA/IGdldE92ZXJmbG93QW5jZXN0b3JzKHdpbi5mcmFtZUVsZW1lbnQpIDogW10pO1xuICB9XG4gIHJldHVybiBsaXN0LmNvbmNhdChzY3JvbGxhYmxlQW5jZXN0b3IsIGdldE92ZXJmbG93QW5jZXN0b3JzKHNjcm9sbGFibGVBbmNlc3RvciwgW10sIHRyYXZlcnNlSWZyYW1lcykpO1xufVxuXG5leHBvcnQgeyBnZXRDb21wdXRlZFN0eWxlLCBnZXRDb250YWluaW5nQmxvY2ssIGdldERvY3VtZW50RWxlbWVudCwgZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3IsIGdldE5vZGVOYW1lLCBnZXROb2RlU2Nyb2xsLCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgZ2V0V2luZG93LCBpc0NvbnRhaW5pbmdCbG9jaywgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUsIGlzTm9kZSwgaXNPdmVyZmxvd0VsZW1lbnQsIGlzU2hhZG93Um9vdCwgaXNUYWJsZUVsZW1lbnQsIGlzVG9wTGF5ZXIsIGlzV2ViS2l0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs":
/*!********************************************************************!*\
!*** ./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs ***!
\********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ alignments: function() { return /* binding */ alignments; },\n/* harmony export */ clamp: function() { return /* binding */ clamp; },\n/* harmony export */ createCoords: function() { return /* binding */ createCoords; },\n/* harmony export */ evaluate: function() { return /* binding */ evaluate; },\n/* harmony export */ expandPaddingObject: function() { return /* binding */ expandPaddingObject; },\n/* harmony export */ floor: function() { return /* binding */ floor; },\n/* harmony export */ getAlignment: function() { return /* binding */ getAlignment; },\n/* harmony export */ getAlignmentAxis: function() { return /* binding */ getAlignmentAxis; },\n/* harmony export */ getAlignmentSides: function() { return /* binding */ getAlignmentSides; },\n/* harmony export */ getAxisLength: function() { return /* binding */ getAxisLength; },\n/* harmony export */ getExpandedPlacements: function() { return /* binding */ getExpandedPlacements; },\n/* harmony export */ getOppositeAlignmentPlacement: function() { return /* binding */ getOppositeAlignmentPlacement; },\n/* harmony export */ getOppositeAxis: function() { return /* binding */ getOppositeAxis; },\n/* harmony export */ getOppositeAxisPlacements: function() { return /* binding */ getOppositeAxisPlacements; },\n/* harmony export */ getOppositePlacement: function() { return /* binding */ getOppositePlacement; },\n/* harmony export */ getPaddingObject: function() { return /* binding */ getPaddingObject; },\n/* harmony export */ getSide: function() { return /* binding */ getSide; },\n/* harmony export */ getSideAxis: function() { return /* binding */ getSideAxis; },\n/* harmony export */ max: function() { return /* binding */ max; },\n/* harmony export */ min: function() { return /* binding */ min; },\n/* harmony export */ placements: function() { return /* binding */ placements; },\n/* harmony export */ rectToClientRect: function() { return /* binding */ rectToClientRect; },\n/* harmony export */ round: function() { return /* binding */ round; },\n/* harmony export */ sides: function() { return /* binding */ sides; }\n/* harmony export */ });\n/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXlXIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5tanM/ZjBlYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEN1c3RvbSBwb3NpdGlvbmluZyByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy92aXJ0dWFsLWVsZW1lbnRzXG4gKi9cblxuY29uc3Qgc2lkZXMgPSBbJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCAnbGVmdCddO1xuY29uc3QgYWxpZ25tZW50cyA9IFsnc3RhcnQnLCAnZW5kJ107XG5jb25zdCBwbGFjZW1lbnRzID0gLyojX19QVVJFX18qL3NpZGVzLnJlZHVjZSgoYWNjLCBzaWRlKSA9PiBhY2MuY29uY2F0KHNpZGUsIHNpZGUgKyBcIi1cIiArIGFsaWdubWVudHNbMF0sIHNpZGUgKyBcIi1cIiArIGFsaWdubWVudHNbMV0pLCBbXSk7XG5jb25zdCBtaW4gPSBNYXRoLm1pbjtcbmNvbnN0IG1heCA9IE1hdGgubWF4O1xuY29uc3Qgcm91bmQgPSBNYXRoLnJvdW5kO1xuY29uc3QgZmxvb3IgPSBNYXRoLmZsb29yO1xuY29uc3QgY3JlYXRlQ29vcmRzID0gdiA9PiAoe1xuICB4OiB2LFxuICB5OiB2XG59KTtcbmNvbnN0IG9wcG9zaXRlU2lkZU1hcCA9IHtcbiAgbGVmdDogJ3JpZ2h0JyxcbiAgcmlnaHQ6ICdsZWZ0JyxcbiAgYm90dG9tOiAndG9wJyxcbiAgdG9wOiAnYm90dG9tJ1xufTtcbmNvbnN0IG9wcG9zaXRlQWxpZ25tZW50TWFwID0ge1xuICBzdGFydDogJ2VuZCcsXG4gIGVuZDogJ3N0YXJ0J1xufTtcbmZ1bmN0aW9uIGNsYW1wKHN0YXJ0LCB2YWx1ZSwgZW5kKSB7XG4gIHJldHVybiBtYXgoc3RhcnQsIG1pbih2YWx1ZSwgZW5kKSk7XG59XG5mdW5jdGlvbiBldmFsdWF0ZSh2YWx1ZSwgcGFyYW0pIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlKHBhcmFtKSA6IHZhbHVlO1xufVxuZnVuY3Rpb24gZ2V0U2lkZShwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xufVxuZnVuY3Rpb24gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUF4aXMoYXhpcykge1xuICByZXR1cm4gYXhpcyA9PT0gJ3gnID8gJ3knIDogJ3gnO1xufVxuZnVuY3Rpb24gZ2V0QXhpc0xlbmd0aChheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneScgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG59XG5mdW5jdGlvbiBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIFsndG9wJywgJ2JvdHRvbSddLmluY2x1ZGVzKGdldFNpZGUocGxhY2VtZW50KSkgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCkge1xuICByZXR1cm4gZ2V0T3Bwb3NpdGVBeGlzKGdldFNpZGVBeGlzKHBsYWNlbWVudCkpO1xufVxuZnVuY3Rpb24gZ2V0QWxpZ25tZW50U2lkZXMocGxhY2VtZW50LCByZWN0cywgcnRsKSB7XG4gIGlmIChydGwgPT09IHZvaWQgMCkge1xuICAgIHJ0bCA9IGZhbHNlO1xuICB9XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBjb25zdCBhbGlnbm1lbnRBeGlzID0gZ2V0QWxpZ25tZW50QXhpcyhwbGFjZW1lbnQpO1xuICBjb25zdCBsZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGFsaWdubWVudEF4aXMpO1xuICBsZXQgbWFpbkFsaWdubWVudFNpZGUgPSBhbGlnbm1lbnRBeGlzID09PSAneCcgPyBhbGlnbm1lbnQgPT09IChydGwgPyAnZW5kJyA6ICdzdGFydCcpID8gJ3JpZ2h0JyA6ICdsZWZ0JyA6IGFsaWdubWVudCA9PT0gJ3N0YXJ0JyA/ICdib3R0b20nIDogJ3RvcCc7XG4gIGlmIChyZWN0cy5yZWZlcmVuY2VbbGVuZ3RoXSA+IHJlY3RzLmZsb2F0aW5nW2xlbmd0aF0pIHtcbiAgICBtYWluQWxpZ25tZW50U2lkZSA9IGdldE9wcG9zaXRlUGxhY2VtZW50KG1haW5BbGlnbm1lbnRTaWRlKTtcbiAgfVxuICByZXR1cm4gW21haW5BbGlnbm1lbnRTaWRlLCBnZXRPcHBvc2l0ZVBsYWNlbWVudChtYWluQWxpZ25tZW50U2lkZSldO1xufVxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRQbGFjZW1lbnRzKHBsYWNlbWVudCkge1xuICBjb25zdCBvcHBvc2l0ZVBsYWNlbWVudCA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHJldHVybiBbZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQocGxhY2VtZW50KSwgb3Bwb3NpdGVQbGFjZW1lbnQsIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KG9wcG9zaXRlUGxhY2VtZW50KV07XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9zdGFydHxlbmQvZywgYWxpZ25tZW50ID0+IG9wcG9zaXRlQWxpZ25tZW50TWFwW2FsaWdubWVudF0pO1xufVxuZnVuY3Rpb24gZ2V0U2lkZUxpc3Qoc2lkZSwgaXNTdGFydCwgcnRsKSB7XG4gIGNvbnN0IGxyID0gWydsZWZ0JywgJ3JpZ2h0J107XG4gIGNvbnN0IHJsID0gWydyaWdodCcsICdsZWZ0J107XG4gIGNvbnN0IHRiID0gWyd0b3AnLCAnYm90dG9tJ107XG4gIGNvbnN0IGJ0ID0gWydib3R0b20nLCAndG9wJ107XG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgJ3RvcCc6XG4gICAgY2FzZSAnYm90dG9tJzpcbiAgICAgIGlmIChydGwpIHJldHVybiBpc1N0YXJ0ID8gcmwgOiBscjtcbiAgICAgIHJldHVybiBpc1N0YXJ0ID8gbHIgOiBybDtcbiAgICBjYXNlICdsZWZ0JzpcbiAgICBjYXNlICdyaWdodCc6XG4gICAgICByZXR1cm4gaXNTdGFydCA/IHRiIDogYnQ7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBbXTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cyhwbGFjZW1lbnQsIGZsaXBBbGlnbm1lbnQsIGRpcmVjdGlvbiwgcnRsKSB7XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBsZXQgbGlzdCA9IGdldFNpZGVMaXN0KGdldFNpZGUocGxhY2VtZW50KSwgZGlyZWN0aW9uID09PSAnc3RhcnQnLCBydGwpO1xuICBpZiAoYWxpZ25tZW50KSB7XG4gICAgbGlzdCA9IGxpc3QubWFwKHNpZGUgPT4gc2lkZSArIFwiLVwiICsgYWxpZ25tZW50KTtcbiAgICBpZiAoZmxpcEFsaWdubWVudCkge1xuICAgICAgbGlzdCA9IGxpc3QuY29uY2F0KGxpc3QubWFwKGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBsaXN0O1xufVxuZnVuY3Rpb24gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csIHNpZGUgPT4gb3Bwb3NpdGVTaWRlTWFwW3NpZGVdKTtcbn1cbmZ1bmN0aW9uIGV4cGFuZFBhZGRpbmdPYmplY3QocGFkZGluZykge1xuICByZXR1cm4ge1xuICAgIHRvcDogMCxcbiAgICByaWdodDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMCxcbiAgICAuLi5wYWRkaW5nXG4gIH07XG59XG5mdW5jdGlvbiBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IGV4cGFuZFBhZGRpbmdPYmplY3QocGFkZGluZykgOiB7XG4gICAgdG9wOiBwYWRkaW5nLFxuICAgIHJpZ2h0OiBwYWRkaW5nLFxuICAgIGJvdHRvbTogcGFkZGluZyxcbiAgICBsZWZ0OiBwYWRkaW5nXG4gIH07XG59XG5mdW5jdGlvbiByZWN0VG9DbGllbnRSZWN0KHJlY3QpIHtcbiAgY29uc3Qge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IHJlY3Q7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHRvcDogeSxcbiAgICBsZWZ0OiB4LFxuICAgIHJpZ2h0OiB4ICsgd2lkdGgsXG4gICAgYm90dG9tOiB5ICsgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5leHBvcnQgeyBhbGlnbm1lbnRzLCBjbGFtcCwgY3JlYXRlQ29vcmRzLCBldmFsdWF0ZSwgZXhwYW5kUGFkZGluZ09iamVjdCwgZmxvb3IsIGdldEFsaWdubWVudCwgZ2V0QWxpZ25tZW50QXhpcywgZ2V0QWxpZ25tZW50U2lkZXMsIGdldEF4aXNMZW5ndGgsIGdldEV4cGFuZGVkUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQsIGdldE9wcG9zaXRlQXhpcywgZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQsIGdldFBhZGRpbmdPYmplY3QsIGdldFNpZGUsIGdldFNpZGVBeGlzLCBtYXgsIG1pbiwgcGxhY2VtZW50cywgcmVjdFRvQ2xpZW50UmVjdCwgcm91bmQsIHNpZGVzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js":
/*!********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/components/keyboard.js ***!
\********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Keys: function() { return /* binding */ o; }\n/* harmony export */ });\nvar o = ((r)=>(r.Space = \" \", r.Enter = \"Enter\", r.Escape = \"Escape\", r.Backspace = \"Backspace\", r.Delete = \"Delete\", r.ArrowLeft = \"ArrowLeft\", r.ArrowUp = \"ArrowUp\", r.ArrowRight = \"ArrowRight\", r.ArrowDown = \"ArrowDown\", r.Home = \"Home\", r.End = \"End\", r.PageUp = \"PageUp\", r.PageDown = \"PageDown\", r.Tab = \"Tab\", r))(o || {});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMva2V5Ym9hcmQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUlBLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsRUFBRUMsS0FBSyxHQUFDLEtBQUlELEVBQUVFLEtBQUssR0FBQyxTQUFRRixFQUFFRyxNQUFNLEdBQUMsVUFBU0gsRUFBRUksU0FBUyxHQUFDLGFBQVlKLEVBQUVLLE1BQU0sR0FBQyxVQUFTTCxFQUFFTSxTQUFTLEdBQUMsYUFBWU4sRUFBRU8sT0FBTyxHQUFDLFdBQVVQLEVBQUVRLFVBQVUsR0FBQyxjQUFhUixFQUFFUyxTQUFTLEdBQUMsYUFBWVQsRUFBRVUsSUFBSSxHQUFDLFFBQU9WLEVBQUVXLEdBQUcsR0FBQyxPQUFNWCxFQUFFWSxNQUFNLEdBQUMsVUFBU1osRUFBRWEsUUFBUSxHQUFDLFlBQVdiLEVBQUVjLEdBQUcsR0FBQyxPQUFNZCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2tleWJvYXJkLmpzPzZlNTQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG89KHI9PihyLlNwYWNlPVwiIFwiLHIuRW50ZXI9XCJFbnRlclwiLHIuRXNjYXBlPVwiRXNjYXBlXCIsci5CYWNrc3BhY2U9XCJCYWNrc3BhY2VcIixyLkRlbGV0ZT1cIkRlbGV0ZVwiLHIuQXJyb3dMZWZ0PVwiQXJyb3dMZWZ0XCIsci5BcnJvd1VwPVwiQXJyb3dVcFwiLHIuQXJyb3dSaWdodD1cIkFycm93UmlnaHRcIixyLkFycm93RG93bj1cIkFycm93RG93blwiLHIuSG9tZT1cIkhvbWVcIixyLkVuZD1cIkVuZFwiLHIuUGFnZVVwPVwiUGFnZVVwXCIsci5QYWdlRG93bj1cIlBhZ2VEb3duXCIsci5UYWI9XCJUYWJcIixyKSkob3x8e30pO2V4cG9ydHtvIGFzIEtleXN9O1xuIl0sIm5hbWVzIjpbIm8iLCJyIiwiU3BhY2UiLCJFbnRlciIsIkVzY2FwZSIsIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkFycm93TGVmdCIsIkFycm93VXAiLCJBcnJvd1JpZ2h0IiwiQXJyb3dEb3duIiwiSG9tZSIsIkVuZCIsIlBhZ2VVcCIsIlBhZ2VEb3duIiwiVGFiIiwiS2V5cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/popover/popover.js":
/*!***************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/components/popover/popover.js ***!
\***************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Popover: function() { return /* binding */ lo; },\n/* harmony export */ PopoverBackdrop: function() { return /* binding */ Ct; },\n/* harmony export */ PopoverButton: function() { return /* binding */ St; },\n/* harmony export */ PopoverGroup: function() { return /* binding */ Rt; },\n/* harmony export */ PopoverOverlay: function() { return /* binding */ At; },\n/* harmony export */ PopoverPanel: function() { return /* binding */ Bt; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_element_size_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../hooks/use-element-size.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-element-size.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_event_listener_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../hooks/use-event-listener.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event-listener.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _hooks_use_on_disappear_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../hooks/use-on-disappear.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-on-disappear.js\");\n/* harmony import */ var _hooks_use_outside_click_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../hooks/use-outside-click.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-outside-click.js\");\n/* harmony import */ var _hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-owner.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../hooks/use-root-containers.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-root-containers.js\");\n/* harmony import */ var _hooks_use_scroll_lock_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../hooks/use-scroll-lock.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../hooks/use-tab-direction.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-tab-direction.js\");\n/* harmony import */ var _hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../hooks/use-transition.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\");\n/* harmony import */ var _internal_close_provider_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../internal/close-provider.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js\");\n/* harmony import */ var _internal_floating_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../internal/floating.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/floating.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../internal/hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../internal/open-closed.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js\");\n/* harmony import */ var _utils_bugs_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/bugs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* harmony import */ var _portal_portal_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../portal/portal.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/portal/portal.js\");\n/* __next_internal_client_entry_do_not_use__ Popover,PopoverBackdrop,PopoverButton,PopoverGroup,PopoverOverlay,PopoverPanel auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar lt = ((P)=>(P[P.Open = 0] = \"Open\", P[P.Closed = 1] = \"Closed\", P))(lt || {}), at = ((s)=>(s[s.TogglePopover = 0] = \"TogglePopover\", s[s.ClosePopover = 1] = \"ClosePopover\", s[s.SetButton = 2] = \"SetButton\", s[s.SetButtonId = 3] = \"SetButtonId\", s[s.SetPanel = 4] = \"SetPanel\", s[s.SetPanelId = 5] = \"SetPanelId\", s))(at || {});\nlet pt = {\n [0]: (t)=>({\n ...t,\n popoverState: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(t.popoverState, {\n [0]: 1,\n [1]: 0\n }),\n __demoMode: !1\n }),\n [1] (t) {\n return t.popoverState === 1 ? t : {\n ...t,\n popoverState: 1,\n __demoMode: !1\n };\n },\n [2] (t, l) {\n return t.button === l.button ? t : {\n ...t,\n button: l.button\n };\n },\n [3] (t, l) {\n return t.buttonId === l.buttonId ? t : {\n ...t,\n buttonId: l.buttonId\n };\n },\n [4] (t, l) {\n return t.panel === l.panel ? t : {\n ...t,\n panel: l.panel\n };\n },\n [5] (t, l) {\n return t.panelId === l.panelId ? t : {\n ...t,\n panelId: l.panelId\n };\n }\n}, me = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nme.displayName = \"PopoverContext\";\nfunction ae(t) {\n let l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(me);\n if (l === null) {\n let P = new Error(`<${t} /> is missing a parent <Popover /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(P, ae), P;\n }\n return l;\n}\nlet pe = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\npe.displayName = \"PopoverAPIContext\";\nfunction ye(t) {\n let l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(pe);\n if (l === null) {\n let P = new Error(`<${t} /> is missing a parent <Popover /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(P, ye), P;\n }\n return l;\n}\nlet Ee = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nEe.displayName = \"PopoverGroupContext\";\nfunction xe() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Ee);\n}\nlet se = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nse.displayName = \"PopoverPanelContext\";\nfunction st() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(se);\n}\nfunction ut(t, l) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(l.type, pt, t, l);\n}\nlet it = \"div\";\nfunction dt(t, l) {\n var f;\n let { __demoMode: P = !1, ...R } = t, T = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), C = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(l, (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.optionalRef)((o)=>{\n T.current = o;\n })), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(ut, {\n __demoMode: P,\n popoverState: P ? 0 : 1,\n buttons: s,\n button: null,\n buttonId: null,\n panel: null,\n panelId: null,\n beforePanelSentinel: /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createRef)(),\n afterPanelSentinel: /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createRef)(),\n afterButtonSentinel: /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createRef)()\n }), [{ popoverState: c, button: i, buttonId: r, panel: d, panelId: _, beforePanelSentinel: m, afterPanelSentinel: E, afterButtonSentinel: u }, a] = n, v = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__.useOwnerDocument)((f = T.current) != null ? f : i), L = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n if (!i || !d) return !1;\n for (let M of document.querySelectorAll(\"body > *\"))if (Number(M == null ? void 0 : M.contains(i)) ^ Number(M == null ? void 0 : M.contains(d))) return !0;\n let o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.getFocusableElements)(), e = o.indexOf(i), p = (e + o.length - 1) % o.length, g = (e + 1) % o.length, S = o[p], B = o[g];\n return !d.contains(S) && !d.contains(B);\n }, [\n i,\n d\n ]), F = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_5__.useLatestValue)(r), G = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_5__.useLatestValue)(_), j = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n buttonId: F,\n panelId: G,\n close: ()=>a({\n type: 1\n })\n }), [\n F,\n G,\n a\n ]), b = xe(), D = b == null ? void 0 : b.registerPopover, H = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n var o;\n return (o = b == null ? void 0 : b.isFocusWithinPopoverGroup()) != null ? o : (v == null ? void 0 : v.activeElement) && ((i == null ? void 0 : i.contains(v.activeElement)) || (d == null ? void 0 : d.contains(v.activeElement)));\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>D == null ? void 0 : D(j), [\n D,\n j\n ]);\n let [O, V] = (0,_portal_portal_js__WEBPACK_IMPORTED_MODULE_7__.useNestedPortals)(), U = (0,_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.useMainTreeNode)(i), N = (0,_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.useRootContainers)({\n mainTreeNode: U,\n portals: O,\n defaultContainers: [\n i,\n d\n ]\n });\n (0,_hooks_use_event_listener_js__WEBPACK_IMPORTED_MODULE_9__.useEventListener)(v == null ? void 0 : v.defaultView, \"focus\", (o)=>{\n var e, p, g, S, B, M;\n o.target !== window && o.target instanceof HTMLElement && c === 0 && (H() || i && d && (N.contains(o.target) || (p = (e = m.current) == null ? void 0 : e.contains) != null && p.call(e, o.target) || (S = (g = E.current) == null ? void 0 : g.contains) != null && S.call(g, o.target) || (M = (B = u.current) == null ? void 0 : B.contains) != null && M.call(B, o.target) || a({\n type: 1\n })));\n }, !0), (0,_hooks_use_outside_click_js__WEBPACK_IMPORTED_MODULE_10__.useOutsideClick)(c === 0, N.resolveContainers, (o, e)=>{\n a({\n type: 1\n }), (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.isFocusableElement)(e, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.FocusableMode.Loose) || (o.preventDefault(), i == null || i.focus());\n });\n let x = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((o)=>{\n a({\n type: 1\n });\n let e = (()=>o ? o instanceof HTMLElement ? o : \"current\" in o && o.current instanceof HTMLElement ? o.current : i : i)();\n e == null || e.focus();\n }), $ = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n close: x,\n isPortalled: L\n }), [\n x,\n L\n ]), J = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: c === 0,\n close: x\n }), [\n c,\n x\n ]), Z = {\n ref: C\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.MainTreeProvider, {\n node: U\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_floating_js__WEBPACK_IMPORTED_MODULE_11__.FloatingProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(se.Provider, {\n value: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(me.Provider, {\n value: n\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(pe.Provider, {\n value: $\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_12__.CloseProvider, {\n value: x\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.OpenClosedProvider, {\n value: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(c, {\n [0]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.State.Open,\n [1]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.State.Closed\n })\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(V, null, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.render)({\n ourProps: Z,\n theirProps: R,\n slot: J,\n defaultTag: it,\n name: \"Popover\"\n })))))))));\n}\nlet Pt = \"button\";\nfunction ft(t, l) {\n let P = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: R = `headlessui-popover-button-${P}`, disabled: T = !1, autoFocus: C = !1, ...s } = t, [n, c] = ae(\"Popover.Button\"), { isPortalled: i } = ye(\"Popover.Button\"), r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), d = `headlessui-focus-sentinel-${(0,react__WEBPACK_IMPORTED_MODULE_0__.useId)()}`, _ = xe(), m = _ == null ? void 0 : _.closeOthers, u = st() !== null;\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!u) return c({\n type: 3,\n buttonId: R\n }), ()=>{\n c({\n type: 3,\n buttonId: null\n });\n };\n }, [\n u,\n R,\n c\n ]);\n let [a] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>Symbol()), v = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(r, l, (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_11__.useFloatingReference)(), u ? null : (e)=>{\n if (e) n.buttons.current.push(a);\n else {\n let p = n.buttons.current.indexOf(a);\n p !== -1 && n.buttons.current.splice(p, 1);\n }\n n.buttons.current.length > 1 && console.warn(\"You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported.\"), e && c({\n type: 2,\n button: e\n });\n }), L = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(r, l), F = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__.useOwnerDocument)(r), G = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n var p, g, S;\n if (u) {\n if (n.popoverState === 1) return;\n switch(e.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Enter:\n e.preventDefault(), (g = (p = e.target).click) == null || g.call(p), c({\n type: 1\n }), (S = n.button) == null || S.focus();\n break;\n }\n } else switch(e.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Space:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Enter:\n e.preventDefault(), e.stopPropagation(), n.popoverState === 1 && (m == null || m(n.buttonId)), c({\n type: 0\n });\n break;\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Escape:\n if (n.popoverState !== 0) return m == null ? void 0 : m(n.buttonId);\n if (!r.current || F != null && F.activeElement && !r.current.contains(F.activeElement)) return;\n e.preventDefault(), e.stopPropagation(), c({\n type: 1\n });\n break;\n }\n }), j = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n u || e.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Space && e.preventDefault();\n }), b = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n var p, g;\n (0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_16__.isDisabledReactIssue7711)(e.currentTarget) || T || (u ? (c({\n type: 1\n }), (p = n.button) == null || p.focus()) : (e.preventDefault(), e.stopPropagation(), n.popoverState === 1 && (m == null || m(n.buttonId)), c({\n type: 0\n }), (g = n.button) == null || g.focus()));\n }), D = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n e.preventDefault(), e.stopPropagation();\n }), { isFocusVisible: H, focusProps: O } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_17__.useFocusRing)({\n autoFocus: C\n }), { isHovered: V, hoverProps: U } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_18__.useHover)({\n isDisabled: T\n }), { pressed: N, pressProps: Q } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_19__.useActivePress)({\n disabled: T\n }), x = n.popoverState === 0, $ = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: x,\n active: N || x,\n disabled: T,\n hover: V,\n focus: H,\n autofocus: C\n }), [\n x,\n V,\n H,\n N,\n T,\n C\n ]), J = (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_20__.useResolveButtonType)(t, r), Z = u ? (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.mergeProps)({\n ref: L,\n type: J,\n onKeyDown: G,\n onClick: b,\n disabled: T || void 0,\n autoFocus: C\n }, O, U, Q) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.mergeProps)({\n ref: v,\n id: n.buttonId,\n type: J,\n \"aria-expanded\": n.popoverState === 0,\n \"aria-controls\": n.panel ? n.panelId : void 0,\n disabled: T || void 0,\n autoFocus: C,\n onKeyDown: G,\n onKeyUp: j,\n onClick: b,\n onMouseDown: D\n }, O, U, Q), f = (0,_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.useTabDirection)(), o = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n let e = n.panel;\n if (!e) return;\n function p() {\n (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f.current, {\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Forwards]: ()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)(e, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.First),\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Backwards]: ()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)(e, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.Last)\n }) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.FocusResult.Error && (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)((0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.getFocusableElements)().filter((S)=>S.dataset.headlessuiFocusGuard !== \"true\"), (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f.current, {\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Forwards]: _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.Next,\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Backwards]: _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.Previous\n }), {\n relativeTo: n.button\n });\n }\n p();\n });\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.render)({\n ourProps: Z,\n theirProps: s,\n slot: $,\n defaultTag: Pt,\n name: \"Popover.Button\"\n }), x && !u && i && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__.Hidden, {\n id: d,\n ref: n.afterButtonSentinel,\n features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__.HiddenFeatures.Focusable,\n \"data-headlessui-focus-guard\": !0,\n as: \"button\",\n type: \"button\",\n onFocus: o\n }));\n}\nlet ct = \"div\", vt = _utils_render_js__WEBPACK_IMPORTED_MODULE_14__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_14__.RenderFeatures.Static;\nfunction Me(t, l) {\n let P = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: R = `headlessui-popover-backdrop-${P}`, transition: T = !1, ...C } = t, [{ popoverState: s }, n] = ae(\"Popover.Backdrop\"), c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), i = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(l, c), r = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.useOpenClosed)(), [d, _] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_23__.useTransition)(T, c, r !== null ? (r & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.State.Open : s === 0), m = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((a)=>{\n if ((0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_16__.isDisabledReactIssue7711)(a.currentTarget)) return a.preventDefault();\n n({\n type: 1\n });\n }), E = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: s === 0\n }), [\n s\n ]), u = {\n ref: i,\n id: R,\n \"aria-hidden\": !0,\n onClick: m,\n ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_23__.transitionDataAttributes)(_)\n };\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.render)({\n ourProps: u,\n theirProps: C,\n slot: E,\n defaultTag: ct,\n features: vt,\n visible: d,\n name: \"Popover.Backdrop\"\n });\n}\n_c = Me;\nlet Tt = \"div\", mt = _utils_render_js__WEBPACK_IMPORTED_MODULE_14__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_14__.RenderFeatures.Static;\nfunction yt(t, l) {\n let P = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: R = `headlessui-popover-panel-${P}`, focus: T = !1, anchor: C, portal: s = !1, modal: n = !1, transition: c = !1, ...i } = t, [r, d] = ae(\"Popover.Panel\"), { close: _, isPortalled: m } = ye(\"Popover.Panel\"), E = `headlessui-focus-sentinel-before-${P}`, u = `headlessui-focus-sentinel-after-${P}`, a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), v = (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_11__.useResolvedAnchor)(C), [L, F] = (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_11__.useFloatingPanel)(v), G = (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_11__.useFloatingPanelProps)();\n v && (s = !0);\n let j = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(a, l, v ? L : null, (f)=>{\n d({\n type: 4,\n panel: f\n });\n }), b = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__.useOwnerDocument)(a), D = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.useMergeRefsFn)();\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_24__.useIsoMorphicEffect)(()=>(d({\n type: 5,\n panelId: R\n }), ()=>{\n d({\n type: 5,\n panelId: null\n });\n }), [\n R,\n d\n ]);\n let H = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.useOpenClosed)(), [O, V] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_23__.useTransition)(c, a, H !== null ? (H & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.State.Open : r.popoverState === 0);\n (0,_hooks_use_on_disappear_js__WEBPACK_IMPORTED_MODULE_25__.useOnDisappear)(O, r.button, ()=>{\n d({\n type: 1\n });\n });\n let U = r.__demoMode ? !1 : n && O;\n (0,_hooks_use_scroll_lock_js__WEBPACK_IMPORTED_MODULE_26__.useScrollLock)(U, b);\n let N = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((f)=>{\n var o;\n switch(f.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_15__.Keys.Escape:\n if (r.popoverState !== 0 || !a.current || b != null && b.activeElement && !a.current.contains(b.activeElement)) return;\n f.preventDefault(), f.stopPropagation(), d({\n type: 1\n }), (o = r.button) == null || o.focus();\n break;\n }\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n var f;\n t.static || r.popoverState === 1 && ((f = t.unmount) == null || f) && d({\n type: 4,\n panel: null\n });\n }, [\n r.popoverState,\n t.unmount,\n t.static,\n d\n ]), (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (r.__demoMode || !T || r.popoverState !== 0 || !a.current) return;\n let f = b == null ? void 0 : b.activeElement;\n a.current.contains(f) || (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)(a.current, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.First);\n }, [\n r.__demoMode,\n T,\n a.current,\n r.popoverState\n ]);\n let Q = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n open: r.popoverState === 0,\n close: _\n }), [\n r.popoverState,\n _\n ]), x = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.mergeProps)(v ? G() : {}, {\n ref: j,\n id: R,\n onKeyDown: N,\n onBlur: T && r.popoverState === 0 ? (f)=>{\n var e, p, g, S, B;\n let o = f.relatedTarget;\n o && a.current && ((e = a.current) != null && e.contains(o) || (d({\n type: 1\n }), ((g = (p = r.beforePanelSentinel.current) == null ? void 0 : p.contains) != null && g.call(p, o) || (B = (S = r.afterPanelSentinel.current) == null ? void 0 : S.contains) != null && B.call(S, o)) && o.focus({\n preventScroll: !0\n })));\n } : void 0,\n tabIndex: -1,\n style: {\n ...i.style,\n ...F,\n \"--button-width\": (0,_hooks_use_element_size_js__WEBPACK_IMPORTED_MODULE_27__.useElementSize)(r.button, !0).width\n },\n ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_23__.transitionDataAttributes)(V)\n }), $ = (0,_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.useTabDirection)(), J = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n let f = a.current;\n if (!f) return;\n function o() {\n (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)($.current, {\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Forwards]: ()=>{\n var p;\n (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)(f, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.First) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.FocusResult.Error && ((p = r.afterPanelSentinel.current) == null || p.focus());\n },\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Backwards]: ()=>{\n var e;\n (e = r.button) == null || e.focus({\n preventScroll: !0\n });\n }\n });\n }\n o();\n }), Z = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n let f = a.current;\n if (!f) return;\n function o() {\n (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)($.current, {\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Forwards]: ()=>{\n var M;\n if (!r.button) return;\n let e = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.getFocusableElements)(), p = e.indexOf(r.button), g = e.slice(0, p + 1), B = [\n ...e.slice(p + 1),\n ...g\n ];\n for (let ue of B.slice())if (ue.dataset.headlessuiFocusGuard === \"true\" || (M = r.panel) != null && M.contains(ue)) {\n let be = B.indexOf(ue);\n be !== -1 && B.splice(be, 1);\n }\n (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)(B, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.First, {\n sorted: !1\n });\n },\n [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_21__.Direction.Backwards]: ()=>{\n var p;\n (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.focusIn)(f, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.Focus.Previous) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_4__.FocusResult.Error && ((p = r.button) == null || p.focus());\n }\n });\n }\n o();\n });\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_13__.ResetOpenClosedProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(se.Provider, {\n value: R\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(pe.Provider, {\n value: {\n close: _,\n isPortalled: m\n }\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_portal_portal_js__WEBPACK_IMPORTED_MODULE_7__.Portal, {\n enabled: s ? t.static || O : !1\n }, O && m && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__.Hidden, {\n id: E,\n ref: r.beforePanelSentinel,\n features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__.HiddenFeatures.Focusable,\n \"data-headlessui-focus-guard\": !0,\n as: \"button\",\n type: \"button\",\n onFocus: J\n }), (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.render)({\n mergeRefs: D,\n ourProps: x,\n theirProps: i,\n slot: Q,\n defaultTag: Tt,\n features: mt,\n visible: O,\n name: \"Popover.Panel\"\n }), O && m && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__.Hidden, {\n id: u,\n ref: r.afterPanelSentinel,\n features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_22__.HiddenFeatures.Focusable,\n \"data-headlessui-focus-guard\": !0,\n as: \"button\",\n type: \"button\",\n onFocus: Z\n })))));\n}\nlet Et = \"div\";\nfunction bt(t, l) {\n let P = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), R = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(P, l), [T, C] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), s = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((E)=>{\n C((u)=>{\n let a = u.indexOf(E);\n if (a !== -1) {\n let v = u.slice();\n return v.splice(a, 1), v;\n }\n return u;\n });\n }), n = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((E)=>(C((u)=>[\n ...u,\n E\n ]), ()=>s(E))), c = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n var a;\n let E = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_28__.getOwnerDocument)(P);\n if (!E) return !1;\n let u = E.activeElement;\n return (a = P.current) != null && a.contains(u) ? !0 : T.some((v)=>{\n var L, F;\n return ((L = E.getElementById(v.buttonId.current)) == null ? void 0 : L.contains(u)) || ((F = E.getElementById(v.panelId.current)) == null ? void 0 : F.contains(u));\n });\n }), i = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((E)=>{\n for (let u of T)u.buttonId.current !== E && u.close();\n }), r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n registerPopover: n,\n unregisterPopover: s,\n isFocusWithinPopoverGroup: c,\n closeOthers: i\n }), [\n n,\n s,\n c,\n i\n ]), d = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({}), []), _ = t, m = {\n ref: R\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.MainTreeProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Ee.Provider, {\n value: r\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.render)({\n ourProps: m,\n theirProps: _,\n slot: d,\n defaultTag: Et,\n name: \"Popover.Group\"\n })));\n}\nlet gt = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.forwardRefWithAs)(dt), St = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.forwardRefWithAs)(ft), At = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.forwardRefWithAs)(Me), Ct = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.forwardRefWithAs)(Me), Bt = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.forwardRefWithAs)(yt), Rt = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_14__.forwardRefWithAs)(bt), lo = Object.assign(gt, {\n Button: St,\n Backdrop: Ct,\n Overlay: At,\n Panel: Bt,\n Group: Rt\n});\n\nvar _c;\n$RefreshReg$(_c, \"Me\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29JQUErRDtBQUFxRDtBQUFvSjtBQUFrRTtBQUFrRTtBQUFvRDtBQUFzRTtBQUErQztBQUE2RTtBQUFrRTtBQUFrRTtBQUFvRTtBQUE2RDtBQUErRTtBQUFxSDtBQUFnRTtBQUE2RTtBQUFtRjtBQUE4RjtBQUFrRTtBQUFxSztBQUF3RTtBQUFpSTtBQUFnRTtBQUErSjtBQUE2QztBQUFrQztBQUF5RDtBQUFpSTtBQUFzQztBQUFxRTtBQUFBLElBQUl5SCxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLGFBQWEsR0FBQyxFQUFFLEdBQUMsaUJBQWdCRCxDQUFDLENBQUNBLEVBQUVFLFlBQVksR0FBQyxFQUFFLEdBQUMsZ0JBQWVGLENBQUMsQ0FBQ0EsRUFBRUcsU0FBUyxHQUFDLEVBQUUsR0FBQyxhQUFZSCxDQUFDLENBQUNBLEVBQUVJLFdBQVcsR0FBQyxFQUFFLEdBQUMsZUFBY0osQ0FBQyxDQUFDQSxFQUFFSyxRQUFRLEdBQUMsRUFBRSxHQUFDLFlBQVdMLENBQUMsQ0FBQ0EsRUFBRU0sVUFBVSxHQUFDLEVBQUUsR0FBQyxjQUFhTixDQUFBQSxDQUFDLEVBQUdELE1BQUksQ0FBQztBQUFHLElBQUlRLEtBQUc7SUFBQyxDQUFDLEVBQUUsRUFBQ0MsQ0FBQUEsSUFBSTtZQUFDLEdBQUdBLENBQUM7WUFBQ0MsY0FBYWpD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S0FBSStCLEtBQUdoTixtRUFBQ0EsQ0FBQ2lMLEtBQUlnQyxLQUFHak4sbUVBQUNBLENBQUNzTCxLQUFJNEIsS0FBR2xOLG1FQUFDQSxDQUFDeU0sS0FBSVUsS0FBR0MsT0FBT0MsTUFBTSxDQUFDUixJQUFHO0lBQUNTLFFBQU9SO0lBQUdTLFVBQVNQO0lBQUdRLFNBQVFUO0lBQUdVLE9BQU1SO0lBQUdTLE9BQU1SO0FBQUU7QUFBOEgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuanM/MzllNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtpbXBvcnR7dXNlRm9jdXNSaW5nIGFzIE9lfWZyb21cIkByZWFjdC1hcmlhL2ZvY3VzXCI7aW1wb3J0e3VzZUhvdmVyIGFzIExlfWZyb21cIkByZWFjdC1hcmlhL2ludGVyYWN0aW9uc1wiO2ltcG9ydCB5LHtjcmVhdGVDb250ZXh0IGFzIHRlLGNyZWF0ZVJlZiBhcyBpZSx1c2VDb250ZXh0IGFzIG9lLHVzZUVmZmVjdCBhcyByZSx1c2VNZW1vIGFzIEksdXNlUmVkdWNlciBhcyBJZSx1c2VSZWYgYXMgWCx1c2VTdGF0ZSBhcyBnZX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VBY3RpdmVQcmVzcyBhcyBEZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMnO2ltcG9ydHt1c2VFbGVtZW50U2l6ZSBhcyBoZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1lbGVtZW50LXNpemUuanMnO2ltcG9ydHt1c2VFdmVudCBhcyBBfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlRXZlbnRMaXN0ZW5lciBhcyBrZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1ldmVudC1saXN0ZW5lci5qcyc7aW1wb3J0e3VzZUlkIGFzIG5lfWZyb20nLi4vLi4vaG9va3MvdXNlLWlkLmpzJztpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyBHZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBTZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VPbkRpc2FwcGVhciBhcyBIZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1vbi1kaXNhcHBlYXIuanMnO2ltcG9ydHt1c2VPdXRzaWRlQ2xpY2sgYXMgVWV9ZnJvbScuLi8uLi9ob29rcy91c2Utb3V0c2lkZS1jbGljay5qcyc7aW1wb3J0e3VzZU93bmVyRG9jdW1lbnQgYXMgZGV9ZnJvbScuLi8uLi9ob29rcy91c2Utb3duZXIuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyBOZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7TWFpblRyZWVQcm92aWRlciBhcyBBZSx1c2VNYWluVHJlZU5vZGUgYXMgd2UsdXNlUm9vdENvbnRhaW5lcnMgYXMgS2V9ZnJvbScuLi8uLi9ob29rcy91c2Utcm9vdC1jb250YWluZXJzLmpzJztpbXBvcnR7dXNlU2Nyb2xsTG9jayBhcyBXZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zY3JvbGwtbG9jay5qcyc7aW1wb3J0e29wdGlvbmFsUmVmIGFzIGplLHVzZVN5bmNSZWZzIGFzIHF9ZnJvbScuLi8uLi9ob29rcy91c2Utc3luYy1yZWZzLmpzJztpbXBvcnR7RGlyZWN0aW9uIGFzIGgsdXNlVGFiRGlyZWN0aW9uIGFzIENlfWZyb20nLi4vLi4vaG9va3MvdXNlLXRhYi1kaXJlY3Rpb24uanMnO2ltcG9ydHt0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMgYXMgQmUsdXNlVHJhbnNpdGlvbiBhcyBSZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzJztpbXBvcnR7Q2xvc2VQcm92aWRlciBhcyBWZX1mcm9tJy4uLy4uL2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzJztpbXBvcnR7RmxvYXRpbmdQcm92aWRlciBhcyAkZSx1c2VGbG9hdGluZ1BhbmVsIGFzIEplLHVzZUZsb2F0aW5nUGFuZWxQcm9wcyBhcyBYZSx1c2VGbG9hdGluZ1JlZmVyZW5jZSBhcyBxZSx1c2VSZXNvbHZlZEFuY2hvciBhcyB6ZX1mcm9tJy4uLy4uL2ludGVybmFsL2Zsb2F0aW5nLmpzJztpbXBvcnR7SGlkZGVuIGFzIFBlLEhpZGRlbkZlYXR1cmVzIGFzIGZlfWZyb20nLi4vLi4vaW50ZXJuYWwvaGlkZGVuLmpzJztpbXBvcnR7T3BlbkNsb3NlZFByb3ZpZGVyIGFzIFllLFJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIGFzIFFlLFN0YXRlIGFzIHosdXNlT3BlbkNsb3NlZCBhcyBfZX1mcm9tJy4uLy4uL2ludGVybmFsL29wZW4tY2xvc2VkLmpzJztpbXBvcnR7aXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIGFzIEZlfWZyb20nLi4vLi4vdXRpbHMvYnVncy5qcyc7aW1wb3J0e0ZvY3VzIGFzIGssRm9jdXNSZXN1bHQgYXMgY2UsRm9jdXNhYmxlTW9kZSBhcyBaZSxmb2N1c0luIGFzIHcsZ2V0Rm9jdXNhYmxlRWxlbWVudHMgYXMgdmUsaXNGb2N1c2FibGVFbGVtZW50IGFzIGV0fWZyb20nLi4vLi4vdXRpbHMvZm9jdXMtbWFuYWdlbWVudC5qcyc7aW1wb3J0e21hdGNoIGFzIEt9ZnJvbScuLi8uLi91dGlscy9tYXRjaC5qcyc7aW1wb3J0Jy4uLy4uL3V0aWxzL21pY3JvLXRhc2suanMnO2ltcG9ydHtnZXRPd25lckRvY3VtZW50IGFzIHR0fWZyb20nLi4vLi4vdXRpbHMvb3duZXIuanMnO2ltcG9ydHtSZW5kZXJGZWF0dXJlcyBhcyBsZSxmb3J3YXJkUmVmV2l0aEFzIGFzIFksbWVyZ2VQcm9wcyBhcyBUZSxyZW5kZXIgYXMgZWUsdXNlTWVyZ2VSZWZzRm4gYXMgb3R9ZnJvbScuLi8uLi91dGlscy9yZW5kZXIuanMnO2ltcG9ydHtLZXlzIGFzIFd9ZnJvbScuLi9rZXlib2FyZC5qcyc7aW1wb3J0e1BvcnRhbCBhcyBydCx1c2VOZXN0ZWRQb3J0YWxzIGFzIG50fWZyb20nLi4vcG9ydGFsL3BvcnRhbC5qcyc7dmFyIGx0PShQPT4oUFtQLk9wZW49MF09XCJPcGVuXCIsUFtQLkNsb3NlZD0xXT1cIkNsb3NlZFwiLFApKShsdHx8e30pLGF0PShzPT4oc1tzLlRvZ2dsZVBvcG92ZXI9MF09XCJUb2dnbGVQb3BvdmVyXCIsc1tzLkNsb3NlUG9wb3Zlcj0xXT1cIkNsb3NlUG9wb3ZlclwiLHNbcy5TZXRCdXR0b249Ml09XCJTZXRCdXR0b25cIixzW3MuU2V0QnV0dG9uSWQ9M109XCJTZXRCdXR0b25JZFwiLHNbcy5TZXRQYW5lbD00XT1cIlNldFBhbmVsXCIsc1tzLlNldFBhbmVsSWQ9NV09XCJTZXRQYW5lbElkXCIscykpKGF0fHx7fSk7bGV0IHB0PXtbMF06dD0+KHsuLi50LHBvcG92ZXJTdGF0ZTpLKHQucG9wb3ZlclN0YXRlLHtbMF06MSxbMV06MH0pLF9fZGVtb01vZGU6ITF9KSxbMV0odCl7cmV0dXJuIHQucG9wb3ZlclN0YXRlPT09MT90OnsuLi50LHBvcG92ZXJTdGF0ZToxLF9fZGVtb01vZGU6ITF9fSxbMl0odCxsKXtyZXR1cm4gdC5idXR0b249PT1sLmJ1dHRvbj90OnsuLi50LGJ1dHRvbjpsLmJ1dHRvbn19LFszXSh0LGwpe3JldHVybiB0LmJ1dHRvbklkPT09bC5idXR0b25JZD90OnsuLi50LGJ1dHRvbklkOmwuYnV0dG9uSWR9fSxbNF0odCxsKXtyZXR1cm4gdC5wYW5lbD09PWwucGFuZWw/dDp7Li4udCxwYW5lbDpsLnBhbmVsfX0sWzVdKHQsbCl7cmV0dXJuIHQucGFuZWxJZD09PWwucGFuZWxJZD90OnsuLi50LHBhbmVsSWQ6bC5wYW5lbElkfX19LG1lPXRlKG51bGwpO21lLmRpc3BsYXlOYW1lPVwiUG9wb3ZlckNvbnRleHRcIjtmdW5jdGlvbiBhZSh0KXtsZXQgbD1vZShtZSk7aWYobD09PW51bGwpe2xldCBQPW5ldyBFcnJvcihgPCR7dH0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8UG9wb3ZlciAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKFAsYWUpLFB9cmV0dXJuIGx9bGV0IHBlPXRlKG51bGwpO3BlLmRpc3BsYXlOYW1lPVwiUG9wb3ZlckFQSUNvbnRleHRcIjtmdW5jdGlvbiB5ZSh0KXtsZXQgbD1vZShwZSk7aWYobD09PW51bGwpe2xldCBQPW5ldyBFcnJvcihgPCR7dH0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8UG9wb3ZlciAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKFAseWUpLFB9cmV0dXJuIGx9bGV0IEVlPXRlKG51bGwpO0VlLmRpc3BsYXlOYW1lPVwiUG9wb3Zlckdyb3VwQ29udGV4dFwiO2Z1bmN0aW9uIHhlKCl7cmV0dXJuIG9lKEVlKX1sZXQgc2U9dGUobnVsbCk7c2UuZGlzcGxheU5hbWU9XCJQb3BvdmVyUGFuZWxDb250ZXh0XCI7ZnVuY3Rpb24gc3QoKXtyZXR1cm4gb2Uoc2UpfWZ1bmN0aW9uIHV0KHQsbCl7cmV0dXJuIEsobC50eXBlLHB0LHQsbCl9bGV0IGl0PVwiZGl2XCI7ZnVuY3Rpb24gZHQodCxsKXt2YXIgZjtsZXR7X19kZW1vTW9kZTpQPSExLC4uLlJ9PXQsVD1YKG51bGwpLEM9cShsLGplKG89PntULmN1cnJlbnQ9b30pKSxzPVgoW10pLG49SWUodXQse19fZGVtb01vZGU6UCxwb3BvdmVyU3RhdGU6UD8wOjEsYnV0dG9uczpzLGJ1dHRvbjpudWxsLGJ1dHRvbklkOm51bGwscGFuZWw6bnVsbCxwYW5lbElkOm51bGwsYmVmb3JlUGFuZWxTZW50aW5lbDppZSgpLGFmdGVyUGFuZWxTZW50aW5lbDppZSgpLGFmdGVyQnV0dG9uU2VudGluZWw6aWUoKX0pLFt7cG9wb3ZlclN0YXRlOmMsYnV0dG9uOmksYnV0dG9uSWQ6cixwYW5lbDpkLHBhbmVsSWQ6XyxiZWZvcmVQYW5lbFNlbnRpbmVsOm0sYWZ0ZXJQYW5lbFNlbnRpbmVsOkUsYWZ0ZXJCdXR0b25TZW50aW5lbDp1fSxhXT1uLHY9ZGUoKGY9VC5jdXJyZW50KSE9bnVsbD9mOmkpLEw9SSgoKT0+e2lmKCFpfHwhZClyZXR1cm4hMTtmb3IobGV0IE0gb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcImJvZHkgPiAqXCIpKWlmKE51bWJlcihNPT1udWxsP3ZvaWQgMDpNLmNvbnRhaW5zKGkpKV5OdW1iZXIoTT09bnVsbD92b2lkIDA6TS5jb250YWlucyhkKSkpcmV0dXJuITA7bGV0IG89dmUoKSxlPW8uaW5kZXhPZihpKSxwPShlK28ubGVuZ3RoLTEpJW8ubGVuZ3RoLGc9KGUrMSklby5sZW5ndGgsUz1vW3BdLEI9b1tnXTtyZXR1cm4hZC5jb250YWlucyhTKSYmIWQuY29udGFpbnMoQil9LFtpLGRdKSxGPVNlKHIpLEc9U2UoXyksaj1JKCgpPT4oe2J1dHRvbklkOkYscGFuZWxJZDpHLGNsb3NlOigpPT5hKHt0eXBlOjF9KX0pLFtGLEcsYV0pLGI9eGUoKSxEPWI9PW51bGw/dm9pZCAwOmIucmVnaXN0ZXJQb3BvdmVyLEg9QSgoKT0+e3ZhciBvO3JldHVybihvPWI9PW51bGw/dm9pZCAwOmIuaXNGb2N1c1dpdGhpblBvcG92ZXJHcm91cCgpKSE9bnVsbD9vOih2PT1udWxsP3ZvaWQgMDp2LmFjdGl2ZUVsZW1lbnQpJiYoKGk9PW51bGw/dm9pZCAwOmkuY29udGFpbnModi5hY3RpdmVFbGVtZW50KSl8fChkPT1udWxsP3ZvaWQgMDpkLmNvbnRhaW5zKHYuYWN0aXZlRWxlbWVudCkpKX0pO3JlKCgpPT5EPT1udWxsP3ZvaWQgMDpEKGopLFtELGpdKTtsZXRbTyxWXT1udCgpLFU9d2UoaSksTj1LZSh7bWFpblRyZWVOb2RlOlUscG9ydGFsczpPLGRlZmF1bHRDb250YWluZXJzOltpLGRdfSk7a2Uodj09bnVsbD92b2lkIDA6di5kZWZhdWx0VmlldyxcImZvY3VzXCIsbz0+e3ZhciBlLHAsZyxTLEIsTTtvLnRhcmdldCE9PXdpbmRvdyYmby50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYz09PTAmJihIKCl8fGkmJmQmJihOLmNvbnRhaW5zKG8udGFyZ2V0KXx8KHA9KGU9bS5jdXJyZW50KT09bnVsbD92b2lkIDA6ZS5jb250YWlucykhPW51bGwmJnAuY2FsbChlLG8udGFyZ2V0KXx8KFM9KGc9RS5jdXJyZW50KT09bnVsbD92b2lkIDA6Zy5jb250YWlucykhPW51bGwmJlMuY2FsbChnLG8udGFyZ2V0KXx8KE09KEI9dS5jdXJyZW50KT09bnVsbD92b2lkIDA6Qi5jb250YWlucykhPW51bGwmJk0uY2FsbChCLG8udGFyZ2V0KXx8YSh7dHlwZToxfSkpKX0sITApLFVlKGM9PT0wLE4ucmVzb2x2ZUNvbnRhaW5lcnMsKG8sZSk9PnthKHt0eXBlOjF9KSxldChlLFplLkxvb3NlKXx8KG8ucHJldmVudERlZmF1bHQoKSxpPT1udWxsfHxpLmZvY3VzKCkpfSk7bGV0IHg9QShvPT57YSh7dHlwZToxfSk7bGV0IGU9KCgpPT5vP28gaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9vOlwiY3VycmVudFwiaW4gbyYmby5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/by5jdXJyZW50Omk6aSkoKTtlPT1udWxsfHxlLmZvY3VzKCl9KSwkPUkoKCk9Pih7Y2xvc2U6eCxpc1BvcnRhbGxlZDpMfSksW3gsTF0pLEo9SSgoKT0+KHtvcGVuOmM9PT0wLGNsb3NlOnh9KSxbYyx4XSksWj17cmVmOkN9O3JldHVybiB5LmNyZWF0ZUVsZW1lbnQoQWUse25vZGU6VX0seS5jcmVhdGVFbGVtZW50KCRlLG51bGwseS5jcmVhdGVFbGVtZW50KHNlLlByb3ZpZGVyLHt2YWx1ZTpudWxsfSx5LmNyZWF0ZUVsZW1lbnQobWUuUHJvdmlkZXIse3ZhbHVlOm59LHkuY3JlYXRlRWxlbWVudChwZS5Qcm92aWRlcix7dmFsdWU6JH0seS5jcmVhdGVFbGVtZW50KFZlLHt2YWx1ZTp4fSx5LmNyZWF0ZUVsZW1lbnQoWWUse3ZhbHVlOksoYyx7WzBdOnouT3BlbixbMV06ei5DbG9zZWR9KX0seS5jcmVhdGVFbGVtZW50KFYsbnVsbCxlZSh7b3VyUHJvcHM6Wix0aGVpclByb3BzOlIsc2xvdDpKLGRlZmF1bHRUYWc6aXQsbmFtZTpcIlBvcG92ZXJcIn0pKSkpKSkpKSl9bGV0IFB0PVwiYnV0dG9uXCI7ZnVuY3Rpb24gZnQodCxsKXtsZXQgUD1uZSgpLHtpZDpSPWBoZWFkbGVzc3VpLXBvcG92ZXItYnV0dG9uLSR7UH1gLGRpc2FibGVkOlQ9ITEsYXV0b0ZvY3VzOkM9ITEsLi4uc309dCxbbixjXT1hZShcIlBvcG92ZXIuQnV0dG9uXCIpLHtpc1BvcnRhbGxlZDppfT15ZShcIlBvcG92ZXIuQnV0dG9uXCIpLHI9WChudWxsKSxkPWBoZWFkbGVzc3VpLWZvY3VzLXNlbnRpbmVsLSR7bmUoKX1gLF89eGUoKSxtPV89PW51bGw/dm9pZCAwOl8uY2xvc2VPdGhlcnMsdT1zdCgpIT09bnVsbDtyZSgoKT0+e2lmKCF1KXJldHVybiBjKHt0eXBlOjMsYnV0dG9uSWQ6Un0pLCgpPT57Yyh7dHlwZTozLGJ1dHRvbklkOm51bGx9KX19LFt1LFIsY10pO2xldFthXT1nZSgoKT0+U3ltYm9sKCkpLHY9cShyLGwscWUoKSx1P251bGw6ZT0+e2lmKGUpbi5idXR0b25zLmN1cnJlbnQucHVzaChhKTtlbHNle2xldCBwPW4uYnV0dG9ucy5jdXJyZW50LmluZGV4T2YoYSk7cCE9PS0xJiZuLmJ1dHRvbnMuY3VycmVudC5zcGxpY2UocCwxKX1uLmJ1dHRvbnMuY3VycmVudC5sZW5ndGg+MSYmY29uc29sZS53YXJuKFwiWW91IGFyZSBhbHJlYWR5IHVzaW5nIGEgPFBvcG92ZXIuQnV0dG9uIC8+IGJ1dCBvbmx5IDEgPFBvcG92ZXIuQnV0dG9uIC8+IGlzIHN1cHBvcnRlZC5cIiksZSYmYyh7dHlwZToyLGJ1dHRvbjplfSl9KSxMPXEocixsKSxGPWRlKHIpLEc9QShlPT57dmFyIHAsZyxTO2lmKHUpe2lmKG4ucG9wb3ZlclN0YXRlPT09MSlyZXR1cm47c3dpdGNoKGUua2V5KXtjYXNlIFcuU3BhY2U6Y2FzZSBXLkVudGVyOmUucHJldmVudERlZmF1bHQoKSwoZz0ocD1lLnRhcmdldCkuY2xpY2spPT1udWxsfHxnLmNhbGwocCksYyh7dHlwZToxfSksKFM9bi5idXR0b24pPT1udWxsfHxTLmZvY3VzKCk7YnJlYWt9fWVsc2Ugc3dpdGNoKGUua2V5KXtjYXNlIFcuU3BhY2U6Y2FzZSBXLkVudGVyOmUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLG4ucG9wb3ZlclN0YXRlPT09MSYmKG09PW51bGx8fG0obi5idXR0b25JZCkpLGMoe3R5cGU6MH0pO2JyZWFrO2Nhc2UgVy5Fc2NhcGU6aWYobi5wb3BvdmVyU3RhdGUhPT0wKXJldHVybiBtPT1udWxsP3ZvaWQgMDptKG4uYnV0dG9uSWQpO2lmKCFyLmN1cnJlbnR8fEYhPW51bGwmJkYuYWN0aXZlRWxlbWVudCYmIXIuY3VycmVudC5jb250YWlucyhGLmFjdGl2ZUVsZW1lbnQpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxjKHt0eXBlOjF9KTticmVha319KSxqPUEoZT0+e3V8fGUua2V5PT09Vy5TcGFjZSYmZS5wcmV2ZW50RGVmYXVsdCgpfSksYj1BKGU9Pnt2YXIgcCxnO0ZlKGUuY3VycmVudFRhcmdldCl8fFR8fCh1PyhjKHt0eXBlOjF9KSwocD1uLmJ1dHRvbik9PW51bGx8fHAuZm9jdXMoKSk6KGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLG4ucG9wb3ZlclN0YXRlPT09MSYmKG09PW51bGx8fG0obi5idXR0b25JZCkpLGMoe3R5cGU6MH0pLChnPW4uYnV0dG9uKT09bnVsbHx8Zy5mb2N1cygpKSl9KSxEPUEoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkse2lzRm9jdXNWaXNpYmxlOkgsZm9jdXNQcm9wczpPfT1PZSh7YXV0b0ZvY3VzOkN9KSx7aXNIb3ZlcmVkOlYsaG92ZXJQcm9wczpVfT1MZSh7aXNEaXNhYmxlZDpUfSkse3ByZXNzZWQ6TixwcmVzc1Byb3BzOlF9PURlKHtkaXNhYmxlZDpUfSkseD1uLnBvcG92ZXJTdGF0ZT09PTAsJD1JKCgpPT4oe29wZW46eCxhY3RpdmU6Tnx8eCxkaXNhYmxlZDpULGhvdmVyOlYsZm9jdXM6SCxhdXRvZm9jdXM6Q30pLFt4LFYsSCxOLFQsQ10pLEo9TmUodCxyKSxaPXU/VGUoe3JlZjpMLHR5cGU6SixvbktleURvd246RyxvbkNsaWNrOmIsZGlzYWJsZWQ6VHx8dm9pZCAwLGF1dG9Gb2N1czpDfSxPLFUsUSk6VGUoe3JlZjp2LGlkOm4uYnV0dG9uSWQsdHlwZTpKLFwiYXJpYS1leHBhbmRlZFwiOm4ucG9wb3ZlclN0YXRlPT09MCxcImFyaWEtY29udHJvbHNcIjpuLnBhbmVsP24ucGFuZWxJZDp2b2lkIDAsZGlzYWJsZWQ6VHx8dm9pZCAwLGF1dG9Gb2N1czpDLG9uS2V5RG93bjpHLG9uS2V5VXA6aixvbkNsaWNrOmIsb25Nb3VzZURvd246RH0sTyxVLFEpLGY9Q2UoKSxvPUEoKCk9PntsZXQgZT1uLnBhbmVsO2lmKCFlKXJldHVybjtmdW5jdGlvbiBwKCl7SyhmLmN1cnJlbnQse1toLkZvcndhcmRzXTooKT0+dyhlLGsuRmlyc3QpLFtoLkJhY2t3YXJkc106KCk9PncoZSxrLkxhc3QpfSk9PT1jZS5FcnJvciYmdyh2ZSgpLmZpbHRlcihTPT5TLmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzR3VhcmQhPT1cInRydWVcIiksSyhmLmN1cnJlbnQse1toLkZvcndhcmRzXTprLk5leHQsW2guQmFja3dhcmRzXTprLlByZXZpb3VzfSkse3JlbGF0aXZlVG86bi5idXR0b259KX1wKCl9KTtyZXR1cm4geS5jcmVhdGVFbGVtZW50KHkuRnJhZ21lbnQsbnVsbCxlZSh7b3VyUHJvcHM6Wix0aGVpclByb3BzOnMsc2xvdDokLGRlZmF1bHRUYWc6UHQsbmFtZTpcIlBvcG92ZXIuQnV0dG9uXCJ9KSx4JiYhdSYmaSYmeS5jcmVhdGVFbGVtZW50KFBlLHtpZDpkLHJlZjpuLmFmdGVyQnV0dG9uU2VudGluZWwsZmVhdHVyZXM6ZmUuRm9jdXNhYmxlLFwiZGF0YS1oZWFkbGVzc3VpLWZvY3VzLWd1YXJkXCI6ITAsYXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsb25Gb2N1czpvfSkpfWxldCBjdD1cImRpdlwiLHZ0PWxlLlJlbmRlclN0cmF0ZWd5fGxlLlN0YXRpYztmdW5jdGlvbiBNZSh0LGwpe2xldCBQPW5lKCkse2lkOlI9YGhlYWRsZXNzdWktcG9wb3Zlci1iYWNrZHJvcC0ke1B9YCx0cmFuc2l0aW9uOlQ9ITEsLi4uQ309dCxbe3BvcG92ZXJTdGF0ZTpzfSxuXT1hZShcIlBvcG92ZXIuQmFja2Ryb3BcIiksYz1YKG51bGwpLGk9cShsLGMpLHI9X2UoKSxbZCxfXT1SZShULGMsciE9PW51bGw/KHImei5PcGVuKT09PXouT3BlbjpzPT09MCksbT1BKGE9PntpZihGZShhLmN1cnJlbnRUYXJnZXQpKXJldHVybiBhLnByZXZlbnREZWZhdWx0KCk7bih7dHlwZToxfSl9KSxFPUkoKCk9Pih7b3BlbjpzPT09MH0pLFtzXSksdT17cmVmOmksaWQ6UixcImFyaWEtaGlkZGVuXCI6ITAsb25DbGljazptLC4uLkJlKF8pfTtyZXR1cm4gZWUoe291clByb3BzOnUsdGhlaXJQcm9wczpDLHNsb3Q6RSxkZWZhdWx0VGFnOmN0LGZlYXR1cmVzOnZ0LHZpc2libGU6ZCxuYW1lOlwiUG9wb3Zlci5CYWNrZHJvcFwifSl9bGV0IFR0PVwiZGl2XCIsbXQ9bGUuUmVuZGVyU3RyYXRlZ3l8bGUuU3RhdGljO2Z1bmN0aW9uIHl0KHQsbCl7bGV0IFA9bmUoKSx7aWQ6Uj1gaGVhZGxlc3N1aS1wb3BvdmVyLXBhbmVsLSR7UH1gLGZvY3VzOlQ9ITEsYW5jaG9yOkMscG9ydGFsOnM9ITEsbW9kYWw6bj0hMSx0cmFuc2l0aW9uOmM9ITEsLi4uaX09dCxbcixkXT1hZShcIlBvcG92ZXIuUGFuZWxcIikse2Nsb3NlOl8saXNQb3J0YWxsZWQ6bX09eWUoXCJQb3BvdmVyLlBhbmVsXCIpLEU9YGhlYWRsZXNzdWktZm9jdXMtc2VudGluZWwtYmVmb3JlLSR7UH1gLHU9YGhlYWRsZXNzdWktZm9jdXMtc2VudGluZWwtYWZ0ZXItJHtQfWAsYT1YKG51bGwpLHY9emUoQyksW0wsRl09SmUodiksRz1YZSgpO3YmJihzPSEwKTtsZXQgaj1xKGEsbCx2P0w6bnVsbCxmPT57ZCh7dHlwZTo0LHBhbmVsOmZ9KX0pLGI9ZGUoYSksRD1vdCgpO0dlKCgpPT4oZCh7dHlwZTo1LHBhbmVsSWQ6Un0pLCgpPT57ZCh7dHlwZTo1LHBhbmVsSWQ6bnVsbH0pfSksW1IsZF0pO2xldCBIPV9lKCksW08sVl09UmUoYyxhLEghPT1udWxsPyhIJnouT3Blbik9PT16Lk9wZW46ci5wb3BvdmVyU3RhdGU9PT0wKTtIZShPLHIuYnV0dG9uLCgpPT57ZCh7dHlwZToxfSl9KTtsZXQgVT1yLl9fZGVtb01vZGU/ITE6biYmTztXZShVLGIpO2xldCBOPUEoZj0+e3ZhciBvO3N3aXRjaChmLmtleSl7Y2FzZSBXLkVzY2FwZTppZihyLnBvcG92ZXJTdGF0ZSE9PTB8fCFhLmN1cnJlbnR8fGIhPW51bGwmJmIuYWN0aXZlRWxlbWVudCYmIWEuY3VycmVudC5jb250YWlucyhiLmFjdGl2ZUVsZW1lbnQpKXJldHVybjtmLnByZXZlbnREZWZhdWx0KCksZi5zdG9wUHJvcGFnYXRpb24oKSxkKHt0eXBlOjF9KSwobz1yLmJ1dHRvbik9PW51bGx8fG8uZm9jdXMoKTticmVha319KTtyZSgoKT0+e3ZhciBmO3Quc3RhdGljfHxyLnBvcG92ZXJTdGF0ZT09PTEmJigoZj10LnVubW91bnQpPT1udWxsfHxmKSYmZCh7dHlwZTo0LHBhbmVsOm51bGx9KX0sW3IucG9wb3ZlclN0YXRlLHQudW5tb3VudCx0LnN0YXRpYyxkXSkscmUoKCk9PntpZihyLl9fZGVtb01vZGV8fCFUfHxyLnBvcG92ZXJTdGF0ZSE9PTB8fCFhLmN1cnJlbnQpcmV0dXJuO2xldCBmPWI9PW51bGw/dm9pZCAwOmIuYWN0aXZlRWxlbWVudDthLmN1cnJlbnQuY29udGFpbnMoZil8fHcoYS5jdXJyZW50LGsuRmlyc3QpfSxbci5fX2RlbW9Nb2RlLFQsYS5jdXJyZW50LHIucG9wb3ZlclN0YXRlXSk7bGV0IFE9SSgoKT0+KHtvcGVuOnIucG9wb3ZlclN0YXRlPT09MCxjbG9zZTpffSksW3IucG9wb3ZlclN0YXRlLF9dKSx4PVRlKHY/RygpOnt9LHtyZWY6aixpZDpSLG9uS2V5RG93bjpOLG9uQmx1cjpUJiZyLnBvcG92ZXJTdGF0ZT09PTA/Zj0+e3ZhciBlLHAsZyxTLEI7bGV0IG89Zi5yZWxhdGVkVGFyZ2V0O28mJmEuY3VycmVudCYmKChlPWEuY3VycmVudCkhPW51bGwmJmUuY29udGFpbnMobyl8fChkKHt0eXBlOjF9KSwoKGc9KHA9ci5iZWZvcmVQYW5lbFNlbnRpbmVsLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpwLmNvbnRhaW5zKSE9bnVsbCYmZy5jYWxsKHAsbyl8fChCPShTPXIuYWZ0ZXJQYW5lbFNlbnRpbmVsLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpTLmNvbnRhaW5zKSE9bnVsbCYmQi5jYWxsKFMsbykpJiZvLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSkpKX06dm9pZCAwLHRhYkluZGV4Oi0xLHN0eWxlOnsuLi5pLnN0eWxlLC4uLkYsXCItLWJ1dHRvbi13aWR0aFwiOmhlKHIuYnV0dG9uLCEwKS53aWR0aH0sLi4uQmUoVil9KSwkPUNlKCksSj1BKCgpPT57bGV0IGY9YS5jdXJyZW50O2lmKCFmKXJldHVybjtmdW5jdGlvbiBvKCl7SygkLmN1cnJlbnQse1toLkZvcndhcmRzXTooKT0+e3ZhciBwO3coZixrLkZpcnN0KT09PWNlLkVycm9yJiYoKHA9ci5hZnRlclBhbmVsU2VudGluZWwuY3VycmVudCk9PW51bGx8fHAuZm9jdXMoKSl9LFtoLkJhY2t3YXJkc106KCk9Pnt2YXIgZTsoZT1yLmJ1dHRvbik9PW51bGx8fGUuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX19KX1vKCl9KSxaPUEoKCk9PntsZXQgZj1hLmN1cnJlbnQ7aWYoIWYpcmV0dXJuO2Z1bmN0aW9uIG8oKXtLKCQuY3VycmVudCx7W2guRm9yd2FyZHNdOigpPT57dmFyIE07aWYoIXIuYnV0dG9uKXJldHVybjtsZXQgZT12ZSgpLHA9ZS5pbmRleE9mKHIuYnV0dG9uKSxnPWUuc2xpY2UoMCxwKzEpLEI9Wy4uLmUuc2xpY2UocCsxKSwuLi5nXTtmb3IobGV0IHVlIG9mIEIuc2xpY2UoKSlpZih1ZS5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c0d1YXJkPT09XCJ0cnVlXCJ8fChNPXIucGFuZWwpIT1udWxsJiZNLmNvbnRhaW5zKHVlKSl7bGV0IGJlPUIuaW5kZXhPZih1ZSk7YmUhPT0tMSYmQi5zcGxpY2UoYmUsMSl9dyhCLGsuRmlyc3Qse3NvcnRlZDohMX0pfSxbaC5CYWNrd2FyZHNdOigpPT57dmFyIHA7dyhmLGsuUHJldmlvdXMpPT09Y2UuRXJyb3ImJigocD1yLmJ1dHRvbik9PW51bGx8fHAuZm9jdXMoKSl9fSl9bygpfSk7cmV0dXJuIHkuY3JlYXRlRWxlbWVudChRZSxudWxsLHkuY3JlYXRlRWxlbWVudChzZS5Qcm92aWRlcix7dmFsdWU6Un0seS5jcmVhdGVFbGVtZW50KHBlLlByb3ZpZGVyLHt2YWx1ZTp7Y2xvc2U6Xyxpc1BvcnRhbGxlZDptfX0seS5jcmVhdGVFbGVtZW50KHJ0LHtlbmFibGVkOnM/dC5zdGF0aWN8fE86ITF9LE8mJm0mJnkuY3JlYXRlRWxlbWVudChQZSx7aWQ6RSxyZWY6ci5iZWZvcmVQYW5lbFNlbnRpbmVsLGZlYXR1cmVzOmZlLkZvY3VzYWJsZSxcImRhdGEtaGVhZGxlc3N1aS1mb2N1cy1ndWFyZFwiOiEwLGFzOlwiYnV0dG9uXCIsdHlwZTpcImJ1dHRvblwiLG9uRm9jdXM6Sn0pLGVlKHttZXJnZVJlZnM6RCxvdXJQcm9wczp4LHRoZWlyUHJvcHM6aSxzbG90OlEsZGVmYXVsdFRhZzpUdCxmZWF0dXJlczptdCx2aXNpYmxlOk8sbmFtZTpcIlBvcG92ZXIuUGFuZWxcIn0pLE8mJm0mJnkuY3JlYXRlRWxlbWVudChQZSx7aWQ6dSxyZWY6ci5hZnRlclBhbmVsU2VudGluZWwsZmVhdHVyZXM6ZmUuRm9jdXNhYmxlLFwiZGF0YS1oZWFkbGVzc3VpLWZvY3VzLWd1YXJkXCI6ITAsYXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsb25Gb2N1czpafSkpKSkpfWxldCBFdD1cImRpdlwiO2Z1bmN0aW9uIGJ0KHQsbCl7bGV0IFA9WChudWxsKSxSPXEoUCxsKSxbVCxDXT1nZShbXSkscz1BKEU9PntDKHU9PntsZXQgYT11LmluZGV4T2YoRSk7aWYoYSE9PS0xKXtsZXQgdj11LnNsaWNlKCk7cmV0dXJuIHYuc3BsaWNlKGEsMSksdn1yZXR1cm4gdX0pfSksbj1BKEU9PihDKHU9PlsuLi51LEVdKSwoKT0+cyhFKSkpLGM9QSgoKT0+e3ZhciBhO2xldCBFPXR0KFApO2lmKCFFKXJldHVybiExO2xldCB1PUUuYWN0aXZlRWxlbWVudDtyZXR1cm4oYT1QLmN1cnJlbnQpIT1udWxsJiZhLmNvbnRhaW5zKHUpPyEwOlQuc29tZSh2PT57dmFyIEwsRjtyZXR1cm4oKEw9RS5nZXRFbGVtZW50QnlJZCh2LmJ1dHRvbklkLmN1cnJlbnQpKT09bnVsbD92b2lkIDA6TC5jb250YWlucyh1KSl8fCgoRj1FLmdldEVsZW1lbnRCeUlkKHYucGFuZWxJZC5jdXJyZW50KSk9PW51bGw/dm9pZCAwOkYuY29udGFpbnModSkpfSl9KSxpPUEoRT0+e2ZvcihsZXQgdSBvZiBUKXUuYnV0dG9uSWQuY3VycmVudCE9PUUmJnUuY2xvc2UoKX0pLHI9SSgoKT0+KHtyZWdpc3RlclBvcG92ZXI6bix1bnJlZ2lzdGVyUG9wb3ZlcjpzLGlzRm9jdXNXaXRoaW5Qb3BvdmVyR3JvdXA6YyxjbG9zZU90aGVyczppfSksW24scyxjLGldKSxkPUkoKCk9Pih7fSksW10pLF89dCxtPXtyZWY6Un07cmV0dXJuIHkuY3JlYXRlRWxlbWVudChBZSxudWxsLHkuY3JlYXRlRWxlbWVudChFZS5Qcm92aWRlcix7dmFsdWU6cn0sZWUoe291clByb3BzOm0sdGhlaXJQcm9wczpfLHNsb3Q6ZCxkZWZhdWx0VGFnOkV0LG5hbWU6XCJQb3BvdmVyLkdyb3VwXCJ9KSkpfWxldCBndD1ZKGR0KSxTdD1ZKGZ0KSxBdD1ZKE1lKSxDdD1ZKE1lKSxCdD1ZKHl0KSxSdD1ZKGJ0KSxsbz1PYmplY3QuYXNzaWduKGd0LHtCdXR0b246U3QsQmFja2Ryb3A6Q3QsT3ZlcmxheTpBdCxQYW5lbDpCdCxHcm91cDpSdH0pO2V4cG9ydHtsbyBhcyBQb3BvdmVyLEN0IGFzIFBvcG92ZXJCYWNrZHJvcCxTdCBhcyBQb3BvdmVyQnV0dG9uLFJ0IGFzIFBvcG92ZXJHcm91cCxBdCBhcyBQb3BvdmVyT3ZlcmxheSxCdCBhcyBQb3BvdmVyUGFuZWx9O1xuIl0sIm5hbWVzIjpbInVzZUZvY3VzUmluZyIsIk9lIiwidXNlSG92ZXIiLCJMZSIsInkiLCJjcmVhdGVDb250ZXh0IiwidGUiLCJjcmVhdGVSZWYiLCJpZSIsInVzZUNvbnRleHQiLCJvZSIsInVzZUVmZmVjdCIsInJlIiwidXNlTWVtbyIsIkkiLCJ1c2VSZWR1Y2VyIiwiSWUiLCJ1c2VSZWYiLCJYIiwidXNlU3RhdGUiLCJnZSIsInVzZUFjdGl2ZVByZXNzIiwiRGUiLCJ1c2VFbGVtZW50U2l6ZSIsImhlIiwidXNlRXZlbnQiLCJBIiwidXNlRXZlbnRMaXN0ZW5lciIsImtlIiwidXNlSWQiLCJuZSIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJHZSIsInVzZUxhdGVzdFZhbHVlIiwiU2UiLCJ1c2VPbkRpc2FwcGVhciIsIkhlIiwidXNlT3V0c2lkZUNsaWNrIiwiVWUiLCJ1c2VPd25lckRvY3VtZW50IiwiZGUiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsIk5lIiwiTWFpblRyZWVQcm92aWRlciIsIkFlIiwidXNlTWFpblRyZWVOb2RlIiwid2UiLCJ1c2VSb290Q29udGFpbmVycyIsIktlIiwidXNlU2Nyb2xsTG9jayIsIldlIiwib3B0aW9uYWxSZWYiLCJqZSIsInVzZVN5bmNSZWZzIiwicSIsIkRpcmVjdGlvbiIsImgiLCJ1c2VUYWJEaXJlY3Rpb24iLCJDZSIsInRyYW5zaXRpb25EYXRhQXR0cmlidXRlcyIsIkJlIiwidXNlVHJhbnNpdGlvbiIsIlJlIiwiQ2xvc2VQcm92aWRlciIsIlZlIiwiRmxvYXRpbmdQcm92aWRlciIsIiRlIiwidXNlRmxvYXRpbmdQYW5lbCIsIkplIiwidXNlRmxvYXRpbmdQYW5lbFByb3BzIiwiWGUiLCJ1c2VGbG9hdGluZ1JlZmVyZW5jZSIsInFlIiwidXNlUmVzb2x2ZWRBbmNob3IiLCJ6ZSIsIkhpZGRlbiIsIlBlIiwiSGlkZGVuRmVhdHVyZXMiLCJmZSIsIk9wZW5DbG9zZWRQcm92aWRlciIsIlllIiwiUmVzZXRPcGVuQ2xvc2VkUHJvdmlkZXIiLCJRZSIsIlN0YXRlIiwieiIsInVzZU9wZW5DbG9zZWQiLCJfZSIsImlzRGlzYWJsZWRSZWFjdElzc3VlNzcxMSIsIkZlIiwiRm9jdXMiLCJrIiwiRm9jdXNSZXN1bHQiLCJjZSIsIkZvY3VzYWJsZU1vZGUiLCJaZSIsImZvY3VzSW4iLCJ3IiwiZ2V0Rm9jdXNhYmxlRWxlbWVudHMiLCJ2ZSIsImlzRm9jdXNhYmxlRWxlbWVudCIsImV0IiwibWF0Y2giLCJLIiwiZ2V0T3duZXJEb2N1bWVudCIsInR0IiwiUmVuZGVyRmVhdHVyZXMiLCJsZSIsImZvcndhcmRSZWZXaXRoQXMiLCJZIiwibWVyZ2VQcm9wcyIsIlRlIiwicmVuZGVyIiwiZWUiLCJ1c2VNZXJnZVJlZnNGbiIsIm90IiwiS2V5cyIsIlciLCJQb3J0YWwiLCJydCIsInVzZU5lc3RlZFBvcnRhbHMiLCJudCIsImx0IiwiUCIsIk9wZW4iLCJDbG9zZWQiLCJhdCIsInMiLCJUb2dnbGVQb3BvdmVyIiwiQ2xvc2VQb3BvdmVyIiwiU2V0QnV0dG9uIiwiU2V0QnV0dG9uSWQiLCJTZXRQYW5lbCIsIlNldFBhbmVsSWQiLCJwdCIsInQiLCJwb3BvdmVyU3RhdGUiLCJfX2RlbW9Nb2RlIiwibCIsImJ1dHRvbiIsImJ1dHRvbklkIiwicGFuZWwiLCJwYW5lbElkIiwibWUiLCJkaXNwbGF5TmFtZSIsImFlIiwiRXJyb3IiLCJjYXB0dXJlU3RhY2tUcmFjZSIsInBlIiwieWUiLCJFZSIsInhlIiwic2UiLCJzdCIsInV0IiwidHlwZSIsIml0IiwiZHQiLCJmIiwiUiIsIlQiLCJDIiwibyIsImN1cnJlbnQiLCJuIiwiYnV0dG9ucyIsImJlZm9yZVBhbmVsU2VudGluZWwiLCJhZnRlclBhbmVsU2VudGluZWwiLCJhZnRlckJ1dHRvblNlbnRpbmVsIiwiYyIsImkiLCJyIiwiZCIsIl8iLCJtIiwiRSIsInUiLCJhIiwidiIsIkwiLCJNIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiTnVtYmVyIiwiY29udGFpbnMiLCJlIiwiaW5kZXhPZiIsInAiLCJsZW5ndGgiLCJnIiwiUyIsIkIiLCJGIiwiRyIsImoiLCJjbG9zZSIsImIiLCJEIiwicmVnaXN0ZXJQb3BvdmVyIiwiSCIsImlzRm9jdXNXaXRoaW5Qb3BvdmVyR3JvdXAiLCJhY3RpdmVFbGVtZW50IiwiTyIsIlYiLCJVIiwiTiIsIm1haW5UcmVlTm9kZSIsInBvcnRhbHMiLCJkZWZhdWx0Q29udGFpbmVycyIsImRlZmF1bHRWaWV3IiwidGFyZ2V0Iiwid2luZG93IiwiSFRNTEVsZW1lbnQiLCJjYWxsIiwicmVzb2x2ZUNvbnRhaW5lcnMiLCJMb29zZSIsInByZXZlbnREZWZhdWx0IiwiZm9jdXMiLCJ4IiwiJCIsImlzUG9ydGFsbGVkIiwiSiIsIm9wZW4iLCJaIiwicmVmIiwiY3JlYXRlRWxlbWVudCIsIm5vZGUiLCJQcm92aWRlciIsInZhbHVlIiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiUHQiLCJmdCIsImlkIiwiZGlzYWJsZWQiLCJhdXRvRm9jdXMiLCJjbG9zZU90aGVycyIsIlN5bWJvbCIsInB1c2giLCJzcGxpY2UiLCJjb25zb2xlIiwid2FybiIsImtleSIsIlNwYWNlIiwiRW50ZXIiLCJjbGljayIsInN0b3BQcm9wYWdhdGlvbiIsIkVzY2FwZSIsImN1cnJlbnRUYXJnZXQiLCJpc0ZvY3VzVmlzaWJsZSIsImZvY3VzUHJvcHMiLCJpc0hvdmVyZWQiLCJob3ZlclByb3BzIiwiaXNEaXNhYmxlZCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwiUSIsImFjdGl2ZSIsImhvdmVyIiwiYXV0b2ZvY3VzIiwib25LZXlEb3duIiwib25DbGljayIsIm9uS2V5VXAiLCJvbk1vdXNlRG93biIsIkZvcndhcmRzIiwiRmlyc3QiLCJCYWNrd2FyZHMiLCJMYXN0IiwiZmlsdGVyIiwiZGF0YXNldCIsImhlYWRsZXNzdWlGb2N1c0d1YXJkIiwiTmV4dCIsIlByZXZpb3VzIiwicmVsYXRpdmVUbyIsIkZyYWdtZW50IiwiZmVhdHVyZXMiLCJGb2N1c2FibGUiLCJhcyIsIm9uRm9jdXMiLCJjdCIsInZ0IiwiUmVuZGVyU3RyYXRlZ3kiLCJTdGF0aWMiLCJNZSIsInRyYW5zaXRpb24iLCJ2aXNpYmxlIiwiVHQiLCJtdCIsInl0IiwiYW5jaG9yIiwicG9ydGFsIiwibW9kYWwiLCJzdGF0aWMiLCJ1bm1vdW50Iiwib25CbHVyIiwicmVsYXRlZFRhcmdldCIsInByZXZlbnRTY3JvbGwiLCJ0YWJJbmRleCIsInN0eWxlIiwid2lkdGgiLCJzbGljZSIsInVlIiwiYmUiLCJzb3J0ZWQiLCJlbmFibGVkIiwibWVyZ2VSZWZzIiwiRXQiLCJidCIsInNvbWUiLCJnZXRFbGVtZW50QnlJZCIsInVucmVnaXN0ZXJQb3BvdmVyIiwiZ3QiLCJTdCIsIkF0IiwiQ3QiLCJCdCIsIlJ0IiwibG8iLCJPYmplY3QiLCJhc3NpZ24iLCJCdXR0b24iLCJCYWNrZHJvcCIsIk92ZXJsYXkiLCJQYW5lbCIsIkdyb3VwIiwiUG9wb3ZlciIsIlBvcG92ZXJCYWNrZHJvcCIsIlBvcG92ZXJCdXR0b24iLCJQb3BvdmVyR3JvdXAiLCJQb3BvdmVyT3ZlcmxheSIsIlBvcG92ZXJQYW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/popover/popover.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/portal/portal.js":
/*!*************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/components/portal/portal.js ***!
\*************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Portal: function() { return /* binding */ te; },\n/* harmony export */ PortalGroup: function() { return /* binding */ J; },\n/* harmony export */ useNestedPortals: function() { return /* binding */ ee; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _hooks_use_on_unmount_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../hooks/use-on-unmount.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-on-unmount.js\");\n/* harmony import */ var _hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-owner.js\");\n/* harmony import */ var _hooks_use_server_handoff_complete_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../hooks/use-server-handoff-complete.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _internal_portal_force_root_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../internal/portal-force-root.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/portal-force-root.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* __next_internal_client_entry_do_not_use__ Portal,PortalGroup,useNestedPortals auto */ \n\n\n\n\n\n\n\n\n\n\nfunction D(p) {\n let r = (0,_internal_portal_force_root_js__WEBPACK_IMPORTED_MODULE_2__.usePortalRoot)(), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(v), e = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__.useOwnerDocument)(p), [o, n] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>{\n var t;\n if (!r && l !== null) return (t = l.current) != null ? t : null;\n if (_utils_env_js__WEBPACK_IMPORTED_MODULE_4__.env.isServer) return null;\n let u = e == null ? void 0 : e.getElementById(\"headlessui-portal-root\");\n if (u) return u;\n if (e === null) return null;\n let a = e.createElement(\"div\");\n return a.setAttribute(\"id\", \"headlessui-portal-root\"), e.body.appendChild(a);\n });\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n o !== null && (e != null && e.body.contains(o) || e == null || e.body.appendChild(o));\n }, [\n o,\n e\n ]), (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n r || l !== null && n(l.current);\n }, [\n l,\n n,\n r\n ]), o;\n}\n_c = D;\nlet M = react__WEBPACK_IMPORTED_MODULE_0__.Fragment, N = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_5__.forwardRefWithAs)(function(r, l) {\n let e = r, o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), n = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_6__.useSyncRefs)((0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_6__.optionalRef)((i)=>{\n o.current = i;\n }), l), u = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_3__.useOwnerDocument)(o), a = D(o), [t] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>{\n var i;\n return _utils_env_js__WEBPACK_IMPORTED_MODULE_4__.env.isServer ? null : (i = u == null ? void 0 : u.createElement(\"div\")) != null ? i : null;\n }), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y), b = (0,_hooks_use_server_handoff_complete_js__WEBPACK_IMPORTED_MODULE_7__.useServerHandoffComplete)();\n return (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_8__.useIsoMorphicEffect)(()=>{\n !a || !t || a.contains(t) || (t.setAttribute(\"data-headlessui-portal\", \"\"), a.appendChild(t));\n }, [\n a,\n t\n ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_8__.useIsoMorphicEffect)(()=>{\n if (t && s) return s.register(t);\n }, [\n s,\n t\n ]), (0,_hooks_use_on_unmount_js__WEBPACK_IMPORTED_MODULE_9__.useOnUnmount)(()=>{\n var i;\n !a || !t || (t instanceof Node && a.contains(t) && a.removeChild(t), a.childNodes.length <= 0 && ((i = a.parentElement) == null || i.removeChild(a)));\n }), b ? !a || !t ? null : /*#__PURE__*/ (0,react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal)((0,_utils_render_js__WEBPACK_IMPORTED_MODULE_5__.render)({\n ourProps: {\n ref: n\n },\n theirProps: e,\n slot: {},\n defaultTag: M,\n name: \"Portal\"\n }), t) : null;\n});\nfunction S(p, r) {\n let l = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_6__.useSyncRefs)(r), { enabled: e = !0, ...o } = p;\n return e ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(N, {\n ...o,\n ref: l\n }) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_5__.render)({\n ourProps: {\n ref: l\n },\n theirProps: o,\n slot: {},\n defaultTag: M,\n name: \"Portal\"\n });\n}\n_c1 = S;\nlet j = react__WEBPACK_IMPORTED_MODULE_0__.Fragment, v = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction W(p, r) {\n let { target: l, ...e } = p, n = {\n ref: (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_6__.useSyncRefs)(r)\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(v.Provider, {\n value: l\n }, (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_5__.render)({\n ourProps: n,\n theirProps: e,\n defaultTag: j,\n name: \"Popover.Group\"\n }));\n}\n_c2 = W;\nlet y = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction ee() {\n let p = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y), r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), l = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_10__.useEvent)((n)=>(r.current.push(n), p && p.register(n), ()=>e(n))), e = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_10__.useEvent)((n)=>{\n let u = r.current.indexOf(n);\n u !== -1 && r.current.splice(u, 1), p && p.unregister(n);\n }), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n register: l,\n unregister: e,\n portals: r\n }), [\n l,\n e,\n r\n ]);\n return [\n r,\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>function(param) {\n let { children: u } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(y.Provider, {\n value: o\n }, u);\n }, [\n o\n ])\n ];\n}\nlet I = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_5__.forwardRefWithAs)(S), J = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_5__.forwardRefWithAs)(W), te = Object.assign(I, {\n Group: J\n});\n\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"D\");\n$RefreshReg$(_c1, \"S\");\n$RefreshReg$(_c2, \"W\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9ydGFsL3BvcnRhbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozt5RkFBMEk7QUFBeUM7QUFBb0Q7QUFBNEU7QUFBNkQ7QUFBNEQ7QUFBc0Y7QUFBNEU7QUFBb0U7QUFBeUM7QUFBcUU7QUFBQSxTQUFTdUMsRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUVULDZFQUFDQSxJQUFHVSxJQUFFcEMsaURBQUNBLENBQUNxQyxJQUFHQyxJQUFFcEIscUVBQUNBLENBQUNnQixJQUFHLENBQUNLLEdBQUVDLEVBQUUsR0FBQ2hDLCtDQUFDQSxDQUFDO1FBQUssSUFBSWlDO1FBQUUsSUFBRyxDQUFDTixLQUFHQyxNQUFJLE1BQUssT0FBTSxDQUFDSyxJQUFFTCxFQUFFTSxPQUFPLEtBQUcsT0FBS0QsSUFBRTtRQUFLLElBQUdiLDhDQUFDQSxDQUFDZSxRQUFRLEVBQUMsT0FBTztRQUFLLElBQUlDLElBQUVOLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVPLGNBQWMsQ0FBQztRQUEwQixJQUFHRCxHQUFFLE9BQU9BO1FBQUUsSUFBR04sTUFBSSxNQUFLLE9BQU87UUFBSyxJQUFJUSxJQUFFUixFQUFFUyxhQUFhLENBQUM7UUFBTyxPQUFPRCxFQUFFRSxZQUFZLENBQUMsTUFBSywyQkFBMEJWLEVBQUVXLElBQUksQ0FBQ0MsV0FBVyxDQUFDSjtJQUFFO0lBQUcsT0FBTzVDLGdEQUFDQSxDQUFDO1FBQUtxQyxNQUFJLFFBQU9ELENBQUFBLEtBQUcsUUFBTUEsRUFBRVcsSUFBSSxDQUFDRSxRQUFRLENBQUNaLE1BQUlELEtBQUcsUUFBTUEsRUFBRVcsSUFBSSxDQUFDQyxXQUFXLENBQUNYLEVBQUM7SUFBRSxHQUFFO1FBQUNBO1FBQUVEO0tBQUUsR0FBRXBDLGdEQUFDQSxDQUFDO1FBQUtpQyxLQUFHQyxNQUFJLFFBQU1JLEVBQUVKLEVBQUVN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QXBKSTtBQUFxSixJQUFJakIsa0JBQUUxRCxvREFBQ0EsQ0FBQztBQUFNLFNBQVMrRTtJQUFLLElBQUkzQyxJQUFFbEMsaURBQUNBLENBQUN3RCxJQUFHckIsSUFBRTdCLDZDQUFDQSxDQUFDLEVBQUUsR0FBRThCLElBQUV4Qiw4REFBQ0EsQ0FBQzRCLENBQUFBLElBQUlMLENBQUFBLEVBQUVPLE9BQU8sQ0FBQ29DLElBQUksQ0FBQ3RDLElBQUdOLEtBQUdBLEVBQUV3QixRQUFRLENBQUNsQixJQUFHLElBQUlGLEVBQUVFLEVBQUMsSUFBSUYsSUFBRTFCLDhEQUFDQSxDQUFDNEIsQ0FBQUE7UUFBSSxJQUFJSSxJQUFFVCxFQUFFTyxPQUFPLENBQUNxQyxPQUFPLENBQUN2QztRQUFHSSxNQUFJLENBQUMsS0FBR1QsRUFBRU8sT0FBTyxDQUFDc0MsTUFBTSxDQUFDcEMsR0FBRSxJQUFHVixLQUFHQSxFQUFFK0MsVUFBVSxDQUFDekM7SUFBRSxJQUFHRCxJQUFFbkMsOENBQUNBLENBQUMsSUFBSztZQUFDc0QsVUFBU3RCO1lBQUU2QyxZQUFXM0M7WUFBRTRDLFNBQVEvQztRQUFDLElBQUc7UUFBQ0M7UUFBRUU7UUFBRUg7S0FBRTtJQUFFLE9BQU07UUFBQ0E7UUFBRS9CLDhDQUFDQSxDQUFDLElBQUksU0FBUyxLQUFZO29CQUFaLEVBQUMrRSxVQUFTdkMsQ0FBQyxFQUFDLEdBQVo7Z0JBQWMscUJBQU9sRCxnREFBZSxDQUFDOEQsRUFBRW1CLFFBQVEsRUFBQztvQkFBQ0MsT0FBTXJDO2dCQUFDLEdBQUVLO1lBQUUsR0FBRTtZQUFDTDtTQUFFO0tBQUU7QUFBQTtBQUFDLElBQUk2QyxJQUFFdEQsa0VBQUNBLENBQUN3QyxJQUFHZSxJQUFFdkQsa0VBQUNBLENBQUMyQyxJQUFHYSxLQUFHQyxPQUFPQyxNQUFNLENBQUNKLEdBQUU7SUFBQ0ssT0FBTUo7QUFBQztBQUFnRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3BvcnRhbC9wb3J0YWwuanM/YmVlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtpbXBvcnQgZix7RnJhZ21lbnQgYXMgZyxjcmVhdGVDb250ZXh0IGFzIEUsdXNlQ29udGV4dCBhcyBULHVzZUVmZmVjdCBhcyBSLHVzZU1lbW8gYXMgYyx1c2VSZWYgYXMgQSx1c2VTdGF0ZSBhcyBHfWZyb21cInJlYWN0XCI7aW1wb3J0e2NyZWF0ZVBvcnRhbCBhcyBIfWZyb21cInJlYWN0LWRvbVwiO2ltcG9ydHt1c2VFdmVudCBhcyBMfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyB4fWZyb20nLi4vLi4vaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7aW1wb3J0e3VzZU9uVW5tb3VudCBhcyBPfWZyb20nLi4vLi4vaG9va3MvdXNlLW9uLXVubW91bnQuanMnO2ltcG9ydHt1c2VPd25lckRvY3VtZW50IGFzIF99ZnJvbScuLi8uLi9ob29rcy91c2Utb3duZXIuanMnO2ltcG9ydHt1c2VTZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgYXMgaH1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zZXJ2ZXItaGFuZG9mZi1jb21wbGV0ZS5qcyc7aW1wb3J0e29wdGlvbmFsUmVmIGFzIEYsdXNlU3luY1JlZnMgYXMgUH1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHt1c2VQb3J0YWxSb290IGFzIFV9ZnJvbScuLi8uLi9pbnRlcm5hbC9wb3J0YWwtZm9yY2Utcm9vdC5qcyc7aW1wb3J0e2VudiBhcyBDfWZyb20nLi4vLi4vdXRpbHMvZW52LmpzJztpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyBtLHJlbmRlciBhcyBkfWZyb20nLi4vLi4vdXRpbHMvcmVuZGVyLmpzJztmdW5jdGlvbiBEKHApe2xldCByPVUoKSxsPVQodiksZT1fKHApLFtvLG5dPUcoKCk9Pnt2YXIgdDtpZighciYmbCE9PW51bGwpcmV0dXJuKHQ9bC5jdXJyZW50KSE9bnVsbD90Om51bGw7aWYoQy5pc1NlcnZlcilyZXR1cm4gbnVsbDtsZXQgdT1lPT1udWxsP3ZvaWQgMDplLmdldEVsZW1lbnRCeUlkKFwiaGVhZGxlc3N1aS1wb3J0YWwtcm9vdFwiKTtpZih1KXJldHVybiB1O2lmKGU9PT1udWxsKXJldHVybiBudWxsO2xldCBhPWUuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoXCJpZFwiLFwiaGVhZGxlc3N1aS1wb3J0YWwtcm9vdFwiKSxlLmJvZHkuYXBwZW5kQ2hpbGQoYSl9KTtyZXR1cm4gUigoKT0+e28hPT1udWxsJiYoZSE9bnVsbCYmZS5ib2R5LmNvbnRhaW5zKG8pfHxlPT1udWxsfHxlLmJvZHkuYXBwZW5kQ2hpbGQobykpfSxbbyxlXSksUigoKT0+e3J8fGwhPT1udWxsJiZuKGwuY3VycmVudCl9LFtsLG4scl0pLG99bGV0IE09ZyxOPW0oZnVuY3Rpb24ocixsKXtsZXQgZT1yLG89QShudWxsKSxuPVAoRihpPT57by5jdXJyZW50PWl9KSxsKSx1PV8obyksYT1EKG8pLFt0XT1HKCgpPT57dmFyIGk7cmV0dXJuIEMuaXNTZXJ2ZXI/bnVsbDooaT11PT1udWxsP3ZvaWQgMDp1LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpIT1udWxsP2k6bnVsbH0pLHM9VCh5KSxiPWgoKTtyZXR1cm4geCgoKT0+eyFhfHwhdHx8YS5jb250YWlucyh0KXx8KHQuc2V0QXR0cmlidXRlKFwiZGF0YS1oZWFkbGVzc3VpLXBvcnRhbFwiLFwiXCIpLGEuYXBwZW5kQ2hpbGQodCkpfSxbYSx0XSkseCgoKT0+e2lmKHQmJnMpcmV0dXJuIHMucmVnaXN0ZXIodCl9LFtzLHRdKSxPKCgpPT57dmFyIGk7IWF8fCF0fHwodCBpbnN0YW5jZW9mIE5vZGUmJmEuY29udGFpbnModCkmJmEucmVtb3ZlQ2hpbGQodCksYS5jaGlsZE5vZGVzLmxlbmd0aDw9MCYmKChpPWEucGFyZW50RWxlbWVudCk9PW51bGx8fGkucmVtb3ZlQ2hpbGQoYSkpKX0pLGI/IWF8fCF0P251bGw6SChkKHtvdXJQcm9wczp7cmVmOm59LHRoZWlyUHJvcHM6ZSxzbG90Ont9LGRlZmF1bHRUYWc6TSxuYW1lOlwiUG9ydGFsXCJ9KSx0KTpudWxsfSk7ZnVuY3Rpb24gUyhwLHIpe2xldCBsPVAocikse2VuYWJsZWQ6ZT0hMCwuLi5vfT1wO3JldHVybiBlP2YuY3JlYXRlRWxlbWVudChOLHsuLi5vLHJlZjpsfSk6ZCh7b3VyUHJvcHM6e3JlZjpsfSx0aGVpclByb3BzOm8sc2xvdDp7fSxkZWZhdWx0VGFnOk0sbmFtZTpcIlBvcnRhbFwifSl9bGV0IGo9Zyx2PUUobnVsbCk7ZnVuY3Rpb24gVyhwLHIpe2xldHt0YXJnZXQ6bCwuLi5lfT1wLG49e3JlZjpQKHIpfTtyZXR1cm4gZi5jcmVhdGVFbGVtZW50KHYuUHJvdmlkZXIse3ZhbHVlOmx9LGQoe291clByb3BzOm4sdGhlaXJQcm9wczplLGRlZmF1bHRUYWc6aixuYW1lOlwiUG9wb3Zlci5Hcm91cFwifSkpfWxldCB5PUUobnVsbCk7ZnVuY3Rpb24gZWUoKXtsZXQgcD1UKHkpLHI9QShbXSksbD1MKG49PihyLmN1cnJlbnQucHVzaChuKSxwJiZwLnJlZ2lzdGVyKG4pLCgpPT5lKG4pKSksZT1MKG49PntsZXQgdT1yLmN1cnJlbnQuaW5kZXhPZihuKTt1IT09LTEmJnIuY3VycmVudC5zcGxpY2UodSwxKSxwJiZwLnVucmVnaXN0ZXIobil9KSxvPWMoKCk9Pih7cmVnaXN0ZXI6bCx1bnJlZ2lzdGVyOmUscG9ydGFsczpyfSksW2wsZSxyXSk7cmV0dXJuW3IsYygoKT0+ZnVuY3Rpb24oe2NoaWxkcmVuOnV9KXtyZXR1cm4gZi5jcmVhdGVFbGVtZW50KHkuUHJvdmlkZXIse3ZhbHVlOm99LHUpfSxbb10pXX1sZXQgST1tKFMpLEo9bShXKSx0ZT1PYmplY3QuYXNzaWduKEkse0dyb3VwOkp9KTtleHBvcnR7dGUgYXMgUG9ydGFsLEogYXMgUG9ydGFsR3JvdXAsZWUgYXMgdXNlTmVzdGVkUG9ydGFsc307XG4iXSwibmFtZXMiOlsiZiIsIkZyYWdtZW50IiwiZyIsImNyZWF0ZUNvbnRleHQiLCJFIiwidXNlQ29udGV4dCIsIlQiLCJ1c2VFZmZlY3QiLCJSIiwidXNlTWVtbyIsImMiLCJ1c2VSZWYiLCJBIiwidXNlU3RhdGUiLCJHIiwiY3JlYXRlUG9ydGFsIiwiSCIsInVzZUV2ZW50IiwiTCIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ4IiwidXNlT25Vbm1vdW50IiwiTyIsInVzZU93bmVyRG9jdW1lbnQiLCJfIiwidXNlU2VydmVySGFuZG9mZkNvbXBsZXRlIiwiaCIsIm9wdGlvbmFsUmVmIiwiRiIsInVzZVN5bmNSZWZzIiwiUCIsInVzZVBvcnRhbFJvb3QiLCJVIiwiZW52IiwiQyIsImZvcndhcmRSZWZXaXRoQXMiLCJtIiwicmVuZGVyIiwiZCIsIkQiLCJwIiwiciIsImwiLCJ2IiwiZSIsIm8iLCJuIiwidCIsImN1cnJlbnQiLCJpc1NlcnZlciIsInUiLCJnZXRFbGVtZW50QnlJZCIsImEiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiY29udGFpbnMiLCJNIiwiTiIsImkiLCJzIiwieSIsImIiLCJyZWdpc3RlciIsIk5vZGUiLCJyZW1vdmVDaGlsZCIsImNoaWxkTm9kZXMiLCJsZW5ndGgiLCJwYXJlbnRFbGVtZW50Iiwib3VyUHJvcHMiLCJyZWYiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiUyIsImVuYWJsZWQiLCJqIiwiVyIsInRhcmdldCIsIlByb3ZpZGVyIiwidmFsdWUiLCJlZSIsInB1c2giLCJpbmRleE9mIiwic3BsaWNlIiwidW5yZWdpc3RlciIsInBvcnRhbHMiLCJjaGlsZHJlbiIsIkkiLCJKIiwidGUiLCJPYmplY3QiLCJhc3NpZ24iLCJHcm91cCIsIlBvcnRhbCIsIlBvcnRhbEdyb3VwIiwidXNlTmVzdGVkUG9ydGFscyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/portal/portal.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js":
/*!*********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/components/tabs/tabs.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tab: function() { return /* binding */ st; },\n/* harmony export */ TabGroup: function() { return /* binding */ Oe; },\n/* harmony export */ TabList: function() { return /* binding */ Ne; },\n/* harmony export */ TabPanel: function() { return /* binding */ Be; },\n/* harmony export */ TabPanels: function() { return /* binding */ ke; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-id.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internal/focus-sentinel.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../internal/hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/stable-collection.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Tab,TabGroup,TabList,TabPanel,TabPanels auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Ae = ((t)=>(t[t.Forwards = 0] = \"Forwards\", t[t.Backwards = 1] = \"Backwards\", t))(Ae || {}), Ee = ((o)=>(o[o.Less = -1] = \"Less\", o[o.Equal = 0] = \"Equal\", o[o.Greater = 1] = \"Greater\", o))(Ee || {}), Re = ((n)=>(n[n.SetSelectedIndex = 0] = \"SetSelectedIndex\", n[n.RegisterTab = 1] = \"RegisterTab\", n[n.UnregisterTab = 2] = \"UnregisterTab\", n[n.RegisterPanel = 3] = \"RegisterPanel\", n[n.UnregisterPanel = 4] = \"UnregisterPanel\", n))(Re || {});\nlet Le = {\n [0] (e, r) {\n var c;\n let t = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.tabs, (T)=>T.current), o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.panels, (T)=>T.current), a = t.filter((T)=>{\n var d;\n return !((d = T.current) != null && d.hasAttribute(\"disabled\"));\n }), n = {\n ...e,\n tabs: t,\n panels: o\n };\n if (r.index < 0 || r.index > t.length - 1) {\n let T = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index - e.selectedIndex), {\n [-1]: ()=>1,\n [0]: ()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(Math.sign(r.index), {\n [-1]: ()=>0,\n [0]: ()=>0,\n [1]: ()=>1\n }),\n [1]: ()=>0\n });\n if (a.length === 0) return n;\n let d = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(T, {\n [0]: ()=>t.indexOf(a[0]),\n [1]: ()=>t.indexOf(a[a.length - 1])\n });\n return {\n ...n,\n selectedIndex: d === -1 ? e.selectedIndex : d\n };\n }\n let u = t.slice(0, r.index), x = [\n ...t.slice(r.index),\n ...u\n ].find((T)=>a.includes(T));\n if (!x) return n;\n let f = (c = t.indexOf(x)) != null ? c : e.selectedIndex;\n return f === -1 && (f = e.selectedIndex), {\n ...n,\n selectedIndex: f\n };\n },\n [1] (e, r) {\n if (e.tabs.includes(r.tab)) return e;\n let t = e.tabs[e.selectedIndex], o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.tabs,\n r.tab\n ], (n)=>n.current), a = e.selectedIndex;\n return e.info.current.isControlled || (a = o.indexOf(t), a === -1 && (a = e.selectedIndex)), {\n ...e,\n tabs: o,\n selectedIndex: a\n };\n },\n [2] (e, r) {\n return {\n ...e,\n tabs: e.tabs.filter((t)=>t !== r.tab)\n };\n },\n [3] (e, r) {\n return e.panels.includes(r.panel) ? e : {\n ...e,\n panels: (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)([\n ...e.panels,\n r.panel\n ], (t)=>t.current)\n };\n },\n [4] (e, r) {\n return {\n ...e,\n panels: e.panels.filter((t)=>t !== r.panel)\n };\n }\n}, z = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nz.displayName = \"TabsDataContext\";\nfunction C(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(z);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, C), t;\n }\n return r;\n}\n_c = C;\nlet V = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nV.displayName = \"TabsActionsContext\";\nfunction Q(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(V);\n if (r === null) {\n let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, Q), t;\n }\n return r;\n}\n_c1 = Q;\nfunction _e(e, r) {\n return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(r.type, Le, e, r);\n}\nlet De = \"div\";\nfunction Se(e, r) {\n let { defaultIndex: t = 0, vertical: o = !1, manual: a = !1, onChange: n, selectedIndex: u = null, ..._ } = e;\n const x = o ? \"vertical\" : \"horizontal\", f = a ? \"manual\" : \"auto\";\n let c = u !== null, T = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)({\n isControlled: c\n }), d = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), [i, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(_e, {\n info: T,\n selectedIndex: u != null ? u : t,\n tabs: [],\n panels: []\n }), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: i.selectedIndex\n }), [\n i.selectedIndex\n ]), M = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(n || (()=>{})), b = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(i.tabs), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n orientation: x,\n activation: f,\n ...i\n }), [\n x,\n f,\n i\n ]), E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 1,\n tab: p\n }), ()=>s({\n type: 2,\n tab: p\n }))), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>(s({\n type: 3,\n panel: p\n }), ()=>s({\n type: 4,\n panel: p\n }))), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((p)=>{\n R.current !== p && M.current(p), c || s({\n type: 0,\n index: p\n });\n }), R = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(c ? e.selectedIndex : i.selectedIndex), J = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n registerTab: E,\n registerPanel: I,\n change: g\n }), []);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n s({\n type: 0,\n index: u != null ? u : t\n });\n }, [\n u\n ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n if (R.current === void 0 || i.tabs.length <= 0) return;\n let p = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(i.tabs, (L)=>L.current);\n p.some((L, B)=>i.tabs[B] !== L) && g(p.indexOf(i.tabs[R.current]));\n });\n let k = {\n ref: d\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.StableCollection, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(V.Provider, {\n value: J\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(z.Provider, {\n value: m\n }, m.tabs.length <= 0 && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_8__.FocusSentinel, {\n onFocus: ()=>{\n var p, h;\n for (let L of b.current)if (((p = L.current) == null ? void 0 : p.tabIndex) === 0) return (h = L.current) == null || h.focus(), !0;\n return !1;\n }\n }), (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: k,\n theirProps: _,\n slot: F,\n defaultTag: De,\n name: \"Tabs\"\n }))));\n}\n_c2 = Se;\nlet Fe = \"div\";\nfunction Ie(e, r) {\n let { orientation: t, selectedIndex: o } = C(\"Tab.List\"), a = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: o\n }), [\n o\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: a,\n role: \"tablist\",\n \"aria-orientation\": t\n },\n theirProps: e,\n slot: n,\n defaultTag: Fe,\n name: \"Tabs.List\"\n });\n}\n_c3 = Ie;\nlet he = \"button\";\nfunction ve(e, r) {\n var Y, Z;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-tab-${t}`, disabled: a = !1, autoFocus: n = !1, ...u } = e, { orientation: _, activation: x, selectedIndex: f, tabs: c, panels: T } = C(\"Tab\"), d = Q(\"Tab\"), i = C(\"Tab\"), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), F = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(s, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>d.registerTab(s), [\n d,\n s\n ]);\n let M = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"tabs\"), b = c.indexOf(s);\n b === -1 && (b = M);\n let m = b === f, E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n var X;\n let A = l();\n if (A === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success && x === \"auto\") {\n let $ = (X = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_10__.getOwnerDocument)(s)) == null ? void 0 : X.activeElement, ee = i.tabs.findIndex((Te)=>Te.current === $);\n ee !== -1 && d.change(ee);\n }\n return A;\n }), I = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n let A = c.map(($)=>$.current).filter(Boolean);\n if (l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Space || l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Enter) {\n l.preventDefault(), l.stopPropagation(), d.change(b);\n return;\n }\n switch(l.key){\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Home:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageUp:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.First));\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.End:\n case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageDown:\n return l.preventDefault(), l.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Last));\n }\n if (E(()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(_, {\n vertical () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowUp ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowDown ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n },\n horizontal () {\n return l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowLeft ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : l.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowRight ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(A, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Next | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Error;\n }\n })) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success) return l.preventDefault();\n }), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), R = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)(()=>{\n var l;\n g.current || (g.current = !0, (l = s.current) == null || l.focus({\n preventScroll: !0\n }), d.change(b), (0,_utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__.microTask)(()=>{\n g.current = !1;\n }));\n }), J = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((l)=>{\n l.preventDefault();\n }), { isFocusVisible: k, focusProps: p } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)({\n autoFocus: n\n }), { isHovered: h, hoverProps: L } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__.useHover)({\n isDisabled: a\n }), { pressed: B, pressProps: ie } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__.useActivePress)({\n disabled: a\n }), pe = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: m,\n hover: h,\n active: B,\n focus: k,\n autofocus: n,\n disabled: a\n }), [\n m,\n h,\n k,\n B,\n n,\n a\n ]), ue = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: F,\n onKeyDown: I,\n onMouseDown: J,\n onClick: R,\n id: o,\n role: \"tab\",\n type: (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__.useResolveButtonType)(e, s),\n \"aria-controls\": (Z = (Y = T[b]) == null ? void 0 : Y.current) == null ? void 0 : Z.id,\n \"aria-selected\": m,\n tabIndex: m ? 0 : -1,\n disabled: a || void 0,\n autoFocus: n\n }, p, L, ie);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: ue,\n theirProps: u,\n slot: pe,\n defaultTag: he,\n name: \"Tabs.Tab\"\n });\n}\nlet Ce = \"div\";\nfunction Me(e, r) {\n let { selectedIndex: t } = C(\"Tab.Panels\"), o = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selectedIndex: t\n }), [\n t\n ]);\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: {\n ref: o\n },\n theirProps: e,\n slot: a,\n defaultTag: Ce,\n name: \"Tabs.Panels\"\n });\n}\n_c4 = Me;\nlet Ge = \"div\", Ue = _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_9__.RenderFeatures.Static;\nfunction He(e, r) {\n var E, I, g, R;\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: o = `headlessui-tabs-panel-${t}`, tabIndex: a = 0, ...n } = e, { selectedIndex: u, tabs: _, panels: x } = C(\"Tab.Panel\"), f = Q(\"Tab.Panel\"), c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), T = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(c, r);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>f.registerPanel(c), [\n f,\n c\n ]);\n let d = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_7__.useStableCollectionIndex)(\"panels\"), i = x.indexOf(c);\n i === -1 && (i = d);\n let s = i === u, { isFocusVisible: F, focusProps: M } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)(), b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n selected: s,\n focus: F\n }), [\n s,\n F\n ]), m = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.mergeProps)({\n ref: T,\n id: o,\n role: \"tabpanel\",\n \"aria-labelledby\": (I = (E = _[i]) == null ? void 0 : E.current) == null ? void 0 : I.id,\n tabIndex: s ? a : -1\n }, M);\n return !s && ((g = n.unmount) == null || g) && !((R = n.static) != null && R) ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__.Hidden, {\n \"aria-hidden\": \"true\",\n ...m\n }) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.render)({\n ourProps: m,\n theirProps: n,\n slot: b,\n defaultTag: Ge,\n features: Ue,\n visible: s,\n name: \"Tabs.Panel\"\n });\n}\n_c5 = He;\nlet we = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(ve), Oe = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Se), Ne = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Ie), ke = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(Me), Be = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_9__.forwardRefWithAs)(He), st = Object.assign(we, {\n Group: Oe,\n List: Ne,\n Panels: ke,\n Panel: Be\n});\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"C\");\n$RefreshReg$(_c1, \"Q\");\n$RefreshReg$(_c2, \"Se\");\n$RefreshReg$(_c3, \"Ie\");\n$RefreshReg$(_c4, \"Me\");\n$RefreshReg$(_c5, \"He\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvdGFicy90YWJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzZGQUErRDtBQUFxRDtBQUFxRztBQUFrRTtBQUFvRDtBQUErQztBQUE0RTtBQUFpRTtBQUErRTtBQUEyRDtBQUFrRTtBQUFtRDtBQUF5RztBQUE2QztBQUF1RDtBQUF5RDtBQUEyRztBQUFvRztBQUFzQztBQUFBLElBQUk2RCxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRCxDQUFDLENBQUNBLEVBQUVFLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUYsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxDQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUYsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDLElBQUdLLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxnQkFBZ0IsR0FBQyxFQUFFLEdBQUMsb0JBQW1CRCxDQUFDLENBQUNBLEVBQUVFLFdBQVcsR0FBQyxFQUFFLEdBQUMsZUFBY0YsQ0FBQyxDQUFDQSxFQUFFRyxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkgsQ0FBQyxDQUFDQSxFQUFFSSxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkosQ0FBQyxDQUFDQSxFQUFFSyxlQUFlLEdBQUMsRUFBRSxHQUFDLG1CQUFrQkwsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUM7QUFBRyxJ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QUFLM0I7UUFBRTRCLFlBQVc4RDtRQUFHTyxVQUFTTjtRQUFHTyxTQUFRckc7UUFBRWdDLE1BQUs7SUFBWTtBQUFFO01BQXRwQmlFO0FBQXVwQixJQUFJSyxLQUFHOUssa0VBQUNBLENBQUM2RyxLQUFJa0UsS0FBRy9LLGtFQUFDQSxDQUFDaUUsS0FBSStHLEtBQUdoTCxrRUFBQ0EsQ0FBQzBHLEtBQUl1RSxLQUFHakwsa0VBQUNBLENBQUNvSyxLQUFJYyxLQUFHbEwsa0VBQUNBLENBQUN5SyxLQUFJVSxLQUFHQyxPQUFPQyxNQUFNLENBQUNQLElBQUc7SUFBQ1EsT0FBTVA7SUFBR1EsTUFBS1A7SUFBR1EsUUFBT1A7SUFBR1EsT0FBTVA7QUFBRTtBQUFpRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3RhYnMvdGFicy5qcz83MzUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydHt1c2VGb2N1c1JpbmcgYXMgdGV9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgZGV9ZnJvbVwiQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zXCI7aW1wb3J0IEcse2NyZWF0ZUNvbnRleHQgYXMgcmUsdXNlQ29udGV4dCBhcyBuZSx1c2VNZW1vIGFzIEQsdXNlUmVkdWNlciBhcyBjZSx1c2VSZWYgYXMgcX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VBY3RpdmVQcmVzcyBhcyBmZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMnO2ltcG9ydHt1c2VFdmVudCBhcyBTfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlSWQgYXMgYWV9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIFd9ZnJvbScuLi8uLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgan1mcm9tJy4uLy4uL2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyBiZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7dXNlU3luY1JlZnMgYXMgVX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHtGb2N1c1NlbnRpbmVsIGFzIG1lfWZyb20nLi4vLi4vaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanMnO2ltcG9ydHtIaWRkZW4gYXMgUGV9ZnJvbScuLi8uLi9pbnRlcm5hbC9oaWRkZW4uanMnO2ltcG9ydHtGb2N1cyBhcyBQLEZvY3VzUmVzdWx0IGFzIEssZm9jdXNJbiBhcyB2LHNvcnRCeURvbU5vZGUgYXMgSH1mcm9tJy4uLy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHttYXRjaCBhcyB3fWZyb20nLi4vLi4vdXRpbHMvbWF0Y2guanMnO2ltcG9ydHttaWNyb1Rhc2sgYXMgeWV9ZnJvbScuLi8uLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyB4ZX1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgb2UsZm9yd2FyZFJlZldpdGhBcyBhcyBPLG1lcmdlUHJvcHMgYXMgbGUscmVuZGVyIGFzIE59ZnJvbScuLi8uLi91dGlscy9yZW5kZXIuanMnO2ltcG9ydHtTdGFibGVDb2xsZWN0aW9uIGFzIGdlLHVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCBhcyBzZX1mcm9tJy4uLy4uL3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzJztpbXBvcnR7S2V5cyBhcyB5fWZyb20nLi4va2V5Ym9hcmQuanMnO3ZhciBBZT0odD0+KHRbdC5Gb3J3YXJkcz0wXT1cIkZvcndhcmRzXCIsdFt0LkJhY2t3YXJkcz0xXT1cIkJhY2t3YXJkc1wiLHQpKShBZXx8e30pLEVlPShvPT4ob1tvLkxlc3M9LTFdPVwiTGVzc1wiLG9bby5FcXVhbD0wXT1cIkVxdWFsXCIsb1tvLkdyZWF0ZXI9MV09XCJHcmVhdGVyXCIsbykpKEVlfHx7fSksUmU9KG49PihuW24uU2V0U2VsZWN0ZWRJbmRleD0wXT1cIlNldFNlbGVjdGVkSW5kZXhcIixuW24uUmVnaXN0ZXJUYWI9MV09XCJSZWdpc3RlclRhYlwiLG5bbi5VbnJlZ2lzdGVyVGFiPTJdPVwiVW5yZWdpc3RlclRhYlwiLG5bbi5SZWdpc3RlclBhbmVsPTNdPVwiUmVnaXN0ZXJQYW5lbFwiLG5bbi5VbnJlZ2lzdGVyUGFuZWw9NF09XCJVbnJlZ2lzdGVyUGFuZWxcIixuKSkoUmV8fHt9KTtsZXQgTGU9e1swXShlLHIpe3ZhciBjO2xldCB0PUgoZS50YWJzLFQ9PlQuY3VycmVudCksbz1IKGUucGFuZWxzLFQ9PlQuY3VycmVudCksYT10LmZpbHRlcihUPT57dmFyIGQ7cmV0dXJuISgoZD1ULmN1cnJlbnQpIT1udWxsJiZkLmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpKX0pLG49ey4uLmUsdGFiczp0LHBhbmVsczpvfTtpZihyLmluZGV4PDB8fHIuaW5kZXg+dC5sZW5ndGgtMSl7bGV0IFQ9dyhNYXRoLnNpZ24oci5pbmRleC1lLnNlbGVjdGVkSW5kZXgpLHtbLTFdOigpPT4xLFswXTooKT0+dyhNYXRoLnNpZ24oci5pbmRleCkse1stMV06KCk9PjAsWzBdOigpPT4wLFsxXTooKT0+MX0pLFsxXTooKT0+MH0pO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbjtsZXQgZD13KFQse1swXTooKT0+dC5pbmRleE9mKGFbMF0pLFsxXTooKT0+dC5pbmRleE9mKGFbYS5sZW5ndGgtMV0pfSk7cmV0dXJuey4uLm4sc2VsZWN0ZWRJbmRleDpkPT09LTE/ZS5zZWxlY3RlZEluZGV4OmR9fWxldCB1PXQuc2xpY2UoMCxyLmluZGV4KSx4PVsuLi50LnNsaWNlKHIuaW5kZXgpLC4uLnVdLmZpbmQoVD0+YS5pbmNsdWRlcyhUKSk7aWYoIXgpcmV0dXJuIG47bGV0IGY9KGM9dC5pbmRleE9mKHgpKSE9bnVsbD9jOmUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZj09PS0xJiYoZj1lLnNlbGVjdGVkSW5kZXgpLHsuLi5uLHNlbGVjdGVkSW5kZXg6Zn19LFsxXShlLHIpe2lmKGUudGFicy5pbmNsdWRlcyhyLnRhYikpcmV0dXJuIGU7bGV0IHQ9ZS50YWJzW2Uuc2VsZWN0ZWRJbmRleF0sbz1IKFsuLi5lLnRhYnMsci50YWJdLG49Pm4uY3VycmVudCksYT1lLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGUuaW5mby5jdXJyZW50LmlzQ29udHJvbGxlZHx8KGE9by5pbmRleE9mKHQpLGE9PT0tMSYmKGE9ZS5zZWxlY3RlZEluZGV4KSksey4uLmUsdGFiczpvLHNlbGVjdGVkSW5kZXg6YX19LFsyXShlLHIpe3JldHVybnsuLi5lLHRhYnM6ZS50YWJzLmZpbHRlcih0PT50IT09ci50YWIpfX0sWzNdKGUscil7cmV0dXJuIGUucGFuZWxzLmluY2x1ZGVzKHIucGFuZWwpP2U6ey4uLmUscGFuZWxzOkgoWy4uLmUucGFuZWxzLHIucGFuZWxdLHQ9PnQuY3VycmVudCl9fSxbNF0oZSxyKXtyZXR1cm57Li4uZSxwYW5lbHM6ZS5wYW5lbHMuZmlsdGVyKHQ9PnQhPT1yLnBhbmVsKX19fSx6PXJlKG51bGwpO3ouZGlzcGxheU5hbWU9XCJUYWJzRGF0YUNvbnRleHRcIjtmdW5jdGlvbiBDKGUpe2xldCByPW5lKHopO2lmKHI9PT1udWxsKXtsZXQgdD1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPFRhYi5Hcm91cCAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsQyksdH1yZXR1cm4gcn1sZXQgVj1yZShudWxsKTtWLmRpc3BsYXlOYW1lPVwiVGFic0FjdGlvbnNDb250ZXh0XCI7ZnVuY3Rpb24gUShlKXtsZXQgcj1uZShWKTtpZihyPT09bnVsbCl7bGV0IHQ9bmV3IEVycm9yKGA8JHtlfSAvPiBpcyBtaXNzaW5nIGEgcGFyZW50IDxUYWIuR3JvdXAgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LFEpLHR9cmV0dXJuIHJ9ZnVuY3Rpb24gX2UoZSxyKXtyZXR1cm4gdyhyLnR5cGUsTGUsZSxyKX1sZXQgRGU9XCJkaXZcIjtmdW5jdGlvbiBTZShlLHIpe2xldHtkZWZhdWx0SW5kZXg6dD0wLHZlcnRpY2FsOm89ITEsbWFudWFsOmE9ITEsb25DaGFuZ2U6bixzZWxlY3RlZEluZGV4OnU9bnVsbCwuLi5ffT1lO2NvbnN0IHg9bz9cInZlcnRpY2FsXCI6XCJob3Jpem9udGFsXCIsZj1hP1wibWFudWFsXCI6XCJhdXRvXCI7bGV0IGM9dSE9PW51bGwsVD1qKHtpc0NvbnRyb2xsZWQ6Y30pLGQ9VShyKSxbaSxzXT1jZShfZSx7aW5mbzpULHNlbGVjdGVkSW5kZXg6dSE9bnVsbD91OnQsdGFiczpbXSxwYW5lbHM6W119KSxGPUQoKCk9Pih7c2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXh9KSxbaS5zZWxlY3RlZEluZGV4XSksTT1qKG58fCgoKT0+e30pKSxiPWooaS50YWJzKSxtPUQoKCk9Pih7b3JpZW50YXRpb246eCxhY3RpdmF0aW9uOmYsLi4uaX0pLFt4LGYsaV0pLEU9UyhwPT4ocyh7dHlwZToxLHRhYjpwfSksKCk9PnMoe3R5cGU6Mix0YWI6cH0pKSksST1TKHA9PihzKHt0eXBlOjMscGFuZWw6cH0pLCgpPT5zKHt0eXBlOjQscGFuZWw6cH0pKSksZz1TKHA9PntSLmN1cnJlbnQhPT1wJiZNLmN1cnJlbnQocCksY3x8cyh7dHlwZTowLGluZGV4OnB9KX0pLFI9aihjP2Uuc2VsZWN0ZWRJbmRleDppLnNlbGVjdGVkSW5kZXgpLEo9RCgoKT0+KHtyZWdpc3RlclRhYjpFLHJlZ2lzdGVyUGFuZWw6SSxjaGFuZ2U6Z30pLFtdKTtXKCgpPT57cyh7dHlwZTowLGluZGV4OnUhPW51bGw/dTp0fSl9LFt1XSksVygoKT0+e2lmKFIuY3VycmVudD09PXZvaWQgMHx8aS50YWJzLmxlbmd0aDw9MClyZXR1cm47bGV0IHA9SChpLnRhYnMsTD0+TC5jdXJyZW50KTtwLnNvbWUoKEwsQik9PmkudGFic1tCXSE9PUwpJiZnKHAuaW5kZXhPZihpLnRhYnNbUi5jdXJyZW50XSkpfSk7bGV0IGs9e3JlZjpkfTtyZXR1cm4gRy5jcmVhdGVFbGVtZW50KGdlLG51bGwsRy5jcmVhdGVFbGVtZW50KFYuUHJvdmlkZXIse3ZhbHVlOkp9LEcuY3JlYXRlRWxlbWVudCh6LlByb3ZpZGVyLHt2YWx1ZTptfSxtLnRhYnMubGVuZ3RoPD0wJiZHLmNyZWF0ZUVsZW1lbnQobWUse29uRm9jdXM6KCk9Pnt2YXIgcCxoO2ZvcihsZXQgTCBvZiBiLmN1cnJlbnQpaWYoKChwPUwuY3VycmVudCk9PW51bGw/dm9pZCAwOnAudGFiSW5kZXgpPT09MClyZXR1cm4oaD1MLmN1cnJlbnQpPT1udWxsfHxoLmZvY3VzKCksITA7cmV0dXJuITF9fSksTih7b3VyUHJvcHM6ayx0aGVpclByb3BzOl8sc2xvdDpGLGRlZmF1bHRUYWc6RGUsbmFtZTpcIlRhYnNcIn0pKSkpfWxldCBGZT1cImRpdlwiO2Z1bmN0aW9uIEllKGUscil7bGV0e29yaWVudGF0aW9uOnQsc2VsZWN0ZWRJbmRleDpvfT1DKFwiVGFiLkxpc3RcIiksYT1VKHIpLG49RCgoKT0+KHtzZWxlY3RlZEluZGV4Om99KSxbb10pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOmEscm9sZTpcInRhYmxpc3RcIixcImFyaWEtb3JpZW50YXRpb25cIjp0fSx0aGVpclByb3BzOmUsc2xvdDpuLGRlZmF1bHRUYWc6RmUsbmFtZTpcIlRhYnMuTGlzdFwifSl9bGV0IGhlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gdmUoZSxyKXt2YXIgWSxaO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy10YWItJHt0fWAsZGlzYWJsZWQ6YT0hMSxhdXRvRm9jdXM6bj0hMSwuLi51fT1lLHtvcmllbnRhdGlvbjpfLGFjdGl2YXRpb246eCxzZWxlY3RlZEluZGV4OmYsdGFiczpjLHBhbmVsczpUfT1DKFwiVGFiXCIpLGQ9UShcIlRhYlwiKSxpPUMoXCJUYWJcIikscz1xKG51bGwpLEY9VShzLHIpO1coKCk9PmQucmVnaXN0ZXJUYWIocyksW2Qsc10pO2xldCBNPXNlKFwidGFic1wiKSxiPWMuaW5kZXhPZihzKTtiPT09LTEmJihiPU0pO2xldCBtPWI9PT1mLEU9UyhsPT57dmFyIFg7bGV0IEE9bCgpO2lmKEE9PT1LLlN1Y2Nlc3MmJng9PT1cImF1dG9cIil7bGV0ICQ9KFg9eGUocykpPT1udWxsP3ZvaWQgMDpYLmFjdGl2ZUVsZW1lbnQsZWU9aS50YWJzLmZpbmRJbmRleChUZT0+VGUuY3VycmVudD09PSQpO2VlIT09LTEmJmQuY2hhbmdlKGVlKX1yZXR1cm4gQX0pLEk9UyhsPT57bGV0IEE9Yy5tYXAoJD0+JC5jdXJyZW50KS5maWx0ZXIoQm9vbGVhbik7aWYobC5rZXk9PT15LlNwYWNlfHxsLmtleT09PXkuRW50ZXIpe2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLGQuY2hhbmdlKGIpO3JldHVybn1zd2l0Y2gobC5rZXkpe2Nhc2UgeS5Ib21lOmNhc2UgeS5QYWdlVXA6cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkZpcnN0KSk7Y2FzZSB5LkVuZDpjYXNlIHkuUGFnZURvd246cmV0dXJuIGwucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLEUoKCk9PnYoQSxQLkxhc3QpKX1pZihFKCgpPT53KF8se3ZlcnRpY2FsKCl7cmV0dXJuIGwua2V5PT09eS5BcnJvd1VwP3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93RG93bj92KEEsUC5OZXh0fFAuV3JhcEFyb3VuZCk6Sy5FcnJvcn0saG9yaXpvbnRhbCgpe3JldHVybiBsLmtleT09PXkuQXJyb3dMZWZ0P3YoQSxQLlByZXZpb3VzfFAuV3JhcEFyb3VuZCk6bC5rZXk9PT15LkFycm93UmlnaHQ/dihBLFAuTmV4dHxQLldyYXBBcm91bmQpOksuRXJyb3J9fSkpPT09Sy5TdWNjZXNzKXJldHVybiBsLnByZXZlbnREZWZhdWx0KCl9KSxnPXEoITEpLFI9UygoKT0+e3ZhciBsO2cuY3VycmVudHx8KGcuY3VycmVudD0hMCwobD1zLmN1cnJlbnQpPT1udWxsfHxsLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZC5jaGFuZ2UoYikseWUoKCk9PntnLmN1cnJlbnQ9ITF9KSl9KSxKPVMobD0+e2wucHJldmVudERlZmF1bHQoKX0pLHtpc0ZvY3VzVmlzaWJsZTprLGZvY3VzUHJvcHM6cH09dGUoe2F1dG9Gb2N1czpufSkse2lzSG92ZXJlZDpoLGhvdmVyUHJvcHM6TH09ZGUoe2lzRGlzYWJsZWQ6YX0pLHtwcmVzc2VkOkIscHJlc3NQcm9wczppZX09ZmUoe2Rpc2FibGVkOmF9KSxwZT1EKCgpPT4oe3NlbGVjdGVkOm0saG92ZXI6aCxhY3RpdmU6Qixmb2N1czprLGF1dG9mb2N1czpuLGRpc2FibGVkOmF9KSxbbSxoLGssQixuLGFdKSx1ZT1sZSh7cmVmOkYsb25LZXlEb3duOkksb25Nb3VzZURvd246SixvbkNsaWNrOlIsaWQ6byxyb2xlOlwidGFiXCIsdHlwZTpiZShlLHMpLFwiYXJpYS1jb250cm9sc1wiOihaPShZPVRbYl0pPT1udWxsP3ZvaWQgMDpZLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpaLmlkLFwiYXJpYS1zZWxlY3RlZFwiOm0sdGFiSW5kZXg6bT8wOi0xLGRpc2FibGVkOmF8fHZvaWQgMCxhdXRvRm9jdXM6bn0scCxMLGllKTtyZXR1cm4gTih7b3VyUHJvcHM6dWUsdGhlaXJQcm9wczp1LHNsb3Q6cGUsZGVmYXVsdFRhZzpoZSxuYW1lOlwiVGFicy5UYWJcIn0pfWxldCBDZT1cImRpdlwiO2Z1bmN0aW9uIE1lKGUscil7bGV0e3NlbGVjdGVkSW5kZXg6dH09QyhcIlRhYi5QYW5lbHNcIiksbz1VKHIpLGE9RCgoKT0+KHtzZWxlY3RlZEluZGV4OnR9KSxbdF0pO3JldHVybiBOKHtvdXJQcm9wczp7cmVmOm99LHRoZWlyUHJvcHM6ZSxzbG90OmEsZGVmYXVsdFRhZzpDZSxuYW1lOlwiVGFicy5QYW5lbHNcIn0pfWxldCBHZT1cImRpdlwiLFVlPW9lLlJlbmRlclN0cmF0ZWd5fG9lLlN0YXRpYztmdW5jdGlvbiBIZShlLHIpe3ZhciBFLEksZyxSO2xldCB0PWFlKCkse2lkOm89YGhlYWRsZXNzdWktdGFicy1wYW5lbC0ke3R9YCx0YWJJbmRleDphPTAsLi4ubn09ZSx7c2VsZWN0ZWRJbmRleDp1LHRhYnM6XyxwYW5lbHM6eH09QyhcIlRhYi5QYW5lbFwiKSxmPVEoXCJUYWIuUGFuZWxcIiksYz1xKG51bGwpLFQ9VShjLHIpO1coKCk9PmYucmVnaXN0ZXJQYW5lbChjKSxbZixjXSk7bGV0IGQ9c2UoXCJwYW5lbHNcIiksaT14LmluZGV4T2YoYyk7aT09PS0xJiYoaT1kKTtsZXQgcz1pPT09dSx7aXNGb2N1c1Zpc2libGU6Rixmb2N1c1Byb3BzOk19PXRlKCksYj1EKCgpPT4oe3NlbGVjdGVkOnMsZm9jdXM6Rn0pLFtzLEZdKSxtPWxlKHtyZWY6VCxpZDpvLHJvbGU6XCJ0YWJwYW5lbFwiLFwiYXJpYS1sYWJlbGxlZGJ5XCI6KEk9KEU9X1tpXSk9PW51bGw/dm9pZCAwOkUuY3VycmVudCk9PW51bGw/dm9pZCAwOkkuaWQsdGFiSW5kZXg6cz9hOi0xfSxNKTtyZXR1cm4hcyYmKChnPW4udW5tb3VudCk9PW51bGx8fGcpJiYhKChSPW4uc3RhdGljKSE9bnVsbCYmUik/Ry5jcmVhdGVFbGVtZW50KFBlLHtcImFyaWEtaGlkZGVuXCI6XCJ0cnVlXCIsLi4ubX0pOk4oe291clByb3BzOm0sdGhlaXJQcm9wczpuLHNsb3Q6YixkZWZhdWx0VGFnOkdlLGZlYXR1cmVzOlVlLHZpc2libGU6cyxuYW1lOlwiVGFicy5QYW5lbFwifSl9bGV0IHdlPU8odmUpLE9lPU8oU2UpLE5lPU8oSWUpLGtlPU8oTWUpLEJlPU8oSGUpLHN0PU9iamVjdC5hc3NpZ24od2Use0dyb3VwOk9lLExpc3Q6TmUsUGFuZWxzOmtlLFBhbmVsOkJlfSk7ZXhwb3J0e3N0IGFzIFRhYixPZSBhcyBUYWJHcm91cCxOZSBhcyBUYWJMaXN0LEJlIGFzIFRhYlBhbmVsLGtlIGFzIFRhYlBhbmVsc307XG4iXSwibmFtZXMiOlsidXNlRm9jdXNSaW5nIiwidGUiLCJ1c2VIb3ZlciIsImRlIiwiRyIsImNyZWF0ZUNvbnRleHQiLCJyZSIsInVzZUNvbnRleHQiLCJuZSIsInVzZU1lbW8iLCJEIiwidXNlUmVkdWNlciIsImNlIiwidXNlUmVmIiwicSIsInVzZUFjdGl2ZVByZXNzIiwiZmUiLCJ1c2VFdmVudCIsIlMiLCJ1c2VJZCIsImFlIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIlciLCJ1c2VMYXRlc3RWYWx1ZSIsImoiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSIsImJlIiwidXNlU3luY1JlZnMiLCJVIiwiRm9jdXNTZW50aW5lbCIsIm1lIiwiSGlkZGVuIiwiUGUiLCJGb2N1cyIsIlAiLCJGb2N1c1Jlc3VsdCIsIksiLCJmb2N1c0luIiwidiIsInNvcnRCeURvbU5vZGUiLCJIIiwibWF0Y2giLCJ3IiwibWljcm9UYXNrIiwieWUiLCJnZXRPd25lckRvY3VtZW50IiwieGUiLCJSZW5kZXJGZWF0dXJlcyIsIm9lIiwiZm9yd2FyZFJlZldpdGhBcyIsIk8iLCJtZXJnZVByb3BzIiwibGUiLCJyZW5kZXIiLCJOIiwiU3RhYmxlQ29sbGVjdGlvbiIsImdlIiwidXNlU3RhYmxlQ29sbGVjdGlvbkluZGV4Iiwic2UiLCJLZXlzIiwieSIsIkFlIiwidCIsIkZvcndhcmRzIiwiQmFja3dhcmRzIiwiRWUiLCJvIiwiTGVzcyIsIkVxdWFsIiwiR3JlYXRlciIsIlJlIiwibiIsIlNldFNlbGVjdGVkSW5kZXgiLCJSZWdpc3RlclRhYiIsIlVucmVnaXN0ZXJUYWIiLCJSZWdpc3RlclBhbmVsIiwiVW5yZWdpc3RlclBhbmVsIiwiTGUiLCJlIiwiciIsImMiLCJ0YWJzIiwiVCIsImN1cnJlbnQiLCJwYW5lbHMiLCJhIiwiZmlsdGVyIiwiZCIsImhhc0F0dHJpYnV0ZSIsImluZGV4IiwibGVuZ3RoIiwiTWF0aCIsInNpZ24iLCJzZWxlY3RlZEluZGV4IiwiaW5kZXhPZiIsInUiLCJzbGljZSIsIngiLCJmaW5kIiwiaW5jbHVkZXMiLCJmIiwidGFiIiwiaW5mbyIsImlzQ29udHJvbGxlZCIsInBhbmVsIiwieiIsImRpc3BsYXlOYW1lIiwiQyIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJWIiwiUSIsIl9lIiwidHlwZSIsIkRlIiwiU2UiLCJkZWZhdWx0SW5kZXgiLCJ2ZXJ0aWNhbCIsIm1hbnVhbCIsIm9uQ2hhbmdlIiwiXyIsImkiLCJzIiwiRiIsIk0iLCJiIiwibSIsIm9yaWVudGF0aW9uIiwiYWN0aXZhdGlvbiIsIkUiLCJwIiwiSSIsImciLCJSIiwiSiIsInJlZ2lzdGVyVGFiIiwicmVnaXN0ZXJQYW5lbCIsImNoYW5nZSIsIkwiLCJzb21lIiwiQiIsImsiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIm9uRm9jdXMiLCJoIiwidGFiSW5kZXgiLCJmb2N1cyIsIm91clByb3BzIiwidGhlaXJQcm9wcyIsInNsb3QiLCJkZWZhdWx0VGFnIiwibmFtZSIsIkZlIiwiSWUiLCJyb2xlIiwiaGUiLCJ2ZSIsIlkiLCJaIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImwiLCJYIiwiQSIsIlN1Y2Nlc3MiLCIkIiwiYWN0aXZlRWxlbWVudCIsImVlIiwiZmluZEluZGV4IiwiVGUiLCJtYXAiLCJCb29sZWFuIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiSG9tZSIsIlBhZ2VVcCIsIkZpcnN0IiwiRW5kIiwiUGFnZURvd24iLCJMYXN0IiwiQXJyb3dVcCIsIlByZXZpb3VzIiwiV3JhcEFyb3VuZCIsIkFycm93RG93biIsIk5leHQiLCJob3Jpem9udGFsIiwiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsInByZXZlbnRTY3JvbGwiLCJpc0ZvY3VzVmlzaWJsZSIsImZvY3VzUHJvcHMiLCJpc0hvdmVyZWQiLCJob3ZlclByb3BzIiwiaXNEaXNhYmxlZCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwiaWUiLCJwZSIsInNlbGVjdGVkIiwiaG92ZXIiLCJhY3RpdmUiLCJhdXRvZm9jdXMiLCJ1ZSIsIm9uS2V5RG93biIsIm9uTW91c2VEb3duIiwib25DbGljayIsIkNlIiwiTWUiLCJHZSIsIlVlIiwiUmVuZGVyU3RyYXRlZ3kiLCJTdGF0aWMiLCJIZSIsInVubW91bnQiLCJzdGF0aWMiLCJmZWF0dXJlcyIsInZpc2libGUiLCJ3ZSIsIk9lIiwiTmUiLCJrZSIsIkJlIiwic3QiLCJPYmplY3QiLCJhc3NpZ24iLCJHcm91cCIsIkxpc3QiLCJQYW5lbHMiLCJQYW5lbCIsIlRhYiIsIlRhYkdyb3VwIiwiVGFiTGlzdCIsIlRhYlBhbmVsIiwiVGFiUGFuZWxzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/components/tabs/tabs.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js ***!
\*************************************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ adjustScrollbarPadding: function() { return /* binding */ d; }\n/* harmony export */ });\nfunction d() {\n let r;\n return {\n before (param) {\n let { doc: e } = param;\n var l;\n let o = e.documentElement, t = (l = e.defaultView) != null ? l : window;\n r = Math.max(0, t.innerWidth - o.clientWidth);\n },\n after (param) {\n let { doc: e, d: o } = param;\n let t = e.documentElement, l = Math.max(0, t.clientWidth - t.offsetWidth), n = Math.max(0, r - l);\n o.style(t, \"paddingRight\", `${n}px`);\n }\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L2FkanVzdC1zY3JvbGxiYXItcGFkZGluZy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FBU0E7SUFBSSxJQUFJQztJQUFFLE9BQU07UUFBQ0MsUUFBTyxLQUFPO2dCQUFQLEVBQUNDLEtBQUlDLENBQUMsRUFBQyxHQUFQO1lBQVMsSUFBSUM7WUFBRSxJQUFJQyxJQUFFRixFQUFFRyxlQUFlLEVBQUNDLElBQUUsQ0FBQ0gsSUFBRUQsRUFBRUssV0FBVyxLQUFHLE9BQUtKLElBQUVLO1lBQU9ULElBQUVVLEtBQUtDLEdBQUcsQ0FBQyxHQUFFSixFQUFFSyxVQUFVLEdBQUNQLEVBQUVRLFdBQVc7UUFBQztRQUFFQyxPQUFNLEtBQVc7Z0JBQVgsRUFBQ1osS0FBSUMsQ0FBQyxFQUFDSixHQUFFTSxDQUFDLEVBQUMsR0FBWDtZQUFhLElBQUlFLElBQUVKLEVBQUVHLGVBQWUsRUFBQ0YsSUFBRU0sS0FBS0MsR0FBRyxDQUFDLEdBQUVKLEVBQUVNLFdBQVcsR0FBQ04sRUFBRVEsV0FBVyxHQUFFQyxJQUFFTixLQUFLQyxHQUFHLENBQUMsR0FBRVgsSUFBRUk7WUFBR0MsRUFBRVksS0FBSyxDQUFDVixHQUFFLGdCQUFlLENBQUMsRUFBRVMsRUFBRSxFQUFFLENBQUM7UUFBQztJQUFDO0FBQUM7QUFBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvZG9jdW1lbnQtb3ZlcmZsb3cvYWRqdXN0LXNjcm9sbGJhci1wYWRkaW5nLmpzP2JkNjciXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gZCgpe2xldCByO3JldHVybntiZWZvcmUoe2RvYzplfSl7dmFyIGw7bGV0IG89ZS5kb2N1bWVudEVsZW1lbnQsdD0obD1lLmRlZmF1bHRWaWV3KSE9bnVsbD9sOndpbmRvdztyPU1hdGgubWF4KDAsdC5pbm5lcldpZHRoLW8uY2xpZW50V2lkdGgpfSxhZnRlcih7ZG9jOmUsZDpvfSl7bGV0IHQ9ZS5kb2N1bWVudEVsZW1lbnQsbD1NYXRoLm1heCgwLHQuY2xpZW50V2lkdGgtdC5vZmZzZXRXaWR0aCksbj1NYXRoLm1heCgwLHItbCk7by5zdHlsZSh0LFwicGFkZGluZ1JpZ2h0XCIsYCR7bn1weGApfX19ZXhwb3J0e2QgYXMgYWRqdXN0U2Nyb2xsYmFyUGFkZGluZ307XG4iXSwibmFtZXMiOlsiZCIsInIiLCJiZWZvcmUiLCJkb2MiLCJlIiwibCIsIm8iLCJkb2N1bWVudEVsZW1lbnQiLCJ0IiwiZGVmYXVsdFZpZXciLCJ3aW5kb3ciLCJNYXRoIiwibWF4IiwiaW5uZXJXaWR0aCIsImNsaWVudFdpZHRoIiwiYWZ0ZXIiLCJvZmZzZXRXaWR0aCIsIm4iLCJzdHlsZSIsImFkanVzdFNjcm9sbGJhclBhZGRpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js ***!
\*******************************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ handleIOSLocking: function() { return /* binding */ d; }\n/* harmony export */ });\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/platform.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/platform.js\");\n\n\nfunction d() {\n return (0,_utils_platform_js__WEBPACK_IMPORTED_MODULE_0__.isIOS)() ? {\n before (param) {\n let { doc: r, d: n, meta: c } = param;\n function o(a) {\n return c.containers.flatMap((l)=>l()).some((l)=>l.contains(a));\n }\n n.microTask(()=>{\n var s;\n if (window.getComputedStyle(r.documentElement).scrollBehavior !== \"auto\") {\n let t = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables)();\n t.style(r.documentElement, \"scrollBehavior\", \"auto\"), n.add(()=>n.microTask(()=>t.dispose()));\n }\n let a = (s = window.scrollY) != null ? s : window.pageYOffset, l = null;\n n.addEventListener(r, \"click\", (t)=>{\n if (t.target instanceof HTMLElement) try {\n let e = t.target.closest(\"a\");\n if (!e) return;\n let { hash: f } = new URL(e.href), i = r.querySelector(f);\n i && !o(i) && (l = i);\n } catch {}\n }, !0), n.addEventListener(r, \"touchstart\", (t)=>{\n if (t.target instanceof HTMLElement) if (o(t.target)) {\n let e = t.target;\n for(; e.parentElement && o(e.parentElement);)e = e.parentElement;\n n.style(e, \"overscrollBehavior\", \"contain\");\n } else n.style(t.target, \"touchAction\", \"none\");\n }), n.addEventListener(r, \"touchmove\", (t)=>{\n if (t.target instanceof HTMLElement) {\n if (t.target.tagName === \"INPUT\") return;\n if (o(t.target)) {\n let e = t.target;\n for(; e.parentElement && e.dataset.headlessuiPortal !== \"\" && !(e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth);)e = e.parentElement;\n e.dataset.headlessuiPortal === \"\" && t.preventDefault();\n } else t.preventDefault();\n }\n }, {\n passive: !1\n }), n.add(()=>{\n var e;\n let t = (e = window.scrollY) != null ? e : window.pageYOffset;\n a !== t && window.scrollTo(0, a), l && l.isConnected && (l.scrollIntoView({\n block: \"nearest\"\n }), l = null);\n });\n });\n }\n } : {};\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L2hhbmRsZS1pb3MtbG9ja2luZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBeUQ7QUFBZ0Q7QUFBQSxTQUFTSTtJQUFJLE9BQU9ELHlEQUFDQSxLQUFHO1FBQUNFLFFBQU8sS0FBa0I7Z0JBQWxCLEVBQUNDLEtBQUlDLENBQUMsRUFBQ0gsR0FBRUksQ0FBQyxFQUFDQyxNQUFLQyxDQUFDLEVBQUMsR0FBbEI7WUFBb0IsU0FBU0MsRUFBRUMsQ0FBQztnQkFBRSxPQUFPRixFQUFFRyxVQUFVLENBQUNDLE9BQU8sQ0FBQ0MsQ0FBQUEsSUFBR0EsS0FBS0MsSUFBSSxDQUFDRCxDQUFBQSxJQUFHQSxFQUFFRSxRQUFRLENBQUNMO1lBQUc7WUFBQ0osRUFBRVUsU0FBUyxDQUFDO2dCQUFLLElBQUlDO2dCQUFFLElBQUdDLE9BQU9DLGdCQUFnQixDQUFDZCxFQUFFZSxlQUFlLEVBQUVDLGNBQWMsS0FBRyxRQUFPO29CQUFDLElBQUlDLElBQUV2QixrRUFBQ0E7b0JBQUd1QixFQUFFQyxLQUFLLENBQUNsQixFQUFFZSxlQUFlLEVBQUMsa0JBQWlCLFNBQVFkLEVBQUVrQixHQUFHLENBQUMsSUFBSWxCLEVBQUVVLFNBQVMsQ0FBQyxJQUFJTSxFQUFFRyxPQUFPO2dCQUFJO2dCQUFDLElBQUlmLElBQUUsQ0FBQ08sSUFBRUMsT0FBT1EsT0FBTyxLQUFHLE9BQUtULElBQUVDLE9BQU9TLFdBQVcsRUFBQ2QsSUFBRTtnQkFBS1AsRUFBRXNCLGdCQUFnQixDQUFDdkIsR0FBRSxTQUFRaUIsQ0FBQUE7b0JBQUksSUFBR0EsRUFBRU8sTUFBTSxZQUFZQyxhQUFZLElBQUc7d0JBQUMsSUFBSUMsSUFBRVQsRUFBRU8sTUFBTSxDQUFDRyxPQUFPLENBQUM7d0JBQUssSUFBRyxDQUFDRCxHQUFFO3dCQUFPLElBQUcsRUFBQ0UsTUFBS0MsQ0FBQyxFQUFDLEdBQUMsSUFBSUMsSUFBSUosRUFBRUssSUFBSSxHQUFFQyxJQUFFaEMsRUFBRWlDLGFBQWEsQ0FBQ0o7d0JBQUdHLEtBQUcsQ0FBQzVCLEVBQUU0QixNQUFLeEIsQ0FBQUEsSUFBRXdCLENBQUFBO29CQUFFLEVBQUMsT0FBSyxDQUFDO2dCQUFDLEdBQUUsQ0FBQyxJQUFHL0IsRUFBRXNCLGdCQUFnQixDQUFDdkIsR0FBRSxjQUFhaUIsQ0FBQUE7b0JBQUksSUFBR0EsRUFBRU8sTUFBTSxZQUFZQyxhQUFZLElBQUdyQixFQUFFYSxFQUFFTyxNQUFNLEdBQUU7d0JBQUMsSUFBSUUsSUFBRVQsRUFBRU8sTUFBTTt3QkFBQyxNQUFLRSxFQUFFUSxhQUFhLElBQUU5QixFQUFFc0IsRUFBRVEsYUFBYSxHQUFHUixJQUFFQSxFQUFFUSxhQUFhO3dCQUFDakMsRUFBRWlCLEtBQUssQ0FBQ1EsR0FBRSxzQkFBcUI7b0JBQVUsT0FBTXpCLEVBQUVpQixLQUFLLENBQUNELEVBQUVPLE1BQU0sRUFBQyxlQUFjO2dCQUFPLElBQUd2QixFQUFFc0IsZ0JBQWdCLENBQUN2QixHQUFFLGFBQVlpQixDQUFBQTtvQkFBSSxJQUFHQSxFQUFFTyxNQUFNLFlBQVlDLGFBQVk7d0JBQUMsSUFBR1IsRUFBRU8sTUFBTSxDQUFDVyxPQUFPLEtBQUcsU0FBUTt3QkFBTyxJQUFHL0IsRUFBRWEsRUFBRU8sTUFBTSxHQUFFOzRCQUFDLElBQUlFLElBQUVULEVBQUVPLE1BQU07NEJBQUMsTUFBS0UsRUFBRVEsYUFBYSxJQUFFUixFQUFFVSxPQUFPLENBQUNDLGdCQUFnQixLQUFHLE1BQUksQ0FBRVgsQ0FBQUEsRUFBRVksWUFBWSxHQUFDWixFQUFFYSxZQUFZLElBQUViLEVBQUVjLFdBQVcsR0FBQ2QsRUFBRWUsV0FBVyxHQUFHZixJQUFFQSxFQUFFUSxhQUFhOzRCQUFDUixFQUFFVSxPQUFPLENBQUNDLGdCQUFnQixLQUFHLE1BQUlwQixFQUFFeUIsY0FBYzt3QkFBRSxPQUFNekIsRUFBRXlCLGNBQWM7b0JBQUU7Z0JBQUMsR0FBRTtvQkFBQ0MsU0FBUSxDQUFDO2dCQUFDLElBQUcxQyxFQUFFa0IsR0FBRyxDQUFDO29CQUFLLElBQUlPO29CQUFFLElBQUlULElBQUUsQ0FBQ1MsSUFBRWIsT0FBT1EsT0FBTyxLQUFHLE9BQUtLLElBQUViLE9BQU9TLFdBQVc7b0JBQUNqQixNQUFJWSxLQUFHSixPQUFPK0IsUUFBUSxDQUFDLEdBQUV2QyxJQUFHRyxLQUFHQSxFQUFFcUMsV0FBVyxJQUFHckMsQ0FBQUEsRUFBRXNDLGNBQWMsQ0FBQzt3QkFBQ0MsT0FBTTtvQkFBUyxJQUFHdkMsSUFBRSxJQUFHO2dCQUFFO1lBQUU7UUFBRTtJQUFDLElBQUUsQ0FBQztBQUFDO0FBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L2hhbmRsZS1pb3MtbG9ja2luZy5qcz9iZGFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtkaXNwb3NhYmxlcyBhcyBtfWZyb20nLi4vLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydHtpc0lPUyBhcyB1fWZyb20nLi4vLi4vdXRpbHMvcGxhdGZvcm0uanMnO2Z1bmN0aW9uIGQoKXtyZXR1cm4gdSgpP3tiZWZvcmUoe2RvYzpyLGQ6bixtZXRhOmN9KXtmdW5jdGlvbiBvKGEpe3JldHVybiBjLmNvbnRhaW5lcnMuZmxhdE1hcChsPT5sKCkpLnNvbWUobD0+bC5jb250YWlucyhhKSl9bi5taWNyb1Rhc2soKCk9Pnt2YXIgcztpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShyLmRvY3VtZW50RWxlbWVudCkuc2Nyb2xsQmVoYXZpb3IhPT1cImF1dG9cIil7bGV0IHQ9bSgpO3Quc3R5bGUoci5kb2N1bWVudEVsZW1lbnQsXCJzY3JvbGxCZWhhdmlvclwiLFwiYXV0b1wiKSxuLmFkZCgoKT0+bi5taWNyb1Rhc2soKCk9PnQuZGlzcG9zZSgpKSl9bGV0IGE9KHM9d2luZG93LnNjcm9sbFkpIT1udWxsP3M6d2luZG93LnBhZ2VZT2Zmc2V0LGw9bnVsbDtuLmFkZEV2ZW50TGlzdGVuZXIocixcImNsaWNrXCIsdD0+e2lmKHQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpdHJ5e2xldCBlPXQudGFyZ2V0LmNsb3Nlc3QoXCJhXCIpO2lmKCFlKXJldHVybjtsZXR7aGFzaDpmfT1uZXcgVVJMKGUuaHJlZiksaT1yLnF1ZXJ5U2VsZWN0b3IoZik7aSYmIW8oaSkmJihsPWkpfWNhdGNoe319LCEwKSxuLmFkZEV2ZW50TGlzdGVuZXIocixcInRvdWNoc3RhcnRcIix0PT57aWYodC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClpZihvKHQudGFyZ2V0KSl7bGV0IGU9dC50YXJnZXQ7Zm9yKDtlLnBhcmVudEVsZW1lbnQmJm8oZS5wYXJlbnRFbGVtZW50KTspZT1lLnBhcmVudEVsZW1lbnQ7bi5zdHlsZShlLFwib3ZlcnNjcm9sbEJlaGF2aW9yXCIsXCJjb250YWluXCIpfWVsc2Ugbi5zdHlsZSh0LnRhcmdldCxcInRvdWNoQWN0aW9uXCIsXCJub25lXCIpfSksbi5hZGRFdmVudExpc3RlbmVyKHIsXCJ0b3VjaG1vdmVcIix0PT57aWYodC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7aWYodC50YXJnZXQudGFnTmFtZT09PVwiSU5QVVRcIilyZXR1cm47aWYobyh0LnRhcmdldCkpe2xldCBlPXQudGFyZ2V0O2Zvcig7ZS5wYXJlbnRFbGVtZW50JiZlLmRhdGFzZXQuaGVhZGxlc3N1aVBvcnRhbCE9PVwiXCImJiEoZS5zY3JvbGxIZWlnaHQ+ZS5jbGllbnRIZWlnaHR8fGUuc2Nyb2xsV2lkdGg+ZS5jbGllbnRXaWR0aCk7KWU9ZS5wYXJlbnRFbGVtZW50O2UuZGF0YXNldC5oZWFkbGVzc3VpUG9ydGFsPT09XCJcIiYmdC5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgdC5wcmV2ZW50RGVmYXVsdCgpfX0se3Bhc3NpdmU6ITF9KSxuLmFkZCgoKT0+e3ZhciBlO2xldCB0PShlPXdpbmRvdy5zY3JvbGxZKSE9bnVsbD9lOndpbmRvdy5wYWdlWU9mZnNldDthIT09dCYmd2luZG93LnNjcm9sbFRvKDAsYSksbCYmbC5pc0Nvbm5lY3RlZCYmKGwuc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOlwibmVhcmVzdFwifSksbD1udWxsKX0pfSl9fTp7fX1leHBvcnR7ZCBhcyBoYW5kbGVJT1NMb2NraW5nfTtcbiJdLCJuYW1lcyI6WyJkaXNwb3NhYmxlcyIsIm0iLCJpc0lPUyIsInUiLCJkIiwiYmVmb3JlIiwiZG9jIiwiciIsIm4iLCJtZXRhIiwiYyIsIm8iLCJhIiwiY29udGFpbmVycyIsImZsYXRNYXAiLCJsIiwic29tZSIsImNvbnRhaW5zIiwibWljcm9UYXNrIiwicyIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJkb2N1bWVudEVsZW1lbnQiLCJzY3JvbGxCZWhhdmlvciIsInQiLCJzdHlsZSIsImFkZCIsImRpc3Bvc2UiLCJzY3JvbGxZIiwicGFnZVlPZmZzZXQiLCJhZGRFdmVudExpc3RlbmVyIiwidGFyZ2V0IiwiSFRNTEVsZW1lbnQiLCJlIiwiY2xvc2VzdCIsImhhc2giLCJmIiwiVVJMIiwiaHJlZiIsImkiLCJxdWVyeVNlbGVjdG9yIiwicGFyZW50RWxlbWVudCIsInRhZ05hbWUiLCJkYXRhc2V0IiwiaGVhZGxlc3N1aVBvcnRhbCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsInNjcm9sbFdpZHRoIiwiY2xpZW50V2lkdGgiLCJwcmV2ZW50RGVmYXVsdCIsInBhc3NpdmUiLCJzY3JvbGxUbyIsImlzQ29ubmVjdGVkIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImhhbmRsZUlPU0xvY2tpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js ***!
\***************************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ overflows: function() { return /* binding */ a; }\n/* harmony export */ });\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_store_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/store.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/store.js\");\n/* harmony import */ var _adjust_scrollbar_padding_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./adjust-scrollbar-padding.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js\");\n/* harmony import */ var _handle_ios_locking_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./handle-ios-locking.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js\");\n/* harmony import */ var _prevent_scroll_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./prevent-scroll.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js\");\n\n\n\n\n\nfunction m(e) {\n let n = {};\n for (let t of e)Object.assign(n, t(n));\n return n;\n}\nlet a = (0,_utils_store_js__WEBPACK_IMPORTED_MODULE_0__.createStore)(()=>new Map, {\n PUSH (e, n) {\n var o;\n let t = (o = this.get(e)) != null ? o : {\n doc: e,\n count: 0,\n d: (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables)(),\n meta: new Set\n };\n return t.count++, t.meta.add(n), this.set(e, t), this;\n },\n POP (e, n) {\n let t = this.get(e);\n return t && (t.count--, t.meta.delete(n)), this;\n },\n SCROLL_PREVENT (param) {\n let { doc: e, d: n, meta: t } = param;\n let o = {\n doc: e,\n d: n,\n meta: m(t)\n }, c = [\n (0,_handle_ios_locking_js__WEBPACK_IMPORTED_MODULE_2__.handleIOSLocking)(),\n (0,_adjust_scrollbar_padding_js__WEBPACK_IMPORTED_MODULE_3__.adjustScrollbarPadding)(),\n (0,_prevent_scroll_js__WEBPACK_IMPORTED_MODULE_4__.preventScroll)()\n ];\n c.forEach((param)=>{\n let { before: r } = param;\n return r == null ? void 0 : r(o);\n }), c.forEach((param)=>{\n let { after: r } = param;\n return r == null ? void 0 : r(o);\n });\n },\n SCROLL_ALLOW (param) {\n let { d: e } = param;\n e.dispose();\n },\n TEARDOWN (param) {\n let { doc: e } = param;\n this.delete(e);\n }\n});\na.subscribe(()=>{\n let e = a.getSnapshot(), n = new Map;\n for (let [t] of e)n.set(t, t.documentElement.style.overflow);\n for (let t of e.values()){\n let o = n.get(t.doc) === \"hidden\", c = t.count !== 0;\n (c && !o || !c && o) && a.dispatch(t.count > 0 ? \"SCROLL_PREVENT\" : \"SCROLL_ALLOW\", t), t.count === 0 && a.dispatch(\"TEARDOWN\", t);\n }\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L292ZXJmbG93LXN0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5RDtBQUFtRDtBQUF1RTtBQUEyRDtBQUFvRDtBQUFBLFNBQVNVLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFLENBQUM7SUFBRSxLQUFJLElBQUlDLEtBQUtGLEVBQUVHLE9BQU9DLE1BQU0sQ0FBQ0gsR0FBRUMsRUFBRUQ7SUFBSSxPQUFPQTtBQUFDO0FBQUMsSUFBSUksSUFBRWIsNERBQUNBLENBQUMsSUFBSSxJQUFJYyxLQUFJO0lBQUNDLE1BQUtQLENBQUMsRUFBQ0MsQ0FBQztRQUFFLElBQUlPO1FBQUUsSUFBSU4sSUFBRSxDQUFDTSxJQUFFLElBQUksQ0FBQ0MsR0FBRyxDQUFDVCxFQUFDLEtBQUksT0FBS1EsSUFBRTtZQUFDRSxLQUFJVjtZQUFFVyxPQUFNO1lBQUVmLEdBQUVOLGtFQUFDQTtZQUFHc0IsTUFBSyxJQUFJQztRQUFHO1FBQUUsT0FBT1gsRUFBRVMsS0FBSyxJQUFHVCxFQUFFVSxJQUFJLENBQUNFLEdBQUcsQ0FBQ2IsSUFBRyxJQUFJLENBQUNjLEdBQUcsQ0FBQ2YsR0FBRUUsSUFBRyxJQUFJO0lBQUE7SUFBRWMsS0FBSWhCLENBQUMsRUFBQ0MsQ0FBQztRQUFFLElBQUlDLElBQUUsSUFBSSxDQUFDTyxHQUFHLENBQUNUO1FBQUcsT0FBT0UsS0FBSUEsQ0FBQUEsRUFBRVMsS0FBSyxJQUFHVCxFQUFFVSxJQUFJLENBQUNLLE1BQU0sQ0FBQ2hCLEVBQUMsR0FBRyxJQUFJO0lBQUE7SUFBRWlCLGdCQUFlLEtBQWtCO1lBQWxCLEVBQUNSLEtBQUlWLENBQUMsRUFBQ0osR0FBRUssQ0FBQyxFQUFDVyxNQUFLVixDQUFDLEVBQUMsR0FBbEI7UUFBb0IsSUFBSU0sSUFBRTtZQUFDRSxLQUFJVjtZQUFFSixHQUFFSztZQUFFVyxNQUFLYixFQUFFRztRQUFFLEdBQUVpQixJQUFFO1lBQUN2Qix3RUFBQ0E7WUFBR0Ysb0ZBQUNBO1lBQUdJLGlFQUFDQTtTQUFHO1FBQUNxQixFQUFFQyxPQUFPLENBQUM7Z0JBQUMsRUFBQ0MsUUFBT0MsQ0FBQyxFQUFDO21CQUFHQSxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFZDtZQUFJVyxFQUFFQyxPQUFPLENBQUM7Z0JBQUMsRUFBQ0csT0FBTUQsQ0FBQyxFQUFDO21CQUFHQSxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFZDs7SUFBRztJQUFFZ0IsY0FBYSxLQUFLO1lBQUwsRUFBQzVCLEdBQUVJLENBQUMsRUFBQyxHQUFMO1FBQU9BLEVBQUV5QixPQUFPO0lBQUU7SUFBRUMsVUFBUyxLQUFPO1lBQVAsRUFBQ2hCLEtBQUlWLENBQUMsRUFBQyxHQUFQO1FBQVMsSUFBSSxDQUFDaUIsTUFBTSxDQUFDakI7SUFBRTtBQUFDO0FBQUdLLEVBQUVzQixTQUFTLENBQUM7SUFBSyxJQUFJM0IsSUFBRUssRUFBRXVCLFdBQVcsSUFBRzNCLElBQUUsSUFBSUs7SUFBSSxLQUFJLElBQUcsQ0FBQ0osRUFBRSxJQUFHRixFQUFFQyxFQUFFYyxHQUFHLENBQUNiLEdBQUVBLEVBQUUyQixlQUFlLENBQUNDLEtBQUssQ0FBQ0MsUUFBUTtJQUFFLEtBQUksSUFBSTdCLEtBQUtGLEVBQUVnQyxNQUFNLEdBQUc7UUFBQyxJQUFJeEIsSUFBRVAsRUFBRVEsR0FBRyxDQUFDUCxFQUFFUSxHQUFHLE1BQUksVUFBU1MsSUFBRWpCLEVBQUVTLEtBQUssS0FBRztRQUFHUSxDQUFBQSxLQUFHLENBQUNYLEtBQUcsQ0FBQ1csS0FBR1gsQ0FBQUEsS0FBSUgsRUFBRTRCLFFBQVEsQ0FBQy9CLEVBQUVTLEtBQUssR0FBQyxJQUFFLG1CQUFpQixnQkFBZVQsSUFBR0EsRUFBRVMsS0FBSyxLQUFHLEtBQUdOLEVBQUU0QixRQUFRLENBQUMsWUFBVy9CO0lBQUU7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy9kb2N1bWVudC1vdmVyZmxvdy9vdmVyZmxvdy1zdG9yZS5qcz8zNWFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtkaXNwb3NhYmxlcyBhcyBzfWZyb20nLi4vLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydHtjcmVhdGVTdG9yZSBhcyBpfWZyb20nLi4vLi4vdXRpbHMvc3RvcmUuanMnO2ltcG9ydHthZGp1c3RTY3JvbGxiYXJQYWRkaW5nIGFzIGx9ZnJvbScuL2FkanVzdC1zY3JvbGxiYXItcGFkZGluZy5qcyc7aW1wb3J0e2hhbmRsZUlPU0xvY2tpbmcgYXMgZH1mcm9tJy4vaGFuZGxlLWlvcy1sb2NraW5nLmpzJztpbXBvcnR7cHJldmVudFNjcm9sbCBhcyBwfWZyb20nLi9wcmV2ZW50LXNjcm9sbC5qcyc7ZnVuY3Rpb24gbShlKXtsZXQgbj17fTtmb3IobGV0IHQgb2YgZSlPYmplY3QuYXNzaWduKG4sdChuKSk7cmV0dXJuIG59bGV0IGE9aSgoKT0+bmV3IE1hcCx7UFVTSChlLG4pe3ZhciBvO2xldCB0PShvPXRoaXMuZ2V0KGUpKSE9bnVsbD9vOntkb2M6ZSxjb3VudDowLGQ6cygpLG1ldGE6bmV3IFNldH07cmV0dXJuIHQuY291bnQrKyx0Lm1ldGEuYWRkKG4pLHRoaXMuc2V0KGUsdCksdGhpc30sUE9QKGUsbil7bGV0IHQ9dGhpcy5nZXQoZSk7cmV0dXJuIHQmJih0LmNvdW50LS0sdC5tZXRhLmRlbGV0ZShuKSksdGhpc30sU0NST0xMX1BSRVZFTlQoe2RvYzplLGQ6bixtZXRhOnR9KXtsZXQgbz17ZG9jOmUsZDpuLG1ldGE6bSh0KX0sYz1bZCgpLGwoKSxwKCldO2MuZm9yRWFjaCgoe2JlZm9yZTpyfSk9PnI9PW51bGw/dm9pZCAwOnIobykpLGMuZm9yRWFjaCgoe2FmdGVyOnJ9KT0+cj09bnVsbD92b2lkIDA6cihvKSl9LFNDUk9MTF9BTExPVyh7ZDplfSl7ZS5kaXNwb3NlKCl9LFRFQVJET1dOKHtkb2M6ZX0pe3RoaXMuZGVsZXRlKGUpfX0pO2Euc3Vic2NyaWJlKCgpPT57bGV0IGU9YS5nZXRTbmFwc2hvdCgpLG49bmV3IE1hcDtmb3IobGV0W3Rdb2YgZSluLnNldCh0LHQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93KTtmb3IobGV0IHQgb2YgZS52YWx1ZXMoKSl7bGV0IG89bi5nZXQodC5kb2MpPT09XCJoaWRkZW5cIixjPXQuY291bnQhPT0wOyhjJiYhb3x8IWMmJm8pJiZhLmRpc3BhdGNoKHQuY291bnQ+MD9cIlNDUk9MTF9QUkVWRU5UXCI6XCJTQ1JPTExfQUxMT1dcIix0KSx0LmNvdW50PT09MCYmYS5kaXNwYXRjaChcIlRFQVJET1dOXCIsdCl9fSk7ZXhwb3J0e2EgYXMgb3ZlcmZsb3dzfTtcbiJdLCJuYW1lcyI6WyJkaXNwb3NhYmxlcyIsInMiLCJjcmVhdGVTdG9yZSIsImkiLCJhZGp1c3RTY3JvbGxiYXJQYWRkaW5nIiwibCIsImhhbmRsZUlPU0xvY2tpbmciLCJkIiwicHJldmVudFNjcm9sbCIsInAiLCJtIiwiZSIsIm4iLCJ0IiwiT2JqZWN0IiwiYXNzaWduIiwiYSIsIk1hcCIsIlBVU0giLCJvIiwiZ2V0IiwiZG9jIiwiY291bnQiLCJtZXRhIiwiU2V0IiwiYWRkIiwic2V0IiwiUE9QIiwiZGVsZXRlIiwiU0NST0xMX1BSRVZFTlQiLCJjIiwiZm9yRWFjaCIsImJlZm9yZSIsInIiLCJhZnRlciIsIlNDUk9MTF9BTExPVyIsImRpc3Bvc2UiLCJURUFSRE9XTiIsInN1YnNjcmliZSIsImdldFNuYXBzaG90IiwiZG9jdW1lbnRFbGVtZW50Iiwic3R5bGUiLCJvdmVyZmxvdyIsInZhbHVlcyIsImRpc3BhdGNoIiwib3ZlcmZsb3dzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js ***!
\***************************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ preventScroll: function() { return /* binding */ r; }\n/* harmony export */ });\nfunction r() {\n return {\n before (param) {\n let { doc: e, d: o } = param;\n o.style(e.documentElement, \"overflow\", \"hidden\");\n }\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L3ByZXZlbnQtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQTtJQUFJLE9BQU07UUFBQ0MsUUFBTyxLQUFXO2dCQUFYLEVBQUNDLEtBQUlDLENBQUMsRUFBQ0MsR0FBRUMsQ0FBQyxFQUFDLEdBQVg7WUFBYUEsRUFBRUMsS0FBSyxDQUFDSCxFQUFFSSxlQUFlLEVBQUMsWUFBVztRQUFTO0lBQUM7QUFBQztBQUE0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy9kb2N1bWVudC1vdmVyZmxvdy9wcmV2ZW50LXNjcm9sbC5qcz85OTdkIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoKXtyZXR1cm57YmVmb3JlKHtkb2M6ZSxkOm99KXtvLnN0eWxlKGUuZG9jdW1lbnRFbGVtZW50LFwib3ZlcmZsb3dcIixcImhpZGRlblwiKX19fWV4cG9ydHtyIGFzIHByZXZlbnRTY3JvbGx9O1xuIl0sIm5hbWVzIjpbInIiLCJiZWZvcmUiLCJkb2MiLCJlIiwiZCIsIm8iLCJzdHlsZSIsImRvY3VtZW50RWxlbWVudCIsInByZXZlbnRTY3JvbGwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js":
/*!**********************************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js ***!
\**********************************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useDocumentOverflowLockedEffect: function() { return /* binding */ a; }\n/* harmony export */ });\n/* harmony import */ var _hooks_use_store_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../hooks/use-store.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-store.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _overflow_store_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./overflow-store.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js\");\n\n\n\nfunction a(r, e) {\n let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ()=>({\n containers: []\n });\n let f = (0,_hooks_use_store_js__WEBPACK_IMPORTED_MODULE_0__.useStore)(_overflow_store_js__WEBPACK_IMPORTED_MODULE_1__.overflows), o = e ? f.get(e) : void 0, i = o ? o.count > 0 : !1;\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_2__.useIsoMorphicEffect)(()=>{\n if (!(!e || !r)) return _overflow_store_js__WEBPACK_IMPORTED_MODULE_1__.overflows.dispatch(\"PUSH\", e, n), ()=>_overflow_store_js__WEBPACK_IMPORTED_MODULE_1__.overflows.dispatch(\"POP\", e, n);\n }, [\n r,\n e\n ]), i;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L3VzZS1kb2N1bWVudC1vdmVyZmxvdy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW9EO0FBQW1FO0FBQWdEO0FBQUEsU0FBU00sRUFBRUMsQ0FBQyxFQUFDQyxDQUFDO1FBQUNDLElBQUFBLGlFQUFFLElBQUs7WUFBQ0MsWUFBVyxFQUFFO1FBQUE7SUFBSSxJQUFJQyxJQUFFViw2REFBQ0EsQ0FBQ0kseURBQUNBLEdBQUVPLElBQUVKLElBQUVHLEVBQUVFLEdBQUcsQ0FBQ0wsS0FBRyxLQUFLLEdBQUVNLElBQUVGLElBQUVBLEVBQUVHLEtBQUssR0FBQyxJQUFFLENBQUM7SUFBRSxPQUFPWiwrRUFBQ0EsQ0FBQztRQUFLLElBQUcsQ0FBRSxFQUFDSyxLQUFHLENBQUNELENBQUFBLEdBQUcsT0FBT0YseURBQUNBLENBQUNXLFFBQVEsQ0FBQyxRQUFPUixHQUFFQyxJQUFHLElBQUlKLHlEQUFDQSxDQUFDVyxRQUFRLENBQUMsT0FBTVIsR0FBRUM7SUFBRSxHQUFFO1FBQUNGO1FBQUVDO0tBQUUsR0FBRU07QUFBQztBQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy9kb2N1bWVudC1vdmVyZmxvdy91c2UtZG9jdW1lbnQtb3ZlcmZsb3cuanM/MTljNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlU3RvcmUgYXMgc31mcm9tJy4uLy4uL2hvb2tzL3VzZS1zdG9yZS5qcyc7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgdX1mcm9tJy4uL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2ltcG9ydHtvdmVyZmxvd3MgYXMgdH1mcm9tJy4vb3ZlcmZsb3ctc3RvcmUuanMnO2Z1bmN0aW9uIGEocixlLG49KCk9Pih7Y29udGFpbmVyczpbXX0pKXtsZXQgZj1zKHQpLG89ZT9mLmdldChlKTp2b2lkIDAsaT1vP28uY291bnQ+MDohMTtyZXR1cm4gdSgoKT0+e2lmKCEoIWV8fCFyKSlyZXR1cm4gdC5kaXNwYXRjaChcIlBVU0hcIixlLG4pLCgpPT50LmRpc3BhdGNoKFwiUE9QXCIsZSxuKX0sW3IsZV0pLGl9ZXhwb3J0e2EgYXMgdXNlRG9jdW1lbnRPdmVyZmxvd0xvY2tlZEVmZmVjdH07XG4iXSwibmFtZXMiOlsidXNlU3RvcmUiLCJzIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsInUiLCJvdmVyZmxvd3MiLCJ0IiwiYSIsInIiLCJlIiwibiIsImNvbnRhaW5lcnMiLCJmIiwibyIsImdldCIsImkiLCJjb3VudCIsImRpc3BhdGNoIiwidXNlRG9jdW1lbnRPdmVyZmxvd0xvY2tlZEVmZmVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-active-press.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useActivePress: function() { return /* binding */ w; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\n\n\nfunction E(e) {\n let t = e.width / 2, n = e.height / 2;\n return {\n top: e.clientY - n,\n right: e.clientX + t,\n bottom: e.clientY + n,\n left: e.clientX - t\n };\n}\n_c = E;\nfunction P(e, t) {\n return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);\n}\n_c1 = P;\nfunction w() {\n let { disabled: e = !1 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), [n, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1), r = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_1__.useDisposables)(), o = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>{\n t.current = null, l(!1), r.dispose();\n }), f = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)((s)=>{\n if (r.dispose(), t.current === null) {\n t.current = s.currentTarget, l(!0);\n {\n let i = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(s.currentTarget);\n r.addEventListener(i, \"pointerup\", o, !1), r.addEventListener(i, \"pointermove\", (c)=>{\n if (t.current) {\n let p = E(c);\n l(P(p, t.current.getBoundingClientRect()));\n }\n }, !1), r.addEventListener(i, \"pointercancel\", o, !1);\n }\n }\n });\n return {\n pressed: n,\n pressProps: e ? {} : {\n onPointerDown: f,\n onPointerUp: o,\n onClick: o\n }\n };\n}\n\nvar _c, _c1;\n$RefreshReg$(_c, \"E\");\n$RefreshReg$(_c1, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNkM7QUFBcUQ7QUFBc0Q7QUFBMEM7QUFBQSxTQUFTVSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRUUsS0FBSyxHQUFDLEdBQUVDLElBQUVILEVBQUVJLE1BQU0sR0FBQztJQUFFLE9BQU07UUFBQ0MsS0FBSUwsRUFBRU0sT0FBTyxHQUFDSDtRQUFFSSxPQUFNUCxFQUFFUSxPQUFPLEdBQUNQO1FBQUVRLFFBQU9ULEVBQUVNLE9BQU8sR0FBQ0g7UUFBRU8sTUFBS1YsRUFBRVEsT0FBTyxHQUFDUDtJQUFDO0FBQUM7S0FBL0dGO0FBQWdILFNBQVNZLEVBQUVYLENBQUMsRUFBQ0MsQ0FBQztJQUFFLE9BQU0sQ0FBRSxFQUFDRCxLQUFHLENBQUNDLEtBQUdELEVBQUVPLEtBQUssR0FBQ04sRUFBRVMsSUFBSSxJQUFFVixFQUFFVSxJQUFJLEdBQUNULEVBQUVNLEtBQUssSUFBRVAsRUFBRVMsTUFBTSxHQUFDUixFQUFFSSxHQUFHLElBQUVMLEVBQUVLLEdBQUcsR0FBQ0osRUFBRVEsTUFBTTtBQUFDO01BQXRGRTtBQUF1RixTQUFTQztRQUFFLEVBQUNDLFVBQVNiLElBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBZixpRUFBZ0IsQ0FBQztJQUFHLElBQUlDLElBQUVYLDZDQUFDQSxDQUFDLE9BQU0sQ0FBQ2EsR0FBRVcsRUFBRSxHQUFDdEIsK0NBQUNBLENBQUMsQ0FBQyxJQUFHdUIsSUFBRW5CLG1FQUFDQSxJQUFHb0IsSUFBRWxCLHVEQUFDQSxDQUFDO1FBQUtHLEVBQUVnQixPQUFPLEdBQUMsTUFBS0gsRUFBRSxDQUFDLElBQUdDLEVBQUVHLE9BQU87SUFBRSxJQUFHQyxJQUFFckIsdURBQUNBLENBQUNzQixDQUFBQTtRQUFJLElBQUdMLEVBQUVHLE9BQU8sSUFBR2pCLEVBQUVnQixPQUFPLEtBQUcsTUFBSztZQUFDaEIsRUFBRWdCLE9BQU8sR0FBQ0csRUFBRUMsYUFBYSxFQUFDUCxFQUFFLENBQUM7WUFBRztnQkFBQyxJQUFJUSxJQUFFNUIsaUVBQUNBLENBQUMwQixFQUFFQyxhQUFhO2dCQUFFTixFQUFFUSxnQkFBZ0IsQ0FBQ0QsR0FBRSxhQUFZTixHQUFFLENBQUMsSUFBR0QsRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsZUFBY0UsQ0FBQUE7b0JBQUksSUFBR3ZCLEVBQUVnQixPQUFPLEVBQUM7d0JBQUMsSUFBSVEsSUFBRTFCLEVBQUV5Qjt3QkFBR1YsRUFBRUgsRUFBRWMsR0FBRXhCLEVBQUVnQixPQUFPLENBQUNTLHFCQUFxQjtvQkFBSTtnQkFBQyxHQUFFLENBQUMsSUFBR1gsRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsaUJBQWdCTixHQUFFLENBQUM7WUFBRTtRQUFDO0lBQUM7SUFBRyxPQUFNO1FBQUNXLFNBQVF4QjtRQUFFeUIsWUFBVzVCLElBQUUsQ0FBQyxJQUFFO1lBQUM2QixlQUFjVjtZQUFFVyxhQUFZZDtZQUFFZSxTQUFRZjtRQUFDO0lBQUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtYWN0aXZlLXByZXNzLmpzP2VlZGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyBhLHVzZVN0YXRlIGFzIG19ZnJvbVwicmVhY3RcIjtpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBkfWZyb20nLi4vdXRpbHMvb3duZXIuanMnO2ltcG9ydHt1c2VEaXNwb3NhYmxlcyBhcyBnfWZyb20nLi91c2UtZGlzcG9zYWJsZXMuanMnO2ltcG9ydHt1c2VFdmVudCBhcyB1fWZyb20nLi91c2UtZXZlbnQuanMnO2Z1bmN0aW9uIEUoZSl7bGV0IHQ9ZS53aWR0aC8yLG49ZS5oZWlnaHQvMjtyZXR1cm57dG9wOmUuY2xpZW50WS1uLHJpZ2h0OmUuY2xpZW50WCt0LGJvdHRvbTplLmNsaWVudFkrbixsZWZ0OmUuY2xpZW50WC10fX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuISghZXx8IXR8fGUucmlnaHQ8dC5sZWZ0fHxlLmxlZnQ+dC5yaWdodHx8ZS5ib3R0b208dC50b3B8fGUudG9wPnQuYm90dG9tKX1mdW5jdGlvbiB3KHtkaXNhYmxlZDplPSExfT17fSl7bGV0IHQ9YShudWxsKSxbbixsXT1tKCExKSxyPWcoKSxvPXUoKCk9Pnt0LmN1cnJlbnQ9bnVsbCxsKCExKSxyLmRpc3Bvc2UoKX0pLGY9dShzPT57aWYoci5kaXNwb3NlKCksdC5jdXJyZW50PT09bnVsbCl7dC5jdXJyZW50PXMuY3VycmVudFRhcmdldCxsKCEwKTt7bGV0IGk9ZChzLmN1cnJlbnRUYXJnZXQpO3IuYWRkRXZlbnRMaXN0ZW5lcihpLFwicG9pbnRlcnVwXCIsbywhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVybW92ZVwiLGM9PntpZih0LmN1cnJlbnQpe2xldCBwPUUoYyk7bChQKHAsdC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSl9fSwhMSksci5hZGRFdmVudExpc3RlbmVyKGksXCJwb2ludGVyY2FuY2VsXCIsbywhMSl9fX0pO3JldHVybntwcmVzc2VkOm4scHJlc3NQcm9wczplP3t9OntvblBvaW50ZXJEb3duOmYsb25Qb2ludGVyVXA6byxvbkNsaWNrOm99fX1leHBvcnR7dyBhcyB1c2VBY3RpdmVQcmVzc307XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYSIsInVzZVN0YXRlIiwibSIsImdldE93bmVyRG9jdW1lbnQiLCJkIiwidXNlRGlzcG9zYWJsZXMiLCJnIiwidXNlRXZlbnQiLCJ1IiwiRSIsImUiLCJ0Iiwid2lkdGgiLCJuIiwiaGVpZ2h0IiwidG9wIiwiY2xpZW50WSIsInJpZ2h0IiwiY2xpZW50WCIsImJvdHRvbSIsImxlZnQiLCJQIiwidyIsImRpc2FibGVkIiwibCIsInIiLCJvIiwiY3VycmVudCIsImRpc3Bvc2UiLCJmIiwicyIsImN1cnJlbnRUYXJnZXQiLCJpIiwiYWRkRXZlbnRMaXN0ZW5lciIsImMiLCJwIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicHJlc3NlZCIsInByZXNzUHJvcHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyVXAiLCJvbkNsaWNrIiwidXNlQWN0aXZlUHJlc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-active-press.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js":
/*!**********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-disposables.js ***!
\**********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useDisposables: function() { return /* binding */ p; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n\n\nfunction p() {\n let [e] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>()=>e.dispose(), [\n e\n ]), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0Q7QUFBc0Q7QUFBQSxTQUFTTTtJQUFJLElBQUcsQ0FBQ0MsRUFBRSxHQUFDSiwrQ0FBQ0EsQ0FBQ0UsOERBQUNBO0lBQUUsT0FBT0osZ0RBQUNBLENBQUMsSUFBSSxJQUFJTSxFQUFFQyxPQUFPLElBQUc7UUFBQ0Q7S0FBRSxHQUFFQTtBQUFDO0FBQTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcz82YzZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgcyx1c2VTdGF0ZSBhcyBvfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIHR9ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7ZnVuY3Rpb24gcCgpe2xldFtlXT1vKHQpO3JldHVybiBzKCgpPT4oKT0+ZS5kaXNwb3NlKCksW2VdKSxlfWV4cG9ydHtwIGFzIHVzZURpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJzIiwidXNlU3RhdGUiLCJvIiwiZGlzcG9zYWJsZXMiLCJ0IiwicCIsImUiLCJkaXNwb3NlIiwidXNlRGlzcG9zYWJsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-document-event.js":
/*!*************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-document-event.js ***!
\*************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useDocumentEvent: function() { return /* binding */ i; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n\n\nfunction i(t, e, o, n) {\n let u = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(o);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!t) return;\n function r(m) {\n u.current(m);\n }\n return document.addEventListener(e, r, n), ()=>document.removeEventListener(e, r, n);\n }, [\n t,\n e,\n n\n ]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kb2N1bWVudC1ldmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFBdUQ7QUFBQSxTQUFTSSxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsSUFBSUMsSUFBRU4sb0VBQUNBLENBQUNJO0lBQUdOLGdEQUFDQSxDQUFDO1FBQUssSUFBRyxDQUFDSSxHQUFFO1FBQU8sU0FBU0ssRUFBRUMsQ0FBQztZQUFFRixFQUFFRyxPQUFPLENBQUNEO1FBQUU7UUFBQyxPQUFPRSxTQUFTQyxnQkFBZ0IsQ0FBQ1IsR0FBRUksR0FBRUYsSUFBRyxJQUFJSyxTQUFTRSxtQkFBbUIsQ0FBQ1QsR0FBRUksR0FBRUY7SUFBRSxHQUFFO1FBQUNIO1FBQUVDO1FBQUVFO0tBQUU7QUFBQztBQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZG9jdW1lbnQtZXZlbnQuanM/NDg4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGN9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgYX1mcm9tJy4vdXNlLWxhdGVzdC12YWx1ZS5qcyc7ZnVuY3Rpb24gaSh0LGUsbyxuKXtsZXQgdT1hKG8pO2MoKCk9PntpZighdClyZXR1cm47ZnVuY3Rpb24gcihtKXt1LmN1cnJlbnQobSl9cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZSxyLG4pLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGUscixuKX0sW3QsZSxuXSl9ZXhwb3J0e2kgYXMgdXNlRG9jdW1lbnRFdmVudH07XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwiYyIsInVzZUxhdGVzdFZhbHVlIiwiYSIsImkiLCJ0IiwiZSIsIm8iLCJuIiwidSIsInIiLCJtIiwiY3VycmVudCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ1c2VEb2N1bWVudEV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-document-event.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-element-size.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-element-size.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useElementSize: function() { return /* binding */ f; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction s(e) {\n if (e === null) return {\n width: 0,\n height: 0\n };\n let { width: n, height: t } = e.getBoundingClientRect();\n return {\n width: n,\n height: t\n };\n}\nfunction f(e) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;\n let t = e === null ? null : \"current\" in e ? e.current : e, [l, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(()=>({}), {}), r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>s(t), [\n t,\n l\n ]);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n if (!t) return;\n let i = new ResizeObserver(u);\n return i.observe(t), ()=>{\n i.disconnect();\n };\n }, [\n t\n ]), n ? {\n width: `${r.width}px`,\n height: `${r.height}px`\n } : r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1lbGVtZW50LXNpemUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdEO0FBQWtFO0FBQUEsU0FBU00sRUFBRUMsQ0FBQztJQUFFLElBQUdBLE1BQUksTUFBSyxPQUFNO1FBQUNDLE9BQU07UUFBRUMsUUFBTztJQUFDO0lBQUUsSUFBRyxFQUFDRCxPQUFNRSxDQUFDLEVBQUNELFFBQU9FLENBQUMsRUFBQyxHQUFDSixFQUFFSyxxQkFBcUI7SUFBRyxPQUFNO1FBQUNKLE9BQU1FO1FBQUVELFFBQU9FO0lBQUM7QUFBQztBQUFDLFNBQVNFLEVBQUVOLENBQUM7UUFBQ0csSUFBQUEsaUVBQUUsQ0FBQztJQUFHLElBQUlDLElBQUVKLE1BQUksT0FBSyxPQUFLLGFBQVlBLElBQUVBLEVBQUVPLE9BQU8sR0FBQ1AsR0FBRSxDQUFDUSxHQUFFQyxFQUFFLEdBQUNiLGlEQUFDQSxDQUFDLElBQUssRUFBQyxJQUFHLENBQUMsSUFBR2MsSUFBRWhCLDhDQUFDQSxDQUFDLElBQUlLLEVBQUVLLElBQUc7UUFBQ0E7UUFBRUk7S0FBRTtJQUFFLE9BQU9WLCtFQUFDQSxDQUFDO1FBQUssSUFBRyxDQUFDTSxHQUFFO1FBQU8sSUFBSU8sSUFBRSxJQUFJQyxlQUFlSDtRQUFHLE9BQU9FLEVBQUVFLE9BQU8sQ0FBQ1QsSUFBRztZQUFLTyxFQUFFRyxVQUFVO1FBQUU7SUFBQyxHQUFFO1FBQUNWO0tBQUUsR0FBRUQsSUFBRTtRQUFDRixPQUFNLENBQUMsRUFBRVMsRUFBRVQsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUFDQyxRQUFPLENBQUMsRUFBRVEsRUFBRVIsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUFBLElBQUVRO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWVsZW1lbnQtc2l6ZS5qcz82YWZmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VNZW1vIGFzIG8sdXNlUmVkdWNlciBhcyBjfWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgaH1mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7ZnVuY3Rpb24gcyhlKXtpZihlPT09bnVsbClyZXR1cm57d2lkdGg6MCxoZWlnaHQ6MH07bGV0e3dpZHRoOm4saGVpZ2h0OnR9PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3dpZHRoOm4saGVpZ2h0OnR9fWZ1bmN0aW9uIGYoZSxuPSExKXtsZXQgdD1lPT09bnVsbD9udWxsOlwiY3VycmVudFwiaW4gZT9lLmN1cnJlbnQ6ZSxbbCx1XT1jKCgpPT4oe30pLHt9KSxyPW8oKCk9PnModCksW3QsbF0pO3JldHVybiBoKCgpPT57aWYoIXQpcmV0dXJuO2xldCBpPW5ldyBSZXNpemVPYnNlcnZlcih1KTtyZXR1cm4gaS5vYnNlcnZlKHQpLCgpPT57aS5kaXNjb25uZWN0KCl9fSxbdF0pLG4/e3dpZHRoOmAke3Iud2lkdGh9cHhgLGhlaWdodDpgJHtyLmhlaWdodH1weGB9OnJ9ZXhwb3J0e2YgYXMgdXNlRWxlbWVudFNpemV9O1xuIl0sIm5hbWVzIjpbInVzZU1lbW8iLCJvIiwidXNlUmVkdWNlciIsImMiLCJ1c2VJc29Nb3JwaGljRWZmZWN0IiwiaCIsInMiLCJlIiwid2lkdGgiLCJoZWlnaHQiLCJuIiwidCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImYiLCJjdXJyZW50IiwibCIsInUiLCJyIiwiaSIsIlJlc2l6ZU9ic2VydmVyIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJ1c2VFbGVtZW50U2l6ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-element-size.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event-listener.js":
/*!*************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-event-listener.js ***!
\*************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEventListener: function() { return /* binding */ E; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n\n\nfunction E(n, e, a, t) {\n let i = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(a);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n n = n != null ? n : window;\n function r(o) {\n i.current(o);\n }\n return n.addEventListener(e, r, t), ()=>n.removeEventListener(e, r, t);\n }, [\n n,\n e,\n t\n ]);\n}\n_c = E;\n\nvar _c;\n$RefreshReg$(_c, \"E\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1ldmVudC1saXN0ZW5lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFBdUQ7QUFBQSxTQUFTSSxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsSUFBSUMsSUFBRU4sb0VBQUNBLENBQUNJO0lBQUdOLGdEQUFDQSxDQUFDO1FBQUtJLElBQUVBLEtBQUcsT0FBS0EsSUFBRUs7UUFBTyxTQUFTQyxFQUFFQyxDQUFDO1lBQUVILEVBQUVJLE9BQU8sQ0FBQ0Q7UUFBRTtRQUFDLE9BQU9QLEVBQUVTLGdCQUFnQixDQUFDUixHQUFFSyxHQUFFSCxJQUFHLElBQUlILEVBQUVVLG1CQUFtQixDQUFDVCxHQUFFSyxHQUFFSDtJQUFFLEdBQUU7UUFBQ0g7UUFBRUM7UUFBRUU7S0FBRTtBQUFDO0tBQXRKSjtBQUFxTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQtbGlzdGVuZXIuanM/ODNkMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGR9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgc31mcm9tJy4vdXNlLWxhdGVzdC12YWx1ZS5qcyc7ZnVuY3Rpb24gRShuLGUsYSx0KXtsZXQgaT1zKGEpO2QoKCk9PntuPW4hPW51bGw/bjp3aW5kb3c7ZnVuY3Rpb24gcihvKXtpLmN1cnJlbnQobyl9cmV0dXJuIG4uYWRkRXZlbnRMaXN0ZW5lcihlLHIsdCksKCk9Pm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHIsdCl9LFtuLGUsdF0pfWV4cG9ydHtFIGFzIHVzZUV2ZW50TGlzdGVuZXJ9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImQiLCJ1c2VMYXRlc3RWYWx1ZSIsInMiLCJFIiwibiIsImUiLCJhIiwidCIsImkiLCJ3aW5kb3ciLCJyIiwibyIsImN1cnJlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVzZUV2ZW50TGlzdGVuZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event-listener.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js":
/*!****************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-event.js ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEvent: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\nvar _s = $RefreshSig$();\n\n\nlet o = function(t) {\n _s();\n let e = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return e.current(...r);\n }, [\n e\n ]);\n};\n_s(o, \"epj4qY15NHsef74wNqHIp5fdZmg=\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1ldmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXFCO0FBQXVEO0FBQUEsSUFBSUcsSUFBRSxTQUFTQyxDQUFDOztJQUFFLElBQUlDLElBQUVILG9FQUFDQSxDQUFDRTtJQUFHLE9BQU9KLDhDQUFhLENBQUM7eUNBQUlPO1lBQUFBOztlQUFJRixFQUFFRyxPQUFPLElBQUlEO09BQUc7UUFBQ0Y7S0FBRTtBQUFDO0dBQTFFRjtBQUFrRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQuanM/NGFmYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYSBmcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBufWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztsZXQgbz1mdW5jdGlvbih0KXtsZXQgZT1uKHQpO3JldHVybiBhLnVzZUNhbGxiYWNrKCguLi5yKT0+ZS5jdXJyZW50KC4uLnIpLFtlXSl9O2V4cG9ydHtvIGFzIHVzZUV2ZW50fTtcbiJdLCJuYW1lcyI6WyJhIiwidXNlTGF0ZXN0VmFsdWUiLCJuIiwibyIsInQiLCJlIiwidXNlQ2FsbGJhY2siLCJyIiwiY3VycmVudCIsInVzZUV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js":
/*!****************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-flags.js ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFlags: function() { return /* binding */ c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction c() {\n let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n let [t, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(u), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l(e), [\n t\n ]), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a | e), [\n t\n ]), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>(t & e) === e, [\n t\n ]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a & ~e), [\n l\n ]), F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>l((a)=>a ^ e), [\n l\n ]);\n return {\n flags: t,\n setFlag: g,\n addFlag: s,\n hasFlag: m,\n removeFlag: n,\n toggleFlag: F\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1mbGFncy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrRDtBQUFBLFNBQVNJO1FBQUVDLElBQUFBLGlFQUFFO0lBQUcsSUFBRyxDQUFDQyxHQUFFQyxFQUFFLEdBQUNKLCtDQUFDQSxDQUFDRSxJQUFHRyxJQUFFUCxrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUUsSUFBRztRQUFDSDtLQUFFLEdBQUVJLElBQUVULGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFRixJQUFHO1FBQUNIO0tBQUUsR0FBRU0sSUFBRVgsa0RBQUNBLENBQUNRLENBQUFBLElBQUcsQ0FBQ0gsSUFBRUcsQ0FBQUEsTUFBS0EsR0FBRTtRQUFDSDtLQUFFLEdBQUVPLElBQUVaLGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHRixFQUFFSSxDQUFBQSxJQUFHQSxJQUFFLENBQUNGLElBQUc7UUFBQ0Y7S0FBRSxHQUFFTyxJQUFFYixrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUksQ0FBQUEsSUFBR0EsSUFBRUYsSUFBRztRQUFDRjtLQUFFO0lBQUUsT0FBTTtRQUFDUSxPQUFNVDtRQUFFVSxTQUFRUjtRQUFFUyxTQUFRUDtRQUFFUSxTQUFRTjtRQUFFTyxZQUFXTjtRQUFFTyxZQUFXTjtJQUFDO0FBQUM7QUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWZsYWdzLmpzPzgwZmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUNhbGxiYWNrIGFzIHIsdXNlU3RhdGUgYXMgYn1mcm9tXCJyZWFjdFwiO2Z1bmN0aW9uIGModT0wKXtsZXRbdCxsXT1iKHUpLGc9cihlPT5sKGUpLFt0XSkscz1yKGU9PmwoYT0+YXxlKSxbdF0pLG09cihlPT4odCZlKT09PWUsW3RdKSxuPXIoZT0+bChhPT5hJn5lKSxbbF0pLEY9cihlPT5sKGE9PmFeZSksW2xdKTtyZXR1cm57ZmxhZ3M6dCxzZXRGbGFnOmcsYWRkRmxhZzpzLGhhc0ZsYWc6bSxyZW1vdmVGbGFnOm4sdG9nZ2xlRmxhZzpGfX1leHBvcnR7YyBhcyB1c2VGbGFnc307XG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJyIiwidXNlU3RhdGUiLCJiIiwiYyIsInUiLCJ0IiwibCIsImciLCJlIiwicyIsImEiLCJtIiwibiIsIkYiLCJmbGFncyIsInNldEZsYWciLCJhZGRGbGFnIiwiaGFzRmxhZyIsInJlbW92ZUZsYWciLCJ0b2dnbGVGbGFnIiwidXNlRmxhZ3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js":
/*!*********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsMounted: function() { return /* binding */ f; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction f() {\n let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>(e.current = !0, ()=>{\n e.current = !1;\n }), []), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErQjtBQUFrRTtBQUFBLFNBQVNJO0lBQUksSUFBSUMsSUFBRUosNkNBQUNBLENBQUMsQ0FBQztJQUFHLE9BQU9FLCtFQUFDQSxDQUFDLElBQUtFLENBQUFBLEVBQUVDLE9BQU8sR0FBQyxDQUFDLEdBQUU7WUFBS0QsRUFBRUMsT0FBTyxHQUFDLENBQUM7UUFBQyxJQUFHLEVBQUUsR0FBRUQ7QUFBQztBQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtbW91bnRlZC5qcz8wZmY5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VSZWYgYXMgcn1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHR9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGYoKXtsZXQgZT1yKCExKTtyZXR1cm4gdCgoKT0+KGUuY3VycmVudD0hMCwoKT0+e2UuY3VycmVudD0hMX0pLFtdKSxlfWV4cG9ydHtmIGFzIHVzZUlzTW91bnRlZH07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiciIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ0IiwiZiIsImUiLCJjdXJyZW50IiwidXNlSXNNb3VudGVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsTopLayer: function() { return /* binding */ x; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_default_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/default-map.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/default-map.js\");\n/* harmony import */ var _utils_store_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/store.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/store.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _use_store_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-store.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-store.js\");\n\n\n\n\n\nlet p = new _utils_default_map_js__WEBPACK_IMPORTED_MODULE_1__.DefaultMap(()=>(0,_utils_store_js__WEBPACK_IMPORTED_MODULE_2__.createStore)(()=>[], {\n ADD (r) {\n return this.includes(r) ? this : [\n ...this,\n r\n ];\n },\n REMOVE (r) {\n let e = this.indexOf(r);\n if (e === -1) return this;\n let t = this.slice();\n return t.splice(e, 1), t;\n }\n }));\nfunction x(r, e) {\n let t = p.get(e), i = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), h = (0,_use_store_js__WEBPACK_IMPORTED_MODULE_3__.useStore)(t);\n if ((0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_4__.useIsoMorphicEffect)(()=>{\n if (r) return t.dispatch(\"ADD\", i), ()=>t.dispatch(\"REMOVE\", i);\n }, [\n t,\n r\n ]), !r) return !1;\n let s = h.indexOf(i), o = h.length;\n return s === -1 && (s = o, o += 1), s === o - 1;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy10b3AtbGF5ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQThCO0FBQXFEO0FBQWdEO0FBQWtFO0FBQTBDO0FBQUEsSUFBSVUsSUFBRSxJQUFJUCw2REFBQ0EsQ0FBQyxJQUFJRSw0REFBQ0EsQ0FBQyxJQUFJLEVBQUUsRUFBQztRQUFDTSxLQUFJQyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0QsS0FBRyxJQUFJLEdBQUM7bUJBQUksSUFBSTtnQkFBQ0E7YUFBRTtRQUFBO1FBQUVFLFFBQU9GLENBQUM7WUFBRSxJQUFJRyxJQUFFLElBQUksQ0FBQ0MsT0FBTyxDQUFDSjtZQUFHLElBQUdHLE1BQUksQ0FBQyxHQUFFLE9BQU8sSUFBSTtZQUFDLElBQUlFLElBQUUsSUFBSSxDQUFDQyxLQUFLO1lBQUcsT0FBT0QsRUFBRUUsTUFBTSxDQUFDSixHQUFFLElBQUdFO1FBQUM7SUFBQztBQUFJLFNBQVNHLEVBQUVSLENBQUMsRUFBQ0csQ0FBQztJQUFFLElBQUlFLElBQUVQLEVBQUVXLEdBQUcsQ0FBQ04sSUFBR08sSUFBRXJCLDRDQUFDQSxJQUFHc0IsSUFBRWQsdURBQUNBLENBQUNRO0lBQUcsSUFBR1YsK0VBQUNBLENBQUM7UUFBSyxJQUFHSyxHQUFFLE9BQU9LLEVBQUVPLFFBQVEsQ0FBQyxPQUFNRixJQUFHLElBQUlMLEVBQUVPLFFBQVEsQ0FBQyxVQUFTRjtJQUFFLEdBQUU7UUFBQ0w7UUFBRUw7S0FBRSxHQUFFLENBQUNBLEdBQUUsT0FBTSxDQUFDO0lBQUUsSUFBSWEsSUFBRUYsRUFBRVAsT0FBTyxDQUFDTSxJQUFHSSxJQUFFSCxFQUFFSSxNQUFNO0lBQUMsT0FBT0YsTUFBSSxDQUFDLEtBQUlBLENBQUFBLElBQUVDLEdBQUVBLEtBQUcsSUFBR0QsTUFBSUMsSUFBRTtBQUFDO0FBQTRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy10b3AtbGF5ZXIuanM/MzliZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlSWQgYXMgbn1mcm9tXCJyZWFjdFwiO2ltcG9ydHtEZWZhdWx0TWFwIGFzIGZ9ZnJvbScuLi91dGlscy9kZWZhdWx0LW1hcC5qcyc7aW1wb3J0e2NyZWF0ZVN0b3JlIGFzIHV9ZnJvbScuLi91dGlscy9zdG9yZS5qcyc7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgY31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7aW1wb3J0e3VzZVN0b3JlIGFzIGx9ZnJvbScuL3VzZS1zdG9yZS5qcyc7bGV0IHA9bmV3IGYoKCk9PnUoKCk9PltdLHtBREQocil7cmV0dXJuIHRoaXMuaW5jbHVkZXMocik/dGhpczpbLi4udGhpcyxyXX0sUkVNT1ZFKHIpe2xldCBlPXRoaXMuaW5kZXhPZihyKTtpZihlPT09LTEpcmV0dXJuIHRoaXM7bGV0IHQ9dGhpcy5zbGljZSgpO3JldHVybiB0LnNwbGljZShlLDEpLHR9fSkpO2Z1bmN0aW9uIHgocixlKXtsZXQgdD1wLmdldChlKSxpPW4oKSxoPWwodCk7aWYoYygoKT0+e2lmKHIpcmV0dXJuIHQuZGlzcGF0Y2goXCJBRERcIixpKSwoKT0+dC5kaXNwYXRjaChcIlJFTU9WRVwiLGkpfSxbdCxyXSksIXIpcmV0dXJuITE7bGV0IHM9aC5pbmRleE9mKGkpLG89aC5sZW5ndGg7cmV0dXJuIHM9PT0tMSYmKHM9byxvKz0xKSxzPT09by0xfWV4cG9ydHt4IGFzIHVzZUlzVG9wTGF5ZXJ9O1xuIl0sIm5hbWVzIjpbInVzZUlkIiwibiIsIkRlZmF1bHRNYXAiLCJmIiwiY3JlYXRlU3RvcmUiLCJ1IiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsImMiLCJ1c2VTdG9yZSIsImwiLCJwIiwiQUREIiwiciIsImluY2x1ZGVzIiwiUkVNT1ZFIiwiZSIsImluZGV4T2YiLCJ0Iiwic2xpY2UiLCJzcGxpY2UiLCJ4IiwiZ2V0IiwiaSIsImgiLCJkaXNwYXRjaCIsInMiLCJvIiwibGVuZ3RoIiwidXNlSXNUb3BMYXllciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js ***!
\*****************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsoMorphicEffect: function() { return /* binding */ n; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\n\nlet n = (e, t)=>{\n _utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.isServer ? (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(e, t) : (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(e, t);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXVEO0FBQXNDO0FBQUEsSUFBSU0sSUFBRSxDQUFDQyxHQUFFQztJQUFLSCw4Q0FBQ0EsQ0FBQ0ksUUFBUSxHQUFDUixnREFBQ0EsQ0FBQ00sR0FBRUMsS0FBR0wsc0RBQUNBLENBQUNJLEdBQUVDO0FBQUU7QUFBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcz9mNWFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgZix1c2VMYXlvdXRFZmZlY3QgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHtlbnYgYXMgaX1mcm9tJy4uL3V0aWxzL2Vudi5qcyc7bGV0IG49KGUsdCk9PntpLmlzU2VydmVyP2YoZSx0KTpjKGUsdCl9O2V4cG9ydHtuIGFzIHVzZUlzb01vcnBoaWNFZmZlY3R9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjIiwiZW52IiwiaSIsIm4iLCJlIiwidCIsImlzU2VydmVyIiwidXNlSXNvTW9ycGhpY0VmZmVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-latest-value.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLatestValue: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction s(e) {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(e);\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n r.current = e;\n }, [\n e\n ]), r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStCO0FBQWtFO0FBQUEsU0FBU0ksRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUVMLDZDQUFDQSxDQUFDSTtJQUFHLE9BQU9GLCtFQUFDQSxDQUFDO1FBQUtHLEVBQUVDLE9BQU8sR0FBQ0Y7SUFBQyxHQUFFO1FBQUNBO0tBQUUsR0FBRUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtbGF0ZXN0LXZhbHVlLmpzPzdiOGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyB0fWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgb31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7ZnVuY3Rpb24gcyhlKXtsZXQgcj10KGUpO3JldHVybiBvKCgpPT57ci5jdXJyZW50PWV9LFtlXSkscn1leHBvcnR7cyBhcyB1c2VMYXRlc3RWYWx1ZX07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwidCIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJvIiwicyIsImUiLCJyIiwiY3VycmVudCIsInVzZUxhdGVzdFZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-on-disappear.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-on-disappear.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOnDisappear: function() { return /* binding */ m; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n\n\n\nfunction m(s, n, l) {\n let i = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)((t)=>{\n let e = t.getBoundingClientRect();\n e.x === 0 && e.y === 0 && e.width === 0 && e.height === 0 && l();\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!s) return;\n let t = n === null ? null : n instanceof HTMLElement ? n : n.current;\n if (!t) return;\n let e = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_2__.disposables)();\n if (typeof ResizeObserver != \"undefined\") {\n let r = new ResizeObserver(()=>i.current(t));\n r.observe(t), e.add(()=>r.disconnect());\n }\n if (typeof IntersectionObserver != \"undefined\") {\n let r = new IntersectionObserver(()=>i.current(t));\n r.observe(t), e.add(()=>r.disconnect());\n }\n return ()=>e.dispose();\n }, [\n n,\n i,\n s\n ]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vbi1kaXNhcHBlYXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFrQztBQUFzRDtBQUF1RDtBQUFBLFNBQVNNLEVBQUVDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUwsb0VBQUNBLENBQUNNLENBQUFBO1FBQUksSUFBSUMsSUFBRUQsRUFBRUUscUJBQXFCO1FBQUdELEVBQUVFLENBQUMsS0FBRyxLQUFHRixFQUFFRyxDQUFDLEtBQUcsS0FBR0gsRUFBRUksS0FBSyxLQUFHLEtBQUdKLEVBQUVLLE1BQU0sS0FBRyxLQUFHUjtJQUFHO0lBQUdSLGdEQUFDQSxDQUFDO1FBQUssSUFBRyxDQUFDTSxHQUFFO1FBQU8sSUFBSUksSUFBRUgsTUFBSSxPQUFLLE9BQUtBLGFBQWFVLGNBQVlWLElBQUVBLEVBQUVXLE9BQU87UUFBQyxJQUFHLENBQUNSLEdBQUU7UUFBTyxJQUFJQyxJQUFFVCxrRUFBQ0E7UUFBRyxJQUFHLE9BQU9pQixrQkFBZ0IsYUFBWTtZQUFDLElBQUlDLElBQUUsSUFBSUQsZUFBZSxJQUFJVixFQUFFUyxPQUFPLENBQUNSO1lBQUlVLEVBQUVDLE9BQU8sQ0FBQ1gsSUFBR0MsRUFBRVcsR0FBRyxDQUFDLElBQUlGLEVBQUVHLFVBQVU7UUFBRztRQUFDLElBQUcsT0FBT0Msd0JBQXNCLGFBQVk7WUFBQyxJQUFJSixJQUFFLElBQUlJLHFCQUFxQixJQUFJZixFQUFFUyxPQUFPLENBQUNSO1lBQUlVLEVBQUVDLE9BQU8sQ0FBQ1gsSUFBR0MsRUFBRVcsR0FBRyxDQUFDLElBQUlGLEVBQUVHLFVBQVU7UUFBRztRQUFDLE9BQU0sSUFBSVosRUFBRWMsT0FBTztJQUFFLEdBQUU7UUFBQ2xCO1FBQUVFO1FBQUVIO0tBQUU7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2Utb24tZGlzYXBwZWFyLmpzPzkyZDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUVmZmVjdCBhcyBvfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIHV9ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e3VzZUxhdGVzdFZhbHVlIGFzIGN9ZnJvbScuL3VzZS1sYXRlc3QtdmFsdWUuanMnO2Z1bmN0aW9uIG0ocyxuLGwpe2xldCBpPWModD0+e2xldCBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZS54PT09MCYmZS55PT09MCYmZS53aWR0aD09PTAmJmUuaGVpZ2h0PT09MCYmbCgpfSk7bygoKT0+e2lmKCFzKXJldHVybjtsZXQgdD1uPT09bnVsbD9udWxsOm4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9uOm4uY3VycmVudDtpZighdClyZXR1cm47bGV0IGU9dSgpO2lmKHR5cGVvZiBSZXNpemVPYnNlcnZlciE9XCJ1bmRlZmluZWRcIil7bGV0IHI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT5pLmN1cnJlbnQodCkpO3Iub2JzZXJ2ZSh0KSxlLmFkZCgoKT0+ci5kaXNjb25uZWN0KCkpfWlmKHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciE9XCJ1bmRlZmluZWRcIil7bGV0IHI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgpPT5pLmN1cnJlbnQodCkpO3Iub2JzZXJ2ZSh0KSxlLmFkZCgoKT0+ci5kaXNjb25uZWN0KCkpfXJldHVybigpPT5lLmRpc3Bvc2UoKX0sW24saSxzXSl9ZXhwb3J0e20gYXMgdXNlT25EaXNhcHBlYXJ9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsIm8iLCJkaXNwb3NhYmxlcyIsInUiLCJ1c2VMYXRlc3RWYWx1ZSIsImMiLCJtIiwicyIsIm4iLCJsIiwiaSIsInQiLCJlIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJ3aWR0aCIsImhlaWdodCIsIkhUTUxFbGVtZW50IiwiY3VycmVudCIsIlJlc2l6ZU9ic2VydmVyIiwiciIsIm9ic2VydmUiLCJhZGQiLCJkaXNjb25uZWN0IiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJkaXNwb3NlIiwidXNlT25EaXNhcHBlYXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-on-disappear.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-on-unmount.js":
/*!*********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-on-unmount.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOnUnmount: function() { return /* binding */ c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_micro_task_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\n\nfunction c(t) {\n let r = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_1__.useEvent)(t), e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(e.current = !1, ()=>{\n e.current = !0, (0,_utils_micro_task_js__WEBPACK_IMPORTED_MODULE_2__.microTask)(()=>{\n e.current && r();\n });\n }), [\n r\n ]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vbi11bm1vdW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBOEM7QUFBbUQ7QUFBMEM7QUFBQSxTQUFTUSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUgsdURBQUNBLENBQUNFLElBQUdFLElBQUVSLDZDQUFDQSxDQUFDLENBQUM7SUFBR0YsZ0RBQUNBLENBQUMsSUFBS1UsQ0FBQUEsRUFBRUMsT0FBTyxHQUFDLENBQUMsR0FBRTtZQUFLRCxFQUFFQyxPQUFPLEdBQUMsQ0FBQyxHQUFFUCwrREFBQ0EsQ0FBQztnQkFBS00sRUFBRUMsT0FBTyxJQUFFRjtZQUFHO1FBQUUsSUFBRztRQUFDQTtLQUFFO0FBQUM7QUFBMkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLW9uLXVubW91bnQuanM/NWYyZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIHUsdXNlUmVmIGFzIG59ZnJvbVwicmVhY3RcIjtpbXBvcnR7bWljcm9UYXNrIGFzIG99ZnJvbScuLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgZn1mcm9tJy4vdXNlLWV2ZW50LmpzJztmdW5jdGlvbiBjKHQpe2xldCByPWYodCksZT1uKCExKTt1KCgpPT4oZS5jdXJyZW50PSExLCgpPT57ZS5jdXJyZW50PSEwLG8oKCk9PntlLmN1cnJlbnQmJnIoKX0pfSksW3JdKX1leHBvcnR7YyBhcyB1c2VPblVubW91bnR9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInUiLCJ1c2VSZWYiLCJuIiwibWljcm9UYXNrIiwibyIsInVzZUV2ZW50IiwiZiIsImMiLCJ0IiwiciIsImUiLCJjdXJyZW50IiwidXNlT25Vbm1vdW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-on-unmount.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-outside-click.js":
/*!************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-outside-click.js ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOutsideClick: function() { return /* binding */ F; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/platform.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/platform.js\");\n/* harmony import */ var _use_document_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-document-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-document-event.js\");\n/* harmony import */ var _use_is_top_layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-is-top-layer.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _use_window_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./use-window-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-window-event.js\");\n\n\n\n\n\n\n\nconst d = 30;\nfunction F(E, p, C) {\n let u = (0,_use_is_top_layer_js__WEBPACK_IMPORTED_MODULE_1__.useIsTopLayer)(E, \"outside-click\"), f = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_2__.useLatestValue)(C), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(e, o) {\n if (e.defaultPrevented) return;\n let r = o(e);\n if (r === null || !r.getRootNode().contains(r) || !r.isConnected) return;\n let T = function i(n) {\n return typeof n == \"function\" ? i(n()) : Array.isArray(n) || n instanceof Set ? n : [\n n\n ];\n }(p);\n for (let i of T){\n if (i === null) continue;\n let n = i instanceof HTMLElement ? i : i.current;\n if (n != null && n.contains(r) || e.composed && e.composedPath().includes(n)) return;\n }\n return !(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_3__.isFocusableElement)(r, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_3__.FocusableMode.Loose) && r.tabIndex !== -1 && e.preventDefault(), f.current(e, r);\n }, [\n f\n ]), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_4__.useDocumentEvent)(u, \"pointerdown\", (t)=>{\n var e, o;\n l.current = ((o = (e = t.composedPath) == null ? void 0 : e.call(t)) == null ? void 0 : o[0]) || t.target;\n }, !0), (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_4__.useDocumentEvent)(u, \"mousedown\", (t)=>{\n var e, o;\n l.current = ((o = (e = t.composedPath) == null ? void 0 : e.call(t)) == null ? void 0 : o[0]) || t.target;\n }, !0), (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_4__.useDocumentEvent)(u, \"click\", (t)=>{\n (0,_utils_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMobile)() || l.current && (s(t, ()=>l.current), l.current = null);\n }, !0);\n let a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n x: 0,\n y: 0\n });\n (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_4__.useDocumentEvent)(u, \"touchstart\", (t)=>{\n a.current.x = t.touches[0].clientX, a.current.y = t.touches[0].clientY;\n }, !0), (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_4__.useDocumentEvent)(u, \"touchend\", (t)=>{\n let e = {\n x: t.changedTouches[0].clientX,\n y: t.changedTouches[0].clientY\n };\n if (!(Math.abs(e.x - a.current.x) >= d || Math.abs(e.y - a.current.y) >= d)) return s(t, ()=>t.target instanceof HTMLElement ? t.target : null);\n }, !0), (0,_use_window_event_js__WEBPACK_IMPORTED_MODULE_6__.useWindowEvent)(u, \"blur\", (t)=>s(t, ()=>window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);\n}\n_c = F;\n\nvar _c;\n$RefreshReg$(_c, \"F\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vdXRzaWRlLWNsaWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQWdEO0FBQXFGO0FBQWdEO0FBQTJEO0FBQXNEO0FBQXVEO0FBQXVEO0FBQUEsTUFBTWtCLElBQUU7QUFBRyxTQUFTQyxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDLElBQUVWLG1FQUFDQSxDQUFDTyxHQUFFLGtCQUFpQkksSUFBRVQsb0VBQUNBLENBQUNPLElBQUdHLElBQUV4QixrREFBQ0EsQ0FBQyxTQUFTeUIsQ0FBQyxFQUFDQyxDQUFDO1FBQUUsSUFBR0QsRUFBRUUsZ0JBQWdCLEVBQUM7UUFBTyxJQUFJQyxJQUFFRixFQUFFRDtRQUFHLElBQUdHLE1BQUksUUFBTSxDQUFDQSxFQUFFQyxXQUFXLEdBQUdDLFFBQVEsQ0FBQ0YsTUFBSSxDQUFDQSxFQUFFRyxXQUFXLEVBQUM7UUFBTyxJQUFJQyxJQUFFLFNBQVNDLEVBQUVDLENBQUM7WUFBRSxPQUFPLE9BQU9BLEtBQUcsYUFBV0QsRUFBRUMsT0FBS0MsTUFBTUMsT0FBTyxDQUFDRixNQUFJQSxhQUFhRyxNQUFJSCxJQUFFO2dCQUFDQTthQUFFO1FBQUEsRUFBRWQ7UUFBRyxLQUFJLElBQUlhLEtBQUtELEVBQUU7WUFBQyxJQUFHQyxNQUFJLE1BQUs7WUFBUyxJQUFJQyxJQUFFRCxhQUFhSyxjQUFZTCxJQUFFQSxFQUFFTSxPQUFPO1lBQUMsSUFBR0wsS0FBRyxRQUFNQSxFQUFFSixRQUFRLENBQUNGLE1BQUlILEVBQUVlLFFBQVEsSUFBRWYsRUFBRWdCLFlBQVksR0FBR0MsUUFBUSxDQUFDUixJQUFHO1FBQU07UUFBQyxPQUFNLENBQUM1Qiw4RUFBQ0EsQ0FBQ3NCLEdBQUV4QixxRUFBQ0EsQ0FBQ3VDLEtBQUssS0FBR2YsRUFBRWdCLFFBQVEsS0FBRyxDQUFDLEtBQUduQixFQUFFb0IsY0FBYyxJQUFHdEIsRUFBRWdCLE9BQU8sQ0FBQ2QsR0FBRUc7SUFBRSxHQUFFO1FBQUNMO0tBQUUsR0FBRXVCLElBQUU1Qyw2Q0FBQ0EsQ0FBQztJQUFNUSx3RUFBQ0EsQ0FBQ1ksR0FBRSxlQUFjeUIsQ0FBQUE7UUFBSSxJQUFJdEIsR0FBRUM7UUFBRW9CLEVBQUVQLE9BQU8sR0FBQyxDQUFDLENBQUNiLElBQUUsQ0FBQ0QsSUFBRXNCLEVBQUVOLFlBQVksS0FBRyxPQUFLLEtBQUssSUFBRWhCLEVBQUV1QixJQUFJLENBQUNELEVBQUMsS0FBSSxPQUFLLEtBQUssSUFBRXJCLENBQUMsQ0FBQyxFQUFFLEtBQUdxQixFQUFFRSxNQUFNO0lBQUEsR0FBRSxDQUFDLElBQUd2Qyx3RUFBQ0EsQ0FBQ1ksR0FBRSxhQUFZeUIsQ0FBQUE7UUFBSSxJQUFJdEIsR0FBRUM7UUFBRW9CLEVBQUVQLE9BQU8sR0FBQyxDQUFDLENBQUNiLElBQUUsQ0FBQ0QsSUFBRXNCLEVBQUVOLFlBQVksS0FBRyxPQUFLLEtBQUssSUFBRWhCLEVBQUV1QixJQUFJLENBQUNELEVBQUMsS0FBSSxPQUFLLEtBQUssSUFBRXJCLENBQUMsQ0FBQyxFQUFFLEtBQUdxQixFQUFFRSxNQUFNO0lBQUEsR0FBRSxDQUFDLElBQUd2Qyx3RUFBQ0EsQ0FBQ1ksR0FBRSxTQUFReUIsQ0FBQUE7UUFBSXZDLDREQUFDQSxNQUFJc0MsRUFBRVAsT0FBTyxJQUFHZixDQUFBQSxFQUFFdUIsR0FBRSxJQUFJRCxFQUFFUCxPQUFPLEdBQUVPLEVBQUVQLE9BQU8sR0FBQyxJQUFHO0lBQUUsR0FBRSxDQUFDO0lBQUcsSUFBSVcsSUFBRWhELDZDQUFDQSxDQUFDO1FBQUNpRCxHQUFFO1FBQUUzQyxHQUFFO0lBQUM7SUFBR0Usd0VBQUNBLENBQUNZLEdBQUUsY0FBYXlCLENBQUFBO1FBQUlHLEVBQUVYLE9BQU8sQ0FBQ1ksQ0FBQyxHQUFDSixFQUFFSyxPQUFPLENBQUMsRUFBRSxDQUFDQyxPQUFPLEVBQUNILEVBQUVYLE9BQU8sQ0FBQy9CLENBQUMsR0FBQ3VDLEVBQUVLLE9BQU8sQ0FBQyxFQUFFLENBQUNFLE9BQU87SUFBQSxHQUFFLENBQUMsSUFBRzVDLHdFQUFDQSxDQUFDWSxHQUFFLFlBQVd5QixDQUFBQTtRQUFJLElBQUl0QixJQUFFO1lBQUMwQixHQUFFSixFQUFFUSxjQUFjLENBQUMsRUFBRSxDQUFDRixPQUFPO1lBQUM3QyxHQUFFdUMsRUFBRVEsY0FBYyxDQUFDLEVBQUUsQ0FBQ0QsT0FBTztRQUFBO1FBQUUsSUFBRyxDQUFFRSxDQUFBQSxLQUFLQyxHQUFHLENBQUNoQyxFQUFFMEIsQ0FBQyxHQUFDRCxFQUFFWCxPQUFPLENBQUNZLENBQUMsS0FBR2xDLEtBQUd1QyxLQUFLQyxHQUFHLENBQUNoQyxFQUFFakIsQ0FBQyxHQUFDMEMsRUFBRVgsT0FBTyxDQUFDL0IsQ0FBQyxLQUFHUyxDQUFBQSxHQUFHLE9BQU9PLEVBQUV1QixHQUFFLElBQUlBLEVBQUVFLE1BQU0sWUFBWVgsY0FBWVMsRUFBRUUsTUFBTSxHQUFDO0lBQUssR0FBRSxDQUFDLElBQUdqQyxvRUFBQ0EsQ0FBQ00sR0FBRSxRQUFPeUIsQ0FBQUEsSUFBR3ZCLEVBQUV1QixHQUFFLElBQUlXLE9BQU9DLFFBQVEsQ0FBQ0MsYUFBYSxZQUFZQyxvQkFBa0JILE9BQU9DLFFBQVEsQ0FBQ0MsYUFBYSxHQUFDLE9BQU0sQ0FBQztBQUFFO0tBQXh2QzFDO0FBQXN4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2Utb3V0c2lkZS1jbGljay5qcz8yMTExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VDYWxsYmFjayBhcyBoLHVzZVJlZiBhcyBtfWZyb21cInJlYWN0XCI7aW1wb3J0e0ZvY3VzYWJsZU1vZGUgYXMgTSxpc0ZvY3VzYWJsZUVsZW1lbnQgYXMgYn1mcm9tJy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHtpc01vYmlsZSBhcyB5fWZyb20nLi4vdXRpbHMvcGxhdGZvcm0uanMnO2ltcG9ydHt1c2VEb2N1bWVudEV2ZW50IGFzIGN9ZnJvbScuL3VzZS1kb2N1bWVudC1ldmVudC5qcyc7aW1wb3J0e3VzZUlzVG9wTGF5ZXIgYXMgTH1mcm9tJy4vdXNlLWlzLXRvcC1sYXllci5qcyc7aW1wb3J0e3VzZUxhdGVzdFZhbHVlIGFzIGd9ZnJvbScuL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VXaW5kb3dFdmVudCBhcyBIfWZyb20nLi91c2Utd2luZG93LWV2ZW50LmpzJztjb25zdCBkPTMwO2Z1bmN0aW9uIEYoRSxwLEMpe2xldCB1PUwoRSxcIm91dHNpZGUtY2xpY2tcIiksZj1nKEMpLHM9aChmdW5jdGlvbihlLG8pe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47bGV0IHI9byhlKTtpZihyPT09bnVsbHx8IXIuZ2V0Um9vdE5vZGUoKS5jb250YWlucyhyKXx8IXIuaXNDb25uZWN0ZWQpcmV0dXJuO2xldCBUPWZ1bmN0aW9uIGkobil7cmV0dXJuIHR5cGVvZiBuPT1cImZ1bmN0aW9uXCI/aShuKCkpOkFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBTZXQ/bjpbbl19KHApO2ZvcihsZXQgaSBvZiBUKXtpZihpPT09bnVsbCljb250aW51ZTtsZXQgbj1pIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/aTppLmN1cnJlbnQ7aWYobiE9bnVsbCYmbi5jb250YWlucyhyKXx8ZS5jb21wb3NlZCYmZS5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyhuKSlyZXR1cm59cmV0dXJuIWIocixNLkxvb3NlKSYmci50YWJJbmRleCE9PS0xJiZlLnByZXZlbnREZWZhdWx0KCksZi5jdXJyZW50KGUscil9LFtmXSksbD1tKG51bGwpO2ModSxcInBvaW50ZXJkb3duXCIsdD0+e3ZhciBlLG87bC5jdXJyZW50PSgobz0oZT10LmNvbXBvc2VkUGF0aCk9PW51bGw/dm9pZCAwOmUuY2FsbCh0KSk9PW51bGw/dm9pZCAwOm9bMF0pfHx0LnRhcmdldH0sITApLGModSxcIm1vdXNlZG93blwiLHQ9Pnt2YXIgZSxvO2wuY3VycmVudD0oKG89KGU9dC5jb21wb3NlZFBhdGgpPT1udWxsP3ZvaWQgMDplLmNhbGwodCkpPT1udWxsP3ZvaWQgMDpvWzBdKXx8dC50YXJnZXR9LCEwKSxjKHUsXCJjbGlja1wiLHQ9Pnt5KCl8fGwuY3VycmVudCYmKHModCwoKT0+bC5jdXJyZW50KSxsLmN1cnJlbnQ9bnVsbCl9LCEwKTtsZXQgYT1tKHt4OjAseTowfSk7Yyh1LFwidG91Y2hzdGFydFwiLHQ9PnthLmN1cnJlbnQueD10LnRvdWNoZXNbMF0uY2xpZW50WCxhLmN1cnJlbnQueT10LnRvdWNoZXNbMF0uY2xpZW50WX0sITApLGModSxcInRvdWNoZW5kXCIsdD0+e2xldCBlPXt4OnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCx5OnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WX07aWYoIShNYXRoLmFicyhlLngtYS5jdXJyZW50LngpPj1kfHxNYXRoLmFicyhlLnktYS5jdXJyZW50LnkpPj1kKSlyZXR1cm4gcyh0LCgpPT50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P3QudGFyZ2V0Om51bGwpfSwhMCksSCh1LFwiYmx1clwiLHQ9PnModCwoKT0+d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSUZyYW1lRWxlbWVudD93aW5kb3cuZG9jdW1lbnQuYWN0aXZlRWxlbWVudDpudWxsKSwhMCl9ZXhwb3J0e0YgYXMgdXNlT3V0c2lkZUNsaWNrfTtcbiJdLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsImgiLCJ1c2VSZWYiLCJtIiwiRm9jdXNhYmxlTW9kZSIsIk0iLCJpc0ZvY3VzYWJsZUVsZW1lbnQiLCJiIiwiaXNNb2JpbGUiLCJ5IiwidXNlRG9jdW1lbnRFdmVudCIsImMiLCJ1c2VJc1RvcExheWVyIiwiTCIsInVzZUxhdGVzdFZhbHVlIiwiZyIsInVzZVdpbmRvd0V2ZW50IiwiSCIsImQiLCJGIiwiRSIsInAiLCJDIiwidSIsImYiLCJzIiwiZSIsIm8iLCJkZWZhdWx0UHJldmVudGVkIiwiciIsImdldFJvb3ROb2RlIiwiY29udGFpbnMiLCJpc0Nvbm5lY3RlZCIsIlQiLCJpIiwibiIsIkFycmF5IiwiaXNBcnJheSIsIlNldCIsIkhUTUxFbGVtZW50IiwiY3VycmVudCIsImNvbXBvc2VkIiwiY29tcG9zZWRQYXRoIiwiaW5jbHVkZXMiLCJMb29zZSIsInRhYkluZGV4IiwicHJldmVudERlZmF1bHQiLCJsIiwidCIsImNhbGwiLCJ0YXJnZXQiLCJhIiwieCIsInRvdWNoZXMiLCJjbGllbnRYIiwiY2xpZW50WSIsImNoYW5nZWRUb3VjaGVzIiwiTWF0aCIsImFicyIsIndpbmRvdyIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsIkhUTUxJRnJhbWVFbGVtZW50IiwidXNlT3V0c2lkZUNsaWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-outside-click.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-owner.js":
/*!****************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-owner.js ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOwnerDocument: function() { return /* binding */ n; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n\n\nfunction n() {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>(0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_1__.getOwnerDocument)(...e), [\n ...e\n ]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vd25lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0M7QUFBcUQ7QUFBQSxTQUFTSTtJQUFFO1FBQUdDLEVBQUgsdUJBQUk7O0lBQUUsT0FBT0osOENBQUNBLENBQUMsSUFBSUUsaUVBQUNBLElBQUlFLElBQUc7V0FBSUE7S0FBRTtBQUFDO0FBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vd25lci5qcz9lYWU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VNZW1vIGFzIHR9ZnJvbVwicmVhY3RcIjtpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBvfWZyb20nLi4vdXRpbHMvb3duZXIuanMnO2Z1bmN0aW9uIG4oLi4uZSl7cmV0dXJuIHQoKCk9Pm8oLi4uZSksWy4uLmVdKX1leHBvcnR7biBhcyB1c2VPd25lckRvY3VtZW50fTtcbiJdLCJuYW1lcyI6WyJ1c2VNZW1vIiwidCIsImdldE93bmVyRG9jdW1lbnQiLCJvIiwibiIsImUiLCJ1c2VPd25lckRvY3VtZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-owner.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js":
/*!******************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js ***!
\******************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useResolveButtonType: function() { return /* binding */ T; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction i(t) {\n var n;\n if (t.type) return t.type;\n let e = (n = t.as) != null ? n : \"button\";\n if (typeof e == \"string\" && e.toLowerCase() === \"button\") return \"button\";\n}\nfunction T(t, e) {\n let [n, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>i(t));\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n u(i(t));\n }, [\n t.type,\n t.as\n ]), (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n n || e.current && e.current instanceof HTMLButtonElement && !e.current.hasAttribute(\"type\") && u(\"button\");\n }, [\n n,\n e\n ]), n;\n}\n_c = T;\n\nvar _c;\n$RefreshReg$(_c, \"T\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFpQztBQUFrRTtBQUFBLFNBQVNJLEVBQUVDLENBQUM7SUFBRSxJQUFJQztJQUFFLElBQUdELEVBQUVFLElBQUksRUFBQyxPQUFPRixFQUFFRSxJQUFJO0lBQUMsSUFBSUMsSUFBRSxDQUFDRixJQUFFRCxFQUFFSSxFQUFFLEtBQUcsT0FBS0gsSUFBRTtJQUFTLElBQUcsT0FBT0UsS0FBRyxZQUFVQSxFQUFFRSxXQUFXLE9BQUssVUFBUyxPQUFNO0FBQVE7QUFBQyxTQUFTQyxFQUFFTixDQUFDLEVBQUNHLENBQUM7SUFBRSxJQUFHLENBQUNGLEdBQUVNLEVBQUUsR0FBQ1gsK0NBQUNBLENBQUMsSUFBSUcsRUFBRUM7SUFBSSxPQUFPRiwrRUFBQ0EsQ0FBQztRQUFLUyxFQUFFUixFQUFFQztJQUFHLEdBQUU7UUFBQ0EsRUFBRUUsSUFBSTtRQUFDRixFQUFFSSxFQUFFO0tBQUMsR0FBRU4sK0VBQUNBLENBQUM7UUFBS0csS0FBR0UsRUFBRUssT0FBTyxJQUFFTCxFQUFFSyxPQUFPLFlBQVlDLHFCQUFtQixDQUFDTixFQUFFSyxPQUFPLENBQUNFLFlBQVksQ0FBQyxXQUFTSCxFQUFFO0lBQVMsR0FBRTtRQUFDTjtRQUFFRTtLQUFFLEdBQUVGO0FBQUM7S0FBckxLO0FBQXdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzP2E0NTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVN0YXRlIGFzIG99ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyByfWZyb20nLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztmdW5jdGlvbiBpKHQpe3ZhciBuO2lmKHQudHlwZSlyZXR1cm4gdC50eXBlO2xldCBlPShuPXQuYXMpIT1udWxsP246XCJidXR0b25cIjtpZih0eXBlb2YgZT09XCJzdHJpbmdcIiYmZS50b0xvd2VyQ2FzZSgpPT09XCJidXR0b25cIilyZXR1cm5cImJ1dHRvblwifWZ1bmN0aW9uIFQodCxlKXtsZXRbbix1XT1vKCgpPT5pKHQpKTtyZXR1cm4gcigoKT0+e3UoaSh0KSl9LFt0LnR5cGUsdC5hc10pLHIoKCk9PntufHxlLmN1cnJlbnQmJmUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiYhZS5jdXJyZW50Lmhhc0F0dHJpYnV0ZShcInR5cGVcIikmJnUoXCJidXR0b25cIil9LFtuLGVdKSxufWV4cG9ydHtUIGFzIHVzZVJlc29sdmVCdXR0b25UeXBlfTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIm8iLCJ1c2VJc29Nb3JwaGljRWZmZWN0IiwiciIsImkiLCJ0IiwibiIsInR5cGUiLCJlIiwiYXMiLCJ0b0xvd2VyQ2FzZSIsIlQiLCJ1IiwiY3VycmVudCIsIkhUTUxCdXR0b25FbGVtZW50IiwiaGFzQXR0cmlidXRlIiwidXNlUmVzb2x2ZUJ1dHRvblR5cGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-root-containers.js":
/*!**************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-root-containers.js ***!
\**************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MainTreeProvider: function() { return /* binding */ O; },\n/* harmony export */ useMainTreeNode: function() { return /* binding */ b; },\n/* harmony export */ useRootContainers: function() { return /* binding */ R; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../internal/hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _use_owner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-owner.js\");\n\n\n\n\n\nfunction R() {\n let { defaultContainers: l = [], portals: n, mainTreeNode: o } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n let r = (0,_use_owner_js__WEBPACK_IMPORTED_MODULE_1__.useOwnerDocument)(o), u = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>{\n var i, c;\n let t = [];\n for (let e of l)e !== null && (e instanceof HTMLElement ? t.push(e) : \"current\" in e && e.current instanceof HTMLElement && t.push(e.current));\n if (n != null && n.current) for (let e of n.current)t.push(e);\n for (let e of (i = r == null ? void 0 : r.querySelectorAll(\"html > *, body > *\")) != null ? i : [])e !== document.body && e !== document.head && e instanceof HTMLElement && e.id !== \"headlessui-portal-root\" && (o && (e.contains(o) || e.contains((c = o == null ? void 0 : o.getRootNode()) == null ? void 0 : c.host)) || t.some((m)=>e.contains(m)) || t.push(e));\n return t;\n });\n return {\n resolveContainers: u,\n contains: (0,_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)((t)=>u().some((i)=>i.contains(t)))\n };\n}\n_c = R;\nlet a = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction O(param) {\n let { children: l, node: n } = param;\n let [o, r] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), u = b(n != null ? n : o);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(a.Provider, {\n value: u\n }, l, u === null && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_3__.Hidden, {\n features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_3__.HiddenFeatures.Hidden,\n ref: (t)=>{\n var i, c;\n if (t) {\n for (let e of (c = (i = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_4__.getOwnerDocument)(t)) == null ? void 0 : i.querySelectorAll(\"html > *, body > *\")) != null ? c : [])if (e !== document.body && e !== document.head && e instanceof HTMLElement && e != null && e.contains(t)) {\n r(e);\n break;\n }\n }\n }\n }));\n}\n_c1 = O;\nfunction b() {\n let l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n var n;\n return (n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(a)) != null ? n : l;\n}\n\nvar _c, _c1;\n$RefreshReg$(_c, \"R\");\n$RefreshReg$(_c1, \"O\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yb290LWNvbnRhaW5lcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBdUU7QUFBbUU7QUFBcUQ7QUFBMEM7QUFBa0Q7QUFBQSxTQUFTaUI7UUFBRSxFQUFDQyxtQkFBa0JDLElBQUUsRUFBRSxFQUFDQyxTQUFRQyxDQUFDLEVBQUNDLGNBQWFDLENBQUMsRUFBQyxHQUFqRCxpRUFBa0QsQ0FBQztJQUFHLElBQUlDLElBQUVSLCtEQUFDQSxDQUFDTyxJQUFHRSxJQUFFWCx1REFBQ0EsQ0FBQztRQUFLLElBQUlZLEdBQUVDO1FBQUUsSUFBSUMsSUFBRSxFQUFFO1FBQUMsS0FBSSxJQUFJQyxLQUFLVixFQUFFVSxNQUFJLFFBQU9BLENBQUFBLGFBQWFDLGNBQVlGLEVBQUVHLElBQUksQ0FBQ0YsS0FBRyxhQUFZQSxLQUFHQSxFQUFFRyxPQUFPLFlBQVlGLGVBQWFGLEVBQUVHLElBQUksQ0FBQ0YsRUFBRUcsT0FBTztRQUFHLElBQUdYLEtBQUcsUUFBTUEsRUFBRVcsT0FBTyxFQUFDLEtBQUksSUFBSUgsS0FBS1IsRUFBRVcsT0FBTyxDQUFDSixFQUFFRyxJQUFJLENBQUNGO1FBQUcsS0FBSSxJQUFJQSxLQUFJLENBQUNILElBQUVGLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVTLGdCQUFnQixDQUFDLHFCQUFvQixLQUFJLE9BQUtQLElBQUUsRUFBRSxDQUFDRyxNQUFJSyxTQUFTQyxJQUFJLElBQUVOLE1BQUlLLFNBQVNFLElBQUksSUFBRVAsYUFBYUMsZUFBYUQsRUFBRVEsRUFBRSxLQUFHLDRCQUEyQmQsQ0FBQUEsS0FBSU0sQ0FBQUEsRUFBRVMsUUFBUSxDQUFDZixNQUFJTSxFQUFFUyxRQUFRLENBQUMsQ0FBQ1gsSUFBRUosS0FBRyxPQUFLLEtBQUssSUFBRUEsRUFBRWdCLFdBQVcsRUFBQyxLQUFJLE9BQUssS0FBSyxJQUFFWixFQUFFYSxJQUFJLE1BQUlaLEVBQUVhLElBQUksQ0FBQ0MsQ0FBQUEsSUFBR2IsRUFBRVMsUUFBUSxDQUFDSSxPQUFLZCxFQUFFRyxJQUFJLENBQUNGLEVBQUM7UUFBRyxPQUFPRDtJQUFDO0lBQUcsT0FBTTtRQUFDZSxtQkFBa0JsQjtRQUFFYSxVQUFTeEIsdURBQUNBLENBQUNjLENBQUFBLElBQUdILElBQUlnQixJQUFJLENBQUNmLENBQUFBLElBQUdBLEVBQUVZLFFBQVEsQ0FBQ1Y7SUFBSTtBQUFDO0tBQXZwQlg7QUFBd3BCLElBQUkyQixrQkFBRTFDLG9EQUFDQSxDQUFDO0FBQU0sU0FBUzJDLEVBQUUsS0FBbUI7UUFBbkIsRUFBQ0MsVUFBUzNCLENBQUMsRUFBQzRCLE1BQUsxQixDQUFDLEVBQUMsR0FBbkI7SUFBcUIsSUFBRyxDQUFDRSxHQUFFQyxFQUFFLEdBQUNsQiwrQ0FBQ0EsQ0FBQyxPQUFNbUIsSUFBRXVCLEVBQUUzQixLQUFHLE9BQUtBLElBQUVFO0lBQUcscUJBQU92QixnREFBZSxDQUFDNEMsRUFBRU0sUUFBUSxFQUFDO1FBQUNDLE9BQU0xQjtJQUFDLEdBQUVOLEdBQUVNLE1BQUksc0JBQU16QixnREFBZSxDQUFDUSx1REFBQ0EsRUFBQztRQUFDNEMsVUFBUzFDLCtEQUFDQSxDQUFDSCxNQUFNO1FBQUM4QyxLQUFJekIsQ0FBQUE7WUFBSSxJQUFJRixHQUFFQztZQUFFLElBQUdDLEdBQUU7Z0JBQUMsS0FBSSxJQUFJQyxLQUFJLENBQUNGLElBQUUsQ0FBQ0QsSUFBRWQsaUVBQUNBLENBQUNnQixFQUFDLEtBQUksT0FBSyxLQUFLLElBQUVGLEVBQUVPLGdCQUFnQixDQUFDLHFCQUFvQixLQUFJLE9BQUtOLElBQUUsRUFBRSxDQUFDLElBQUdFLE1BQUlLLFNBQVNDLElBQUksSUFBRU4sTUFBSUssU0FBU0UsSUFBSSxJQUFFUCxhQUFhQyxlQUFhRCxLQUFHLFFBQU1BLEVBQUVTLFFBQVEsQ0FBQ1YsSUFBRztvQkFBQ0osRUFBRUs7b0JBQUc7Z0JBQUs7WUFBQztRQUFDO0lBQUM7QUFBRztNQUFqWGdCO0FBQWtYLFNBQVNHO1FBQUU3QixJQUFBQSxpRUFBRTtJQUFNLElBQUlFO0lBQUUsT0FBTSxDQUFDQSxJQUFFakIsaURBQUNBLENBQUN3QyxFQUFDLEtBQUksT0FBS3ZCLElBQUVGO0FBQUM7QUFBMkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXJvb3QtY29udGFpbmVycy5qcz8wMzM0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmLHtjcmVhdGVDb250ZXh0IGFzIE0sdXNlQ29udGV4dCBhcyBkLHVzZVN0YXRlIGFzIEh9ZnJvbVwicmVhY3RcIjtpbXBvcnR7SGlkZGVuIGFzIEUsSGlkZGVuRmVhdHVyZXMgYXMgVH1mcm9tJy4uL2ludGVybmFsL2hpZGRlbi5qcyc7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgTH1mcm9tJy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgc31mcm9tJy4vdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlT3duZXJEb2N1bWVudCBhcyBofWZyb20nLi91c2Utb3duZXIuanMnO2Z1bmN0aW9uIFIoe2RlZmF1bHRDb250YWluZXJzOmw9W10scG9ydGFsczpuLG1haW5UcmVlTm9kZTpvfT17fSl7bGV0IHI9aChvKSx1PXMoKCk9Pnt2YXIgaSxjO2xldCB0PVtdO2ZvcihsZXQgZSBvZiBsKWUhPT1udWxsJiYoZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P3QucHVzaChlKTpcImN1cnJlbnRcImluIGUmJmUuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LnB1c2goZS5jdXJyZW50KSk7aWYobiE9bnVsbCYmbi5jdXJyZW50KWZvcihsZXQgZSBvZiBuLmN1cnJlbnQpdC5wdXNoKGUpO2ZvcihsZXQgZSBvZihpPXI9PW51bGw/dm9pZCAwOnIucXVlcnlTZWxlY3RvckFsbChcImh0bWwgPiAqLCBib2R5ID4gKlwiKSkhPW51bGw/aTpbXSllIT09ZG9jdW1lbnQuYm9keSYmZSE9PWRvY3VtZW50LmhlYWQmJmUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5pZCE9PVwiaGVhZGxlc3N1aS1wb3J0YWwtcm9vdFwiJiYobyYmKGUuY29udGFpbnMobyl8fGUuY29udGFpbnMoKGM9bz09bnVsbD92b2lkIDA6by5nZXRSb290Tm9kZSgpKT09bnVsbD92b2lkIDA6Yy5ob3N0KSl8fHQuc29tZShtPT5lLmNvbnRhaW5zKG0pKXx8dC5wdXNoKGUpKTtyZXR1cm4gdH0pO3JldHVybntyZXNvbHZlQ29udGFpbmVyczp1LGNvbnRhaW5zOnModD0+dSgpLnNvbWUoaT0+aS5jb250YWlucyh0KSkpfX1sZXQgYT1NKG51bGwpO2Z1bmN0aW9uIE8oe2NoaWxkcmVuOmwsbm9kZTpufSl7bGV0W28scl09SChudWxsKSx1PWIobiE9bnVsbD9uOm8pO3JldHVybiBmLmNyZWF0ZUVsZW1lbnQoYS5Qcm92aWRlcix7dmFsdWU6dX0sbCx1PT09bnVsbCYmZi5jcmVhdGVFbGVtZW50KEUse2ZlYXR1cmVzOlQuSGlkZGVuLHJlZjp0PT57dmFyIGksYztpZih0KXtmb3IobGV0IGUgb2YoYz0oaT1MKHQpKT09bnVsbD92b2lkIDA6aS5xdWVyeVNlbGVjdG9yQWxsKFwiaHRtbCA+ICosIGJvZHkgPiAqXCIpKSE9bnVsbD9jOltdKWlmKGUhPT1kb2N1bWVudC5ib2R5JiZlIT09ZG9jdW1lbnQuaGVhZCYmZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlIT1udWxsJiZlLmNvbnRhaW5zKHQpKXtyKGUpO2JyZWFrfX19fSkpfWZ1bmN0aW9uIGIobD1udWxsKXt2YXIgbjtyZXR1cm4obj1kKGEpKSE9bnVsbD9uOmx9ZXhwb3J0e08gYXMgTWFpblRyZWVQcm92aWRlcixiIGFzIHVzZU1haW5UcmVlTm9kZSxSIGFzIHVzZVJvb3RDb250YWluZXJzfTtcbiJdLCJuYW1lcyI6WyJmIiwiY3JlYXRlQ29udGV4dCIsIk0iLCJ1c2VDb250ZXh0IiwiZCIsInVzZVN0YXRlIiwiSCIsIkhpZGRlbiIsIkUiLCJIaWRkZW5GZWF0dXJlcyIsIlQiLCJnZXRPd25lckRvY3VtZW50IiwiTCIsInVzZUV2ZW50IiwicyIsInVzZU93bmVyRG9jdW1lbnQiLCJoIiwiUiIsImRlZmF1bHRDb250YWluZXJzIiwibCIsInBvcnRhbHMiLCJuIiwibWFpblRyZWVOb2RlIiwibyIsInIiLCJ1IiwiaSIsImMiLCJ0IiwiZSIsIkhUTUxFbGVtZW50IiwicHVzaCIsImN1cnJlbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZG9jdW1lbnQiLCJib2R5IiwiaGVhZCIsImlkIiwiY29udGFpbnMiLCJnZXRSb290Tm9kZSIsImhvc3QiLCJzb21lIiwibSIsInJlc29sdmVDb250YWluZXJzIiwiYSIsIk8iLCJjaGlsZHJlbiIsIm5vZGUiLCJiIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJmZWF0dXJlcyIsInJlZiIsIk1haW5UcmVlUHJvdmlkZXIiLCJ1c2VNYWluVHJlZU5vZGUiLCJ1c2VSb290Q29udGFpbmVycyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-root-containers.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js":
/*!**********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js ***!
\**********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useScrollLock: function() { return /* binding */ f; }\n/* harmony export */ });\n/* harmony import */ var _document_overflow_use_document_overflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./document-overflow/use-document-overflow.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js\");\n/* harmony import */ var _use_is_top_layer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-is-top-layer.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js\");\n\n\nfunction f(e, c) {\n let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ()=>[\n document.body\n ];\n let r = (0,_use_is_top_layer_js__WEBPACK_IMPORTED_MODULE_0__.useIsTopLayer)(e, \"scroll-lock\");\n (0,_document_overflow_use_document_overflow_js__WEBPACK_IMPORTED_MODULE_1__.useDocumentOverflowLockedEffect)(r, c, (t)=>{\n var o;\n return {\n containers: [\n ...(o = t.containers) != null ? o : [],\n n\n ]\n };\n });\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zY3JvbGwtbG9jay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBK0Y7QUFBc0Q7QUFBQSxTQUFTSSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7UUFBQ0MsSUFBQUEsaUVBQUUsSUFBSTtZQUFDQyxTQUFTQyxJQUFJO1NBQUM7SUFBRSxJQUFJQyxJQUFFUCxtRUFBQ0EsQ0FBQ0UsR0FBRTtJQUFlSiw0R0FBQ0EsQ0FBQ1MsR0FBRUosR0FBRUssQ0FBQUE7UUFBSSxJQUFJQztRQUFFLE9BQU07WUFBQ0MsWUFBVzttQkFBSSxDQUFDRCxJQUFFRCxFQUFFRSxVQUFVLEtBQUcsT0FBS0QsSUFBRSxFQUFFO2dCQUFDTDthQUFFO1FBQUE7SUFBQztBQUFFO0FBQTRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zY3JvbGwtbG9jay5qcz8zYzUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VEb2N1bWVudE92ZXJmbG93TG9ja2VkRWZmZWN0IGFzIGx9ZnJvbScuL2RvY3VtZW50LW92ZXJmbG93L3VzZS1kb2N1bWVudC1vdmVyZmxvdy5qcyc7aW1wb3J0e3VzZUlzVG9wTGF5ZXIgYXMgbX1mcm9tJy4vdXNlLWlzLXRvcC1sYXllci5qcyc7ZnVuY3Rpb24gZihlLGMsbj0oKT0+W2RvY3VtZW50LmJvZHldKXtsZXQgcj1tKGUsXCJzY3JvbGwtbG9ja1wiKTtsKHIsYyx0PT57dmFyIG87cmV0dXJue2NvbnRhaW5lcnM6Wy4uLihvPXQuY29udGFpbmVycykhPW51bGw/bzpbXSxuXX19KX1leHBvcnR7ZiBhcyB1c2VTY3JvbGxMb2NrfTtcbiJdLCJuYW1lcyI6WyJ1c2VEb2N1bWVudE92ZXJmbG93TG9ja2VkRWZmZWN0IiwibCIsInVzZUlzVG9wTGF5ZXIiLCJtIiwiZiIsImUiLCJjIiwibiIsImRvY3VtZW50IiwiYm9keSIsInIiLCJ0IiwibyIsImNvbnRhaW5lcnMiLCJ1c2VTY3JvbGxMb2NrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js ***!
\**********************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("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 */ useServerHandoffComplete: function() { return /* binding */ l; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\nvar _s = $RefreshSig$();\n\n\nfunction s() {\n let r = typeof document == \"undefined\";\n return \"useSyncExternalStore\" in /*#__PURE__*/ (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache || (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache = __webpack_require__.t(react__WEBPACK_IMPORTED_MODULE_0__, 2))) ? ((o)=>o.useSyncExternalStore)(/*#__PURE__*/ (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache || (react__WEBPACK_IMPORTED_MODULE_0___namespace_cache = __webpack_require__.t(react__WEBPACK_IMPORTED_MODULE_0__, 2))))(()=>()=>{}, ()=>!1, ()=>!r) : !1;\n}\nfunction l() {\n _s();\n let r = s(), [e, n] = react__WEBPACK_IMPORTED_MODULE_0__.useState(_utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.isHandoffComplete);\n return e && _utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.isHandoffComplete === !1 && n(!1), react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>{\n e !== !0 && n(!0);\n }, [\n e\n ]), react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>_utils_env_js__WEBPACK_IMPORTED_MODULE_1__.env.handoff(), []), r ? !1 : e;\n}\n_s(l, \"XDn800CXgxu2ybVrj0od3/iCwpE=\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zZXJ2ZXItaGFuZG9mZi1jb21wbGV0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF3QjtBQUFzQztBQUFBLFNBQVNHO0lBQUksSUFBSUMsSUFBRSxPQUFPQyxZQUFVO0lBQVksT0FBTSxtTkFBMEJMLEdBQUMsQ0FBQ00sQ0FBQUEsSUFBR0EsRUFBRUMsb0JBQW9CLEVBQUVQLHlMQUFDQSxFQUFFLElBQUksS0FBSyxHQUFFLElBQUksQ0FBQyxHQUFFLElBQUksQ0FBQ0ksS0FBRyxDQUFDO0FBQUM7QUFBQyxTQUFTSTs7SUFBSSxJQUFJSixJQUFFRCxLQUFJLENBQUNNLEdBQUVDLEVBQUUsR0FBQ1YsMkNBQVUsQ0FBQ0UsOENBQUNBLENBQUNVLGlCQUFpQjtJQUFFLE9BQU9ILEtBQUdQLDhDQUFDQSxDQUFDVSxpQkFBaUIsS0FBRyxDQUFDLEtBQUdGLEVBQUUsQ0FBQyxJQUFHViw0Q0FBVyxDQUFDO1FBQUtTLE1BQUksQ0FBQyxLQUFHQyxFQUFFLENBQUM7SUFBRSxHQUFFO1FBQUNEO0tBQUUsR0FBRVQsNENBQVcsQ0FBQyxJQUFJRSw4Q0FBQ0EsQ0FBQ1ksT0FBTyxJQUFHLEVBQUUsR0FBRVYsSUFBRSxDQUFDLElBQUVLO0FBQUM7R0FBektEO0FBQWdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zZXJ2ZXItaGFuZG9mZi1jb21wbGV0ZS5qcz9hOGI4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCphcyB0IGZyb21cInJlYWN0XCI7aW1wb3J0e2VudiBhcyBmfWZyb20nLi4vdXRpbHMvZW52LmpzJztmdW5jdGlvbiBzKCl7bGV0IHI9dHlwZW9mIGRvY3VtZW50PT1cInVuZGVmaW5lZFwiO3JldHVyblwidXNlU3luY0V4dGVybmFsU3RvcmVcImluIHQ/KG89Pm8udXNlU3luY0V4dGVybmFsU3RvcmUpKHQpKCgpPT4oKT0+e30sKCk9PiExLCgpPT4hcik6ITF9ZnVuY3Rpb24gbCgpe2xldCByPXMoKSxbZSxuXT10LnVzZVN0YXRlKGYuaXNIYW5kb2ZmQ29tcGxldGUpO3JldHVybiBlJiZmLmlzSGFuZG9mZkNvbXBsZXRlPT09ITEmJm4oITEpLHQudXNlRWZmZWN0KCgpPT57ZSE9PSEwJiZuKCEwKX0sW2VdKSx0LnVzZUVmZmVjdCgoKT0+Zi5oYW5kb2ZmKCksW10pLHI/ITE6ZX1leHBvcnR7bCBhcyB1c2VTZXJ2ZXJIYW5kb2ZmQ29tcGxldGV9O1xuIl0sIm5hbWVzIjpbInQiLCJlbnYiLCJmIiwicyIsInIiLCJkb2N1bWVudCIsIm8iLCJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsImwiLCJlIiwibiIsInVzZVN0YXRlIiwiaXNIYW5kb2ZmQ29tcGxldGUiLCJ1c2VFZmZlY3QiLCJoYW5kb2ZmIiwidXNlU2VydmVySGFuZG9mZkNvbXBsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-store.js":
/*!****************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-store.js ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useStore: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nfunction o(t) {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore)(t.subscribe, t.getSnapshot, t.getSnapshot);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2QztBQUFBLFNBQVNFLEVBQUVDLENBQUM7SUFBRSxPQUFPRiwyREFBQ0EsQ0FBQ0UsRUFBRUMsU0FBUyxFQUFDRCxFQUFFRSxXQUFXLEVBQUNGLEVBQUVFLFdBQVc7QUFBQztBQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2Utc3RvcmUuanM/MzFhNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlU3luY0V4dGVybmFsU3RvcmUgYXMgZX1mcm9tXCJyZWFjdFwiO2Z1bmN0aW9uIG8odCl7cmV0dXJuIGUodC5zdWJzY3JpYmUsdC5nZXRTbmFwc2hvdCx0LmdldFNuYXBzaG90KX1leHBvcnR7byBhcyB1c2VTdG9yZX07XG4iXSwibmFtZXMiOlsidXNlU3luY0V4dGVybmFsU3RvcmUiLCJlIiwibyIsInQiLCJzdWJzY3JpYmUiLCJnZXRTbmFwc2hvdCIsInVzZVN0b3JlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-store.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js":
/*!********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js ***!
\********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ optionalRef: function() { return /* binding */ T; },\n/* harmony export */ useSyncRefs: function() { return /* binding */ y; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\nlet u = Symbol();\nfunction T(t) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;\n return Object.assign(t, {\n [u]: n\n });\n}\n_c = T;\nfunction y() {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(t);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n n.current = t;\n }, [\n t\n ]);\n let c = (0,_use_event_js__WEBPACK_IMPORTED_MODULE_1__.useEvent)((e)=>{\n for (let o of n.current)o != null && (typeof o == \"function\" ? o(e) : o.current = e);\n });\n return t.every((e)=>e == null || (e == null ? void 0 : e[u])) ? void 0 : c;\n}\n\nvar _c;\n$RefreshReg$(_c, \"T\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QztBQUEwQztBQUFBLElBQUlNLElBQUVDO0FBQVMsU0FBU0MsRUFBRUMsQ0FBQztRQUFDQyxJQUFBQSxpRUFBRSxDQUFDO0lBQUcsT0FBT0MsT0FBT0MsTUFBTSxDQUFDSCxHQUFFO1FBQUMsQ0FBQ0gsRUFBRSxFQUFDSTtJQUFDO0FBQUU7S0FBekNGO0FBQTBDLFNBQVNLO0lBQUU7UUFBR0osRUFBSCx1QkFBSTs7SUFBRSxJQUFJQyxJQUFFUCw2Q0FBQ0EsQ0FBQ007SUFBR1IsZ0RBQUNBLENBQUM7UUFBS1MsRUFBRUksT0FBTyxHQUFDTDtJQUFDLEdBQUU7UUFBQ0E7S0FBRTtJQUFFLElBQUlNLElBQUVWLHVEQUFDQSxDQUFDVyxDQUFBQTtRQUFJLEtBQUksSUFBSUMsS0FBS1AsRUFBRUksT0FBTyxDQUFDRyxLQUFHLFFBQU8sUUFBT0EsS0FBRyxhQUFXQSxFQUFFRCxLQUFHQyxFQUFFSCxPQUFPLEdBQUNFLENBQUFBO0lBQUU7SUFBRyxPQUFPUCxFQUFFUyxLQUFLLENBQUNGLENBQUFBLElBQUdBLEtBQUcsUUFBT0EsQ0FBQUEsS0FBRyxPQUFLLEtBQUssSUFBRUEsQ0FBQyxDQUFDVixFQUFFLEtBQUcsS0FBSyxJQUFFUztBQUFDO0FBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanM/ZWY1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGwsdXNlUmVmIGFzIGl9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlRXZlbnQgYXMgcn1mcm9tJy4vdXNlLWV2ZW50LmpzJztsZXQgdT1TeW1ib2woKTtmdW5jdGlvbiBUKHQsbj0hMCl7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx7W3VdOm59KX1mdW5jdGlvbiB5KC4uLnQpe2xldCBuPWkodCk7bCgoKT0+e24uY3VycmVudD10fSxbdF0pO2xldCBjPXIoZT0+e2ZvcihsZXQgbyBvZiBuLmN1cnJlbnQpbyE9bnVsbCYmKHR5cGVvZiBvPT1cImZ1bmN0aW9uXCI/byhlKTpvLmN1cnJlbnQ9ZSl9KTtyZXR1cm4gdC5ldmVyeShlPT5lPT1udWxsfHwoZT09bnVsbD92b2lkIDA6ZVt1XSkpP3ZvaWQgMDpjfWV4cG9ydHtUIGFzIG9wdGlvbmFsUmVmLHkgYXMgdXNlU3luY1JlZnN9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImwiLCJ1c2VSZWYiLCJpIiwidXNlRXZlbnQiLCJyIiwidSIsIlN5bWJvbCIsIlQiLCJ0IiwibiIsIk9iamVjdCIsImFzc2lnbiIsInkiLCJjdXJyZW50IiwiYyIsImUiLCJvIiwiZXZlcnkiLCJvcHRpb25hbFJlZiIsInVzZVN5bmNSZWZzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-tab-direction.js":
/*!************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-tab-direction.js ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Direction: function() { return /* binding */ a; },\n/* harmony export */ useTabDirection: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_window_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-window-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-window-event.js\");\n\n\nvar a = ((r)=>(r[r.Forwards = 0] = \"Forwards\", r[r.Backwards = 1] = \"Backwards\", r))(a || {});\nfunction u() {\n let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n return (0,_use_window_event_js__WEBPACK_IMPORTED_MODULE_1__.useWindowEvent)(!0, \"keydown\", (r)=>{\n r.key === \"Tab\" && (e.current = r.shiftKey ? 1 : 0);\n }, !0), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10YWItZGlyZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBK0I7QUFBdUQ7QUFBQSxJQUFJSSxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRCxDQUFDLENBQUNBLEVBQUVFLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUYsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTSTtJQUFJLElBQUlDLElBQUVSLDZDQUFDQSxDQUFDO0lBQUcsT0FBT0Usb0VBQUNBLENBQUMsQ0FBQyxHQUFFLFdBQVVFLENBQUFBO1FBQUlBLEVBQUVLLEdBQUcsS0FBRyxTQUFRRCxDQUFBQSxFQUFFRSxPQUFPLEdBQUNOLEVBQUVPLFFBQVEsR0FBQyxJQUFFO0lBQUUsR0FBRSxDQUFDLElBQUdIO0FBQUM7QUFBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXRhYi1kaXJlY3Rpb24uanM/M2Q3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlUmVmIGFzIG99ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlV2luZG93RXZlbnQgYXMgdH1mcm9tJy4vdXNlLXdpbmRvdy1ldmVudC5qcyc7dmFyIGE9KHI9PihyW3IuRm9yd2FyZHM9MF09XCJGb3J3YXJkc1wiLHJbci5CYWNrd2FyZHM9MV09XCJCYWNrd2FyZHNcIixyKSkoYXx8e30pO2Z1bmN0aW9uIHUoKXtsZXQgZT1vKDApO3JldHVybiB0KCEwLFwia2V5ZG93blwiLHI9PntyLmtleT09PVwiVGFiXCImJihlLmN1cnJlbnQ9ci5zaGlmdEtleT8xOjApfSwhMCksZX1leHBvcnR7YSBhcyBEaXJlY3Rpb24sdSBhcyB1c2VUYWJEaXJlY3Rpb259O1xuIl0sIm5hbWVzIjpbInVzZVJlZiIsIm8iLCJ1c2VXaW5kb3dFdmVudCIsInQiLCJhIiwiciIsIkZvcndhcmRzIiwiQmFja3dhcmRzIiwidSIsImUiLCJrZXkiLCJjdXJyZW50Iiwic2hpZnRLZXkiLCJEaXJlY3Rpb24iLCJ1c2VUYWJEaXJlY3Rpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-tab-direction.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js":
/*!*********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-transition.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ transitionDataAttributes: function() { return /* binding */ A; },\n/* harmony export */ useTransition: function() { return /* binding */ V; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_once_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/once.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _use_flags_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-flags.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-flags.js\");\n/* harmony import */ var _use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\n\n\n\n\nvar D = ((i)=>(i[i.None = 0] = \"None\", i[i.Closed = 1] = \"Closed\", i[i.Enter = 2] = \"Enter\", i[i.Leave = 4] = \"Leave\", i))(D || {});\nfunction A(e) {\n let a = {};\n for(let t in e)e[t] === !0 && (a[`data-${t}`] = \"\");\n return a;\n}\n_c = A;\nfunction V(e, a, t, r) {\n let [i, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(t), { hasFlag: d, addFlag: f, removeFlag: s } = (0,_use_flags_js__WEBPACK_IMPORTED_MODULE_1__.useFlags)(e && i ? 3 : 0), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), o = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_2__.useDisposables)();\n return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__.useIsoMorphicEffect)(function p() {\n var T;\n if (!e) return;\n t && u(!0);\n let c = a.current;\n return c ? ((T = r == null ? void 0 : r.start) == null || T.call(r, t), M(c, {\n inFlight: l,\n prepare () {\n n.current ? n.current = !1 : n.current = l.current, l.current = !0, !n.current && (t ? (f(3), s(4)) : (f(4), s(2)));\n },\n run () {\n n.current ? t ? (s(3), f(4)) : (s(4), f(3)) : t ? s(1) : f(1);\n },\n done () {\n var m;\n n.current && typeof c.getAnimations == \"function\" && c.getAnimations().length > 0 || (l.current = !1, s(7), t || u(!1), (m = r == null ? void 0 : r.end) == null || m.call(r, t));\n }\n })) : t ? (f(3), o.nextFrame(()=>p())) : void 0;\n }, [\n e,\n t,\n a,\n o\n ]), e ? [\n i,\n {\n closed: d(1),\n enter: d(2),\n leave: d(4),\n transition: d(2) || d(4)\n }\n ] : [\n t,\n {\n closed: void 0,\n enter: void 0,\n leave: void 0,\n transition: void 0\n }\n ];\n}\n_c1 = V;\nfunction M(e, param) {\n let { prepare: a, run: t, done: r, inFlight: i } = param;\n let u = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n return R(e, {\n prepare: a,\n inFlight: i\n }), u.nextFrame(()=>{\n u.add(F(e, r)), t();\n }), u.dispose;\n}\n_c2 = M;\nfunction F(e, a) {\n let t = (0,_utils_once_js__WEBPACK_IMPORTED_MODULE_5__.once)(a), r = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n if (!e) return r.dispose;\n let { transitionDuration: i, transitionDelay: u } = getComputedStyle(e), [d, f] = [\n i,\n u\n ].map((l)=>{\n let [n = 0] = l.split(\",\").filter(Boolean).map((o)=>o.includes(\"ms\") ? parseFloat(o) : parseFloat(o) * 1e3).sort((o, p)=>p - o);\n return n;\n }), s = d + f;\n if (s !== 0) {\n let l = r.group((n)=>{\n let o = n.setTimeout(()=>{\n t(), n.dispose();\n }, s);\n n.addEventListener(e, \"transitionrun\", (p)=>{\n p.target === p.currentTarget && (o(), n.addEventListener(e, \"transitioncancel\", (c)=>{\n c.target === c.currentTarget && (t(), l());\n }));\n });\n });\n r.addEventListener(e, \"transitionend\", (n)=>{\n n.target === n.currentTarget && (t(), r.dispose());\n });\n } else t();\n return r.dispose;\n}\n_c3 = F;\nfunction R(e, param) {\n let { inFlight: a, prepare: t } = param;\n if (a != null && a.current) {\n t();\n return;\n }\n let r = e.style.transition;\n e.style.transition = \"none\", t(), e.offsetHeight, e.style.transition = r;\n}\n_c4 = R;\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"A\");\n$RefreshReg$(_c1, \"V\");\n$RefreshReg$(_c2, \"M\");\n$RefreshReg$(_c3, \"F\");\n$RefreshReg$(_c4, \"R\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQTZDO0FBQXNEO0FBQXdDO0FBQXNEO0FBQTBDO0FBQWtFO0FBQUEsSUFBSWMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxNQUFNLEdBQUMsRUFBRSxHQUFDLFVBQVNGLENBQUMsQ0FBQ0EsRUFBRUcsS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRSCxDQUFDLENBQUNBLEVBQUVJLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUosQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTTSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRSxDQUFDO0lBQUUsSUFBSSxJQUFJQyxLQUFLRixFQUFFQSxDQUFDLENBQUNFLEVBQUUsS0FBRyxDQUFDLEtBQUlELENBQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRUMsRUFBRSxDQUFDLENBQUMsR0FBQyxFQUFDO0lBQUcsT0FBT0Q7QUFBQztLQUFwRUY7QUFBcUUsU0FBU0ksRUFBRUgsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0UsQ0FBQztJQUFFLElBQUcsQ0FBQ1YsR0FBRVcsRUFBRSxHQUFDdkIsK0NBQUNBLENBQUNvQixJQUFHLEVBQUNJLFNBQVFDLENBQUMsRUFBQ0MsU0FBUUMsQ0FBQyxFQUFDQyxZQUFXQyxDQUFDLEVBQUMsR0FBQ3JCLHVEQUFDQSxDQUFDVSxLQUFHTixJQUFFLElBQUUsSUFBR2tCLElBQUVoQyw2Q0FBQ0EsQ0FBQyxDQUFDLElBQUdpQyxJQUFFakMsNkNBQUNBLENBQUMsQ0FBQyxJQUFHa0MsSUFBRTFCLG1FQUFDQTtJQUFHLE9BQU9JLCtFQUFDQSxDQUFDLFNBQVN1QjtR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bEMsRUFBRXNELEtBQUssQ0FBQ3BCLFVBQVUsR0FBQyxRQUFPaEMsS0FBSUYsRUFBRXVELFlBQVksRUFBQ3ZELEVBQUVzRCxLQUFLLENBQUNwQixVQUFVLEdBQUM5QjtBQUFDO01BQXhKK0I7QUFBa04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXRyYW5zaXRpb24uanM/NmE3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlUmVmIGFzIGIsdXNlU3RhdGUgYXMgU31mcm9tXCJyZWFjdFwiO2ltcG9ydHtkaXNwb3NhYmxlcyBhcyBFfWZyb20nLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydHtvbmNlIGFzIGd9ZnJvbScuLi91dGlscy9vbmNlLmpzJztpbXBvcnR7dXNlRGlzcG9zYWJsZXMgYXMgTH1mcm9tJy4vdXNlLWRpc3Bvc2FibGVzLmpzJztpbXBvcnR7dXNlRmxhZ3MgYXMgeX1mcm9tJy4vdXNlLWZsYWdzLmpzJztpbXBvcnR7dXNlSXNvTW9ycGhpY0VmZmVjdCBhcyBDfWZyb20nLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJzt2YXIgRD0oaT0+KGlbaS5Ob25lPTBdPVwiTm9uZVwiLGlbaS5DbG9zZWQ9MV09XCJDbG9zZWRcIixpW2kuRW50ZXI9Ml09XCJFbnRlclwiLGlbaS5MZWF2ZT00XT1cIkxlYXZlXCIsaSkpKER8fHt9KTtmdW5jdGlvbiBBKGUpe2xldCBhPXt9O2ZvcihsZXQgdCBpbiBlKWVbdF09PT0hMCYmKGFbYGRhdGEtJHt0fWBdPVwiXCIpO3JldHVybiBhfWZ1bmN0aW9uIFYoZSxhLHQscil7bGV0W2ksdV09Uyh0KSx7aGFzRmxhZzpkLGFkZEZsYWc6ZixyZW1vdmVGbGFnOnN9PXkoZSYmaT8zOjApLGw9YighMSksbj1iKCExKSxvPUwoKTtyZXR1cm4gQyhmdW5jdGlvbiBwKCl7dmFyIFQ7aWYoIWUpcmV0dXJuO3QmJnUoITApO2xldCBjPWEuY3VycmVudDtyZXR1cm4gYz8oKFQ9cj09bnVsbD92b2lkIDA6ci5zdGFydCk9PW51bGx8fFQuY2FsbChyLHQpLE0oYyx7aW5GbGlnaHQ6bCxwcmVwYXJlKCl7bi5jdXJyZW50P24uY3VycmVudD0hMTpuLmN1cnJlbnQ9bC5jdXJyZW50LGwuY3VycmVudD0hMCwhbi5jdXJyZW50JiYodD8oZigzKSxzKDQpKTooZig0KSxzKDIpKSl9LHJ1bigpe24uY3VycmVudD90PyhzKDMpLGYoNCkpOihzKDQpLGYoMykpOnQ/cygxKTpmKDEpfSxkb25lKCl7dmFyIG07bi5jdXJyZW50JiZ0eXBlb2YgYy5nZXRBbmltYXRpb25zPT1cImZ1bmN0aW9uXCImJmMuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aD4wfHwobC5jdXJyZW50PSExLHMoNyksdHx8dSghMSksKG09cj09bnVsbD92b2lkIDA6ci5lbmQpPT1udWxsfHxtLmNhbGwocix0KSl9fSkpOnQ/KGYoMyksby5uZXh0RnJhbWUoKCk9PnAoKSkpOnZvaWQgMH0sW2UsdCxhLG9dKSxlP1tpLHtjbG9zZWQ6ZCgxKSxlbnRlcjpkKDIpLGxlYXZlOmQoNCksdHJhbnNpdGlvbjpkKDIpfHxkKDQpfV06W3Qse2Nsb3NlZDp2b2lkIDAsZW50ZXI6dm9pZCAwLGxlYXZlOnZvaWQgMCx0cmFuc2l0aW9uOnZvaWQgMH1dfWZ1bmN0aW9uIE0oZSx7cHJlcGFyZTphLHJ1bjp0LGRvbmU6cixpbkZsaWdodDppfSl7bGV0IHU9RSgpO3JldHVybiBSKGUse3ByZXBhcmU6YSxpbkZsaWdodDppfSksdS5uZXh0RnJhbWUoKCk9Pnt1LmFkZChGKGUscikpLHQoKX0pLHUuZGlzcG9zZX1mdW5jdGlvbiBGKGUsYSl7bGV0IHQ9ZyhhKSxyPUUoKTtpZighZSlyZXR1cm4gci5kaXNwb3NlO2xldHt0cmFuc2l0aW9uRHVyYXRpb246aSx0cmFuc2l0aW9uRGVsYXk6dX09Z2V0Q29tcHV0ZWRTdHlsZShlKSxbZCxmXT1baSx1XS5tYXAobD0+e2xldFtuPTBdPWwuc3BsaXQoXCIsXCIpLmZpbHRlcihCb29sZWFuKS5tYXAobz0+by5pbmNsdWRlcyhcIm1zXCIpP3BhcnNlRmxvYXQobyk6cGFyc2VGbG9hdChvKSoxZTMpLnNvcnQoKG8scCk9PnAtbyk7cmV0dXJuIG59KSxzPWQrZjtpZihzIT09MCl7bGV0IGw9ci5ncm91cChuPT57bGV0IG89bi5zZXRUaW1lb3V0KCgpPT57dCgpLG4uZGlzcG9zZSgpfSxzKTtuLmFkZEV2ZW50TGlzdGVuZXIoZSxcInRyYW5zaXRpb25ydW5cIixwPT57cC50YXJnZXQ9PT1wLmN1cnJlbnRUYXJnZXQmJihvKCksbi5hZGRFdmVudExpc3RlbmVyKGUsXCJ0cmFuc2l0aW9uY2FuY2VsXCIsYz0+e2MudGFyZ2V0PT09Yy5jdXJyZW50VGFyZ2V0JiYodCgpLGwoKSl9KSl9KX0pO3IuYWRkRXZlbnRMaXN0ZW5lcihlLFwidHJhbnNpdGlvbmVuZFwiLG49PntuLnRhcmdldD09PW4uY3VycmVudFRhcmdldCYmKHQoKSxyLmRpc3Bvc2UoKSl9KX1lbHNlIHQoKTtyZXR1cm4gci5kaXNwb3NlfWZ1bmN0aW9uIFIoZSx7aW5GbGlnaHQ6YSxwcmVwYXJlOnR9KXtpZihhIT1udWxsJiZhLmN1cnJlbnQpe3QoKTtyZXR1cm59bGV0IHI9ZS5zdHlsZS50cmFuc2l0aW9uO2Uuc3R5bGUudHJhbnNpdGlvbj1cIm5vbmVcIix0KCksZS5vZmZzZXRIZWlnaHQsZS5zdHlsZS50cmFuc2l0aW9uPXJ9ZXhwb3J0e0EgYXMgdHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzLFYgYXMgdXNlVHJhbnNpdGlvbn07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiYiIsInVzZVN0YXRlIiwiUyIsImRpc3Bvc2FibGVzIiwiRSIsIm9uY2UiLCJnIiwidXNlRGlzcG9zYWJsZXMiLCJMIiwidXNlRmxhZ3MiLCJ5IiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIkMiLCJEIiwiaSIsIk5vbmUiLCJDbG9zZWQiLCJFbnRlciIsIkxlYXZlIiwiQSIsImUiLCJhIiwidCIsIlYiLCJyIiwidSIsImhhc0ZsYWciLCJkIiwiYWRkRmxhZyIsImYiLCJyZW1vdmVGbGFnIiwicyIsImwiLCJuIiwibyIsInAiLCJUIiwiYyIsImN1cnJlbnQiLCJzdGFydCIsImNhbGwiLCJNIiwiaW5GbGlnaHQiLCJwcmVwYXJlIiwicnVuIiwiZG9uZSIsIm0iLCJnZXRBbmltYXRpb25zIiwibGVuZ3RoIiwiZW5kIiwibmV4dEZyYW1lIiwiY2xvc2VkIiwiZW50ZXIiLCJsZWF2ZSIsInRyYW5zaXRpb24iLCJSIiwiYWRkIiwiRiIsImRpc3Bvc2UiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJ0cmFuc2l0aW9uRGVsYXkiLCJnZXRDb21wdXRlZFN0eWxlIiwibWFwIiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwiaW5jbHVkZXMiLCJwYXJzZUZsb2F0Iiwic29ydCIsImdyb3VwIiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0YXJnZXQiLCJjdXJyZW50VGFyZ2V0Iiwic3R5bGUiLCJvZmZzZXRIZWlnaHQiLCJ0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMiLCJ1c2VUcmFuc2l0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-transition.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-window-event.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/hooks/use-window-event.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useWindowEvent: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n\n\nfunction s(t, e, o, n) {\n let i = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(o);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!t) return;\n function r(d) {\n i.current(d);\n }\n return window.addEventListener(e, r, n), ()=>window.removeEventListener(e, r, n);\n }, [\n t,\n e,\n n\n ]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS13aW5kb3ctZXZlbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWtDO0FBQXVEO0FBQUEsU0FBU0ksRUFBRUMsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDLElBQUVOLG9FQUFDQSxDQUFDSTtJQUFHTixnREFBQ0EsQ0FBQztRQUFLLElBQUcsQ0FBQ0ksR0FBRTtRQUFPLFNBQVNLLEVBQUVDLENBQUM7WUFBRUYsRUFBRUcsT0FBTyxDQUFDRDtRQUFFO1FBQUMsT0FBT0UsT0FBT0MsZ0JBQWdCLENBQUNSLEdBQUVJLEdBQUVGLElBQUcsSUFBSUssT0FBT0UsbUJBQW1CLENBQUNULEdBQUVJLEdBQUVGO0lBQUUsR0FBRTtRQUFDSDtRQUFFQztRQUFFRTtLQUFFO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXdpbmRvdy1ldmVudC5qcz9mYjVlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgYX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBmfWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztmdW5jdGlvbiBzKHQsZSxvLG4pe2xldCBpPWYobyk7YSgoKT0+e2lmKCF0KXJldHVybjtmdW5jdGlvbiByKGQpe2kuY3VycmVudChkKX1yZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSxyLG4pLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHIsbil9LFt0LGUsbl0pfWV4cG9ydHtzIGFzIHVzZVdpbmRvd0V2ZW50fTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJhIiwidXNlTGF0ZXN0VmFsdWUiLCJmIiwicyIsInQiLCJlIiwibyIsIm4iLCJpIiwiciIsImQiLCJjdXJyZW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ1c2VXaW5kb3dFdmVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-window-event.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js":
/*!************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/internal/close-provider.js ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CloseProvider: function() { return /* binding */ u; },\n/* harmony export */ useClose: function() { return /* binding */ l; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet e = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(()=>{});\nfunction l() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(e);\n}\nfunction u(param) {\n let { value: o, children: t } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(e.Provider, {\n value: o\n }, t);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUFBLElBQUlLLGtCQUFFSCxvREFBQ0EsQ0FBQyxLQUFLO0FBQUcsU0FBU0k7SUFBSSxPQUFPRixpREFBQ0EsQ0FBQ0M7QUFBRTtBQUFDLFNBQVNFLEVBQUUsS0FBb0I7UUFBcEIsRUFBQ0MsT0FBTUMsQ0FBQyxFQUFDQyxVQUFTQyxDQUFDLEVBQUMsR0FBcEI7SUFBc0IscUJBQU9YLGdEQUFlLENBQUNLLEVBQUVRLFFBQVEsRUFBQztRQUFDTCxPQUFNQztJQUFDLEdBQUVFO0FBQUU7QUFBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvY2xvc2UtcHJvdmlkZXIuanM/N2E4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcix7Y3JlYXRlQ29udGV4dCBhcyBuLHVzZUNvbnRleHQgYXMgaX1mcm9tXCJyZWFjdFwiO2xldCBlPW4oKCk9Pnt9KTtmdW5jdGlvbiBsKCl7cmV0dXJuIGkoZSl9ZnVuY3Rpb24gdSh7dmFsdWU6byxjaGlsZHJlbjp0fSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChlLlByb3ZpZGVyLHt2YWx1ZTpvfSx0KX1leHBvcnR7dSBhcyBDbG9zZVByb3ZpZGVyLGwgYXMgdXNlQ2xvc2V9O1xuIl0sIm5hbWVzIjpbInIiLCJjcmVhdGVDb250ZXh0IiwibiIsInVzZUNvbnRleHQiLCJpIiwiZSIsImwiLCJ1IiwidmFsdWUiLCJvIiwiY2hpbGRyZW4iLCJ0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwiQ2xvc2VQcm92aWRlciIsInVzZUNsb3NlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/close-provider.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/floating.js":
/*!******************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/internal/floating.js ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FloatingProvider: function() { return /* binding */ ve; },\n/* harmony export */ useFloatingPanel: function() { return /* binding */ Re; },\n/* harmony export */ useFloatingPanelProps: function() { return /* binding */ be; },\n/* harmony export */ useFloatingReference: function() { return /* binding */ ye; },\n/* harmony export */ useFloatingReferenceProps: function() { return /* binding */ Fe; },\n/* harmony export */ useResolvedAnchor: function() { return /* binding */ xe; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react */ \"(app-pages-browser)/./node_modules/@floating-ui/react/dist/floating-ui.react.mjs\");\n/* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @floating-ui/react */ \"(app-pages-browser)/./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\");\n/* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @floating-ui/react */ \"(app-pages-browser)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_disposables_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\n\n\n\n\nlet y = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\n styles: void 0,\n setReference: ()=>{},\n setFloating: ()=>{},\n getReferenceProps: ()=>({}),\n getFloatingProps: ()=>({}),\n slot: {}\n});\ny.displayName = \"FloatingContext\";\nlet S = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nS.displayName = \"PlacementContext\";\nfunction xe(e) {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>e ? typeof e == \"string\" ? {\n to: e\n } : e : null, [\n e\n ]);\n}\nfunction ye() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y).setReference;\n}\nfunction Fe() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y).getReferenceProps;\n}\n_c = Fe;\nfunction be() {\n let { getFloatingProps: e, slot: t } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function() {\n for(var _len = arguments.length, n = new Array(_len), _key = 0; _key < _len; _key++){\n n[_key] = arguments[_key];\n }\n return Object.assign({}, e(...n), {\n \"data-anchor\": t.anchor\n });\n }, [\n e,\n t\n ]);\n}\nfunction Re() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n e === !1 && (e = null), typeof e == \"string\" && (e = {\n to: e\n });\n let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(S), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>e, [\n JSON.stringify(e, typeof HTMLElement != \"undefined\" ? (r, o)=>o instanceof HTMLElement ? o.outerHTML : o : void 0)\n ]);\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n t == null || t(n != null ? n : null);\n }, [\n t,\n n\n ]);\n let l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>[\n l.setFloating,\n e ? l.styles : {}\n ], [\n l.setFloating,\n e,\n l.styles\n ]);\n}\n_c1 = Re;\nlet q = 4;\nfunction ve(param) {\n let { children: e, enabled: t = !0 } = param;\n let [n, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), [r, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0), c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), [u, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n pe(u);\n let i = t && n !== null && u !== null, { to: F = \"bottom\", gap: C = 0, offset: M = 0, padding: p = 0, inner: P } = ce(n, u), [a, f = \"center\"] = F.split(\" \");\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n i && o(0);\n }, [\n i\n ]);\n let { refs: b, floatingStyles: w, context: g } = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.useFloating)({\n open: i,\n placement: a === \"selection\" ? f === \"center\" ? \"bottom\" : `bottom-${f}` : f === \"center\" ? `${a}` : `${a}-${f}`,\n strategy: \"absolute\",\n transform: !1,\n middleware: [\n (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.offset)({\n mainAxis: a === \"selection\" ? 0 : C,\n crossAxis: M\n }),\n (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.shift)({\n padding: p\n }),\n a !== \"selection\" && (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.flip)({\n padding: p\n }),\n a === \"selection\" && P ? (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.inner)({\n ...P,\n padding: p,\n overflowRef: c,\n offset: r,\n minItemsVisible: q,\n referenceOverflowThreshold: p,\n onFallbackChange (h) {\n var O, W;\n if (!h) return;\n let d = g.elements.floating;\n if (!d) return;\n let T = parseFloat(getComputedStyle(d).scrollPaddingBottom) || 0, $ = Math.min(q, d.childElementCount), B = 0, N = 0;\n for (let m of (W = (O = g.elements.floating) == null ? void 0 : O.childNodes) != null ? W : [])if (m instanceof HTMLElement) {\n let x = m.offsetTop, k = x + m.clientHeight + T, H = d.scrollTop, U = H + d.clientHeight;\n if (x >= H && k <= U) $--;\n else {\n N = Math.max(0, Math.min(k, U) - Math.max(x, H)), B = m.clientHeight;\n break;\n }\n }\n $ >= 1 && o((m)=>{\n let x = B * $ - N + T;\n return m >= x ? m : x;\n });\n }\n }) : null,\n (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.size)({\n padding: p,\n apply (param) {\n let { availableWidth: h, availableHeight: d, elements: T } = param;\n Object.assign(T.floating.style, {\n overflow: \"auto\",\n maxWidth: `${h}px`,\n maxHeight: `min(var(--anchor-max-height, 100vh), ${d}px)`\n });\n }\n })\n ].filter(Boolean),\n whileElementsMounted: _floating_ui_react__WEBPACK_IMPORTED_MODULE_4__.autoUpdate\n }), [I = a, V = f] = g.placement.split(\"-\");\n a === \"selection\" && (I = \"selection\");\n let G = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n anchor: [\n I,\n V\n ].filter(Boolean).join(\" \")\n }), [\n I,\n V\n ]), K = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.useInnerOffset)(g, {\n overflowRef: c,\n onChange: o\n }), { getReferenceProps: Q, getFloatingProps: X } = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.useInteractions)([\n K\n ]), Y = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((h)=>{\n s(h), b.setFloating(h);\n });\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(S.Provider, {\n value: l\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(y.Provider, {\n value: {\n setFloating: Y,\n setReference: b.setReference,\n styles: w,\n getReferenceProps: Q,\n getFloatingProps: X,\n slot: G\n }\n }, e));\n}\nfunction pe(e) {\n (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n if (!e) return;\n let t = new MutationObserver(()=>{\n let n = window.getComputedStyle(e).maxHeight, l = parseFloat(n);\n if (isNaN(l)) return;\n let r = parseInt(n);\n isNaN(r) || l !== r && (e.style.maxHeight = `${Math.ceil(l)}px`);\n });\n return t.observe(e, {\n attributes: !0,\n attributeFilter: [\n \"style\"\n ]\n }), ()=>{\n t.disconnect();\n };\n }, [\n e\n ]);\n}\nfunction ce(e, t) {\n var o, c, u;\n let n = L((o = e == null ? void 0 : e.gap) != null ? o : \"var(--anchor-gap, 0)\", t), l = L((c = e == null ? void 0 : e.offset) != null ? c : \"var(--anchor-offset, 0)\", t), r = L((u = e == null ? void 0 : e.padding) != null ? u : \"var(--anchor-padding, 0)\", t);\n return {\n ...e,\n gap: n,\n offset: l,\n padding: r\n };\n}\nfunction L(e, t) {\n let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : void 0;\n let l = (0,_hooks_use_disposables_js__WEBPACK_IMPORTED_MODULE_6__.useDisposables)(), r = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((s, i)=>{\n if (s == null) return [\n n,\n null\n ];\n if (typeof s == \"number\") return [\n s,\n null\n ];\n if (typeof s == \"string\") {\n if (!i) return [\n n,\n null\n ];\n let F = J(s, i);\n return [\n F,\n (C)=>{\n let M = D(s);\n {\n let p = M.map((P)=>window.getComputedStyle(i).getPropertyValue(P));\n l.requestAnimationFrame(function P() {\n l.nextFrame(P);\n let a = !1;\n for (let [b, w] of M.entries()){\n let g = window.getComputedStyle(i).getPropertyValue(w);\n if (p[b] !== g) {\n p[b] = g, a = !0;\n break;\n }\n }\n if (!a) return;\n let f = J(s, i);\n F !== f && (C(f), F = f);\n });\n }\n return l.dispose;\n }\n ];\n }\n return [\n n,\n null\n ];\n }), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>r(e, t)[0], [\n e,\n t\n ]), [c = o, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();\n return (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n let [s, i] = r(e, t);\n if (u(s), !!i) return i(u);\n }, [\n e,\n t\n ]), c;\n}\n_c2 = L;\nfunction D(e) {\n let t = /var\\((.*)\\)/.exec(e);\n if (t) {\n let n = t[1].indexOf(\",\");\n if (n === -1) return [\n t[1]\n ];\n let l = t[1].slice(0, n).trim(), r = t[1].slice(n + 1).trim();\n return r ? [\n l,\n ...D(r)\n ] : [\n l\n ];\n }\n return [];\n}\n_c3 = D;\nfunction J(e, t) {\n let n = document.createElement(\"div\");\n t.appendChild(n), n.style.setProperty(\"margin-top\", \"0px\", \"important\"), n.style.setProperty(\"margin-top\", e, \"important\");\n let l = parseFloat(window.getComputedStyle(n).marginTop) || 0;\n return t.removeChild(n), l;\n}\n_c4 = J;\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"Fe\");\n$RefreshReg$(_c1, \"Re\");\n$RefreshReg$(_c2, \"L\");\n$RefreshReg$(_c3, \"D\");\n$RefreshReg$(_c4, \"J\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Zsb2F0aW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBd0s7QUFBd0I7QUFBZ0g7QUFBOEQ7QUFBaUQ7QUFBeUU7QUFBQSxJQUFJcUMsa0JBQUVqQixvREFBQ0EsQ0FBQztJQUFDa0IsUUFBTyxLQUFLO0lBQUVDLGNBQWEsS0FBSztJQUFFQyxhQUFZLEtBQUs7SUFBRUMsbUJBQWtCLElBQUssRUFBQztJQUFHQyxrQkFBaUIsSUFBSyxFQUFDO0lBQUdDLE1BQUssQ0FBQztBQUFDO0FBQUdOLEVBQUVPLFdBQVcsR0FBQztBQUFrQixJQUFJQyxrQkFBRXpCLG9EQUFDQSxDQUFDO0FBQU15QixFQUFFRCxXQUFXLEdBQUM7QUFBbUIsU0FBU0UsR0FBR0MsQ0FBQztJQUFFLE9BQU9yQiw4Q0FBQ0EsQ0FBQyxJQUFJcUIsSUFBRSxPQUFPQSxLQUFHLFdBQVM7WUFBQ0MsSUFBR0Q7UUFBQyxJQUFFQSxJQUFFLE1BQUs7UUFBQ0E7S0FBRTtBQUFDO0FBQUMsU0FBU0U7SUFBSyxPQUFPekIsaURBQUNBLENBQUNhLEdBQUdFLFlBQVk7QUFBQTtBQUFDLFNBQVNXO0lBQUssT0FBTzFCLGlEQUFDQSxDQUFDYSxHQUFHSSxpQkFBaUI7QUFBQTtLQUFsQ1M7QUFBbUMsU0FBU0M7SUFBSyxJQUFHLEVBQUNULGtCQUFpQkssQ0FBQyxFQUFDSixNQUFLUyxDQUFDLEVBQUMsR0FBQzVCLGlEQUFDQSxDQUFDYTtJQUFHLE9BQU9mLGtEQUFFQSxDQUFDO3lDQUFJK0I7WUFBQUE7O2VBQUlDLE9BQU9DLE1BQU0sQ0FBQyxDQUFDLEdBQUVSLEtBQUtNLElBQUc7WUFBQyxlQUFjRCxFQUFFSSxNQUFNO1FBQUE7T0FBRztRQUFDVDtRQUFFSztLQUFFO0FBQUM7QUFBQyxTQUFTSztRQUFHVixJQUFBQSxpRUFBRTtJQUFNQSxNQUFJLENBQUMsS0FBSUEsQ0FB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SCxFQUFFNEgsV0FBVyxDQUFDM0gsSUFBR1c7QUFBQztNQUFuUGdHO0FBQXlaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Zsb2F0aW5nLmpzPzg5ZjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2F1dG9VcGRhdGUgYXMgWixmbGlwIGFzIGVlLGlubmVyIGFzIHRlLG9mZnNldCBhcyBuZSxzaGlmdCBhcyBsZSxzaXplIGFzIHJlLHVzZUZsb2F0aW5nIGFzIG9lLHVzZUlubmVyT2Zmc2V0IGFzIGllLHVzZUludGVyYWN0aW9ucyBhcyBzZX1mcm9tXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtpbXBvcnQqYXMgaiBmcm9tXCJyZWFjdFwiO2ltcG9ydHtjcmVhdGVDb250ZXh0IGFzIF8sdXNlQ2FsbGJhY2sgYXMgYWUsdXNlQ29udGV4dCBhcyBSLHVzZU1lbW8gYXMgdix1c2VSZWYgYXMgdWUsdXNlU3RhdGUgYXMgRX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VEaXNwb3NhYmxlcyBhcyBmZX1mcm9tJy4uL2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e3VzZUV2ZW50IGFzIHp9ZnJvbScuLi9ob29rcy91c2UtZXZlbnQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIEF9ZnJvbScuLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztsZXQgeT1fKHtzdHlsZXM6dm9pZCAwLHNldFJlZmVyZW5jZTooKT0+e30sc2V0RmxvYXRpbmc6KCk9Pnt9LGdldFJlZmVyZW5jZVByb3BzOigpPT4oe30pLGdldEZsb2F0aW5nUHJvcHM6KCk9Pih7fSksc2xvdDp7fX0pO3kuZGlzcGxheU5hbWU9XCJGbG9hdGluZ0NvbnRleHRcIjtsZXQgUz1fKG51bGwpO1MuZGlzcGxheU5hbWU9XCJQbGFjZW1lbnRDb250ZXh0XCI7ZnVuY3Rpb24geGUoZSl7cmV0dXJuIHYoKCk9PmU/dHlwZW9mIGU9PVwic3RyaW5nXCI/e3RvOmV9OmU6bnVsbCxbZV0pfWZ1bmN0aW9uIHllKCl7cmV0dXJuIFIoeSkuc2V0UmVmZXJlbmNlfWZ1bmN0aW9uIEZlKCl7cmV0dXJuIFIoeSkuZ2V0UmVmZXJlbmNlUHJvcHN9ZnVuY3Rpb24gYmUoKXtsZXR7Z2V0RmxvYXRpbmdQcm9wczplLHNsb3Q6dH09Uih5KTtyZXR1cm4gYWUoKC4uLm4pPT5PYmplY3QuYXNzaWduKHt9LGUoLi4ubikse1wiZGF0YS1hbmNob3JcIjp0LmFuY2hvcn0pLFtlLHRdKX1mdW5jdGlvbiBSZShlPW51bGwpe2U9PT0hMSYmKGU9bnVsbCksdHlwZW9mIGU9PVwic3RyaW5nXCImJihlPXt0bzplfSk7bGV0IHQ9UihTKSxuPXYoKCk9PmUsW0pTT04uc3RyaW5naWZ5KGUsdHlwZW9mIEhUTUxFbGVtZW50IT1cInVuZGVmaW5lZFwiPyhyLG8pPT5vIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/by5vdXRlckhUTUw6bzp2b2lkIDApXSk7QSgoKT0+e3Q9PW51bGx8fHQobiE9bnVsbD9uOm51bGwpfSxbdCxuXSk7bGV0IGw9Uih5KTtyZXR1cm4gdigoKT0+W2wuc2V0RmxvYXRpbmcsZT9sLnN0eWxlczp7fV0sW2wuc2V0RmxvYXRpbmcsZSxsLnN0eWxlc10pfWxldCBxPTQ7ZnVuY3Rpb24gdmUoe2NoaWxkcmVuOmUsZW5hYmxlZDp0PSEwfSl7bGV0W24sbF09RShudWxsKSxbcixvXT1FKDApLGM9dWUobnVsbCksW3Usc109RShudWxsKTtwZSh1KTtsZXQgaT10JiZuIT09bnVsbCYmdSE9PW51bGwse3RvOkY9XCJib3R0b21cIixnYXA6Qz0wLG9mZnNldDpNPTAscGFkZGluZzpwPTAsaW5uZXI6UH09Y2Uobix1KSxbYSxmPVwiY2VudGVyXCJdPUYuc3BsaXQoXCIgXCIpO0EoKCk9PntpJiZvKDApfSxbaV0pO2xldHtyZWZzOmIsZmxvYXRpbmdTdHlsZXM6dyxjb250ZXh0Omd9PW9lKHtvcGVuOmkscGxhY2VtZW50OmE9PT1cInNlbGVjdGlvblwiP2Y9PT1cImNlbnRlclwiP1wiYm90dG9tXCI6YGJvdHRvbS0ke2Z9YDpmPT09XCJjZW50ZXJcIj9gJHthfWA6YCR7YX0tJHtmfWAsc3RyYXRlZ3k6XCJhYnNvbHV0ZVwiLHRyYW5zZm9ybTohMSxtaWRkbGV3YXJlOltuZSh7bWFpbkF4aXM6YT09PVwic2VsZWN0aW9uXCI/MDpDLGNyb3NzQXhpczpNfSksbGUoe3BhZGRpbmc6cH0pLGEhPT1cInNlbGVjdGlvblwiJiZlZSh7cGFkZGluZzpwfSksYT09PVwic2VsZWN0aW9uXCImJlA/dGUoey4uLlAscGFkZGluZzpwLG92ZXJmbG93UmVmOmMsb2Zmc2V0OnIsbWluSXRlbXNWaXNpYmxlOnEscmVmZXJlbmNlT3ZlcmZsb3dUaHJlc2hvbGQ6cCxvbkZhbGxiYWNrQ2hhbmdlKGgpe3ZhciBPLFc7aWYoIWgpcmV0dXJuO2xldCBkPWcuZWxlbWVudHMuZmxvYXRpbmc7aWYoIWQpcmV0dXJuO2xldCBUPXBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkKS5zY3JvbGxQYWRkaW5nQm90dG9tKXx8MCwkPU1hdGgubWluKHEsZC5jaGlsZEVsZW1lbnRDb3VudCksQj0wLE49MDtmb3IobGV0IG0gb2YoVz0oTz1nLmVsZW1lbnRzLmZsb2F0aW5nKT09bnVsbD92b2lkIDA6Ty5jaGlsZE5vZGVzKSE9bnVsbD9XOltdKWlmKG0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7bGV0IHg9bS5vZmZzZXRUb3Asaz14K20uY2xpZW50SGVpZ2h0K1QsSD1kLnNjcm9sbFRvcCxVPUgrZC5jbGllbnRIZWlnaHQ7aWYoeD49SCYmazw9VSkkLS07ZWxzZXtOPU1hdGgubWF4KDAsTWF0aC5taW4oayxVKS1NYXRoLm1heCh4LEgpKSxCPW0uY2xpZW50SGVpZ2h0O2JyZWFrfX0kPj0xJiZvKG09PntsZXQgeD1CKiQtTitUO3JldHVybiBtPj14P206eH0pfX0pOm51bGwscmUoe3BhZGRpbmc6cCxhcHBseSh7YXZhaWxhYmxlV2lkdGg6aCxhdmFpbGFibGVIZWlnaHQ6ZCxlbGVtZW50czpUfSl7T2JqZWN0LmFzc2lnbihULmZsb2F0aW5nLnN0eWxlLHtvdmVyZmxvdzpcImF1dG9cIixtYXhXaWR0aDpgJHtofXB4YCxtYXhIZWlnaHQ6YG1pbih2YXIoLS1hbmNob3ItbWF4LWhlaWdodCwgMTAwdmgpLCAke2R9cHgpYH0pfX0pXS5maWx0ZXIoQm9vbGVhbiksd2hpbGVFbGVtZW50c01vdW50ZWQ6Wn0pLFtJPWEsVj1mXT1nLnBsYWNlbWVudC5zcGxpdChcIi1cIik7YT09PVwic2VsZWN0aW9uXCImJihJPVwic2VsZWN0aW9uXCIpO2xldCBHPXYoKCk9Pih7YW5jaG9yOltJLFZdLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKX0pLFtJLFZdKSxLPWllKGcse292ZXJmbG93UmVmOmMsb25DaGFuZ2U6b30pLHtnZXRSZWZlcmVuY2VQcm9wczpRLGdldEZsb2F0aW5nUHJvcHM6WH09c2UoW0tdKSxZPXooaD0+e3MoaCksYi5zZXRGbG9hdGluZyhoKX0pO3JldHVybiBqLmNyZWF0ZUVsZW1lbnQoUy5Qcm92aWRlcix7dmFsdWU6bH0sai5jcmVhdGVFbGVtZW50KHkuUHJvdmlkZXIse3ZhbHVlOntzZXRGbG9hdGluZzpZLHNldFJlZmVyZW5jZTpiLnNldFJlZmVyZW5jZSxzdHlsZXM6dyxnZXRSZWZlcmVuY2VQcm9wczpRLGdldEZsb2F0aW5nUHJvcHM6WCxzbG90Okd9fSxlKSl9ZnVuY3Rpb24gcGUoZSl7QSgoKT0+e2lmKCFlKXJldHVybjtsZXQgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e2xldCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpLm1heEhlaWdodCxsPXBhcnNlRmxvYXQobik7aWYoaXNOYU4obCkpcmV0dXJuO2xldCByPXBhcnNlSW50KG4pO2lzTmFOKHIpfHxsIT09ciYmKGUuc3R5bGUubWF4SGVpZ2h0PWAke01hdGguY2VpbChsKX1weGApfSk7cmV0dXJuIHQub2JzZXJ2ZShlLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbXCJzdHlsZVwiXX0pLCgpPT57dC5kaXNjb25uZWN0KCl9fSxbZV0pfWZ1bmN0aW9uIGNlKGUsdCl7dmFyIG8sYyx1O2xldCBuPUwoKG89ZT09bnVsbD92b2lkIDA6ZS5nYXApIT1udWxsP286XCJ2YXIoLS1hbmNob3ItZ2FwLCAwKVwiLHQpLGw9TCgoYz1lPT1udWxsP3ZvaWQgMDplLm9mZnNldCkhPW51bGw/YzpcInZhcigtLWFuY2hvci1vZmZzZXQsIDApXCIsdCkscj1MKCh1PWU9PW51bGw/dm9pZCAwOmUucGFkZGluZykhPW51bGw/dTpcInZhcigtLWFuY2hvci1wYWRkaW5nLCAwKVwiLHQpO3JldHVybnsuLi5lLGdhcDpuLG9mZnNldDpsLHBhZGRpbmc6cn19ZnVuY3Rpb24gTChlLHQsbj12b2lkIDApe2xldCBsPWZlKCkscj16KChzLGkpPT57aWYocz09bnVsbClyZXR1cm5bbixudWxsXTtpZih0eXBlb2Ygcz09XCJudW1iZXJcIilyZXR1cm5bcyxudWxsXTtpZih0eXBlb2Ygcz09XCJzdHJpbmdcIil7aWYoIWkpcmV0dXJuW24sbnVsbF07bGV0IEY9SihzLGkpO3JldHVybltGLEM9PntsZXQgTT1EKHMpO3tsZXQgcD1NLm1hcChQPT53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShpKS5nZXRQcm9wZXJ0eVZhbHVlKFApKTtsLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiBQKCl7bC5uZXh0RnJhbWUoUCk7bGV0IGE9ITE7Zm9yKGxldFtiLHddb2YgTS5lbnRyaWVzKCkpe2xldCBnPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGkpLmdldFByb3BlcnR5VmFsdWUodyk7aWYocFtiXSE9PWcpe3BbYl09ZyxhPSEwO2JyZWFrfX1pZighYSlyZXR1cm47bGV0IGY9SihzLGkpO0YhPT1mJiYoQyhmKSxGPWYpfSl9cmV0dXJuIGwuZGlzcG9zZX1dfXJldHVybltuLG51bGxdfSksbz12KCgpPT5yKGUsdClbMF0sW2UsdF0pLFtjPW8sdV09RSgpO3JldHVybiBBKCgpPT57bGV0W3MsaV09cihlLHQpO2lmKHUocyksISFpKXJldHVybiBpKHUpfSxbZSx0XSksY31mdW5jdGlvbiBEKGUpe2xldCB0PS92YXJcXCgoLiopXFwpLy5leGVjKGUpO2lmKHQpe2xldCBuPXRbMV0uaW5kZXhPZihcIixcIik7aWYobj09PS0xKXJldHVyblt0WzFdXTtsZXQgbD10WzFdLnNsaWNlKDAsbikudHJpbSgpLHI9dFsxXS5zbGljZShuKzEpLnRyaW0oKTtyZXR1cm4gcj9bbCwuLi5EKHIpXTpbbF19cmV0dXJuW119ZnVuY3Rpb24gSihlLHQpe2xldCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5hcHBlbmRDaGlsZChuKSxuLnN0eWxlLnNldFByb3BlcnR5KFwibWFyZ2luLXRvcFwiLFwiMHB4XCIsXCJpbXBvcnRhbnRcIiksbi5zdHlsZS5zZXRQcm9wZXJ0eShcIm1hcmdpbi10b3BcIixlLFwiaW1wb3J0YW50XCIpO2xldCBsPXBhcnNlRmxvYXQod2luZG93LmdldENvbXB1dGVkU3R5bGUobikubWFyZ2luVG9wKXx8MDtyZXR1cm4gdC5yZW1vdmVDaGlsZChuKSxsfWV4cG9ydHt2ZSBhcyBGbG9hdGluZ1Byb3ZpZGVyLFJlIGFzIHVzZUZsb2F0aW5nUGFuZWwsYmUgYXMgdXNlRmxvYXRpbmdQYW5lbFByb3BzLHllIGFzIHVzZUZsb2F0aW5nUmVmZXJlbmNlLEZlIGFzIHVzZUZsb2F0aW5nUmVmZXJlbmNlUHJvcHMseGUgYXMgdXNlUmVzb2x2ZWRBbmNob3J9O1xuIl0sIm5hbWVzIjpbImF1dG9VcGRhdGUiLCJaIiwiZmxpcCIsImVlIiwiaW5uZXIiLCJ0ZSIsIm9mZnNldCIsIm5lIiwic2hpZnQiLCJsZSIsInNpemUiLCJyZSIsInVzZUZsb2F0aW5nIiwib2UiLCJ1c2VJbm5lck9mZnNldCIsImllIiwidXNlSW50ZXJhY3Rpb25zIiwic2UiLCJqIiwiY3JlYXRlQ29udGV4dCIsIl8iLCJ1c2VDYWxsYmFjayIsImFlIiwidXNlQ29udGV4dCIsIlIiLCJ1c2VNZW1vIiwidiIsInVzZVJlZiIsInVlIiwidXNlU3RhdGUiLCJFIiwidXNlRGlzcG9zYWJsZXMiLCJmZSIsInVzZUV2ZW50IiwieiIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJBIiwieSIsInN0eWxlcyIsInNldFJlZmVyZW5jZSIsInNldEZsb2F0aW5nIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwic2xvdCIsImRpc3BsYXlOYW1lIiwiUyIsInhlIiwiZSIsInRvIiwieWUiLCJGZSIsImJlIiwidCIsIm4iLCJPYmplY3QiLCJhc3NpZ24iLCJhbmNob3IiLCJSZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJIVE1MRWxlbWVudCIsInIiLCJvIiwib3V0ZXJIVE1MIiwibCIsInEiLCJ2ZSIsImNoaWxkcmVuIiwiZW5hYmxlZCIsImMiLCJ1IiwicyIsInBlIiwiaSIsIkYiLCJnYXAiLCJDIiwiTSIsInBhZGRpbmciLCJwIiwiUCIsImNlIiwiYSIsImYiLCJzcGxpdCIsInJlZnMiLCJiIiwiZmxvYXRpbmdTdHlsZXMiLCJ3IiwiY29udGV4dCIsImciLCJvcGVuIiwicGxhY2VtZW50Iiwic3RyYXRlZ3kiLCJ0cmFuc2Zvcm0iLCJtaWRkbGV3YXJlIiwibWFpbkF4aXMiLCJjcm9zc0F4aXMiLCJvdmVyZmxvd1JlZiIsIm1pbkl0ZW1zVmlzaWJsZSIsInJlZmVyZW5jZU92ZXJmbG93VGhyZXNob2xkIiwib25GYWxsYmFja0NoYW5nZSIsImgiLCJPIiwiVyIsImQiLCJlbGVtZW50cyIsImZsb2F0aW5nIiwiVCIsInBhcnNlRmxvYXQiLCJnZXRDb21wdXRlZFN0eWxlIiwic2Nyb2xsUGFkZGluZ0JvdHRvbSIsIiQiLCJNYXRoIiwibWluIiwiY2hpbGRFbGVtZW50Q291bnQiLCJCIiwiTiIsIm0iLCJjaGlsZE5vZGVzIiwieCIsIm9mZnNldFRvcCIsImsiLCJjbGllbnRIZWlnaHQiLCJIIiwic2Nyb2xsVG9wIiwiVSIsIm1heCIsImFwcGx5IiwiYXZhaWxhYmxlV2lkdGgiLCJhdmFpbGFibGVIZWlnaHQiLCJzdHlsZSIsIm92ZXJmbG93IiwibWF4V2lkdGgiLCJtYXhIZWlnaHQiLCJmaWx0ZXIiLCJCb29sZWFuIiwid2hpbGVFbGVtZW50c01vdW50ZWQiLCJJIiwiViIsIkciLCJqb2luIiwiSyIsIm9uQ2hhbmdlIiwiUSIsIlgiLCJZIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJNdXRhdGlvbk9ic2VydmVyIiwid2luZG93IiwiaXNOYU4iLCJwYXJzZUludCIsImNlaWwiLCJvYnNlcnZlIiwiYXR0cmlidXRlcyIsImF0dHJpYnV0ZUZpbHRlciIsImRpc2Nvbm5lY3QiLCJMIiwiSiIsIkQiLCJtYXAiLCJnZXRQcm9wZXJ0eVZhbHVlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibmV4dEZyYW1lIiwiZW50cmllcyIsImRpc3Bvc2UiLCJleGVjIiwiaW5kZXhPZiIsInNsaWNlIiwidHJpbSIsImRvY3VtZW50IiwiYXBwZW5kQ2hpbGQiLCJzZXRQcm9wZXJ0eSIsIm1hcmdpblRvcCIsInJlbW92ZUNoaWxkIiwiRmxvYXRpbmdQcm92aWRlciIsInVzZUZsb2F0aW5nUGFuZWwiLCJ1c2VGbG9hdGluZ1BhbmVsUHJvcHMiLCJ1c2VGbG9hdGluZ1JlZmVyZW5jZSIsInVzZUZsb2F0aW5nUmVmZXJlbmNlUHJvcHMiLCJ1c2VSZXNvbHZlZEFuY2hvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/floating.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js":
/*!************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/internal/focus-sentinel.js ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusSentinel: function() { return /* binding */ b; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/use-is-mounted.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\");\n/* harmony import */ var _hidden_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hidden.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\");\n\n\n\nfunction b(param) {\n let { onFocus: n } = param;\n let [r, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!0), u = (0,_hooks_use_is_mounted_js__WEBPACK_IMPORTED_MODULE_1__.useIsMounted)();\n return r ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hidden_js__WEBPACK_IMPORTED_MODULE_2__.Hidden, {\n as: \"button\",\n type: \"button\",\n features: _hidden_js__WEBPACK_IMPORTED_MODULE_2__.HiddenFeatures.Focusable,\n onFocus: (a)=>{\n a.preventDefault();\n let e, i = 50;\n function t() {\n if (i-- <= 0) {\n e && cancelAnimationFrame(e);\n return;\n }\n if (n()) {\n if (cancelAnimationFrame(e), !u.current) return;\n o(!1);\n return;\n }\n e = requestAnimationFrame(t);\n }\n e = requestAnimationFrame(t);\n }\n }) : null;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2ZvY3VzLXNlbnRpbmVsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBb0M7QUFBMEQ7QUFBeUQ7QUFBQSxTQUFTUyxFQUFFLEtBQVc7UUFBWCxFQUFDQyxTQUFRQyxDQUFDLEVBQUMsR0FBWDtJQUFhLElBQUcsQ0FBQ0MsR0FBRUMsRUFBRSxHQUFDWCwrQ0FBQ0EsQ0FBQyxDQUFDLElBQUdZLElBQUVWLHNFQUFDQTtJQUFHLE9BQU9RLGtCQUFFWixnREFBZSxDQUFDTSw4Q0FBQ0EsRUFBQztRQUFDVSxJQUFHO1FBQVNDLE1BQUs7UUFBU0MsVUFBU1Ysc0RBQUNBLENBQUNXLFNBQVM7UUFBQ1QsU0FBUVUsQ0FBQUE7WUFBSUEsRUFBRUMsY0FBYztZQUFHLElBQUlDLEdBQUVDLElBQUU7WUFBRyxTQUFTQztnQkFBSSxJQUFHRCxPQUFLLEdBQUU7b0JBQUNELEtBQUdHLHFCQUFxQkg7b0JBQUc7Z0JBQU07Z0JBQUMsSUFBR1gsS0FBSTtvQkFBQyxJQUFHYyxxQkFBcUJILElBQUcsQ0FBQ1IsRUFBRVksT0FBTyxFQUFDO29CQUFPYixFQUFFLENBQUM7b0JBQUc7Z0JBQU07Z0JBQUNTLElBQUVLLHNCQUFzQkg7WUFBRTtZQUFDRixJQUFFSyxzQkFBc0JIO1FBQUU7SUFBQyxLQUFHO0FBQUk7QUFBNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanM/YzEzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcyx7dXNlU3RhdGUgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc01vdW50ZWQgYXMgbX1mcm9tJy4uL2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzJztpbXBvcnR7SGlkZGVuIGFzIGYsSGlkZGVuRmVhdHVyZXMgYXMgbH1mcm9tJy4vaGlkZGVuLmpzJztmdW5jdGlvbiBiKHtvbkZvY3VzOm59KXtsZXRbcixvXT1jKCEwKSx1PW0oKTtyZXR1cm4gcj9zLmNyZWF0ZUVsZW1lbnQoZix7YXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsZmVhdHVyZXM6bC5Gb2N1c2FibGUsb25Gb2N1czphPT57YS5wcmV2ZW50RGVmYXVsdCgpO2xldCBlLGk9NTA7ZnVuY3Rpb24gdCgpe2lmKGktLTw9MCl7ZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSk7cmV0dXJufWlmKG4oKSl7aWYoY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSksIXUuY3VycmVudClyZXR1cm47byghMSk7cmV0dXJufWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX0pOm51bGx9ZXhwb3J0e2IgYXMgRm9jdXNTZW50aW5lbH07XG4iXSwibmFtZXMiOlsicyIsInVzZVN0YXRlIiwiYyIsInVzZUlzTW91bnRlZCIsIm0iLCJIaWRkZW4iLCJmIiwiSGlkZGVuRmVhdHVyZXMiLCJsIiwiYiIsIm9uRm9jdXMiLCJuIiwiciIsIm8iLCJ1IiwiY3JlYXRlRWxlbWVudCIsImFzIiwidHlwZSIsImZlYXR1cmVzIiwiRm9jdXNhYmxlIiwiYSIsInByZXZlbnREZWZhdWx0IiwiZSIsImkiLCJ0IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJjdXJyZW50IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiRm9jdXNTZW50aW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/focus-sentinel.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js":
/*!****************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/internal/hidden.js ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hidden: function() { return /* binding */ T; },\n/* harmony export */ HiddenFeatures: function() { return /* binding */ s; }\n/* harmony export */ });\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/render.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\");\n\nlet a = \"span\";\nvar s = ((e)=>(e[e.None = 1] = \"None\", e[e.Focusable = 2] = \"Focusable\", e[e.Hidden = 4] = \"Hidden\", e))(s || {});\nfunction l(t, r) {\n var n;\n let { features: d = 1, ...e } = t, o = {\n ref: r,\n \"aria-hidden\": (d & 2) === 2 ? !0 : (n = e[\"aria-hidden\"]) != null ? n : void 0,\n hidden: (d & 4) === 4 ? !0 : void 0,\n style: {\n position: \"fixed\",\n top: 1,\n left: 1,\n width: 1,\n height: 0,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n ...(d & 4) === 4 && (d & 2) !== 2 && {\n display: \"none\"\n }\n }\n };\n return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.render)({\n ourProps: o,\n theirProps: e,\n slot: {},\n defaultTag: a,\n name: \"Hidden\"\n });\n}\nlet T = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.forwardRefWithAs)(l);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2hpZGRlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0U7QUFBQSxJQUFJSSxJQUFFO0FBQU8sSUFBSUMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxTQUFTLEdBQUMsRUFBRSxHQUFDLGFBQVlGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNLLEVBQUVDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDO0lBQUUsSUFBRyxFQUFDQyxVQUFTQyxJQUFFLENBQUMsRUFBQyxHQUFHVCxHQUFFLEdBQUNLLEdBQUVLLElBQUU7UUFBQ0MsS0FBSUw7UUFBRSxlQUFjLENBQUNHLElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxDQUFDRixJQUFFUCxDQUFDLENBQUMsY0FBYyxLQUFHLE9BQUtPLElBQUUsS0FBSztRQUFFSyxRQUFPLENBQUNILElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxLQUFLO1FBQUVJLE9BQU07WUFBQ0MsVUFBUztZQUFRQyxLQUFJO1lBQUVDLE1BQUs7WUFBRUMsT0FBTTtZQUFFQyxRQUFPO1lBQUVDLFNBQVE7WUFBRUMsUUFBTyxDQUFDO1lBQUVDLFVBQVM7WUFBU0MsTUFBSztZQUFtQkMsWUFBVztZQUFTQyxhQUFZO1lBQUksR0FBRyxDQUFDZixJQUFFLE9BQUssS0FBRyxDQUFDQSxJQUFFLE9BQUssS0FBRztnQkFBQ2dCLFNBQVE7WUFBTSxDQUFDO1FBQUE7SUFBQztJQUFFLE9BQU81Qix3REFBQ0EsQ0FBQztRQUFDNkIsVUFBU2hCO1FBQUVpQixZQUFXM0I7UUFBRTRCLE1BQUssQ0FBQztRQUFFQyxZQUFXL0I7UUFBRWdDLE1BQUs7SUFBUTtBQUFFO0FBQUMsSUFBSUMsSUFBRXBDLGtFQUFDQSxDQUFDUztBQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9oaWRkZW4uanM/MzBlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyBpLHJlbmRlciBhcyBwfWZyb20nLi4vdXRpbHMvcmVuZGVyLmpzJztsZXQgYT1cInNwYW5cIjt2YXIgcz0oZT0+KGVbZS5Ob25lPTFdPVwiTm9uZVwiLGVbZS5Gb2N1c2FibGU9Ml09XCJGb2N1c2FibGVcIixlW2UuSGlkZGVuPTRdPVwiSGlkZGVuXCIsZSkpKHN8fHt9KTtmdW5jdGlvbiBsKHQscil7dmFyIG47bGV0e2ZlYXR1cmVzOmQ9MSwuLi5lfT10LG89e3JlZjpyLFwiYXJpYS1oaWRkZW5cIjooZCYyKT09PTI/ITA6KG49ZVtcImFyaWEtaGlkZGVuXCJdKSE9bnVsbD9uOnZvaWQgMCxoaWRkZW46KGQmNCk9PT00PyEwOnZvaWQgMCxzdHlsZTp7cG9zaXRpb246XCJmaXhlZFwiLHRvcDoxLGxlZnQ6MSx3aWR0aDoxLGhlaWdodDowLHBhZGRpbmc6MCxtYXJnaW46LTEsb3ZlcmZsb3c6XCJoaWRkZW5cIixjbGlwOlwicmVjdCgwLCAwLCAwLCAwKVwiLHdoaXRlU3BhY2U6XCJub3dyYXBcIixib3JkZXJXaWR0aDpcIjBcIiwuLi4oZCY0KT09PTQmJihkJjIpIT09MiYme2Rpc3BsYXk6XCJub25lXCJ9fX07cmV0dXJuIHAoe291clByb3BzOm8sdGhlaXJQcm9wczplLHNsb3Q6e30sZGVmYXVsdFRhZzphLG5hbWU6XCJIaWRkZW5cIn0pfWxldCBUPWkobCk7ZXhwb3J0e1QgYXMgSGlkZGVuLHMgYXMgSGlkZGVuRmVhdHVyZXN9O1xuIl0sIm5hbWVzIjpbImZvcndhcmRSZWZXaXRoQXMiLCJpIiwicmVuZGVyIiwicCIsImEiLCJzIiwiZSIsIk5vbmUiLCJGb2N1c2FibGUiLCJIaWRkZW4iLCJsIiwidCIsInIiLCJuIiwiZmVhdHVyZXMiLCJkIiwibyIsInJlZiIsImhpZGRlbiIsInN0eWxlIiwicG9zaXRpb24iLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJwYWRkaW5nIiwibWFyZ2luIiwib3ZlcmZsb3ciLCJjbGlwIiwid2hpdGVTcGFjZSIsImJvcmRlcldpZHRoIiwiZGlzcGxheSIsIm91clByb3BzIiwidGhlaXJQcm9wcyIsInNsb3QiLCJkZWZhdWx0VGFnIiwibmFtZSIsIlQiLCJIaWRkZW5GZWF0dXJlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/hidden.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js":
/*!*********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/internal/open-closed.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenClosedProvider: function() { return /* binding */ c; },\n/* harmony export */ ResetOpenClosedProvider: function() { return /* binding */ s; },\n/* harmony export */ State: function() { return /* binding */ i; },\n/* harmony export */ useOpenClosed: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet n = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nn.displayName = \"OpenClosedContext\";\nvar i = ((e)=>(e[e.Open = 1] = \"Open\", e[e.Closed = 2] = \"Closed\", e[e.Closing = 4] = \"Closing\", e[e.Opening = 8] = \"Opening\", e))(i || {});\nfunction u() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(n);\n}\nfunction c(param) {\n let { value: o, children: t } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: o\n }, t);\n}\nfunction s(param) {\n let { children: o } = param;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n value: null\n }, o);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL29wZW4tY2xvc2VkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlEO0FBQUEsSUFBSUssa0JBQUVILG9EQUFDQSxDQUFDO0FBQU1HLEVBQUVDLFdBQVcsR0FBQztBQUFvQixJQUFJQyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUMsQ0FBQ0EsRUFBRUksT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVSixDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNNO0lBQUksT0FBT1QsaURBQUNBLENBQUNDO0FBQUU7QUFBQyxTQUFTUyxFQUFFLEtBQW9CO1FBQXBCLEVBQUNDLE9BQU1DLENBQUMsRUFBQ0MsVUFBU0MsQ0FBQyxFQUFDLEdBQXBCO0lBQXNCLHFCQUFPbEIsZ0RBQWUsQ0FBQ0ssRUFBRWUsUUFBUSxFQUFDO1FBQUNMLE9BQU1DO0lBQUMsR0FBRUU7QUFBRTtBQUFDLFNBQVNHLEVBQUUsS0FBWTtRQUFaLEVBQUNKLFVBQVNELENBQUMsRUFBQyxHQUFaO0lBQWMscUJBQU9oQixnREFBZSxDQUFDSyxFQUFFZSxRQUFRLEVBQUM7UUFBQ0wsT0FBTTtJQUFJLEdBQUVDO0FBQUU7QUFBNEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvb3Blbi1jbG9zZWQuanM/ZGE5MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcix7Y3JlYXRlQ29udGV4dCBhcyBsLHVzZUNvbnRleHQgYXMgZH1mcm9tXCJyZWFjdFwiO2xldCBuPWwobnVsbCk7bi5kaXNwbGF5TmFtZT1cIk9wZW5DbG9zZWRDb250ZXh0XCI7dmFyIGk9KGU9PihlW2UuT3Blbj0xXT1cIk9wZW5cIixlW2UuQ2xvc2VkPTJdPVwiQ2xvc2VkXCIsZVtlLkNsb3Npbmc9NF09XCJDbG9zaW5nXCIsZVtlLk9wZW5pbmc9OF09XCJPcGVuaW5nXCIsZSkpKGl8fHt9KTtmdW5jdGlvbiB1KCl7cmV0dXJuIGQobil9ZnVuY3Rpb24gYyh7dmFsdWU6byxjaGlsZHJlbjp0fSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChuLlByb3ZpZGVyLHt2YWx1ZTpvfSx0KX1mdW5jdGlvbiBzKHtjaGlsZHJlbjpvfSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChuLlByb3ZpZGVyLHt2YWx1ZTpudWxsfSxvKX1leHBvcnR7YyBhcyBPcGVuQ2xvc2VkUHJvdmlkZXIscyBhcyBSZXNldE9wZW5DbG9zZWRQcm92aWRlcixpIGFzIFN0YXRlLHUgYXMgdXNlT3BlbkNsb3NlZH07XG4iXSwibmFtZXMiOlsiciIsImNyZWF0ZUNvbnRleHQiLCJsIiwidXNlQ29udGV4dCIsImQiLCJuIiwiZGlzcGxheU5hbWUiLCJpIiwiZSIsIk9wZW4iLCJDbG9zZWQiLCJDbG9zaW5nIiwiT3BlbmluZyIsInUiLCJjIiwidmFsdWUiLCJvIiwiY2hpbGRyZW4iLCJ0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwicyIsIk9wZW5DbG9zZWRQcm92aWRlciIsIlJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIiwiU3RhdGUiLCJ1c2VPcGVuQ2xvc2VkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/open-closed.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/portal-force-root.js":
/*!***************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/internal/portal-force-root.js ***!
\***************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ForcePortalRoot: function() { return /* binding */ l; },\n/* harmony export */ usePortalRoot: function() { return /* binding */ a; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\nlet e = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(!1);\nfunction a() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(e);\n}\nfunction l(o) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(e.Provider, {\n value: o.force\n }, o.children);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL3BvcnRhbC1mb3JjZS1yb290LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUFBLElBQUlLLGtCQUFFSCxvREFBQ0EsQ0FBQyxDQUFDO0FBQUcsU0FBU0k7SUFBSSxPQUFPRixpREFBQ0EsQ0FBQ0M7QUFBRTtBQUFDLFNBQVNFLEVBQUVDLENBQUM7SUFBRSxxQkFBT1IsZ0RBQWUsQ0FBQ0ssRUFBRUssUUFBUSxFQUFDO1FBQUNDLE9BQU1ILEVBQUVJLEtBQUs7SUFBQSxHQUFFSixFQUFFSyxRQUFRO0FBQUM7QUFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvcG9ydGFsLWZvcmNlLXJvb3QuanM/YTUyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdCx7Y3JlYXRlQ29udGV4dCBhcyByLHVzZUNvbnRleHQgYXMgY31mcm9tXCJyZWFjdFwiO2xldCBlPXIoITEpO2Z1bmN0aW9uIGEoKXtyZXR1cm4gYyhlKX1mdW5jdGlvbiBsKG8pe3JldHVybiB0LmNyZWF0ZUVsZW1lbnQoZS5Qcm92aWRlcix7dmFsdWU6by5mb3JjZX0sby5jaGlsZHJlbil9ZXhwb3J0e2wgYXMgRm9yY2VQb3J0YWxSb290LGEgYXMgdXNlUG9ydGFsUm9vdH07XG4iXSwibmFtZXMiOlsidCIsImNyZWF0ZUNvbnRleHQiLCJyIiwidXNlQ29udGV4dCIsImMiLCJlIiwiYSIsImwiLCJvIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJmb3JjZSIsImNoaWxkcmVuIiwiRm9yY2VQb3J0YWxSb290IiwidXNlUG9ydGFsUm9vdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/internal/portal-force-root.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js":
/*!***********************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/bugs.js ***!
\***********************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDisabledReactIssue7711: function() { return /* binding */ r; }\n/* harmony export */ });\nfunction r(n) {\n let e = n.parentElement, l = null;\n for(; e && !(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement && (l = e), e = e.parentElement;\n let t = (e == null ? void 0 : e.getAttribute(\"disabled\")) === \"\";\n return t && i(l) ? !1 : t;\n}\nfunction i(n) {\n if (!n) return !1;\n let e = n.previousElementSibling;\n for(; e !== null;){\n if (e instanceof HTMLLegendElement) return !1;\n e = e.previousElementSibling;\n }\n return !0;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFRCxFQUFFRSxhQUFhLEVBQUNDLElBQUU7SUFBSyxNQUFLRixLQUFHLENBQUVBLENBQUFBLGFBQWFHLG1CQUFrQixHQUFJSCxhQUFhSSxxQkFBb0JGLENBQUFBLElBQUVGLENBQUFBLEdBQUdBLElBQUVBLEVBQUVDLGFBQWE7SUFBQyxJQUFJSSxJQUFFLENBQUNMLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVNLFlBQVksQ0FBQyxXQUFVLE1BQUs7SUFBRyxPQUFPRCxLQUFHRSxFQUFFTCxLQUFHLENBQUMsSUFBRUc7QUFBQztBQUFDLFNBQVNFLEVBQUVSLENBQUM7SUFBRSxJQUFHLENBQUNBLEdBQUUsT0FBTSxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRVMsc0JBQXNCO0lBQUMsTUFBS1IsTUFBSSxNQUFNO1FBQUMsSUFBR0EsYUFBYUksbUJBQWtCLE9BQU0sQ0FBQztRQUFFSixJQUFFQSxFQUFFUSxzQkFBc0I7SUFBQTtJQUFDLE9BQU0sQ0FBQztBQUFDO0FBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanM/NzE1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiByKG4pe2xldCBlPW4ucGFyZW50RWxlbWVudCxsPW51bGw7Zm9yKDtlJiYhKGUgaW5zdGFuY2VvZiBIVE1MRmllbGRTZXRFbGVtZW50KTspZSBpbnN0YW5jZW9mIEhUTUxMZWdlbmRFbGVtZW50JiYobD1lKSxlPWUucGFyZW50RWxlbWVudDtsZXQgdD0oZT09bnVsbD92b2lkIDA6ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKSk9PT1cIlwiO3JldHVybiB0JiZpKGwpPyExOnR9ZnVuY3Rpb24gaShuKXtpZighbilyZXR1cm4hMTtsZXQgZT1uLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7Zm9yKDtlIT09bnVsbDspe2lmKGUgaW5zdGFuY2VvZiBIVE1MTGVnZW5kRWxlbWVudClyZXR1cm4hMTtlPWUucHJldmlvdXNFbGVtZW50U2libGluZ31yZXR1cm4hMH1leHBvcnR7ciBhcyBpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTF9O1xuIl0sIm5hbWVzIjpbInIiLCJuIiwiZSIsInBhcmVudEVsZW1lbnQiLCJsIiwiSFRNTEZpZWxkU2V0RWxlbWVudCIsIkhUTUxMZWdlbmRFbGVtZW50IiwidCIsImdldEF0dHJpYnV0ZSIsImkiLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiaXNEaXNhYmxlZFJlYWN0SXNzdWU3NzExIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/bugs.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js":
/*!******************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/class-names.js ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ classNames: function() { return /* binding */ t; }\n/* harmony export */ });\nfunction t() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return Array.from(new Set(r.flatMap((n)=>typeof n == \"string\" ? n.split(\" \") : []))).filter(Boolean).join(\" \");\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2NsYXNzLW5hbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQTtJQUFFO1FBQUdDLEVBQUgsdUJBQUk7O0lBQUUsT0FBT0MsTUFBTUMsSUFBSSxDQUFDLElBQUlDLElBQUlILEVBQUVJLE9BQU8sQ0FBQ0MsQ0FBQUEsSUFBRyxPQUFPQSxLQUFHLFdBQVNBLEVBQUVDLEtBQUssQ0FBQyxPQUFLLEVBQUUsSUFBSUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFBSTtBQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9jbGFzcy1uYW1lcy5qcz9jMmQ1Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHQoLi4ucil7cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChyLmZsYXRNYXAobj0+dHlwZW9mIG49PVwic3RyaW5nXCI/bi5zcGxpdChcIiBcIik6W10pKSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpfWV4cG9ydHt0IGFzIGNsYXNzTmFtZXN9O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiZmxhdE1hcCIsIm4iLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiY2xhc3NOYW1lcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/default-map.js":
/*!******************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/default-map.js ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMap: function() { return /* binding */ a; }\n/* harmony export */ });\nclass a extends Map {\n constructor(t){\n super();\n this.factory = t;\n }\n get(t) {\n let e = super.get(t);\n return e === void 0 && (e = this.factory(t), this.set(t, e)), e;\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2RlZmF1bHQtbWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxVQUFVQztJQUFJQyxZQUFZQyxDQUFDLENBQUM7UUFBQyxLQUFLO1FBQUcsSUFBSSxDQUFDQyxPQUFPLEdBQUNEO0lBQUM7SUFBQ0UsSUFBSUYsQ0FBQyxFQUFDO1FBQUMsSUFBSUcsSUFBRSxLQUFLLENBQUNELElBQUlGO1FBQUcsT0FBT0csTUFBSSxLQUFLLEtBQUlBLENBQUFBLElBQUUsSUFBSSxDQUFDRixPQUFPLENBQUNELElBQUcsSUFBSSxDQUFDSSxHQUFHLENBQUNKLEdBQUVHLEVBQUMsR0FBR0E7SUFBQztBQUFDO0FBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2RlZmF1bHQtbWFwLmpzP2RkZjUiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgYSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpO3RoaXMuZmFjdG9yeT10fWdldCh0KXtsZXQgZT1zdXBlci5nZXQodCk7cmV0dXJuIGU9PT12b2lkIDAmJihlPXRoaXMuZmFjdG9yeSh0KSx0aGlzLnNldCh0LGUpKSxlfX1leHBvcnR7YSBhcyBEZWZhdWx0TWFwfTtcbiJdLCJuYW1lcyI6WyJhIiwiTWFwIiwiY29uc3RydWN0b3IiLCJ0IiwiZmFjdG9yeSIsImdldCIsImUiLCJzZXQiLCJEZWZhdWx0TWFwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/default-map.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js":
/*!******************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/disposables.js ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ disposables: function() { return /* binding */ o; }\n/* harmony export */ });\n/* harmony import */ var _micro_task_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./micro-task.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\");\n\nfunction o() {\n let n = [], r = {\n addEventListener (e, t, s, a) {\n return e.addEventListener(t, s, a), r.add(()=>e.removeEventListener(t, s, a));\n },\n requestAnimationFrame () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = requestAnimationFrame(...e);\n return r.add(()=>cancelAnimationFrame(t));\n },\n nextFrame () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e));\n },\n setTimeout () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = setTimeout(...e);\n return r.add(()=>clearTimeout(t));\n },\n microTask () {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n let t = {\n current: !0\n };\n return (0,_micro_task_js__WEBPACK_IMPORTED_MODULE_0__.microTask)(()=>{\n t.current && e[0]();\n }), r.add(()=>{\n t.current = !1;\n });\n },\n style (e, t, s) {\n let a = e.style.getPropertyValue(t);\n return Object.assign(e.style, {\n [t]: s\n }), this.add(()=>{\n Object.assign(e.style, {\n [t]: a\n });\n });\n },\n group (e) {\n let t = o();\n return e(t), this.add(()=>t.dispose());\n },\n add (e) {\n return n.includes(e) || n.push(e), ()=>{\n let t = n.indexOf(e);\n if (t >= 0) for (let s of n.splice(t, 1))s();\n };\n },\n dispose () {\n for (let e of n.splice(0))e();\n }\n };\n return r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Rpc3Bvc2FibGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQUEsU0FBU0U7SUFBSSxJQUFJQyxJQUFFLEVBQUUsRUFBQ0MsSUFBRTtRQUFDQyxrQkFBaUJDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7WUFBRSxPQUFPSCxFQUFFRCxnQkFBZ0IsQ0FBQ0UsR0FBRUMsR0FBRUMsSUFBR0wsRUFBRU0sR0FBRyxDQUFDLElBQUlKLEVBQUVLLG1CQUFtQixDQUFDSixHQUFFQyxHQUFFQztRQUFHO1FBQUVHO1lBQXNCO2dCQUFHTixFQUFILHVCQUFJOztZQUFFLElBQUlDLElBQUVLLHlCQUF5Qk47WUFBRyxPQUFPRixFQUFFTSxHQUFHLENBQUMsSUFBSUcscUJBQXFCTjtRQUFHO1FBQUVPO1lBQVU7Z0JBQUdSLEVBQUgsdUJBQUk7O1lBQUUsT0FBT0YsRUFBRVEscUJBQXFCLENBQUMsSUFBSVIsRUFBRVEscUJBQXFCLElBQUlOO1FBQUc7UUFBRVM7WUFBVztnQkFBR1QsRUFBSCx1QkFBSTs7WUFBRSxJQUFJQyxJQUFFUSxjQUFjVDtZQUFHLE9BQU9GLEVBQUVNLEdBQUcsQ0FBQyxJQUFJTSxhQUFhVDtRQUFHO1FBQUVQO1lBQVU7Z0JBQUdNLEVBQUgsdUJBQUk7O1lBQUUsSUFBSUMsSUFBRTtnQkFBQ1UsU0FBUSxDQUFDO1lBQUM7WUFBRSxPQUFPaEIseURBQUNBLENBQUM7Z0JBQUtNLEVBQUVVLE9BQU8sSUFBRVgsQ0FBQyxDQUFDLEVBQUU7WUFBRSxJQUFHRixFQUFFTSxHQUFHLENBQUM7Z0JBQUtILEVBQUVVLE9BQU8sR0FBQyxDQUFDO1lBQUM7UUFBRTtRQUFFQyxPQUFNWixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDLElBQUVILEVBQUVZLEtBQUssQ0FBQ0MsZ0JBQWdCLENBQUNaO1lBQUcsT0FBT2EsT0FBT0MsTUFBTSxDQUFDZixFQUFFWSxLQUFLLEVBQUM7Z0JBQUMsQ0FBQ1gsRUFBRSxFQUFDQztZQUFDLElBQUcsSUFBSSxDQUFDRSxHQUFHLENBQUM7Z0JBQUtVLE9BQU9DLE1BQU0sQ0FBQ2YsRUFBRVksS0FBSyxFQUFDO29CQUFDLENBQUNYLEVBQUUsRUFBQ0U7Z0JBQUM7WUFBRTtRQUFFO1FBQUVhLE9BQU1oQixDQUFDO1lBQUUsSUFBSUMsSUFBRUw7WUFBSSxPQUFPSSxFQUFFQyxJQUFHLElBQUksQ0FBQ0csR0FBRyxDQUFDLElBQUlILEVBQUVnQixPQUFPO1FBQUc7UUFBRWIsS0FBSUosQ0FBQztZQUFFLE9BQU9ILEVBQUVxQixRQUFRLENBQUNsQixNQUFJSCxFQUFFc0IsSUFBSSxDQUFDbkIsSUFBRztnQkFBSyxJQUFJQyxJQUFFSixFQUFFdUIsT0FBTyxDQUFDcEI7Z0JBQUcsSUFBR0MsS0FBRyxHQUFFLEtBQUksSUFBSUMsS0FBS0wsRUFBRXdCLE1BQU0sQ0FBQ3BCLEdBQUUsR0FBR0M7WUFBRztRQUFDO1FBQUVlO1lBQVUsS0FBSSxJQUFJakIsS0FBS0gsRUFBRXdCLE1BQU0sQ0FBQyxHQUFHckI7UUFBRztJQUFDO0lBQUUsT0FBT0Y7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9kaXNwb3NhYmxlcy5qcz8yYTk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHttaWNyb1Rhc2sgYXMgaX1mcm9tJy4vbWljcm8tdGFzay5qcyc7ZnVuY3Rpb24gbygpe2xldCBuPVtdLHI9e2FkZEV2ZW50TGlzdGVuZXIoZSx0LHMsYSl7cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcih0LHMsYSksci5hZGQoKCk9PmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHMsYSkpfSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoLi4uZSl7bGV0IHQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLmUpO3JldHVybiByLmFkZCgoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUodCkpfSxuZXh0RnJhbWUoLi4uZSl7cmV0dXJuIHIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yLnJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5lKSl9LHNldFRpbWVvdXQoLi4uZSl7bGV0IHQ9c2V0VGltZW91dCguLi5lKTtyZXR1cm4gci5hZGQoKCk9PmNsZWFyVGltZW91dCh0KSl9LG1pY3JvVGFzayguLi5lKXtsZXQgdD17Y3VycmVudDohMH07cmV0dXJuIGkoKCk9Pnt0LmN1cnJlbnQmJmVbMF0oKX0pLHIuYWRkKCgpPT57dC5jdXJyZW50PSExfSl9LHN0eWxlKGUsdCxzKXtsZXQgYT1lLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oZS5zdHlsZSx7W3RdOnN9KSx0aGlzLmFkZCgoKT0+e09iamVjdC5hc3NpZ24oZS5zdHlsZSx7W3RdOmF9KX0pfSxncm91cChlKXtsZXQgdD1vKCk7cmV0dXJuIGUodCksdGhpcy5hZGQoKCk9PnQuZGlzcG9zZSgpKX0sYWRkKGUpe3JldHVybiBuLmluY2x1ZGVzKGUpfHxuLnB1c2goZSksKCk9PntsZXQgdD1uLmluZGV4T2YoZSk7aWYodD49MClmb3IobGV0IHMgb2Ygbi5zcGxpY2UodCwxKSlzKCl9fSxkaXNwb3NlKCl7Zm9yKGxldCBlIG9mIG4uc3BsaWNlKDApKWUoKX19O3JldHVybiByfWV4cG9ydHtvIGFzIGRpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJtaWNyb1Rhc2siLCJpIiwibyIsIm4iLCJyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImUiLCJ0IiwicyIsImEiLCJhZGQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJuZXh0RnJhbWUiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiY3VycmVudCIsInN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIk9iamVjdCIsImFzc2lnbiIsImdyb3VwIiwiZGlzcG9zZSIsImluY2x1ZGVzIiwicHVzaCIsImluZGV4T2YiLCJzcGxpY2UiLCJkaXNwb3NhYmxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js":
/*!**********************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/env.js ***!
\**********************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: function() { return /* binding */ s; }\n/* harmony export */ });\nvar i = Object.defineProperty;\nvar d = (t, e, n)=>e in t ? i(t, e, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: n\n }) : t[e] = n;\nvar r = (t, e, n)=>(d(t, typeof e != \"symbol\" ? e + \"\" : e, n), n);\nclass o {\n constructor(){\n r(this, \"current\", this.detect());\n r(this, \"handoffState\", \"pending\");\n r(this, \"currentId\", 0);\n }\n set(e) {\n this.current !== e && (this.handoffState = \"pending\", this.currentId = 0, this.current = e);\n }\n reset() {\n this.set(this.detect());\n }\n nextId() {\n return ++this.currentId;\n }\n get isServer() {\n return this.current === \"server\";\n }\n get isClient() {\n return this.current === \"client\";\n }\n detect() {\n return typeof window == \"undefined\" || typeof document == \"undefined\" ? \"server\" : \"client\";\n }\n handoff() {\n this.handoffState === \"pending\" && (this.handoffState = \"complete\");\n }\n get isHandoffComplete() {\n return this.handoffState === \"complete\";\n }\n}\nlet s = new o;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Vudi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBSUEsSUFBRUMsT0FBT0MsY0FBYztBQUFDLElBQUlDLElBQUUsQ0FBQ0MsR0FBRUMsR0FBRUMsSUFBSUQsS0FBS0QsSUFBRUosRUFBRUksR0FBRUMsR0FBRTtRQUFDRSxZQUFXLENBQUM7UUFBRUMsY0FBYSxDQUFDO1FBQUVDLFVBQVMsQ0FBQztRQUFFQyxPQUFNSjtJQUFDLEtBQUdGLENBQUMsQ0FBQ0MsRUFBRSxHQUFDQztBQUFFLElBQUlLLElBQUUsQ0FBQ1AsR0FBRUMsR0FBRUMsSUFBS0gsQ0FBQUEsRUFBRUMsR0FBRSxPQUFPQyxLQUFHLFdBQVNBLElBQUUsS0FBR0EsR0FBRUMsSUFBR0EsQ0FBQUE7QUFBRyxNQUFNTTtJQUFFQyxhQUFhO1FBQUNGLEVBQUUsSUFBSSxFQUFDLFdBQVUsSUFBSSxDQUFDRyxNQUFNO1FBQUlILEVBQUUsSUFBSSxFQUFDLGdCQUFlO1FBQVdBLEVBQUUsSUFBSSxFQUFDLGFBQVk7SUFBRTtJQUFDSSxJQUFJVixDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUNXLE9BQU8sS0FBR1gsS0FBSSxLQUFJLENBQUNZLFlBQVksR0FBQyxXQUFVLElBQUksQ0FBQ0MsU0FBUyxHQUFDLEdBQUUsSUFBSSxDQUFDRixPQUFPLEdBQUNYLENBQUFBO0lBQUU7SUFBQ2MsUUFBTztRQUFDLElBQUksQ0FBQ0osR0FBRyxDQUFDLElBQUksQ0FBQ0QsTUFBTTtJQUFHO0lBQUNNLFNBQVE7UUFBQyxPQUFNLEVBQUUsSUFBSSxDQUFDRixTQUFTO0lBQUE7SUFBQyxJQUFJRyxXQUFVO1FBQUMsT0FBTyxJQUFJLENBQUNMLE9BQU8sS0FBRztJQUFRO0lBQUMsSUFBSU0sV0FBVTtRQUFDLE9BQU8sSUFBSSxDQUFDTixPQUFPLEtBQUc7SUFBUTtJQUFDRixTQUFRO1FBQUMsT0FBTyxPQUFPUyxVQUFRLGVBQWEsT0FBT0MsWUFBVSxjQUFZLFdBQVM7SUFBUTtJQUFDQyxVQUFTO1FBQUMsSUFBSSxDQUFDUixZQUFZLEtBQUcsYUFBWSxLQUFJLENBQUNBLFlBQVksR0FBQyxVQUFTO0lBQUU7SUFBQyxJQUFJUyxvQkFBbUI7UUFBQyxPQUFPLElBQUksQ0FBQ1QsWUFBWSxLQUFHO0lBQVU7QUFBQztBQUFDLElBQUlVLElBQUUsSUFBSWY7QUFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZW52LmpzPzM4NTIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBkPSh0LGUsbik9PmUgaW4gdD9pKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOnRbZV09bjt2YXIgcj0odCxlLG4pPT4oZCh0LHR5cGVvZiBlIT1cInN5bWJvbFwiP2UrXCJcIjplLG4pLG4pO2NsYXNzIG97Y29uc3RydWN0b3IoKXtyKHRoaXMsXCJjdXJyZW50XCIsdGhpcy5kZXRlY3QoKSk7cih0aGlzLFwiaGFuZG9mZlN0YXRlXCIsXCJwZW5kaW5nXCIpO3IodGhpcyxcImN1cnJlbnRJZFwiLDApfXNldChlKXt0aGlzLmN1cnJlbnQhPT1lJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJwZW5kaW5nXCIsdGhpcy5jdXJyZW50SWQ9MCx0aGlzLmN1cnJlbnQ9ZSl9cmVzZXQoKXt0aGlzLnNldCh0aGlzLmRldGVjdCgpKX1uZXh0SWQoKXtyZXR1cm4rK3RoaXMuY3VycmVudElkfWdldCBpc1NlcnZlcigpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cInNlcnZlclwifWdldCBpc0NsaWVudCgpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cImNsaWVudFwifWRldGVjdCgpe3JldHVybiB0eXBlb2Ygd2luZG93PT1cInVuZGVmaW5lZFwifHx0eXBlb2YgZG9jdW1lbnQ9PVwidW5kZWZpbmVkXCI/XCJzZXJ2ZXJcIjpcImNsaWVudFwifWhhbmRvZmYoKXt0aGlzLmhhbmRvZmZTdGF0ZT09PVwicGVuZGluZ1wiJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJjb21wbGV0ZVwiKX1nZXQgaXNIYW5kb2ZmQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5oYW5kb2ZmU3RhdGU9PT1cImNvbXBsZXRlXCJ9fWxldCBzPW5ldyBvO2V4cG9ydHtzIGFzIGVudn07XG4iXSwibmFtZXMiOlsiaSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZCIsInQiLCJlIiwibiIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwiciIsIm8iLCJjb25zdHJ1Y3RvciIsImRldGVjdCIsInNldCIsImN1cnJlbnQiLCJoYW5kb2ZmU3RhdGUiLCJjdXJyZW50SWQiLCJyZXNldCIsIm5leHRJZCIsImlzU2VydmVyIiwiaXNDbGllbnQiLCJ3aW5kb3ciLCJkb2N1bWVudCIsImhhbmRvZmYiLCJpc0hhbmRvZmZDb21wbGV0ZSIsInMiLCJlbnYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js":
/*!***********************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/focus-management.js ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Focus: function() { return /* binding */ F; },\n/* harmony export */ FocusResult: function() { return /* binding */ T; },\n/* harmony export */ FocusableMode: function() { return /* binding */ h; },\n/* harmony export */ focusElement: function() { return /* binding */ I; },\n/* harmony export */ focusFrom: function() { return /* binding */ j; },\n/* harmony export */ focusIn: function() { return /* binding */ P; },\n/* harmony export */ focusableSelector: function() { return /* binding */ f; },\n/* harmony export */ getAutoFocusableElements: function() { return /* binding */ S; },\n/* harmony export */ getFocusableElements: function() { return /* binding */ b; },\n/* harmony export */ isFocusableElement: function() { return /* binding */ A; },\n/* harmony export */ restoreFocusIfNecessary: function() { return /* binding */ G; },\n/* harmony export */ sortByDomNode: function() { return /* binding */ _; }\n/* harmony export */ });\n/* harmony import */ var _disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./disposables.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _owner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./owner.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\");\n\n\n\nlet f = [\n \"[contentEditable=true]\",\n \"[tabindex]\",\n \"a[href]\",\n \"area[href]\",\n \"button:not([disabled])\",\n \"iframe\",\n \"input:not([disabled])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\"), p = [\n \"[data-autofocus]\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\");\nvar F = ((n)=>(n[n.First = 1] = \"First\", n[n.Previous = 2] = \"Previous\", n[n.Next = 4] = \"Next\", n[n.Last = 8] = \"Last\", n[n.WrapAround = 16] = \"WrapAround\", n[n.NoScroll = 32] = \"NoScroll\", n[n.AutoFocus = 64] = \"AutoFocus\", n))(F || {}), T = ((o)=>(o[o.Error = 0] = \"Error\", o[o.Overflow = 1] = \"Overflow\", o[o.Success = 2] = \"Success\", o[o.Underflow = 3] = \"Underflow\", o))(T || {}), y = ((t)=>(t[t.Previous = -1] = \"Previous\", t[t.Next = 1] = \"Next\", t))(y || {});\nfunction b() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document.body;\n return e == null ? [] : Array.from(e.querySelectorAll(f)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\nfunction S() {\n let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document.body;\n return e == null ? [] : Array.from(e.querySelectorAll(p)).sort((r, t)=>Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\n_c = S;\nvar h = ((t)=>(t[t.Strict = 0] = \"Strict\", t[t.Loose = 1] = \"Loose\", t))(h || {});\nfunction A(e) {\n let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var t;\n return e === ((t = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e)) == null ? void 0 : t.body) ? !1 : (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(r, {\n [0] () {\n return e.matches(f);\n },\n [1] () {\n let u = e;\n for(; u !== null;){\n if (u.matches(f)) return !0;\n u = u.parentElement;\n }\n return !1;\n }\n });\n}\n_c1 = A;\nfunction G(e) {\n let r = (0,_owner_js__WEBPACK_IMPORTED_MODULE_0__.getOwnerDocument)(e);\n (0,_disposables_js__WEBPACK_IMPORTED_MODULE_2__.disposables)().nextFrame(()=>{\n r && !A(r.activeElement, 0) && I(e);\n });\n}\n_c2 = G;\nvar H = ((t)=>(t[t.Keyboard = 0] = \"Keyboard\", t[t.Mouse = 1] = \"Mouse\", t))(H || {});\ntypeof window != \"undefined\" && typeof document != \"undefined\" && (document.addEventListener(\"keydown\", (e)=>{\n e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0), document.addEventListener(\"click\", (e)=>{\n e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0));\nfunction I(e) {\n e == null || e.focus({\n preventScroll: !0\n });\n}\n_c3 = I;\nlet w = [\n \"textarea\",\n \"input\"\n].join(\",\");\nfunction O(e) {\n var r, t;\n return (t = (r = e == null ? void 0 : e.matches) == null ? void 0 : r.call(e, w)) != null ? t : !1;\n}\n_c4 = O;\nfunction _(e) {\n let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (t)=>t;\n return e.slice().sort((t, u)=>{\n let o = r(t), c = r(u);\n if (o === null || c === null) return 0;\n let l = o.compareDocumentPosition(c);\n return l & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : l & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;\n });\n}\nfunction j(e, r) {\n return P(b(), r, {\n relativeTo: e\n });\n}\nfunction P(e, r) {\n let { sorted: t = !0, relativeTo: u = null, skipElements: o = [] } = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n let c = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, l = Array.isArray(e) ? t ? _(e) : e : r & 64 ? S(e) : b(e);\n o.length > 0 && l.length > 1 && (l = l.filter((s)=>!o.some((a)=>a != null && \"current\" in a ? (a == null ? void 0 : a.current) === s : a === s))), u = u != null ? u : c.activeElement;\n let n = (()=>{\n if (r & 5) return 1;\n if (r & 10) return -1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), x = (()=>{\n if (r & 1) return 0;\n if (r & 2) return Math.max(0, l.indexOf(u)) - 1;\n if (r & 4) return Math.max(0, l.indexOf(u)) + 1;\n if (r & 8) return l.length - 1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), M = r & 32 ? {\n preventScroll: !0\n } : {}, m = 0, d = l.length, i;\n do {\n if (m >= d || m + d <= 0) return 0;\n let s = x + m;\n if (r & 16) s = (s + d) % d;\n else {\n if (s < 0) return 3;\n if (s >= d) return 1;\n }\n i = l[s], i == null || i.focus(M), m += n;\n }while (i !== c.activeElement);\n return r & 6 && O(i) && i.select(), 2;\n}\n_c5 = P;\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"S\");\n$RefreshReg$(_c1, \"A\");\n$RefreshReg$(_c2, \"G\");\n$RefreshReg$(_c3, \"I\");\n$RefreshReg$(_c4, \"O\");\n$RefreshReg$(_c5, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQStDO0FBQW1DO0FBQThDO0FBQUEsSUFBSU0sSUFBRTtJQUFDO0lBQXlCO0lBQWE7SUFBVTtJQUFhO0lBQXlCO0lBQVM7SUFBd0I7SUFBeUI7Q0FBMkIsQ0FBQ0MsR0FBRyxDQUFDQyxDQUFBQSxJQUFHLENBQUMsRUFBRUEsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFQyxJQUFJLENBQUMsTUFBS0MsSUFBRTtJQUFDO0NBQW1CLENBQUNILEdBQUcsQ0FBQ0MsQ0FBQUEsSUFBRyxDQUFDLEVBQUVBLEVBQUUscUJBQXFCLENBQUMsRUFBRUMsSUFBSSxDQUFDO0FBQUssSUFBSUUsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUQsQ0FBQyxDQUFDQSxFQUFFRSxRQUFRLEdBQUMsRUFBRSxHQUFDLFlBQVdGLENBQUMsQ0FBQ0EsRUFBRUcsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPSCxDQUFDLENBQUNBLEVBQUVJLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0osQ0FBQyxDQUFDQSxFQUFFSyxVQUFVLEdBQUMsR0FBRyxHQUFDLGNBQWFMLENBQUMsQ0FBQ0EsRUFBRU0sUUFBUSxHQUFDLEdBQUcsR0FBQyxZQUFXTixDQUFDLENBQUNBLEVBQUVPLFNBQVMsR0FBQyxHQUFHLEdBQUMsYUFBWVAsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUMsSUFBR1MsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUQsQ0FBQyxDQUFDQSxFQUFFRSxRQUFRLEdBQUMsRUFBRSxHQUFDLFlBQVdGLENBQUMsQ0FBQ0EsRUFBRUcsT0FB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T0FBTyxDQUFDOUMsTUFBSTtRQUFFLElBQUdaLElBQUUsR0FBRSxPQUFPQyxLQUFLd0QsR0FBRyxDQUFDLEdBQUVuQixFQUFFb0IsT0FBTyxDQUFDOUMsTUFBSTtRQUFFLElBQUdaLElBQUUsR0FBRSxPQUFPc0MsRUFBRVcsTUFBTSxHQUFDO1FBQUUsTUFBTSxJQUFJOUQsTUFBTTtJQUFnRSxNQUFLd0UsSUFBRTNELElBQUUsS0FBRztRQUFDK0IsZUFBYyxDQUFDO0lBQUMsSUFBRSxDQUFDLEdBQUU2QixJQUFFLEdBQUVDLElBQUV2QixFQUFFVyxNQUFNLEVBQUNhO0lBQUUsR0FBRTtRQUFDLElBQUdGLEtBQUdDLEtBQUdELElBQUVDLEtBQUcsR0FBRSxPQUFPO1FBQUUsSUFBSVQsSUFBRUksSUFBRUk7UUFBRSxJQUFHNUQsSUFBRSxJQUFHb0QsSUFBRSxDQUFDQSxJQUFFUyxDQUFBQSxJQUFHQTthQUFNO1lBQUMsSUFBR1QsSUFBRSxHQUFFLE9BQU87WUFBRSxJQUFHQSxLQUFHUyxHQUFFLE9BQU87UUFBQztRQUFDQyxJQUFFeEIsQ0FBQyxDQUFDYyxFQUFFLEVBQUNVLEtBQUcsUUFBTUEsRUFBRWhDLEtBQUssQ0FBQzZCLElBQUdDLEtBQUduRjtJQUFDLFFBQU9xRixNQUFJekIsRUFBRXJCLGFBQWEsRUFBRTtJQUFBLE9BQU9oQixJQUFFLEtBQUdpQyxFQUFFNkIsTUFBSUEsRUFBRUMsTUFBTSxJQUFHO0FBQUM7TUFBajRCbkI7QUFBOG5DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanM/YzA5OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7ZGlzcG9zYWJsZXMgYXMgTn1mcm9tJy4vZGlzcG9zYWJsZXMuanMnO2ltcG9ydHttYXRjaCBhcyBMfWZyb20nLi9tYXRjaC5qcyc7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgRX1mcm9tJy4vb3duZXIuanMnO2xldCBmPVtcIltjb250ZW50RWRpdGFibGU9dHJ1ZV1cIixcIlt0YWJpbmRleF1cIixcImFbaHJlZl1cIixcImFyZWFbaHJlZl1cIixcImJ1dHRvbjpub3QoW2Rpc2FibGVkXSlcIixcImlmcmFtZVwiLFwiaW5wdXQ6bm90KFtkaXNhYmxlZF0pXCIsXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pXCIsXCJ0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSlcIl0ubWFwKGU9PmAke2V9Om5vdChbdGFiaW5kZXg9Jy0xJ10pYCkuam9pbihcIixcIikscD1bXCJbZGF0YS1hdXRvZm9jdXNdXCJdLm1hcChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSctMSddKWApLmpvaW4oXCIsXCIpO3ZhciBGPShuPT4obltuLkZpcnN0PTFdPVwiRmlyc3RcIixuW24uUHJldmlvdXM9Ml09XCJQcmV2aW91c1wiLG5bbi5OZXh0PTRdPVwiTmV4dFwiLG5bbi5MYXN0PThdPVwiTGFzdFwiLG5bbi5XcmFwQXJvdW5kPTE2XT1cIldyYXBBcm91bmRcIixuW24uTm9TY3JvbGw9MzJdPVwiTm9TY3JvbGxcIixuW24uQXV0b0ZvY3VzPTY0XT1cIkF1dG9Gb2N1c1wiLG4pKShGfHx7fSksVD0obz0+KG9bby5FcnJvcj0wXT1cIkVycm9yXCIsb1tvLk92ZXJmbG93PTFdPVwiT3ZlcmZsb3dcIixvW28uU3VjY2Vzcz0yXT1cIlN1Y2Nlc3NcIixvW28uVW5kZXJmbG93PTNdPVwiVW5kZXJmbG93XCIsbykpKFR8fHt9KSx5PSh0PT4odFt0LlByZXZpb3VzPS0xXT1cIlByZXZpb3VzXCIsdFt0Lk5leHQ9MV09XCJOZXh0XCIsdCkpKHl8fHt9KTtmdW5jdGlvbiBiKGU9ZG9jdW1lbnQuYm9keSl7cmV0dXJuIGU9PW51bGw/W106QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoZikpLnNvcnQoKHIsdCk9Pk1hdGguc2lnbigoci50YWJJbmRleHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLSh0LnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpKX1mdW5jdGlvbiBTKGU9ZG9jdW1lbnQuYm9keSl7cmV0dXJuIGU9PW51bGw/W106QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwocCkpLnNvcnQoKHIsdCk9Pk1hdGguc2lnbigoci50YWJJbmRleHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLSh0LnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpKX12YXIgaD0odD0+KHRbdC5TdHJpY3Q9MF09XCJTdHJpY3RcIix0W3QuTG9vc2U9MV09XCJMb29zZVwiLHQpKShofHx7fSk7ZnVuY3Rpb24gQShlLHI9MCl7dmFyIHQ7cmV0dXJuIGU9PT0oKHQ9RShlKSk9PW51bGw/dm9pZCAwOnQuYm9keSk/ITE6TChyLHtbMF0oKXtyZXR1cm4gZS5tYXRjaGVzKGYpfSxbMV0oKXtsZXQgdT1lO2Zvcig7dSE9PW51bGw7KXtpZih1Lm1hdGNoZXMoZikpcmV0dXJuITA7dT11LnBhcmVudEVsZW1lbnR9cmV0dXJuITF9fSl9ZnVuY3Rpb24gRyhlKXtsZXQgcj1FKGUpO04oKS5uZXh0RnJhbWUoKCk9PntyJiYhQShyLmFjdGl2ZUVsZW1lbnQsMCkmJkkoZSl9KX12YXIgSD0odD0+KHRbdC5LZXlib2FyZD0wXT1cIktleWJvYXJkXCIsdFt0Lk1vdXNlPTFdPVwiTW91c2VcIix0KSkoSHx8e30pO3R5cGVvZiB3aW5kb3chPVwidW5kZWZpbmVkXCImJnR5cGVvZiBkb2N1bWVudCE9XCJ1bmRlZmluZWRcIiYmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsZT0+e2UubWV0YUtleXx8ZS5hbHRLZXl8fGUuY3RybEtleXx8KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU9XCJcIil9LCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixlPT57ZS5kZXRhaWw9PT0xP2RlbGV0ZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNWaXNpYmxlOmUuZGV0YWlsPT09MCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU9XCJcIil9LCEwKSk7ZnVuY3Rpb24gSShlKXtlPT1udWxsfHxlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9bGV0IHc9W1widGV4dGFyZWFcIixcImlucHV0XCJdLmpvaW4oXCIsXCIpO2Z1bmN0aW9uIE8oZSl7dmFyIHIsdDtyZXR1cm4odD0ocj1lPT1udWxsP3ZvaWQgMDplLm1hdGNoZXMpPT1udWxsP3ZvaWQgMDpyLmNhbGwoZSx3KSkhPW51bGw/dDohMX1mdW5jdGlvbiBfKGUscj10PT50KXtyZXR1cm4gZS5zbGljZSgpLnNvcnQoKHQsdSk9PntsZXQgbz1yKHQpLGM9cih1KTtpZihvPT09bnVsbHx8Yz09PW51bGwpcmV0dXJuIDA7bGV0IGw9by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjKTtyZXR1cm4gbCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMTpsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPzE6MH0pfWZ1bmN0aW9uIGooZSxyKXtyZXR1cm4gUChiKCkscix7cmVsYXRpdmVUbzplfSl9ZnVuY3Rpb24gUChlLHIse3NvcnRlZDp0PSEwLHJlbGF0aXZlVG86dT1udWxsLHNraXBFbGVtZW50czpvPVtdfT17fSl7bGV0IGM9QXJyYXkuaXNBcnJheShlKT9lLmxlbmd0aD4wP2VbMF0ub3duZXJEb2N1bWVudDpkb2N1bWVudDplLm93bmVyRG9jdW1lbnQsbD1BcnJheS5pc0FycmF5KGUpP3Q/XyhlKTplOnImNjQ/UyhlKTpiKGUpO28ubGVuZ3RoPjAmJmwubGVuZ3RoPjEmJihsPWwuZmlsdGVyKHM9PiFvLnNvbWUoYT0+YSE9bnVsbCYmXCJjdXJyZW50XCJpbiBhPyhhPT1udWxsP3ZvaWQgMDphLmN1cnJlbnQpPT09czphPT09cykpKSx1PXUhPW51bGw/dTpjLmFjdGl2ZUVsZW1lbnQ7bGV0IG49KCgpPT57aWYociY1KXJldHVybiAxO2lmKHImMTApcmV0dXJuLTE7dGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBGb2N1cy5GaXJzdCwgRm9jdXMuUHJldmlvdXMsIEZvY3VzLk5leHQgb3IgRm9jdXMuTGFzdFwiKX0pKCkseD0oKCk9PntpZihyJjEpcmV0dXJuIDA7aWYociYyKXJldHVybiBNYXRoLm1heCgwLGwuaW5kZXhPZih1KSktMTtpZihyJjQpcmV0dXJuIE1hdGgubWF4KDAsbC5pbmRleE9mKHUpKSsxO2lmKHImOClyZXR1cm4gbC5sZW5ndGgtMTt0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIEZvY3VzLkZpcnN0LCBGb2N1cy5QcmV2aW91cywgRm9jdXMuTmV4dCBvciBGb2N1cy5MYXN0XCIpfSkoKSxNPXImMzI/e3ByZXZlbnRTY3JvbGw6ITB9Ont9LG09MCxkPWwubGVuZ3RoLGk7ZG97aWYobT49ZHx8bStkPD0wKXJldHVybiAwO2xldCBzPXgrbTtpZihyJjE2KXM9KHMrZCklZDtlbHNle2lmKHM8MClyZXR1cm4gMztpZihzPj1kKXJldHVybiAxfWk9bFtzXSxpPT1udWxsfHxpLmZvY3VzKE0pLG0rPW59d2hpbGUoaSE9PWMuYWN0aXZlRWxlbWVudCk7cmV0dXJuIHImNiYmTyhpKSYmaS5zZWxlY3QoKSwyfWV4cG9ydHtGIGFzIEZvY3VzLFQgYXMgRm9jdXNSZXN1bHQsaCBhcyBGb2N1c2FibGVNb2RlLEkgYXMgZm9jdXNFbGVtZW50LGogYXMgZm9jdXNGcm9tLFAgYXMgZm9jdXNJbixmIGFzIGZvY3VzYWJsZVNlbGVjdG9yLFMgYXMgZ2V0QXV0b0ZvY3VzYWJsZUVsZW1lbnRzLGIgYXMgZ2V0Rm9jdXNhYmxlRWxlbWVudHMsQSBhcyBpc0ZvY3VzYWJsZUVsZW1lbnQsRyBhcyByZXN0b3JlRm9jdXNJZk5lY2Vzc2FyeSxfIGFzIHNvcnRCeURvbU5vZGV9O1xuIl0sIm5hbWVzIjpbImRpc3Bvc2FibGVzIiwiTiIsIm1hdGNoIiwiTCIsImdldE93bmVyRG9jdW1lbnQiLCJFIiwiZiIsIm1hcCIsImUiLCJqb2luIiwicCIsIkYiLCJuIiwiRmlyc3QiLCJQcmV2aW91cyIsIk5leHQiLCJMYXN0IiwiV3JhcEFyb3VuZCIsIk5vU2Nyb2xsIiwiQXV0b0ZvY3VzIiwiVCIsIm8iLCJFcnJvciIsIk92ZXJmbG93IiwiU3VjY2VzcyIsIlVuZGVyZmxvdyIsInkiLCJ0IiwiYiIsImRvY3VtZW50IiwiYm9keSIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzb3J0IiwiciIsIk1hdGgiLCJzaWduIiwidGFiSW5kZXgiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwiUyIsImgiLCJTdHJpY3QiLCJMb29zZSIsIkEiLCJtYXRjaGVzIiwidSIsInBhcmVudEVsZW1lbnQiLCJHIiwibmV4dEZyYW1lIiwiYWN0aXZlRWxlbWVudCIsIkkiLCJIIiwiS2V5Ym9hcmQiLCJNb3VzZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJtZXRhS2V5IiwiYWx0S2V5IiwiY3RybEtleSIsImRvY3VtZW50RWxlbWVudCIsImRhdGFzZXQiLCJoZWFkbGVzc3VpRm9jdXNWaXNpYmxlIiwiZGV0YWlsIiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwidyIsIk8iLCJjYWxsIiwiXyIsInNsaWNlIiwiYyIsImwiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIk5vZGUiLCJET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkciLCJET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkciLCJqIiwiUCIsInJlbGF0aXZlVG8iLCJzb3J0ZWQiLCJza2lwRWxlbWVudHMiLCJpc0FycmF5IiwibGVuZ3RoIiwib3duZXJEb2N1bWVudCIsImZpbHRlciIsInMiLCJzb21lIiwiYSIsImN1cnJlbnQiLCJ4IiwibWF4IiwiaW5kZXhPZiIsIk0iLCJtIiwiZCIsImkiLCJzZWxlY3QiLCJGb2N1cyIsIkZvY3VzUmVzdWx0IiwiRm9jdXNhYmxlTW9kZSIsImZvY3VzRWxlbWVudCIsImZvY3VzRnJvbSIsImZvY3VzSW4iLCJmb2N1c2FibGVTZWxlY3RvciIsImdldEF1dG9Gb2N1c2FibGVFbGVtZW50cyIsImdldEZvY3VzYWJsZUVsZW1lbnRzIiwiaXNGb2N1c2FibGVFbGVtZW50IiwicmVzdG9yZUZvY3VzSWZOZWNlc3NhcnkiLCJzb3J0QnlEb21Ob2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/focus-management.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js":
/*!************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/match.js ***!
\************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ match: function() { return /* binding */ u; }\n/* harmony export */ });\nfunction u(r, n) {\n for(var _len = arguments.length, a = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){\n a[_key - 2] = arguments[_key];\n }\n if (r in n) {\n let e = n[r];\n return typeof e == \"function\" ? e(...a) : e;\n }\n let t = new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e)=>`\"${e}\"`).join(\", \")}.`);\n throw Error.captureStackTrace && Error.captureStackTrace(t, u), t;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBQztRQUFHQyxFQUFILDJCQUFJOztJQUFFLElBQUdGLEtBQUtDLEdBQUU7UUFBQyxJQUFJRSxJQUFFRixDQUFDLENBQUNELEVBQUU7UUFBQyxPQUFPLE9BQU9HLEtBQUcsYUFBV0EsS0FBS0QsS0FBR0M7SUFBQztJQUFDLElBQUlDLElBQUUsSUFBSUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFTCxFQUFFLDhEQUE4RCxFQUFFTSxPQUFPQyxJQUFJLENBQUNOLEdBQUdPLEdBQUcsQ0FBQ0wsQ0FBQUEsSUFBRyxDQUFDLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsRUFBRU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQUUsTUFBTUosTUFBTUssaUJBQWlCLElBQUVMLE1BQU1LLGlCQUFpQixDQUFDTixHQUFFTCxJQUFHSztBQUFDO0FBQW9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzPzVmZTQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdShyLG4sLi4uYSl7aWYociBpbiBuKXtsZXQgZT1uW3JdO3JldHVybiB0eXBlb2YgZT09XCJmdW5jdGlvblwiP2UoLi4uYSk6ZX1sZXQgdD1uZXcgRXJyb3IoYFRyaWVkIHRvIGhhbmRsZSBcIiR7cn1cIiBidXQgdGhlcmUgaXMgbm8gaGFuZGxlciBkZWZpbmVkLiBPbmx5IGRlZmluZWQgaGFuZGxlcnMgYXJlOiAke09iamVjdC5rZXlzKG4pLm1hcChlPT5gXCIke2V9XCJgKS5qb2luKFwiLCBcIil9LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LHUpLHR9ZXhwb3J0e3UgYXMgbWF0Y2h9O1xuIl0sIm5hbWVzIjpbInUiLCJyIiwibiIsImEiLCJlIiwidCIsIkVycm9yIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImpvaW4iLCJjYXB0dXJlU3RhY2tUcmFjZSIsIm1hdGNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js":
/*!*****************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/micro-task.js ***!
\*****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ microTask: function() { return /* binding */ t; }\n/* harmony export */ });\nfunction t(e) {\n typeof queueMicrotask == \"function\" ? queueMicrotask(e) : Promise.resolve().then(e).catch((o)=>setTimeout(()=>{\n throw o;\n }));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21pY3JvLXRhc2suanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxPQUFPQyxrQkFBZ0IsYUFBV0EsZUFBZUQsS0FBR0UsUUFBUUMsT0FBTyxHQUFHQyxJQUFJLENBQUNKLEdBQUdLLEtBQUssQ0FBQ0MsQ0FBQUEsSUFBR0MsV0FBVztZQUFLLE1BQU1EO1FBQUM7QUFBRztBQUF3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9taWNyby10YXNrLmpzP2U3YjgiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdChlKXt0eXBlb2YgcXVldWVNaWNyb3Rhc2s9PVwiZnVuY3Rpb25cIj9xdWV1ZU1pY3JvdGFzayhlKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKGUpLmNhdGNoKG89PnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBvfSkpfWV4cG9ydHt0IGFzIG1pY3JvVGFza307XG4iXSwibmFtZXMiOlsidCIsImUiLCJxdWV1ZU1pY3JvdGFzayIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImNhdGNoIiwibyIsInNldFRpbWVvdXQiLCJtaWNyb1Rhc2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/micro-task.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js":
/*!***********************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/once.js ***!
\***********************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ once: function() { return /* binding */ l; }\n/* harmony export */ });\nfunction l(r) {\n let e = {\n called: !1\n };\n return function() {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n if (!e.called) return e.called = !0, r(...t);\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFO1FBQUNDLFFBQU8sQ0FBQztJQUFDO0lBQUUsT0FBTTt5Q0FBSUM7WUFBQUE7O1FBQUssSUFBRyxDQUFDRixFQUFFQyxNQUFNLEVBQUMsT0FBT0QsRUFBRUMsTUFBTSxHQUFDLENBQUMsR0FBRUYsS0FBS0c7SUFBRTtBQUFDO0FBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL29uY2UuanM/NTY2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBsKHIpe2xldCBlPXtjYWxsZWQ6ITF9O3JldHVybiguLi50KT0+e2lmKCFlLmNhbGxlZClyZXR1cm4gZS5jYWxsZWQ9ITAsciguLi50KX19ZXhwb3J0e2wgYXMgb25jZX07XG4iXSwibmFtZXMiOlsibCIsInIiLCJlIiwiY2FsbGVkIiwidCIsIm9uY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/once.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js":
/*!************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/owner.js ***!
\************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/env.js\");\n\nfunction u(r) {\n return _env_js__WEBPACK_IMPORTED_MODULE_0__.env.isServer ? null : r instanceof Node ? r.ownerDocument : r != null && r.hasOwnProperty(\"current\") && r.current instanceof Node ? r.current.ownerDocument : document;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQUEsU0FBU0UsRUFBRUMsQ0FBQztJQUFFLE9BQU9GLHdDQUFDQSxDQUFDRyxRQUFRLEdBQUMsT0FBS0QsYUFBYUUsT0FBS0YsRUFBRUcsYUFBYSxHQUFDSCxLQUFHLFFBQU1BLEVBQUVJLGNBQWMsQ0FBQyxjQUFZSixFQUFFSyxPQUFPLFlBQVlILE9BQUtGLEVBQUVLLE9BQU8sQ0FBQ0YsYUFBYSxHQUFDRztBQUFRO0FBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzP2ZhNWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2VudiBhcyBufWZyb20nLi9lbnYuanMnO2Z1bmN0aW9uIHUocil7cmV0dXJuIG4uaXNTZXJ2ZXI/bnVsbDpyIGluc3RhbmNlb2YgTm9kZT9yLm93bmVyRG9jdW1lbnQ6ciE9bnVsbCYmci5oYXNPd25Qcm9wZXJ0eShcImN1cnJlbnRcIikmJnIuY3VycmVudCBpbnN0YW5jZW9mIE5vZGU/ci5jdXJyZW50Lm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnR9ZXhwb3J0e3UgYXMgZ2V0T3duZXJEb2N1bWVudH07XG4iXSwibmFtZXMiOlsiZW52IiwibiIsInUiLCJyIiwiaXNTZXJ2ZXIiLCJOb2RlIiwib3duZXJEb2N1bWVudCIsImhhc093blByb3BlcnR5IiwiY3VycmVudCIsImRvY3VtZW50IiwiZ2V0T3duZXJEb2N1bWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/owner.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/platform.js":
/*!***************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/platform.js ***!
\***************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAndroid: function() { return /* binding */ i; },\n/* harmony export */ isIOS: function() { return /* binding */ t; },\n/* harmony export */ isMobile: function() { return /* binding */ n; }\n/* harmony export */ });\nfunction t() {\n return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;\n}\nfunction i() {\n return /Android/gi.test(window.navigator.userAgent);\n}\nfunction n() {\n return t() || i();\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBO0lBQUksT0FBTSxXQUFXQyxJQUFJLENBQUNDLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxLQUFHLFFBQVFILElBQUksQ0FBQ0MsT0FBT0MsU0FBUyxDQUFDQyxRQUFRLEtBQUdGLE9BQU9DLFNBQVMsQ0FBQ0UsY0FBYyxHQUFDO0FBQUM7QUFBQyxTQUFTQztJQUFJLE9BQU0sWUFBWUwsSUFBSSxDQUFDQyxPQUFPQyxTQUFTLENBQUNJLFNBQVM7QUFBQztBQUFDLFNBQVNDO0lBQUksT0FBT1IsT0FBS007QUFBRztBQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9wbGF0Zm9ybS5qcz9kODZkIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHQoKXtyZXR1cm4vaVBob25lL2dpLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl8fC9NYWMvZ2kudGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSYmd2luZG93Lm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIGkoKXtyZXR1cm4vQW5kcm9pZC9naS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KX1mdW5jdGlvbiBuKCl7cmV0dXJuIHQoKXx8aSgpfWV4cG9ydHtpIGFzIGlzQW5kcm9pZCx0IGFzIGlzSU9TLG4gYXMgaXNNb2JpbGV9O1xuIl0sIm5hbWVzIjpbInQiLCJ0ZXN0Iiwid2luZG93IiwibmF2aWdhdG9yIiwicGxhdGZvcm0iLCJtYXhUb3VjaFBvaW50cyIsImkiLCJ1c2VyQWdlbnQiLCJuIiwiaXNBbmRyb2lkIiwiaXNJT1MiLCJpc01vYmlsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/platform.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js":
/*!*************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/render.js ***!
\*************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RenderFeatures: function() { return /* binding */ M; },\n/* harmony export */ RenderStrategy: function() { return /* binding */ O; },\n/* harmony export */ compact: function() { return /* binding */ m; },\n/* harmony export */ forwardRefWithAs: function() { return /* binding */ W; },\n/* harmony export */ mergeProps: function() { return /* binding */ D; },\n/* harmony export */ render: function() { return /* binding */ H; },\n/* harmony export */ useMergeRefsFn: function() { return /* binding */ I; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _class_names_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./class-names.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/class-names.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/match.js\");\n\n\n\nvar M = ((a)=>(a[a.None = 0] = \"None\", a[a.RenderStrategy = 1] = \"RenderStrategy\", a[a.Static = 2] = \"Static\", a))(M || {}), O = ((e)=>(e[e.Unmount = 0] = \"Unmount\", e[e.Hidden = 1] = \"Hidden\", e))(O || {});\nfunction H(param) {\n let { ourProps: r, theirProps: n, slot: e, defaultTag: a, features: s, visible: t = !0, name: l, mergeRefs: i } = param;\n i = i != null ? i : A;\n let o = N(n, r);\n if (t) return b(o, e, a, l, i);\n let y = s != null ? s : 0;\n if (y & 2) {\n let { static: f = !1, ...u } = o;\n if (f) return b(u, e, a, l, i);\n }\n if (y & 1) {\n let { unmount: f = !0, ...u } = o;\n return (0,_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(f ? 0 : 1, {\n [0] () {\n return null;\n },\n [1] () {\n return b({\n ...u,\n hidden: !0,\n style: {\n display: \"none\"\n }\n }, e, a, l, i);\n }\n });\n }\n return b(o, e, a, l, i);\n}\n_c = H;\nfunction b(r) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, e = arguments.length > 2 ? arguments[2] : void 0, a = arguments.length > 3 ? arguments[3] : void 0, s = arguments.length > 4 ? arguments[4] : void 0;\n let { as: t = e, children: l, refName: i = \"ref\", ...o } = h(r, [\n \"unmount\",\n \"static\"\n ]), y = r.ref !== void 0 ? {\n [i]: r.ref\n } : {}, f = typeof l == \"function\" ? l(n) : l;\n \"className\" in o && o.className && typeof o.className == \"function\" && (o.className = o.className(n)), o[\"aria-labelledby\"] && o[\"aria-labelledby\"] === o.id && (o[\"aria-labelledby\"] = void 0);\n let u = {};\n if (n) {\n let d = !1, p = [];\n for (let [c, T] of Object.entries(n))typeof T == \"boolean\" && (d = !0), T === !0 && p.push(c.replace(/([A-Z])/g, (g)=>`-${g.toLowerCase()}`));\n if (d) {\n u[\"data-headlessui-state\"] = p.join(\" \");\n for (let c of p)u[`data-${c}`] = \"\";\n }\n }\n if (t === react__WEBPACK_IMPORTED_MODULE_0__.Fragment && (Object.keys(m(o)).length > 0 || Object.keys(m(u)).length > 0)) if (!/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(f) || Array.isArray(f) && f.length > 1) {\n if (Object.keys(m(o)).length > 0) throw new Error([\n 'Passing props on \"Fragment\"!',\n \"\",\n `The current component <${a} /> is rendering a \"Fragment\".`,\n \"However we need to passthrough the following props:\",\n Object.keys(m(o)).concat(Object.keys(m(u))).map((d)=>` - ${d}`).join(`\n`),\n \"\",\n \"You can apply a few solutions:\",\n [\n 'Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\n \"Render a single element as the child so that we can forward the props onto that element.\"\n ].map((d)=>` - ${d}`).join(`\n`)\n ].join(`\n`));\n } else {\n let d = f.props, p = d == null ? void 0 : d.className, c = typeof p == \"function\" ? function() {\n for(var _len = arguments.length, F = new Array(_len), _key = 0; _key < _len; _key++){\n F[_key] = arguments[_key];\n }\n return (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p(...F), o.className);\n } : (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p, o.className), T = c ? {\n className: c\n } : {}, g = N(f.props, m(h(o, [\n \"ref\"\n ])));\n for(let F in u)F in g && delete u[F];\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(f, Object.assign({}, g, u, y, {\n ref: s(f.ref, y.ref)\n }, T));\n }\n return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(t, Object.assign({}, h(o, [\n \"ref\"\n ]), t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && y, t !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment && u), f);\n}\nfunction I() {\n let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n for (let a of r.current)a != null && (typeof a == \"function\" ? a(e) : a.current = e);\n }, []);\n return function() {\n for(var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++){\n e[_key] = arguments[_key];\n }\n if (!e.every((a)=>a == null)) return r.current = e, n;\n };\n}\n_c1 = I;\nfunction A() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n return r.every((n)=>n == null) ? void 0 : (n)=>{\n for (let e of r)e != null && (typeof e == \"function\" ? e(n) : e.current = n);\n };\n}\n_c2 = A;\nfunction N() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n if (n.disabled || n[\"aria-disabled\"]) for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s) && (e[s] = [\n (t)=>{\n var l;\n return (l = t == null ? void 0 : t.preventDefault) == null ? void 0 : l.call(t);\n }\n ]);\n for(let s in e)Object.assign(n, {\n [s] (t) {\n for(var _len = arguments.length, l = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n l[_key - 1] = arguments[_key];\n }\n let i = e[s];\n for (let o of i){\n if ((t instanceof Event || (t == null ? void 0 : t.nativeEvent) instanceof Event) && t.defaultPrevented) return;\n o(t, ...l);\n }\n }\n });\n return n;\n}\n_c3 = N;\nfunction D() {\n for(var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++){\n r[_key] = arguments[_key];\n }\n var a;\n if (r.length === 0) return {};\n if (r.length === 1) return r[0];\n let n = {}, e = {};\n for (let s of r)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : n[t] = s[t];\n for(let s in e)Object.assign(n, {\n [s] () {\n for(var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++){\n t[_key] = arguments[_key];\n }\n let l = e[s];\n for (let i of l)i == null || i(...t);\n }\n });\n return n;\n}\n_c4 = D;\nfunction W(r) {\n var n;\n return Object.assign(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(r), {\n displayName: (n = r.displayName) != null ? n : r.name\n });\n}\n_c5 = W;\nfunction m(r) {\n let n = Object.assign({}, r);\n for(let e in n)n[e] === void 0 && delete n[e];\n return n;\n}\nfunction h(r) {\n let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n let e = Object.assign({}, r);\n for (let a of n)a in e && delete e[a];\n return e;\n}\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"H\");\n$RefreshReg$(_c1, \"I\");\n$RefreshReg$(_c2, \"A\");\n$RefreshReg$(_c3, \"N\");\n$RefreshReg$(_c4, \"D\");\n$RefreshReg$(_c5, \"W\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXVJO0FBQThDO0FBQW1DO0FBQUEsSUFBSWtCLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9ELENBQUMsQ0FBQ0EsRUFBRUUsY0FBYyxHQUFDLEVBQUUsR0FBQyxrQkFBaUJGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQyxJQUFHSyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTSSxFQUFFLEtBQXdGO1FBQXhGLEVBQUNDLFVBQVNDLENBQUMsRUFBQ0MsWUFBV0MsQ0FBQyxFQUFDQyxNQUFLUixDQUFDLEVBQUNTLFlBQVdkLENBQUMsRUFBQ2UsVUFBU0MsQ0FBQyxFQUFDQyxTQUFRQyxJQUFFLENBQUMsQ0FBQyxFQUFDQyxNQUFLQyxDQUFDLEVBQUNDLFdBQVVDLENBQUMsRUFBQyxHQUF4RjtJQUEwRkEsSUFBRUEsS0FBRyxPQUFLQSxJQUFFQztJQUFFLElBQUlDLElBQUVDLEVBQUViLEdBQUVGO0lBQUcsSUFBR1EsR0FBRSxPQUFPUSxFQUFFRixHQUFFbkIsR0FBRUwsR0FBRW9CLEdBQUVFO0lBQUcsSUFBSUssSUFBRVgsS0FBRyxPQUFLQSxJQUFFO0lBQUUsSUFBR1csSUFBRSxHQUFFO1FBQUMsSUFBRyxFQUFDQyxRQUFPQyxJQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUdDLEdBQUUsR0FBQ047UUFB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QUFDLEdBQUVyRDtJQUFHLEtBQUksSUFBSVYsS0FBS1ksRUFBRVosS0FBS0ssS0FBRyxPQUFPQSxDQUFDLENBQUNMLEVBQUU7SUFBQyxPQUFPSztBQUFDO0FBQW9JIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcz9kZjM2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtGcmFnbWVudCBhcyBSLGNsb25lRWxlbWVudCBhcyBQLGNyZWF0ZUVsZW1lbnQgYXMgRSxmb3J3YXJkUmVmIGFzIGosaXNWYWxpZEVsZW1lbnQgYXMgdix1c2VDYWxsYmFjayBhcyBTLHVzZVJlZiBhcyB3fWZyb21cInJlYWN0XCI7aW1wb3J0e2NsYXNzTmFtZXMgYXMgeH1mcm9tJy4vY2xhc3MtbmFtZXMuanMnO2ltcG9ydHttYXRjaCBhcyBrfWZyb20nLi9tYXRjaC5qcyc7dmFyIE09KGE9PihhW2EuTm9uZT0wXT1cIk5vbmVcIixhW2EuUmVuZGVyU3RyYXRlZ3k9MV09XCJSZW5kZXJTdHJhdGVneVwiLGFbYS5TdGF0aWM9Ml09XCJTdGF0aWNcIixhKSkoTXx8e30pLE89KGU9PihlW2UuVW5tb3VudD0wXT1cIlVubW91bnRcIixlW2UuSGlkZGVuPTFdPVwiSGlkZGVuXCIsZSkpKE98fHt9KTtmdW5jdGlvbiBIKHtvdXJQcm9wczpyLHRoZWlyUHJvcHM6bixzbG90OmUsZGVmYXVsdFRhZzphLGZlYXR1cmVzOnMsdmlzaWJsZTp0PSEwLG5hbWU6bCxtZXJnZVJlZnM6aX0pe2k9aSE9bnVsbD9pOkE7bGV0IG89TihuLHIpO2lmKHQpcmV0dXJuIGIobyxlLGEsbCxpKTtsZXQgeT1zIT1udWxsP3M6MDtpZih5JjIpe2xldHtzdGF0aWM6Zj0hMSwuLi51fT1vO2lmKGYpcmV0dXJuIGIodSxlLGEsbCxpKX1pZih5JjEpe2xldHt1bm1vdW50OmY9ITAsLi4udX09bztyZXR1cm4gayhmPzA6MSx7WzBdKCl7cmV0dXJuIG51bGx9LFsxXSgpe3JldHVybiBiKHsuLi51LGhpZGRlbjohMCxzdHlsZTp7ZGlzcGxheTpcIm5vbmVcIn19LGUsYSxsLGkpfX0pfXJldHVybiBiKG8sZSxhLGwsaSl9ZnVuY3Rpb24gYihyLG49e30sZSxhLHMpe2xldHthczp0PWUsY2hpbGRyZW46bCxyZWZOYW1lOmk9XCJyZWZcIiwuLi5vfT1oKHIsW1widW5tb3VudFwiLFwic3RhdGljXCJdKSx5PXIucmVmIT09dm9pZCAwP3tbaV06ci5yZWZ9Ont9LGY9dHlwZW9mIGw9PVwiZnVuY3Rpb25cIj9sKG4pOmw7XCJjbGFzc05hbWVcImluIG8mJm8uY2xhc3NOYW1lJiZ0eXBlb2Ygby5jbGFzc05hbWU9PVwiZnVuY3Rpb25cIiYmKG8uY2xhc3NOYW1lPW8uY2xhc3NOYW1lKG4pKSxvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdJiZvW1wiYXJpYS1sYWJlbGxlZGJ5XCJdPT09by5pZCYmKG9bXCJhcmlhLWxhYmVsbGVkYnlcIl09dm9pZCAwKTtsZXQgdT17fTtpZihuKXtsZXQgZD0hMSxwPVtdO2ZvcihsZXRbYyxUXW9mIE9iamVjdC5lbnRyaWVzKG4pKXR5cGVvZiBUPT1cImJvb2xlYW5cIiYmKGQ9ITApLFQ9PT0hMCYmcC5wdXNoKGMucmVwbGFjZSgvKFtBLVpdKS9nLGc9PmAtJHtnLnRvTG93ZXJDYXNlKCl9YCkpO2lmKGQpe3VbXCJkYXRhLWhlYWRsZXNzdWktc3RhdGVcIl09cC5qb2luKFwiIFwiKTtmb3IobGV0IGMgb2YgcCl1W2BkYXRhLSR7Y31gXT1cIlwifX1pZih0PT09UiYmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wfHxPYmplY3Qua2V5cyhtKHUpKS5sZW5ndGg+MCkpaWYoIXYoZil8fEFycmF5LmlzQXJyYXkoZikmJmYubGVuZ3RoPjEpe2lmKE9iamVjdC5rZXlzKG0obykpLmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcihbJ1Bhc3NpbmcgcHJvcHMgb24gXCJGcmFnbWVudFwiIScsXCJcIixgVGhlIGN1cnJlbnQgY29tcG9uZW50IDwke2F9IC8+IGlzIHJlbmRlcmluZyBhIFwiRnJhZ21lbnRcIi5gLFwiSG93ZXZlciB3ZSBuZWVkIHRvIHBhc3N0aHJvdWdoIHRoZSBmb2xsb3dpbmcgcHJvcHM6XCIsT2JqZWN0LmtleXMobShvKSkuY29uY2F0KE9iamVjdC5rZXlzKG0odSkpKS5tYXAoZD0+YCAgLSAke2R9YCkuam9pbihgXG5gKSxcIlwiLFwiWW91IGNhbiBhcHBseSBhIGZldyBzb2x1dGlvbnM6XCIsWydBZGQgYW4gYGFzPVwiLi4uXCJgIHByb3AsIHRvIGVuc3VyZSB0aGF0IHdlIHJlbmRlciBhbiBhY3R1YWwgZWxlbWVudCBpbnN0ZWFkIG9mIGEgXCJGcmFnbWVudFwiLicsXCJSZW5kZXIgYSBzaW5nbGUgZWxlbWVudCBhcyB0aGUgY2hpbGQgc28gdGhhdCB3ZSBjYW4gZm9yd2FyZCB0aGUgcHJvcHMgb250byB0aGF0IGVsZW1lbnQuXCJdLm1hcChkPT5gICAtICR7ZH1gKS5qb2luKGBcbmApXS5qb2luKGBcbmApKX1lbHNle2xldCBkPWYucHJvcHMscD1kPT1udWxsP3ZvaWQgMDpkLmNsYXNzTmFtZSxjPXR5cGVvZiBwPT1cImZ1bmN0aW9uXCI/KC4uLkYpPT54KHAoLi4uRiksby5jbGFzc05hbWUpOngocCxvLmNsYXNzTmFtZSksVD1jP3tjbGFzc05hbWU6Y306e30sZz1OKGYucHJvcHMsbShoKG8sW1wicmVmXCJdKSkpO2ZvcihsZXQgRiBpbiB1KUYgaW4gZyYmZGVsZXRlIHVbRl07cmV0dXJuIFAoZixPYmplY3QuYXNzaWduKHt9LGcsdSx5LHtyZWY6cyhmLnJlZix5LnJlZil9LFQpKX1yZXR1cm4gRSh0LE9iamVjdC5hc3NpZ24oe30saChvLFtcInJlZlwiXSksdCE9PVImJnksdCE9PVImJnUpLGYpfWZ1bmN0aW9uIEkoKXtsZXQgcj13KFtdKSxuPVMoZT0+e2ZvcihsZXQgYSBvZiByLmN1cnJlbnQpYSE9bnVsbCYmKHR5cGVvZiBhPT1cImZ1bmN0aW9uXCI/YShlKTphLmN1cnJlbnQ9ZSl9LFtdKTtyZXR1cm4oLi4uZSk9PntpZighZS5ldmVyeShhPT5hPT1udWxsKSlyZXR1cm4gci5jdXJyZW50PWUsbn19ZnVuY3Rpb24gQSguLi5yKXtyZXR1cm4gci5ldmVyeShuPT5uPT1udWxsKT92b2lkIDA6bj0+e2ZvcihsZXQgZSBvZiByKWUhPW51bGwmJih0eXBlb2YgZT09XCJmdW5jdGlvblwiP2Uobik6ZS5jdXJyZW50PW4pfX1mdW5jdGlvbiBOKC4uLnIpe3ZhciBhO2lmKHIubGVuZ3RoPT09MClyZXR1cm57fTtpZihyLmxlbmd0aD09PTEpcmV0dXJuIHJbMF07bGV0IG49e30sZT17fTtmb3IobGV0IHMgb2Ygcilmb3IobGV0IHQgaW4gcyl0LnN0YXJ0c1dpdGgoXCJvblwiKSYmdHlwZW9mIHNbdF09PVwiZnVuY3Rpb25cIj8oKGE9ZVt0XSkhPW51bGx8fChlW3RdPVtdKSxlW3RdLnB1c2goc1t0XSkpOm5bdF09c1t0XTtpZihuLmRpc2FibGVkfHxuW1wiYXJpYS1kaXNhYmxlZFwiXSlmb3IobGV0IHMgaW4gZSkvXihvbig/OkNsaWNrfFBvaW50ZXJ8TW91c2V8S2V5KSg/OkRvd258VXB8UHJlc3MpPykkLy50ZXN0KHMpJiYoZVtzXT1bdD0+e3ZhciBsO3JldHVybihsPXQ9PW51bGw/dm9pZCAwOnQucHJldmVudERlZmF1bHQpPT1udWxsP3ZvaWQgMDpsLmNhbGwodCl9XSk7Zm9yKGxldCBzIGluIGUpT2JqZWN0LmFzc2lnbihuLHtbc10odCwuLi5sKXtsZXQgaT1lW3NdO2ZvcihsZXQgbyBvZiBpKXtpZigodCBpbnN0YW5jZW9mIEV2ZW50fHwodD09bnVsbD92b2lkIDA6dC5uYXRpdmVFdmVudClpbnN0YW5jZW9mIEV2ZW50KSYmdC5kZWZhdWx0UHJldmVudGVkKXJldHVybjtvKHQsLi4ubCl9fX0pO3JldHVybiBufWZ1bmN0aW9uIEQoLi4ucil7dmFyIGE7aWYoci5sZW5ndGg9PT0wKXJldHVybnt9O2lmKHIubGVuZ3RoPT09MSlyZXR1cm4gclswXTtsZXQgbj17fSxlPXt9O2ZvcihsZXQgcyBvZiByKWZvcihsZXQgdCBpbiBzKXQuc3RhcnRzV2l0aChcIm9uXCIpJiZ0eXBlb2Ygc1t0XT09XCJmdW5jdGlvblwiPygoYT1lW3RdKSE9bnVsbHx8KGVbdF09W10pLGVbdF0ucHVzaChzW3RdKSk6blt0XT1zW3RdO2ZvcihsZXQgcyBpbiBlKU9iamVjdC5hc3NpZ24obix7W3NdKC4uLnQpe2xldCBsPWVbc107Zm9yKGxldCBpIG9mIGwpaT09bnVsbHx8aSguLi50KX19KTtyZXR1cm4gbn1mdW5jdGlvbiBXKHIpe3ZhciBuO3JldHVybiBPYmplY3QuYXNzaWduKGoocikse2Rpc3BsYXlOYW1lOihuPXIuZGlzcGxheU5hbWUpIT1udWxsP246ci5uYW1lfSl9ZnVuY3Rpb24gbShyKXtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgZSBpbiBuKW5bZV09PT12b2lkIDAmJmRlbGV0ZSBuW2VdO3JldHVybiBufWZ1bmN0aW9uIGgocixuPVtdKXtsZXQgZT1PYmplY3QuYXNzaWduKHt9LHIpO2ZvcihsZXQgYSBvZiBuKWEgaW4gZSYmZGVsZXRlIGVbYV07cmV0dXJuIGV9ZXhwb3J0e00gYXMgUmVuZGVyRmVhdHVyZXMsTyBhcyBSZW5kZXJTdHJhdGVneSxtIGFzIGNvbXBhY3QsVyBhcyBmb3J3YXJkUmVmV2l0aEFzLEQgYXMgbWVyZ2VQcm9wcyxIIGFzIHJlbmRlcixJIGFzIHVzZU1lcmdlUmVmc0ZufTtcbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsIlIiLCJjbG9uZUVsZW1lbnQiLCJQIiwiY3JlYXRlRWxlbWVudCIsIkUiLCJmb3J3YXJkUmVmIiwiaiIsImlzVmFsaWRFbGVtZW50IiwidiIsInVzZUNhbGxiYWNrIiwiUyIsInVzZVJlZiIsInciLCJjbGFzc05hbWVzIiwieCIsIm1hdGNoIiwiayIsIk0iLCJhIiwiTm9uZSIsIlJlbmRlclN0cmF0ZWd5IiwiU3RhdGljIiwiTyIsImUiLCJVbm1vdW50IiwiSGlkZGVuIiwiSCIsIm91clByb3BzIiwiciIsInRoZWlyUHJvcHMiLCJuIiwic2xvdCIsImRlZmF1bHRUYWciLCJmZWF0dXJlcyIsInMiLCJ2aXNpYmxlIiwidCIsIm5hbWUiLCJsIiwibWVyZ2VSZWZzIiwiaSIsIkEiLCJvIiwiTiIsImIiLCJ5Iiwic3RhdGljIiwiZiIsInUiLCJ1bm1vdW50IiwiaGlkZGVuIiwic3R5bGUiLCJkaXNwbGF5IiwiYXMiLCJjaGlsZHJlbiIsInJlZk5hbWUiLCJoIiwicmVmIiwiY2xhc3NOYW1lIiwiaWQiLCJkIiwicCIsImMiLCJUIiwiT2JqZWN0IiwiZW50cmllcyIsInB1c2giLCJyZXBsYWNlIiwiZyIsInRvTG93ZXJDYXNlIiwiam9pbiIsImtleXMiLCJtIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJjb25jYXQiLCJtYXAiLCJwcm9wcyIsIkYiLCJhc3NpZ24iLCJJIiwiY3VycmVudCIsImV2ZXJ5Iiwic3RhcnRzV2l0aCIsImRpc2FibGVkIiwidGVzdCIsInByZXZlbnREZWZhdWx0IiwiY2FsbCIsIkV2ZW50IiwibmF0aXZlRXZlbnQiLCJkZWZhdWx0UHJldmVudGVkIiwiRCIsIlciLCJkaXNwbGF5TmFtZSIsIlJlbmRlckZlYXR1cmVzIiwiY29tcGFjdCIsImZvcndhcmRSZWZXaXRoQXMiLCJtZXJnZVByb3BzIiwicmVuZGVyIiwidXNlTWVyZ2VSZWZzRm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/render.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js":
/*!************************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/stable-collection.js ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StableCollection: function() { return /* binding */ f; },\n/* harmony export */ useStableCollectionIndex: function() { return /* binding */ C; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\nconst s = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nfunction a() {\n return {\n groups: new Map,\n get (o, e) {\n var i;\n let t = this.groups.get(o);\n t || (t = new Map, this.groups.set(o, t));\n let n = (i = t.get(e)) != null ? i : 0;\n t.set(e, n + 1);\n let r = Array.from(t.keys()).indexOf(e);\n function u() {\n let c = t.get(e);\n c > 1 ? t.set(e, c - 1) : t.delete(e);\n }\n return [\n r,\n u\n ];\n }\n };\n}\nfunction f(param) {\n let { children: o } = param;\n _s();\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useRef(a());\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(s.Provider, {\n value: e\n }, o);\n}\n_s(f, \"H+vjk2y7X6cSaIZejH4sINd7rMc=\");\nfunction C(o) {\n _s1();\n let e = react__WEBPACK_IMPORTED_MODULE_0__.useContext(s);\n if (!e) throw new Error(\"You must wrap your component in a <StableCollection>\");\n let t = react__WEBPACK_IMPORTED_MODULE_0__.useId(), [n, r] = e.current.get(o, t);\n return react__WEBPACK_IMPORTED_MODULE_0__.useEffect(()=>r, []), n;\n}\n_s1(C, \"l4+NJh/UDM7GCuB0Y5HWwLeiUIk=\", false, function() {\n return [\n react__WEBPACK_IMPORTED_MODULE_0__.useId,\n react__WEBPACK_IMPORTED_MODULE_0__.useId\n ];\n});\n_c = C;\n\nvar _c;\n$RefreshReg$(_c, \"C\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBd0I7QUFBQSxNQUFNQyxrQkFBRUQsZ0RBQWUsQ0FBQztBQUFNLFNBQVNHO0lBQUksT0FBTTtRQUFDQyxRQUFPLElBQUlDO1FBQUlDLEtBQUlDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDO1lBQUUsSUFBSUMsSUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDQztZQUFHRyxLQUFJQSxDQUFBQSxJQUFFLElBQUlMLEtBQUksSUFBSSxDQUFDRCxNQUFNLENBQUNPLEdBQUcsQ0FBQ0osR0FBRUcsRUFBQztZQUFHLElBQUlFLElBQUUsQ0FBQ0gsSUFBRUMsRUFBRUosR0FBRyxDQUFDRSxFQUFDLEtBQUksT0FBS0MsSUFBRTtZQUFFQyxFQUFFQyxHQUFHLENBQUNILEdBQUVJLElBQUU7WUFBRyxJQUFJQyxJQUFFQyxNQUFNQyxJQUFJLENBQUNMLEVBQUVNLElBQUksSUFBSUMsT0FBTyxDQUFDVDtZQUFHLFNBQVNVO2dCQUFJLElBQUlDLElBQUVULEVBQUVKLEdBQUcsQ0FBQ0U7Z0JBQUdXLElBQUUsSUFBRVQsRUFBRUMsR0FBRyxDQUFDSCxHQUFFVyxJQUFFLEtBQUdULEVBQUVVLE1BQU0sQ0FBQ1o7WUFBRTtZQUFDLE9BQU07Z0JBQUNLO2dCQUFFSzthQUFFO1FBQUE7SUFBQztBQUFDO0FBQUMsU0FBU0csRUFBRSxLQUFZO1FBQVosRUFBQ0MsVUFBU2YsQ0FBQyxFQUFDLEdBQVo7O0lBQWMsSUFBSUMsSUFBRVIseUNBQVEsQ0FBQ0c7SUFBSyxxQkFBT0gsZ0RBQWUsQ0FBQ0MsRUFBRXdCLFFBQVEsRUFBQztRQUFDQyxPQUFNbEI7SUFBQyxHQUFFRDtBQUFFO0dBQWxGYztBQUFtRixTQUFTTSxFQUFFcEIsQ0FBQzs7SUFBRSxJQUFJQyxJQUFFUiw2Q0FBWSxDQUFDQztJQUFHLElBQUcsQ0FBQ08sR0FBRSxNQUFNLElBQUlxQixNQUFNO0lBQXdELElBQUluQixJQUFFVix3Q0FBTyxJQUFHLENBQUNZLEdBQUVDLEVBQUUsR0FBQ0wsRUFBRXVCLE9BQU8sQ0FBQ3pCLEdBQUcsQ0FBQ0MsR0FBRUc7SUFBRyxPQUFPViw0Q0FBVyxDQUFDLElBQUlhLEdBQUUsRUFBRSxHQUFFRDtBQUFDO0lBQWhMZTs7UUFBK0czQix3Q0FBTzhCO1FBQVA5Qix3Q0FBTzhCOzs7S0FBdEhIO0FBQTZPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzPzUwNzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KmFzIGwgZnJvbVwicmVhY3RcIjtjb25zdCBzPWwuY3JlYXRlQ29udGV4dChudWxsKTtmdW5jdGlvbiBhKCl7cmV0dXJue2dyb3VwczpuZXcgTWFwLGdldChvLGUpe3ZhciBpO2xldCB0PXRoaXMuZ3JvdXBzLmdldChvKTt0fHwodD1uZXcgTWFwLHRoaXMuZ3JvdXBzLnNldChvLHQpKTtsZXQgbj0oaT10LmdldChlKSkhPW51bGw/aTowO3Quc2V0KGUsbisxKTtsZXQgcj1BcnJheS5mcm9tKHQua2V5cygpKS5pbmRleE9mKGUpO2Z1bmN0aW9uIHUoKXtsZXQgYz10LmdldChlKTtjPjE/dC5zZXQoZSxjLTEpOnQuZGVsZXRlKGUpfXJldHVybltyLHVdfX19ZnVuY3Rpb24gZih7Y2hpbGRyZW46b30pe2xldCBlPWwudXNlUmVmKGEoKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTplfSxvKX1mdW5jdGlvbiBDKG8pe2xldCBlPWwudXNlQ29udGV4dChzKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCB3cmFwIHlvdXIgY29tcG9uZW50IGluIGEgPFN0YWJsZUNvbGxlY3Rpb24+XCIpO2xldCB0PWwudXNlSWQoKSxbbixyXT1lLmN1cnJlbnQuZ2V0KG8sdCk7cmV0dXJuIGwudXNlRWZmZWN0KCgpPT5yLFtdKSxufWV4cG9ydHtmIGFzIFN0YWJsZUNvbGxlY3Rpb24sQyBhcyB1c2VTdGFibGVDb2xsZWN0aW9uSW5kZXh9O1xuIl0sIm5hbWVzIjpbImwiLCJzIiwiY3JlYXRlQ29udGV4dCIsImEiLCJncm91cHMiLCJNYXAiLCJnZXQiLCJvIiwiZSIsImkiLCJ0Iiwic2V0IiwibiIsInIiLCJBcnJheSIsImZyb20iLCJrZXlzIiwiaW5kZXhPZiIsInUiLCJjIiwiZGVsZXRlIiwiZiIsImNoaWxkcmVuIiwidXNlUmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJDIiwidXNlQ29udGV4dCIsIkVycm9yIiwidXNlSWQiLCJjdXJyZW50IiwidXNlRWZmZWN0IiwiU3RhYmxlQ29sbGVjdGlvbiIsInVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/stable-collection.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/store.js":
/*!************************************************************!*\
!*** ./node_modules/@headlessui/react/dist/utils/store.js ***!
\************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createStore: function() { return /* binding */ a; }\n/* harmony export */ });\nfunction a(o, r) {\n let t = o(), n = new Set;\n return {\n getSnapshot () {\n return t;\n },\n subscribe (e) {\n return n.add(e), ()=>n.delete(e);\n },\n dispatch (e) {\n for(var _len = arguments.length, s = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n s[_key - 1] = arguments[_key];\n }\n let i = r[e].call(t, ...s);\n i && (t = i, n.forEach((c)=>c()));\n }\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJQyxJQUFFRixLQUFJRyxJQUFFLElBQUlDO0lBQUksT0FBTTtRQUFDQztZQUFjLE9BQU9IO1FBQUM7UUFBRUksV0FBVUMsQ0FBQztZQUFFLE9BQU9KLEVBQUVLLEdBQUcsQ0FBQ0QsSUFBRyxJQUFJSixFQUFFTSxNQUFNLENBQUNGO1FBQUU7UUFBRUcsVUFBU0gsQ0FBQztZQUFDO2dCQUFHSSxFQUFILDJCQUFJOztZQUFFLElBQUlDLElBQUVYLENBQUMsQ0FBQ00sRUFBRSxDQUFDTSxJQUFJLENBQUNYLE1BQUtTO1lBQUdDLEtBQUlWLENBQUFBLElBQUVVLEdBQUVULEVBQUVXLE9BQU8sQ0FBQ0MsQ0FBQUEsSUFBR0EsSUFBRztRQUFFO0lBQUM7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9zdG9yZS5qcz9hNmNiIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGEobyxyKXtsZXQgdD1vKCksbj1uZXcgU2V0O3JldHVybntnZXRTbmFwc2hvdCgpe3JldHVybiB0fSxzdWJzY3JpYmUoZSl7cmV0dXJuIG4uYWRkKGUpLCgpPT5uLmRlbGV0ZShlKX0sZGlzcGF0Y2goZSwuLi5zKXtsZXQgaT1yW2VdLmNhbGwodCwuLi5zKTtpJiYodD1pLG4uZm9yRWFjaChjPT5jKCkpKX19fWV4cG9ydHthIGFzIGNyZWF0ZVN0b3JlfTtcbiJdLCJuYW1lcyI6WyJhIiwibyIsInIiLCJ0IiwibiIsIlNldCIsImdldFNuYXBzaG90Iiwic3Vic2NyaWJlIiwiZSIsImFkZCIsImRlbGV0ZSIsImRpc3BhdGNoIiwicyIsImkiLCJjYWxsIiwiZm9yRWFjaCIsImMiLCJjcmVhdGVTdG9yZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@headlessui/react/dist/utils/store.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs":
/*!**************************************************************!*\
!*** ./node_modules/@react-aria/focus/dist/useFocusRing.mjs ***!
\**************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusRing: function() { return /* binding */ $f7dceffc5ad7768b$export$4e328f61c538687f; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_1__.useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_2__.useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, _react_aria_interactions__WEBPACK_IMPORTED_MODULE_3__.useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\n\n//# sourceMappingURL=useFocusRing.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9mb2N1cy9kaXN0L3VzZUZvY3VzUmluZy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBa047QUFDcEc7Ozs7QUFJOUcsNkRBQTZEO0FBQzdELFVBQVUseUVBQXlFO0FBQ25GLG9CQUFvQix5Q0FBYTtBQUNqQztBQUNBLHlDQUF5QyxvRUFBcUI7QUFDOUQsS0FBSztBQUNMLHNDQUFzQywyQ0FBZTtBQUNyRCxxREFBcUQsMkNBQWU7QUFDcEUsMEJBQTBCLDhDQUFrQjtBQUM1Qyw0QkFBNEIsOENBQWtCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw2RUFBOEI7QUFDdEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxVQUFVLHlCQUF5QixNQUFNLDhEQUFlO0FBQ3hEO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsVUFBVSxxQ0FBcUMsTUFBTSxvRUFBcUI7QUFDMUU7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdtRTtBQUNuRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvZm9jdXMvZGlzdC91c2VGb2N1c1JpbmcubWpzPzc4N2MiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0ZvY3VzVmlzaWJsZSBhcyAkaXNXRTUkaXNGb2N1c1Zpc2libGUsIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyIGFzICRpc1dFNSR1c2VGb2N1c1Zpc2libGVMaXN0ZW5lciwgdXNlRm9jdXMgYXMgJGlzV0U1JHVzZUZvY3VzLCB1c2VGb2N1c1dpdGhpbiBhcyAkaXNXRTUkdXNlRm9jdXNXaXRoaW59IGZyb20gXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtcbmltcG9ydCB7dXNlUmVmIGFzICRpc1dFNSR1c2VSZWYsIHVzZVN0YXRlIGFzICRpc1dFNSR1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgYXMgJGlzV0U1JHVzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIjtcblxuXG5cbmZ1bmN0aW9uICRmN2RjZWZmYzVhZDc3NjhiJGV4cG9ydCQ0ZTMyOGY2MWM1Mzg2ODdmKHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBhdXRvRm9jdXM6IGF1dG9Gb2N1cyA9IGZhbHNlLCBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIHdpdGhpbjogd2l0aGluIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJGlzV0U1JHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICBpc0ZvY3VzVmlzaWJsZTogYXV0b0ZvY3VzIHx8ICgwLCAkaXNXRTUkaXNGb2N1c1Zpc2libGUpKClcbiAgICB9KTtcbiAgICBsZXQgW2lzRm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSAoMCwgJGlzV0U1JHVzZVN0YXRlKShmYWxzZSk7XG4gICAgbGV0IFtpc0ZvY3VzVmlzaWJsZVN0YXRlLCBzZXRGb2N1c1Zpc2libGVdID0gKDAsICRpc1dFNSR1c2VTdGF0ZSkoKCk9PnN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkICYmIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1Zpc2libGUpO1xuICAgIGxldCB1cGRhdGVTdGF0ZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKCgpPT5zZXRGb2N1c1Zpc2libGUoc3RhdGUuY3VycmVudC5pc0ZvY3VzZWQgJiYgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSksIFtdKTtcbiAgICBsZXQgb25Gb2N1c0NoYW5nZSA9ICgwLCAkaXNXRTUkdXNlQ2FsbGJhY2spKChpc0ZvY3VzZWQpPT57XG4gICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICBzZXRGb2N1c2VkKGlzRm9jdXNlZCk7XG4gICAgICAgIHVwZGF0ZVN0YXRlKCk7XG4gICAgfSwgW1xuICAgICAgICB1cGRhdGVTdGF0ZVxuICAgIF0pO1xuICAgICgwLCAkaXNXRTUkdXNlRm9jdXNWaXNpYmxlTGlzdGVuZXIpKChpc0ZvY3VzVmlzaWJsZSk9PntcbiAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSA9IGlzRm9jdXNWaXNpYmxlO1xuICAgICAgICB1cGRhdGVTdGF0ZSgpO1xuICAgIH0sIFtdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIGxldCB7IGZvY3VzUHJvcHM6IGZvY3VzUHJvcHMgfSA9ICgwLCAkaXNXRTUkdXNlRm9jdXMpKHtcbiAgICAgICAgaXNEaXNhYmxlZDogd2l0aGluLFxuICAgICAgICBvbkZvY3VzQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgbGV0IHsgZm9jdXNXaXRoaW5Qcm9wczogZm9jdXNXaXRoaW5Qcm9wcyB9ID0gKDAsICRpc1dFNSR1c2VGb2N1c1dpdGhpbikoe1xuICAgICAgICBpc0Rpc2FibGVkOiAhd2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzQ2hhbmdlXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlLFxuICAgICAgICBmb2N1c1Byb3BzOiB3aXRoaW4gPyBmb2N1c1dpdGhpblByb3BzIDogZm9jdXNQcm9wc1xuICAgIH07XG59XG5cblxuZXhwb3J0IHskZjdkY2VmZmM1YWQ3NzY4YiRleHBvcnQkNGUzMjhmNjFjNTM4Njg3ZiBhcyB1c2VGb2N1c1Jpbmd9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNSaW5nLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/focus/dist/useFocusRing.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs":
/*!*****************************************************************!*\
!*** ./node_modules/@react-aria/interactions/dist/useFocus.mjs ***!
\*****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocus: function() { return /* binding */ $a1ea59d68270f0dd$export$f8168d8dd8fd66e6; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n const onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocus.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1cy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUErRjtBQUN2QztBQUNzQjs7QUFFOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0EsVUFBVSxpR0FBaUc7QUFDM0csdUJBQXVCLDhDQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2REFBeUM7QUFDMUUsd0JBQXdCLDhDQUFrQjtBQUMxQztBQUNBO0FBQ0Esa0NBQWtDLCtEQUF1QjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUcrRDtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXMubWpzPzBlYjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VTeW50aGV0aWNCbHVyRXZlbnQgYXMgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2N9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHt1c2VDYWxsYmFjayBhcyAkaGYwbGokdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtnZXRPd25lckRvY3VtZW50IGFzICRoZjBsaiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFBvcnRpb25zIG9mIHRoZSBjb2RlIGluIHRoaXMgZmlsZSBhcmUgYmFzZWQgb24gY29kZSBmcm9tIHJlYWN0LlxuLy8gT3JpZ2luYWwgbGljZW5zaW5nIGZvciB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGVcbi8vIE5PVElDRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL2NjN2MxYWVjZTQ2YTZiNjliNDE5NThkNzMxZTBmZDI3Yzk0YmZjNmMvcGFja2FnZXMvcmVhY3QtaW50ZXJhY3Rpb25zXG5cblxuXG5mdW5jdGlvbiAkYTFlYTU5ZDY4MjcwZjBkZCRleHBvcnQkZjgxNjhkOGRkOGZkNjZlNihwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uRm9jdXM6IG9uRm9jdXNQcm9wLCBvbkJsdXI6IG9uQmx1clByb3AsIG9uRm9jdXNDaGFuZ2U6IG9uRm9jdXNDaGFuZ2UgfSA9IHByb3BzO1xuICAgIGNvbnN0IG9uQmx1ciA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uQmx1clByb3ApIG9uQmx1clByb3AoZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c0NoYW5nZSkgb25Gb2N1c0NoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25CbHVyUHJvcCxcbiAgICAgICAgb25Gb2N1c0NoYW5nZVxuICAgIF0pO1xuICAgIGNvbnN0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgY29uc3Qgb25Gb2N1cyA9ICgwLCAkaGYwbGokdXNlQ2FsbGJhY2spKChlKT0+e1xuICAgICAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFjdHVhbGx5IG1hdGNoZXMgZS50YXJnZXQgaW4gY2FzZSBhIHByZXZpb3VzbHkgY2hhaW5lZFxuICAgICAgICAvLyBmb2N1cyBoYW5kbGVyIGFscmVhZHkgbW92ZWQgZm9jdXMgc29tZXdoZXJlIGVsc2UuXG4gICAgICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSAoMCwgJGhmMGxqJGdldE93bmVyRG9jdW1lbnQpKGUudGFyZ2V0KTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQgJiYgb3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNQcm9wKSBvbkZvY3VzUHJvcChlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzQ2hhbmdlKSBvbkZvY3VzQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgb25TeW50aGV0aWNGb2N1cyhlKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25Gb2N1c0NoYW5nZSxcbiAgICAgICAgb25Gb2N1c1Byb3AsXG4gICAgICAgIG9uU3ludGhldGljRm9jdXNcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmb2N1c1Byb3BzOiB7XG4gICAgICAgICAgICBvbkZvY3VzOiAhaXNEaXNhYmxlZCAmJiAob25Gb2N1c1Byb3AgfHwgb25Gb2N1c0NoYW5nZSB8fCBvbkJsdXJQcm9wKSA/IG9uRm9jdXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6ICFpc0Rpc2FibGVkICYmIChvbkJsdXJQcm9wIHx8IG9uRm9jdXNDaGFuZ2UpID8gb25CbHVyIDogdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JGExZWE1OWQ2ODI3MGYwZGQkZXhwb3J0JGY4MTY4ZDhkZDhmZDY2ZTYgYXMgdXNlRm9jdXN9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXMubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocus.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs":
/*!************************************************************************!*\
!*** ./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs ***!
\************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addWindowFocusTracking: function() { return /* binding */ $507fabe10e71c6fb$export$2f1888112f558a7d; },\n/* harmony export */ getInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$630ff653c5ada6a9; },\n/* harmony export */ hasSetupGlobalListeners: function() { return /* binding */ $507fabe10e71c6fb$export$d90243b58daecda7; },\n/* harmony export */ isFocusVisible: function() { return /* binding */ $507fabe10e71c6fb$export$b9b3dfddab17db27; },\n/* harmony export */ setInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$8397ddfc504fdb9a; },\n/* harmony export */ useFocusVisible: function() { return /* binding */ $507fabe10e71c6fb$export$ffd9e5021c1fb2d6; },\n/* harmony export */ useFocusVisibleListener: function() { return /* binding */ $507fabe10e71c6fb$export$ec71b4b83ac08ec3; },\n/* harmony export */ useInteractionModality: function() { return /* binding */ $507fabe10e71c6fb$export$98e20ec92f614cfe; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/ssr */ \"(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\");\n\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element))) return;\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(element);\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($507fabe10e71c6fb$var$currentModality);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, _react_aria_ssr__WEBPACK_IMPORTED_MODULE_4__.useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n var _e_target;\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\n\n//# sourceMappingURL=useFocusVisible.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUw7QUFDdEc7QUFDckI7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0Isb0RBQVk7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZEQUFxQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyRkFBMkYsNkRBQXFCO0FBQ2hILDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsK0RBQXVCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDJDQUFlO0FBQ3JELFFBQVEsNENBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGVBQWUscURBQWU7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSw2REFBcUI7QUFDdkYscUVBQXFFLDZEQUFxQjtBQUMxRiw2REFBNkQsNkRBQXFCO0FBQ2xGLCtEQUErRCw2REFBcUI7QUFDcEY7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdELFVBQVUsaURBQWlEO0FBQzNELHFEQUFxRCwyQ0FBZTtBQUNwRTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdtaUI7QUFDbmlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1Zpc2libGUubWpzPzMxNGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc01hYyBhcyAkMjhBblIkaXNNYWMsIGlzVmlydHVhbENsaWNrIGFzICQyOEFuUiRpc1ZpcnR1YWxDbGljaywgZ2V0T3duZXJXaW5kb3cgYXMgJDI4QW5SJGdldE93bmVyV2luZG93LCBnZXRPd25lckRvY3VtZW50IGFzICQyOEFuUiRnZXRPd25lckRvY3VtZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcbmltcG9ydCB7dXNlU3RhdGUgYXMgJDI4QW5SJHVzZVN0YXRlLCB1c2VFZmZlY3QgYXMgJDI4QW5SJHVzZUVmZmVjdH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZUlzU1NSIGFzICQyOEFuUiR1c2VJc1NTUn0gZnJvbSBcIkByZWFjdC1hcmlhL3NzclwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5cbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbnVsbDtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMgPSBuZXcgU2V0KCk7XG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgPSBuZXcgTWFwKCk7IC8vIFdlIHVzZSBhIG1hcCBoZXJlIHRvIHN1cHBvcnQgc2V0dGluZyBldmVudCBsaXN0ZW5lcnMgYWNyb3NzIG11bHRpcGxlIGRvY3VtZW50IG9iamVjdHMuXG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSBmYWxzZTtcbmxldCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzQmx1cnJlZFdpbmRvd1JlY2VudGx5ID0gZmFsc2U7XG4vLyBPbmx5IFRhYiBvciBFc2Mga2V5cyB3aWxsIG1ha2UgZm9jdXMgdmlzaWJsZSBvbiB0ZXh0IGlucHV0IGVsZW1lbnRzXG5jb25zdCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkRk9DVVNfVklTSUJMRV9JTlBVVF9LRVlTID0ge1xuICAgIFRhYjogdHJ1ZSxcbiAgICBFc2NhcGU6IHRydWVcbn07XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKG1vZGFsaXR5LCBlKSB7XG4gICAgZm9yIChsZXQgaGFuZGxlciBvZiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMpaGFuZGxlcihtb2RhbGl0eSwgZSk7XG59XG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBLZXlib2FyZEV2ZW50IGlzIHVubW9kaWZpZWQgYW5kIGNvdWxkIG1ha2Uga2V5Ym9hcmQgZm9jdXMgc3R5bGVzIHZpc2libGUuXG4gKi8gZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkge1xuICAgIC8vIENvbnRyb2wgYW5kIFNoaWZ0IGtleXMgdHJpZ2dlciB3aGVuIG5hdmlnYXRpbmcgYmFjayB0byB0aGUgdGFiIHdpdGgga2V5Ym9hcmQuXG4gICAgcmV0dXJuICEoZS5tZXRhS2V5IHx8ICEoMCwgJDI4QW5SJGlzTWFjKSgpICYmIGUuYWx0S2V5IHx8IGUuY3RybEtleSB8fCBlLmtleSA9PT0gJ0NvbnRyb2wnIHx8IGUua2V5ID09PSAnU2hpZnQnIHx8IGUua2V5ID09PSAnTWV0YScpO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUtleWJvYXJkRXZlbnQoZSkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gdHJ1ZTtcbiAgICBpZiAoJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzVmFsaWRLZXkoZSkpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0cmlnZ2VyQ2hhbmdlSGFuZGxlcnMoJ2tleWJvYXJkJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudChlKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICdwb2ludGVyJztcbiAgICBpZiAoZS50eXBlID09PSAnbW91c2Vkb3duJyB8fCBlLnR5cGUgPT09ICdwb2ludGVyZG93bicpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCdwb2ludGVyJywgZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUNsaWNrRXZlbnQoZSkge1xuICAgIGlmICgoMCwgJDI4QW5SJGlzVmlydHVhbENsaWNrKShlKSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IHRydWU7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSAndmlydHVhbCc7XG4gICAgfVxufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQoZSkge1xuICAgIC8vIEZpcmVmb3ggZmlyZXMgdHdvIGV4dHJhIGZvY3VzIGV2ZW50cyB3aGVuIHRoZSB1c2VyIGZpcnN0IGNsaWNrcyBpbnRvIGFuIGlmcmFtZTpcbiAgICAvLyBmaXJzdCBvbiB0aGUgd2luZG93LCB0aGVuIG9uIHRoZSBkb2N1bWVudC4gV2UgaWdub3JlIHRoZXNlIGV2ZW50cyBzbyB0aGV5IGRvbid0XG4gICAgLy8gY2F1c2Uga2V5Ym9hcmQgZm9jdXMgcmluZ3MgdG8gYXBwZWFyLlxuICAgIGlmIChlLnRhcmdldCA9PT0gd2luZG93IHx8IGUudGFyZ2V0ID09PSBkb2N1bWVudCkgcmV0dXJuO1xuICAgIC8vIElmIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXQgYSBwcmVjZWRpbmcga2V5Ym9hcmQgb3IgcG9pbnRlciBldmVudCwgc3dpdGNoIHRvIHZpcnR1YWwgbW9kYWxpdHkuXG4gICAgLy8gVGhpcyBvY2N1cnMsIGZvciBleGFtcGxlLCB3aGVuIG5hdmlnYXRpbmcgYSBmb3JtIHdpdGggdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBvbiBpT1MuXG4gICAgaWYgKCEkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSkge1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gJ3ZpcnR1YWwnO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCd2aXJ0dWFsJywgZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gZmFsc2U7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIoKSB7XG4gICAgLy8gV2hlbiB0aGUgd2luZG93IGlzIGJsdXJyZWQsIHJlc2V0IHN0YXRlLiBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIHRhYmJpbmcgb3V0IG9mIHRoZSB3aW5kb3csXG4gICAgLy8gZm9yIGV4YW1wbGUsIHNpbmNlIGEgc3Vic2VxdWVudCBmb2N1cyBldmVudCB3b24ndCBiZSBmaXJlZC5cbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IGZhbHNlO1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNCbHVycmVkV2luZG93UmVjZW50bHkgPSB0cnVlO1xufVxuLyoqXG4gKiBTZXR1cCBnbG9iYWwgZXZlbnQgbGlzdGVuZXJzIHRvIGNvbnRyb2wgd2hlbiBrZXlib2FyZCBmb2N1cyBzdHlsZSBzaG91bGQgYmUgdmlzaWJsZS5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCgoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KSkpIHJldHVybjtcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgLy8gUHJvZ3JhbW1hdGljIGZvY3VzKCkgY2FsbHMgc2hvdWxkbid0IGFmZmVjdCB0aGUgY3VycmVudCBpbnB1dCBtb2RhbGl0eS5cbiAgICAvLyBIb3dldmVyLCB3ZSBuZWVkIHRvIGRldGVjdCBvdGhlciBjYXNlcyB3aGVuIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXRcbiAgICAvLyBhIHByZWNlZGluZyB1c2VyIGV2ZW50IChlLmcuIHNjcmVlbiByZWFkZXIgZm9jdXMpLiBPdmVycmlkaW5nIHRoZSBmb2N1c1xuICAgIC8vIG1ldGhvZCBvbiBIVE1MRWxlbWVudC5wcm90b3R5cGUgaXMgYSBiaXQgaGFja3ksIGJ1dCB3b3Jrcy5cbiAgICBsZXQgZm9jdXMgPSB3aW5kb3dPYmplY3QuSFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzO1xuICAgIHdpbmRvd09iamVjdC5IVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICBmb2N1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVDbGlja0V2ZW50LCB0cnVlKTtcbiAgICAvLyBSZWdpc3RlciBmb2N1cyBldmVudHMgb24gdGhlIHdpbmRvdyBzbyB0aGV5IGFyZSBzdXJlIHRvIGhhcHBlblxuICAgIC8vIGJlZm9yZSBSZWFjdCdzIGV2ZW50IGxpc3RlbmVycyAocmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnQpLlxuICAgIHdpbmRvd09iamVjdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50LCB0cnVlKTtcbiAgICB3aW5kb3dPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyLCBmYWxzZSk7XG4gICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH1cbiAgICAvLyBBZGQgdW5tb3VudCBoYW5kbGVyXG4gICAgd2luZG93T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsICgpPT57XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcoZWxlbWVudCk7XG4gICAgfSwge1xuICAgICAgICBvbmNlOiB0cnVlXG4gICAgfSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcuc2V0KHdpbmRvd09iamVjdCwge1xuICAgICAgICBmb2N1czogZm9jdXNcbiAgICB9KTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcgPSAoZWxlbWVudCwgbG9hZExpc3RlbmVyKT0+e1xuICAgIGNvbnN0IHdpbmRvd09iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGVsZW1lbnQpO1xuICAgIGNvbnN0IGRvY3VtZW50T2JqZWN0ID0gKDAsICQyOEFuUiRnZXRPd25lckRvY3VtZW50KShlbGVtZW50KTtcbiAgICBpZiAobG9hZExpc3RlbmVyKSBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3Lmhhcyh3aW5kb3dPYmplY3QpKSByZXR1cm47XG4gICAgd2luZG93T2JqZWN0LkhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cyA9ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCh3aW5kb3dPYmplY3QpLmZvY3VzO1xuICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlS2V5Ym9hcmRFdmVudCwgdHJ1ZSk7XG4gICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlQ2xpY2tFdmVudCwgdHJ1ZSk7XG4gICAgd2luZG93T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUZvY3VzRXZlbnQsIHRydWUpO1xuICAgIHdpbmRvd09iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVdpbmRvd0JsdXIsIGZhbHNlKTtcbiAgICBpZiAodHlwZW9mIFBvaW50ZXJFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgICAgICBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgfVxuICAgICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmRlbGV0ZSh3aW5kb3dPYmplY3QpO1xufTtcbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgbGV0IGxvYWRMaXN0ZW5lcjtcbiAgICBpZiAoZG9jdW1lbnRPYmplY3QucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cyhlbGVtZW50KTtcbiAgICBlbHNlIHtcbiAgICAgICAgbG9hZExpc3RlbmVyID0gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRzZXR1cEdsb2JhbEZvY3VzRXZlbnRzKGVsZW1lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbG9hZExpc3RlbmVyKTtcbiAgICB9XG4gICAgcmV0dXJuICgpPT4kNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdGVhckRvd25XaW5kb3dGb2N1c1RyYWNraW5nKGVsZW1lbnQsIGxvYWRMaXN0ZW5lcik7XG59XG4vLyBTZXJ2ZXItc2lkZSByZW5kZXJpbmcgZG9lcyBub3QgaGF2ZSB0aGUgZG9jdW1lbnQgb2JqZWN0IGRlZmluZWRcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkMmYxODg4MTEyZjU1OGE3ZCgpO1xuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSB7XG4gICAgcmV0dXJuICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgIT09ICdwb2ludGVyJztcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ2MzBmZjY1M2M1YWRhNmE5KCkge1xuICAgIHJldHVybiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5O1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDgzOTdkZGZjNTA0ZmRiOWEobW9kYWxpdHkpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gbW9kYWxpdHk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycyhtb2RhbGl0eSwgbnVsbCk7XG59XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSgpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cygpO1xuICAgIGxldCBbbW9kYWxpdHksIHNldE1vZGFsaXR5XSA9ICgwLCAkMjhBblIkdXNlU3RhdGUpKCQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkpO1xuICAgICgwLCAkMjhBblIkdXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBsZXQgaGFuZGxlciA9ICgpPT57XG4gICAgICAgICAgICBzZXRNb2RhbGl0eSgkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5KTtcbiAgICAgICAgfTtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzLmFkZChoYW5kbGVyKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gKDAsICQyOEFuUiR1c2VJc1NTUikoKSA/IG51bGwgOiBtb2RhbGl0eTtcbn1cbmNvbnN0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRub25UZXh0SW5wdXRUeXBlcyA9IG5ldyBTZXQoW1xuICAgICdjaGVja2JveCcsXG4gICAgJ3JhZGlvJyxcbiAgICAncmFuZ2UnLFxuICAgICdjb2xvcicsXG4gICAgJ2ZpbGUnLFxuICAgICdpbWFnZScsXG4gICAgJ2J1dHRvbicsXG4gICAgJ3N1Ym1pdCcsXG4gICAgJ3Jlc2V0J1xuXSk7XG4vKipcbiAqIElmIHRoaXMgaXMgYXR0YWNoZWQgdG8gdGV4dCBpbnB1dCBjb21wb25lbnQsIHJldHVybiBpZiB0aGUgZXZlbnQgaXMgYSBmb2N1cyBldmVudCAoVGFiL0VzY2FwZSBrZXlzIHByZXNzZWQpIHNvIHRoYXRcbiAqIGZvY3VzIHZpc2libGUgc3R5bGUgY2FuIGJlIHByb3Blcmx5IHNldC5cbiAqLyBmdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaXNLZXlib2FyZEZvY3VzRXZlbnQoaXNUZXh0SW5wdXQsIG1vZGFsaXR5LCBlKSB7XG4gICAgdmFyIF9lX3RhcmdldDtcbiAgICBjb25zdCBJSFRNTElucHV0RWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTElucHV0RWxlbWVudCA6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgSUhUTUxUZXh0QXJlYUVsZW1lbnQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpLkhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIGNvbnN0IElIVE1MRWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTEVsZW1lbnQgOiBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBJS2V5Ym9hcmRFdmVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuS2V5Ym9hcmRFdmVudCA6IEtleWJvYXJkRXZlbnQ7XG4gICAgaXNUZXh0SW5wdXQgPSBpc1RleHRJbnB1dCB8fCAoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkgaW5zdGFuY2VvZiBJSFRNTElucHV0RWxlbWVudCAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJG5vblRleHRJbnB1dFR5cGVzLmhhcyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfZV90YXJnZXQgPSBlLnRhcmdldCkgPT09IG51bGwgfHwgX2VfdGFyZ2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZV90YXJnZXQudHlwZSkgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxUZXh0QXJlYUVsZW1lbnQgfHwgKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpIGluc3RhbmNlb2YgSUhUTUxFbGVtZW50ICYmIChlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlKTtcbiAgICByZXR1cm4gIShpc1RleHRJbnB1dCAmJiBtb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJiBlIGluc3RhbmNlb2YgSUtleWJvYXJkRXZlbnQgJiYgISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRGT0NVU19WSVNJQkxFX0lOUFVUX0tFWVNbZS5rZXldKTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRmZmQ5ZTUwMjFjMWZiMmQ2KHByb3BzID0ge30pIHtcbiAgICBsZXQgeyBpc1RleHRJbnB1dDogaXNUZXh0SW5wdXQsIGF1dG9Gb2N1czogYXV0b0ZvY3VzIH0gPSBwcm9wcztcbiAgICBsZXQgW2lzRm9jdXNWaXNpYmxlU3RhdGUsIHNldEZvY3VzVmlzaWJsZV0gPSAoMCwgJDI4QW5SJHVzZVN0YXRlKShhdXRvRm9jdXMgfHwgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSk7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGVjNzFiNGI4M2FjMDhlYzMoKGlzRm9jdXNWaXNpYmxlKT0+e1xuICAgICAgICBzZXRGb2N1c1Zpc2libGUoaXNGb2N1c1Zpc2libGUpO1xuICAgIH0sIFtcbiAgICAgICAgaXNUZXh0SW5wdXRcbiAgICBdLCB7XG4gICAgICAgIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBpc0ZvY3VzVmlzaWJsZVN0YXRlXG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzKGZuLCBkZXBzLCBvcHRzKSB7XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHNldHVwR2xvYmFsRm9jdXNFdmVudHMoKTtcbiAgICAoMCwgJDI4QW5SJHVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgbGV0IGhhbmRsZXIgPSAobW9kYWxpdHksIGUpPT57XG4gICAgICAgICAgICBpZiAoISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc0tleWJvYXJkRm9jdXNFdmVudCghIShvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuaXNUZXh0SW5wdXQpLCBtb2RhbGl0eSwgZSkpIHJldHVybjtcbiAgICAgICAgICAgIGZuKCQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3KCkpO1xuICAgICAgICB9O1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjaGFuZ2VIYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIGRlcHMpO1xufVxuXG5cbmV4cG9ydCB7JDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcgYXMgaGFzU2V0dXBHbG9iYWxMaXN0ZW5lcnMsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkIGFzIGFkZFdpbmRvd0ZvY3VzVHJhY2tpbmcsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRiOWIzZGZkZGFiMTdkYjI3IGFzIGlzRm9jdXNWaXNpYmxlLCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkNjMwZmY2NTNjNWFkYTZhOSBhcyBnZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkODM5N2RkZmM1MDRmZGI5YSBhcyBzZXRJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkOThlMjBlYzkyZjYxNGNmZSBhcyB1c2VJbnRlcmFjdGlvbk1vZGFsaXR5LCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZmZkOWU1MDIxYzFmYjJkNiBhcyB1c2VGb2N1c1Zpc2libGUsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRlYzcxYjRiODNhYzA4ZWMzIGFzIHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUZvY3VzVmlzaWJsZS5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs":
/*!***********************************************************************!*\
!*** ./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs ***!
\***********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFocusWithin: function() { return /* binding */ $9ab94262bd0047c7$export$420e68273165f4ec; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_1__.useSyntheticBlurEvent)(onBlur);\n let onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n if (!state.current.isFocusWithin && document.activeElement === e.target) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These should not have been null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\n\n//# sourceMappingURL=useFocusWithin.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStGO0FBQ2Q7O0FBRWpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVSw2SEFBNkg7QUFDdkksb0JBQW9CLHlDQUFhO0FBQ2pDO0FBQ0EsS0FBSztBQUNMLHFCQUFxQiw4Q0FBa0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw2REFBeUM7QUFDeEUsc0JBQXNCLDhDQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR3FFO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VGb2N1c1dpdGhpbi5tanM/NzNlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVN5bnRoZXRpY0JsdXJFdmVudCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNzE1YzY4MmQwOWQ2MzljY30gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkM2I5UTAkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkM2I5UTAkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5mdW5jdGlvbiAkOWFiOTQyNjJiZDAwNDdjNyRleHBvcnQkNDIwZTY4MjczMTY1ZjRlYyhwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uQmx1cldpdGhpbjogb25CbHVyV2l0aGluLCBvbkZvY3VzV2l0aGluOiBvbkZvY3VzV2l0aGluLCBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzV2l0aGluQ2hhbmdlIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJDNiOVEwJHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzV2l0aGluOiBmYWxzZVxuICAgIH0pO1xuICAgIGxldCBvbkJsdXIgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIG9uQmx1cldpdGhpbiBhbmQgdGhlbiBpbW1lZGlhdGVseSBvbkZvY3VzV2l0aGluIGFnYWluXG4gICAgICAgIC8vIHdoZW4gbW92aW5nIGZvY3VzIGluc2lkZSB0aGUgZWxlbWVudC4gT25seSB0cmlnZ2VyIGlmIHRoZSBjdXJyZW50VGFyZ2V0IGRvZXNuJ3RcbiAgICAgICAgLy8gaW5jbHVkZSB0aGUgcmVsYXRlZFRhcmdldCAod2hlcmUgZm9jdXMgaXMgbW92aW5nKS5cbiAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiAhZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKG9uQmx1cldpdGhpbikgb25CbHVyV2l0aGluKGUpO1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW5DaGFuZ2UpIG9uRm9jdXNXaXRoaW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkJsdXJXaXRoaW4sXG4gICAgICAgIG9uRm9jdXNXaXRoaW5DaGFuZ2UsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgbGV0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgbGV0IG9uRm9jdXMgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhY3R1YWxseSBtYXRjaGVzIGUudGFyZ2V0IGluIGNhc2UgYSBwcmV2aW91c2x5IGNoYWluZWRcbiAgICAgICAgLy8gZm9jdXMgaGFuZGxlciBhbHJlYWR5IG1vdmVkIGZvY3VzIHNvbWV3aGVyZSBlbHNlLlxuICAgICAgICBpZiAoIXN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNXaXRoaW4pIG9uRm9jdXNXaXRoaW4oZSk7XG4gICAgICAgICAgICBpZiAob25Gb2N1c1dpdGhpbkNoYW5nZSkgb25Gb2N1c1dpdGhpbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiA9IHRydWU7XG4gICAgICAgICAgICBvblN5bnRoZXRpY0ZvY3VzKGUpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkZvY3VzV2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlLFxuICAgICAgICBvblN5bnRoZXRpY0ZvY3VzXG4gICAgXSk7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHJldHVybiB7XG4gICAgICAgIGZvY3VzV2l0aGluUHJvcHM6IHtcbiAgICAgICAgICAgIC8vIFRoZXNlIHNob3VsZCBub3QgaGF2ZSBiZWVuIG51bGwsIHRoYXQgd291bGQgY29uZmxpY3QgaW4gbWVyZ2VQcm9wc1xuICAgICAgICAgICAgb25Gb2N1czogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZm9jdXNXaXRoaW5Qcm9wczoge1xuICAgICAgICAgICAgb25Gb2N1czogb25Gb2N1cyxcbiAgICAgICAgICAgIG9uQmx1cjogb25CbHVyXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JDlhYjk0MjYyYmQwMDQ3YzckZXhwb3J0JDQyMGU2ODI3MzE2NWY0ZWMgYXMgdXNlRm9jdXNXaXRoaW59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNXaXRoaW4ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs":
/*!*****************************************************************!*\
!*** ./node_modules/@react-aria/interactions/dist/useHover.mjs ***!
\*****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useHover: function() { return /* binding */ $6179b936705e76d3$export$ae780daf29e6d456; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n let state = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\n\n//# sourceMappingURL=useHover.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91c2VIb3Zlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUk7O0FBRXJJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsMkdBQTJHO0FBQ3JILHNDQUFzQywyQ0FBZTtBQUNyRCxvQkFBb0IseUNBQWE7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsUUFBUSw0Q0FBZ0I7QUFDeEIsVUFBVSwyREFBMkQsTUFBTSwwQ0FBYztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0Q7QUFDL0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUhvdmVyLm1qcz81Y2M2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlU3RhdGUgYXMgJEFXeG5UJHVzZVN0YXRlLCB1c2VSZWYgYXMgJEFXeG5UJHVzZVJlZiwgdXNlRWZmZWN0IGFzICRBV3huVCR1c2VFZmZlY3QsIHVzZU1lbW8gYXMgJEFXeG5UJHVzZU1lbW99IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuLy8gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyIHR3aWNlOiBvbmNlIHdpdGggcG9pbnRlclR5cGU9XCJ0b3VjaFwiIGFuZCBhZ2FpbiB3aXRoIHBvaW50ZXJUeXBlPVwibW91c2VcIi5cbi8vIFdlIHdhbnQgdG8gaWdub3JlIHRoZXNlIGVtdWxhdGVkIGV2ZW50cyBzbyB0aGV5IGRvIG5vdCB0cmlnZ2VyIGhvdmVyIGJlaGF2aW9yLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2MDkuXG5sZXQgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbmxldCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCA9IDA7XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cygpIHtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgLy8gQ2xlYXIgZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyBhZnRlciBhIHNob3J0IHRpbWVvdXQuIGlPUyBmaXJlcyBvblBvaW50ZXJFbnRlclxuICAgIC8vIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiIGltbWVkaWF0ZWx5IGFmdGVyIG9uUG9pbnRlclVwIGFuZCBiZWZvcmUgb25Gb2N1cy4gT24gb3RoZXJcbiAgICAvLyBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGlzIHF1aXJrLCB3ZSBkb24ndCB3YW50IHRvIGlnbm9yZSBhIG1vdXNlIGhvdmVyIHNvbWV0aW1lIGluXG4gICAgLy8gdGhlIGRpc3RhbnQgZnV0dXJlIGJlY2F1c2UgYSB1c2VyIHByZXZpb3VzbHkgdG91Y2hlZCB0aGUgZWxlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgfSwgNTApO1xufVxuZnVuY3Rpb24gJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudChlKSB7XG4gICAgaWYgKGUucG9pbnRlclR5cGUgPT09ICd0b3VjaCcpICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk7XG59XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKTtcbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCsrO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudC0tO1xuICAgICAgICBpZiAoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhvdmVyQ291bnQgPiAwKSByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgICAgIGVsc2UgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uICQ2MTc5YjkzNjcwNWU3NmQzJGV4cG9ydCRhZTc4MGRhZjI5ZTZkNDU2KHByb3BzKSB7XG4gICAgbGV0IHsgb25Ib3ZlclN0YXJ0OiBvbkhvdmVyU3RhcnQsIG9uSG92ZXJDaGFuZ2U6IG9uSG92ZXJDaGFuZ2UsIG9uSG92ZXJFbmQ6IG9uSG92ZXJFbmQsIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQgfSA9IHByb3BzO1xuICAgIGxldCBbaXNIb3ZlcmVkLCBzZXRIb3ZlcmVkXSA9ICgwLCAkQVd4blQkdXNlU3RhdGUpKGZhbHNlKTtcbiAgICBsZXQgc3RhdGUgPSAoMCwgJEFXeG5UJHVzZVJlZikoe1xuICAgICAgICBpc0hvdmVyZWQ6IGZhbHNlLFxuICAgICAgICBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBmYWxzZSxcbiAgICAgICAgcG9pbnRlclR5cGU6ICcnLFxuICAgICAgICB0YXJnZXQ6IG51bGxcbiAgICB9KS5jdXJyZW50O1xuICAgICgwLCAkQVd4blQkdXNlRWZmZWN0KSgkNjE3OWI5MzY3MDVlNzZkMyR2YXIkc2V0dXBHbG9iYWxUb3VjaEV2ZW50cywgW10pO1xuICAgIGxldCB7IGhvdmVyUHJvcHM6IGhvdmVyUHJvcHMsIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kIH0gPSAoMCwgJEFXeG5UJHVzZU1lbW8pKCgpPT57XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJTdGFydCA9IChldmVudCwgcG9pbnRlclR5cGUpPT57XG4gICAgICAgICAgICBzdGF0ZS5wb2ludGVyVHlwZSA9IHBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgcG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgc3RhdGUuaXNIb3ZlcmVkIHx8ICFldmVudC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHJldHVybjtcbiAgICAgICAgICAgIHN0YXRlLmlzSG92ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IHRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyU3RhcnQpIG9uSG92ZXJTdGFydCh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2hvdmVyc3RhcnQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHNldEhvdmVyZWQodHJ1ZSk7XG4gICAgICAgIH07XG4gICAgICAgIGxldCB0cmlnZ2VySG92ZXJFbmQgPSAoZXZlbnQsIHBvaW50ZXJUeXBlKT0+e1xuICAgICAgICAgICAgc3RhdGUucG9pbnRlclR5cGUgPSAnJztcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IG51bGw7XG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgIXN0YXRlLmlzSG92ZXJlZCkgcmV0dXJuO1xuICAgICAgICAgICAgc3RhdGUuaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyRW5kKSBvbkhvdmVyRW5kKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaG92ZXJlbmQnLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlOiBwb2ludGVyVHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob25Ib3ZlckNoYW5nZSkgb25Ib3ZlckNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGhvdmVyUHJvcHMgPSB7fTtcbiAgICAgICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckVudGVyID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScpIHJldHVybjtcbiAgICAgICAgICAgICAgICB0cmlnZ2VySG92ZXJTdGFydChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uUG9pbnRlckxlYXZlID0gKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIGUuY3VycmVudFRhcmdldC5jb250YWlucyhlLnRhcmdldCkpIHRyaWdnZXJIb3ZlckVuZChlLCBlLnBvaW50ZXJUeXBlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uVG91Y2hTdGFydCA9ICgpPT57XG4gICAgICAgICAgICAgICAgc3RhdGUuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlRW50ZXIgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgISQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKSB0cmlnZ2VySG92ZXJTdGFydChlLCAnbW91c2UnKTtcbiAgICAgICAgICAgICAgICBzdGF0ZS5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlTGVhdmUgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsICdtb3VzZScpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG92ZXJQcm9wczogaG92ZXJQcm9wcyxcbiAgICAgICAgICAgIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvbkhvdmVyU3RhcnQsXG4gICAgICAgIG9uSG92ZXJDaGFuZ2UsXG4gICAgICAgIG9uSG92ZXJFbmQsXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIHN0YXRlXG4gICAgXSk7XG4gICAgKDAsICRBV3huVCR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIENhbGwgdGhlIHRyaWdnZXJIb3ZlckVuZCBhcyBzb29uIGFzIGlzRGlzYWJsZWQgY2hhbmdlcyB0byB0cnVlXG4gICAgICAgIC8vIFNhZmUgdG8gY2FsbCB0cmlnZ2VySG92ZXJFbmQsIGl0IHdpbGwgZWFybHkgcmV0dXJuIGlmIHdlIGFyZW4ndCBjdXJyZW50bHkgaG92ZXJpbmdcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHRyaWdnZXJIb3ZlckVuZCh7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBzdGF0ZS50YXJnZXRcbiAgICAgICAgfSwgc3RhdGUucG9pbnRlclR5cGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXG4gICAgICAgIGlzRGlzYWJsZWRcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBob3ZlclByb3BzOiBob3ZlclByb3BzLFxuICAgICAgICBpc0hvdmVyZWQ6IGlzSG92ZXJlZFxuICAgIH07XG59XG5cblxuZXhwb3J0IHskNjE3OWI5MzY3MDVlNzZkMyRleHBvcnQkYWU3ODBkYWYyOWU2ZDQ1NiBhcyB1c2VIb3Zlcn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VIb3Zlci5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/useHover.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs":
/*!**************************************************************!*\
!*** ./node_modules/@react-aria/interactions/dist/utils.mjs ***!
\**************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SyntheticFocusEvent: function() { return /* binding */ $8a9cb279dc87e130$export$905e7fc544a71f36; },\n/* harmony export */ useSyntheticBlurEvent: function() { return /* binding */ $8a9cb279dc87e130$export$715c682d09d639cc; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\");\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n // eslint-disable-next-line arrow-body-style\n (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n let dispatchBlur = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n });\n // This function is called during a React onFocus event.\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n dispatchBlur\n ]);\n}\n\n\n\n//# sourceMappingURL=utils.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBaUY7QUFDb0M7O0FBRXJIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIseUNBQWE7QUFDcEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw4REFBc0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsMkJBQTJCLDZEQUFxQjtBQUNoRDtBQUNBLEtBQUs7QUFDTDtBQUNBLGVBQWUsOENBQWtCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7O0FBRzhJO0FBQzlJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnMvZGlzdC91dGlscy5tanM/Y2RiNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZVJlZiBhcyAkNmRmSWUkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkNmRmSWUkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHt1c2VMYXlvdXRFZmZlY3QgYXMgJDZkZkllJHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0RXZlbnQgYXMgJDZkZkllJHVzZUVmZmVjdEV2ZW50fSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuXG5jbGFzcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkOTA1ZTdmYzU0NGE3MWYzNiB7XG4gICAgaXNEZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgIH1cbiAgICBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICBzdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSAoKT0+dHJ1ZTtcbiAgICB9XG4gICAgaXNQcm9wYWdhdGlvblN0b3BwZWQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcGVyc2lzdCgpIHt9XG4gICAgY29uc3RydWN0b3IodHlwZSwgbmF0aXZlRXZlbnQpe1xuICAgICAgICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnQudGFyZ2V0O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXJnZXQgPSBuYXRpdmVFdmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICB0aGlzLnJlbGF0ZWRUYXJnZXQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0O1xuICAgICAgICB0aGlzLmJ1YmJsZXMgPSBuYXRpdmVFdmVudC5idWJibGVzO1xuICAgICAgICB0aGlzLmNhbmNlbGFibGUgPSBuYXRpdmVFdmVudC5jYW5jZWxhYmxlO1xuICAgICAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkO1xuICAgICAgICB0aGlzLmV2ZW50UGhhc2UgPSBuYXRpdmVFdmVudC5ldmVudFBoYXNlO1xuICAgICAgICB0aGlzLmlzVHJ1c3RlZCA9IG5hdGl2ZUV2ZW50LmlzVHJ1c3RlZDtcbiAgICAgICAgdGhpcy50aW1lU3RhbXAgPSBuYXRpdmVFdmVudC50aW1lU3RhbXA7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxufVxuZnVuY3Rpb24gJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2Mob25CbHVyKSB7XG4gICAgbGV0IHN0YXRlUmVmID0gKDAsICQ2ZGZJZSR1c2VSZWYpKHtcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICAgICAgb2JzZXJ2ZXI6IG51bGxcbiAgICB9KTtcbiAgICAvLyBDbGVhbiB1cCBNdXRhdGlvbk9ic2VydmVyIG9uIHVubW91bnQuIFNlZSBiZWxvdy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyb3ctYm9keS1zdHlsZVxuICAgICgwLCAkNmRmSWUkdXNlTGF5b3V0RWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHN0YXRlUmVmLmN1cnJlbnQ7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgIHN0YXRlLm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgbGV0IGRpc3BhdGNoQmx1ciA9ICgwLCAkNmRmSWUkdXNlRWZmZWN0RXZlbnQpKChlKT0+e1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZSk7XG4gICAgfSk7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGEgUmVhY3Qgb25Gb2N1cyBldmVudC5cbiAgICByZXR1cm4gKDAsICQ2ZGZJZSR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIC8vIFJlYWN0IGRvZXMgbm90IGZpcmUgb25CbHVyIHdoZW4gYW4gZWxlbWVudCBpcyBkaXNhYmxlZC4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy85MTQyXG4gICAgICAgIC8vIE1vc3QgYnJvd3NlcnMgZmlyZSBhIG5hdGl2ZSBmb2N1c291dCBldmVudCBpbiB0aGlzIGNhc2UsIGV4Y2VwdCBmb3IgRmlyZWZveC4gSW4gdGhhdCBjYXNlLCB3ZSB1c2UgYVxuICAgICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIHRvIHdhdGNoIGZvciB0aGUgZGlzYWJsZWQgYXR0cmlidXRlLCBhbmQgZGlzcGF0Y2ggdGhlc2UgZXZlbnRzIG91cnNlbHZlcy5cbiAgICAgICAgLy8gRm9yIGJyb3dzZXJzIHRoYXQgZG8sIGZvY3Vzb3V0IGZpcmVzIGJlZm9yZSB0aGUgTXV0YXRpb25PYnNlcnZlciwgc28gb25CbHVyIHNob3VsZCBub3QgZmlyZSB0d2ljZS5cbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHwgZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCB8fCBlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50LmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICBsZXQgb25CbHVySGFuZGxlciA9IChlKT0+e1xuICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC5kaXNhYmxlZCkgLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGRpc3BhdGNoIGEgKGZha2UpIFJlYWN0IHN5bnRoZXRpYyBldmVudC5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaEJsdXIobmV3ICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCQ5MDVlN2ZjNTQ0YTcxZjM2KCdibHVyJywgZSkpO1xuICAgICAgICAgICAgICAgIC8vIFdlIG5vIGxvbmdlciBuZWVkIHRoZSBNdXRhdGlvbk9ic2VydmVyIG9uY2UgdGhlIHRhcmdldCBpcyBibHVycmVkLlxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0Jywgb25CbHVySGFuZGxlciwge1xuICAgICAgICAgICAgICAgIG9uY2U6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3RhdGVSZWYuY3VycmVudC5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkICYmIHRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3N0YXRlUmVmX2N1cnJlbnRfb2JzZXJ2ZXI7XG4gICAgICAgICAgICAgICAgICAgIChfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlciA9IHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIpID09PSBudWxsIHx8IF9zdGF0ZVJlZl9jdXJyZW50X29ic2VydmVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZWxhdGVkVGFyZ2V0RWwgPSB0YXJnZXQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBudWxsIDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEZvY3VzRXZlbnQoJ2JsdXInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0RWxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRm9jdXNFdmVudCgnZm9jdXNvdXQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldEVsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQsIHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogW1xuICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoQmx1clxuICAgIF0pO1xufVxuXG5cbmV4cG9ydCB7JDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDkwNWU3ZmM1NDRhNzFmMzYgYXMgU3ludGhldGljRm9jdXNFdmVudCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MgYXMgdXNlU3ludGhldGljQmx1ckV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/interactions/dist/utils.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs":
/*!***********************************************************!*\
!*** ./node_modules/@react-aria/ssr/dist/SSRProvider.mjs ***!
\***********************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SSRProvider: function() { return /* binding */ $b5e257d569688ac6$export$9f8ac96af4b1b2ae; },\n/* harmony export */ useIsSSR: function() { return /* binding */ $b5e257d569688ac6$export$535bd6ca7f90a273; },\n/* harmony export */ useSSRSafeId: function() { return /* binding */ $b5e257d569688ac6$export$619500959fc48b26; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n let value = (0, react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function') {\n if ( true && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement((0, react__WEBPACK_IMPORTED_MODULE_0__).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, react__WEBPACK_IMPORTED_MODULE_0__).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, react__WEBPACK_IMPORTED_MODULE_0__).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && \"development\" === 'test' ? 0 : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n // @ts-ignore\n let id = (0, react__WEBPACK_IMPORTED_MODULE_0__).useId();\n let [didSSR] = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || \"development\" === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore'] === 'function') return (0, react__WEBPACK_IMPORTED_MODULE_0__)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\n\n//# sourceMappingURL=SSRProvider.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9zc3IvZGlzdC9TU1JQcm92aWRlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFnTTs7QUFFaE07QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELGtDQUFZO0FBQ3ZFLDZEQUE2RCxrQ0FBWTtBQUN6RTtBQUNBO0FBQ0Esa0JBQWtCLDZDQUFpQjtBQUNuQztBQUNBLGdDQUFnQywyQ0FBZTtBQUMvQyxvQkFBb0IsMENBQWM7QUFDbEM7QUFDQTtBQUNBLDJFQUEyRSxXQUFXLEdBQUcsUUFBUTtBQUNqRztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxrREFBc0I7QUFDOUI7QUFDQSxLQUFLO0FBQ0wsNkJBQTZCLGtDQUFZO0FBQ3pDO0FBQ0EsS0FBSyxvQkFBb0Isa0NBQVk7QUFDckM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGtDQUFZO0FBQy9CLFlBQVksS0FBK0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGtDQUFZLG9CQUFvQixrQ0FBWTtBQUM3RTtBQUNBLDZCQUE2QixrQ0FBWTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiw2Q0FBaUI7QUFDbkMsa0JBQWtCLHlDQUFhO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGLGtDQUFZO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsNkNBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLGFBQW9CLGNBQWMsQ0FBWSxnQkFBZ0IsV0FBVztBQUMxSSwyQkFBMkIsT0FBTyxHQUFHLFFBQVE7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGtDQUFZO0FBQzdCLHVCQUF1QiwyQ0FBZTtBQUN0QywyQkFBMkIsYUFBb0IsMENBQTBDLDRDQUE0QztBQUNySSwyQkFBMkIsT0FBTyxHQUFHLEdBQUc7QUFDeEM7QUFDQSw2REFBNkQsa0NBQVk7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsa0NBQVkscURBQXFELGtDQUFZO0FBQ2hHO0FBQ0EsZUFBZSw2Q0FBaUI7QUFDaEM7OztBQUdvTDtBQUNwTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvc3NyL2Rpc3QvU1NSUHJvdmlkZXIubWpzP2JjZjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQ2NzBnQiRyZWFjdCwge3VzZUNvbnRleHQgYXMgJDY3MGdCJHVzZUNvbnRleHQsIHVzZVN0YXRlIGFzICQ2NzBnQiR1c2VTdGF0ZSwgdXNlTWVtbyBhcyAkNjcwZ0IkdXNlTWVtbywgdXNlTGF5b3V0RWZmZWN0IGFzICQ2NzBnQiR1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiBhcyAkNjcwZ0IkdXNlUmVmfSBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFdlIG11c3QgYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggQHJlYWN0LWFyaWEvdXRpbHMsIGFuZCB0aGlzIHVzZUxheW91dEVmZmVjdCBpc1xuLy8gZ3VhcmRlZCBieSBhIGNoZWNrIHRoYXQgaXQgb25seSBydW5zIG9uIHRoZSBjbGllbnQgc2lkZS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci91c2VMYXlvdXRFZmZlY3RSdWxlXG5cbi8vIERlZmF1bHQgY29udGV4dCB2YWx1ZSB0byB1c2UgaW4gY2FzZSB0aGVyZSBpcyBubyBTU1JQcm92aWRlci4gVGhpcyBpcyBmaW5lIGZvclxuLy8gY2xpZW50LW9ubHkgYXBwcy4gSW4gb3JkZXIgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgQXJpYSBwb3RlbnRpYWxseVxuLy8gYmVpbmcgb24gdGhlIHBhZ2UgYXQgb25jZSwgdGhlIHByZWZpeCBpcyBzZXQgdG8gYSByYW5kb20gbnVtYmVyLiBTU1JQcm92aWRlclxuLy8gd2lsbCByZXNldCB0aGlzIHRvIHplcm8gZm9yIGNvbnNpc3RlbmN5IGJldHdlZW4gc2VydmVyIGFuZCBjbGllbnQsIHNvIGluIHRoZVxuLy8gU1NSIGNhc2UgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IEFyaWEgaXMgbm90IHN1cHBvcnRlZC5cbmNvbnN0ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA9IHtcbiAgICBwcmVmaXg6IFN0cmluZyhNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMCkpLFxuICAgIGN1cnJlbnQ6IDBcbn07XG5jb25zdCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJElzU1NSQ29udGV4dCA9IC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlQ29udGV4dChmYWxzZSk7XG4vLyBUaGlzIGlzIG9ubHkgdXNlZCBpbiBSZWFjdCA8IDE4LlxuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyKHByb3BzKSB7XG4gICAgbGV0IGN1ciA9ICgwLCAkNjcwZ0IkdXNlQ29udGV4dCkoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJFNTUkNvbnRleHQpO1xuICAgIGxldCBjb3VudGVyID0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUNvdW50ZXIoY3VyID09PSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZGVmYXVsdENvbnRleHQpO1xuICAgIGxldCBbaXNTU1IsIHNldElzU1NSXSA9ICgwLCAkNjcwZ0IkdXNlU3RhdGUpKHRydWUpO1xuICAgIGxldCB2YWx1ZSA9ICgwLCAkNjcwZ0IkdXNlTWVtbykoKCk9Pih7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBTU1JQcm92aWRlciwgc3RhcnQgd2l0aCBhbiBlbXB0eSBzdHJpbmcgcHJlZml4LCBvdGhlcndpc2VcbiAgICAgICAgICAgIC8vIGFwcGVuZCBhbmQgaW5jcmVtZW50IHRoZSBjb3VudGVyLlxuICAgICAgICAgICAgcHJlZml4OiBjdXIgPT09ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCA/ICcnIDogYCR7Y3VyLnByZWZpeH0tJHtjb3VudGVyfWAsXG4gICAgICAgICAgICBjdXJyZW50OiAwXG4gICAgICAgIH0pLCBbXG4gICAgICAgIGN1cixcbiAgICAgICAgY291bnRlclxuICAgIF0pO1xuICAgIC8vIElmIG9uIHRoZSBjbGllbnQsIGFuZCB0aGUgY29tcG9uZW50IHdhcyBpbml0aWFsbHkgc2VydmVyIHJlbmRlcmVkLFxuICAgIC8vIHRoZW4gc2NoZWR1bGUgYSBsYXlvdXQgZWZmZWN0IHRvIHVwZGF0ZSB0aGUgY29tcG9uZW50IGFmdGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgLy8gVGhpcyBpZiBzdGF0ZW1lbnQgdGVjaG5pY2FsbHkgYnJlYWtzIHRoZSBydWxlcyBvZiBob29rcywgYnV0IGlzIHNhZmVcbiAgICAvLyBiZWNhdXNlIHRoZSBjb25kaXRpb24gbmV2ZXIgY2hhbmdlcyBhZnRlciBtb3VudGluZy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAoMCwgJDY3MGdCJHVzZUxheW91dEVmZmVjdCkoKCk9PntcbiAgICAgICAgc2V0SXNTU1IoZmFsc2UpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgIH0sIC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlRWxlbWVudCgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkSXNTU1JDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiBpc1NTUlxuICAgIH0sIHByb3BzLmNoaWxkcmVuKSk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIgPSBmYWxzZTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ5ZjhhYzk2YWY0YjFiMmFlKHByb3BzKSB7XG4gICAgaWYgKHR5cGVvZiAoMCwgJDY3MGdCJHJlYWN0KVsndXNlSWQnXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0JyAmJiAhJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHdhcm5lZEFib3V0U1NSUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW4gUmVhY3QgMTgsIFNTUlByb3ZpZGVyIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGlzIGEgbm9vcC4gWW91IGNhbiByZW1vdmUgaXQgZnJvbSB5b3VyIGFwcC4nKTtcbiAgICAgICAgICAgICRiNWUyNTdkNTY5Njg4YWM2JHZhciR3YXJuZWRBYm91dFNTUlByb3ZpZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCgwLCAkNjcwZ0IkcmVhY3QpLkZyYWdtZW50LCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCAkNjcwZ0IkcmVhY3QpLmNyZWF0ZUVsZW1lbnQoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJExlZ2FjeVNTUlByb3ZpZGVyLCBwcm9wcyk7XG59XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNhblVzZURPTSA9IEJvb2xlYW4odHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbmxldCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzID0gbmV3IFdlYWtNYXAoKTtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VDb3VudGVyKGlzRGlzYWJsZWQgPSBmYWxzZSkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICBsZXQgcmVmID0gKDAsICQ2NzBnQiR1c2VSZWYpKG51bGwpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlc2Rpci9wdXJlLXJlbmRlclxuICAgIGlmIChyZWYuY3VycmVudCA9PT0gbnVsbCAmJiAhaXNEaXNhYmxlZCkge1xuICAgICAgICB2YXIgX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7XG4gICAgICAgIC8vIEluIHN0cmljdCBtb2RlLCBSZWFjdCByZW5kZXJzIGNvbXBvbmVudHMgdHdpY2UsIGFuZCB0aGUgcmVmIHdpbGwgYmUgcmVzZXQgdG8gbnVsbCBvbiB0aGUgc2Vjb25kIHJlbmRlci5cbiAgICAgICAgLy8gVGhpcyBtZWFucyBvdXIgaWQgY291bnRlciB3aWxsIGJlIGluY3JlbWVudGVkIHR3aWNlIGluc3RlYWQgb2Ygb25jZS4gVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSBvbiB0aGVcbiAgICAgICAgLy8gc2VydmVyLCBjb21wb25lbnRzIGFyZSBvbmx5IHJlbmRlcmVkIG9uY2UgYW5kIHNvIGlkcyBnZW5lcmF0ZWQgb24gdGhlIHNlcnZlciB3b24ndCBtYXRjaCB0aGUgY2xpZW50LlxuICAgICAgICAvLyBJbiBSZWFjdCAxOCwgdXNlSWQgd2FzIGludHJvZHVjZWQgdG8gc29sdmUgdGhpcywgYnV0IGl0IGlzIG5vdCBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMuIFNvIHRvIHNvbHZlIHRoaXNcbiAgICAgICAgLy8gd2UgbmVlZCB0byB1c2Ugc29tZSBSZWFjdCBpbnRlcm5hbHMgdG8gYWNjZXNzIHRoZSB1bmRlcmx5aW5nIEZpYmVyIGluc3RhbmNlLCB3aGljaCBpcyBzdGFibGUgYmV0d2VlbiByZW5kZXJzLlxuICAgICAgICAvLyBUaGlzIGlzIGV4cG9zZWQgYXMgUmVhY3RDdXJyZW50T3duZXIgaW4gZGV2ZWxvcG1lbnQsIHdoaWNoIGlzIGFsbCB3ZSBuZWVkIHNpbmNlIFN0cmljdE1vZGUgb25seSBydW5zIGluIGRldmVsb3BtZW50LlxuICAgICAgICAvLyBUbyBlbnN1cmUgdGhhdCB3ZSBvbmx5IGluY3JlbWVudCB0aGUgZ2xvYmFsIGNvdW50ZXIgb25jZSwgd2Ugc3RvcmUgdGhlIHN0YXJ0aW5nIGlkIGZvciB0aGlzIGNvbXBvbmVudCBpblxuICAgICAgICAvLyBhIHdlYWsgbWFwIGFzc29jaWF0ZWQgd2l0aCB0aGUgRmliZXIuIE9uIHRoZSBzZWNvbmQgcmVuZGVyLCB3ZSByZXNldCB0aGUgZ2xvYmFsIGNvdW50ZXIgdG8gdGhpcyB2YWx1ZS5cbiAgICAgICAgLy8gU2luY2UgUmVhY3QgcnVucyB0aGUgc2Vjb25kIHJlbmRlciBpbW1lZGlhdGVseSBhZnRlciB0aGUgZmlyc3QsIHRoaXMgaXMgc2FmZS5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgY3VycmVudE93bmVyID0gKF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9ICgwLCAkNjcwZ0IkcmVhY3QpLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEKSA9PT0gbnVsbCB8fCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURfUmVhY3RDdXJyZW50T3duZXIgPSBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQuUmVhY3RDdXJyZW50T3duZXIpID09PSBudWxsIHx8IF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRF9SZWFjdEN1cnJlbnRPd25lciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gICAgICAgIGlmIChjdXJyZW50T3duZXIpIHtcbiAgICAgICAgICAgIGxldCBwcmV2Q29tcG9uZW50VmFsdWUgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLmdldChjdXJyZW50T3duZXIpO1xuICAgICAgICAgICAgaWYgKHByZXZDb21wb25lbnRWYWx1ZSA9PSBudWxsKSAvLyBPbiB0aGUgZmlyc3QgcmVuZGVyLCBhbmQgZmlyc3QgY2FsbCB0byB1c2VJZCwgc3RvcmUgdGhlIGlkIGFuZCBzdGF0ZSBpbiBvdXIgd2VhayBtYXAuXG4gICAgICAgICAgICAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY29tcG9uZW50SWRzLnNldChjdXJyZW50T3duZXIsIHtcbiAgICAgICAgICAgICAgICBpZDogY3R4LmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgc3RhdGU6IGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJlbnRPd25lci5tZW1vaXplZFN0YXRlICE9PSBwcmV2Q29tcG9uZW50VmFsdWUuc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBPbiB0aGUgc2Vjb25kIHJlbmRlciwgdGhlIG1lbW9pemVkU3RhdGUgZ2V0cyByZXNldCBieSBSZWFjdC5cbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgY291bnRlciwgYW5kIHJlbW92ZSBmcm9tIHRoZSB3ZWFrIG1hcCBzbyB3ZSBkb24ndFxuICAgICAgICAgICAgICAgIC8vIGRvIHRoaXMgZm9yIHN1YnNlcXVlbnQgdXNlSWQgY2FsbHMuXG4gICAgICAgICAgICAgICAgY3R4LmN1cnJlbnQgPSBwcmV2Q29tcG9uZW50VmFsdWUuaWQ7XG4gICAgICAgICAgICAgICAgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcy5kZWxldGUoY3VycmVudE93bmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICAgICAgcmVmLmN1cnJlbnQgPSArK2N0eC5jdXJyZW50O1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTGVnYWN5U1NSU2FmZUlkKGRlZmF1bHRJZCkge1xuICAgIGxldCBjdHggPSAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0KTtcbiAgICAvLyBJZiB3ZSBhcmUgcmVuZGVyaW5nIGluIGEgbm9uLURPTSBlbnZpcm9ubWVudCwgYW5kIHRoZXJlJ3Mgbm8gU1NSUHJvdmlkZXIsXG4gICAgLy8gcHJvdmlkZSBhIHdhcm5pbmcgdG8gaGludCB0byB0aGUgZGV2ZWxvcGVyIHRvIGFkZCBvbmUuXG4gICAgaWYgKGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmICEkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkY2FuVXNlRE9NKSBjb25zb2xlLndhcm4oJ1doZW4gc2VydmVyIHJlbmRlcmluZywgeW91IG11c3Qgd3JhcCB5b3VyIGFwcGxpY2F0aW9uIGluIGFuIDxTU1JQcm92aWRlcj4gdG8gZW5zdXJlIGNvbnNpc3RlbnQgaWRzIGFyZSBnZW5lcmF0ZWQgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIuJyk7XG4gICAgbGV0IGNvdW50ZXIgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcighIWRlZmF1bHRJZCk7XG4gICAgbGV0IHByZWZpeCA9IGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgPyAncmVhY3QtYXJpYScgOiBgcmVhY3QtYXJpYSR7Y3R4LnByZWZpeH1gO1xuICAgIHJldHVybiBkZWZhdWx0SWQgfHwgYCR7cHJlZml4fS0ke2NvdW50ZXJ9YDtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VNb2Rlcm5TU1JTYWZlSWQoZGVmYXVsdElkKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBpZCA9ICgwLCAkNjcwZ0IkcmVhY3QpLnVzZUlkKCk7XG4gICAgbGV0IFtkaWRTU1JdID0gKDAsICQ2NzBnQiR1c2VTdGF0ZSkoJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDUzNWJkNmNhN2Y5MGEyNzMoKSk7XG4gICAgbGV0IHByZWZpeCA9IGRpZFNTUiB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnID8gJ3JlYWN0LWFyaWEnIDogYHJlYWN0LWFyaWEkeyRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dC5wcmVmaXh9YDtcbiAgICByZXR1cm4gZGVmYXVsdElkIHx8IGAke3ByZWZpeH0tJHtpZH1gO1xufVxuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDYxOTUwMDk1OWZjNDhiMjYgPSB0eXBlb2YgKDAsICQ2NzBnQiRyZWFjdClbJ3VzZUlkJ10gPT09ICdmdW5jdGlvbicgPyAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTW9kZXJuU1NSU2FmZUlkIDogJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUxlZ2FjeVNTUlNhZmVJZDtcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciRnZXRTbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QoKSB7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkc3Vic2NyaWJlKG9uU3RvcmVDaGFuZ2UpIHtcbiAgICAvLyBub29wXG4gICAgcmV0dXJuICgpPT57fTtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczKCkge1xuICAgIC8vIEluIFJlYWN0IDE4LCB3ZSBjYW4gdXNlIHVzZVN5bmNFeHRlcm5hbFN0b3JlIHRvIGRldGVjdCBpZiB3ZSdyZSBzZXJ2ZXIgcmVuZGVyaW5nIG9yIGh5ZHJhdGluZy5cbiAgICBpZiAodHlwZW9mICgwLCAkNjcwZ0IkcmVhY3QpWyd1c2VTeW5jRXh0ZXJuYWxTdG9yZSddID09PSAnZnVuY3Rpb24nKSByZXR1cm4gKDAsICQ2NzBnQiRyZWFjdClbJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJ10oJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHN1YnNjcmliZSwgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGdldFNuYXBzaG90LCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHJldHVybiAoMCwgJDY3MGdCJHVzZUNvbnRleHQpKCRiNWUyNTdkNTY5Njg4YWM2JHZhciRJc1NTUkNvbnRleHQpO1xufVxuXG5cbmV4cG9ydCB7JGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDlmOGFjOTZhZjRiMWIyYWUgYXMgU1NSUHJvdmlkZXIsICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ1MzViZDZjYTdmOTBhMjczIGFzIHVzZUlzU1NSLCAkYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkNjE5NTAwOTU5ZmM0OGIyNiBhcyB1c2VTU1JTYWZlSWR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U1NSUHJvdmlkZXIubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/ssr/dist/SSRProvider.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs":
/*!************************************************************!*\
!*** ./node_modules/@react-aria/utils/dist/domHelpers.mjs ***!
\************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOwnerDocument: function() { return /* binding */ $431fbd86ca7dc216$export$b204af158042fbac; },\n/* harmony export */ getOwnerWindow: function() { return /* binding */ $431fbd86ca7dc216$export$f21a1ffae260145a; }\n/* harmony export */ });\nconst $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\n\n//# sourceMappingURL=domHelpers.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2RvbUhlbHBlcnMubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHb0k7QUFDcEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvZG9tSGVscGVycy5tanM/OTY2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyA9IChlbCk9PntcbiAgICB2YXIgX2VsX293bmVyRG9jdW1lbnQ7XG4gICAgcmV0dXJuIChfZWxfb3duZXJEb2N1bWVudCA9IGVsID09PSBudWxsIHx8IGVsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbC5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfZWxfb3duZXJEb2N1bWVudCAhPT0gdm9pZCAwID8gX2VsX293bmVyRG9jdW1lbnQgOiBkb2N1bWVudDtcbn07XG5jb25zdCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSA9IChlbCk9PntcbiAgICBpZiAoZWwgJiYgJ3dpbmRvdycgaW4gZWwgJiYgZWwud2luZG93ID09PSBlbCkgcmV0dXJuIGVsO1xuICAgIGNvbnN0IGRvYyA9ICQ0MzFmYmQ4NmNhN2RjMjE2JGV4cG9ydCRiMjA0YWYxNTgwNDJmYmFjKGVsKTtcbiAgICByZXR1cm4gZG9jLmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbn07XG5cblxuZXhwb3J0IHskNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyBhcyBnZXRPd25lckRvY3VtZW50LCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YSBhcyBnZXRPd25lcldpbmRvd307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kb21IZWxwZXJzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/domHelpers.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs":
/*!****************************************************************!*\
!*** ./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isVirtualClick: function() { return /* binding */ $6a7db85432448f7f$export$60278871457622de; },\n/* harmony export */ isVirtualPointerEvent: function() { return /* binding */ $6a7db85432448f7f$export$29bf1b5f2c56cf63; }\n/* harmony export */ });\n/* harmony import */ var _platform_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\");\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, _platform_mjs__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\n\n//# sourceMappingURL=isVirtualEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2lzVmlydHVhbEV2ZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0Y7O0FBRXRGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLG9EQUF5QztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isb0RBQXlDO0FBQ3pEOzs7QUFHeUk7QUFDekkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvaXNWaXJ0dWFsRXZlbnQubWpzPzYwOTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FuZHJvaWQgYXMgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzh9IGZyb20gXCIuL3BsYXRmb3JtLm1qc1wiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkNjAyNzg4NzE0NTc2MjJkZShldmVudCkge1xuICAgIC8vIEpBV1MvTlZEQSB3aXRoIEZpcmVmb3guXG4gICAgaWYgKGV2ZW50Lm1veklucHV0U291cmNlID09PSAwICYmIGV2ZW50LmlzVHJ1c3RlZCkgcmV0dXJuIHRydWU7XG4gICAgLy8gQW5kcm9pZCBUYWxrQmFjaydzIGRldGFpbCB2YWx1ZSB2YXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBldmVudCBsaXN0ZW5lciBwcm92aWRpbmcgdGhlIGV2ZW50IHNvIHdlIGhhdmUgc3BlY2lmaWMgbG9naWMgaGVyZSBpbnN0ZWFkXG4gICAgLy8gSWYgcG9pbnRlclR5cGUgaXMgZGVmaW5lZCwgZXZlbnQgaXMgZnJvbSBhIGNsaWNrIGxpc3RlbmVyLiBGb3IgZXZlbnRzIGZyb20gbW91c2Vkb3duIGxpc3RlbmVyLCBkZXRhaWwgPT09IDAgaXMgYSBzdWZmaWNpZW50IGNoZWNrXG4gICAgLy8gdG8gZGV0ZWN0IFRhbGtCYWNrIHZpcnR1YWwgY2xpY2tzLlxuICAgIGlmICgoMCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzgpKCkgJiYgZXZlbnQucG9pbnRlclR5cGUpIHJldHVybiBldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmJ1dHRvbnMgPT09IDE7XG4gICAgcmV0dXJuIGV2ZW50LmRldGFpbCA9PT0gMCAmJiAhZXZlbnQucG9pbnRlclR5cGU7XG59XG5mdW5jdGlvbiAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyhldmVudCkge1xuICAgIC8vIElmIHRoZSBwb2ludGVyIHNpemUgaXMgemVybywgdGhlbiB3ZSBhc3N1bWUgaXQncyBmcm9tIGEgc2NyZWVuIHJlYWRlci5cbiAgICAvLyBBbmRyb2lkIFRhbGtCYWNrIGRvdWJsZSB0YXAgd2lsbCBzb21ldGltZXMgcmV0dXJuIGEgZXZlbnQgd2l0aCB3aWR0aCBhbmQgaGVpZ2h0IG9mIDFcbiAgICAvLyBhbmQgcG9pbnRlclR5cGUgPT09ICdtb3VzZScgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgYSBzcGVjaWZpYyBjb21iaW5hdGlvbiBvZiBldmVudCBhdHRyaWJ1dGVzLlxuICAgIC8vIENhbm5vdCB1c2UgXCJldmVudC5wcmVzc3VyZSA9PT0gMFwiIGFzIHRoZSBzb2xlIGNoZWNrIGR1ZSB0byBTYWZhcmkgcG9pbnRlciBldmVudHMgYWx3YXlzIHJldHVybmluZyBwcmVzc3VyZSA9PT0gMFxuICAgIC8vIGluc3RlYWQgb2YgLjUsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjE2LiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyBpcyB0byBkaXN0aW5ndXNoXG4gICAgLy8gVGFsa2JhY2sgZG91YmxlIHRhcCBmcm9tIFdpbmRvd3MgRmlyZWZveCB0b3VjaCBzY3JlZW4gcHJlc3NcbiAgICByZXR1cm4gISgwLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYTExYjAwNTk5MDBjZWVjOCkoKSAmJiBldmVudC53aWR0aCA9PT0gMCAmJiBldmVudC5oZWlnaHQgPT09IDAgfHwgZXZlbnQud2lkdGggPT09IDEgJiYgZXZlbnQuaGVpZ2h0ID09PSAxICYmIGV2ZW50LnByZXNzdXJlID09PSAwICYmIGV2ZW50LmRldGFpbCA9PT0gMCAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJztcbn1cblxuXG5leHBvcnQgeyQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQ2MDI3ODg3MTQ1NzYyMmRlIGFzIGlzVmlydHVhbENsaWNrLCAkNmE3ZGI4NTQzMjQ0OGY3ZiRleHBvcnQkMjliZjFiNWYyYzU2Y2Y2MyBhcyBpc1ZpcnR1YWxQb2ludGVyRXZlbnR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNWaXJ0dWFsRXZlbnQubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs":
/*!**********************************************************!*\
!*** ./node_modules/@react-aria/utils/dist/platform.mjs ***!
\**********************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAndroid: function() { return /* binding */ $c87311424ea30a05$export$a11b0059900ceec8; },\n/* harmony export */ isAppleDevice: function() { return /* binding */ $c87311424ea30a05$export$e1865c3bedcd822b; },\n/* harmony export */ isChrome: function() { return /* binding */ $c87311424ea30a05$export$6446a186d09e379e; },\n/* harmony export */ isFirefox: function() { return /* binding */ $c87311424ea30a05$export$b7d78993b74f766d; },\n/* harmony export */ isIOS: function() { return /* binding */ $c87311424ea30a05$export$fedb369cb70207f1; },\n/* harmony export */ isIPad: function() { return /* binding */ $c87311424ea30a05$export$7bef049ce92e4224; },\n/* harmony export */ isIPhone: function() { return /* binding */ $c87311424ea30a05$export$186c6964ca17d99; },\n/* harmony export */ isMac: function() { return /* binding */ $c87311424ea30a05$export$9ac100e40613ea10; },\n/* harmony export */ isWebKit: function() { return /* binding */ $c87311424ea30a05$export$78551043582a6a98; }\n/* harmony export */ });\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$var$cached(fn) {\n let res = null;\n return ()=>{\n if (res == null) res = fn();\n return res;\n };\n}\nconst $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n});\nconst $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n});\nconst $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n});\nconst $c87311424ea30a05$export$e1865c3bedcd822b = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n});\nconst $c87311424ea30a05$export$78551043582a6a98 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n});\nconst $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n});\nconst $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n});\nconst $c87311424ea30a05$export$b7d78993b74f766d = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n});\n\n\n\n//# sourceMappingURL=platform.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3BsYXRmb3JtLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7OztBQUdvZjtBQUNyZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9wbGF0Zm9ybS5tanM/ZjE4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RVc2VyQWdlbnQocmUpIHtcbiAgICB2YXIgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHwgd2luZG93Lm5hdmlnYXRvciA9PSBudWxsKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICgoX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YSA9IHdpbmRvdy5uYXZpZ2F0b3JbJ3VzZXJBZ2VudERhdGEnXSkgPT09IG51bGwgfHwgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YS5icmFuZHMuc29tZSgoYnJhbmQpPT5yZS50ZXN0KGJyYW5kLmJyYW5kKSkpIHx8IHJlLnRlc3Qod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybShyZSkge1xuICAgIHZhciBfd2luZG93X25hdmlnYXRvcl91c2VyQWdlbnREYXRhO1xuICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cubmF2aWdhdG9yICE9IG51bGwgPyByZS50ZXN0KCgoX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YSA9IHdpbmRvdy5uYXZpZ2F0b3JbJ3VzZXJBZ2VudERhdGEnXSkgPT09IG51bGwgfHwgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YS5wbGF0Zm9ybSkgfHwgd2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSkgOiBmYWxzZTtcbn1cbmZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciRjYWNoZWQoZm4pIHtcbiAgICBsZXQgcmVzID0gbnVsbDtcbiAgICByZXR1cm4gKCk9PntcbiAgICAgICAgaWYgKHJlcyA9PSBudWxsKSByZXMgPSBmbigpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH07XG59XG5jb25zdCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCA9ICRjODczMTE0MjRlYTMwYTA1JHZhciRjYWNoZWQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0oL15NYWMvaSk7XG59KTtcbmNvbnN0ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkgPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFBsYXRmb3JtKC9eaVBob25lL2kpO1xufSk7XG5jb25zdCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkN2JlZjA0OWNlOTJlNDIyNCA9ICRjODczMTE0MjRlYTMwYTA1JHZhciRjYWNoZWQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0UGxhdGZvcm0oL15pUGFkL2kpIHx8IC8vIGlQYWRPUyAxMyBsaWVzIGFuZCBzYXlzIGl0J3MgYSBNYWMsIGJ1dCB3ZSBjYW4gZGlzdGluZ3Vpc2ggYnkgZGV0ZWN0aW5nIHRvdWNoIHN1cHBvcnQuXG4gICAgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAoKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxO1xufSk7XG5jb25zdCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZmVkYjM2OWNiNzAyMDdmMSA9ICRjODczMTE0MjRlYTMwYTA1JHZhciRjYWNoZWQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkoKSB8fCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkN2JlZjA0OWNlOTJlNDIyNCgpO1xufSk7XG5jb25zdCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZTE4NjVjM2JlZGNkODIyYiA9ICRjODczMTE0MjRlYTMwYTA1JHZhciRjYWNoZWQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ5YWMxMDBlNDA2MTNlYTEwKCkgfHwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGZlZGIzNjljYjcwMjA3ZjEoKTtcbn0pO1xuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDc4NTUxMDQzNTgyYTZhOTggPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFVzZXJBZ2VudCgvQXBwbGVXZWJLaXQvaSkgJiYgISRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ2NDQ2YTE4NmQwOWUzNzllKCk7XG59KTtcbmNvbnN0ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ2NDQ2YTE4NmQwOWUzNzllID0gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJGNhY2hlZChmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RVc2VyQWdlbnQoL0Nocm9tZS9pKTtcbn0pO1xuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzggPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFVzZXJBZ2VudCgvQW5kcm9pZC9pKTtcbn0pO1xuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGI3ZDc4OTkzYjc0Zjc2NmQgPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFVzZXJBZ2VudCgvRmlyZWZveC9pKTtcbn0pO1xuXG5cbmV4cG9ydCB7JGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAgYXMgaXNNYWMsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQxODZjNjk2NGNhMTdkOTkgYXMgaXNJUGhvbmUsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3YmVmMDQ5Y2U5MmU0MjI0IGFzIGlzSVBhZCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGZlZGIzNjljYjcwMjA3ZjEgYXMgaXNJT1MsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRlMTg2NWMzYmVkY2Q4MjJiIGFzIGlzQXBwbGVEZXZpY2UsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3ODU1MTA0MzU4MmE2YTk4IGFzIGlzV2ViS2l0LCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNjQ0NmExODZkMDllMzc5ZSBhcyBpc0Nocm9tZSwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGExMWIwMDU5OTAwY2VlYzggYXMgaXNBbmRyb2lkLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYjdkNzg5OTNiNzRmNzY2ZCBhcyBpc0ZpcmVmb3h9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGxhdGZvcm0ubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/platform.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs":
/*!****************************************************************!*\
!*** ./node_modules/@react-aria/utils/dist/useEffectEvent.mjs ***!
\****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useEffectEvent: function() { return /* binding */ $8ae05eaa5c114e9c$export$7f54fc3180508a52; }\n/* harmony export */ });\n/* harmony import */ var _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useLayoutEffect.mjs */ \"(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0, _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\n\n//# sourceMappingURL=useEffectEvent.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBbUc7QUFDbEI7O0FBRWpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IseUNBQWE7QUFDakMsUUFBUSxpRUFBeUM7QUFDakQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSw4Q0FBa0I7QUFDakM7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR3FFO0FBQ3JFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcz9lZTlmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0IGFzICRmMGEwNGNjZDhkYmRkODNiJGV4cG9ydCRlNWM1YTVmOTE3YTU4NzFjfSBmcm9tIFwiLi91c2VMYXlvdXRFZmZlY3QubWpzXCI7XG5pbXBvcnQge3VzZVJlZiBhcyAkbG1hWXIkdXNlUmVmLCB1c2VDYWxsYmFjayBhcyAkbG1hWXIkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjMgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5cbmZ1bmN0aW9uICQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyKGZuKSB7XG4gICAgY29uc3QgcmVmID0gKDAsICRsbWFZciR1c2VSZWYpKG51bGwpO1xuICAgICgwLCAkZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYykoKCk9PntcbiAgICAgICAgcmVmLmN1cnJlbnQgPSBmbjtcbiAgICB9LCBbXG4gICAgICAgIGZuXG4gICAgXSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoMCwgJGxtYVlyJHVzZUNhbGxiYWNrKSgoLi4uYXJncyk9PntcbiAgICAgICAgY29uc3QgZiA9IHJlZi5jdXJyZW50O1xuICAgICAgICByZXR1cm4gZiA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmKC4uLmFyZ3MpO1xuICAgIH0sIFtdKTtcbn1cblxuXG5leHBvcnQgeyQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyIGFzIHVzZUVmZmVjdEV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUVmZmVjdEV2ZW50Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs":
/*!*****************************************************************!*\
!*** ./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs ***!
\*****************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLayoutEffect: function() { return /* binding */ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, react__WEBPACK_IMPORTED_MODULE_0__).useLayoutEffect : ()=>{};\n\n\n\n//# sourceMappingURL=useLayoutEffect.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUxheW91dEVmZmVjdC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RkFBd0Ysa0NBQVk7OztBQUc5QjtBQUN0RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VMYXlvdXRFZmZlY3QubWpzPzdmMDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICRIZ0FOZCRyZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuY29uc3QgJGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gKDAsICRIZ0FOZCRyZWFjdCkudXNlTGF5b3V0RWZmZWN0IDogKCk9Pnt9O1xuXG5cbmV4cG9ydCB7JGYwYTA0Y2NkOGRiZGQ4M2IkZXhwb3J0JGU1YzVhNWY5MTdhNTg3MWMgYXMgdXNlTGF5b3V0RWZmZWN0fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUxheW91dEVmZmVjdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs":
/*!*****************************************!*\
!*** ./node_modules/clsx/dist/clsx.mjs ***!
\*****************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: function() { return /* binding */ clsx; }\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ __webpack_exports__[\"default\"] = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGNBQWMsYUFBYSwrQ0FBK0MsZ0RBQWdELGVBQWUsUUFBUSxJQUFJLDBDQUEwQyx5Q0FBeUMsU0FBZ0IsZ0JBQWdCLHdDQUF3QyxJQUFJLG1EQUFtRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcz82NmM0Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoZSl7dmFyIHQsZixuPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKW4rPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKGY9cihlW3RdKSkmJihuJiYobis9XCIgXCIpLG4rPWYpfWVsc2UgZm9yKGYgaW4gZSllW2ZdJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtyZXR1cm4gbn1leHBvcnQgZnVuY3Rpb24gY2xzeCgpe2Zvcih2YXIgZSx0LGY9MCxuPVwiXCIsbz1hcmd1bWVudHMubGVuZ3RoO2Y8bztmKyspKGU9YXJndW1lbnRzW2ZdKSYmKHQ9cihlKSkmJihuJiYobis9XCIgXCIpLG4rPXQpO3JldHVybiBufWV4cG9ydCBkZWZhdWx0IGNsc3g7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2F%40headlessui%2Freact%2Fdist%2Fcomponents%2Ftabs%2Ftabs.js%22%2C%22ids%22%3A%5B%22*%22%2C%22TabGroup%22%2C%22TabList%22%2C%22TabPanel%22%2C%22TabPanels%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fimage-component.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FCarousel.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FHeader.jsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRoute.jsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FSecondaryFeatures.jsx%22%2C%22ids%22%3A%5B%22SecondaryFeatures%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact1.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact2.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fact3.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-1.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-3.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Favatars%2Favatar-5.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action2.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-call-to-action4.png%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fbackground-faqs.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda1.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda2.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda3.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fdahabiyas%2Fveda4.jpg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F1.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F3.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F4.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F5.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2F6.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flaravel.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Flogo_name.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fmirage.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatamic.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fstatickit.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftransistor.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Ftuple.svg%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Flogos%2Fveda.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures0.png%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fimages%2Fnewfeatures3.png%22%2C%22ids%22%3A%5B%5D%7D&server=false!"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);