forked from veda/www_veda_2025
		
	
		
			
				
	
	
		
			1555 lines
		
	
	
		
			2.4 MiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1555 lines
		
	
	
		
			2.4 MiB
		
	
	
	
	
	
	
	
/*
 | 
						||
 * ATTENTION: An "eval-source-map" devtool has been used.
 | 
						||
 * This devtool is neither made for production nor for readable output files.
 | 
						||
 * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
 | 
						||
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 | 
						||
 * or disable the default devtool with "devtool: false".
 | 
						||
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 | 
						||
 */
 | 
						||
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/experiences/page"],{
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2F.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2FCommunity.jsx%22%2C%22ids%22%3A%5B%22Community%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FEvents.jsx%22%2C%22ids%22%3A%5B%22Events%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%2FNomads.jsx%22%2C%22ids%22%3A%5B%22Nomads%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRetreats.jsx%22%2C%22ids%22%3A%5B%22Retreats%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%2Flogos%2Fveda_logo2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!":
 | 
						||
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2F.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2FCommunity.jsx%22%2C%22ids%22%3A%5B%22Community%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FEvents.jsx%22%2C%22ids%22%3A%5B%22Events%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%2FNomads.jsx%22%2C%22ids%22%3A%5B%22Nomads%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRetreats.jsx%22%2C%22ids%22%3A%5B%22Retreats%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%2Flogos%2Fveda_logo2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false! ***!
 | 
						||
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
 | 
						||
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
 | 
						||
 | 
						||
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/image-component.js */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/image-component.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/link.js */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Community.jsx */ \"(app-pages-browser)/./src/components/Community.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Events.jsx */ \"(app-pages-browser)/./src/components/Events.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/Nomads.jsx */ \"(app-pages-browser)/./src/components/Nomads.jsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Retreats.jsx */ \"(app-pages-browser)/./src/components/Retreats.jsx\"));\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/logos/veda_logo2.svg */ \"(app-pages-browser)/./src/images/logos/veda_logo2.svg\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1mbGlnaHQtY2xpZW50LWVudHJ5LWxvYWRlci5qcz9tb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGbm9kZV9tb2R1bGVzJTJGLnBucG0lMkZuZXh0JTQwMTQuMi4zMV8lNDBiYWJlbCUyQmNvcmUlNDA3LjEyLjNfcmVhY3QtZG9tJTQwMTguMy4xX3JlYWN0JTQwMTguMy4xX19yZWFjdCU0MDE4LjMuMSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGaW1hZ2UtY29tcG9uZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZub2RlX21vZHVsZXMlMkYucG5wbSUyRm5leHQlNDAxNC4yLjMxXyU0MGJhYmVsJTJCY29yZSU0MDcuMTIuM19yZWFjdC1kb20lNDAxOC4zLjFfcmVhY3QlNDAxOC4zLjFfX3JlYWN0JTQwMTguMy4xJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGY29tcG9uZW50cyUyRkNvbW11bml0eS5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJDb21tdW5pdHklMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmNvbXBvbmVudHMlMkZFdmVudHMuanN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyRXZlbnRzJTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2FzaGFhc3RpYWRpJTJGY29kZSUyRmdpdC5vdXJ3b3JsZC50ZiUyRnd3d192ZWRhXzIwMjUlMkZzcmMlMkZjb21wb25lbnRzJTJGSGVhZGVyLmpzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkhlYWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGY29tcG9uZW50cyUyRk5vbWFkcy5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJOb21hZHMlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzYXNoYWFzdGlhZGklMkZjb2RlJTJGZ2l0Lm91cndvcmxkLnRmJTJGd3d3X3ZlZGFfMjAyNSUyRnNyYyUyRmNvbXBvbmVudHMlMkZSZXRyZWF0cy5qc3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJSZXRyZWF0cyUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbjQucG5nJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNhc2hhYXN0aWFkaSUyRmNvZGUlMkZnaXQub3Vyd29ybGQudGYlMkZ3d3dfdmVkYV8yMDI1JTJGc3JjJTJGaW1hZ2VzJTJGbG9nb3MlMkZ2ZWRhX2xvZ28yLnN2ZyUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMiolMjIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxrYUFBMk87QUFDM087QUFDQSw0WUFBZ087QUFDaE87QUFDQSxzTEFBdUo7QUFDdko7QUFDQSxnTEFBaUo7QUFDako7QUFDQSxnTEFBaUo7QUFDako7QUFDQSxnTEFBaUo7QUFDako7QUFDQSxvTEFBcUo7QUFDcko7QUFDQSxnTkFBcUk7QUFDckk7QUFDQSw0TEFBMkgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz9hYjg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTQuMi4zMV9AYmFiZWwrY29yZUA3LjEyLjNfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJDb21tdW5pdHlcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2NvbXBvbmVudHMvQ29tbXVuaXR5LmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiRXZlbnRzXCJdICovIFwiL1VzZXJzL3Nhc2hhYXN0aWFkaS9jb2RlL2dpdC5vdXJ3b3JsZC50Zi93d3dfdmVkYV8yMDI1L3NyYy9jb21wb25lbnRzL0V2ZW50cy5qc3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJOb21hZHNcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2NvbXBvbmVudHMvTm9tYWRzLmpzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiUmV0cmVhdHNcIl0gKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2NvbXBvbmVudHMvUmV0cmVhdHMuanN4XCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2FzaGFhc3RpYWRpL2NvZGUvZ2l0Lm91cndvcmxkLnRmL3d3d192ZWRhXzIwMjUvc3JjL2ltYWdlcy9iYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uNC5wbmdcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zYXNoYWFzdGlhZGkvY29kZS9naXQub3Vyd29ybGQudGYvd3d3X3ZlZGFfMjAyNS9zcmMvaW1hZ2VzL2xvZ29zL3ZlZGFfbG9nbzIuc3ZnXCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2F.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2FCommunity.jsx%22%2C%22ids%22%3A%5B%22Community%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FEvents.jsx%22%2C%22ids%22%3A%5B%22Events%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%2FNomads.jsx%22%2C%22ids%22%3A%5B%22Nomads%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRetreats.jsx%22%2C%22ids%22%3A%5B%22Retreats%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%2Flogos%2Fveda_logo2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/api/link.js":
 | 
						||
/*!*******************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9hcGkvbGluay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBeUM7QUFDVjs7QUFFL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTQuMi4zMV9AYmFiZWwrY29yZUA3LjEyLjNfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzPzM1OTAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuLi9jbGllbnQvbGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpbmsuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/api/link.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/picomatch/index.js":
 | 
						||
/*!***********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/process@0.11.10/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNLGFBQWEsT0FBTyxjQUFjLGVBQWUscUJBQXFCLHVEQUF1RCx5Q0FBeUMsa0NBQWtDLFVBQVUsT0FBTyxnQkFBZ0IsT0FBTyxXQUFXLE9BQU8sT0FBTyxvQkFBb0IsY0FBYyxnQ0FBZ0MsaURBQWlELEdBQUcsMEJBQTBCLGdCQUFnQiwyQkFBMkIsb0JBQW9CLFNBQVMsZ0JBQWdCLGFBQWEsRUFBRSxHQUFHLGNBQWMsY0FBYyxjQUFjLGNBQWMsZ0JBQWdCLGVBQWUsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsR0FBRyxXQUFXLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxjQUFjLEVBQUUsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLElBQUksRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsV0FBVyxFQUFFLElBQUksWUFBWSxTQUFTLHdNQUF3TSxTQUFTLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixHQUFHLElBQUksTUFBTSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsR0FBRyxJQUFJLE1BQU0sRUFBRSwyQkFBMkIsR0FBRyxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsU0FBUyx5TEFBeUwsYUFBYSxFQUFFLDhFQUE4RSxXQUFXLHNFQUFzRSxxREFBcUQseUNBQXlDLGdHQUFnRyw0RUFBNEUsdUNBQXVDLG0zQkFBbTNCLE9B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d2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNC4yLjMxX0BiYWJlbCtjb3JlQDcuMTIuM19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzPzI3ZWIiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ezE3MDoodCxlLHUpPT57Y29uc3Qgbj11KDUxMCk7Y29uc3QgaXNXaW5kb3dzPSgpPT57aWYodHlwZW9mIG5hdmlnYXRvciE9PVwidW5kZWZpbmVkXCImJm5hdmlnYXRvci5wbGF0Zm9ybSl7Y29uc3QgdD1uYXZpZ2F0b3IucGxhdGZvcm0udG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PVwid2luMzJcInx8dD09PVwid2luZG93c1wifWlmKHR5cGVvZiBwcm9jZXNzIT09XCJ1bmRlZmluZWRcIiYmcHJvY2Vzcy5wbGF0Zm9ybSl7cmV0dXJuIHByb2Nlc3MucGxhdGZvcm09PT1cIndpbjMyXCJ9cmV0dXJuIGZhbHNlfTtmdW5jdGlvbiBwaWNvbWF0Y2godCxlLHU9ZmFsc2Upe2lmKGUmJihlLndpbmRvd3M9PT1udWxsfHxlLndpbmRvd3M9PT11bmRlZmluZWQpKXtlPXsuLi5lLHdpbmRvd3M6aXNXaW5kb3dzKCl9fXJldHVybiBuKHQsZSx1KX1PYmplY3QuYXNzaWduKHBpY29tYXRjaCxuKTt0LmV4cG9ydHM9cGljb21hdGNofSwxNTQ6dD0+e2NvbnN0IGU9XCJcXFxcXFxcXC9cIjtjb25zdCB1PWBbXiR7ZX1dYDtjb25zdCBuPVwiXFxcXC5cIjtjb25zdCBvPVwiXFxcXCtcIjtjb25zdCBzPVwiXFxcXD9cIjtjb25zdCByPVwiXFxcXC9cIjtjb25zdCBhPVwiKD89LilcIjtjb25zdCBpPVwiW14vXVwiO2NvbnN0IGM9YCg/OiR7cn18JClgO2NvbnN0IHA9YCg/Ol58JHtyfSlgO2NvbnN0IGw9YCR7bn17MSwyfSR7Y31gO2NvbnN0IGY9YCg/ISR7bn0pYDtjb25zdCBBPWAoPyEke3B9JHtsfSlgO2NvbnN0IF89YCg/ISR7bn17MCwxfSR7Y30pYDtjb25zdCBSPWAoPyEke2x9KWA7Y29uc3QgRT1gW14uJHtyfV1gO2NvbnN0IGg9YCR7aX0qP2A7Y29uc3QgZz1cIi9cIjtjb25zdCBiPXtET1RfTElURVJBTDpuLFBMVVNfTElURVJBTDpvLFFNQVJLX0xJVEVSQUw6cyxTTEFTSF9MSVRFUkFMOnIsT05FX0NIQVI6YSxRTUFSSzppLEVORF9BTkNIT1I6YyxET1RTX1NMQVNIOmwsTk9fRE9UOmYsTk9fRE9UUzpBLE5PX0RPVF9TTEFTSDpfLE5PX0RPVFNfU0xBU0g6UixRTUFSS19OT19ET1Q6RSxTVEFSOmgsU1RBUlRfQU5DSE9SOnAsU0VQOmd9O2NvbnN0IEM9ey4uLmIsU0xBU0hfTElURVJBTDpgWyR7ZX1dYCxRTUFSSzp1LFNUQVI6YCR7dX0qP2AsRE9UU19TTEFTSDpgJHtufXsxLDJ9KD86WyR7ZX1dfCQpYCxOT19ET1Q6YCg/ISR7bn0pYCxOT19ET1RTOmAoPyEoPzpefFske2V9XSkke259ezEsMn0oPzpbJHtlfV18JCkpYCxOT19ET1RfU0xBU0g6YCg/ISR7bn17MCwxfSg/Olske2V9XXwkKSlgLE5PX0RPVFNfU0xBU0g6YCg/ISR7bn17MSwyfSg/Olske2V9XXwkKSlgLFFNQVJLX05PX0RPVDpgW14uJHtlfV1gLFNUQVJUX0FOQ0hPUjpgKD86XnxbJHtlfV0pYCxFTkRfQU5DSE9SOmAoPzpbJHtlfV18JClgLFNFUDpcIlxcXFxcIn07Y29uc3QgeT17YWxudW06XCJhLXpBLVowLTlcIixhbHBoYTpcImEtekEtWlwiLGFzY2lpOlwiXFxcXHgwMC1cXFxceDdGXCIsYmxhbms6XCIgXFxcXHRcIixjbnRybDpcIlxcXFx4MDAtXFxcXHgxRlxcXFx4N0ZcIixkaWdpdDpcIjAtOVwiLGdyYXBoOlwiXFxcXHgyMS1cXFxceDdFXCIsbG93ZXI6XCJhLXpcIixwcmludDpcIlxcXFx4MjAtXFxcXHg3RSBcIixwdW5jdDpcIlxcXFwtIVxcXCIjJCUmJygpXFxcXCorLC4vOjs8PT4/QFtcXFxcXV5fYHt8fX5cIixzcGFjZTpcIiBcXFxcdFxcXFxyXFxcXG5cXFxcdlxcXFxmXCIsdXBwZXI6XCJBLVpcIix3b3JkOlwiQS1aYS16MC05X1wiLHhkaWdpdDpcIkEtRmEtZjAtOVwifTt0LmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6eSxSRUdFWF9CQUNLU0xBU0g6L1xcXFwoPyFbKis/XiR7fSh8KVtcXF1dKS9nLFJFR0VYX05PTl9TUEVDSUFMX0NIQVJTOi9eW15AIVtcXF0uLCQqKz9ee30oKXxcXFxcL10rLyxSRUdFWF9TUEVDSUFMX0NIQVJTOi9bLSorPy5eJHt9KHwpW1xcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcXFw/KSgoXFxXKShcXDMqKSkvZyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDovKFstKis/Ll4ke30ofClbXFxdXSkvZyxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOi8oPzpcXFsuKj9bXlxcXFxdXFxdfFxcXFwoPz0uKSkvZyxSRVBMQUNFTUVOVFM6e1wiKioqXCI6XCIqXCIsXCIqKi8qKlwiOlwiKipcIixcIioqLyoqLyoqXCI6XCIqKlwifSxDSEFSXzA6NDgsQ0hBUl85OjU3LENIQVJfVVBQRVJDQVNFX0E6NjUsQ0hBUl9MT1dFUkNBU0VfQTo5NyxDSEFSX1VQUEVSQ0FTRV9aOjkwLENIQVJfTE9XRVJDQVNFX1o6MTIyLENIQVJfTEVGVF9QQVJFTlRIRVNFUzo0MCxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOjQxLENIQVJfQVNURVJJU0s6NDIsQ0hBUl9BTVBFUlNBTkQ6MzgsQ0hBUl9BVDo2NCxDSEFSX0JBQ0tXQVJEX1NMQVNIOjkyLENIQVJfQ0FSUklBR0VfUkVUVVJOOjEzLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6OTQsQ0hBUl9DT0xPTjo1OCxDSEFSX0NPTU1BOjQ0LENIQVJfRE9UOjQ2LENIQVJfRE9VQkxFX1FVT1RFOjM0LENIQVJfRVFVQUw6NjEsQ0hBUl9FWENMQU1BVElPTl9NQVJLOjMzLENIQVJfRk9STV9GRUVEOjEyLENIQVJfRk9SV0FSRF9TTEFTSDo0NyxDSEFSX0dSQVZFX0FDQ0VOVDo5NixDSEFSX0hBU0g6MzUsQ0hBUl9IWVBIRU5fTUlOVVM6NDUsQ0hBUl9MRUZUX0FOR0xFX0JSQUNLRVQ6NjAsQ0hBUl9MRUZUX0NVUkxZX0JSQUNFOjEyMyxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6OTEsQ0hBUl9MSU5FX0ZFRUQ6MTAsQ0hBUl9OT19CUkVBS19TUEFDRToxNjAsQ0hBUl9QRVJDRU5UOjM3LENIQVJfUExVUzo0MyxDSEFSX1FVRVNUSU9OX01BUks6NjMsQ0hBUl9SSUdIVF9BTkdMRV9CUkFDS0VUOjYyLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6MTI1LENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6OTMsQ0hBUl9TRU1JQ09MT046NTksQ0hBUl9TSU5HTEVfUVVPVEU6MzksQ0hBUl9TUEFDRTozMixDSEFSX1RBQjo5LENIQVJfVU5ERVJTQ09SRTo5NSxDSEFSX1ZFUlRJQ0FMX0xJTkU6MTI0LENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOjY1Mjc5LGV4dGdsb2JDaGFycyh0KXtyZXR1cm57XCIhXCI6e3R5cGU6XCJuZWdhdGVcIixvcGVuOlwiKD86KD8hKD86XCIsY2xvc2U6YCkpJHt0LlNUQVJ9KWB9LFwiP1wiOnt0eXBlOlwicW1hcmtcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpP1wifSxcIitcIjp7dHlwZTpcInBsdXNcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpK1wifSxcIipcIjp7dHlwZTpcInN0YXJcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpKlwifSxcIkBcIjp7dHlwZTpcImF0XCIsb3BlbjpcIig/OlwiLGNsb3NlOlwiKVwifX19LGdsb2JDaGFycyh0KXtyZXR1cm4gdD09PXRydWU/QzpifX19LDY5NzoodCxlLHUpPT57Y29uc3Qgbj11KDE1NCk7Y29uc3Qgbz11KDk2KTtjb25zdHtNQVhfTEVOR1RIOnMsUE9TSVhfUkVHRVhfU09VUkNFOnIsUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6YSxSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUY6aSxSRVBMQUNFTUVOVFM6Y309bjtjb25zdCBleHBhbmRSYW5nZT0odCxlKT0+e2lmKHR5cGVvZiBlLmV4cGFuZFJhbmdlPT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZS5leHBhbmRSYW5nZSguLi50LGUpfXQuc29ydCgpO2NvbnN0IHU9YFske3Quam9pbihcIi1cIil9XWA7dHJ5e25ldyBSZWdFeHAodSl9Y2F0Y2goZSl7cmV0dXJuIHQubWFwKCh0PT5vLmVzY2FwZVJlZ2V4KHQpKSkuam9pbihcIi4uXCIpfXJldHVybiB1fTtjb25zdCBzeW50YXhFcnJvcj0odCxlKT0+YE1pc3NpbmcgJHt0fTogXCIke2V9XCIgLSB1c2UgXCJcXFxcXFxcXCR7ZX1cIiB0byBtYXRjaCBsaXRlcmFsIGNoYXJhY3RlcnNgO2NvbnN0IHBhcnNlPSh0LGUpPT57aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIil9dD1jW3RdfHx0O2NvbnN0IHU9ey4uLmV9O2NvbnN0IHA9dHlwZW9mIHUubWF4TGVuZ3RoPT09XCJudW1iZXJcIj9NYXRoLm1pbihzLHUubWF4TGVuZ3RoKTpzO2xldCBsPXQubGVuZ3RoO2lmKGw+cCl7dGhyb3cgbmV3IFN5bnRheEVycm9yKGBJbnB1dCBsZW5ndGg6ICR7bH0sIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIGxlbmd0aDogJHtwfWApfWNvbnN0IGY9e3R5cGU6XCJib3NcIix2YWx1ZTpcIlwiLG91dHB1dDp1LnByZXBlbmR8fFwiXCJ9O2NvbnN0IEE9W2ZdO2NvbnN0IF89dS5jYXB0dXJlP1wiXCI6XCI/OlwiO2NvbnN0IFI9bi5nbG9iQ2hhcnModS53aW5kb3dzKTtjb25zdCBFPW4uZXh0Z2xvYkNoYXJzKFIpO2NvbnN0e0RPVF9MSVRFUkFMOmgsUExVU19MSVRFUkFMOmcsU0xBU0hfTElURVJBTDpiLE9ORV9DSEFSOkMsRE9UU19TTEFTSDp5LE5PX0RPVDokLE5PX0RPVF9TTEFTSDp4LE5PX0RPVFNfU0xBU0g6UyxRTUFSSzpILFFNQVJLX05PX0RPVDp2LFNUQVI6ZCxTVEFSVF9BTkNIT1I6TH09Ujtjb25zdCBnbG9ic3Rhcj10PT5gKCR7X30oPzooPyEke0x9JHt0LmRvdD95Omh9KS4pKj8pYDtjb25zdCBUPXUuZG90P1wiXCI6JDtjb25zdCBPPXUuZG90P0g6djtsZXQgaz11LmJhc2g9PT10cnVlP2dsb2JzdGFyKHUpOmQ7aWYodS5jYXB0dXJlKXtrPWAoJHtrfSlgfWlmKHR5cGVvZiB1Lm5vZXh0PT09XCJib29sZWFuXCIpe3Uubm9leHRnbG9iPXUubm9leHR9Y29uc3QgbT17aW5wdXQ6dCxpbmRleDotMSxzdGFydDowLGRvdDp1LmRvdD09PXRydWUsY29uc3VtZWQ6XCJcIixvdXRwdXQ6XCJcIixwcmVmaXg6XCJcIixiYWNrdHJhY2s6ZmFsc2UsbmVnYXRlZDpmYWxzZSxicmFja2V0czowLGJyYWNlczowLHBhcmVuczowLHF1b3RlczowLGdsb2JzdGFyOmZhbHNlLHRva2VuczpBfTt0PW8ucmVtb3ZlUHJlZml4KHQsbSk7bD10Lmxlbmd0aDtjb25zdCB3PVtdO2NvbnN0IE49W107Y29uc3QgST1bXTtsZXQgQj1mO2xldCBHO2NvbnN0IGVvcz0oKT0+bS5pbmRleD09PWwtMTtjb25zdCBEPW0ucGVlaz0oZT0xKT0+dFttLmluZGV4K2VdO2NvbnN0IE09bS5hZHZhbmNlPSgpPT50WysrbS5pbmRleF18fFwiXCI7Y29uc3QgcmVtYWluaW5nPSgpPT50LnNsaWNlKG0uaW5kZXgrMSk7Y29uc3QgY29uc3VtZT0odD1cIlwiLGU9MCk9PnttLmNvbnN1bWVkKz10O20uaW5kZXgrPWV9O2NvbnN0IGFwcGVuZD10PT57bS5vdXRwdXQrPXQub3V0cHV0IT1udWxsP3Qub3V0cHV0OnQudmFsdWU7Y29uc3VtZSh0LnZhbHVlKX07Y29uc3QgbmVnYXRlPSgpPT57bGV0IHQ9MTt3aGlsZShEKCk9PT1cIiFcIiYmKEQoMikhPT1cIihcInx8RCgzKT09PVwiP1wiKSl7TSgpO20uc3RhcnQrKzt0Kyt9aWYodCUyPT09MCl7cmV0dXJuIGZhbHNlfW0ubmVnYXRlZD10cnVlO20uc3RhcnQrKztyZXR1cm4gdHJ1ZX07Y29uc3QgaW5jcmVtZW50PXQ9PnttW3RdKys7SS5wdXNoKHQpfTtjb25zdCBkZWNyZW1lbnQ9dD0+e21bdF0tLTtJLnBvcCgpfTtjb25zdCBwdXNoPXQ9PntpZihCLnR5cGU9PT1cImdsb2JzdGFyXCIpe2NvbnN0IGU9bS5icmFjZXM+MCYmKHQudHlwZT09PVwiY29tbWFcInx8dC50eXBlPT09XCJicmFjZVwiKTtjb25zdCB1PXQuZXh0Z2xvYj09PXRydWV8fHcubGVuZ3RoJiYodC50eXBlPT09XCJwaXBlXCJ8fHQudHlwZT09PVwicGFyZW5cIik7aWYodC50eXBlIT09XCJzbGFzaFwiJiZ0LnR5cGUhPT1cInBhcmVuXCImJiFlJiYhdSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtQi5vdXRwdXQubGVuZ3RoKTtCLnR5cGU9XCJzdGFyXCI7Qi52YWx1ZT1cIipcIjtCLm91dHB1dD1rO20ub3V0cHV0Kz1CLm91dHB1dH19aWYody5sZW5ndGgmJnQudHlwZSE9PVwicGFyZW5cIil7d1t3Lmxlbmd0aC0xXS5pbm5lcis9dC52YWx1ZX1pZih0LnZhbHVlfHx0Lm91dHB1dClhcHBlbmQodCk7aWYoQiYmQi50eXBlPT09XCJ0ZXh0XCImJnQudHlwZT09PVwidGV4dFwiKXtCLm91dHB1dD0oQi5vdXRwdXR8fEIudmFsdWUpK3QudmFsdWU7Qi52YWx1ZSs9dC52YWx1ZTtyZXR1cm59dC5wcmV2PUI7QS5wdXNoKHQpO0I9dH07Y29uc3QgZXh0Z2xvYk9wZW49KHQsZSk9Pntjb25zdCBuPXsuLi5FW2VdLGNvbmRpdGlvbnM6MSxpbm5lcjpcIlwifTtuLnByZXY9QjtuLnBhcmVucz1tLnBhcmVucztuLm91dHB1dD1tLm91dHB1dDtjb25zdCBvPSh1LmNhcHR1cmU/XCIoXCI6XCJcIikrbi5vcGVuO2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOnQsdmFsdWU6ZSxvdXRwdXQ6bS5vdXRwdXQ/XCJcIjpDfSk7cHVzaCh7dHlwZTpcInBhcmVuXCIsZXh0Z2xvYjp0cnVlLHZhbHVlOk0oKSxvdXRwdXQ6b30pO3cucHVzaChuKX07Y29uc3QgZXh0Z2xvYkNsb3NlPXQ9PntsZXQgbj10LmNsb3NlKyh1LmNhcHR1cmU/XCIpXCI6XCJcIik7bGV0IG87aWYodC50eXBlPT09XCJuZWdhdGVcIil7bGV0IHM9aztpZih0LmlubmVyJiZ0LmlubmVyLmxlbmd0aD4xJiZ0LmlubmVyLmluY2x1ZGVzKFwiL1wiKSl7cz1nbG9ic3Rhcih1KX1pZihzIT09a3x8ZW9zKCl8fC9eXFwpKyQvLnRlc3QocmVtYWluaW5nKCkpKXtuPXQuY2xvc2U9YCkkKSkke3N9YH1pZih0LmlubmVyLmluY2x1ZGVzKFwiKlwiKSYmKG89cmVtYWluaW5nKCkpJiYvXlxcLlteXFxcXC8uXSskLy50ZXN0KG8pKXtjb25zdCB1PXBhcnNlKG8sey4uLmUsZmFzdHBhdGhzOmZhbHNlfSkub3V0cHV0O249dC5jbG9zZT1gKSR7dX0pJHtzfSlgfWlmKHQucHJldi50eXBlPT09XCJib3NcIil7bS5uZWdhdGVkRXh0Z2xvYj10cnVlfX1wdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6RyxvdXRwdXQ6bn0pO2RlY3JlbWVudChcInBhcmVuc1wiKX07aWYodS5mYXN0cGF0aHMhPT1mYWxzZSYmIS8oXlsqIV18Wy8oKVtcXF17fVwiXSkvLnRlc3QodCkpe2xldCBuPWZhbHNlO2xldCBzPXQucmVwbGFjZShpLCgodCxlLHUsbyxzLHIpPT57aWYobz09PVwiXFxcXFwiKXtuPXRydWU7cmV0dXJuIHR9aWYobz09PVwiP1wiKXtpZihlKXtyZXR1cm4gZStvKyhzP0gucmVwZWF0KHMubGVuZ3RoKTpcIlwiKX1pZihyPT09MCl7cmV0dXJuIE8rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfXJldHVybiBILnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiLlwiKXtyZXR1cm4gaC5yZXBlYXQodS5sZW5ndGgpfWlmKG89PT1cIipcIil7aWYoZSl7cmV0dXJuIGUrbysocz9rOlwiXCIpfXJldHVybiBrfXJldHVybiBlP3Q6YFxcXFwke3R9YH0pKTtpZihuPT09dHJ1ZSl7aWYodS51bmVzY2FwZT09PXRydWUpe3M9cy5yZXBsYWNlKC9cXFxcL2csXCJcIil9ZWxzZXtzPXMucmVwbGFjZSgvXFxcXCsvZywodD0+dC5sZW5ndGglMj09PTA/XCJcXFxcXFxcXFwiOnQ/XCJcXFxcXCI6XCJcIikpfX1pZihzPT09dCYmdS5jb250YWlucz09PXRydWUpe20ub3V0cHV0PXQ7cmV0dXJuIG19bS5vdXRwdXQ9by53cmFwT3V0cHV0KHMsbSxlKTtyZXR1cm4gbX13aGlsZSghZW9zKCkpe0c9TSgpO2lmKEc9PT1cIlxcMFwiKXtjb250aW51ZX1pZihHPT09XCJcXFxcXCIpe2NvbnN0IHQ9RCgpO2lmKHQ9PT1cIi9cIiYmdS5iYXNoIT09dHJ1ZSl7Y29udGludWV9aWYodD09PVwiLlwifHx0PT09XCI7XCIpe2NvbnRpbnVlfWlmKCF0KXtHKz1cIlxcXFxcIjtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1jb25zdCBlPS9eXFxcXCsvLmV4ZWMocmVtYWluaW5nKCkpO2xldCBuPTA7aWYoZSYmZVswXS5sZW5ndGg+Mil7bj1lWzBdLmxlbmd0aDttLmluZGV4Kz1uO2lmKG4lMiE9PTApe0crPVwiXFxcXFwifX1pZih1LnVuZXNjYXBlPT09dHJ1ZSl7Rz1NKCl9ZWxzZXtHKz1NKCl9aWYobS5icmFja2V0cz09PTApe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfX1pZihtLmJyYWNrZXRzPjAmJihHIT09XCJdXCJ8fEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe2lmKHUucG9zaXghPT1mYWxzZSYmRz09PVwiOlwiKXtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYodC5pbmNsdWRlcyhcIltcIikpe0IucG9zaXg9dHJ1ZTtpZih0LmluY2x1ZGVzKFwiOlwiKSl7Y29uc3QgdD1CLnZhbHVlLmxhc3RJbmRleE9mKFwiW1wiKTtjb25zdCBlPUIudmFsdWUuc2xpY2UoMCx0KTtjb25zdCB1PUIudmFsdWUuc2xpY2UodCsyKTtjb25zdCBuPXJbdV07aWYobil7Qi52YWx1ZT1lK247bS5iYWNrdHJhY2s9dHJ1ZTtNKCk7aWYoIWYub3V0cHV0JiZBLmluZGV4T2YoQik9PT0xKXtmLm91dHB1dD1DfWNvbnRpbnVlfX19fWlmKEc9PT1cIltcIiYmRCgpIT09XCI6XCJ8fEc9PT1cIi1cIiYmRCgpPT09XCJdXCIpe0c9YFxcXFwke0d9YH1pZihHPT09XCJdXCImJihCLnZhbHVlPT09XCJbXCJ8fEIudmFsdWU9PT1cIlteXCIpKXtHPWBcXFxcJHtHfWB9aWYodS5wb3NpeD09PXRydWUmJkc9PT1cIiFcIiYmQi52YWx1ZT09PVwiW1wiKXtHPVwiXlwifUIudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7Y29udGludWV9aWYobS5xdW90ZXM9PT0xJiZHIT09J1wiJyl7Rz1vLmVzY2FwZVJlZ2V4KEcpO0IudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PSdcIicpe20ucXVvdGVzPW0ucXVvdGVzPT09MT8wOjE7aWYodS5rZWVwUXVvdGVzPT09dHJ1ZSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSl9Y29udGludWV9aWYoRz09PVwiKFwiKXtpbmNyZW1lbnQoXCJwYXJlbnNcIik7cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6R30pO2NvbnRpbnVlfWlmKEc9PT1cIilcIil7aWYobS5wYXJlbnM9PT0wJiZ1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwib3BlbmluZ1wiLFwiKFwiKSl9Y29uc3QgdD13W3cubGVuZ3RoLTFdO2lmKHQmJm0ucGFyZW5zPT09dC5wYXJlbnMrMSl7ZXh0Z2xvYkNsb3NlKHcucG9wKCkpO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJwYXJlblwiLHZhbHVlOkcsb3V0cHV0Om0ucGFyZW5zP1wiKVwiOlwiXFxcXClcIn0pO2RlY3JlbWVudChcInBhcmVuc1wiKTtjb250aW51ZX1pZihHPT09XCJbXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8IXJlbWFpbmluZygpLmluY2x1ZGVzKFwiXVwiKSl7aWYodS5ub2JyYWNrZXQhPT10cnVlJiZ1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiXVwiKSl9Rz1gXFxcXCR7R31gfWVsc2V7aW5jcmVtZW50KFwiYnJhY2tldHNcIil9cHVzaCh7dHlwZTpcImJyYWNrZXRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiXVwiKXtpZih1Lm5vYnJhY2tldD09PXRydWV8fEImJkIudHlwZT09PVwiYnJhY2tldFwiJiZCLnZhbHVlLmxlbmd0aD09PTEpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6YFxcXFwke0d9YH0pO2NvbnRpbnVlfWlmKG0uYnJhY2tldHM9PT0wKXtpZih1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwib3BlbmluZ1wiLFwiW1wiKSl9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9ZGVjcmVtZW50KFwiYnJhY2tldHNcIik7Y29uc3QgdD1CLnZhbHVlLnNsaWNlKDEpO2lmKEIucG9zaXghPT10cnVlJiZ0WzBdPT09XCJeXCImJiF0LmluY2x1ZGVzKFwiL1wiKSl7Rz1gLyR7R31gfUIudmFsdWUrPUc7YXBwZW5kKHt2YWx1ZTpHfSk7aWYodS5saXRlcmFsQnJhY2tldHM9PT1mYWxzZXx8by5oYXNSZWdleENoYXJzKHQpKXtjb250aW51ZX1jb25zdCBlPW8uZXNjYXBlUmVnZXgoQi52YWx1ZSk7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtQi52YWx1ZS5sZW5ndGgpO2lmKHUubGl0ZXJhbEJyYWNrZXRzPT09dHJ1ZSl7bS5vdXRwdXQrPWU7Qi52YWx1ZT1lO2NvbnRpbnVlfUIudmFsdWU9YCgke199JHtlfXwke0IudmFsdWV9KWA7bS5vdXRwdXQrPUIudmFsdWU7Y29udGludWV9aWYoRz09PVwie1wiJiZ1Lm5vYnJhY2UhPT10cnVlKXtpbmNyZW1lbnQoXCJicmFjZXNcIik7Y29uc3QgdD17dHlwZTpcImJyYWNlXCIsdmFsdWU6RyxvdXRwdXQ6XCIoXCIsb3V0cHV0SW5kZXg6bS5vdXRwdXQubGVuZ3RoLHRva2Vuc0luZGV4Om0udG9rZW5zLmxlbmd0aH07Ti5wdXNoKHQpO3B1c2godCk7Y29udGludWV9aWYoRz09PVwifVwiKXtjb25zdCB0PU5bTi5sZW5ndGgtMV07aWYodS5ub2JyYWNlPT09dHJ1ZXx8IXQpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6R30pO2NvbnRpbnVlfWxldCBlPVwiKVwiO2lmKHQuZG90cz09PXRydWUpe2NvbnN0IHQ9QS5zbGljZSgpO2NvbnN0IG49W107Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe0EucG9wKCk7aWYodFtlXS50eXBlPT09XCJicmFjZVwiKXticmVha31pZih0W2VdLnR5cGUhPT1cImRvdHNcIil7bi51bnNoaWZ0KHRbZV0udmFsdWUpfX1lPWV4cGFuZFJhbmdlKG4sdSk7bS5iYWNrdHJhY2s9dHJ1ZX1pZih0LmNvbW1hIT09dHJ1ZSYmdC5kb3RzIT09dHJ1ZSl7Y29uc3QgdT1tLm91dHB1dC5zbGljZSgwLHQub3V0cHV0SW5kZXgpO2NvbnN0IG49bS50b2tlbnMuc2xpY2UodC50b2tlbnNJbmRleCk7dC52YWx1ZT10Lm91dHB1dD1cIlxcXFx7XCI7Rz1lPVwiXFxcXH1cIjttLm91dHB1dD11O2Zvcihjb25zdCB0IG9mIG4pe20ub3V0cHV0Kz10Lm91dHB1dHx8dC52YWx1ZX19cHVzaCh7dHlwZTpcImJyYWNlXCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2RlY3JlbWVudChcImJyYWNlc1wiKTtOLnBvcCgpO2NvbnRpbnVlfWlmKEc9PT1cInxcIil7aWYody5sZW5ndGg+MCl7d1t3Lmxlbmd0aC0xXS5jb25kaXRpb25zKyt9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiLFwiKXtsZXQgdD1HO2NvbnN0IGU9TltOLmxlbmd0aC0xXTtpZihlJiZJW0kubGVuZ3RoLTFdPT09XCJicmFjZXNcIil7ZS5jb21tYT10cnVlO3Q9XCJ8XCJ9cHVzaCh7dHlwZTpcImNvbW1hXCIsdmFsdWU6RyxvdXRwdXQ6dH0pO2NvbnRpbnVlfWlmKEc9PT1cIi9cIil7aWYoQi50eXBlPT09XCJkb3RcIiYmbS5pbmRleD09PW0uc3RhcnQrMSl7bS5zdGFydD1tLmluZGV4KzE7bS5jb25zdW1lZD1cIlwiO20ub3V0cHV0PVwiXCI7QS5wb3AoKTtCPWY7Y29udGludWV9cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6RyxvdXRwdXQ6Yn0pO2NvbnRpbnVlfWlmKEc9PT1cIi5cIil7aWYobS5icmFjZXM+MCYmQi50eXBlPT09XCJkb3RcIil7aWYoQi52YWx1ZT09PVwiLlwiKUIub3V0cHV0PWg7Y29uc3QgdD1OW04ubGVuZ3RoLTFdO0IudHlwZT1cImRvdHNcIjtCLm91dHB1dCs9RztCLnZhbHVlKz1HO3QuZG90cz10cnVlO2NvbnRpbnVlfWlmKG0uYnJhY2VzK20ucGFyZW5zPT09MCYmQi50eXBlIT09XCJib3NcIiYmQi50eXBlIT09XCJzbGFzaFwiKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0Omh9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwiZG90XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfWlmKEc9PT1cIj9cIil7Y29uc3QgdD1CJiZCLnZhbHVlPT09XCIoXCI7aWYoIXQmJnUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJxbWFya1wiLEcpO2NvbnRpbnVlfWlmKEImJkIudHlwZT09PVwicGFyZW5cIil7Y29uc3QgdD1EKCk7bGV0IGU9RztpZihCLnZhbHVlPT09XCIoXCImJiEvWyE9PDpdLy50ZXN0KHQpfHx0PT09XCI8XCImJiEvPChbIT1dfFxcdys+KS8udGVzdChyZW1haW5pbmcoKSkpe2U9YFxcXFwke0d9YH1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmV9KTtjb250aW51ZX1pZih1LmRvdCE9PXRydWUmJihCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiYm9zXCIpKXtwdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDp2fSk7Y29udGludWV9cHVzaCh7dHlwZTpcInFtYXJrXCIsdmFsdWU6RyxvdXRwdXQ6SH0pO2NvbnRpbnVlfWlmKEc9PT1cIiFcIil7aWYodS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIil7aWYoRCgyKSE9PVwiP1wifHwhL1shPTw6XS8udGVzdChEKDMpKSl7ZXh0Z2xvYk9wZW4oXCJuZWdhdGVcIixHKTtjb250aW51ZX19aWYodS5ub25lZ2F0ZSE9PXRydWUmJm0uaW5kZXg9PT0wKXtuZWdhdGUoKTtjb250aW51ZX19aWYoRz09PVwiK1wiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiJiZEKDIpIT09XCI/XCIpe2V4dGdsb2JPcGVuKFwicGx1c1wiLEcpO2NvbnRpbnVlfWlmKEImJkIudmFsdWU9PT1cIihcInx8dS5yZWdleD09PWZhbHNlKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkcsb3V0cHV0Omd9KTtjb250aW51ZX1pZihCJiYoQi50eXBlPT09XCJicmFja2V0XCJ8fEIudHlwZT09PVwicGFyZW5cInx8Qi50eXBlPT09XCJicmFjZVwiKXx8bS5wYXJlbnM+MCl7cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpHfSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpnfSk7Y29udGludWV9aWYoRz09PVwiQFwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiJiZEKDIpIT09XCI/XCIpe3B1c2goe3R5cGU6XCJhdFwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRyE9PVwiKlwiKXtpZihHPT09XCIkXCJ8fEc9PT1cIl5cIil7Rz1gXFxcXCR7R31gfWNvbnN0IHQ9YS5leGVjKHJlbWFpbmluZygpKTtpZih0KXtHKz10WzBdO20uaW5kZXgrPXRbMF0ubGVuZ3RofXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImdsb2JzdGFyXCJ8fEIuc3Rhcj09PXRydWUpKXtCLnR5cGU9XCJzdGFyXCI7Qi5zdGFyPXRydWU7Qi52YWx1ZSs9RztCLm91dHB1dD1rO20uYmFja3RyYWNrPXRydWU7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9bGV0IGU9cmVtYWluaW5nKCk7aWYodS5ub2V4dGdsb2IhPT10cnVlJiYvXlxcKFteP10vLnRlc3QoZSkpe2V4dGdsb2JPcGVuKFwic3RhclwiLEcpO2NvbnRpbnVlfWlmKEIudHlwZT09PVwic3RhclwiKXtpZih1Lm5vZ2xvYnN0YXI9PT10cnVlKXtjb25zdW1lKEcpO2NvbnRpbnVlfWNvbnN0IG49Qi5wcmV2O2NvbnN0IG89bi5wcmV2O2NvbnN0IHM9bi50eXBlPT09XCJzbGFzaFwifHxuLnR5cGU9PT1cImJvc1wiO2NvbnN0IHI9byYmKG8udHlwZT09PVwic3RhclwifHxvLnR5cGU9PT1cImdsb2JzdGFyXCIpO2lmKHUuYmFzaD09PXRydWUmJighc3x8ZVswXSYmZVswXSE9PVwiL1wiKSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9Y29uc3QgYT1tLmJyYWNlcz4wJiYobi50eXBlPT09XCJjb21tYVwifHxuLnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IGk9dy5sZW5ndGgmJihuLnR5cGU9PT1cInBpcGVcInx8bi50eXBlPT09XCJwYXJlblwiKTtpZighcyYmbi50eXBlIT09XCJwYXJlblwiJiYhYSYmIWkpe3B1c2goe3R5cGU6XCJzdGFyXCIsdmFsdWU6RyxvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfXdoaWxlKGUuc2xpY2UoMCwzKT09PVwiLyoqXCIpe2NvbnN0IHU9dFttLmluZGV4KzRdO2lmKHUmJnUhPT1cIi9cIil7YnJlYWt9ZT1lLnNsaWNlKDMpO2NvbnN1bWUoXCIvKipcIiwzKX1pZihuLnR5cGU9PT1cImJvc1wiJiZlb3MoKSl7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLnZhbHVlKz1HO0Iub3V0cHV0PWdsb2JzdGFyKHUpO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiYhciYmZW9zKCkpe20ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLShuLm91dHB1dCtCLm91dHB1dCkubGVuZ3RoKTtuLm91dHB1dD1gKD86JHtuLm91dHB1dH1gO0IudHlwZT1cImdsb2JzdGFyXCI7Qi5vdXRwdXQ9Z2xvYnN0YXIodSkrKHUuc3RyaWN0U2xhc2hlcz9cIilcIjpcInwkKVwiKTtCLnZhbHVlKz1HO20uZ2xvYnN0YXI9dHJ1ZTttLm91dHB1dCs9bi5vdXRwdXQrQi5vdXRwdXQ7Y29uc3VtZShHKTtjb250aW51ZX1pZihuLnR5cGU9PT1cInNsYXNoXCImJm4ucHJldi50eXBlIT09XCJib3NcIiYmZVswXT09PVwiL1wiKXtjb25zdCB0PWVbMV0hPT12b2lkIDA/XCJ8JFwiOlwiXCI7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1gJHtnbG9ic3Rhcih1KX0ke2J9fCR7Yn0ke3R9KWA7Qi52YWx1ZSs9RzttLm91dHB1dCs9bi5vdXRwdXQrQi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRytNKCkpO3B1c2goe3R5cGU6XCJzbGFzaFwiLHZhbHVlOlwiL1wiLG91dHB1dDpcIlwifSk7Y29udGludWV9aWYobi50eXBlPT09XCJib3NcIiYmZVswXT09PVwiL1wiKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9YCg/Ol58JHtifXwke2dsb2JzdGFyKHUpfSR7Yn0pYDttLm91dHB1dD1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1tLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cImdsb2JzdGFyXCI7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7Qi52YWx1ZSs9RzttLm91dHB1dCs9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj17dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDprfTtpZih1LmJhc2g9PT10cnVlKXtuLm91dHB1dD1cIi4qP1wiO2lmKEIudHlwZT09PVwiYm9zXCJ8fEIudHlwZT09PVwic2xhc2hcIil7bi5vdXRwdXQ9VCtuLm91dHB1dH1wdXNoKG4pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwiKSYmdS5yZWdleD09PXRydWUpe24ub3V0cHV0PUc7cHVzaChuKTtjb250aW51ZX1pZihtLmluZGV4PT09bS5zdGFydHx8Qi50eXBlPT09XCJzbGFzaFwifHxCLnR5cGU9PT1cImRvdFwiKXtpZihCLnR5cGU9PT1cImRvdFwiKXttLm91dHB1dCs9eDtCLm91dHB1dCs9eH1lbHNlIGlmKHUuZG90PT09dHJ1ZSl7bS5vdXRwdXQrPVM7Qi5vdXRwdXQrPVN9ZWxzZXttLm91dHB1dCs9VDtCLm91dHB1dCs9VH1pZihEKCkhPT1cIipcIil7bS5vdXRwdXQrPUM7Qi5vdXRwdXQrPUN9fXB1c2gobil9d2hpbGUobS5icmFja2V0cz4wKXtpZih1LnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKTttLm91dHB1dD1vLmVzY2FwZUxhc3QobS5vdXRwdXQsXCJbXCIpO2RlY3JlbWVudChcImJyYWNrZXRzXCIpfXdoaWxlKG0ucGFyZW5zPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIilcIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIihcIik7ZGVjcmVtZW50KFwicGFyZW5zXCIpfXdoaWxlKG0uYnJhY2VzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIn1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIntcIik7ZGVjcmVtZW50KFwiYnJhY2VzXCIpfWlmKHUuc3RyaWN0U2xhc2hlcyE9PXRydWUmJihCLnR5cGU9PT1cInN0YXJcInx8Qi50eXBlPT09XCJicmFja2V0XCIpKXtwdXNoKHt0eXBlOlwibWF5YmVfc2xhc2hcIix2YWx1ZTpcIlwiLG91dHB1dDpgJHtifT9gfSl9aWYobS5iYWNrdHJhY2s9PT10cnVlKXttLm91dHB1dD1cIlwiO2Zvcihjb25zdCB0IG9mIG0udG9rZW5zKXttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtpZih0LnN1ZmZpeCl7bS5vdXRwdXQrPXQuc3VmZml4fX19cmV0dXJuIG19O3BhcnNlLmZhc3RwYXRocz0odCxlKT0+e2NvbnN0IHU9ey4uLmV9O2NvbnN0IHI9dHlwZW9mIHUubWF4TGVuZ3RoPT09XCJudW1iZXJcIj9NYXRoLm1pbihzLHUubWF4TGVuZ3RoKTpzO2NvbnN0IGE9dC5sZW5ndGg7aWYoYT5yKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHthfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3J9YCl9dD1jW3RdfHx0O2NvbnN0e0RPVF9MSVRFUkFMOmksU0xBU0hfTElURVJBTDpwLE9ORV9DSEFSOmwsRE9UU19TTEFTSDpmLE5PX0RPVDpBLE5PX0RPVFM6XyxOT19ET1RTX1NMQVNIOlIsU1RBUjpFLFNUQVJUX0FOQ0hPUjpofT1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IGc9dS5kb3Q/XzpBO2NvbnN0IGI9dS5kb3Q/UjpBO2NvbnN0IEM9dS5jYXB0dXJlP1wiXCI6XCI/OlwiO2NvbnN0IHk9e25lZ2F0ZWQ6ZmFsc2UscHJlZml4OlwiXCJ9O2xldCAkPXUuYmFzaD09PXRydWU/XCIuKj9cIjpFO2lmKHUuY2FwdHVyZSl7JD1gKCR7JH0pYH1jb25zdCBnbG9ic3Rhcj10PT57aWYodC5ub2dsb2JzdGFyPT09dHJ1ZSlyZXR1cm4gJDtyZXR1cm5gKCR7Q30oPzooPyEke2h9JHt0LmRvdD9mOml9KS4pKj8pYH07Y29uc3QgY3JlYXRlPXQ9Pntzd2l0Y2godCl7Y2FzZVwiKlwiOnJldHVybmAke2d9JHtsfSR7JH1gO2Nhc2VcIi4qXCI6cmV0dXJuYCR7aX0ke2x9JHskfWA7Y2FzZVwiKi4qXCI6cmV0dXJuYCR7Z30keyR9JHtpfSR7bH0keyR9YDtjYXNlXCIqLypcIjpyZXR1cm5gJHtnfSR7JH0ke3B9JHtsfSR7Yn0keyR9YDtjYXNlXCIqKlwiOnJldHVybiBnK2dsb2JzdGFyKHUpO2Nhc2VcIioqLypcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtifSR7bH0keyR9YDtjYXNlXCIqKi8qLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtifSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIioqLy4qXCI6cmV0dXJuYCg/OiR7Z30ke2dsb2JzdGFyKHUpfSR7cH0pPyR7aX0ke2x9JHskfWA7ZGVmYXVsdDp7Y29uc3QgZT0vXiguKj8pXFwuKFxcdyspJC8uZXhlYyh0KTtpZighZSlyZXR1cm47Y29uc3QgdT1jcmVhdGUoZVsxXSk7aWYoIXUpcmV0dXJuO3JldHVybiB1K2krZVsyXX19fTtjb25zdCB4PW8ucmVtb3ZlUHJlZml4KHQseSk7bGV0IFM9Y3JlYXRlKHgpO2lmKFMmJnUuc3RyaWN0U2xhc2hlcyE9PXRydWUpe1MrPWAke3B9P2B9cmV0dXJuIFN9O3QuZXhwb3J0cz1wYXJzZX0sNTEwOih0LGUsdSk9Pntjb25zdCBuPXUoNzE2KTtjb25zdCBvPXUoNjk3KTtjb25zdCBzPXUoOTYpO2NvbnN0IHI9dSgxNTQpO2NvbnN0IGlzT2JqZWN0PXQ9PnQmJnR5cGVvZiB0PT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCk7Y29uc3QgcGljb21hdGNoPSh0LGUsdT1mYWxzZSk9PntpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBuPXQubWFwKCh0PT5waWNvbWF0Y2godCxlLHUpKSk7Y29uc3QgYXJyYXlNYXRjaGVyPXQ9Pntmb3IoY29uc3QgZSBvZiBuKXtjb25zdCB1PWUodCk7aWYodSlyZXR1cm4gdX1yZXR1cm4gZmFsc2V9O3JldHVybiBhcnJheU1hdGNoZXJ9Y29uc3Qgbj1pc09iamVjdCh0KSYmdC50b2tlbnMmJnQuaW5wdXQ7aWYodD09PVwiXCJ8fHR5cGVvZiB0IT09XCJzdHJpbmdcIiYmIW4pe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBwYXR0ZXJuIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1jb25zdCBvPWV8fHt9O2NvbnN0IHM9by53aW5kb3dzO2NvbnN0IHI9bj9waWNvbWF0Y2guY29tcGlsZVJlKHQsZSk6cGljb21hdGNoLm1ha2VSZSh0LGUsZmFsc2UsdHJ1ZSk7Y29uc3QgYT1yLnN0YXRlO2RlbGV0ZSByLnN0YXRlO2xldCBpc0lnbm9yZWQ9KCk9PmZhbHNlO2lmKG8uaWdub3JlKXtjb25zdCB0PXsuLi5lLGlnbm9yZTpudWxsLG9uTWF0Y2g6bnVsbCxvblJlc3VsdDpudWxsfTtpc0lnbm9yZWQ9cGljb21hdGNoKG8uaWdub3JlLHQsdSl9Y29uc3QgbWF0Y2hlcj0odSxuPWZhbHNlKT0+e2NvbnN0e2lzTWF0Y2g6aSxtYXRjaDpjLG91dHB1dDpwfT1waWNvbWF0Y2gudGVzdCh1LHIsZSx7Z2xvYjp0LHBvc2l4OnN9KTtjb25zdCBsPXtnbG9iOnQsc3RhdGU6YSxyZWdleDpyLHBvc2l4OnMsaW5wdXQ6dSxvdXRwdXQ6cCxtYXRjaDpjLGlzTWF0Y2g6aX07aWYodHlwZW9mIG8ub25SZXN1bHQ9PT1cImZ1bmN0aW9uXCIpe28ub25SZXN1bHQobCl9aWYoaT09PWZhbHNlKXtsLmlzTWF0Y2g9ZmFsc2U7cmV0dXJuIG4/bDpmYWxzZX1pZihpc0lnbm9yZWQodSkpe2lmKHR5cGVvZiBvLm9uSWdub3JlPT09XCJmdW5jdGlvblwiKXtvLm9uSWdub3JlKGwpfWwuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKHR5cGVvZiBvLm9uTWF0Y2g9PT1cImZ1bmN0aW9uXCIpe28ub25NYXRjaChsKX1yZXR1cm4gbj9sOnRydWV9O2lmKHUpe21hdGNoZXIuc3RhdGU9YX1yZXR1cm4gbWF0Y2hlcn07cGljb21hdGNoLnRlc3Q9KHQsZSx1LHtnbG9iOm4scG9zaXg6b309e30pPT57aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmdcIil9aWYodD09PVwiXCIpe3JldHVybntpc01hdGNoOmZhbHNlLG91dHB1dDpcIlwifX1jb25zdCByPXV8fHt9O2NvbnN0IGE9ci5mb3JtYXR8fChvP3MudG9Qb3NpeFNsYXNoZXM6bnVsbCk7bGV0IGk9dD09PW47bGV0IGM9aSYmYT9hKHQpOnQ7aWYoaT09PWZhbHNlKXtjPWE/YSh0KTp0O2k9Yz09PW59aWYoaT09PWZhbHNlfHxyLmNhcHR1cmU9PT10cnVlKXtpZihyLm1hdGNoQmFzZT09PXRydWV8fHIuYmFzZW5hbWU9PT10cnVlKXtpPXBpY29tYXRjaC5tYXRjaEJhc2UodCxlLHUsbyl9ZWxzZXtpPWUuZXhlYyhjKX19cmV0dXJue2lzTWF0Y2g6Qm9vbGVhbihpKSxtYXRjaDppLG91dHB1dDpjfX07cGljb21hdGNoLm1hdGNoQmFzZT0odCxlLHUpPT57Y29uc3Qgbj1lIGluc3RhbmNlb2YgUmVnRXhwP2U6cGljb21hdGNoLm1ha2VSZShlLHUpO3JldHVybiBuLnRlc3Qocy5iYXNlbmFtZSh0KSl9O3BpY29tYXRjaC5pc01hdGNoPSh0LGUsdSk9PnBpY29tYXRjaChlLHUpKHQpO3BpY29tYXRjaC5wYXJzZT0odCxlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQubWFwKCh0PT5waWNvbWF0Y2gucGFyc2UodCxlKSkpO3JldHVybiBvKHQsey4uLmUsZmFzdHBhdGhzOmZhbHNlfSl9O3BpY29tYXRjaC5zY2FuPSh0LGUpPT5uKHQsZSk7cGljb21hdGNoLmNvbXBpbGVSZT0odCxlLHU9ZmFsc2Usbj1mYWxzZSk9PntpZih1PT09dHJ1ZSl7cmV0dXJuIHQub3V0cHV0fWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgcj1vLmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IGE9YCR7c30oPzoke3Qub3V0cHV0fSkke3J9YDtpZih0JiZ0Lm5lZ2F0ZWQ9PT10cnVlKXthPWBeKD8hJHthfSkuKiRgfWNvbnN0IGk9cGljb21hdGNoLnRvUmVnZXgoYSxlKTtpZihuPT09dHJ1ZSl7aS5zdGF0ZT10fXJldHVybiBpfTtwaWNvbWF0Y2gubWFrZVJlPSh0LGU9e30sdT1mYWxzZSxuPWZhbHNlKT0+e2lmKCF0fHx0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIG5vbi1lbXB0eSBzdHJpbmdcIil9bGV0IHM9e25lZ2F0ZWQ6ZmFsc2UsZmFzdHBhdGhzOnRydWV9O2lmKGUuZmFzdHBhdGhzIT09ZmFsc2UmJih0WzBdPT09XCIuXCJ8fHRbMF09PT1cIipcIikpe3Mub3V0cHV0PW8uZmFzdHBhdGhzKHQsZSl9aWYoIXMub3V0cHV0KXtzPW8odCxlKX1yZXR1cm4gcGljb21hdGNoLmNvbXBpbGVSZShzLGUsdSxuKX07cGljb21hdGNoLnRvUmVnZXg9KHQsZSk9Pnt0cnl7Y29uc3QgdT1lfHx7fTtyZXR1cm4gbmV3IFJlZ0V4cCh0LHUuZmxhZ3N8fCh1Lm5vY2FzZT9cImlcIjpcIlwiKSl9Y2F0Y2godCl7aWYoZSYmZS5kZWJ1Zz09PXRydWUpdGhyb3cgdDtyZXR1cm4vJF4vfX07cGljb21hdGNoLmNvbnN0YW50cz1yO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDcxNjoodCxlLHUpPT57Y29uc3Qgbj11KDk2KTtjb25zdHtDSEFSX0FTVEVSSVNLOm8sQ0hBUl9BVDpzLENIQVJfQkFDS1dBUkRfU0xBU0g6cixDSEFSX0NPTU1BOmEsQ0hBUl9ET1Q6aSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6YyxDSEFSX0ZPUldBUkRfU0xBU0g6cCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6bCxDSEFSX0xFRlRfUEFSRU5USEVTRVM6ZixDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6QSxDSEFSX1BMVVM6XyxDSEFSX1FVRVNUSU9OX01BUks6UixDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOkUsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzpoLENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6Z309dSgxNTQpO2NvbnN0IGlzUGF0aFNlcGFyYXRvcj10PT50PT09cHx8dD09PXI7Y29uc3QgZGVwdGg9dD0+e2lmKHQuaXNQcmVmaXghPT10cnVlKXt0LmRlcHRoPXQuaXNHbG9ic3Rhcj9JbmZpbml0eToxfX07Y29uc3Qgc2Nhbj0odCxlKT0+e2NvbnN0IHU9ZXx8e307Y29uc3QgYj10Lmxlbmd0aC0xO2NvbnN0IEM9dS5wYXJ0cz09PXRydWV8fHUuc2NhblRvRW5kPT09dHJ1ZTtjb25zdCB5PVtdO2NvbnN0ICQ9W107Y29uc3QgeD1bXTtsZXQgUz10O2xldCBIPS0xO2xldCB2PTA7bGV0IGQ9MDtsZXQgTD1mYWxzZTtsZXQgVD1mYWxzZTtsZXQgTz1mYWxzZTtsZXQgaz1mYWxzZTtsZXQgbT1mYWxzZTtsZXQgdz1mYWxzZTtsZXQgTj1mYWxzZTtsZXQgST1mYWxzZTtsZXQgQj1mYWxzZTtsZXQgRz1mYWxzZTtsZXQgRD0wO2xldCBNO2xldCBQO2xldCBLPXt2YWx1ZTpcIlwiLGRlcHRoOjAsaXNHbG9iOmZhbHNlfTtjb25zdCBlb3M9KCk9Pkg+PWI7Y29uc3QgcGVlaz0oKT0+Uy5jaGFyQ29kZUF0KEgrMSk7Y29uc3QgYWR2YW5jZT0oKT0+e009UDtyZXR1cm4gUy5jaGFyQ29kZUF0KCsrSCl9O3doaWxlKEg8Yil7UD1hZHZhbmNlKCk7bGV0IHQ7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2lmKFA9PT1sKXt3PXRydWV9Y29udGludWV9aWYodz09PXRydWV8fFA9PT1sKXtEKys7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1sKXtEKys7Y29udGludWV9aWYodyE9PXRydWUmJlA9PT1pJiYoUD1hZHZhbmNlKCkpPT09aSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZih3IT09dHJ1ZSYmUD09PWEpe0w9Sy5pc0JyYWNlPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PUUpe0QtLTtpZihEPT09MCl7dz1mYWxzZTtMPUsuaXNCcmFjZT10cnVlO0c9dHJ1ZTticmVha319fWlmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09cCl7eS5wdXNoKEgpOyQucHVzaChLKTtLPXt2YWx1ZTpcIlwiLGRlcHRoOjAsaXNHbG9iOmZhbHNlfTtpZihHPT09dHJ1ZSljb250aW51ZTtpZihNPT09aSYmSD09PXYrMSl7dis9Mjtjb250aW51ZX1kPUgrMTtjb250aW51ZX1pZih1Lm5vZXh0IT09dHJ1ZSl7Y29uc3QgdD1QPT09X3x8UD09PXN8fFA9PT1vfHxQPT09Unx8UD09PWM7aWYodD09PXRydWUmJnBlZWsoKT09PWYpe089Sy5pc0dsb2I9dHJ1ZTtrPUsuaXNFeHRnbG9iPXRydWU7Rz10cnVlO2lmKFA9PT1jJiZIPT09dil7Qj10cnVlfWlmKEM9PT10cnVlKXt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTtQPWFkdmFuY2UoKTtjb250aW51ZX1pZihQPT09aCl7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9fWlmKFA9PT1vKXtpZihNPT09byltPUsuaXNHbG9ic3Rhcj10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1SKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09QSl7d2hpbGUoZW9zKCkhPT10cnVlJiYodD1hZHZhbmNlKCkpKXtpZih0PT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7YWR2YW5jZSgpO2NvbnRpbnVlfWlmKHQ9PT1nKXtUPUsuaXNCcmFja2V0PXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTticmVha319aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHUubm9uZWdhdGUhPT10cnVlJiZQPT09YyYmSD09PXYpe0k9Sy5uZWdhdGVkPXRydWU7disrO2NvbnRpbnVlfWlmKHUubm9wYXJlbiE9PXRydWUmJlA9PT1mKXtPPUsuaXNHbG9iPXRydWU7aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PWYpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtHPXRydWU7YnJlYWt9fWNvbnRpbnVlfWJyZWFrfWlmKE89PT10cnVlKXtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfX1pZih1Lm5vZXh0PT09dHJ1ZSl7az1mYWxzZTtPPWZhbHNlfWxldCBVPVM7bGV0IFg9XCJcIjtsZXQgRj1cIlwiO2lmKHY+MCl7WD1TLnNsaWNlKDAsdik7Uz1TLnNsaWNlKHYpO2QtPXZ9aWYoVSYmTz09PXRydWUmJmQ+MCl7VT1TLnNsaWNlKDAsZCk7Rj1TLnNsaWNlKGQpfWVsc2UgaWYoTz09PXRydWUpe1U9XCJcIjtGPVN9ZWxzZXtVPVN9aWYoVSYmVSE9PVwiXCImJlUhPT1cIi9cIiYmVSE9PVMpe2lmKGlzUGF0aFNlcGFyYXRvcihVLmNoYXJDb2RlQXQoVS5sZW5ndGgtMSkpKXtVPVUuc2xpY2UoMCwtMSl9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtpZihGKUY9bi5yZW1vdmVCYWNrc2xhc2hlcyhGKTtpZihVJiZOPT09dHJ1ZSl7VT1uLnJlbW92ZUJhY2tzbGFzaGVzKFUpfX1jb25zdCBRPXtwcmVmaXg6WCxpbnB1dDp0LHN0YXJ0OnYsYmFzZTpVLGdsb2I6Rixpc0JyYWNlOkwsaXNCcmFja2V0OlQsaXNHbG9iOk8saXNFeHRnbG9iOmssaXNHbG9ic3RhcjptLG5lZ2F0ZWQ6SSxuZWdhdGVkRXh0Z2xvYjpCfTtpZih1LnRva2Vucz09PXRydWUpe1EubWF4RGVwdGg9MDtpZighaXNQYXRoU2VwYXJhdG9yKFApKXskLnB1c2goSyl9US50b2tlbnM9JH1pZih1LnBhcnRzPT09dHJ1ZXx8dS50b2tlbnM9PT10cnVlKXtsZXQgZTtmb3IobGV0IG49MDtuPHkubGVuZ3RoO24rKyl7Y29uc3Qgbz1lP2UrMTp2O2NvbnN0IHM9eVtuXTtjb25zdCByPXQuc2xpY2UobyxzKTtpZih1LnRva2Vucyl7aWYobj09PTAmJnYhPT0wKXskW25dLmlzUHJlZml4PXRydWU7JFtuXS52YWx1ZT1YfWVsc2V7JFtuXS52YWx1ZT1yfWRlcHRoKCRbbl0pO1EubWF4RGVwdGgrPSRbbl0uZGVwdGh9aWYobiE9PTB8fHIhPT1cIlwiKXt4LnB1c2gocil9ZT1zfWlmKGUmJmUrMTx0Lmxlbmd0aCl7Y29uc3Qgbj10LnNsaWNlKGUrMSk7eC5wdXNoKG4pO2lmKHUudG9rZW5zKXskWyQubGVuZ3RoLTFdLnZhbHVlPW47ZGVwdGgoJFskLmxlbmd0aC0xXSk7US5tYXhEZXB0aCs9JFskLmxlbmd0aC0xXS5kZXB0aH19US5zbGFzaGVzPXk7US5wYXJ0cz14fXJldHVybiBRfTt0LmV4cG9ydHM9c2Nhbn0sOTY6KHQsZSx1KT0+e2NvbnN0e1JFR0VYX0JBQ0tTTEFTSDpuLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6byxSRUdFWF9TUEVDSUFMX0NIQVJTOnMsUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUw6cn09dSgxNTQpO2UuaXNPYmplY3Q9dD0+dCE9PW51bGwmJnR5cGVvZiB0PT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCk7ZS5oYXNSZWdleENoYXJzPXQ9PnMudGVzdCh0KTtlLmlzUmVnZXhDaGFyPXQ9PnQubGVuZ3RoPT09MSYmZS5oYXNSZWdleENoYXJzKHQpO2UuZXNjYXBlUmVnZXg9dD0+dC5yZXBsYWNlKHIsXCJcXFxcJDFcIik7ZS50b1Bvc2l4U2xhc2hlcz10PT50LnJlcGxhY2UobixcIi9cIik7ZS5yZW1vdmVCYWNrc2xhc2hlcz10PT50LnJlcGxhY2UobywodD0+dD09PVwiXFxcXFwiP1wiXCI6dCkpO2UuZXNjYXBlTGFzdD0odCx1LG4pPT57Y29uc3Qgbz10Lmxhc3RJbmRleE9mKHUsbik7aWYobz09PS0xKXJldHVybiB0O2lmKHRbby0xXT09PVwiXFxcXFwiKXJldHVybiBlLmVzY2FwZUxhc3QodCx1LG8tMSk7cmV0dXJuYCR7dC5zbGljZSgwLG8pfVxcXFwke3Quc2xpY2Uobyl9YH07ZS5yZW1vdmVQcmVmaXg9KHQsZT17fSk9PntsZXQgdT10O2lmKHUuc3RhcnRzV2l0aChcIi4vXCIpKXt1PXUuc2xpY2UoMik7ZS5wcmVmaXg9XCIuL1wifXJldHVybiB1fTtlLndyYXBPdXRwdXQ9KHQsZT17fSx1PXt9KT0+e2NvbnN0IG49dS5jb250YWlucz9cIlwiOlwiXlwiO2NvbnN0IG89dS5jb250YWlucz9cIlwiOlwiJFwiO2xldCBzPWAke259KD86JHt0fSkke299YDtpZihlLm5lZ2F0ZWQ9PT10cnVlKXtzPWAoPzpeKD8hJHtzfSkuKiQpYH1yZXR1cm4gc307ZS5iYXNlbmFtZT0odCx7d2luZG93czplfT17fSk9Pntjb25zdCB1PXQuc3BsaXQoZT8vW1xcXFwvXS86XCIvXCIpO2NvbnN0IG49dVt1Lmxlbmd0aC0xXTtpZihuPT09XCJcIil7cmV0dXJuIHVbdS5sZW5ndGgtMl19cmV0dXJuIG59fX07dmFyIGU9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh1KXt2YXIgbj1lW3VdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIG89ZVt1XT17ZXhwb3J0czp7fX07dmFyIHM9dHJ1ZTt0cnl7dFt1XShvLG8uZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtzPWZhbHNlfWZpbmFsbHl7aWYocylkZWxldGUgZVt1XX1yZXR1cm4gby5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdT1fX25jY3dwY2tfcmVxdWlyZV9fKDE3MCk7bW9kdWxlLmV4cG9ydHM9dX0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/picomatch/index.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/lib/constants.js":
 | 
						||
/*!************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/lib/constants.js ***!
 | 
						||
  \************************************************************************************************************************************************/
 | 
						||
/***/ (function(__unused_webpack_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    ACTION_SUFFIX: function() {\n        return ACTION_SUFFIX;\n    },\n    APP_DIR_ALIAS: function() {\n        return APP_DIR_ALIAS;\n    },\n    CACHE_ONE_YEAR: function() {\n        return CACHE_ONE_YEAR;\n    },\n    DOT_NEXT_ALIAS: function() {\n        return DOT_NEXT_ALIAS;\n    },\n    ESLINT_DEFAULT_DIRS: function() {\n        return ESLINT_DEFAULT_DIRS;\n    },\n    GSP_NO_RETURNED_VALUE: function() {\n        return GSP_NO_RETURNED_VALUE;\n    },\n    GSSP_COMPONENT_MEMBER_ERROR: function() {\n        return GSSP_COMPONENT_MEMBER_ERROR;\n    },\n    GSSP_NO_RETURNED_VALUE: function() {\n        return GSSP_NO_RETURNED_VALUE;\n    },\n    INSTRUMENTATION_HOOK_FILENAME: function() {\n        return INSTRUMENTATION_HOOK_FILENAME;\n    },\n    MIDDLEWARE_FILENAME: function() {\n        return MIDDLEWARE_FILENAME;\n    },\n    MIDDLEWARE_LOCATION_REGEXP: function() {\n        return MIDDLEWARE_LOCATION_REGEXP;\n    },\n    NEXT_BODY_SUFFIX: function() {\n        return NEXT_BODY_SUFFIX;\n    },\n    NEXT_CACHE_IMPLICIT_TAG_ID: function() {\n        return NEXT_CACHE_IMPLICIT_TAG_ID;\n    },\n    NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() {\n        return NEXT_CACHE_REVALIDATED_TAGS_HEADER;\n    },\n    NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() {\n        return NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER;\n    },\n    NEXT_CACHE_SOFT_TAGS_HEADER: function() {\n        return NEXT_CACHE_SOFT_TAGS_HEADER;\n    },\n    NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() {\n        return NEXT_CACHE_SOFT_TAG_MAX_LENGTH;\n    },\n    NEXT_CACHE_TAGS_HEADER: function() {\n        return NEXT_CACHE_TAGS_HEADER;\n    },\n    NEXT_CACHE_TAG_MAX_ITEMS: function() {\n        return NEXT_CACHE_TAG_MAX_ITEMS;\n    },\n    NEXT_CACHE_TAG_MAX_LENGTH: function() {\n        return NEXT_CACHE_TAG_MAX_LENGTH;\n    },\n    NEXT_DATA_SUFFIX: function() {\n        return NEXT_DATA_SUFFIX;\n    },\n    NEXT_INTERCEPTION_MARKER_PREFIX: function() {\n        return NEXT_INTERCEPTION_MARKER_PREFIX;\n    },\n    NEXT_META_SUFFIX: function() {\n        return NEXT_META_SUFFIX;\n    },\n    NEXT_QUERY_PARAM_PREFIX: function() {\n        return NEXT_QUERY_PARAM_PREFIX;\n    },\n    NON_STANDARD_NODE_ENV: function() {\n        return NON_STANDARD_NODE_ENV;\n    },\n    PAGES_DIR_ALIAS: function() {\n        return PAGES_DIR_ALIAS;\n    },\n    PRERENDER_REVALIDATE_HEADER: function() {\n        return PRERENDER_REVALIDATE_HEADER;\n    },\n    PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() {\n        return PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER;\n    },\n    PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() {\n        return PUBLIC_DIR_MIDDLEWARE_CONFLICT;\n    },\n    ROOT_DIR_ALIAS: function() {\n        return ROOT_DIR_ALIAS;\n    },\n    RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() {\n        return RSC_ACTION_CLIENT_WRAPPER_ALIAS;\n    },\n    RSC_ACTION_ENCRYPTION_ALIAS: function() {\n        return RSC_ACTION_ENCRYPTION_ALIAS;\n    },\n    RSC_ACTION_PROXY_ALIAS: function() {\n        return RSC_ACTION_PROXY_ALIAS;\n    },\n    RSC_ACTION_VALIDATE_ALIAS: function() {\n        return RSC_ACTION_VALIDATE_ALIAS;\n    },\n    RSC_MOD_REF_PROXY_ALIAS: function() {\n        return RSC_MOD_REF_PROXY_ALIAS;\n    },\n    RSC_PREFETCH_SUFFIX: function() {\n        return RSC_PREFETCH_SUFFIX;\n    },\n    RSC_SUFFIX: function() {\n        return RSC_SUFFIX;\n    },\n    SERVER_PROPS_EXPORT_ERROR: function() {\n        return SERVER_PROPS_EXPORT_ERROR;\n    },\n    SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() {\n        return SERVER_PROPS_GET_INIT_PROPS_CONFLICT;\n    },\n    SERVER_PROPS_SSG_CONFLICT: function() {\n        return SERVER_PROPS_SSG_CONFLICT;\n    },\n    SERVER_RUNTIME: function() {\n        return SERVER_RUNTIME;\n    },\n    SSG_FALLBACK_EXPORT_ERROR: function() {\n        return SSG_FALLBACK_EXPORT_ERROR;\n    },\n    SSG_GET_INITIAL_PROPS_CONFLICT: function() {\n        return SSG_GET_INITIAL_PROPS_CONFLICT;\n    },\n    STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() {\n        return STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR;\n    },\n    UNSTABLE_REVALIDATE_RENAME_ERROR: function() {\n        return UNSTABLE_REVALIDATE_RENAME_ERROR;\n    },\n    WEBPACK_LAYERS: function() {\n        return WEBPACK_LAYERS;\n    },\n    WEBPACK_RESOURCE_QUERIES: function() {\n        return WEBPACK_RESOURCE_QUERIES;\n    }\n});\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\nconst PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nconst PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nconst RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nconst RSC_SUFFIX = \".rsc\";\nconst ACTION_SUFFIX = \".action\";\nconst NEXT_DATA_SUFFIX = \".json\";\nconst NEXT_META_SUFFIX = \".meta\";\nconst NEXT_BODY_SUFFIX = \".body\";\nconst NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nconst NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nconst NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nconst NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\nconst NEXT_CACHE_TAG_MAX_ITEMS = 128;\nconst NEXT_CACHE_TAG_MAX_LENGTH = 256;\nconst NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nconst NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\nconst CACHE_ONE_YEAR = 31536000;\nconst MIDDLEWARE_FILENAME = \"middleware\";\nconst MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\nconst INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\nconst PAGES_DIR_ALIAS = \"private-next-pages\";\nconst DOT_NEXT_ALIAS = \"private-dot-next\";\nconst ROOT_DIR_ALIAS = \"private-next-root-dir\";\nconst APP_DIR_ALIAS = \"private-next-app-dir\";\nconst RSC_MOD_REF_PROXY_ALIAS = \"private-next-rsc-mod-ref-proxy\";\nconst RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nconst RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-server-reference\";\nconst RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nconst RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nconst PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nconst SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nconst SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nconst SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nconst STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nconst SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nconst GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nconst GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nconst UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nconst GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nconst NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nconst SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nconst ESLINT_DEFAULT_DIRS = [\n    \"app\",\n    \"pages\",\n    \"components\",\n    \"lib\",\n    \"src\"\n];\nconst SERVER_RUNTIME = {\n    edge: \"edge\",\n    experimentalEdge: \"experimental-edge\",\n    nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n    /**\n   * The layer for the shared code between the client and server bundles.\n   */ shared: \"shared\",\n    /**\n   * React Server Components layer (rsc).\n   */ reactServerComponents: \"rsc\",\n    /**\n   * Server Side Rendering layer for app (ssr).\n   */ serverSideRendering: \"ssr\",\n    /**\n   * The browser client bundle layer for actions.\n   */ actionBrowser: \"action-browser\",\n    /**\n   * The layer for the API routes.\n   */ api: \"api\",\n    /**\n   * The layer for the middleware code.\n   */ middleware: \"middleware\",\n    /**\n   * The layer for the instrumentation hooks.\n   */ instrument: \"instrument\",\n    /**\n   * The layer for assets on the edge.\n   */ edgeAsset: \"edge-asset\",\n    /**\n   * The browser client bundle layer for App directory.\n   */ appPagesBrowser: \"app-pages-browser\",\n    /**\n   * The server bundle layer for metadata routes.\n   */ appMetadataRoute: \"app-metadata-route\",\n    /**\n   * The layer for the server bundle for App Route handlers.\n   */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n    ...WEBPACK_LAYERS_NAMES,\n    GROUP: {\n        serverOnly: [\n            WEBPACK_LAYERS_NAMES.reactServerComponents,\n            WEBPACK_LAYERS_NAMES.actionBrowser,\n            WEBPACK_LAYERS_NAMES.appMetadataRoute,\n            WEBPACK_LAYERS_NAMES.appRouteHandler,\n            WEBPACK_LAYERS_NAMES.instrument\n        ],\n        clientOnly: [\n            WEBPACK_LAYERS_NAMES.serverSideRendering,\n            WEBPACK_LAYERS_NAMES.appPagesBrowser\n        ],\n        nonClientServerTarget: [\n            // middleware and pages api\n            WEBPACK_LAYERS_NAMES.middleware,\n            WEBPACK_LAYERS_NAMES.api\n        ],\n        app: [\n            WEBPACK_LAYERS_NAMES.reactServerComponents,\n            WEBPACK_LAYERS_NAMES.actionBrowser,\n            WEBPACK_LAYERS_NAMES.appMetadataRoute,\n            WEBPACK_LAYERS_NAMES.appRouteHandler,\n            WEBPACK_LAYERS_NAMES.serverSideRendering,\n            WEBPACK_LAYERS_NAMES.appPagesBrowser,\n            WEBPACK_LAYERS_NAMES.shared,\n            WEBPACK_LAYERS_NAMES.instrument\n        ]\n    }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n    edgeSSREntry: \"__next_edge_ssr_entry__\",\n    metadata: \"__next_metadata__\",\n    metadataRoute: \"__next_metadata_route__\",\n    metadataImageMeta: \"__next_metadata_image_meta__\"\n};\n\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQWdETDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLG9CQUFvQjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNC4yLjMxX0BiYWJlbCtjb3JlQDcuMTIuM19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2NvbnN0YW50cy5qcz9hZTBiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQUNUSU9OX1NVRkZJWDogbnVsbCxcbiAgICBBUFBfRElSX0FMSUFTOiBudWxsLFxuICAgIENBQ0hFX09ORV9ZRUFSOiBudWxsLFxuICAgIERPVF9ORVhUX0FMSUFTOiBudWxsLFxuICAgIEVTTElOVF9ERUZBVUxUX0RJUlM6IG51bGwsXG4gICAgR1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBudWxsLFxuICAgIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjogbnVsbCxcbiAgICBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBudWxsLFxuICAgIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FOiBudWxsLFxuICAgIE1JRERMRVdBUkVfRklMRU5BTUU6IG51bGwsXG4gICAgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA6IG51bGwsXG4gICAgTkVYVF9CT0RZX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVM6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDogbnVsbCxcbiAgICBORVhUX0RBVEFfU1VGRklYOiBudWxsLFxuICAgIE5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVg6IG51bGwsXG4gICAgTkVYVF9NRVRBX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWDogbnVsbCxcbiAgICBOT05fU1RBTkRBUkRfTk9ERV9FTlY6IG51bGwsXG4gICAgUEFHRVNfRElSX0FMSUFTOiBudWxsLFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjogbnVsbCxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI6IG51bGwsXG4gICAgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUOiBudWxsLFxuICAgIFJPT1RfRElSX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVM6IG51bGwsXG4gICAgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fUFJPWFlfQUxJQVM6IG51bGwsXG4gICAgUlNDX0FDVElPTl9WQUxJREFURV9BTElBUzogbnVsbCxcbiAgICBSU0NfTU9EX1JFRl9QUk9YWV9BTElBUzogbnVsbCxcbiAgICBSU0NfUFJFRkVUQ0hfU1VGRklYOiBudWxsLFxuICAgIFJTQ19TVUZGSVg6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjogbnVsbCxcbiAgICBTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX1NTR19DT05GTElDVDogbnVsbCxcbiAgICBTRVJWRVJfUlVOVElNRTogbnVsbCxcbiAgICBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SOiBudWxsLFxuICAgIFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDogbnVsbCxcbiAgICBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I6IG51bGwsXG4gICAgVU5TVEFCTEVfUkVWQUxJREFURV9SRU5BTUVfRVJST1I6IG51bGwsXG4gICAgV0VCUEFDS19MQVlFUlM6IG51bGwsXG4gICAgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEFDVElPTl9TVUZGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1NVRkZJWDtcbiAgICB9LFxuICAgIEFQUF9ESVJfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQVBQX0RJUl9BTElBUztcbiAgICB9LFxuICAgIENBQ0hFX09ORV9ZRUFSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENBQ0hFX09ORV9ZRUFSO1xuICAgIH0sXG4gICAgRE9UX05FWFRfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRE9UX05FWFRfQUxJQVM7XG4gICAgfSxcbiAgICBFU0xJTlRfREVGQVVMVF9ESVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVTTElOVF9ERUZBVUxUX0RJUlM7XG4gICAgfSxcbiAgICBHU1BfTk9fUkVUVVJORURfVkFMVUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NQX05PX1JFVFVSTkVEX1ZBTFVFO1xuICAgIH0sXG4gICAgR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjtcbiAgICB9LFxuICAgIEdTU1BfTk9fUkVUVVJORURfVkFMVUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NTUF9OT19SRVRVUk5FRF9WQUxVRTtcbiAgICB9LFxuICAgIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9GSUxFTkFNRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX0ZJTEVOQU1FO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA7XG4gICAgfSxcbiAgICBORVhUX0JPRFlfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQk9EWV9TVUZGSVg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfVEFHU19IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9UQUdfTUFYX0lURU1TO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIO1xuICAgIH0sXG4gICAgTkVYVF9EQVRBX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0RBVEFfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0lOVEVSQ0VQVElPTl9NQVJLRVJfUFJFRklYO1xuICAgIH0sXG4gICAgTkVYVF9NRVRBX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX01FVEFfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg7XG4gICAgfSxcbiAgICBOT05fU1RBTkRBUkRfTk9ERV9FTlY6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTk9OX1NUQU5EQVJEX05PREVfRU5WO1xuICAgIH0sXG4gICAgUEFHRVNfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBR0VTX0RJUl9BTElBUztcbiAgICB9LFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVI7XG4gICAgfSxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSO1xuICAgIH0sXG4gICAgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDtcbiAgICB9LFxuICAgIFJPT1RfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJPT1RfRElSX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fUFJPWFlfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9QUk9YWV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9WQUxJREFURV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX1BSRUZFVENIX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfUFJFRkVUQ0hfU1VGRklYO1xuICAgIH0sXG4gICAgUlNDX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfU1VGRklYO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVDtcbiAgICB9LFxuICAgIFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1BST1BTX1NTR19DT05GTElDVDtcbiAgICB9LFxuICAgIFNFUlZFUl9SVU5USU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9SVU5USU1FO1xuICAgIH0sXG4gICAgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SO1xuICAgIH0sXG4gICAgU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDtcbiAgICB9LFxuICAgIFNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I7XG4gICAgfSxcbiAgICBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjtcbiAgICB9LFxuICAgIFdFQlBBQ0tfTEFZRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFdFQlBBQ0tfTEFZRVJTO1xuICAgIH0sXG4gICAgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUztcbiAgICB9XG59KTtcbmNvbnN0IE5FWFRfUVVFUllfUEFSQU1fUFJFRklYID0gXCJueHRQXCI7XG5jb25zdCBORVhUX0lOVEVSQ0VQVElPTl9NQVJLRVJfUFJFRklYID0gXCJueHRJXCI7XG5jb25zdCBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVIgPSBcIngtcHJlcmVuZGVyLXJldmFsaWRhdGVcIjtcbmNvbnN0IFBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUiA9IFwieC1wcmVyZW5kZXItcmV2YWxpZGF0ZS1pZi1nZW5lcmF0ZWRcIjtcbmNvbnN0IFJTQ19QUkVGRVRDSF9TVUZGSVggPSBcIi5wcmVmZXRjaC5yc2NcIjtcbmNvbnN0IFJTQ19TVUZGSVggPSBcIi5yc2NcIjtcbmNvbnN0IEFDVElPTl9TVUZGSVggPSBcIi5hY3Rpb25cIjtcbmNvbnN0IE5FWFRfREFUQV9TVUZGSVggPSBcIi5qc29uXCI7XG5jb25zdCBORVhUX01FVEFfU1VGRklYID0gXCIubWV0YVwiO1xuY29uc3QgTkVYVF9CT0RZX1NVRkZJWCA9IFwiLmJvZHlcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfVEFHU19IRUFERVIgPSBcIngtbmV4dC1jYWNoZS10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVIgPSBcIngtbmV4dC1jYWNoZS1zb2Z0LXRhZ3NcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVIgPSBcIngtbmV4dC1yZXZhbGlkYXRlZC10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUiA9IFwieC1uZXh0LXJldmFsaWRhdGUtdGFnLXRva2VuXCI7XG5jb25zdCBORVhUX0NBQ0hFX1RBR19NQVhfSVRFTVMgPSAxMjg7XG5jb25zdCBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIID0gMjU2O1xuY29uc3QgTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIID0gMTAyNDtcbmNvbnN0IE5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEID0gXCJfTl9UX1wiO1xuY29uc3QgQ0FDSEVfT05FX1lFQVIgPSAzMTUzNjAwMDtcbmNvbnN0IE1JRERMRVdBUkVfRklMRU5BTUUgPSBcIm1pZGRsZXdhcmVcIjtcbmNvbnN0IE1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQID0gYCg/OnNyYy8pPyR7TUlERExFV0FSRV9GSUxFTkFNRX1gO1xuY29uc3QgSU5TVFJVTUVOVEFUSU9OX0hPT0tfRklMRU5BTUUgPSBcImluc3RydW1lbnRhdGlvblwiO1xuY29uc3QgUEFHRVNfRElSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcGFnZXNcIjtcbmNvbnN0IERPVF9ORVhUX0FMSUFTID0gXCJwcml2YXRlLWRvdC1uZXh0XCI7XG5jb25zdCBST09UX0RJUl9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJvb3QtZGlyXCI7XG5jb25zdCBBUFBfRElSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtYXBwLWRpclwiO1xuY29uc3QgUlNDX01PRF9SRUZfUFJPWFlfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtbW9kLXJlZi1wcm94eVwiO1xuY29uc3QgUlNDX0FDVElPTl9WQUxJREFURV9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1hY3Rpb24tdmFsaWRhdGVcIjtcbmNvbnN0IFJTQ19BQ1RJT05fUFJPWFlfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2Mtc2VydmVyLXJlZmVyZW5jZVwiO1xuY29uc3QgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi1lbmNyeXB0aW9uXCI7XG5jb25zdCBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi1jbGllbnQtd3JhcHBlclwiO1xuY29uc3QgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IGhhdmUgYSAnX25leHQnIGZvbGRlciBpbnNpZGUgb2YgeW91ciBwdWJsaWMgZm9sZGVyLiBUaGlzIGNvbmZsaWN0cyB3aXRoIHRoZSBpbnRlcm5hbCAnL19uZXh0JyByb3V0ZS4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHVibGljLW5leHQtZm9sZGVyLWNvbmZsaWN0YDtcbmNvbnN0IFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVCA9IGBZb3UgY2FuIG5vdCB1c2UgZ2V0SW5pdGlhbFByb3BzIHdpdGggZ2V0U3RhdGljUHJvcHMuIFRvIHVzZSBTU0csIHBsZWFzZSByZW1vdmUgeW91ciBnZXRJbml0aWFsUHJvcHNgO1xuY29uc3QgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IHVzZSBnZXRJbml0aWFsUHJvcHMgd2l0aCBnZXRTZXJ2ZXJTaWRlUHJvcHMuIFBsZWFzZSByZW1vdmUgZ2V0SW5pdGlhbFByb3BzLmA7XG5jb25zdCBTRVJWRVJfUFJPUFNfU1NHX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IHVzZSBnZXRTdGF0aWNQcm9wcyBvciBnZXRTdGF0aWNQYXRocyB3aXRoIGdldFNlcnZlclNpZGVQcm9wcy4gVG8gdXNlIFNTRywgcGxlYXNlIHJlbW92ZSBnZXRTZXJ2ZXJTaWRlUHJvcHNgO1xuY29uc3QgU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SID0gYGNhbiBub3QgaGF2ZSBnZXRJbml0aWFsUHJvcHMvZ2V0U2VydmVyU2lkZVByb3BzLCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy80MDQtZ2V0LWluaXRpYWwtcHJvcHNgO1xuY29uc3QgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUiA9IGBwYWdlcyB3aXRoIFxcYGdldFNlcnZlclNpZGVQcm9wc1xcYCBjYW4gbm90IGJlIGV4cG9ydGVkLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dzc3AtZXhwb3J0YDtcbmNvbnN0IEdTUF9OT19SRVRVUk5FRF9WQUxVRSA9IFwiWW91ciBgZ2V0U3RhdGljUHJvcHNgIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYWRkIGEgYHJldHVybmA/XCI7XG5jb25zdCBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFID0gXCJZb3VyIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYWRkIGEgYHJldHVybmA/XCI7XG5jb25zdCBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUiA9IFwiVGhlIGB1bnN0YWJsZV9yZXZhbGlkYXRlYCBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgZm9yIGdlbmVyYWwgdXNlLlxcblwiICsgXCJQbGVhc2UgdXNlIGByZXZhbGlkYXRlYCBpbnN0ZWFkLlwiO1xuY29uc3QgR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SID0gYGNhbiBub3QgYmUgYXR0YWNoZWQgdG8gYSBwYWdlJ3MgY29tcG9uZW50IGFuZCBtdXN0IGJlIGV4cG9ydGVkIGZyb20gdGhlIHBhZ2UuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ3NzcC1jb21wb25lbnQtbWVtYmVyYDtcbmNvbnN0IE5PTl9TVEFOREFSRF9OT0RFX0VOViA9IGBZb3UgYXJlIHVzaW5nIGEgbm9uLXN0YW5kYXJkIFwiTk9ERV9FTlZcIiB2YWx1ZSBpbiB5b3VyIGVudmlyb25tZW50LiBUaGlzIGNyZWF0ZXMgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBwcm9qZWN0IGFuZCBpcyBzdHJvbmdseSBhZHZpc2VkIGFnYWluc3QuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm9uLXN0YW5kYXJkLW5vZGUtZW52YDtcbmNvbnN0IFNTR19GQUxMQkFDS19FWFBPUlRfRVJST1IgPSBgUGFnZXMgd2l0aCBcXGBmYWxsYmFja1xcYCBlbmFibGVkIGluIFxcYGdldFN0YXRpY1BhdGhzXFxgIGNhbiBub3QgYmUgZXhwb3J0ZWQuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvc3NnLWZhbGxiYWNrLXRydWUtZXhwb3J0YDtcbmNvbnN0IEVTTElOVF9ERUZBVUxUX0RJUlMgPSBbXG4gICAgXCJhcHBcIixcbiAgICBcInBhZ2VzXCIsXG4gICAgXCJjb21wb25lbnRzXCIsXG4gICAgXCJsaWJcIixcbiAgICBcInNyY1wiXG5dO1xuY29uc3QgU0VSVkVSX1JVTlRJTUUgPSB7XG4gICAgZWRnZTogXCJlZGdlXCIsXG4gICAgZXhwZXJpbWVudGFsRWRnZTogXCJleHBlcmltZW50YWwtZWRnZVwiLFxuICAgIG5vZGVqczogXCJub2RlanNcIlxufTtcbi8qKlxuICogVGhlIG5hbWVzIG9mIHRoZSB3ZWJwYWNrIGxheWVycy4gVGhlc2UgbGF5ZXJzIGFyZSB0aGUgcHJpbWl0aXZlcyBmb3IgdGhlXG4gKiB3ZWJwYWNrIGNodW5rcy5cbiAqLyBjb25zdCBXRUJQQUNLX0xBWUVSU19OQU1FUyA9IHtcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgc2hhcmVkIGNvZGUgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgYnVuZGxlcy5cbiAgICovIHNoYXJlZDogXCJzaGFyZWRcIixcbiAgICAvKipcbiAgICogUmVhY3QgU2VydmVyIENvbXBvbmVudHMgbGF5ZXIgKHJzYykuXG4gICAqLyByZWFjdFNlcnZlckNvbXBvbmVudHM6IFwicnNjXCIsXG4gICAgLyoqXG4gICAqIFNlcnZlciBTaWRlIFJlbmRlcmluZyBsYXllciBmb3IgYXBwIChzc3IpLlxuICAgKi8gc2VydmVyU2lkZVJlbmRlcmluZzogXCJzc3JcIixcbiAgICAvKipcbiAgICogVGhlIGJyb3dzZXIgY2xpZW50IGJ1bmRsZSBsYXllciBmb3IgYWN0aW9ucy5cbiAgICovIGFjdGlvbkJyb3dzZXI6IFwiYWN0aW9uLWJyb3dzZXJcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgQVBJIHJvdXRlcy5cbiAgICovIGFwaTogXCJhcGlcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgbWlkZGxld2FyZSBjb2RlLlxuICAgKi8gbWlkZGxld2FyZTogXCJtaWRkbGV3YXJlXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIGluc3RydW1lbnRhdGlvbiBob29rcy5cbiAgICovIGluc3RydW1lbnQ6IFwiaW5zdHJ1bWVudFwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIGFzc2V0cyBvbiB0aGUgZWRnZS5cbiAgICovIGVkZ2VBc3NldDogXCJlZGdlLWFzc2V0XCIsXG4gICAgLyoqXG4gICAqIFRoZSBicm93c2VyIGNsaWVudCBidW5kbGUgbGF5ZXIgZm9yIEFwcCBkaXJlY3RvcnkuXG4gICAqLyBhcHBQYWdlc0Jyb3dzZXI6IFwiYXBwLXBhZ2VzLWJyb3dzZXJcIixcbiAgICAvKipcbiAgICogVGhlIHNlcnZlciBidW5kbGUgbGF5ZXIgZm9yIG1ldGFkYXRhIHJvdXRlcy5cbiAgICovIGFwcE1ldGFkYXRhUm91dGU6IFwiYXBwLW1ldGFkYXRhLXJvdXRlXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIHNlcnZlciBidW5kbGUgZm9yIEFwcCBSb3V0ZSBoYW5kbGVycy5cbiAgICovIGFwcFJvdXRlSGFuZGxlcjogXCJhcHAtcm91dGUtaGFuZGxlclwiXG59O1xuY29uc3QgV0VCUEFDS19MQVlFUlMgPSB7XG4gICAgLi4uV0VCUEFDS19MQVlFUlNfTkFNRVMsXG4gICAgR1JPVVA6IHtcbiAgICAgICAgc2VydmVyT25seTogW1xuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMucmVhY3RTZXJ2ZXJDb21wb25lbnRzLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYWN0aW9uQnJvd3NlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcE1ldGFkYXRhUm91dGUsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBSb3V0ZUhhbmRsZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5pbnN0cnVtZW50XG4gICAgICAgIF0sXG4gICAgICAgIGNsaWVudE9ubHk6IFtcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnNlcnZlclNpZGVSZW5kZXJpbmcsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBQYWdlc0Jyb3dzZXJcbiAgICAgICAgXSxcbiAgICAgICAgbm9uQ2xpZW50U2VydmVyVGFyZ2V0OiBbXG4gICAgICAgICAgICAvLyBtaWRkbGV3YXJlIGFuZCBwYWdlcyBhcGlcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLm1pZGRsZXdhcmUsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcGlcbiAgICAgICAgXSxcbiAgICAgICAgYXBwOiBbXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5yZWFjdFNlcnZlckNvbXBvbmVudHMsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hY3Rpb25Ccm93c2VyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwTWV0YWRhdGFSb3V0ZSxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcFJvdXRlSGFuZGxlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnNlcnZlclNpZGVSZW5kZXJpbmcsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBQYWdlc0Jyb3dzZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5zaGFyZWQsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5pbnN0cnVtZW50XG4gICAgICAgIF1cbiAgICB9XG59O1xuY29uc3QgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTID0ge1xuICAgIGVkZ2VTU1JFbnRyeTogXCJfX25leHRfZWRnZV9zc3JfZW50cnlfX1wiLFxuICAgIG1ldGFkYXRhOiBcIl9fbmV4dF9tZXRhZGF0YV9fXCIsXG4gICAgbWV0YWRhdGFSb3V0ZTogXCJfX25leHRfbWV0YWRhdGFfcm91dGVfX1wiLFxuICAgIG1ldGFkYXRhSW1hZ2VNZXRhOiBcIl9fbmV4dF9tZXRhZGF0YV9pbWFnZV9tZXRhX19cIlxufTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/lib/constants.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/tabbable@6.2.0/node_modules/tabbable/dist/index.esm.js":
 | 
						||
/*!***********************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/tabbable@6.2.0/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS90YWJiYWJsZUA2LjIuMC9ub2RlX21vZHVsZXMvdGFiYmFibGUvZGlzdC9pbmRleC5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQjtBQUNBLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0U7O0FBRXBFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQiwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLDRCQUE0QjtBQUN2QyxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsb0JBQW9CO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCOztBQUVBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCLGNBQWMsU0FBUztBQUN2QixjQUFjLFdBQVc7QUFDekI7O0FBRUE7QUFDQSxhQUFhLFFBQVE7QUFDckIsY0FBYyx1QkFBdUIsaURBQWlEO0FBQ3RGO0FBQ0E7QUFDQSxjQUFjLDRCQUE0QjtBQUMx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Mi4wL25vZGVfbW9kdWxlcy90YWJiYWJsZS9kaXN0L2luZGV4LmVzbS5qcz9iNzI0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuKiB0YWJiYWJsZSA2LjIuMFxuKiBAbGljZW5zZSBNSVQsIGh0dHBzOi8vZ2l0aHViLmNvbS9mb2N1cy10cmFwL3RhYmJhYmxlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiovXG4vLyBOT1RFOiBzZXBhcmF0ZSBgOm5vdCgpYCBzZWxlY3RvcnMgaGFzIGJyb2FkZXIgYnJvd3NlciBzdXBwb3J0IHRoYW4gdGhlIG5ld2VyXG4vLyAgYDpub3QoW2luZXJ0XSwgW2luZXJ0XSAqKWAgKEZlYiAyMDIzKVxuLy8gQ0FSRUZVTDogSlNEb20gZG9lcyBub3Qgc3VwcG9ydCBgOm5vdChbaW5lcnRdICopYCBhcyBhIHNlbGVjdG9yOyB1c2luZyBpdCBjYXVzZXNcbi8vICB0aGUgZW50aXJlIHF1ZXJ5IHRvIGZhaWwsIHJlc3VsdGluZyBpbiBubyBub2RlcyBmb3VuZCwgd2hpY2ggd2lsbCBicmVhayBhIGxvdFxuLy8gIG9mIHRoaW5ncy4uLiBzbyB3ZSBoYXZlIHRvIHJlbHkgb24gSlMgdG8gaWRlbnRpZnkgbm9kZXMgaW5zaWRlIGFuIGluZXJ0IGNvbnRhaW5lclxudmFyIGNhbmRpZGF0ZVNlbGVjdG9ycyA9IFsnaW5wdXQ6bm90KFtpbmVydF0pJywgJ3NlbGVjdDpub3QoW2luZXJ0XSknLCAndGV4dGFyZWE6bm90KFtpbmVydF0pJywgJ2FbaHJlZl06bm90KFtpbmVydF0pJywgJ2J1dHRvbjpub3QoW2luZXJ0XSknLCAnW3RhYmluZGV4XTpub3Qoc2xvdCk6bm90KFtpbmVydF0pJywgJ2F1ZGlvW2NvbnRyb2xzXTpub3QoW2luZXJ0XSknLCAndmlkZW9bY29udHJvbHNdOm5vdChbaW5lcnRdKScsICdbY29udGVudGVkaXRhYmxlXTpub3QoW2NvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCJdKTpub3QoW2luZXJ0XSknLCAnZGV0YWlscz5zdW1tYXJ5OmZpcnN0LW9mLXR5cGU6bm90KFtpbmVydF0pJywgJ2RldGFpbHM6bm90KFtpbmVydF0pJ107XG52YXIgY2FuZGlkYXRlU2VsZWN0b3IgPSAvKiAjX19QVVJFX18gKi9jYW5kaWRhdGVTZWxlY3RvcnMuam9pbignLCcpO1xudmFyIE5vRWxlbWVudCA9IHR5cGVvZiBFbGVtZW50ID09PSAndW5kZWZpbmVkJztcbnZhciBtYXRjaGVzID0gTm9FbGVtZW50ID8gZnVuY3Rpb24gKCkge30gOiBFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzIHx8IEVsZW1lbnQucHJvdG90eXBlLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnQucHJvdG90eXBlLndlYmtpdE1hdGNoZXNTZWxlY3RvcjtcbnZhciBnZXRSb290Tm9kZSA9ICFOb0VsZW1lbnQgJiYgRWxlbWVudC5wcm90b3R5cGUuZ2V0Um9vdE5vZGUgPyBmdW5jdGlvbiAoZWxlbWVudCkge1xuICB2YXIgX2VsZW1lbnQkZ2V0Um9vdE5vZGU7XG4gIHJldHVybiBlbGVtZW50ID09PSBudWxsIHx8IGVsZW1lbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IChfZWxlbWVudCRnZXRSb290Tm9kZSA9IGVsZW1lbnQuZ2V0Um9vdE5vZGUpID09PSBudWxsIHx8IF9lbGVtZW50JGdldFJvb3ROb2RlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZWxlbWVudCRnZXRSb290Tm9kZS5jYWxsKGVsZW1lbnQpO1xufSA6IGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gIHJldHVybiBlbGVtZW50ID09PSBudWxsIHx8IGVsZW1lbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGVsZW1lbnQub3duZXJEb2N1bWVudDtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiBhIG5vZGUgaXMgaW5lcnQgb3IgaW4gYW4gaW5lcnQgYW5jZXN0b3IuXG4gKiBAcGFyYW0ge0VsZW1lbnR9IFtub2RlXVxuICogQHBhcmFtIHtib29sZWFufSBbbG9va1VwXSBJZiB0cnVlIGFuZCBgbm9kZWAgaXMgbm90IGluZXJ0LCBsb29rcyB1cCBhdCBhbmNlc3RvcnMgdG9cbiAqICBzZWUgaWYgYW55IG9mIHRoZW0gYXJlIGluZXJ0LiBJZiBmYWxzZSwgb25seSBgbm9kZWAgaXRzZWxmIGlzIGNvbnNpZGVyZWQuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBpbmVydCBpdHNlbGYgb3IgYnkgd2F5IG9mIGJlaW5nIGluIGFuIGluZXJ0IGFuY2VzdG9yLlxuICogIEZhbHNlIGlmIGBub2RlYCBpcyBmYWxzeS5cbiAqL1xudmFyIGlzSW5lcnQgPSBmdW5jdGlvbiBpc0luZXJ0KG5vZGUsIGxvb2tVcCkge1xuICB2YXIgX25vZGUkZ2V0QXR0cmlidXRlO1xuICBpZiAobG9va1VwID09PSB2b2lkIDApIHtcbiAgICBsb29rVXAgPSB0cnVlO1xuICB9XG4gIC8vIENBUkVGVUw6IEpTRG9tIGRvZXMgbm90IHN1cHBvcnQgaW5lcnQgYXQgYWxsLCBzbyB3ZSBjYW4ndCB1c2UgdGhlIGBIVE1MRWxlbWVudC5pbmVydGBcbiAgLy8gIEpTIEFQSSBwcm9wZXJ0eTsgd2UgaGF2ZSB0byBjaGVjayB0aGUgYXR0cmlidXRlLCB3aGljaCBjYW4gZWl0aGVyIGJlIGVtcHR5IG9yICd0cnVlJztcbiAgLy8gIGlmIGl0J3MgYG51bGxgIChub3Qgc3BlY2lmaWVkKSBvciAnZmFsc2UnLCBpdCdzIGFuIGFjdGl2ZSBlbGVtZW50XG4gIHZhciBpbmVydEF0dCA9IG5vZGUgPT09IG51bGwgfHwgbm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogKF9ub2RlJGdldEF0dHJpYnV0ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKSA9PT0gbnVsbCB8fCBfbm9kZSRnZXRBdHRyaWJ1dGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9ub2RlJGdldEF0dHJpYnV0ZS5jYWxsKG5vZGUsICdpbmVydCcpO1xuICB2YXIgaW5lcnQgPSBpbmVydEF0dCA9PT0gJycgfHwgaW5lcnRBdHQgPT09ICd0cnVlJztcblxuICAvLyBOT1RFOiB0aGlzIGNvdWxkIGFsc28gYmUgaGFuZGxlZCB3aXRoIGBub2RlLm1hdGNoZXMoJ1tpbmVydF0sIDppcyhbaW5lcnRdICopJylgXG4gIC8vICBpZiBpdCB3ZXJlbid0IGZvciBgbWF0Y2hlcygpYCBub3QgYmVpbmcgYSBmdW5jdGlvbiBvbiBzaGFkb3cgcm9vdHM7IHRoZSBmb2xsb3dpbmdcbiAgLy8gIGNvZGUgd29ya3MgZm9yIGFueSBraW5kIG9mIG5vZGVcbiAgLy8gQ0FSRUZVTDogSlNEb20gZG9lcyBub3QgYXBwZWFyIHRvIHN1cHBvcnQgY2VydGFpbiBzZWxlY3RvcnMgbGlrZSBgOm5vdChbaW5lcnRdICopYFxuICAvLyAgc28gaXQgbGlrZWx5IHdvdWxkIG5vdCBzdXBwb3J0IGA6aXMoW2luZXJ0XSAqKWAgZWl0aGVyLi4uXG4gIHZhciByZXN1bHQgPSBpbmVydCB8fCBsb29rVXAgJiYgbm9kZSAmJiBpc0luZXJ0KG5vZGUucGFyZW50Tm9kZSk7IC8vIHJlY3Vyc2l2ZVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBub2RlJ3MgY29udGVudCBpcyBlZGl0YWJsZS5cbiAqIEBwYXJhbSB7RWxlbWVudH0gW25vZGVdXG4gKiBAcmV0dXJucyBUcnVlIGlmIGl0J3MgY29udGVudC1lZGl0YWJsZTsgZmFsc2UgaWYgaXQncyBub3Qgb3IgYG5vZGVgIGlzIGZhbHN5LlxuICovXG52YXIgaXNDb250ZW50RWRpdGFibGUgPSBmdW5jdGlvbiBpc0NvbnRlbnRFZGl0YWJsZShub2RlKSB7XG4gIHZhciBfbm9kZSRnZXRBdHRyaWJ1dGUyO1xuICAvLyBDQVJFRlVMOiBKU0RvbSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBgSFRNTEVsZW1lbnQuaXNDb250ZW50RWRpdGFibGVgIEFQSSBzbyB3ZSBoYXZlXG4gIC8vICB0byB1c2UgdGhlIGF0dHJpYnV0ZSBkaXJlY3RseSB0byBjaGVjayBmb3IgdGhpcywgd2hpY2ggY2FuIGVpdGhlciBiZSBlbXB0eSBvciAndHJ1ZSc7XG4gIC8vICBpZiBpdCdzIGBudWxsYCAobm90IHNwZWNpZmllZCkgb3IgJ2ZhbHNlJywgaXQncyBhIG5vbi1lZGl0YWJsZSBlbGVtZW50XG4gIHZhciBhdHRWYWx1ZSA9IG5vZGUgPT09IG51bGwgfHwgbm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogKF9ub2RlJGdldEF0dHJpYnV0ZTIgPSBub2RlLmdldEF0dHJpYnV0ZSkgPT09IG51bGwgfHwgX25vZGUkZ2V0QXR0cmlidXRlMiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX25vZGUkZ2V0QXR0cmlidXRlMi5jYWxsKG5vZGUsICdjb250ZW50ZWRpdGFibGUnKTtcbiAgcmV0dXJuIGF0dFZhbHVlID09PSAnJyB8fCBhdHRWYWx1ZSA9PT0gJ3RydWUnO1xufTtcblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnR9IGVsIGNvbnRhaW5lciB0byBjaGVjayBpblxuICogQHBhcmFtIHtib29sZWFufSBpbmNsdWRlQ29udGFpbmVyIGFkZCBjb250YWluZXIgdG8gY2hlY2tcbiAqIEBwYXJhbSB7KG5vZGU6IEVsZW1lbnQpID0+IGJvb2xlYW59IGZpbHRlciBmaWx0ZXIgY2FuZGlkYXRlc1xuICogQHJldHVybnMge0VsZW1lbnRbXX1cbiAqL1xudmFyIGdldENhbmRpZGF0ZXMgPSBmdW5jdGlvbiBnZXRDYW5kaWRhdGVzKGVsLCBpbmNsdWRlQ29udGFpbmVyLCBmaWx0ZXIpIHtcbiAgLy8gZXZlbiBpZiBgaW5jbHVkZUNvbnRhaW5lcj1mYWxzZWAsIHdlIHN0aWxsIGhhdmUgdG8gY2hlY2sgaXQgZm9yIGluZXJ0bmVzcyBiZWNhdXNlXG4gIC8vICBpZiBpdCdzIGluZXJ0LCBhbGwgaXRzIGNoaWxkcmVuIGFyZSBpbmVydFxuICBpZiAoaXNJbmVydChlbCkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgdmFyIGNhbmRpZGF0ZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuYXBwbHkoZWwucXVlcnlTZWxlY3RvckFsbChjYW5kaWRhdGVTZWxlY3RvcikpO1xuICBpZiAoaW5jbHVkZUNvbnRhaW5lciAmJiBtYXRjaGVzLmNhbGwoZWwsIGNhbmRpZGF0ZVNlbGVjdG9yKSkge1xuICAgIGNhbmRpZGF0ZXMudW5zaGlmdChlbCk7XG4gIH1cbiAgY2FuZGlkYXRlcyA9IGNhbmRpZGF0ZXMuZmlsdGVyKGZpbHRlcik7XG4gIHJldHVybiBjYW5kaWRhdGVzO1xufTtcblxuLyoqXG4gKiBAY2FsbGJhY2sgR2V0U2hhZG93Um9vdFxuICogQHBhcmFtIHtFbGVtZW50fSBlbGVtZW50IHRvIGNoZWNrIGZvciBzaGFkb3cgcm9vdFxuICogQHJldHVybnMge1NoYWRvd1Jvb3R8Ym9vbGVhbn0gU2hhZG93Um9vdCBpZiBhdmFpbGFibGUgb3IgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIGEgc2hhZG93Um9vdCBpcyBhdHRhY2hlZCBidXQgbm90IGF2YWlsYWJsZS5cbiAqL1xuXG4vKipcbiAqIEBjYWxsYmFjayBTaGFkb3dSb290RmlsdGVyXG4gKiBAcGFyYW0ge0VsZW1lbnR9IHNoYWRvd0hvc3ROb2RlIHRoZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIHNoYWRvdyBjb250ZW50XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiBhIHNoYWRvdyByb290IGNvdWxkIHBvdGVudGlhbGx5IGNvbnRhaW4gdmFsaWQgY2FuZGlkYXRlcy5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IENhbmRpZGF0ZVNjb3BlXG4gKiBAcHJvcGVydHkge0VsZW1lbnR9IHNjb3BlUGFyZW50IGNvbnRhaW5zIGlubmVyIGNhbmRpZGF0ZXNcbiAqIEBwcm9wZXJ0eSB7RWxlbWVudFtdfSBjYW5kaWRhdGVzIGxpc3Qgb2YgY2FuZGlkYXRlcyBmb3VuZCBpbiB0aGUgc2NvcGUgcGFyZW50XG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBJdGVyYXRpdmVPcHRpb25zXG4gKiBAcHJvcGVydHkge0dldFNoYWRvd1Jvb3R8Ym9vbGVhbn0gZ2V0U2hhZG93Um9vdCB0cnVlIGlmIHNoYWRvdyBzdXBwb3J0IGlzIGVuYWJsZWQ7IGZhbHN5IGlmIG5vdDtcbiAqICBpZiBhIGZ1bmN0aW9uLCBpbXBsaWVzIHNoYWRvdyBzdXBwb3J0IGlzIGVuYWJsZWQgYW5kIGVpdGhlciByZXR1cm5zIHRoZSBzaGFkb3cgcm9vdCBvZiBhbiBlbGVtZW50XG4gKiAgb3IgYSBib29sZWFuIHN0YXRpbmcgaWYgaXQgaGFzIGFuIHVuZGlzY2xvc2VkIHNoYWRvdyByb290XG4gKiBAcHJvcGVydHkgeyhub2RlOiBFbGVtZW50KSA9PiBib29sZWFufSBmaWx0ZXIgZmlsdGVyIGNhbmRpZGF0ZXNcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gZmxhdHRlbiBpZiB0cnVlIHRoZW4gcmVzdWx0IHdpbGwgZmxhdHRlbiBhbnkgQ2FuZGlkYXRlU2NvcGUgaW50byB0aGUgcmV0dXJuZWQgbGlzdFxuICogQHByb3BlcnR5IHtTaGFkb3dSb290RmlsdGVyfSBzaGFkb3dSb290RmlsdGVyIGZpbHRlciBzaGFkb3cgcm9vdHM7XG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnRbXX0gZWxlbWVudHMgbGlzdCBvZiBlbGVtZW50IGNvbnRhaW5lcnMgdG8gbWF0Y2ggY2FuZGlkYXRlcyBmcm9tXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1ZGVDb250YWluZXIgYWRkIGNvbnRhaW5lciBsaXN0IHRvIGNoZWNrXG4gKiBAcGFyYW0ge0l0ZXJhdGl2ZU9wdGlvbnN9IG9wdGlvbnNcbiAqIEByZXR1cm5zIHtBcnJheS48RWxlbWVudHxDYW5kaWRhdGVTY29wZT59XG4gKi9cbnZhciBnZXRDYW5kaWRhdGVzSXRlcmF0aXZlbHkgPSBmdW5jdGlvbiBnZXRDYW5kaWRhdGVzSXRlcmF0aXZlbHkoZWxlbWVudHMsIGluY2x1ZGVDb250YWluZXIsIG9wdGlvbnMpIHtcbiAgdmFyIGNhbmRpZGF0ZXMgPSBbXTtcbiAgdmFyIGVsZW1lbnRzVG9DaGVjayA9IEFycmF5LmZyb20oZWxlbWVudHMpO1xuICB3aGlsZSAoZWxlbWVudHNUb0NoZWNrLmxlbmd0aCkge1xuICAgIHZhciBlbGVtZW50ID0gZWxlbWVudHNUb0NoZWNrLnNoaWZ0KCk7XG4gICAgaWYgKGlzSW5lcnQoZWxlbWVudCwgZmFsc2UpKSB7XG4gICAgICAvLyBubyBuZWVkIHRvIGxvb2sgdXAgc2luY2Ugd2UncmUgZHJpbGxpbmcgZG93blxuICAgICAgLy8gYW55dGhpbmcgaW5zaWRlIHRoaXMgY29udGFpbmVyIHdpbGwgYWxzbyBiZSBpbmVydFxuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChlbGVtZW50LnRhZ05hbWUgPT09ICdTTE9UJykge1xuICAgICAgLy8gYWRkIHNoYWRvdyBkb20gc2xvdCBzY29wZSAoc2xvdCBpdHNlbGYgY2Fubm90IGJlIGZvY3VzYWJsZSlcbiAgICAgIHZhciBhc3NpZ25lZCA9IGVsZW1lbnQuYXNzaWduZWRFbGVtZW50cygpO1xuICAgICAgdmFyIGNvbnRlbnQgPSBhc3NpZ25lZC5sZW5ndGggPyBhc3NpZ25lZCA6IGVsZW1lbnQuY2hpbGRyZW47XG4gICAgICB2YXIgbmVzdGVkQ2FuZGlkYXRlcyA9IGdldENhbmRpZGF0ZXNJdGVyYXRpdmVseShjb250ZW50LCB0cnVlLCBvcHRpb25zKTtcbiAgICAgIGlmIChvcHRpb25zLmZsYXR0ZW4pIHtcbiAgICAgICAgY2FuZGlkYXRlcy5wdXNoLmFwcGx5KGNhbmRpZGF0ZXMsIG5lc3RlZENhbmRpZGF0ZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FuZGlkYXRlcy5wdXNoKHtcbiAgICAgICAgICBzY29wZVBhcmVudDogZWxlbWVudCxcbiAgICAgICAgICBjYW5kaWRhdGVzOiBuZXN0ZWRDYW5kaWRhdGVzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjaGVjayBjYW5kaWRhdGUgZWxlbWVudFxuICAgICAgdmFyIHZhbGlkQ2FuZGlkYXRlID0gbWF0Y2hlcy5jYWxsKGVsZW1lbnQsIGNhbmRpZGF0ZVNlbGVjdG9yKTtcbiAgICAgIGlmICh2YWxpZENhbmRpZGF0ZSAmJiBvcHRpb25zLmZpbHRlcihlbGVtZW50KSAmJiAoaW5jbHVkZUNvbnRhaW5lciB8fCAhZWxlbWVudHMuaW5jbHVkZXMoZWxlbWVudCkpKSB7XG4gICAgICAgIGNhbmRpZGF0ZXMucHVzaChlbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgLy8gaXRlcmF0ZSBvdmVyIHNoYWRvdyBjb250ZW50IGlmIHBvc3NpYmxlXG4gICAgICB2YXIgc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9vdCB8fFxuICAgICAgLy8gY2hlY2sgZm9yIGFuIHVuZGlzY2xvc2VkIHNoYWRvd1xuICAgICAgdHlwZW9mIG9wdGlvbnMuZ2V0U2hhZG93Um9vdCA9PT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zLmdldFNoYWRvd1Jvb3QoZWxlbWVudCk7XG5cbiAgICAgIC8vIG5vIGluZXJ0IGxvb2sgdXAgYmVjYXVzZSB3ZSdyZSBhbHJlYWR5IGRyaWxsaW5nIGRvd24gYW5kIGNoZWNraW5nIGZvciBpbmVydG5lc3NcbiAgICAgIC8vICBvbiB0aGUgd2F5IGRvd24sIHNvIGFsbCBjb250YWluZXJzIHRvIHRoaXMgcm9vdCBub2RlIHNob3VsZCBoYXZlIGFscmVhZHkgYmVlblxuICAgICAgLy8gIHZldHRlZCBhcyBub24taW5lcnRcbiAgICAgIHZhciB2YWxpZFNoYWRvd1Jvb3QgPSAhaXNJbmVydChzaGFkb3dSb290LCBmYWxzZSkgJiYgKCFvcHRpb25zLnNoYWRvd1Jvb3RGaWx0ZXIgfHwgb3B0aW9ucy5zaGFkb3dSb290RmlsdGVyKGVsZW1lbnQpKTtcbiAgICAgIGlmIChzaGFkb3dSb290ICYmIHZhbGlkU2hhZG93Um9vdCkge1xuICAgICAgICAvLyBhZGQgc2hhZG93IGRvbSBzY29wZSBJSUYgYSBzaGFkb3cgcm9vdCBub2RlIHdhcyBnaXZlbjsgb3RoZXJ3aXNlLCBhbiB1bmRpc2Nsb3NlZFxuICAgICAgICAvLyAgc2hhZG93IGV4aXN0cywgc28gbG9vayBhdCBsaWdodCBkb20gY2hpbGRyZW4gYXMgZmFsbGJhY2sgQlVUIGNyZWF0ZSBhIHNjb3BlIGZvciBhbnlcbiAgICAgICAgLy8gIGNoaWxkIGNhbmRpZGF0ZXMgZm91bmQgYmVjYXVzZSB0aGV5J3JlIGxpa2VseSBzbG90dGVkIGVsZW1lbnRzIChlbGVtZW50cyB0aGF0IGFyZVxuICAgICAgICAvLyAgY2hpbGRyZW4gb2YgdGhlIHdlYiBjb21wb25lbnQgZWxlbWVudCAod2hpY2ggaGFzIHRoZSBzaGFkb3cpLCBpbiB0aGUgbGlnaHQgZG9tLCBidXRcbiAgICAgICAgLy8gIHNsb3R0ZWQgc29tZXdoZXJlIF9pbnNpZGVfIHRoZSB1bmRpc2Nsb3NlZCBzaGFkb3cpIC0tIHRoZSBzY29wZSBpcyBjcmVhdGVkIGJlbG93LFxuICAgICAgICAvLyAgX2FmdGVyXyB3ZSByZXR1cm4gZnJvbSB0aGlzIHJlY3Vyc2l2ZSBjYWxsXG4gICAgICAgIHZhciBfbmVzdGVkQ2FuZGlkYXRlcyA9IGdldENhbmRpZGF0ZXNJdGVyYXRpdmVseShzaGFkb3dSb290ID09PSB0cnVlID8gZWxlbWVudC5jaGlsZHJlbiA6IHNoYWRvd1Jvb3QuY2hpbGRyZW4sIHRydWUsIG9wdGlvbnMpO1xuICAgICAgICBpZiAob3B0aW9ucy5mbGF0dGVuKSB7XG4gICAgICAgICAgY2FuZGlkYXRlcy5wdXNoLmFwcGx5KGNhbmRpZGF0ZXMsIF9uZXN0ZWRDYW5kaWRhdGVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjYW5kaWRhdGVzLnB1c2goe1xuICAgICAgICAgICAgc2NvcGVQYXJlbnQ6IGVsZW1lbnQsXG4gICAgICAgICAgICBjYW5kaWRhdGVzOiBfbmVzdGVkQ2FuZGlkYXRlc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSdzIG5vdCBzaGFkb3cgc28ganVzdCBkaWcgaW50byB0aGUgZWxlbWVudCdzIChsaWdodCBkb20pIGNoaWxkcmVuXG4gICAgICAgIC8vICBfX3dpdGhvdXRfXyBnaXZpbmcgdGhlIGVsZW1lbnQgc3BlY2lhbCBzY29wZSB0cmVhdG1lbnRcbiAgICAgICAgZWxlbWVudHNUb0NoZWNrLnVuc2hpZnQuYXBwbHkoZWxlbWVudHNUb0NoZWNrLCBlbGVtZW50LmNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNhbmRpZGF0ZXM7XG59O1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBub2RlIGhhcyBhbiBleHBsaWNpdGx5IHNwZWNpZmllZCBgdGFiaW5kZXhgIGF0dHJpYnV0ZS5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG5vZGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHNvOyBmYWxzZSBpZiBub3QuXG4gKi9cbnZhciBoYXNUYWJJbmRleCA9IGZ1bmN0aW9uIGhhc1RhYkluZGV4KG5vZGUpIHtcbiAgcmV0dXJuICFpc05hTihwYXJzZUludChub2RlLmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSwgMTApKTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSB0YWIgaW5kZXggb2YgYSBnaXZlbiBub2RlLlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbm9kZVxuICogQHJldHVybnMge251bWJlcn0gVGFiIG9yZGVyIChuZWdhdGl2ZSwgMCwgb3IgcG9zaXRpdmUgbnVtYmVyKS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBgbm9kZWAgaXMgZmFsc3kuXG4gKi9cbnZhciBnZXRUYWJJbmRleCA9IGZ1bmN0aW9uIGdldFRhYkluZGV4KG5vZGUpIHtcbiAgaWYgKCFub2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBub2RlIHByb3ZpZGVkJyk7XG4gIH1cbiAgaWYgKG5vZGUudGFiSW5kZXggPCAwKSB7XG4gICAgLy8gaW4gQ2hyb21lLCA8ZGV0YWlscy8+LCA8YXVkaW8gY29udHJvbHMvPiBhbmQgPHZpZGVvIGNvbnRyb2xzLz4gZWxlbWVudHMgZ2V0IGEgZGVmYXVsdFxuICAgIC8vIGB0YWJJbmRleGAgb2YgLTEgd2hlbiB0aGUgJ3RhYmluZGV4JyBhdHRyaWJ1dGUgaXNuJ3Qgc3BlY2lmaWVkIGluIHRoZSBET00sXG4gICAgLy8geWV0IHRoZXkgYXJlIHN0aWxsIHBhcnQgb2YgdGhlIHJlZ3VsYXIgdGFiIG9yZGVyOyBpbiBGRiwgdGhleSBnZXQgYSBkZWZhdWx0XG4gICAgLy8gYHRhYkluZGV4YCBvZiAwOyBzaW5jZSBDaHJvbWUgc3RpbGwgcHV0cyB0aG9zZSBlbGVtZW50cyBpbiB0aGUgcmVndWxhciB0YWJcbiAgICAvLyBvcmRlciwgY29uc2lkZXIgdGhlaXIgdGFiIGluZGV4IHRvIGJlIDAuXG4gICAgLy8gQWxzbyBicm93c2VycyBkbyBub3QgcmV0dXJuIGB0YWJJbmRleGAgY29ycmVjdGx5IGZvciBjb250ZW50RWRpdGFibGUgbm9kZXM7XG4gICAgLy8gc28gaWYgdGhleSBkb24ndCBoYXZlIGEgdGFiaW5kZXggYXR0cmlidXRlIHNwZWNpZmljYWxseSBzZXQsIGFzc3VtZSBpdCdzIDAuXG4gICAgaWYgKCgvXihBVURJT3xWSURFT3xERVRBSUxTKSQvLnRlc3Qobm9kZS50YWdOYW1lKSB8fCBpc0NvbnRlbnRFZGl0YWJsZShub2RlKSkgJiYgIWhhc1RhYkluZGV4KG5vZGUpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGFiSW5kZXg7XG59O1xuXG4vKipcbiAqIERldGVybWluZSB0aGUgdGFiIGluZGV4IG9mIGEgZ2l2ZW4gbm9kZSBfX2ZvciBzb3J0IG9yZGVyIHB1cnBvc2VzX18uXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtpc1Njb3BlXSBUcnVlIGZvciBhIGN1c3RvbSBlbGVtZW50IHdpdGggc2hhZG93IHJvb3Qgb3Igc2xvdCB0aGF0LCBieSBkZWZhdWx0LFxuICogIGhhcyB0YWJJbmRleCAtMSwgYnV0IG5lZWRzIHRvIGJlIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciBpbiBvcmRlciBmb3IgaXRzIGNvbnRlbnQgdG8gYmVcbiAqICBpbnNlcnRlZCBpbnRvIHRoZSBjb3JyZWN0IHNvcnQgcG9zaXRpb24uXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBUYWIgb3JkZXIgKG5lZ2F0aXZlLCAwLCBvciBwb3NpdGl2ZSBudW1iZXIpLlxuICovXG52YXIgZ2V0U29ydE9yZGVyVGFiSW5kZXggPSBmdW5jdGlvbiBnZXRTb3J0T3JkZXJUYWJJbmRleChub2RlLCBpc1Njb3BlKSB7XG4gIHZhciB0YWJJbmRleCA9IGdldFRhYkluZGV4KG5vZGUpO1xuICBpZiAodGFiSW5kZXggPCAwICYmIGlzU2NvcGUgJiYgIWhhc1RhYkluZGV4KG5vZGUpKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgcmV0dXJuIHRhYkluZGV4O1xufTtcbnZhciBzb3J0T3JkZXJlZFRhYmJhYmxlcyA9IGZ1bmN0aW9uIHNvcnRPcmRlcmVkVGFiYmFibGVzKGEsIGIpIHtcbiAgcmV0dXJuIGEudGFiSW5kZXggPT09IGIudGFiSW5kZXggPyBhLmRvY3VtZW50T3JkZXIgLSBiLmRvY3VtZW50T3JkZXIgOiBhLnRhYkluZGV4IC0gYi50YWJJbmRleDtcbn07XG52YXIgaXNJbnB1dCA9IGZ1bmN0aW9uIGlzSW5wdXQobm9kZSkge1xuICByZXR1cm4gbm9kZS50YWdOYW1lID09PSAnSU5QVVQnO1xufTtcbnZhciBpc0hpZGRlbklucHV0ID0gZnVuY3Rpb24gaXNIaWRkZW5JbnB1dChub2RlKSB7XG4gIHJldHVybiBpc0lucHV0KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gJ2hpZGRlbic7XG59O1xudmFyIGlzRGV0YWlsc1dpdGhTdW1tYXJ5ID0gZnVuY3Rpb24gaXNEZXRhaWxzV2l0aFN1bW1hcnkobm9kZSkge1xuICB2YXIgciA9IG5vZGUudGFnTmFtZSA9PT0gJ0RFVEFJTFMnICYmIEFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseShub2RlLmNoaWxkcmVuKS5zb21lKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHJldHVybiBjaGlsZC50YWdOYW1lID09PSAnU1VNTUFSWSc7XG4gIH0pO1xuICByZXR1cm4gcjtcbn07XG52YXIgZ2V0Q2hlY2tlZFJhZGlvID0gZnVuY3Rpb24gZ2V0Q2hlY2tlZFJhZGlvKG5vZGVzLCBmb3JtKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAobm9kZXNbaV0uY2hlY2tlZCAmJiBub2Rlc1tpXS5mb3JtID09PSBmb3JtKSB7XG4gICAgICByZXR1cm4gbm9kZXNbaV07XG4gICAgfVxuICB9XG59O1xudmFyIGlzVGFiYmFibGVSYWRpbyA9IGZ1bmN0aW9uIGlzVGFiYmFibGVSYWRpbyhub2RlKSB7XG4gIGlmICghbm9kZS5uYW1lKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIHJhZGlvU2NvcGUgPSBub2RlLmZvcm0gfHwgZ2V0Um9vdE5vZGUobm9kZSk7XG4gIHZhciBxdWVyeVJhZGlvcyA9IGZ1bmN0aW9uIHF1ZXJ5UmFkaW9zKG5hbWUpIHtcbiAgICByZXR1cm4gcmFkaW9TY29wZS5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFt0eXBlPVwicmFkaW9cIl1bbmFtZT1cIicgKyBuYW1lICsgJ1wiXScpO1xuICB9O1xuICB2YXIgcmFkaW9TZXQ7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LkNTUyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5DU1MuZXNjYXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmFkaW9TZXQgPSBxdWVyeVJhZGlvcyh3aW5kb3cuQ1NTLmVzY2FwZShub2RlLm5hbWUpKTtcbiAgfSBlbHNlIHtcbiAgICB0cnkge1xuICAgICAgcmFkaW9TZXQgPSBxdWVyeVJhZGlvcyhub2RlLm5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0xvb2tzIGxpa2UgeW91IGhhdmUgYSByYWRpbyBidXR0b24gd2l0aCBhIG5hbWUgYXR0cmlidXRlIGNvbnRhaW5pbmcgaW52YWxpZCBDU1Mgc2VsZWN0b3IgY2hhcmFjdGVycyBhbmQgbmVlZCB0aGUgQ1NTLmVzY2FwZSBwb2x5ZmlsbDogJXMnLCBlcnIubWVzc2FnZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHZhciBjaGVja2VkID0gZ2V0Q2hlY2tlZFJhZGlvKHJhZGlvU2V0LCBub2RlLmZvcm0pO1xuICByZXR1cm4gIWNoZWNrZWQgfHwgY2hlY2tlZCA9PT0gbm9kZTtcbn07XG52YXIgaXNSYWRpbyA9IGZ1bmN0aW9uIGlzUmFkaW8obm9kZSkge1xuICByZXR1cm4gaXNJbnB1dChub2RlKSAmJiBub2RlLnR5cGUgPT09ICdyYWRpbyc7XG59O1xudmFyIGlzTm9uVGFiYmFibGVSYWRpbyA9IGZ1bmN0aW9uIGlzTm9uVGFiYmFibGVSYWRpbyhub2RlKSB7XG4gIHJldHVybiBpc1JhZGlvKG5vZGUpICYmICFpc1RhYmJhYmxlUmFkaW8obm9kZSk7XG59O1xuXG4vLyBkZXRlcm1pbmVzIGlmIGEgbm9kZSBpcyB1bHRpbWF0ZWx5IGF0dGFjaGVkIHRvIHRoZSB3aW5kb3cncyBkb2N1bWVudFxudmFyIGlzTm9kZUF0dGFjaGVkID0gZnVuY3Rpb24gaXNOb2RlQXR0YWNoZWQobm9kZSkge1xuICB2YXIgX25vZGVSb290O1xuICAvLyBUaGUgcm9vdCBub2RlIGlzIHRoZSBzaGFkb3cgcm9vdCBpZiB0aGUgbm9kZSBpcyBpbiBhIHNoYWRvdyBET007IHNvbWUgZG9jdW1lbnQgb3RoZXJ3aXNlXG4gIC8vICAoYnV0IE5PVCBfdGhlXyBkb2N1bWVudDsgc2VlIHNlY29uZCAnSWYnIGNvbW1lbnQgYmVsb3cgZm9yIG1vcmUpLlxuICAvLyBJZiByb290Tm9kZSBpcyBzaGFkb3cgcm9vdCwgaXQnbGwgaGF2ZSBhIGhvc3QsIHdoaWNoIGlzIHRoZSBlbGVtZW50IHRvIHdoaWNoIHRoZSBzaGFkb3dcbiAgLy8gIGlzIGF0dGFjaGVkLCBhbmQgdGhlIG9uZSB3ZSBuZWVkIHRvIGNoZWNrIGlmIGl0J3MgaW4gdGhlIGRvY3VtZW50IG9yIG5vdCAoYmVjYXVzZSB0aGVcbiAgLy8gIHNoYWRvdywgYW5kIGFsbCBub2RlcyBpdCBjb250YWlucywgaXMgbmV2ZXIgY29uc2lkZXJlZCBpbiB0aGUgZG9jdW1lbnQgc2luY2Ugc2hhZG93c1xuICAvLyAgYmVoYXZlIGxpa2Ugc2VsZi1jb250YWluZWQgRE9NczsgYnV0IGlmIHRoZSBzaGFkb3cncyBIT1NULCB3aGljaCBpcyBwYXJ0IG9mIHRoZSBkb2N1bWVudCxcbiAgLy8gIGlzIGhpZGRlbiwgb3IgaXMgbm90IGluIHRoZSBkb2N1bWVudCBpdHNlbGYgYnV0IGlzIGRldGFjaGVkLCBpdCB3aWxsIGFmZmVjdCB0aGUgc2hhZG93J3NcbiAgLy8gIHZpc2liaWxpdHksIGluY2x1ZGluZyBhbGwgdGhlIG5vZGVzIGl0IGNvbnRhaW5zKS4gVGhlIGhvc3QgY291bGQgYmUgYW55IG5vcm1hbCBub2RlLFxuICAvLyAgb3IgYSBjdXN0b20gZWxlbWVudCAoaS5lLiB3ZWIgY29tcG9uZW50KS4gRWl0aGVyIHdheSwgdGhhdCdzIHRoZSBvbmUgdGhhdCBpcyBjb25zaWRlcmVkXG4gIC8vICBwYXJ0IG9mIHRoZSBkb2N1bWVudCwgbm90IHRoZSBzaGFkb3cgcm9vdCwgbm9yIGFueSBvZiBpdHMgY2hpbGRyZW4gKGkuZS4gdGhlIG5vZGUgYmVpbmdcbiAgLy8gIHRlc3RlZCkuXG4gIC8vIFRvIGZ1cnRoZXIgY29tcGxpY2F0ZSB0aGluZ3MsIHdlIGhhdmUgdG8gbG9vayBhbGwgdGhlIHdheSB1cCB1bnRpbCB3ZSBmaW5kIGEgc2hhZG93IEhPU1RcbiAgLy8gIHRoYXQgaXMgYXR0YWNoZWQgKG9yIGZpbmQgbm9uZSkgYmVjYXVzZSB0aGUgbm9kZSBtaWdodCBiZSBpbiBuZXN0ZWQgc2hhZG93cy4uLlxuICAvLyBJZiByb290Tm9kZSBpcyBub3QgYSBzaGFkb3cgcm9vdCwgaXQgd29uJ3QgaGF2ZSBhIGhvc3QsIGFuZCBzbyByb290Tm9kZSBzaG91bGQgYmUgdGhlXG4gIC8vICBkb2N1bWVudCAocGVyIHRoZSBkb2NzKSBhbmQgd2hpbGUgaXQncyBhIERvY3VtZW50LXR5cGUgb2JqZWN0LCB0aGF0IGRvY3VtZW50IGRvZXMgbm90XG4gIC8vICBhcHBlYXIgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIG5vZGUncyBgb3duZXJEb2N1bWVudGAgZm9yIHNvbWUgcmVhc29uLCBzbyBpdCdzIHNhZmVyXG4gIC8vICB0byBpZ25vcmUgdGhlIHJvb3ROb2RlIGF0IHRoaXMgcG9pbnQsIGFuZCB1c2UgYG5vZGUub3duZXJEb2N1bWVudGAuIE90aGVyd2lzZSxcbiAgLy8gIHVzaW5nIGByb290Tm9kZS5jb250YWlucyhub2RlKWAgd2lsbCBfYWx3YXlzXyBiZSB0cnVlIHdlJ2xsIGdldCBmYWxzZS1wb3NpdGl2ZXMgd2hlblxuICAvLyAgbm9kZSBpcyBhY3R1YWxseSBkZXRhY2hlZC5cbiAgLy8gTk9URTogSWYgYG5vZGVSb290SG9zdGAgb3IgYG5vZGVgIGhhcHBlbnMgdG8gYmUgdGhlIGBkb2N1bWVudGAgaXRzZWxmICh3aGljaCBpcyBwb3NzaWJsZVxuICAvLyAgaWYgYSB0YWJiYWJsZS9mb2N1c2FibGUgbm9kZSB3YXMgcXVpY2tseSBhZGRlZCB0byB0aGUgRE9NLCBmb2N1c2VkLCBhbmQgdGhlbiByZW1vdmVkXG4gIC8vICBmcm9tIHRoZSBET00gYXMgaW4gaHR0cHM6Ly9naXRodWIuY29tL2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC1yZWFjdC9pc3N1ZXMvOTA1KSwgdGhlblxuICAvLyAgYG93bmVyRG9jdW1lbnRgIHdpbGwgYmUgYG51bGxgLCBoZW5jZSB0aGUgb3B0aW9uYWwgY2hhaW5pbmcgb24gaXQuXG4gIHZhciBub2RlUm9vdCA9IG5vZGUgJiYgZ2V0Um9vdE5vZGUobm9kZSk7XG4gIHZhciBub2RlUm9vdEhvc3QgPSAoX25vZGVSb290ID0gbm9kZVJvb3QpID09PSBudWxsIHx8IF9ub2RlUm9vdCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX25vZGVSb290Lmhvc3Q7XG5cbiAgLy8gaW4gc29tZSBjYXNlcywgYSBkZXRhY2hlZCBub2RlIHdpbGwgcmV0dXJuIGl0c2VsZiBhcyB0aGUgcm9vdCBpbnN0ZWFkIG9mIGEgZG9jdW1lbnQgb3JcbiAgLy8gIHNoYWRvdyByb290IG9iamVjdCwgaW4gd2hpY2ggY2FzZSwgd2Ugc2hvdWxkbid0IHRyeSB0byBsb29rIGZ1cnRoZXIgdXAgdGhlIGhvc3QgY2hhaW5cbiAgdmFyIGF0dGFjaGVkID0gZmFsc2U7XG4gIGlmIChub2RlUm9vdCAmJiBub2RlUm9vdCAhPT0gbm9kZSkge1xuICAgIHZhciBfbm9kZVJvb3RIb3N0LCBfbm9kZVJvb3RIb3N0JG93bmVyRG8sIF9ub2RlJG93bmVyRG9jdW1lbnQ7XG4gICAgYXR0YWNoZWQgPSAhISgoX25vZGVSb290SG9zdCA9IG5vZGVSb290SG9zdCkgIT09IG51bGwgJiYgX25vZGVSb290SG9zdCAhPT0gdm9pZCAwICYmIChfbm9kZVJvb3RIb3N0JG93bmVyRG8gPSBfbm9kZVJvb3RIb3N0Lm93bmVyRG9jdW1lbnQpICE9PSBudWxsICYmIF9ub2RlUm9vdEhvc3Qkb3duZXJEbyAhPT0gdm9pZCAwICYmIF9ub2RlUm9vdEhvc3Qkb3duZXJEby5jb250YWlucyhub2RlUm9vdEhvc3QpIHx8IG5vZGUgIT09IG51bGwgJiYgbm9kZSAhPT0gdm9pZCAwICYmIChfbm9kZSRvd25lckRvY3VtZW50ID0gbm9kZS5vd25lckRvY3VtZW50KSAhPT0gbnVsbCAmJiBfbm9kZSRvd25lckRvY3VtZW50ICE9PSB2b2lkIDAgJiYgX25vZGUkb3duZXJEb2N1bWVudC5jb250YWlucyhub2RlKSk7XG4gICAgd2hpbGUgKCFhdHRhY2hlZCAmJiBub2RlUm9vdEhvc3QpIHtcbiAgICAgIHZhciBfbm9kZVJvb3QyLCBfbm9kZVJvb3RIb3N0MiwgX25vZGVSb290SG9zdDIkb3duZXJEO1xuICAgICAgLy8gc2luY2UgaXQncyBub3QgYXR0YWNoZWQgYW5kIHdlIGhhdmUgYSByb290IGhvc3QsIHRoZSBub2RlIE1VU1QgYmUgaW4gYSBuZXN0ZWQgc2hhZG93IERPTSxcbiAgICAgIC8vICB3aGljaCBtZWFucyB3ZSBuZWVkIHRvIGdldCB0aGUgaG9zdCdzIGhvc3QgYW5kIGNoZWNrIGlmIHRoYXQgcGFyZW50IGhvc3QgaXMgY29udGFpbmVkXG4gICAgICAvLyAgaW4gKGkuZS4gYXR0YWNoZWQgdG8pIHRoZSBkb2N1bWVudFxuICAgICAgbm9kZVJvb3QgPSBnZXRSb290Tm9kZShub2RlUm9vdEhvc3QpO1xuICAgICAgbm9kZVJvb3RIb3N0ID0gKF9ub2RlUm9vdDIgPSBub2RlUm9vdCkgPT09IG51bGwgfHwgX25vZGVSb290MiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX25vZGVSb290Mi5ob3N0O1xuICAgICAgYXR0YWNoZWQgPSAhISgoX25vZGVSb290SG9zdDIgPSBub2RlUm9vdEhvc3QpICE9PSBudWxsICYmIF9ub2RlUm9vdEhvc3QyICE9PSB2b2lkIDAgJiYgKF9ub2RlUm9vdEhvc3QyJG93bmVyRCA9IF9ub2RlUm9vdEhvc3QyLm93bmVyRG9jdW1lbnQpICE9PSBudWxsICYmIF9ub2RlUm9vdEhvc3QyJG93bmVyRCAhPT0gdm9pZCAwICYmIF9ub2RlUm9vdEhvc3QyJG93bmVyRC5jb250YWlucyhub2RlUm9vdEhvc3QpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGF0dGFjaGVkO1xufTtcbnZhciBpc1plcm9BcmVhID0gZnVuY3Rpb24gaXNaZXJvQXJlYShub2RlKSB7XG4gIHZhciBfbm9kZSRnZXRCb3VuZGluZ0NsaWUgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgIHdpZHRoID0gX25vZGUkZ2V0Qm91bmRpbmdDbGllLndpZHRoLFxuICAgIGhlaWdodCA9IF9ub2RlJGdldEJvdW5kaW5nQ2xpZS5oZWlnaHQ7XG4gIHJldHVybiB3aWR0aCA9PT0gMCAmJiBoZWlnaHQgPT09IDA7XG59O1xudmFyIGlzSGlkZGVuID0gZnVuY3Rpb24gaXNIaWRkZW4obm9kZSwgX3JlZikge1xuICB2YXIgZGlzcGxheUNoZWNrID0gX3JlZi5kaXNwbGF5Q2hlY2ssXG4gICAgZ2V0U2hhZG93Um9vdCA9IF9yZWYuZ2V0U2hhZG93Um9vdDtcbiAgLy8gTk9URTogdmlzaWJpbGl0eSB3aWxsIGJlIGB1bmRlZmluZWRgIGlmIG5vZGUgaXMgZGV0YWNoZWQgZnJvbSB0aGUgZG9jdW1lbnRcbiAgLy8gIChzZWUgbm90ZXMgYWJvdXQgdGhpcyBmdXJ0aGVyIGRvd24pLCB3aGljaCBtZWFucyB3ZSB3aWxsIGNvbnNpZGVyIGl0IHZpc2libGVcbiAgLy8gICh0aGlzIGlzIGxlZ2FjeSBiZWhhdmlvciBmcm9tIGEgdmVyeSBsb25nIHdheSBiYWNrKVxuICAvLyBOT1RFOiB3ZSBjaGVjayB0aGlzIHJlZ2FyZGxlc3Mgb2YgYGRpc3BsYXlDaGVjaz1cIm5vbmVcImAgYmVjYXVzZSB0aGlzIGlzIGFcbiAgLy8gIF92aXNpYmlsaXR5XyBjaGVjaywgbm90IGEgX2Rpc3BsYXlfIGNoZWNrXG4gIGlmIChnZXRDb21wdXRlZFN0eWxlKG5vZGUpLnZpc2liaWxpdHkgPT09ICdoaWRkZW4nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIGlzRGlyZWN0U3VtbWFyeSA9IG1hdGNoZXMuY2FsbChub2RlLCAnZGV0YWlscz5zdW1tYXJ5OmZpcnN0LW9mLXR5cGUnKTtcbiAgdmFyIG5vZGVVbmRlckRldGFpbHMgPSBpc0RpcmVjdFN1bW1hcnkgPyBub2RlLnBhcmVudEVsZW1lbnQgOiBub2RlO1xuICBpZiAobWF0Y2hlcy5jYWxsKG5vZGVVbmRlckRldGFpbHMsICdkZXRhaWxzOm5vdChbb3Blbl0pIConKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICghZGlzcGxheUNoZWNrIHx8IGRpc3BsYXlDaGVjayA9PT0gJ2Z1bGwnIHx8IGRpc3BsYXlDaGVjayA9PT0gJ2xlZ2FjeS1mdWxsJykge1xuICAgIGlmICh0eXBlb2YgZ2V0U2hhZG93Um9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gZmlndXJlIG91dCBpZiB3ZSBzaG91bGQgY29uc2lkZXIgdGhlIG5vZGUgdG8gYmUgaW4gYW4gdW5kaXNjbG9zZWQgc2hhZG93IGFuZCB1c2UgdGhlXG4gICAgICAvLyAgJ25vbi16ZXJvLWFyZWEnIGZhbGxiYWNrXG4gICAgICB2YXIgb3JpZ2luYWxOb2RlID0gbm9kZTtcbiAgICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgIHZhciBwYXJlbnRFbGVtZW50ID0gbm9kZS5wYXJlbnRFbGVtZW50O1xuICAgICAgICB2YXIgcm9vdE5vZGUgPSBnZXRSb290Tm9kZShub2RlKTtcbiAgICAgICAgaWYgKHBhcmVudEVsZW1lbnQgJiYgIXBhcmVudEVsZW1lbnQuc2hhZG93Um9vdCAmJiBnZXRTaGFkb3dSb290KHBhcmVudEVsZW1lbnQpID09PSB0cnVlIC8vIGNoZWNrIGlmIHRoZXJlJ3MgYW4gdW5kaXNjbG9zZWQgc2hhZG93XG4gICAgICAgICkge1xuICAgICAgICAgIC8vIG5vZGUgaGFzIGFuIHVuZGlzY2xvc2VkIHNoYWRvdyB3aGljaCBtZWFucyB3ZSBjYW4gb25seSB0cmVhdCBpdCBhcyBhIGJsYWNrIGJveCwgc28gd2VcbiAgICAgICAgICAvLyAgZmFsbCBiYWNrIHRvIGEgbm9uLXplcm8tYXJlYSB0ZXN0XG4gICAgICAgICAgcmV0dXJuIGlzWmVyb0FyZWEobm9kZSk7XG4gICAgICAgIH0gZWxzZSBpZiAobm9kZS5hc3NpZ25lZFNsb3QpIHtcbiAgICAgICAgICAvLyBpdGVyYXRlIHVwIHNsb3RcbiAgICAgICAgICBub2RlID0gbm9kZS5hc3NpZ25lZFNsb3Q7XG4gICAgICAgIH0gZWxzZSBpZiAoIXBhcmVudEVsZW1lbnQgJiYgcm9vdE5vZGUgIT09IG5vZGUub3duZXJEb2N1bWVudCkge1xuICAgICAgICAgIC8vIGNyb3NzIHNoYWRvdyBib3VuZGFyeVxuICAgICAgICAgIG5vZGUgPSByb290Tm9kZS5ob3N0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGl0ZXJhdGUgdXAgbm9ybWFsIGRvbVxuICAgICAgICAgIG5vZGUgPSBwYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBub2RlID0gb3JpZ2luYWxOb2RlO1xuICAgIH1cbiAgICAvLyBlbHNlLCBgZ2V0U2hhZG93Um9vdGAgbWlnaHQgYmUgdHJ1ZSwgYnV0IGFsbCB0aGF0IGRvZXMgaXMgZW5hYmxlIHNoYWRvdyBET00gc3VwcG9ydFxuICAgIC8vICAoaS5lLiBpdCBkb2VzIG5vdCBhbHNvIHByZXN1bWUgdGhhdCBhbGwgbm9kZXMgbWlnaHQgaGF2ZSB1bmRpc2Nsb3NlZCBzaGFkb3dzKTsgb3JcbiAgICAvLyAgaXQgbWlnaHQgYmUgYSBmYWxzeSB2YWx1ZSwgd2hpY2ggbWVhbnMgc2hhZG93IERPTSBzdXBwb3J0IGlzIGRpc2FibGVkXG5cbiAgICAvLyBTaW5jZSB3ZSBkaWRuJ3QgZmluZCBpdCBzaXR0aW5nIGluIGFuIHVuZGlzY2xvc2VkIHNoYWRvdyAob3Igc2hhZG93cyBhcmUgZGlzYWJsZWQpXG4gICAgLy8gIG5vdyB3ZSBjYW4ganVzdCB0ZXN0IHRvIHNlZSBpZiBpdCB3b3VsZCBub3JtYWxseSBiZSB2aXNpYmxlIG9yIG5vdCwgcHJvdmlkZWQgaXQnc1xuICAgIC8vICBhdHRhY2hlZCB0byB0aGUgbWFpbiBkb2N1bWVudC5cbiAgICAvLyBOT1RFOiBXZSBtdXN0IGNvbnNpZGVyIGNhc2Ugd2hlcmUgbm9kZSBpcyBpbnNpZGUgYSBzaGFkb3cgRE9NIGFuZCBnaXZlbiBkaXJlY3RseSB0b1xuICAgIC8vICBgaXNUYWJiYWJsZSgpYCBvciBgaXNGb2N1c2FibGUoKWAgLS0gcmVnYXJkbGVzcyBvZiBgZ2V0U2hhZG93Um9vdGAgb3B0aW9uIHNldHRpbmcuXG5cbiAgICBpZiAoaXNOb2RlQXR0YWNoZWQobm9kZSkpIHtcbiAgICAgIC8vIHRoaXMgd29ya3Mgd2hlcmV2ZXIgdGhlIG5vZGUgaXM6IGlmIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIGNsaWVudCByZWN0LCBpdCdzXG4gICAgICAvLyAgc29tZWhvdyBkaXNwbGF5ZWQ7IGl0IGFsc28gY292ZXJzIHRoZSBDU1MgJ2Rpc3BsYXk6IGNvbnRlbnRzJyBjYXNlIHdoZXJlIHRoZVxuICAgICAgLy8gIG5vZGUgaXRzZWxmIGlzIGhpZGRlbiBpbiBwbGFjZSBvZiBpdHMgY29udGVudHM7IGFuZCB0aGVyZSdzIG5vIG5lZWQgdG8gc2VhcmNoXG4gICAgICAvLyAgdXAgdGhlIGhpZXJhcmNoeSBlaXRoZXJcbiAgICAgIHJldHVybiAhbm9kZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvLyBFbHNlLCB0aGUgbm9kZSBpc24ndCBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQsIHdoaWNoIG1lYW5zIHRoZSBgZ2V0Q2xpZW50UmVjdHMoKWBcbiAgICAvLyAgQVBJIHdpbGwgX19hbHdheXNfXyByZXR1cm4gemVybyByZWN0cyAodGhpcyBjYW4gaGFwcGVuLCBmb3IgZXhhbXBsZSwgaWYgUmVhY3RcbiAgICAvLyAgaXMgdXNlZCB0byByZW5kZXIgbm9kZXMgb250byBhIGRldGFjaGVkIHRyZWUsIGFzIGNvbmZpcm1lZCBpbiB0aGlzIHRocmVhZDpcbiAgICAvLyAgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy85MTE3I2lzc3VlY29tbWVudC0yODQyMjg4NzApXG4gICAgLy9cbiAgICAvLyBJdCBhbHNvIG1lYW5zIHRoYXQgZXZlbiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5kaXNwbGF5IHdpbGwgcmV0dXJuIGB1bmRlZmluZWRgXG4gICAgLy8gIGJlY2F1c2Ugc3R5bGVzIGFyZSBvbmx5IGNvbXB1dGVkIGZvciBub2RlcyB0aGF0IGFyZSBpbiB0aGUgZG9jdW1lbnQuXG4gICAgLy9cbiAgICAvLyBOT1RFOiBUSElTIEhBUyBCRUVOIFRIRSBDQVNFIEZPUiBZRUFSUy4gSXQgaXMgbm90IG5ldywgbm9yIGlzIGl0IGNhdXNlZCBieSB0YWJiYWJsZVxuICAgIC8vICBzb21laG93LiBUaG91Z2ggaXQgd2FzIG5ldmVyIHN0YXRlZCBvZmZpY2lhbGx5LCBhbnlvbmUgd2hvIGhhcyBldmVyIHVzZWQgdGFiYmFibGVcbiAgICAvLyAgQVBJcyBvbiBub2RlcyBpbiBkZXRhY2hlZCBjb250YWluZXJzIGhhcyBhY3R1YWxseSBpbXBsaWNpdGx5IHVzZWQgdGFiYmFibGUgaW4gd2hhdFxuICAgIC8vICB3YXMgbGF0ZXIgKGFzIG9mIHY1LjIuMCBvbiBBcHIgOSwgMjAyMSkgY2FsbGVkIGBkaXNwbGF5Q2hlY2s9XCJub25lXCJgIG1vZGUgLS0gZXNzZW50aWFsbHlcbiAgICAvLyAgY29uc2lkZXJpbmcgX19ldmVyeXRoaW5nX18gdG8gYmUgdmlzaWJsZSBiZWNhdXNlIG9mIHRoZSBpbm5hYmlsaXR5IHRvIGRldGVybWluZSBzdHlsZXMuXG4gICAgLy9cbiAgICAvLyB2Ni4wLjA6IEFzIG9mIHRoaXMgbWFqb3IgcmVsZWFzZSwgdGhlIGRlZmF1bHQgJ2Z1bGwnIG9wdGlvbiBfX25vIGxvbmdlciB0cmVhdHMgZGV0YWNoZWRcbiAgICAvLyAgbm9kZXMgYXMgdmlzaWJsZSB3aXRoIHRoZSAnbm9uZScgZmFsbGJhY2suX19cbiAgICBpZiAoZGlzcGxheUNoZWNrICE9PSAnbGVnYWN5LWZ1bGwnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTsgLy8gaGlkZGVuXG4gICAgfVxuICAgIC8vIGVsc2UsIGZhbGxiYWNrIHRvICdub25lJyBtb2RlIGFuZCBjb25zaWRlciB0aGUgbm9kZSB2aXNpYmxlXG4gIH0gZWxzZSBpZiAoZGlzcGxheUNoZWNrID09PSAnbm9uLXplcm8tYXJlYScpIHtcbiAgICAvLyBOT1RFOiBFdmVuIHRob3VnaCB0aGlzIHRlc3RzIHRoYXQgdGhlIG5vZGUncyBjbGllbnQgcmVjdCBpcyBub24temVybyB0byBkZXRlcm1pbmVcbiAgICAvLyAgd2hldGhlciBpdCdzIGRpc3BsYXllZCwgYW5kIHRoYXQgYSBkZXRhY2hlZCBub2RlIHdpbGwgX19hbHdheXNfXyBoYXZlIGEgemVyby1hcmVhXG4gICAgLy8gIGNsaWVudCByZWN0LCB3ZSBkb24ndCBzcGVjaWFsLWNhc2UgZm9yIHdoZXRoZXIgdGhlIG5vZGUgaXMgYXR0YWNoZWQgb3Igbm90LiBJblxuICAgIC8vICB0aGlzIG1vZGUsIHdlIGRvIHdhbnQgdG8gY29uc2lkZXIgbm9kZXMgdGhhdCBoYXZlIGEgemVybyBhcmVhIHRvIGJlIGhpZGRlbiBhdCBhbGxcbiAgICAvLyAgdGltZXMsIGFuZCB0aGF0IGluY2x1ZGVzIGF0dGFjaGVkIG9yIG5vdC5cbiAgICByZXR1cm4gaXNaZXJvQXJlYShub2RlKTtcbiAgfVxuXG4gIC8vIHZpc2libGUsIGFzIGZhciBhcyB3ZSBjYW4gdGVsbCwgb3IgcGVyIGN1cnJlbnQgYGRpc3BsYXlDaGVjaz1ub25lYCBtb2RlLCB3ZSBhc3N1bWVcbiAgLy8gIGl0J3MgdmlzaWJsZVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vLyBmb3JtIGZpZWxkcyAobmVzdGVkKSBpbnNpZGUgYSBkaXNhYmxlZCBmaWVsZHNldCBhcmUgbm90IGZvY3VzYWJsZS90YWJiYWJsZVxuLy8gIHVubGVzcyB0aGV5IGFyZSBpbiB0aGUgX2ZpcnN0XyA8bGVnZW5kPiBlbGVtZW50IG9mIHRoZSB0b3AtbW9zdCBkaXNhYmxlZFxuLy8gIGZpZWxkc2V0XG52YXIgaXNEaXNhYmxlZEZyb21GaWVsZHNldCA9IGZ1bmN0aW9uIGlzRGlzYWJsZWRGcm9tRmllbGRzZXQobm9kZSkge1xuICBpZiAoL14oSU5QVVR8QlVUVE9OfFNFTEVDVHxURVhUQVJFQSkkLy50ZXN0KG5vZGUudGFnTmFtZSkpIHtcbiAgICB2YXIgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50RWxlbWVudDtcbiAgICAvLyBjaGVjayBpZiBgbm9kZWAgaXMgY29udGFpbmVkIGluIGEgZGlzYWJsZWQgPGZpZWxkc2V0PlxuICAgIHdoaWxlIChwYXJlbnROb2RlKSB7XG4gICAgICBpZiAocGFyZW50Tm9kZS50YWdOYW1lID09PSAnRklFTERTRVQnICYmIHBhcmVudE5vZGUuZGlzYWJsZWQpIHtcbiAgICAgICAgLy8gbG9vayBmb3IgdGhlIGZpcnN0IDxsZWdlbmQ+IGFtb25nIHRoZSBjaGlsZHJlbiBvZiB0aGUgZGlzYWJsZWQgPGZpZWxkc2V0PlxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgY2hpbGQgPSBwYXJlbnROb2RlLmNoaWxkcmVuLml0ZW0oaSk7XG4gICAgICAgICAgLy8gd2hlbiB0aGUgZmlyc3QgPGxlZ2VuZD4gKGluIGRvY3VtZW50IG9yZGVyKSBpcyBmb3VuZFxuICAgICAgICAgIGlmIChjaGlsZC50YWdOYW1lID09PSAnTEVHRU5EJykge1xuICAgICAgICAgICAgLy8gaWYgaXRzIHBhcmVudCA8ZmllbGRzZXQ+IGlzIG5vdCBuZXN0ZWQgaW4gYW5vdGhlciBkaXNhYmxlZCA8ZmllbGRzZXQ+LFxuICAgICAgICAgICAgLy8gcmV0dXJuIHdoZXRoZXIgYG5vZGVgIGlzIGEgZGVzY2VuZGFudCBvZiBpdHMgZmlyc3QgPGxlZ2VuZD5cbiAgICAgICAgICAgIHJldHVybiBtYXRjaGVzLmNhbGwocGFyZW50Tm9kZSwgJ2ZpZWxkc2V0W2Rpc2FibGVkXSAqJykgPyB0cnVlIDogIWNoaWxkLmNvbnRhaW5zKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyB0aGUgZGlzYWJsZWQgPGZpZWxkc2V0PiBjb250YWluaW5nIGBub2RlYCBoYXMgbm8gPGxlZ2VuZD5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnRFbGVtZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIGVsc2UsIG5vZGUncyB0YWJiYWJsZS9mb2N1c2FibGUgc3RhdGUgc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSBhIGZpZWxkc2V0J3NcbiAgLy8gIGVuYWJsZWQvZGlzYWJsZWQgc3RhdGVcbiAgcmV0dXJuIGZhbHNlO1xufTtcbnZhciBpc05vZGVNYXRjaGluZ1NlbGVjdG9yRm9jdXNhYmxlID0gZnVuY3Rpb24gaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZShvcHRpb25zLCBub2RlKSB7XG4gIGlmIChub2RlLmRpc2FibGVkIHx8XG4gIC8vIHdlIG11c3QgZG8gYW4gaW5lcnQgbG9vayB1cCB0byBmaWx0ZXIgb3V0IGFueSBlbGVtZW50cyBpbnNpZGUgYW4gaW5lcnQgYW5jZXN0b3JcbiAgLy8gIGJlY2F1c2Ugd2UncmUgbGltaXRlZCBpbiB0aGUgdHlwZSBvZiBzZWxlY3RvcnMgd2UgY2FuIHVzZSBpbiBKU0RvbSAoc2VlIHJlbGF0ZWRcbiAgLy8gIG5vdGUgcmVsYXRlZCB0byBgY2FuZGlkYXRlU2VsZWN0b3JzYClcbiAgaXNJbmVydChub2RlKSB8fCBpc0hpZGRlbklucHV0KG5vZGUpIHx8IGlzSGlkZGVuKG5vZGUsIG9wdGlvbnMpIHx8XG4gIC8vIEZvciBhIGRldGFpbHMgZWxlbWVudCB3aXRoIGEgc3VtbWFyeSwgdGhlIHN1bW1hcnkgZWxlbWVudCBnZXRzIHRoZSBmb2N1c1xuICBpc0RldGFpbHNXaXRoU3VtbWFyeShub2RlKSB8fCBpc0Rpc2FibGVkRnJvbUZpZWxkc2V0KG5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcbnZhciBpc05vZGVNYXRjaGluZ1NlbGVjdG9yVGFiYmFibGUgPSBmdW5jdGlvbiBpc05vZGVNYXRjaGluZ1NlbGVjdG9yVGFiYmFibGUob3B0aW9ucywgbm9kZSkge1xuICBpZiAoaXNOb25UYWJiYWJsZVJhZGlvKG5vZGUpIHx8IGdldFRhYkluZGV4KG5vZGUpIDwgMCB8fCAhaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZShvcHRpb25zLCBub2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgaXNWYWxpZFNoYWRvd1Jvb3RUYWJiYWJsZSA9IGZ1bmN0aW9uIGlzVmFsaWRTaGFkb3dSb290VGFiYmFibGUoc2hhZG93SG9zdE5vZGUpIHtcbiAgdmFyIHRhYkluZGV4ID0gcGFyc2VJbnQoc2hhZG93SG9zdE5vZGUuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpLCAxMCk7XG4gIGlmIChpc05hTih0YWJJbmRleCkgfHwgdGFiSW5kZXggPj0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmIGEgY3VzdG9tIGVsZW1lbnQgaGFzIGFuIGV4cGxpY2l0IG5lZ2F0aXZlIHRhYmluZGV4LFxuICAvLyBicm93c2VycyB3aWxsIG5vdCBhbGxvdyB0YWIgdGFyZ2V0aW5nIHNhaWQgZWxlbWVudCdzIGNoaWxkcmVuLlxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vKipcbiAqIEBwYXJhbSB7QXJyYXkuPEVsZW1lbnR8Q2FuZGlkYXRlU2NvcGU+fSBjYW5kaWRhdGVzXG4gKiBAcmV0dXJucyBFbGVtZW50W11cbiAqL1xudmFyIHNvcnRCeU9yZGVyID0gZnVuY3Rpb24gc29ydEJ5T3JkZXIoY2FuZGlkYXRlcykge1xuICB2YXIgcmVndWxhclRhYmJhYmxlcyA9IFtdO1xuICB2YXIgb3JkZXJlZFRhYmJhYmxlcyA9IFtdO1xuICBjYW5kaWRhdGVzLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGkpIHtcbiAgICB2YXIgaXNTY29wZSA9ICEhaXRlbS5zY29wZVBhcmVudDtcbiAgICB2YXIgZWxlbWVudCA9IGlzU2NvcGUgPyBpdGVtLnNjb3BlUGFyZW50IDogaXRlbTtcbiAgICB2YXIgY2FuZGlkYXRlVGFiaW5kZXggPSBnZXRTb3J0T3JkZXJUYWJJbmRleChlbGVtZW50LCBpc1Njb3BlKTtcbiAgICB2YXIgZWxlbWVudHMgPSBpc1Njb3BlID8gc29ydEJ5T3JkZXIoaXRlbS5jYW5kaWRhdGVzKSA6IGVsZW1lbnQ7XG4gICAgaWYgKGNhbmRpZGF0ZVRhYmluZGV4ID09PSAwKSB7XG4gICAgICBpc1Njb3BlID8gcmVndWxhclRhYmJhYmxlcy5wdXNoLmFwcGx5KHJlZ3VsYXJUYWJiYWJsZXMsIGVsZW1lbnRzKSA6IHJlZ3VsYXJUYWJiYWJsZXMucHVzaChlbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3JkZXJlZFRhYmJhYmxlcy5wdXNoKHtcbiAgICAgICAgZG9jdW1lbnRPcmRlcjogaSxcbiAgICAgICAgdGFiSW5kZXg6IGNhbmRpZGF0ZVRhYmluZGV4LFxuICAgICAgICBpdGVtOiBpdGVtLFxuICAgICAgICBpc1Njb3BlOiBpc1Njb3BlLFxuICAgICAgICBjb250ZW50OiBlbGVtZW50c1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG9yZGVyZWRUYWJiYWJsZXMuc29ydChzb3J0T3JkZXJlZFRhYmJhYmxlcykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHNvcnRhYmxlKSB7XG4gICAgc29ydGFibGUuaXNTY29wZSA/IGFjYy5wdXNoLmFwcGx5KGFjYywgc29ydGFibGUuY29udGVudCkgOiBhY2MucHVzaChzb3J0YWJsZS5jb250ZW50KTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSkuY29uY2F0KHJlZ3VsYXJUYWJiYWJsZXMpO1xufTtcbnZhciB0YWJiYWJsZSA9IGZ1bmN0aW9uIHRhYmJhYmxlKGNvbnRhaW5lciwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgdmFyIGNhbmRpZGF0ZXM7XG4gIGlmIChvcHRpb25zLmdldFNoYWRvd1Jvb3QpIHtcbiAgICBjYW5kaWRhdGVzID0gZ2V0Q2FuZGlkYXRlc0l0ZXJhdGl2ZWx5KFtjb250YWluZXJdLCBvcHRpb25zLmluY2x1ZGVDb250YWluZXIsIHtcbiAgICAgIGZpbHRlcjogaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlLmJpbmQobnVsbCwgb3B0aW9ucyksXG4gICAgICBmbGF0dGVuOiBmYWxzZSxcbiAgICAgIGdldFNoYWRvd1Jvb3Q6IG9wdGlvbnMuZ2V0U2hhZG93Um9vdCxcbiAgICAgIHNoYWRvd1Jvb3RGaWx0ZXI6IGlzVmFsaWRTaGFkb3dSb290VGFiYmFibGVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjYW5kaWRhdGVzID0gZ2V0Q2FuZGlkYXRlcyhjb250YWluZXIsIG9wdGlvbnMuaW5jbHVkZUNvbnRhaW5lciwgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlLmJpbmQobnVsbCwgb3B0aW9ucykpO1xuICB9XG4gIHJldHVybiBzb3J0QnlPcmRlcihjYW5kaWRhdGVzKTtcbn07XG52YXIgZm9jdXNhYmxlID0gZnVuY3Rpb24gZm9jdXNhYmxlKGNvbnRhaW5lciwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgdmFyIGNhbmRpZGF0ZXM7XG4gIGlmIChvcHRpb25zLmdldFNoYWRvd1Jvb3QpIHtcbiAgICBjYW5kaWRhdGVzID0gZ2V0Q2FuZGlkYXRlc0l0ZXJhdGl2ZWx5KFtjb250YWluZXJdLCBvcHRpb25zLmluY2x1ZGVDb250YWluZXIsIHtcbiAgICAgIGZpbHRlcjogaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZS5iaW5kKG51bGwsIG9wdGlvbnMpLFxuICAgICAgZmxhdHRlbjogdHJ1ZSxcbiAgICAgIGdldFNoYWRvd1Jvb3Q6IG9wdGlvbnMuZ2V0U2hhZG93Um9vdFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGNhbmRpZGF0ZXMgPSBnZXRDYW5kaWRhdGVzKGNvbnRhaW5lciwgb3B0aW9ucy5pbmNsdWRlQ29udGFpbmVyLCBpc05vZGVNYXRjaGluZ1NlbGVjdG9yRm9jdXNhYmxlLmJpbmQobnVsbCwgb3B0aW9ucykpO1xuICB9XG4gIHJldHVybiBjYW5kaWRhdGVzO1xufTtcbnZhciBpc1RhYmJhYmxlID0gZnVuY3Rpb24gaXNUYWJiYWJsZShub2RlLCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBpZiAoIW5vZGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIG5vZGUgcHJvdmlkZWQnKTtcbiAgfVxuICBpZiAobWF0Y2hlcy5jYWxsKG5vZGUsIGNhbmRpZGF0ZVNlbGVjdG9yKSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JUYWJiYWJsZShvcHRpb25zLCBub2RlKTtcbn07XG52YXIgZm9jdXNhYmxlQ2FuZGlkYXRlU2VsZWN0b3IgPSAvKiAjX19QVVJFX18gKi9jYW5kaWRhdGVTZWxlY3RvcnMuY29uY2F0KCdpZnJhbWUnKS5qb2luKCcsJyk7XG52YXIgaXNGb2N1c2FibGUgPSBmdW5jdGlvbiBpc0ZvY3VzYWJsZShub2RlLCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBpZiAoIW5vZGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIG5vZGUgcHJvdmlkZWQnKTtcbiAgfVxuICBpZiAobWF0Y2hlcy5jYWxsKG5vZGUsIGZvY3VzYWJsZUNhbmRpZGF0ZVNlbGVjdG9yKSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JGb2N1c2FibGUob3B0aW9ucywgbm9kZSk7XG59O1xuXG5leHBvcnQgeyBmb2N1c2FibGUsIGdldFRhYkluZGV4LCBpc0ZvY3VzYWJsZSwgaXNUYWJiYWJsZSwgdGFiYmFibGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmVzbS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/tabbable@6.2.0/node_modules/tabbable/dist/index.esm.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js":
 | 
						||
/*!*********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js ***!
 | 
						||
  \*********************************************************************************************************************************************************************/
 | 
						||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						||
 | 
						||
"use strict";
 | 
						||
eval(__webpack_require__.ts("/**\n * @license React\n * use-sync-external-store-with-selector.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 true &&\n  (function () {\n    function is(x, y) {\n      return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n    }\n    \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n      \"function\" ===\n        typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n      __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n    var React = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\"),\n      objectIs = \"function\" === typeof Object.is ? Object.is : is,\n      useSyncExternalStore = React.useSyncExternalStore,\n      useRef = React.useRef,\n      useEffect = React.useEffect,\n      useMemo = React.useMemo,\n      useDebugValue = React.useDebugValue;\n    exports.useSyncExternalStoreWithSelector = function (\n      subscribe,\n      getSnapshot,\n      getServerSnapshot,\n      selector,\n      isEqual\n    ) {\n      var instRef = useRef(null);\n      if (null === instRef.current) {\n        var inst = { hasValue: !1, value: null };\n        instRef.current = inst;\n      } else inst = instRef.current;\n      instRef = useMemo(\n        function () {\n          function memoizedSelector(nextSnapshot) {\n            if (!hasMemo) {\n              hasMemo = !0;\n              memoizedSnapshot = nextSnapshot;\n              nextSnapshot = selector(nextSnapshot);\n              if (void 0 !== isEqual && inst.hasValue) {\n                var currentSelection = inst.value;\n                if (isEqual(currentSelection, nextSnapshot))\n                  return (memoizedSelection = currentSelection);\n              }\n              return (memoizedSelection = nextSnapshot);\n            }\n            currentSelection = memoizedSelection;\n            if (objectIs(memoizedSnapshot, nextSnapshot))\n              return currentSelection;\n            var nextSelection = selector(nextSnapshot);\n            if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n              return (memoizedSnapshot = nextSnapshot), currentSelection;\n            memoizedSnapshot = nextSnapshot;\n            return (memoizedSelection = nextSelection);\n          }\n          var hasMemo = !1,\n            memoizedSnapshot,\n            memoizedSelection,\n            maybeGetServerSnapshot =\n              void 0 === getServerSnapshot ? null : getServerSnapshot;\n          return [\n            function () {\n              return memoizedSelector(getSnapshot());\n            },\n            null === maybeGetServerSnapshot\n              ? void 0\n              : function () {\n                  return memoizedSelector(maybeGetServerSnapshot());\n                }\n          ];\n        },\n        [getSnapshot, getServerSnapshot, selector, isEqual]\n      );\n      var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n      useEffect(\n        function () {\n          inst.hasValue = !0;\n          inst.value = value;\n        },\n        [value]\n      );\n      useDebugValue(value);\n      return value;\n    };\n    \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n      \"function\" ===\n        typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n      __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n  })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2Utc3luYy1leHRlcm5hbC1zdG9yZUAxLjUuMF9yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS13aXRoLXNlbGVjdG9yLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTtBQUNiLEtBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQyxrTEFBTztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLHdDQUF3QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2Utc3luYy1leHRlcm5hbC1zdG9yZUAxLjUuMF9yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS13aXRoLXNlbGVjdG9yLmRldmVsb3BtZW50LmpzP2VhMzIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUtd2l0aC1zZWxlY3Rvci5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cInByb2R1Y3Rpb25cIiAhPT0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgJiZcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBpcyh4LCB5KSB7XG4gICAgICByZXR1cm4gKHggPT09IHkgJiYgKDAgIT09IHggfHwgMSAvIHggPT09IDEgLyB5KSkgfHwgKHggIT09IHggJiYgeSAhPT0geSk7XG4gICAgfVxuICAgIFwidW5kZWZpbmVkXCIgIT09IHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gJiZcbiAgICAgIFwiZnVuY3Rpb25cIiA9PT1cbiAgICAgICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RhcnQgJiZcbiAgICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RhcnQoRXJyb3IoKSk7XG4gICAgdmFyIFJlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpLFxuICAgICAgb2JqZWN0SXMgPSBcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiBPYmplY3QuaXMgPyBPYmplY3QuaXMgOiBpcyxcbiAgICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlID0gUmVhY3QudXNlU3luY0V4dGVybmFsU3RvcmUsXG4gICAgICB1c2VSZWYgPSBSZWFjdC51c2VSZWYsXG4gICAgICB1c2VFZmZlY3QgPSBSZWFjdC51c2VFZmZlY3QsXG4gICAgICB1c2VNZW1vID0gUmVhY3QudXNlTWVtbyxcbiAgICAgIHVzZURlYnVnVmFsdWUgPSBSZWFjdC51c2VEZWJ1Z1ZhbHVlO1xuICAgIGV4cG9ydHMudXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IgPSBmdW5jdGlvbiAoXG4gICAgICBzdWJzY3JpYmUsXG4gICAgICBnZXRTbmFwc2hvdCxcbiAgICAgIGdldFNlcnZlclNuYXBzaG90LFxuICAgICAgc2VsZWN0b3IsXG4gICAgICBpc0VxdWFsXG4gICAgKSB7XG4gICAgICB2YXIgaW5zdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICAgIGlmIChudWxsID09PSBpbnN0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgdmFyIGluc3QgPSB7IGhhc1ZhbHVlOiAhMSwgdmFsdWU6IG51bGwgfTtcbiAgICAgICAgaW5zdFJlZi5jdXJyZW50ID0gaW5zdDtcbiAgICAgIH0gZWxzZSBpbnN0ID0gaW5zdFJlZi5jdXJyZW50O1xuICAgICAgaW5zdFJlZiA9IHVzZU1lbW8oXG4gICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBmdW5jdGlvbiBtZW1vaXplZFNlbGVjdG9yKG5leHRTbmFwc2hvdCkge1xuICAgICAgICAgICAgaWYgKCFoYXNNZW1vKSB7XG4gICAgICAgICAgICAgIGhhc01lbW8gPSAhMDtcbiAgICAgICAgICAgICAgbWVtb2l6ZWRTbmFwc2hvdCA9IG5leHRTbmFwc2hvdDtcbiAgICAgICAgICAgICAgbmV4dFNuYXBzaG90ID0gc2VsZWN0b3IobmV4dFNuYXBzaG90KTtcbiAgICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gaXNFcXVhbCAmJiBpbnN0Lmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRTZWxlY3Rpb24gPSBpbnN0LnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsKGN1cnJlbnRTZWxlY3Rpb24sIG5leHRTbmFwc2hvdCkpXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKG1lbW9pemVkU2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIChtZW1vaXplZFNlbGVjdGlvbiA9IG5leHRTbmFwc2hvdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdXJyZW50U2VsZWN0aW9uID0gbWVtb2l6ZWRTZWxlY3Rpb247XG4gICAgICAgICAgICBpZiAob2JqZWN0SXMobWVtb2l6ZWRTbmFwc2hvdCwgbmV4dFNuYXBzaG90KSlcbiAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTZWxlY3Rpb247XG4gICAgICAgICAgICB2YXIgbmV4dFNlbGVjdGlvbiA9IHNlbGVjdG9yKG5leHRTbmFwc2hvdCk7XG4gICAgICAgICAgICBpZiAodm9pZCAwICE9PSBpc0VxdWFsICYmIGlzRXF1YWwoY3VycmVudFNlbGVjdGlvbiwgbmV4dFNlbGVjdGlvbikpXG4gICAgICAgICAgICAgIHJldHVybiAobWVtb2l6ZWRTbmFwc2hvdCA9IG5leHRTbmFwc2hvdCksIGN1cnJlbnRTZWxlY3Rpb247XG4gICAgICAgICAgICBtZW1vaXplZFNuYXBzaG90ID0gbmV4dFNuYXBzaG90O1xuICAgICAgICAgICAgcmV0dXJuIChtZW1vaXplZFNlbGVjdGlvbiA9IG5leHRTZWxlY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaGFzTWVtbyA9ICExLFxuICAgICAgICAgICAgbWVtb2l6ZWRTbmFwc2hvdCxcbiAgICAgICAgICAgIG1lbW9pemVkU2VsZWN0aW9uLFxuICAgICAgICAgICAgbWF5YmVHZXRTZXJ2ZXJTbmFwc2hvdCA9XG4gICAgICAgICAgICAgIHZvaWQgMCA9PT0gZ2V0U2VydmVyU25hcHNob3QgPyBudWxsIDogZ2V0U2VydmVyU25hcHNob3Q7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG1lbW9pemVkU2VsZWN0b3IoZ2V0U25hcHNob3QoKSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbnVsbCA9PT0gbWF5YmVHZXRTZXJ2ZXJTbmFwc2hvdFxuICAgICAgICAgICAgICA/IHZvaWQgMFxuICAgICAgICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1vaXplZFNlbGVjdG9yKG1heWJlR2V0U2VydmVyU25hcHNob3QoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIF07XG4gICAgICAgIH0sXG4gICAgICAgIFtnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QsIHNlbGVjdG9yLCBpc0VxdWFsXVxuICAgICAgKTtcbiAgICAgIHZhciB2YWx1ZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgaW5zdFJlZlswXSwgaW5zdFJlZlsxXSk7XG4gICAgICB1c2VFZmZlY3QoXG4gICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpbnN0Lmhhc1ZhbHVlID0gITA7XG4gICAgICAgICAgaW5zdC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICBbdmFsdWVdXG4gICAgICApO1xuICAgICAgdXNlRGVidWdWYWx1ZSh2YWx1ZSk7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICBcInVuZGVmaW5lZFwiICE9PSB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICYmXG4gICAgICBcImZ1bmN0aW9uXCIgPT09XG4gICAgICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgJiZcbiAgICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChFcnJvcigpKTtcbiAgfSkoKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/with-selector.js":
 | 
						||
/*!*****************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/with-selector.js ***!
 | 
						||
  \*****************************************************************************************************************************/
 | 
						||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
 | 
						||
 | 
						||
"use strict";
 | 
						||
eval(__webpack_require__.ts("\n\nif (false) {} else {\n  module.exports = __webpack_require__(/*! ./cjs/use-sync-external-store-with-selector.development.js */ \"(app-pages-browser)/./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2Utc3luYy1leHRlcm5hbC1zdG9yZUAxLjUuMF9yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlL3dpdGgtc2VsZWN0b3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLDJSQUFzRjtBQUN4RiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmVAMS41LjBfcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS93aXRoLXNlbGVjdG9yLmpzP2Q0NDgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlLXdpdGgtc2VsZWN0b3IucHJvZHVjdGlvbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS13aXRoLXNlbGVjdG9yLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/with-selector.js\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvYmFja2dyb3VuZC1jYWxsLXRvLWFjdGlvbjQucG5nIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLHlPQUF5TyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaW1hZ2VzL2JhY2tncm91bmQtY2FsbC10by1hY3Rpb240LnBuZz81MDYwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9iYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uNC5mMTA3NDM0Ni5wbmdcIixcImhlaWdodFwiOjU2NCxcIndpZHRoXCI6MTQ0MCxcImJsdXJEYXRhVVJMXCI6XCIvX25leHQvaW1hZ2U/dXJsPSUyRl9uZXh0JTJGc3RhdGljJTJGbWVkaWElMkZiYWNrZ3JvdW5kLWNhbGwtdG8tYWN0aW9uNC5mMTA3NDM0Ni5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6M307Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/background-call-to-action4.png\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./src/images/logos/veda_logo2.svg":
 | 
						||
/*!*****************************************!*\
 | 
						||
  !*** ./src/images/logos/veda_logo2.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_logo2.20571042.svg\",\"height\":30,\"width\":122,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9pbWFnZXMvbG9nb3MvdmVkYV9sb2dvMi5zdmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMseUdBQXlHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9pbWFnZXMvbG9nb3MvdmVkYV9sb2dvMi5zdmc/NmQ3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvdmVkYV9sb2dvMi4yMDU3MTA0Mi5zdmdcIixcImhlaWdodFwiOjMwLFwid2lkdGhcIjoxMjIsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/images/logos/veda_logo2.svg\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/add-locale.js":
 | 
						||
/*!****************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQUdhQTs7O2VBQUFBOzs7b0RBRjhCO0FBRXBDLE1BQU1BLFlBQXVCLFNBQUNDLElBQUFBO3FDQUFTQyxPQUFBQSxJQUFBQSxNQUFBQSxPQUFBQSxJQUFBQSxPQUFBQSxJQUFBQSxJQUFBQSxPQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxPQUFBQTtRQUFBQSxJQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxHQUFBQSxTQUFBQSxDQUFBQSxLQUFBQTs7SUFDNUMsSUFBSUMsS0FBK0IsRUFBRSxFQUlyQztJQUNBLE9BQU9GO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvYWRkLWxvY2FsZS50cz9mYWFlIl0sIm5hbWVzIjpbImFkZExvY2FsZSIsInBhdGgiLCJhcmdzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/add-locale.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/get-domain-locale.js":
 | 
						||
/*!***********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFPZ0JBOzs7ZUFBQUE7OztvREFKMkI7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixnQkFDZEssSUFBWSxFQUNaQyxNQUF1QixFQUN2QkMsT0FBa0IsRUFDbEJDLGFBQThCO0lBRTlCLElBQUlOLEtBQStCLEVBQUUsRUFnQnJDLE1BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9nZXQtZG9tYWluLWxvY2FsZS50cz8xZDRlIl0sIm5hbWVzIjpbImdldERvbWFpbkxvY2FsZSIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwibG9jYWxlIiwibG9jYWxlcyIsImRvbWFpbkxvY2FsZXMiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsInJlcXVpcmUiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJ0YXJnZXQiLCJkZXRlY3RlZExvY2FsZSIsImRvbWFpbiIsInVuZGVmaW5lZCIsInByb3RvIiwiaHR0cCIsImZpbmFsTG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/get-domain-locale.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/image-component.js":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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        var _c_qualities;\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        const qualities = (_c_qualities = c.qualities) == null ? void 0 : _c_qualities.sort((a, b)=>a - b);\n        return {\n            ...c,\n            allSizes,\n            deviceSizes,\n            qualities\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaW1hZ2UtY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OytFQWFpQjtxREFDV0EsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt5Q0FZTzs7eUNBRVZBLG1CQUFBQSxDQUFBOzs7QUFNekIsTUFBQUMsZUFBQSxjQUFBQyx5QkFBNENILENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7QUFDNUMsNENBQThCRztBQUU5QixNQUFJQyxZQUFPQywwTkFBd0I7SUFDL0JFLE9BQUFBLFdBQW1CQyxhQUFBQTtJQUN2QkQsV0FBQUMscUJBQUE7QUFtQkE7QUFDQSwwRUFBaUQ7QUFDakQsaURBR0VDO1NBTUFDLGNBQVlDLEdBQUFBLEVBQUFBLFdBQUFBLEVBQUFBLFNBQVEsRUFBQUMsb0JBQUEsRUFBQUMsZUFBQSxFQUFBQyxXQUFBLEVBQUFDLFVBQUE7SUFDcEIsTUFBS0osTUFBT0EsT0FBSSxnQkFBa0JBLElBQUtLLEdBQUFBO1FBQ3JDLENBQUFMLE9BQUFBLEdBQUEsd0JBQUFLLEtBQUE7UUFDRjtJQUNBTDtJQUNBQSxHQUFBLG1CQUFzQkEsR0FBQUE7SUFDdEJNLE1BQUVDLElBQU0sWUFBZVAsTUFBQUEsSUFBQVEsTUFBQSxLQUFBQyxRQUFBQyxPQUFBO1dBQ3JCLENBQUksS0FBS0MsR0FBQUEsSUFBQUEsQ0FBQUE7WUFDUCxDQUFBWCxJQUFBVyxhQUFBLEtBQUFYLElBQUFZLFdBQUEsRUFBd0M7WUFDeEMsd0NBQXVCO1lBQ3ZCO1lBQ0Esc0NBQXNCO1lBQ3RCO1lBQ0E7WUFDRjtRQUNBO1lBQ0VWLGdCQUFnQjtZQUNsQkEsZ0JBQUE7UUFDQTtZQUNFSixhQUFBLGdCQUFBQSxVQUFBZSxPQUFBLEVB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QUEsR0FBQUEsT0FBWUMsUUFBQUEsRUFBQUE7VUFDOUNDLEVBQUFBLE9BQUFBLGFBQUFBLEVBQUFBLE1BQUFBLE9BQWEsU0FBQUMsYUFBQUYsV0FBQSxFQUFBRyxPQUFBO1FBQ2JDLGVBQVN6QixhQUFBQSxPQUFBQTtRQUNUMEIsU0FBQUE7UUFDQVQ7UUFDRkE7SUFFQTs7O3VCQUlZeEMsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBYWYsR0FBQSxFQUFBaUUsY0FBQTtnQkFDakI3SCxHQUFBQSxhQUFhc0g7Z0JBQ2JoRCxhQUFhZ0QsUUFBUWhELFdBQVc7Z0JBQ2hDd0QsYUFBTVIsUUFBWWhELFdBQUE7Z0JBQ2xCM0UsTUFBQUEsUUFBV0EsSUFBQUE7Z0JBQ1hHLFdBQUFBO2dCQUNBQyxzQkFBaUJBO2dCQUNqQnlFLGlCQUFnQkE7Z0JBQ2hCdkUsZ0JBQVl5SDtnQkFDWjFELFlBQUtFLE1BQUFBLEtBQUFBOztZQUdSb0Q7b0JBRUdwQyxRQUFBQSxHQUFhQSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxjQUFBQTtnQkFDYlAsYUFBQUE7K0JBRUFBOzs7SUFHViIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9pbWFnZS1jb21wb25lbnQudHN4PzUxZTEiXSwibmFtZXMiOlsiXyIsInJlcXVpcmUiLCJfaW1hZ2Vsb2FkZXIiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfX05FWFRfSU1BR0VfT1BUUyIsImNvbmZpZ0VudiIsIndpbmRvdyIsImVudiIsImdsb2JhbFRoaXMiLCJfX05FWFRfSU1BR0VfSU1QT1JURUQiLCJvbkxvYWRSZWYiLCJoYW5kbGVMb2FkaW5nIiwiaW1nIiwib25Mb2FkaW5nQ29tcGxldGVSZWYiLCJzZXRCbHVyQ29tcGxldGUiLCJ1bm9wdGltaXplZCIsInNpemVzSW5wdXQiLCJzcmMiLCJwIiwiY2F0Y2giLCJkZWNvZGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInBhcmVudEVsZW1lbnQiLCJpc0Nvbm5lY3RlZCIsImN1cnJlbnQiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV2ZW50Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInN0b3BwZWQiLCJuYXRpdmVFdmVudCIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJpc0RlZmF1bHRQcmV2ZW50ZWQiLCJpc1Byb3BhZ2F0aW9uU3RvcHBlZCIsInByZXZlbnRlZCIsInBlcnNpc3QiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInByb2Nlc3MiLCJnZXRBdHRyaWJ1dGUiLCJVUkwiLCJzZWFyY2hQYXJhbXMiLCJnZXQiLCJ3aWR0aFZpZXdwb3J0UmF0aW8iLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aWR0aCIsImlubmVyV2lkdGgiLCJ3YXJuT25jZSIsIl93YXJub25jZSIsIm9yaWdTcmMiLCJ2YWxpZCIsImdldENvbXB1dGVkU3R5bGUiLCJwb3NpdGlvbiIsIm1hcCIsIlN0cmluZyIsImpvaW4iLCJ3aWR0aE1vZGlmaWVkIiwidG9TdHJpbmciLCJoZWlnaHRNb2RpZmllZCIsIkJvb2xlYW4iLCJ1c2UiLCJfcmVhY3QiLCJmZXRjaFByaW9yaXR5IiwiZmV0Y2hwcmlvcml0eSIsImhlaWdodCIsImRlY29kaW5nIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJzcmNTZXQiLCJzaXplcyIsInJlc3QiLCJfanN4cnVudGltZSIsImpzeCIsImdldER5bmFtaWNQcm9wcyIsImxvYWRpbmciLCJkYXRhLW5pbWciLCJyZWYiLCJ1c2VDYWxsYmFjayIsImZvcndhcmRlZFJlZiIsIm9uRXJyb3IiLCJjb25zb2xlIiwiZXJyb3IiLCJwbGFjZWhvbGRlciIsIm9uTG9hZCIsInNldFNob3dBbHRUZXh0IiwiSW1hZ2VQcmVsb2FkIiwicGFyYW0iLCJpbWdBdHRyaWJ1dGVzIiwib3B0cyIsImFzIiwiaW1hZ2VTcmNTZXQiLCJpbWFnZVNpemVzIiwiY3Jvc3NPcmlnaW4iLCJyZWZlcnJlclBvbGljeSIsImlzQXBwUm91dGVyIiwiX3JlYWN0ZG9tIiwiZGVmYXVsdCIsInByZWxvYWQiLCJSZWFjdERPTSIsIl9oZWFkIiwibGluayIsInJlbCIsImhyZWYiLCJ1bmRlZmluZWQiLCJJbWFnZSIsInVzZUNvbnRleHQiLCJwYWdlc1JvdXRlciIsIlJvdXRlckNvbnRleHQiLCJfcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJjb25maWdDb250ZXh0IiwiY29uZmlnIiwidXNlTWVtbyIsIl9pbWFnZWNvbmZpZ2NvbnRleHRzaGFyZWRydW50aW1lIiwiSW1hZ2VDb25maWdDb250ZXh0IiwiYyIsIl9jX3F1YWxpdGllcyIsImFsbFNpemVzIiwiX2ltYWdlY29uZmlnIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiZGV2aWNlU2l6ZXMiLCJhIiwiYiIsInNvcnQiLCJxdWFsaXRpZXMiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInNob3dBbHRUZXh0IiwidXNlU3RhdGUiLCJtZXRhIiwiaW1nTWV0YSIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsIl9nZXRpbWdwcm9wcyIsInByb3BzIiwiaW1nQ29uZiIsImJsdXJDb21wbGV0ZSIsIkltYWdlRWxlbWVudCIsImZpbGwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/image-component.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/link.js":
 | 
						||
/*!**********************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n    if (typeof window === \"undefined\") {\n        return;\n    }\n    // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n    if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n        return;\n    }\n    // We should only dedupe requests when experimental.optimisticClientCache is\n    // disabled.\n    if (!options.bypassPrefetchedCheck) {\n        const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n        const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n        // If we've already fetched the key, then don't prefetch it again!\n        if (prefetched.has(prefetchedKey)) {\n            return;\n        }\n        // Mark this URL as prefetched.\n        prefetched.add(prefetchedKey);\n    }\n    const doPrefetch = async ()=>{\n        if (isAppRouter) {\n            // note that `appRouter.prefetch()` is currently sync,\n            // so we have to wrap this call in an async function to be able to catch() errors below.\n            return router.prefetch(href, appOptions);\n        } else {\n            return router.prefetch(href, as, options);\n        }\n    };\n    // Prefetch the JSON page if asked (only in the client)\n    // We need to handle a prefetch error here since we may be\n    // loading with priority which can reject but we don't\n    // want to force navigation since this is only a prefetch\n    doPrefetch().catch((err)=>{\n        if (true) {\n            // rethrow to show invalid URL errors\n            throw err;\n        }\n    });\n}\nfunction isModifiedEvent(event) {\n    const eventTarget = event.currentTarget;\n    const target = eventTarget.getAttribute(\"target\");\n    return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n    event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n    const { nodeName } = e.currentTarget;\n    // anchors inside an svg have a lowercase nodeName\n    const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n    if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n    !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n        // ignore click for browser’s default behavior\n        return;\n    }\n    e.preventDefault();\n    const navigate = ()=>{\n        // If the router is an NextRouter instance it will have `beforePopState`\n        const routerScroll = scroll != null ? scroll : true;\n        if (\"beforePopState\" in router) {\n            router[replace ? \"replace\" : \"push\"](href, as, {\n                shallow,\n                locale,\n                scroll: routerScroll\n            });\n        } else {\n            router[replace ? \"replace\" : \"push\"](as || href, {\n                scroll: routerScroll\n            });\n        }\n    };\n    if (isAppRouter) {\n        _react.default.startTransition(navigate);\n    } else {\n        navigate();\n    }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n    if (typeof urlObjOrString === \"string\") {\n        return urlObjOrString;\n    }\n    return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `<a>` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: `<Link>`](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n    _s();\n    let children;\n    const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n    children = childrenProp;\n    if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n        children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n            children: children\n        });\n    }\n    const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n    const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n    const router = pagesRouter != null ? pagesRouter : appRouter;\n    // We're in the app directory if there is no pages router.\n    const isAppRouter = !pagesRouter;\n    const prefetchEnabled = prefetchProp !== false;\n    /**\n     * The possible states for prefetch are:\n     * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n     * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n     * - false: we will not prefetch if in the viewport at all\n     */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n    if (true) {\n        function createPropError(args) {\n            return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + (typeof window !== \"undefined\" ? \"\\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n        }\n        // TypeScript trick for type-guarding:\n        const requiredPropsGuard = {\n            href: true\n        };\n        const requiredProps = Object.keys(requiredPropsGuard);\n        requiredProps.forEach((key)=>{\n            if (key === \"href\") {\n                if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n                    throw createPropError({\n                        key,\n                        expected: \"`string` or `object`\",\n                        actual: props[key] === null ? \"null\" : typeof props[key]\n                    });\n                }\n            } else {\n                // TypeScript trick for type-guarding:\n                // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                const _ = key;\n            }\n        });\n        // TypeScript trick for type-guarding:\n        const optionalPropsGuard = {\n            as: true,\n            replace: true,\n            scroll: true,\n            shallow: true,\n            passHref: true,\n            prefetch: true,\n            locale: true,\n            onClick: true,\n            onMouseEnter: true,\n            onTouchStart: true,\n            legacyBehavior: true\n        };\n        const optionalProps = Object.keys(optionalPropsGuard);\n        optionalProps.forEach((key)=>{\n            const valType = typeof props[key];\n            if (key === \"as\") {\n                if (props[key] && valType !== \"string\" && valType !== \"object\") {\n                    throw createPropError({\n                        key,\n                        expected: \"`string` or `object`\",\n                        actual: valType\n                    });\n                }\n            } else if (key === \"locale\") {\n                if (props[key] && valType !== \"string\") {\n                    throw createPropError({\n                        key,\n                        expected: \"`string`\",\n                        actual: valType\n                    });\n                }\n            } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n                if (props[key] && valType !== \"function\") {\n                    throw createPropError({\n                        key,\n                        expected: \"`function`\",\n                        actual: valType\n                    });\n                }\n            } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n                if (props[key] != null && valType !== \"boolean\") {\n                    throw createPropError({\n                        key,\n                        expected: \"`boolean`\",\n                        actual: valType\n                    });\n                }\n            } else {\n                // TypeScript trick for type-guarding:\n                // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                const _ = key;\n            }\n        });\n        // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n        // eslint-disable-next-line react-hooks/rules-of-hooks\n        const hasWarned = _react.default.useRef(false);\n        if (props.prefetch && !hasWarned.current && !isAppRouter) {\n            hasWarned.current = true;\n            console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n        }\n    }\n    if (true) {\n        if (isAppRouter && !asProp) {\n            let href;\n            if (typeof hrefProp === \"string\") {\n                href = hrefProp;\n            } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n                href = hrefProp.pathname;\n            }\n            if (href) {\n                const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n                if (hasDynamicSegment) {\n                    throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n                }\n            }\n        }\n    }\n    const { href, as } = _react.default.useMemo(()=>{\n        if (!pagesRouter) {\n            const resolvedHref = formatStringOrUrl(hrefProp);\n            return {\n                href: resolvedHref,\n                as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n            };\n        }\n        const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n        return {\n            href: resolvedHref,\n            as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n        };\n    }, [\n        pagesRouter,\n        hrefProp,\n        asProp\n    ]);\n    const previousHref = _react.default.useRef(href);\n    const previousAs = _react.default.useRef(as);\n    // This will return the first child, if multiple are provided it will throw an error\n    let child;\n    if (legacyBehavior) {\n        if (true) {\n            if (onClick) {\n                console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n            }\n            if (onMouseEnterProp) {\n                console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n            }\n            try {\n                child = _react.default.Children.only(children);\n            } catch (err) {\n                if (!children) {\n                    throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n                }\n                throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + (typeof window !== \"undefined\" ? \" \\nOpen your browser's console to view the Component stack trace.\" : \"\"));\n            }\n        } else {}\n    } else {\n        if (true) {\n            if ((children == null ? void 0 : children.type) === \"a\") {\n                throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n            }\n        }\n    }\n    const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n    const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n        rootMargin: \"200px\"\n    });\n    const setRef = _react.default.useCallback((el)=>{\n        // Before the link getting observed, check if visible state need to be reset\n        if (previousAs.current !== as || previousHref.current !== href) {\n            resetVisible();\n            previousAs.current = as;\n            previousHref.current = href;\n        }\n        setIntersectionRef(el);\n        if (childRef) {\n            if (typeof childRef === \"function\") childRef(el);\n            else if (typeof childRef === \"object\") {\n                childRef.current = el;\n            }\n        }\n    }, [\n        as,\n        childRef,\n        href,\n        resetVisible,\n        setIntersectionRef\n    ]);\n    // Prefetch the URL if we haven't already and it's visible.\n    _react.default.useEffect(()=>{\n        // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n        if (true) {\n            return;\n        }\n        if (!router) {\n            return;\n        }\n        // If we don't need to prefetch the URL, don't do prefetch.\n        if (!isVisible || !prefetchEnabled) {\n            return;\n        }\n        // Prefetch the URL.\n        prefetch(router, href, as, {\n            locale\n        }, {\n            kind: appPrefetchKind\n        }, isAppRouter);\n    }, [\n        as,\n        href,\n        isVisible,\n        locale,\n        prefetchEnabled,\n        pagesRouter == null ? void 0 : pagesRouter.locale,\n        router,\n        isAppRouter,\n        appPrefetchKind\n    ]);\n    const childProps = {\n        ref: setRef,\n        onClick (e) {\n            if (true) {\n                if (!e) {\n                    throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n                }\n            }\n            if (!legacyBehavior && typeof onClick === \"function\") {\n                onClick(e);\n            }\n            if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n                child.props.onClick(e);\n            }\n            if (!router) {\n                return;\n            }\n            if (e.defaultPrevented) {\n                return;\n            }\n            linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n        },\n        onMouseEnter (e) {\n            if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n                onMouseEnterProp(e);\n            }\n            if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n                child.props.onMouseEnter(e);\n            }\n            if (!router) {\n                return;\n            }\n            if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n                return;\n            }\n            prefetch(router, href, as, {\n                locale,\n                priority: true,\n                // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n                bypassPrefetchedCheck: true\n            }, {\n                kind: appPrefetchKind\n            }, isAppRouter);\n        },\n        onTouchStart:  false ? 0 : function onTouchStart(e) {\n            if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n                onTouchStartProp(e);\n            }\n            if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n                child.props.onTouchStart(e);\n            }\n            if (!router) {\n                return;\n            }\n            if (!prefetchEnabled && isAppRouter) {\n                return;\n            }\n            prefetch(router, href, as, {\n                locale,\n                priority: true,\n                // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n                bypassPrefetchedCheck: true\n            }, {\n                kind: appPrefetchKind\n            }, isAppRouter);\n        }\n    };\n    // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n    // defined, we specify the current 'href', so that repetition is not needed by the user.\n    // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n    if ((0, _utils.isAbsoluteUrl)(as)) {\n        childProps.href = as;\n    } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n        const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n        // we only render domain locales if we are currently on a domain locale\n        // so that locale links are still visitable in development/preview envs\n        const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n        childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n    }\n    return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n        ...restProps,\n        ...childProps,\n        children: children\n    });\n}, \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\")), \"wKD5mb5mk47bkaStGb/Fvd6RWZE=\");\n_c1 = Link;\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n    Object.defineProperty(exports.default, \"__esModule\", {\n        value: true\n    });\n    Object.assign(exports.default, exports);\n    module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n    // Wrapped in an IIFE to avoid polluting the global scope\n    ;\n    (function () {\n        var _a, _b;\n        // Legacy CSS implementations will `eval` browser code in a Node.js context\n        // to extract CSS. For backwards compatibility, we need to check we're in a\n        // browser context before continuing.\n        if (typeof self !== 'undefined' &&\n            // AMP / No-JS mode does not inject these helpers:\n            '$RefreshHelpers$' in self) {\n            // @ts-ignore __webpack_module__ is global\n            var currentExports = module.exports;\n            // @ts-ignore __webpack_module__ is global\n            var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n            // This cannot happen in MainTemplate because the exports mismatch between\n            // templating and execution.\n            self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n            // A module can be accepted automatically based on its exports, e.g. when\n            // it is a Refresh Boundary.\n            if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n                // Save the previous exports signature on update so we can compare the boundary\n                // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n                module.hot.dispose(function (data) {\n                    data.prevSignature =\n                        self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n                });\n                // Unconditionally accept an update to this module, we'll check if it's\n                // still a Refresh Boundary later.\n                // @ts-ignore importMeta is replaced in the loader\n                module.hot.accept();\n                // This field is set when the previous version of this module was a\n                // Refresh Boundary, letting us know we need to check for invalidation or\n                // enqueue an update.\n                if (prevSignature !== null) {\n                    // A boundary can become ineligible if its exports are incompatible\n                    // with the previous exports.\n                    //\n                    // For example, if you add/remove/change exports, we'll want to\n                    // re-execute the importing modules, and force those components to\n                    // re-render. Similarly, if you convert a class component to a\n                    // function, we want to invalidate the boundary.\n                    if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n                        module.hot.invalidate();\n                    }\n                    else {\n                        self.$RefreshHelpers$.scheduleUpdate();\n                    }\n                }\n            }\n            else {\n                // Since we just executed the code for the module, it's possible that the\n                // new exports made it ineligible for being a boundary.\n                // We only care about the case when we were _previously_ a boundary,\n                // because we already accepted this update (accidental side effect).\n                var isNoLongerABoundary = prevSignature !== null;\n                if (isNoLongerABoundary) {\n                    module.hot.invalidate();\n                }\n            }\n        }\n    })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs2QkFTNEJBLHlCQUFBQyxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3lDQUNEO3dDQUNEO3VDQUNJOzs7O3VDQVFFQSxtQkFBQUEsQ0FBQTs2Q0FDQTs2Q0FDSjs7QUFtRzVCLE1BQU1DLHNCQUFpQkMsbUJBQUFBLENBQUFBLDhQQUFBQTtBQVV2QixNQUFBRCxhQUNFRSxJQUFBQTtTQU9JQyxTQUFPQyxNQUFBQSxFQUFXQyxJQUFBLEVBQUFDLEVBQUEsRUFBQUMsT0FBYSxFQUFBQyxVQUFBLEVBQUFDLFdBQUE7UUFDakMsT0FBQUwsV0FBQTtRQUNGO0lBRUE7SUFDQSxnSkFBdUM7UUFDckMsQ0FBQUssZUFBQSxLQUFBQyxZQUFBQyxVQUFBLEVBQUFOLE9BQUE7UUFDRjtJQUVBO0lBQ0EsNEVBQVk7SUFDWixZQUFLRTtRQUNILENBQUFBLFFBQU1LLHFCQUNKO1FBQ0EsTUFBQUEsU0FPRixPQUFNQyxRQUFBQSxNQUFBQSxLQUFnQlIsY0FBa0JFLFFBQU1LLE1BQUFBLEdBQUFBLFlBQUFBLFNBQUFBLE9BQUFBLE1BQUFBLEdBQUFBO1FBRTlDLE1BQUFDLGdCQUFBUixPQUFBLE1BQUFDLEtBQUEsTUFBQU07UUFDQSxrRUFBbUM7WUFDakNaLFdBQUFjLEdBQUEsQ0FBQUQsZ0JBQUE7WUFDRjtRQUVBO1FBQ0FiLCtCQUFlYTtRQUNqQmIsV0FBQWUsR0FBQSxDQUFBRjtJQUVBO1VBQ0VHLGFBQUlQO1lBQ0ZBLGFBQUE7WUFDQTtZQUNBLHdGQUFvREQ7WUFDdEQsT0FBT04sT0FBQUMsUUFBQSxDQUFBRSxNQUFBRztlQUNMO1lBQ0YsT0FBQU4sT0FBQUMsUUFBQSxDQUFBRSxNQUFBQyxJQUFBQztRQUNGO0lBRUE7SUFDQTtJQUNBLDBEQUFzRDtJQUN0RDtJQUNBUyx5REFBb0JDO2lCQUNkQyxLQUFRQyxDQUFHLENBQUNDO1lBQ2RGLElBQUEsRUFBcUM7WUFDckMscUNBQU1EO1lBQ1IsTUFBQUE7UUFDRjtJQUNGO0FBRUE7U0FDRUksZ0JBQW9CQyxLQUFNQztJQUMxQixNQUFNQyxjQUFTQyxNQUFBQSxhQUF3QjtJQUN2QyxNQUFBRCxTQUNHQSxZQUFVQSxZQUNYRixDQUFBQTtJQUlDQSxPQUFNSSxVQUFXRixXQUFVRSxXQUFZQyxNQUFLQyxPQUFLLElBQUFOLE1BQUFPLE9BQUEsSUFBQVAsTUFBQVEsUUFBQSxJQUFBUixNQUFBUyxNQUFBO0lBRXREVCxNQUFBSSxXQUFBLElBQUFKLE1BQUFJLFdBQUEsQ0FBQUMsS0FBQTtBQUVBO1NBV0VLLFlBQWdCQyxDQUFFLEVBQUEvQixNQUFLcUIsRUFBQUEsSUFBQUEsRUFBQUEsRUFBYSxFQUFBVyxPQUFBLEVBQUFDLE9BQUEsRUFBQUMsTUFBQSxFQUFBeEIsTUFBQSxFQUFBSCxXQUFBO0lBRXBDLFFBQUE0QixRQUFBLEtBQUFKLEVBQUFWLGFBQUE7SUFDQSxrREFBNkM7SUFFN0MsTUFDRWUsbUJBQ0NqQixTQUFBQSxXQUFnQlksT0FDZjtJQUNDLElBQUN4QixvQkFBZ0JFLENBQUFBLGdCQUFBQSxNQUFXTixnSkFDL0I7b0JBQ0EsS0FBQUssWUFBQUMsVUFBQSxFQUFBTixLQUFBLEdBQThDO1FBQzlDO1FBQ0Y7SUFFQTRCO0lBRUFBLEVBQUFNLGNBQU1DO1VBQ0pBLFdBQUE7UUFDQSx3RUFBK0I7UUFDL0IsTUFBSUMsZUFBQUwsVUFBb0JsQyxPQUFRa0MsU0FBQTtZQUM5QmxDLG9CQUFpQkEsUUFBQTtrQkFDZmlDLENBQUFBLFVBQUFBLFlBQUFBLE9BQUFBLENBQUFBLE1BQUFBLElBQUFBO2dCQUNBdkI7Z0JBQ0F3QjtnQkFDRkEsUUFBQUs7WUFDRjtlQUNFdkM7a0JBQ0VrQyxDQUFBQSxVQUFRSyxZQUFBQSxPQUFBQSxDQUFBQSxNQUFBQSxNQUFBQTtnQkFDVkwsUUFBQUs7WUFDRjtRQUNGO0lBRUE7UUFDRUMsYUFBQUE7UUFDRkMsT0FBT0MsT0FBQSxDQUFBQyxlQUFBLENBQUFMO1dBQ0xBO1FBQ0ZBO0lBQ0Y7QUFPQTtTQUNNTSxrQkFBT0MsY0FBbUI7UUFDNUIsT0FBT0EsbUJBQUFBLFVBQUFBO1FBQ1QsT0FBQUE7SUFFQTtJQUNGLFdBQUFDLFdBQUFDLFNBQUEsRUFBQUY7QUFFQTs7Ozs7Ozs7SUFVSSxNQUFJRyxPQUFBQSxXQUFBQSxHQUFBQSxHQUFBQSxPQUFBQSxPQUFBQSxDQUFBQSxVQUFBQSxTQUFBQSxTQUFBQSxjQUFBQSxLQUFBQSxFQUFBQSxZQUFBQTs7SUFFSixJQUFBQTtJQWlCQUEsTUFBQUEsRUFBQUEsTUFBV0MsUUFBQUEsRUFBQUEsSUFBQUEsTUFBQUEsRUFBQUEsVUFBQUEsWUFBQUEsRUFBQUEsVUFBQUEsZUFBQUEsSUFBQUEsRUFBQUEsUUFBQUEsRUFBQUEsT0FBQUEsRUFBQUEsT0FBQUEsRUFBQUEsTUFBQUEsRUFBQUEsTUFBQUEsRUFBQUEsT0FBQUEsRUFBQUEsY0FBQUEsZ0JBQUFBLEVBQUFBLGNBQUFBLGdCQUFBQSxFQUFBQSxpQkFBQUEsS0FBQUEsRUFBQUEsR0FBQUEsV0FBQUEsR0FBQUE7SUFFWEQsV0FDRUU7UUFHQUYsa0JBQUFBLENBQUFBLE9BQVdBLGFBQUEsWUFBQ0csT0FBQUEsYUFBQUEsUUFBQUEsR0FBQUE7bUJBQUdILFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLEtBQUFBOztRQUNqQjtJQUVBO0lBQ0EsTUFBTUksY0FBWVosT0FBQUEsT0FBTWEsQ0FBQUEsVUFBV0MsQ0FBQUEsNEJBQUFBLGFBQUFBO0lBQ25DLE1BQU10RCxZQUFTdUQsT0FBQUEsT0FBQUEsQ0FBQUEsVUFBQUEsQ0FBQUEsK0JBQWVILGdCQUFBQTtJQUU5QixNQUFBcEQsU0FBQXVELGVBQUEsT0FBQUEsY0FBQUg7SUFDQSwwREFBcUJHO0lBRXJCLE1BQU1DLGNBQUFBLENBQUFBO0lBQ04sTUFBQUEsa0JBQUFDLGlCQUFBOzs7Ozs7S0FTQSxHQUFJekMsTUFBQUEsa0JBQW9CeUMsaUJBQW1CLE9BQUFDLG9CQUFBQyxZQUFBLENBQUFDLElBQUEsR0FBQUYsb0JBQUFDLFlBQUEsQ0FBQUUsSUFBQTtRQUN6QzdDLElBQXlCOEMsRUFJeEI7aUJBQ0NDLGdCQUNHRCxJQUFBO1lBS0wsV0FBQUUsTUFBQSxpQ0FBQUYsS0FBQUcsR0FBQSxvQkFBQUgsS0FBQUksUUFBQSwrQkFBQUosS0FBQUssTUFBQSwwQkFBQWpFLFdBQUE7UUFFQTtRQUNBLHNDQUE0RDtjQUMxREMscUJBQU07WUFDUkEsTUFBQTtRQUNBO1FBR0FpRSxNQUFBQSxnQkFBc0JDLE9BQUNKLElBQUFBLENBQUFBO3NCQUNqQkEsT0FBUSxFQUFBQTtnQkFDVkEsUUFDRUssUUFBVTtvQkFHVkEsS0FBQSxDQUFNUCxJQUFBQSxJQUFBQSxRQUFnQixPQUFBTyxLQUFBLENBQUFMLElBQUEsd0JBQUFLLEtBQUEsQ0FBQUwsSUFBQTswQkFDcEJBLGdCQUFBQTt3QkFDQUM7d0JBQ0FDLFVBQVFHO3dCQUNWSCxRQUFBRyxLQUFBLENBQUFMLElBQUEsNEJBQUFLLEtBQUEsQ0FBQUwsSUFBQTtvQkFDRjtnQkFDRjttQkFDRTtnQkFDQTtnQkFDQSw2REFBaUJBO2dCQUNuQixNQUFBckUsSUFBQXFFO1lBQ0Y7UUFFQTtRQUNBLHNDQUE0RDtjQUMxRDdELHFCQUFJO1lBQ0o0QixJQUFBQTtZQUNBRSxTQUFRO1lBQ1JELFFBQUFBO1lBQ0FzQyxTQUFBQTtZQUNBdEUsVUFBVTtZQUNWUyxVQUFRO1lBQ1I4RCxRQUFBQTtZQUNBQyxTQUFBQTtZQUNBQyxjQUFjO1lBQ2R4QixjQUFBQTtZQUNGQSxnQkFBQTtRQUNBO1FBR0F5QixNQUFBQSxnQkFBc0JOLE9BQUNKLElBQUFBLENBQUFBO3NCQUNmVyxPQUFVLEVBQUFYO1lBRWhCLE1BQUlBLFVBQVEsT0FBTUssS0FBQSxDQUFBTCxJQUFBO2dCQUNoQkEsUUFBSUssTUFBVTtvQkFDWkEsS0FBQSxDQUFNUCxJQUFBQSxJQUFBQSxZQUFnQixZQUFBYSxZQUFBOzBCQUNwQlgsZ0JBQUFBO3dCQUNBQzt3QkFDQUMsVUFBUVM7d0JBQ1ZULFFBQUFTO29CQUNGO2dCQUNGO21CQUNFLElBQUlOLFFBQVUsVUFBSU07b0JBQ2hCTixLQUFBLENBQU1QLElBQUFBLElBQUFBLFlBQWdCOzBCQUNwQkUsZ0JBQUFBO3dCQUNBQzt3QkFDQUMsVUFBUVM7d0JBQ1ZULFFBQUFTO29CQUNGO2dCQUNGO21CQUtFLElBQUlOLFFBQVUsYUFBSU0sUUFBWSxrQkFBWVgsUUFBQTtvQkFDeENLLEtBQUEsQ0FBTVAsSUFBQUEsSUFBQUEsWUFBZ0I7MEJBQ3BCRSxnQkFBQUE7d0JBQ0FDO3dCQUNBQyxVQUFRUzt3QkFDVlQsUUFBQVM7b0JBQ0Y7Z0JBQ0Y7bUJBUUUsSUFBSU4sUUFBVSxhQUFZTSxRQUFBQSxZQUFZWCxRQUFXLGFBQUFBLFFBQUEsY0FBQUEsUUFBQSxjQUFBQSxRQUFBO29CQUMvQ0ssS0FBQSxDQUFNUCxJQUFBQSxJQUFBQSxRQUFnQmEsWUFBQTswQkFDcEJYLGdCQUFBQTt3QkFDQUM7d0JBQ0FDLFVBQVFTO3dCQUNWVCxRQUFBUztvQkFDRjtnQkFDRjttQkFDRTtnQkFDQTtnQkFDQSw2REFBaUJYO2dCQUNuQixNQUFBckUsSUFBQXFFO1lBQ0Y7UUFFQTtRQUNBLDRGQUFzRDtRQUN0RCxzREFBK0I7UUFDL0IsTUFBSUssWUFBYzdCLE9BQUtvQyxPQUFBQSxDQUFVQyxNQUFBQSxDQUFPO1lBQ3RDRCxNQUFBQSxRQUFVQyxJQUFPLENBQUFELFVBQUdDLE9BQUEsS0FBQXZFLGFBQUE7WUFDcEJ3RSxVQUFRQyxPQUNOO1lBRUpELFFBQUFDLElBQUE7UUFDRjtJQUVBO1FBQ0VoRSxJQUFvQmlFLEVBQVE7WUFDMUIxRSxlQUFJSixDQUFBQSxRQUFBQTtZQUNKLElBQUlBO2dCQUNGQSxPQUFPK0UsYUFBQUEsVUFBQUE7Z0JBQ1QvRSxPQUNFK0U7bUJBR0EvRSxJQUFPK0UsT0FBQUEsYUFBaUIsbUJBQUFBLFNBQUFDLFFBQUE7Z0JBQzFCaEYsT0FBQStFLFNBQUFDLFFBQUE7WUFFQTtnQkFDRWhGLE1BQU1pRjtnQkFJTixNQUFJQSxvQkFBbUJqRixLQUFBa0YsS0FBQSxNQUFBQyxJQUFBLEVBQUFDLFVBQUFBLFFBQUFDLFVBQUEsU0FBQUQsUUFBQUUsUUFBQTtvQkFDckJMLG1CQUNHO29CQUVMLFVBQUFwQixNQUFBLG1CQUFBN0QsT0FBQTtnQkFDRjtZQUNGO1FBQ0Y7SUFFQTtVQUNFLEVBQUlBLElBQUNvRCxFQUFBQSxFQUFBQSxFQUFBQSxHQUFBQSxPQUFhYixPQUFBLENBQUFnRCxPQUFBO1lBQ2hCLENBQUFuQyxhQUFNb0M7WUFDTixNQUFBQSxlQUFPL0Msa0JBQUFzQzttQkFDTC9FO2dCQUNBQyxNQUFJNkU7Z0JBQ043RSxJQUFBNkUsU0FBQXJDLGtCQUFBcUMsVUFBQVU7WUFDRjtRQUVBO1FBTUEsT0FBT0EsY0FBQUMsV0FBQSxPQUFBQyxhQUFBQyxXQUFBLEVBQUF2QyxhQUFBMkIsVUFBQTtlQUNML0U7WUFDQUMsTUFBSTZFO1lBR043RSxJQUFBNkUsU0FBQSxJQUFBWSxhQUFBQyxXQUFBLEVBQUF2QyxhQUFBMEIsVUFBQVcsY0FBQUQ7UUFDQzs7UUFBY1Q7UUFBVUQ7UUFBT0E7S0FFbEM7SUFDQSxNQUFNYyxlQUFhdkQsT0FBQUEsT0FBTXdELENBQUFBLE1BQWU1RixDQUFBQTtJQUV4QyxNQUFBMkYsYUFBQXRELE9BQUFDLE9BQUEsQ0FBQXNELE1BQUEsQ0FBQTVGO0lBQ0Esb0ZBQUk2RjtJQUNKLElBQUkvQztRQUNGQSxnQkFBZ0JoQztZQUNkRixJQUFhO2dCQUNYK0QsU0FBUUM7Z0JBR1ZELFFBQUFDLElBQUEscURBQUFFLFdBQUE7WUFDQTtnQkFDRUgsa0JBQ0c7Z0JBRUxBLFFBQUFDLElBQUEsMERBQUFFLFdBQUE7WUFDQTtnQkFDRWU7Z0JBQ0FBLFFBQU9sRixPQUFLMkIsT0FBQSxDQUFBd0QsUUFBQSxDQUFBQyxJQUFBLENBQUFuRDtxQkFDUEEsS0FBQUE7b0JBQ0gsQ0FBQUEsVUFBVWdCO29CQUdaLFVBQUFBLE1BQUEsdURBQUFrQixXQUFBO2dCQUNBO2dCQU1GLFVBQUFsQixNQUFBLDZEQUFBa0IsV0FBQSxzR0FBQWhGLFdBQUE7WUFDRjtlQUNFK0YsRUFFSjtXQUNFO1lBQ0VqRixJQUFLZ0MsRUFBQUE7Z0JBQ0gsQ0FBQUEsWUFBVWdCLE9BQ1IsU0FBQWhCLFNBQUFvRCxJQUFBO2dCQUVKLFVBQUFwQyxNQUFBO1lBQ0Y7UUFDRjtJQUVBO0lBSUEsTUFBTXFDLFdBQUNDLGlCQUFvQkMsU0FBV0MsT0FBQUEsVUFBZ0JDLFlBQUFBLE1BQUFBLEdBQUFBLEdBQUFBO1VBQ3BEQyxDQUFBQSxvQkFBWUgsV0FBQUMsYUFBQSxPQUFBRyxpQkFBQUYsZUFBQTtRQUNkQyxZQUFBO0lBRUE7VUFFSUUsU0FBQW5FLE9BQUFDLE9BQUEsQ0FBQW1FLFdBQUEsRUFBQUM7UUFDQSw0RUFBZ0U7WUFDOUROLFdBQUFBLE9BQUFBLEtBQUFBLE1BQUFBLGFBQUFBLE9BQUFBLEtBQUFBLE1BQUFBO1lBQ0FUO1lBQ0FnQixXQUFBQSxPQUFhakMsR0FBTzFFO1lBQ3RCMkcsYUFBQWpDLE9BQUEsR0FBQTNFO1FBRUFtRztRQUNBQSxtQkFBY1E7WUFDWlQsVUFBSTt1QkFDS0EsYUFBT0EsWUFBYUEsU0FBVVM7aUJBQ3JDVCxJQUFBQSxPQUFTdkIsYUFBVWdDLFVBQUFBO2dCQUNyQlQsU0FBQXZCLE9BQUEsR0FBQWdDO1lBQ0Y7UUFFRjs7UUFBS1Q7UUFBVWxHO1FBQU1xRztRQUFjRjtRQUFtQkE7S0FHeEQ7SUFDQTlELDJEQUFnQjtXQUNkRSxPQUFBLENBQUFzRSxTQUFBO1FBQ0EsZ0hBQTJDO1lBQ3pDaEcsSUFBQTtZQUNGO1FBRUE7WUFDRSxDQUFBaEIsUUFBQTtZQUNGO1FBRUE7UUFDQSwyREFBb0M7WUFDbEMsQ0FBQXVHLGFBQUEsQ0FBQS9DLGlCQUFBO1lBQ0Y7UUFFQTtRQUNBdkQsb0JBRUVFO2lCQUVFTyxRQUFBQSxNQUFBQSxJQUFBQTtZQUNGQTs7WUFHQUgsTUFBQUE7UUFFRCxHQUFBQTs7UUFFREo7UUFDQW9HO1FBQ0E3RjtRQUNBOEM7UUFDQUQ7UUFDQXZELGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFlBQUFBLE1BQUFBO1FBQ0FPO1FBQ0EwRztRQUNEQTtLQUVEO1VBT0VDLGFBQUtOO1FBQ0xwQyxLQUFBQTtpQkFDTXhELENBQUFBO2dCQUNGQSxJQUFRO29CQUNOLENBQUFlLEdBQUE7b0JBR0YsVUFBQWlDLE1BQUE7Z0JBQ0Y7WUFFQTtnQkFDRVEsQ0FBQUEsa0JBQVF6QyxPQUFBQSxZQUFBQSxZQUFBQTtnQkFDVnlDLFFBQUF6QztZQUVBO2dCQUtFa0Usa0JBQVl6QixNQUFRekMsS0FBQUEsSUFBQUEsT0FBQUEsTUFBQUEsS0FBQUEsQ0FBQUEsT0FBQUEsS0FBQUEsWUFBQUE7Z0JBQ3RCa0UsTUFBQTNCLEtBQUEsQ0FBQUUsT0FBQSxDQUFBekM7WUFFQTtnQkFDRSxDQUFBL0IsUUFBQTtnQkFDRjtZQUVBO2dCQUNFK0IsRUFBQW9GLGdCQUFBO2dCQUNGO1lBRUFyRjtZQVdGQSxZQUFBQyxHQUFBL0IsUUFBQUcsTUFBQUMsSUFBQTRCLFNBQUFDLFNBQUFDLFFBQUF4QixRQUFBSDtRQUNBa0U7c0JBQ092QixDQUFBQTtnQkFDSGtFLENBQUFBLGtCQUFpQnJGLE9BQUFBLHFCQUFBQSxZQUFBQTtnQkFDbkJxRixpQkFBQXJGO1lBRUE7Z0JBS0VrRSxrQkFBWXhCLE1BQVlILEtBQUN2QyxJQUFBQSxPQUFBQSxNQUFBQSxLQUFBQSxDQUFBQSxZQUFBQSxLQUFBQSxZQUFBQTtnQkFDM0JrRSxNQUFBM0IsS0FBQSxDQUFBRyxZQUFBLENBQUExQztZQUVBO2dCQUNFLENBQUEvQixRQUFBO2dCQUNGO1lBRUE7Z0JBSUUsRUFBQXdELG1CQUFBeEMsa0JBQUEsa0JBQUFULGFBQUE7Z0JBQ0Y7WUFFQU47cUJBS0lTLFFBQUFBLE1BQUFBLElBQUFBO2dCQUNBMkc7Z0JBQ0FBLFVBQUE7Z0JBQ0FDLGdHQUF1QjtnQkFFekJBLHVCQUFBOztnQkFHQS9HLE1BQUFBO1lBRUosR0FBQUE7UUFDQW1FO3NCQUdXeEIsTUFBeUJxRSxHQUFxQkMsQ0FBQUEsR0FBWSxTQUFBOUMsYUFBQTNDLENBQUE7Z0JBQzdEd0YsQ0FBQUEsa0JBQWlCeEYsT0FBQUEscUJBQUFBLFlBQUFBO2dCQUNuQndGLGlCQUFBeEY7WUFFQTtnQkFLRWtFLGtCQUFZdkIsTUFBWUosS0FBQ3ZDLElBQUFBLE9BQUFBLE1BQUFBLEtBQUFBLENBQUFBLFlBQUFBLEtBQUFBLFlBQUFBO2dCQUMzQmtFLE1BQUEzQixLQUFBLENBQUFJLFlBQUEsQ0FBQTNDO1lBRUE7Z0JBQ0UsQ0FBQS9CLFFBQUE7Z0JBQ0Y7WUFFQTtnQkFDRSxDQUFBd0QsbUJBQUFqRCxhQUFBO2dCQUNGO1lBRUFOO3FCQUtJUyxRQUFBQSxNQUFBQSxJQUFBQTtnQkFDQTJHO2dCQUNBQSxVQUFBO2dCQUNBQyxnR0FBdUI7Z0JBRXpCQSx1QkFBQTs7Z0JBR0EvRyxNQUFBQTtZQUVKLEdBQUFBO1FBQ047SUFFQTtJQUNBLDZGQUF3RjtJQUN4Rix3RkFBb0Y7SUFDcEYsb0ZBQXVCO1FBQ3JCa0gsQ0FBQUEsR0FBQUEsT0FBV3RILGFBQU9DLEVBQUFBLEtBQUFBO1FBQ3BCcUgsV0FDR3ZFLElBQUFBLEdBQUFBO1dBSUQsSUFBTXdFLENBQUFBLGtCQUNHaEgsWUFBV3VGLE1BQUFHLElBQUEsS0FBYzFGLE9BQVM2QyxDQUFBQSxDQUFBQSxVQUFBQSxNQUFBQSxLQUFBQSxHQUFBQTtRQUUzQyxNQUFBbUUsWUFBQSxPQUFBaEgsV0FBQSxjQUFBQSxTQUFBNkMsZUFBdUUsZ0JBQUFBLFlBQUE3QyxNQUFBO1FBQ3ZFLHVFQUF1RTtRQUN2RSx1RUFDZWlIO1FBUWZGLE1BQUFBLGVBQ0VHLENBQUFBLGVBQ0FDLE9BQUFBLEtBQUFBLElBQUFBLFlBQVlDLGNBQUFBLEtBQUFBLENBQUFBLEdBQVNDLGlCQUFnQnhFLGVBQUFBLEVBQUFBLElBQUFBLFdBQUFBLGVBQWF5RSxPQUFBQSxLQUFhLElBQUF6RSxZQUFBMEUsT0FBQSxFQUFBMUUsZUFBQSxnQkFBQUEsWUFBQTJFLGFBQUE7UUFDbkVULFdBQUF0SCxJQUFBLEdBQUF5SCxnQkFBQSxJQUFBTyxhQUFBTixXQUFBLE1BQUFPLFdBQUFOLFNBQUEsRUFBQTFILElBQUFzSCxXQUFBbkUsZUFBQSxnQkFBQUEsWUFBQXlFLGFBQUE7SUFFQTtXQUdTSyxpQkFBUyxjQUFBNUYsT0FBQUMsT0FBQSxDQUFBNEYsWUFBQSxDQUFBckMsT0FBQXdCLGNBQUEsa0JBQUFjLFlBQUFDLEdBQUE7UUFBRyxHQUFHZixTQUFBQTtxQkFDbkJ6RTs7SUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vc3JjL2NsaWVudC9saW5rLnRzeD9hY2YwIl0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl8iLCJyZXF1aXJlIiwicHJlZmV0Y2hlZCIsIlNldCIsInJvdXRlciIsInByZWZldGNoIiwid2luZG93IiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImFwcE9wdGlvbnMiLCJpc0FwcFJvdXRlciIsIl9pc2xvY2FsdXJsIiwiaXNMb2NhbFVSTCIsImxvY2FsZSIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJkb1ByZWZldGNoIiwiZXJyIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZXZlbnRUYXJnZXQiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsImxpbmtDbGlja2VkIiwiZSIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsInJvdXRlclNjcm9sbCIsIlJlYWN0IiwiX3JlYWN0IiwiZGVmYXVsdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJfZm9ybWF0dXJsIiwiZm9ybWF0VXJsIiwiY2hpbGRyZW4iLCJjaGlsZHJlblByb3AiLCJsZWdhY3lCZWhhdmlvciIsImEiLCJhcHBSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsInBhZ2VzUm91dGVyIiwicHJlZmV0Y2hFbmFibGVkIiwicHJlZmV0Y2hQcm9wIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJGVUxMIiwiYXJncyIsImNyZWF0ZVByb3BFcnJvciIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0IiwicHJvcHMiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvblRvdWNoU3RhcnQiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImhhc1dhcm5lZCIsImN1cnJlbnQiLCJjb25zb2xlIiwid2FybiIsImFzUHJvcCIsImhyZWZQcm9wIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsIl9yZXNvbHZlaHJlZiIsInJlc29sdmVIcmVmIiwicHJldmlvdXNBcyIsInVzZVJlZiIsImNoaWxkIiwiQ2hpbGRyZW4iLCJvbmx5IiwidHlwZSIsImNoaWxkUmVmIiwic2V0SW50ZXJzZWN0aW9uUmVmIiwiaXNWaXNpYmxlIiwicmVzZXRWaXNpYmxlIiwidXNlSW50ZXJzZWN0aW9uIiwicm9vdE1hcmdpbiIsIl91c2VpbnRlcnNlY3Rpb24iLCJzZXRSZWYiLCJ1c2VDYWxsYmFjayIsImVsIiwicHJldmlvdXNIcmVmIiwidXNlRWZmZWN0IiwiYXBwUHJlZmV0Y2hLaW5kIiwicmVmIiwiZGVmYXVsdFByZXZlbnRlZCIsIm9uTW91c2VFbnRlclByb3AiLCJwcmlvcml0eSIsImJ5cGFzc1ByZWZldGNoZWRDaGVjayIsIm9uVG91Y2hTdGFydFByb3AiLCJ1bmRlZmluZWQiLCJjaGlsZFByb3BzIiwiY3VyTG9jYWxlIiwiaXNMb2NhbGVEb21haW4iLCJsb2NhbGVEb21haW4iLCJhZGRCYXNlUGF0aCIsImFkZExvY2FsZSIsIl9nZXRkb21haW5sb2NhbGUiLCJkZWZhdWx0TG9jYWxlIiwibG9jYWxlcyIsImRvbWFpbkxvY2FsZXMiLCJfYWRkYmFzZXBhdGgiLCJfYWRkbG9jYWxlIiwicmVzdFByb3BzIiwiY2xvbmVFbGVtZW50IiwiX2pzeHJ1bnRpbWUiLCJqc3giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/link.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/request-idle-callback.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVxdWVzdC1pZGxlLWNhbGxiYWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWdCYUEsb0JBQWtCO2VBQWxCQTs7SUFoQkFDLHFCQUFtQjtlQUFuQkE7OztBQUFOLE1BQU1BLHNCQUNYLE9BQVFDLFNBQVMsZUFDZkEsS0FBS0QsbUJBQW1CLElBQ3hCQyxLQUFLRCxtQkFBbUIsQ0FBQ0UsSUFBSSxDQUFDQyxXQUNoQyxTQUFVQyxFQUF1QjtJQUMvQixJQUFJQyxRQUFRQyxLQUFLQyxHQUFHO0lBQ3BCLE9BQU9OLEtBQUtPLFVBQVUsQ0FBQztRQUNyQkosR0FBRztZQUNESyxZQUFZO1lBQ1pDLGVBQWU7Z0JBQ2IsT0FBT0MsS0FBS0MsR0FBRyxDQUFDLEdBQUcsS0FBTU4sQ0FBQUEsS0FBS0MsR0FBRyxLQUFLRixLQUFBQTtZQUN4QztRQUNGO0lBQ0YsR0FBRztBQUNMO0FBRUssTUFBTU4scUJBQ1gsT0FBUUUsU0FBUyxlQUNmQSxLQUFLRixrQkFBa0IsSUFDdkJFLEtBQUtGLGtCQUFrQixDQUFDRyxJQUFJLENBQUNDLFdBQy9CLFNBQVVVLEVBQVU7SUFDbEIsT0FBT0MsYUFBYUQ7QUFDdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvcmVxdWVzdC1pZGxlLWNhbGxiYWNrLnRzPzA1ZjQiXSwibmFtZXMiOlsiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVxdWVzdElkbGVDYWxsYmFjayIsInNlbGYiLCJiaW5kIiwid2luZG93IiwiY2IiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJzZXRUaW1lb3V0IiwiZGlkVGltZW91dCIsInRpbWVSZW1haW5pbmciLCJNYXRoIiwibWF4IiwiaWQiLCJjbGVhclRpbWVvdXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/request-idle-callback.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/resolve-href.js":
 | 
						||
/*!******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVzb2x2ZS1ocmVmLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBeUJnQkE7OztlQUFBQTs7O3lDQXZCdUI7dUNBQ0Y7a0NBQ2hCO21DQUNvQjtvREFDRTt3Q0FDaEI7b0NBQ0k7MkNBQ0Q7QUFnQnZCLFNBQVNBLFlBQ2RDLE1BQWtCLEVBQ2xCQyxJQUFTLEVBQ1RDLFNBQW1CO0lBRW5CLDRDQUE0QztJQUM1QyxJQUFJQztJQUNKLElBQUlDLGNBQWMsT0FBT0gsU0FBUyxXQUFXQSxPQUFPSSxDQUFBQSxHQUFBQSxXQUFBQSxvQkFBb0IsRUFBQ0o7SUFFekUsNkRBQTZEO0lBQzdELG1EQUFtRDtJQUNuRCxNQUFNSyxnQkFBZ0JGLFlBQVlHLEtBQUssQ0FBQztJQUN4QyxNQUFNQyxxQkFBcUJGLGdCQUN2QkYsWUFBWUssS0FBSyxDQUFDSCxhQUFhLENBQUMsRUFBRSxDQUFDSSxNQUFNLElBQ3pDTjtJQUVKLE1BQU1PLFdBQVdILG1CQUFtQkksS0FBSyxDQUFDLEtBQUs7SUFFL0MsSUFBSSxDQUFDRCxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUlKLEtBQUssQ0FBQyxjQUFjO1FBQzFDTSxRQUFRQyxLQUFLLENBQ1gsbUJBQWlCVixjQUFZLHVDQUFvQ0osT0FBT2UsUUFBUSxHQUFDO1FBRW5GLE1BQU1DLGdCQUFnQkMsQ0FBQUEsR0FBQUEsT0FBQUEsd0JBQXdCLEVBQUNUO1FBQy9DSixjQUFjLENBQUNFLGdCQUFnQkEsYUFBYSxDQUFDLEVBQUUsR0FBRyxNQUFNVTtJQUMxRDtJQUVBLDJEQUEyRDtJQUMzRCxJQUFJLENBQUNFLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ2QsY0FBYztRQUM1QixPQUFRRixZQUFZO1lBQUNFO1NBQVksR0FBR0E7SUFDdEM7SUFFQSxJQUFJO1FBQ0ZELE9BQU8sSUFBSWdCLElBQ1RmLFlBQVlnQixVQUFVLENBQUMsT0FBT3BCLE9BQU9xQixNQUFNLEdBQUdyQixPQUFPZSxRQUFRLEVBQzdEO0lBRUosRUFBRSxPQUFPTyxHQUFHO1FBQ1Ysa0RBQWtEO1FBQ2xEbkIsT0FBTyxJQUFJZ0IsSUFBSSxLQUFLO0lBQ3RCO0lBRUEsSUFBSTtRQUNGLE1BQU1JLFdBQVcsSUFBSUosSUFBSWYsYUFBYUQ7UUFDdENvQixTQUFTUixRQUFRLEdBQUdTLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFBQ0QsU0FBU1IsUUFBUTtRQUNoRSxJQUFJVSxpQkFBaUI7UUFFckIsSUFDRUMsQ0FBQUEsR0FBQUEsUUFBQUEsY0FBYyxFQUFDSCxTQUFTUixRQUFRLEtBQ2hDUSxTQUFTSSxZQUFZLElBQ3JCekIsV0FDQTtZQUNBLE1BQU0wQixRQUFRQyxDQUFBQSxHQUFBQSxhQUFBQSxzQkFBc0IsRUFBQ04sU0FBU0ksWUFBWTtZQUUxRCxNQUFNLEVBQUVHLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLGVBQUFBLGFBQWEsRUFDdENULFNBQVNSLFFBQVEsRUFDakJRLFNBQVNSLFFBQVEsRUFDakJhO1lBR0YsSUFBSUUsUUFBUTtnQkFDVkwsaUJBQWlCcEIsQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQW9CLEVBQUM7b0JBQ3BDVSxVQUFVZTtvQkFDVkcsTUFBTVYsU0FBU1UsSUFBSTtvQkFDbkJMLE9BQU9NLENBQUFBLEdBQUFBLE1BQUFBLElBQUksRUFBQ04sT0FBT0c7Z0JBQ3JCO1lBQ0Y7UUFDRjtRQUVBLG9FQUFvRTtRQUNwRSxNQUFNSSxlQUNKWixTQUFTYSxNQUFNLEtBQUtqQyxLQUFLaUMsTUFBTSxHQUMzQmIsU0FBU3RCLElBQUksQ0FBQ1EsS0FBSyxDQUFDYyxTQUFTYSxNQUFNLENBQUMxQixNQUFNLElBQzFDYSxTQUFTdEIsSUFBSTtRQUVuQixPQUFPQyxZQUNIO1lBQUNpQztZQUFjVixrQkFBa0JVO1NBQWEsR0FDOUNBO0lBQ04sRUFBRSxPQUFPYixHQUFHO1FBQ1YsT0FBT3BCLFlBQVk7WUFBQ0U7U0FBWSxHQUFHQTtJQUNyQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9zcmMvY2xpZW50L3Jlc29sdmUtaHJlZi50cz9lNmQyIl0sIm5hbWVzIjpbInJlc29sdmVIcmVmIiwicm91dGVyIiwiaHJlZiIsInJlc29sdmVBcyIsImJhc2UiLCJ1cmxBc1N0cmluZyIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwidXJsUHJvdG9NYXRjaCIsIm1hdGNoIiwidXJsQXNTdHJpbmdOb1Byb3RvIiwic2xpY2UiLCJsZW5ndGgiLCJ1cmxQYXJ0cyIsInNwbGl0IiwiY29uc29sZSIsImVycm9yIiwicGF0aG5hbWUiLCJub3JtYWxpemVkVXJsIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwiaXNMb2NhbFVSTCIsIlVSTCIsInN0YXJ0c1dpdGgiLCJhc1BhdGgiLCJfIiwiZmluYWxVcmwiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsImludGVycG9sYXRlZEFzIiwiaXNEeW5hbWljUm91dGUiLCJzZWFyY2hQYXJhbXMiLCJxdWVyeSIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJyZXN1bHQiLCJwYXJhbXMiLCJpbnRlcnBvbGF0ZUFzIiwiaGFzaCIsIm9taXQiLCJyZXNvbHZlZEhyZWYiLCJvcmlnaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/resolve-href.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/use-intersection.js":
 | 
						||
/*!**********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvdXNlLWludGVyc2VjdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQStGZ0JBOzs7ZUFBQUE7OzttQ0EvRnlDO2lEQUlsRDtBQXFCUCxNQUFNQywwQkFBMEIsT0FBT0MseUJBQXlCO0FBRWhFLE1BQU1DLFlBQVksSUFBSUM7QUFDdEIsTUFBTUMsU0FBdUIsRUFBRTtBQUUvQixTQUFTQyxlQUFlQyxPQUFvQztJQUMxRCxNQUFNQyxLQUFLO1FBQ1RDLE1BQU1GLFFBQVFFLElBQUksSUFBSTtRQUN0QkMsUUFBUUgsUUFBUUksVUFBVSxJQUFJO0lBQ2hDO0lBQ0EsTUFBTUMsV0FBV1AsT0FBT1EsSUFBSSxDQUMxQixDQUFDQyxNQUFRQSxJQUFJTCxJQUFJLEtBQUtELEdBQUdDLElBQUksSUFBSUssSUFBSUosTUFBTSxLQUFLRixHQUFHRSxNQUFNO0lBRTNELElBQUlLO0lBRUosSUFBSUgsVUFBVTtRQUNaRyxXQUFXWixVQUFVYSxHQUFHLENBQUNKO1FBQ3pCLElBQUlHLFVBQVU7WUFDWixPQUFPQTtRQUNUO0lBQ0Y7SUFFQSxNQUFNRSxXQUFXLElBQUliO0lBQ3JCLE1BQU1jLFdBQVcsSUFBSWhCLHFCQUFxQixDQUFDaUI7UUFDekNBLFFBQVFDLE9BQU8sQ0FBQyxDQUFDQztZQUNmLE1BQU1DLFdBQVdMLFNBQVNELEdBQUcsQ0FBQ0ssTUFBTUUsTUFBTTtZQUMxQyxNQUFNQyxZQUFZSCxNQUFNSSxjQUFjLElBQUlKLE1BQU1LLGlCQUFpQixHQUFHO1lBQ3BFLElBQUlKLFlBQVlFLFdBQVc7Z0JBQ3pCRixTQUFTRTtZQUNYO1FBQ0Y7SUFDRixHQUFHakI7SUFDSFEsV0FBVztRQUNUUDtRQUNBVTtRQUNBRDtJQUNGO0lBRUFaLE9BQU9zQixJQUFJLENBQUNuQjtJQUNaTCxVQUFVeUIsR0FBRyxDQUFDcEIsSUFBSU87SUFDbEIsT0FBT0E7QUFDVDtBQUVBLFNBQVNjLFFBQ1BDLE9BQWdCLEVBQ2hCUixRQUF5QixFQUN6QmYsT0FBb0M7SUFFcEMsTUFBTSxFQUFFQyxFQUFFLEVBQUVVLFFBQVEsRUFBRUQsUUFBUSxFQUFFLEdBQUdYLGVBQWVDO0lBQ2xEVSxTQUFTVyxHQUFHLENBQUNFLFNBQVNSO0lBRXRCSixTQUFTVyxPQUFPLENBQUNDO0lBQ2pCLE9BQU8sU0FBU0M7UUFDZGQsU0FBU2UsTUFBTSxDQUFDRjtRQUNoQlosU0FBU2EsU0FBUyxDQUFDRDtRQUVuQix1REFBdUQ7UUFDdkQsSUFBSWIsU0FBU2dCLElBQUksS0FBSyxHQUFHO1lBQ3ZCZixTQUFTZ0IsVUFBVTtZQUNuQi9CLFVBQVU2QixNQUFNLENBQUN4QjtZQUNqQixNQUFNMkIsUUFBUTlCLE9BQU8rQixTQUFTLENBQzVCLENBQUN0QixNQUFRQSxJQUFJTCxJQUFJLEtBQUtELEdBQUdDLElBQUksSUFBSUssSUFBSUosTUFBTSxLQUFLRixHQUFHRSxNQUFNO1lBRTNELElBQUl5QixRQUFRLENBQUMsR0FBRztnQkFDZDlCLE9BQU9nQyxNQUFNLENBQUNGLE9BQU87WUFDdkI7UUFDRjtJQUNGO0FBQ0Y7QUFFTyxTQUFTbkMsZ0JBQW1Dc0MsS0FJakM7SUFKaUMsTUFDakRDLE9BQU8sRUFDUDVCLFVBQVUsRUFDVjZCLFFBQVEsRUFDUSxHQUppQ0Y7SUFLakQsTUFBTUcsYUFBc0JELFlBQVksQ0FBQ3ZDO0lBRXpDLE1BQU0sQ0FBQ3lDLFNBQVNDLFdBQVcsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDO0lBQ3ZDLE1BQU1DLGFBQWFDLENBQUFBLEdBQUFBLE9BQUFBLE1BQU0sRUFBVztJQUNwQyxNQUFNQyxhQUFhQyxDQUFBQSxHQUFBQSxPQUFBQSxXQUFXLEVBQUMsQ0FBQ2xCO1FBQzlCZSxXQUFXSSxPQUFPLEdBQUduQjtJQUN2QixHQUFHLEVBQUU7SUFFTG9CLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLElBQUlqRCx5QkFBeUI7WUFDM0IsSUFBSXdDLGNBQWNDLFNBQVM7WUFFM0IsTUFBTVosVUFBVWUsV0FBV0ksT0FBTztZQUNsQyxJQUFJbkIsV0FBV0EsUUFBUXFCLE9BQU8sRUFBRTtnQkFDOUIsTUFBTXBCLFlBQVlGLFFBQ2hCQyxTQUNBLENBQUNOLFlBQWNBLGFBQWFtQixXQUFXbkIsWUFDdkM7b0JBQUVmLE1BQU04QixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTVSxPQUFPO29CQUFFdEM7Z0JBQVc7Z0JBR3ZDLE9BQU9vQjtZQUNUO1FBQ0YsT0FBTztZQUNMLElBQUksQ0FBQ1csU0FBUztnQkFDWixNQUFNVSxlQUFlQyxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQW1CLEVBQUMsSUFBTVYsV0FBVztnQkFDMUQsT0FBTyxJQUFNVyxDQUFBQSxHQUFBQSxxQkFBQUEsa0JBQWtCLEVBQUNGO1lBQ2xDO1FBQ0Y7SUFDQSx1REFBdUQ7SUFDekQsR0FBRztRQUFDWDtRQUFZOUI7UUFBWTRCO1FBQVNHO1FBQVNHLFdBQVdJLE9BQU87S0FBQztJQUVqRSxNQUFNTSxlQUFlUCxDQUFBQSxHQUFBQSxPQUFBQSxXQUFXLEVBQUM7UUFDL0JMLFdBQVc7SUFDYixHQUFHLEVBQUU7SUFFTCxPQUFPO1FBQUNJO1FBQVlMO1FBQVNhO0tBQWE7QUFDNUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvdXNlLWludGVyc2VjdGlvbi50c3g/NTdlZSJdLCJuYW1lcyI6WyJ1c2VJbnRlcnNlY3Rpb24iLCJoYXNJbnRlcnNlY3Rpb25PYnNlcnZlciIsIkludGVyc2VjdGlvbk9ic2VydmVyIiwib2JzZXJ2ZXJzIiwiTWFwIiwiaWRMaXN0IiwiY3JlYXRlT2JzZXJ2ZXIiLCJvcHRpb25zIiwiaWQiLCJyb290IiwibWFyZ2luIiwicm9vdE1hcmdpbiIsImV4aXN0aW5nIiwiZmluZCIsIm9iaiIsImluc3RhbmNlIiwiZ2V0IiwiZWxlbWVudHMiLCJvYnNlcnZlciIsImVudHJpZXMiLCJmb3JFYWNoIiwiZW50cnkiLCJjYWxsYmFjayIsInRhcmdldCIsImlzVmlzaWJsZSIsImlzSW50ZXJzZWN0aW5nIiwiaW50ZXJzZWN0aW9uUmF0aW8iLCJwdXNoIiwic2V0Iiwib2JzZXJ2ZSIsImVsZW1lbnQiLCJ1bm9ic2VydmUiLCJkZWxldGUiLCJzaXplIiwiZGlzY29ubmVjdCIsImluZGV4IiwiZmluZEluZGV4Iiwic3BsaWNlIiwicGFyYW0iLCJyb290UmVmIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJ1c2VTdGF0ZSIsImVsZW1lbnRSZWYiLCJ1c2VSZWYiLCJzZXRFbGVtZW50IiwidXNlQ2FsbGJhY2siLCJjdXJyZW50IiwidXNlRWZmZWN0IiwidGFnTmFtZSIsImlkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJjYW5jZWxJZGxlQ2FsbGJhY2siLCJyZXNldFZpc2libGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/use-intersection.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js":
 | 
						||
/*!************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2FtcC1jb250ZXh0LnNoYXJlZC1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBRWFBOzs7ZUFBQUE7Ozs7NEVBRks7QUFFWCxNQUFNQSxrQkFBc0NDLE9BQUFBLE9BQUssQ0FBQ0MsYUFBYSxDQUFDLENBQUM7QUFFeEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsZ0JBQWdCSSxXQUFXLEdBQUc7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzk2NDEiXSwibmFtZXMiOlsiQW1wU3RhdGVDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/amp-mode.js":
 | 
						||
/*!******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2FtcC1tb2RlLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxZQUFZQyxLQUFBO0lBQUEsTUFDMUJDLFdBQVcsS0FBSyxFQUNoQkMsU0FBUyxLQUFLLEVBQ2RDLFdBQVcsS0FBSyxFQUNqQixHQUoyQkgsVUFBQSxTQUl4QixDQUFDLElBSnVCQTtJQUsxQixPQUFPQyxZQUFhQyxVQUFVQztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvYW1wLW1vZGUudHM/Y2UwNCJdLCJuYW1lcyI6WyJpc0luQW1wTW9kZSIsInBhcmFtIiwiYW1wRmlyc3QiLCJoeWJyaWQiLCJoYXNRdWVyeSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/amp-mode.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/escape-regexp.js":
 | 
						||
/*!***********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2VzY2FwZS1yZWdleHAuanMiLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFOzs7OztzREFJMURBOzs7ZUFBQUE7OztBQUhoQixNQUFNQyxjQUFjO0FBQ3BCLE1BQU1DLGtCQUFrQjtBQUVqQixTQUFTRixtQkFBbUJHLEdBQVc7SUFDNUMsK0dBQStHO0lBQy9HLElBQUlGLFlBQVlHLElBQUksQ0FBQ0QsTUFBTTtRQUN6QixPQUFPQSxJQUFJRSxPQUFPLENBQUNILGlCQUFpQjtJQUN0QztJQUNBLE9BQU9DO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2VzY2FwZS1yZWdleHAudHM/ZGNiMSJdLCJuYW1lcyI6WyJlc2NhcGVTdHJpbmdSZWdleHAiLCJyZUhhc1JlZ0V4cCIsInJlUmVwbGFjZVJlZ0V4cCIsInN0ciIsInRlc3QiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/escape-regexp.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/get-img-props.js":
 | 
						||
/*!***********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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, decoding = \"async\", 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        var _c_qualities;\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        const qualities = (_c_qualities = c.qualities) == null ? void 0 : _c_qualities.sort((a, b)=>a - b);\n        config = {\n            ...c,\n            allSizes,\n            deviceSizes,\n            qualities\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,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2dldC1pbWctcHJvcHMuanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0EyT2dCQTs7O2VBQUFBOzs7c0NBM09TOzBDQUNPO3lDQUNHO0FBNkVuQyxNQUFNQyx1QkFBdUI7SUFBQztJQUFRO0lBQVNDO0NBQVU7QUFrQnpELFNBQVNDLGdCQUNQQyxHQUFvQztJQUVwQyxPQUFPQSxJQUF1QkMsT0FBTyxLQUFLSDtBQUM1QztBQUVBLFNBQVNJLGtCQUNQRixHQUFvQztJQUVwQyxPQUFPQSxJQUF5QkEsR0FBRyxLQUFLRjtBQUMxQztBQUVBLFNBQVNLLGVBQWVILEdBQTBCO0lBQ2hELE9BQ0UsT0FBT0EsUUFBUSxZQUNkRCxDQUFBQSxnQkFBZ0JDLFFBQ2ZFLGtCQUFrQkYsSUFBQUE7QUFFeEI7QUFFQSxNQUFNSSxVQUFVLElBQUlDO0FBSXBCLElBQUlDO0FBRUosU0FBU0MsT0FBT0MsQ0FBVTtJQUN4QixJQUFJLE9BQU9BLE1BQU0sYUFBYTtRQUM1QixPQUFPQTtJQUNUO0lBQ0EsSUFBSSxPQUFPQSxNQUFNLFVBQVU7UUFDekIsT0FBT0MsT0FBT0MsUUFBUSxDQUFDRixLQUFLQSxJQUFJRztJQUNsQztJQUNBLElBQUksT0FBT0gsTUFBTSxZQUFZLFdBQVdJLElBQUksQ0FBQ0osSUFBSTtRQUMvQyxPQUFPSyxTQUFTTCxHQUFHO0lBQ3JCO0lBQ0EsT0FBT0c7QUFDVDtBQUVBLFNBQVNHLFVBQ1BDLEtBQXNDLEVBQ3RDQyxLQUF5QixFQUN6QkMsS0FBeUI7SUFGekIsTUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQWUsR0FBdENKO0lBSUEsSUFBSUUsT0FBTztRQUNULHlEQUF5RDtRQUN6RCxNQUFNRyxrQkFBa0I7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L19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy50cz9lYzkxIl0sIm5hbWVzIjpbImdldEltZ1Byb3BzIiwiVkFMSURfTE9BRElOR19WQUxVRVMiLCJ1bmRlZmluZWQiLCJpc1N0YXRpY1JlcXVpcmUiLCJzcmMiLCJkZWZhdWx0IiwiaXNTdGF0aWNJbWFnZURhdGEiLCJpc1N0YXRpY0ltcG9ydCIsImFsbEltZ3MiLCJNYXAiLCJwZXJmT2JzZXJ2ZXIiLCJnZXRJbnQiLCJ4IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJOYU4iLCJ0ZXN0IiwicGFyc2VJbnQiLCJnZXRXaWR0aHMiLCJwYXJhbSIsIndpZHRoIiwic2l6ZXMiLCJkZXZpY2VTaXplcyIsImFsbFNpemVzIiwidmlld3BvcnRXaWR0aFJlIiwicGVyY2VudFNpemVzIiwibWF0Y2giLCJleGVjIiwicHVzaCIsImxlbmd0aCIsInNtYWxsZXN0UmF0aW8iLCJNYXRoIiwibWluIiwid2lkdGhzIiwiZmlsdGVyIiwicyIsImtpbmQiLCJTZXQiLCJtYXAiLCJ3IiwiZmluZCIsInAiLCJnZW5lcmF0ZUltZ0F0dHJzIiwiY29uZmlnIiwidW5vcHRpbWl6ZWQiLCJxdWFsaXR5IiwibG9hZGVyIiwic3JjU2V0IiwibGFzdCIsImkiLCJqb2luIiwiX3N0YXRlIiwicHJpb3JpdHkiLCJsb2FkaW5nIiwiY2xhc3NOYW1lIiwiaGVpZ2h0IiwiZmlsbCIsInN0eWxlIiwib3ZlcnJpZGVTcmMiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwiZGVjb2RpbmciLCJsYXlvdXQiLCJvYmplY3RGaXQiLCJvYmplY3RQb3NpdGlvbiIsImxhenlCb3VuZGFyeSIsImxhenlSb290IiwicmVzdCIsImltZ0NvbmYiLCJzaG93QWx0VGV4dCIsImJsdXJDb21wbGV0ZSIsImRlZmF1bHRMb2FkZXIiLCJjIiwiaW1hZ2VDb25maWdEZWZhdWx0IiwiaW1hZ2VTaXplcyIsInNvcnQiLCJhIiwiYiIsInF1YWxpdGllcyIsIkVycm9yIiwiaXNEZWZhdWx0TG9hZGVyIiwiY3VzdG9tSW1hZ2VMb2FkZXIiLCJvYmoiLCJfIiwib3B0cyIsImxheW91dFRvU3R5bGUiLCJpbnRyaW5zaWMiLCJtYXhXaWR0aCIsInJlc3BvbnNpdmUiLCJsYXlvdXRUb1NpemVzIiwibGF5b3V0U3R5bGUiLCJsYXlvdXRTaXplcyIsInN0YXRpY1NyYyIsIndpZHRoSW50IiwiaGVpZ2h0SW50IiwiYmx1cldpZHRoIiwiYmx1ckhlaWdodCIsInN0YXRpY0ltYWdlRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyYXRpbyIsInJvdW5kIiwiaXNMYXp5Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyIsInF1YWxpdHlJbnQiLCJwcm9jZXNzIiwib3V0cHV0IiwicG9zaXRpb24iLCJpc05hTiIsImluY2x1ZGVzIiwiU3RyaW5nIiwid2Fybk9uY2UiLCJWQUxJRF9CTFVSX0VYVCIsInVybFN0ciIsInVybCIsIlVSTCIsImVyciIsInBhdGhuYW1lIiwic2VhcmNoIiwibGVnYWN5S2V5IiwibGVnYWN5VmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwid2luZG93IiwiUGVyZm9ybWFuY2VPYnNlcnZlciIsImVudHJ5TGlzdCIsImVudHJ5IiwiZ2V0RW50cmllcyIsImltZ1NyYyIsImVsZW1lbnQiLCJsY3BJbWFnZSIsImdldCIsIm9ic2VydmUiLCJ0eXBlIiwiYnVmZmVyZWQiLCJjb25zb2xlIiwiZXJyb3IiLCJpbWdTdHlsZSIsImFzc2lnbiIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImNvbG9yIiwiYmFja2dyb3VuZEltYWdlIiwiZ2V0SW1hZ2VCbHVyU3ZnIiwicGxhY2Vob2xkZXJTdHlsZSIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZFJlcGVhdCIsImltZ0F0dHJpYnV0ZXMiLCJmdWxsVXJsIiwiZSIsImxvY2F0aW9uIiwiaHJlZiIsInNldCIsInByb3BzIiwibWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/get-img-props.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/head.js":
 | 
						||
/*!**************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2hlYWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFxTUFBLFNBQW1COzs7SUF4TEhDO2lCQUFBQTs7Ozs7Ozs7MkRBVGdCQyxDQUFBLENBQUFDLG1CQUFBQSxDQUFBOzt5Q0FFSkEsbUJBQUFBLENBQUE7O0FBT3JCLE1BQUFDLFlBQVNILG1CQUFBQSxDQUFZSSxvTUFBQUE7U0FBQUEsWUFBQUEsU0FBQUE7SUFDMUIsSUFBQUEsY0FBYSxRQUFBQSxZQUFBOzttQkFBT0MsR0FBUSxJQUFBQyxZQUFBQyxHQUFBOztRQUFXO0tBQ3ZDO1FBQ0VDLENBQUFBLFdBQVM7YUFBT0MsSUFBQUEsQ0FBSyxrQkFBQUgsWUFBQUMsR0FBQTtZQUFXRyxNQUFBQTs7UUFDbEM7SUFDQTtJQUNGLE9BQUFGO0FBRUE7U0FJRUcsaUJBQUFDLElBQUEsRUFBQUMsS0FBQTtJQUNBLDhGQUE0RDtRQUMxRCxPQUFPRCxVQUFBQSxZQUFBQSxPQUFBQSxVQUFBQSxVQUFBQTtRQUNULE9BQUFBO0lBQ0E7SUFDQSxrQ0FBeUJFO1FBQ3ZCRCxNQUFBRSxJQUFPSCxLQUFLSSxPQUNWQyxPQUFBLENBQUFILFFBQUE7UUFDQUksT0FBQUEsS0FBQUEsTUFBTUMsQ0FFSkMsT0FDRUMsT0FBQUEsQ0FDQUMsUUFBQUEsQ0FBQUEsT0FBQUEsQ0FBQUEsTUFBQUEsS0FBQUEsQ0FBQUEsUUFBQUEsRUFBQUEsTUFBQUEsZ0JBR1NBO2dCQUdQLE9BQU9ELGtCQUFBQSxZQUFBQSxPQUFBQSxrQkFBQUEsVUFBQUE7Z0JBQ1QsT0FBQUE7WUFDQTtZQUVGLE9BQUVBLGFBQUFMLE1BQUEsQ0FBQU07UUFHUjtJQUNBO0lBQ0YsT0FBQVYsS0FBQUks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LFFBQUFBLEVBQUFBLEdBQVdDO0lBQ2pCLE1BQU1DLFdBQUFBLENBQUFBLEdBQWNELE9BQUFBLFVBQUFBLEVBQUFBLHlCQUFXRSxlQUFBQTtJQUMvQixNQUFBRCxjQUFBLENBQ0UsR0FBQXpDLE9BQUF3QyxVQUFBLEVBQUNHLGlDQUFNRCxrQkFBQTtXQUNMRSxXQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUF5QkMsR0FBQUEsRUFBQUEsWUFBQUEsT0FBQUEsRUFBQUE7UUFDekJKLHlCQUFhQTtRQUNiekQsYUFBVzhEO21CQUVWVCxDQUFBQSxHQUFBQSxTQUFBQSxXQUFBQSxFQUFBQTs7SUFHUDs7S0FaZ0JBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9oZWFkLnRzeD8zNjcwIl0sIm5hbWVzIjpbImV4cG9ydHMiLCJkZWZhdWx0SGVhZCIsIl8iLCJyZXF1aXJlIiwiX3dhcm5vbmNlIiwiaW5BbXBNb2RlIiwiY2hhclNldCIsIl9qc3hydW50aW1lIiwianN4IiwiaGVhZCIsIm5hbWUiLCJjb250ZW50Iiwib25seVJlYWN0RWxlbWVudCIsImxpc3QiLCJjaGlsZCIsIkZyYWdtZW50IiwidHlwZSIsImNvbmNhdCIsImRlZmF1bHQiLCJSZWFjdCIsIkNoaWxkcmVuIiwiX3JlYWN0IiwiZnJhZ21lbnRMaXN0IiwiZnJhZ21lbnRDaGlsZCIsIk1FVEFUWVBFUyIsImtleXMiLCJ0YWdzIiwiU2V0IiwibWV0YVR5cGVzIiwibWV0YUNhdGVnb3JpZXMiLCJoIiwiaXNVbmlxdWUiLCJoYXNLZXkiLCJrZXkiLCJpbmRleE9mIiwiYWRkIiwiaSIsIm1ldGF0eXBlIiwibGVuIiwiaGFzT3duUHJvcGVydHkiLCJjYXRlZ29yaWVzIiwiaGFzIiwiY2F0ZWdvcnkiLCJwcm9wcyIsImhlYWRDaGlsZHJlbkVsZW1lbnRzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiYyIsIl9fTkVYVF9PUFRJTUlaRV9GT05UUyIsInNvbWUiLCJ1cmwiLCJuZXdQcm9wcyIsInN0YXJ0c1dpdGgiLCJ1bmRlZmluZWQiLCJjbG9uZUVsZW1lbnQiLCJzcmNNZXNzYWdlIiwid2Fybk9uY2UiLCJjaGlsZHJlbiIsInBhcmFtIiwiYW1wU3RhdGUiLCJ1c2VDb250ZXh0IiwiaGVhZE1hbmFnZXIiLCJIZWFkTWFuYWdlckNvbnRleHQiLCJFZmZlY3QiLCJyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZSIsInJlZHVjZUNvbXBvbmVudHMiLCJpc0luQW1wTW9kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/head.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-blur-svg.js":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWJsdXItc3ZnLmpzIiwibWFwcGluZ3MiOiJBQUFBOztDQUVDOzs7O21EQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxnQkFBZ0JDLEtBYy9CO0lBZCtCLE1BQzlCQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsU0FBUyxFQVFWLEdBZCtCTjtJQWU5QixNQUFNTyxNQUFNO0lBQ1osTUFBTUMsV0FBV0wsWUFBWUEsWUFBWSxLQUFLRjtJQUM5QyxNQUFNUSxZQUFZTCxhQUFhQSxhQUFhLEtBQUtGO0lBRWpELE1BQU1RLFVBQ0pGLFlBQVlDLFlBQVksa0JBQWdCRCxXQUFTLE1BQUdDLFlBQVUsTUFBSztJQUNyRSxNQUFNRSxzQkFBc0JELFVBQ3hCLFNBQ0FKLGNBQWMsWUFDZCxhQUNBQSxjQUFjLFVBQ2QsbUJBQ0E7SUFFSixPQUFPLCtDQUE2Q0ksVUFBUSw4RkFBMkZILE1BQUksb1FBQWlRQSxNQUFJLGdHQUE2Rkksc0JBQW9CLHdDQUFxQ04sY0FBWTtBQUNwa0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWJsdXItc3ZnLnRzP2M3OWMiXSwibmFtZXMiOlsiZ2V0SW1hZ2VCbHVyU3ZnIiwicGFyYW0iLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJibHVyRGF0YVVSTCIsIm9iamVjdEZpdCIsInN0ZCIsInN2Z1dpZHRoIiwic3ZnSGVpZ2h0Iiwidmlld0JveCIsInByZXNlcnZlQXNwZWN0UmF0aW8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-blur-svg.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js":
 | 
						||
/*!*********************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBSWFBOzs7ZUFBQUE7Ozs7NEVBSks7eUNBRWlCO0FBRTVCLE1BQU1BLHFCQUNYQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBc0JDLGFBQUFBLGtCQUFrQjtBQUU3RCxJQUFJQyxJQUF5QixFQUFjO0lBQ3pDSixtQkFBbUJLLFdBQVcsR0FBRztBQUNuQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUudHM/M2Q3NSJdLCJuYW1lcyI6WyJJbWFnZUNvbmZpZ0NvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-config.js":
 | 
						||
/*!**********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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    localPatterns: undefined,\n    remotePatterns: [],\n    qualities: undefined,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBYUEsZUFBYTtlQUFiQTs7SUFpSUFDLG9CQUFrQjtlQUFsQkE7OztBQWpJTixNQUFNRCxnQkFBZ0I7SUFDM0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBMkhNLE1BQU1DLHFCQUEwQztJQUNyREMsYUFBYTtRQUFDO1FBQUs7UUFBSztRQUFLO1FBQU07UUFBTTtRQUFNO1FBQU07S0FBSztJQUMxREMsWUFBWTtRQUFDO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSTtRQUFLO1FBQUs7S0FBSTtJQUMvQ0MsTUFBTTtJQUNOQyxRQUFRO0lBQ1JDLFlBQVk7SUFDWkMsU0FBUyxFQUFFO0lBQ1hDLHFCQUFxQjtJQUNyQkMsaUJBQWlCO0lBQ2pCQyxTQUFTO1FBQUM7S0FBYTtJQUN2QkMscUJBQXFCO0lBQ3JCQyx1QkFBd0I7SUFDeEJDLHdCQUF3QjtJQUN4QkMsZUFBZUM7SUFDZkMsZ0JBQWdCLEVBQUU7SUFDbEJDLFdBQVdGO0lBQ1hHLGFBQWE7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLnRzPzEzNGEiXSwibmFtZXMiOlsiVkFMSURfTE9BREVSUyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImRldmljZVNpemVzIiwiaW1hZ2VTaXplcyIsInBhdGgiLCJsb2FkZXIiLCJsb2FkZXJGaWxlIiwiZG9tYWlucyIsImRpc2FibGVTdGF0aWNJbWFnZXMiLCJtaW5pbXVtQ2FjaGVUVEwiLCJmb3JtYXRzIiwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyIsImNvbnRlbnRTZWN1cml0eVBvbGljeSIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiLCJsb2NhbFBhdHRlcm5zIiwidW5kZWZpbmVkIiwicmVtb3RlUGF0dGVybnMiLCJxdWFsaXRpZXMiLCJ1bm9wdGltaXplZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-config.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-loader.js":
 | 
						||
/*!**********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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}));\nconst DEFAULT_Q = 75;\nfunction defaultLoader(param) {\n    let { config, src, width, quality } = param;\n    var _config_qualities;\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.localPatterns) {\n            if (true) {\n                // We use dynamic require because this should only error in development\n                const { hasLocalMatch } = __webpack_require__(/*! ./match-local-pattern */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-local-pattern.js\");\n                if (!hasLocalMatch(config.localPatterns, src)) {\n                    throw new Error(\"Invalid src prop (\" + src + \") on `next/image` does not match `images.localPatterns` configured in your `next.config.js`\\n\" + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns\");\n                }\n            }\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 { hasRemoteMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n                if (!hasRemoteMatch(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        if (quality && config.qualities && !config.qualities.includes(quality)) {\n            throw new Error(\"Invalid quality prop (\" + quality + \") on `next/image` does not match `images.qualities` configured in your `next.config.js`\\n\" + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-qualities\");\n        }\n    }\n    const q = quality || ((_config_qualities = config.qualities) == null ? void 0 : _config_qualities.reduce((prev, cur)=>Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q) ? cur : prev)) || DEFAULT_Q;\n    return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + q + ( 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWxvYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQXVHQTs7O2VBQUFBOzs7QUFyR0EsTUFBTUMsWUFBWTtBQUVsQixTQUFTQyxjQUFjQyxLQUtNO0lBTE4sTUFDckJDLE1BQU0sRUFDTkMsR0FBRyxFQUNIQyxLQUFLLEVBQ0xDLE9BQU8sRUFDb0IsR0FMTko7UUFtRm5CQztJQTdFRixJQUFJSSxJQUF5QixFQUFjO1FBQ3pDLE1BQU1DLGdCQUFnQixFQUFFO1FBRXhCLHlEQUF5RDtRQUN6RCxJQUFJLENBQUNKLEtBQUtJLGNBQWNDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUNKLE9BQU9HLGNBQWNDLElBQUksQ0FBQztRQUUvQixJQUFJRCxjQUFjRSxNQUFNLEdBQUcsR0FBRztZQUM1QixNQUFNLElBQUlDLE1BQ1Isc0NBQW9DSCxjQUFjSSxJQUFJLENBQ3BELFFBQ0EsZ0dBQStGQyxLQUFLQyxTQUFTLENBQzdHO2dCQUFFVjtnQkFBS0M7Z0JBQU9DO1lBQVE7UUFHNUI7UUFFQSxJQUFJRixJQUFJVyxVQUFVLENBQUMsT0FBTztZQUN4QixNQUFNLElBQUlKLE1BQ1IsMEJBQXdCUCxNQUFJO1FBRWhDO1FBRUEsSUFBSUEsSUFBSVcsVUFBVSxDQUFDLFFBQVFaLE9BQU9hLGFBQWEsRUFBRTtZQUMvQyxJQUNFVCxJQUU2QixFQUM3QjtnQkFDQSx1RUFBdUU7Z0JBQ3ZFLE1BQU0sRUFBRVksYUFBYSxFQUFFLEdBQUdDLG1CQUFBQSxDQUFRO2dCQUNsQyxJQUFJLENBQUNELGNBQWNoQixPQUFPYSxhQUFhLEVBQUVaLE1BQU07b0JBQzdDLE1BQU0sSUFBSU8sTUFDUix1QkFBcUJQLE1BQUksa0dBQ3RCO2dCQUVQO1lBQ0Y7UUFDRjtRQUVBLElBQUksQ0FBQ0EsSUFBSVcsVUFBVSxDQUFDLFFBQVNaLENBQUFBLE9BQU9rQixPQUFPLElBQUlsQixPQUFPbUIsY0FBYyxHQUFHO1lBQ3JFLElBQUlDO1lBQ0osSUFBSTtnQkFDRkEsWUFBWSxJQUFJQyxJQUFJcEI7WUFDdEIsRUFBRSxPQUFPcUIsS0FBSztnQkFDWkMsUUFBUUMsS0FBSyxDQUFDRjtnQkFDZCxNQUFNLElBQUlkLE1BQ1IsMEJBQXdCUCxNQUFJO1lBRWhDO1lBRUEsSUFDRUcsSUFFNkIsRUFDN0I7Z0JBQ0EsdUVBQXVFO2dCQUN2RSxNQUFNLEVBQUVxQixjQUFjLEVBQUUsR0FBR1IsbUJBQUFBLENBQVE7Z0JBQ25DLElBQUksQ0FBQ1EsZUFBZXpCLE9BQU9rQixPQUFPLEVBQUVsQixPQUFPbUIsY0FBYyxFQUFFQyxZQUFZO29CQUNyRSxNQUFNLElBQUlaLE1BQ1IsdUJBQXFCUCxNQUFJLGtDQUFpQ21CLFVBQVVNLFFBQVEsR0FBQyxnRUFDMUU7Z0JBRVA7WUFDRjtRQUNGO1FBRUEsSUFBSXZCLFdBQVdILE9BQU8yQixTQUFTLElBQUksQ0FBQzNCLE9BQU8yQixTQUFTLENBQUNDLFFBQVEsQ0FBQ3pCLFVBQVU7WUFDdEUsTUFBTSxJQUFJSyxNQUNSLDJCQUF5QkwsVUFBUSw4RkFDOUI7UUFFUDtJQUNGO0lBRUEsTUFBTTBCLElBQ0oxQixXQUFBQSxDQUFBQSxDQUNBSCxvQkFBQUEsT0FBTzJCLFNBQVMscUJBQWhCM0Isa0JBQWtCOEIsTUFBTSxDQUFDLENBQUNDLE1BQU1DLE1BQzlCQyxLQUFLQyxHQUFHLENBQUNGLE1BQU1uQyxhQUFhb0MsS0FBS0MsR0FBRyxDQUFDSCxPQUFPbEMsYUFBYW1DLE1BQU1ELEtBQUFBLEtBRWpFbEM7SUFFRixPQUFPRyxPQUFVbUMsSUFBSSxHQUFDLFVBQU9DLG1CQUFtQm5DLE9BQUssUUFBS0MsUUFBTSxRQUFLMkIsSUFDbkV6QixDQUFBQSxNQUE4QixHQUMxQixDQUFzQyxHQUN0QztBQUVSO0FBRUEsK0RBQStEO0FBQy9ELDJEQUEyRDtBQUMzRE4sY0FBY3dDLGtCQUFrQixHQUFHO01BRW5DMUMsV0FBZUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWxvYWRlci50cz9kMjgwIl0sIm5hbWVzIjpbIl9kZWZhdWx0IiwiREVGQVVMVF9RIiwiZGVmYXVsdExvYWRlciIsInBhcmFtIiwiY29uZmlnIiwic3JjIiwid2lkdGgiLCJxdWFsaXR5IiwicHJvY2VzcyIsIm1pc3NpbmdWYWx1ZXMiLCJwdXNoIiwibGVuZ3RoIiwiRXJyb3IiLCJqb2luIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXJ0c1dpdGgiLCJsb2NhbFBhdHRlcm5zIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiaGFzTG9jYWxNYXRjaCIsInJlcXVpcmUiLCJkb21haW5zIiwicmVtb3RlUGF0dGVybnMiLCJwYXJzZWRTcmMiLCJVUkwiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJoYXNSZW1vdGVNYXRjaCIsImhvc3RuYW1lIiwicXVhbGl0aWVzIiwiaW5jbHVkZXMiLCJxIiwicmVkdWNlIiwicHJldiIsImN1ciIsIk1hdGgiLCJhYnMiLCJwYXRoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiX19uZXh0X2ltZ19kZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/image-loader.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-local-pattern.js":
 | 
						||
/*!*****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-local-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    hasLocalMatch: function() {\n        return hasLocalMatch;\n    },\n    matchLocalPattern: function() {\n        return matchLocalPattern;\n    }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/picomatch/index.js\");\nfunction matchLocalPattern(pattern, url) {\n    if (pattern.search !== undefined) {\n        if (pattern.search !== url.search) {\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 hasLocalMatch(localPatterns, urlPathAndQuery) {\n    if (!localPatterns) {\n        // if the user didn't define \"localPatterns\", we allow all local images\n        return true;\n    }\n    const url = new URL(urlPathAndQuery, \"http://n\");\n    return localPatterns.some((p)=>matchLocalPattern(p, url));\n} //# sourceMappingURL=match-local-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL21hdGNoLWxvY2FsLXBhdHRlcm4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa0JnQkEsZUFBYTtlQUFiQTs7SUFkQUMsbUJBQWlCO2VBQWpCQTs7O3VDQUhPO0FBR2hCLFNBQVNBLGtCQUFrQkMsT0FBcUIsRUFBRUMsR0FBUTtJQUMvRCxJQUFJRCxRQUFRRSxNQUFNLEtBQUtDLFdBQVc7UUFDaEMsSUFBSUgsUUFBUUUsTUFBTSxLQUFLRCxJQUFJQyxNQUFNLEVBQUU7WUFDakMsT0FBTztRQUNUO0lBQ0Y7UUFFWUY7SUFBWixJQUFJLENBQUNJLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ0osQ0FBQUEsb0JBQUFBLFFBQVFLLFFBQVEsWUFBaEJMLG9CQUFvQixNQUFNO1FBQUVNLEtBQUs7SUFBSyxHQUFHQyxJQUFJLENBQUNOLElBQUlJLFFBQVEsR0FBRztRQUN2RSxPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTUCxjQUNkVSxhQUF5QyxFQUN6Q0MsZUFBdUI7SUFFdkIsSUFBSSxDQUFDRCxlQUFlO1FBQ2xCLHVFQUF1RTtRQUN2RSxPQUFPO0lBQ1Q7SUFDQSxNQUFNUCxNQUFNLElBQUlTLElBQUlELGlCQUFpQjtJQUNyQyxPQUFPRCxjQUFjRyxJQUFJLENBQUMsQ0FBQ0MsSUFBTWIsa0JBQWtCYSxHQUFHWDtBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbWF0Y2gtbG9jYWwtcGF0dGVybi50cz82MzVkIl0sIm5hbWVzIjpbImhhc0xvY2FsTWF0Y2giLCJtYXRjaExvY2FsUGF0dGVybiIsInBhdHRlcm4iLCJ1cmwiLCJzZWFyY2giLCJ1bmRlZmluZWQiLCJtYWtlUmUiLCJwYXRobmFtZSIsImRvdCIsInRlc3QiLCJsb2NhbFBhdHRlcm5zIiwidXJsUGF0aEFuZFF1ZXJ5IiwiVVJMIiwic29tZSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-local-pattern.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-remote-pattern.js":
 | 
						||
/*!******************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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    hasRemoteMatch: function() {\n        return hasRemoteMatch;\n    },\n    matchRemotePattern: function() {\n        return matchRemotePattern;\n    }\n});\nconst _picomatch = __webpack_require__(/*! next/dist/compiled/picomatch */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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    if (pattern.search !== undefined) {\n        if (pattern.search !== url.search) {\n            return false;\n        }\n    }\n    var _pattern_pathname;\n    // Should be the same as writeImagesManifest()\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 hasRemoteMatch(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL21hdGNoLXJlbW90ZS1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlDZ0JBLGdCQUFjO2VBQWRBOztJQXJDQUMsb0JBQWtCO2VBQWxCQTs7O3VDQUhPO0FBR2hCLFNBQVNBLG1CQUFtQkMsT0FBc0IsRUFBRUMsR0FBUTtJQUNqRSxJQUFJRCxRQUFRRSxRQUFRLEtBQUtDLFdBQVc7UUFDbEMsTUFBTUMsY0FBY0gsSUFBSUMsUUFBUSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUlMLFFBQVFFLFFBQVEsS0FBS0UsYUFBYTtZQUNwQyxPQUFPO1FBQ1Q7SUFDRjtJQUNBLElBQUlKLFFBQVFNLElBQUksS0FBS0gsV0FBVztRQUM5QixJQUFJSCxRQUFRTSxJQUFJLEtBQUtMLElBQUlLLElBQUksRUFBRTtZQUM3QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlOLFFBQVFPLFFBQVEsS0FBS0osV0FBVztRQUNsQyxNQUFNLElBQUlLLE1BQ1IsK0NBQTZDQyxLQUFLQyxTQUFTLENBQUNWO0lBRWhFLE9BQU87UUFDTCxJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsUUFBUU8sUUFBUSxFQUFFSyxJQUFJLENBQUNYLElBQUlNLFFBQVEsR0FBRztZQUNoRCxPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlQLFFBQVFhLE1BQU0sS0FBS1YsV0FBVztRQUNoQyxJQUFJSCxRQUFRYSxNQUFNLEtBQUtaLElBQUlZLE1BQU0sRUFBRTtZQUNqQyxPQUFPO1FBQ1Q7SUFDRjtRQUdZYjtJQURaLDhDQUE4QztJQUM5QyxJQUFJLENBQUNXLENBQUFBLEdBQUFBLFdBQUFBLE1BQU0sRUFBQ1gsQ0FBQUEsb0JBQUFBLFFBQVFjLFFBQVEsWUFBaEJkLG9CQUFvQixNQUFNO1FBQUVlLEtBQUs7SUFBSyxHQUFHSCxJQUFJLENBQUNYLElBQUlhLFFBQVEsR0FBRztRQUN2RSxPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTaEIsZUFDZGtCLE9BQWlCLEVBQ2pCQyxjQUErQixFQUMvQmhCLEdBQVE7SUFFUixPQUNFZSxRQUFRRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV2xCLElBQUlNLFFBQVEsS0FBS1ksV0FDMUNGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFNckIsbUJBQW1CcUIsR0FBR25CO0FBRXJEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi50cz9kNjFkIl0sIm5hbWVzIjpbImhhc1JlbW90ZU1hdGNoIiwibWF0Y2hSZW1vdGVQYXR0ZXJuIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJzZWFyY2giLCJwYXRobmFtZSIsImRvdCIsImRvbWFpbnMiLCJyZW1vdGVQYXR0ZXJucyIsInNvbWUiLCJkb21haW4iLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/match-remote-pattern.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router-context.shared-runtime.js":
 | 
						||
/*!***************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBR2FBOzs7ZUFBQUE7Ozs7NEVBSEs7QUFHWCxNQUFNQSxnQkFBZ0JDLE9BQUFBLE9BQUssQ0FBQ0MsYUFBYSxDQUFvQjtBQUVwRSxJQUFJQyxJQUF5QixFQUFjO0lBQ3pDSCxjQUFjSSxXQUFXLEdBQUc7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzYzNmMiXSwibmFtZXMiOlsiUm91dGVyQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/format-url.js":
 | 
						||
/*!*********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@swc+helpers@0.5.5/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsLmpzIiwibWFwcGluZ3MiOiJBQUFBLHVDQUF1QztBQUN2QyxzREFBc0Q7QUFDdEQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSxnRUFBZ0U7QUFDaEUsc0VBQXNFO0FBQ3RFLHNFQUFzRTtBQUN0RSw0RUFBNEU7QUFDNUUscUVBQXFFO0FBQ3JFLHdCQUF3QjtBQUN4QixFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDZEQUE2RDtBQUM3RCw0RUFBNEU7QUFDNUUsMkVBQTJFO0FBQzNFLHdFQUF3RTtBQUN4RSw0RUFBNEU7QUFDNUUseUNBQXlDOzs7Ozs7Ozs7Ozs7O0lBUXpCQSxXQUFTO2VBQVRBOztJQTZEQUMsc0JBQW9CO2VBQXBCQTs7SUFmSEMsZUFBYTtlQUFiQTs7OzttRkFsRGdCO0FBRTdCLE1BQU1DLG1CQUFtQjtBQUVsQixTQUFTSCxVQUFVSSxNQUFpQjtJQUN6QyxJQUFJLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFLEdBQUdGO0lBQ3pCLElBQUlHLFdBQVdILE9BQU9HLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxXQUFXSixPQUFPSSxRQUFRLElBQUk7SUFDbEMsSUFBSUMsT0FBT0wsT0FBT0ssSUFBSSxJQUFJO0lBQzFCLElBQUlDLFFBQVFOLE9BQU9NLEtBQUssSUFBSTtJQUM1QixJQUFJQyxPQUF1QjtJQUUzQk4sT0FBT0EsT0FBT08sbUJBQW1CUCxNQUFNUSxPQUFPLENBQUMsUUFBUSxPQUFPLE1BQU07SUFFcEUsSUFBSVQsT0FBT08sSUFBSSxFQUFFO1FBQ2ZBLE9BQU9OLE9BQU9ELE9BQU9PLElBQUk7SUFDM0IsT0FBTyxJQUFJTCxVQUFVO1FBQ25CSyxPQUFPTixPQUFRLEVBQUNDLFNBQVNRLE9BQU8sQ0FBQyxPQUFPLE1BQUlSLFdBQVMsTUFBS0EsUUFBQUE7UUFDMUQsSUFBSUYsT0FBT1csSUFBSSxFQUFFO1lBQ2ZKLFFBQVEsTUFBTVAsT0FBT1csSUFBSTtRQUMzQjtJQUNGO0lBRUEsSUFBSUwsU0FBUyxPQUFPQSxVQUFVLFVBQVU7UUFDdENBLFFBQVFNLE9BQU9DLGFBQVlDLHNCQUFzQixDQUFDUjtJQUNwRDtJQUVBLElBQUlTLFNBQVNmLE9BQU9lLE1BQU0sSUFBS1QsU0FBUyxNQUFJQSxTQUFZO0lBRXhELElBQUlILFlBQVksQ0FBQ0EsU0FBU2EsUUFBUSxDQUFDLE1BQU1iLFlBQVk7SUFFckQsSUFDRUgsT0FBT2lCLE9BQU8sSUFDYixDQUFDLENBQUNkLFlBQVlKLGlCQUFpQm1CLElBQUksQ0FBQ2YsU0FBQUEsS0FBY0ksU0FBUyxPQUM1RDtRQUNBQSxPQUFPLE9BQVFBLENBQUFBLFFBQVE7UUFDdkIsSUFBSUgsWUFBWUEsUUFBUSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxXQUFXLE1BQU1BO0lBQ3hELE9BQU8sSUFBSSxDQUFDRyxNQUFNO1FBQ2hCQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJRixRQUFRQSxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUtBLE9BQU8sTUFBTUE7SUFDMUMsSUFBSVUsVUFBVUEsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxTQUFTLE1BQU1BO0lBRWhEWCxXQUFXQSxTQUFTSyxPQUFPLENBQUMsU0FBU0Q7SUFDckNPLFNBQVNBLE9BQU9OLE9BQU8sQ0FBQyxLQUFLO0lBRTdCLE9BQU8sS0FBR04sV0FBV0ksT0FBT0gsV0FBV1csU0FBU1Y7QUFDbEQ7QUFFTyxNQUFNUCxnQkFBZ0I7SUFDM0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFTSxTQUFTRCxxQkFBcUJzQixHQUFjO0lBQ2pELElBQUlDLElBQXlCLEVBQWU7UUFDMUMsSUFBSUQsUUFBUSxRQUFRLE9BQU9BLFFBQVEsVUFBVTtZQUMzQ0UsT0FBT0MsSUFBSSxDQUFDSCxLQUFLSSxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ3hCLElBQUksQ0FBQzFCLGNBQWMyQixRQUFRLENBQUNELE1BQU07b0JBQ2hDRSxRQUFRQyxJQUFJLENBQ1YsdURBQXFESDtnQkFFekQ7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPNUIsVUFBVXVCO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC50cz8xYjg3Il0sIm5hbWVzIjpbImZvcm1hdFVybCIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwidXJsT2JqZWN0S2V5cyIsInNsYXNoZWRQcm90b2NvbHMiLCJ1cmxPYmoiLCJhdXRoIiwiaG9zdG5hbWUiLCJwcm90b2NvbCIsInBhdGhuYW1lIiwiaGFzaCIsInF1ZXJ5IiwiaG9zdCIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlcGxhY2UiLCJpbmRleE9mIiwicG9ydCIsIlN0cmluZyIsInF1ZXJ5c3RyaW5nIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaCIsImVuZHNXaXRoIiwic2xhc2hlcyIsInRlc3QiLCJ1cmwiLCJwcm9jZXNzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJpbmNsdWRlcyIsImNvbnNvbGUiLCJ3YXJuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/format-url.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/index.js":
 | 
						||
/*!****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBU0EsaUJBQWU7ZUFBZkEsY0FBQUEsZUFBZTs7SUFDZkMsZ0JBQWM7ZUFBZEEsV0FBQUEsY0FBYzs7OzBDQURTO3VDQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXgudHM/NzJkNSJdLCJuYW1lcyI6WyJnZXRTb3J0ZWRSb3V0ZXMiLCJpc0R5bmFtaWNSb3V0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/index.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js":
 | 
						||
/*!*************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbnRlcnBvbGF0ZS1hcy5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUtnQkE7OztlQUFBQTs7OzBDQUhnQjt3Q0FDRjtBQUV2QixTQUFTQSxjQUNkQyxLQUFhLEVBQ2JDLFVBQWtCLEVBQ2xCQyxLQUFxQjtJQUVyQixJQUFJQyxvQkFBb0I7SUFFeEIsTUFBTUMsZUFBZUMsQ0FBQUEsR0FBQUEsWUFBQUEsYUFBYSxFQUFDTDtJQUNuQyxNQUFNTSxnQkFBZ0JGLGFBQWFHLE1BQU07SUFDekMsTUFBTUMsaUJBRUhQLENBQUFBLGVBQWVELFFBQVFTLENBQUFBLEdBQUFBLGNBQUFBLGVBQWUsRUFBQ0wsY0FBY0gsY0FBYyxPQUNwRSxnREFBZ0Q7SUFDaEQsc0VBQXNFO0lBQ3RFQztJQUVGQyxvQkFBb0JIO0lBQ3BCLE1BQU1VLFNBQVNDLE9BQU9DLElBQUksQ0FBQ047SUFFM0IsSUFDRSxDQUFDSSxPQUFPRyxLQUFLLENBQUMsQ0FBQ0M7UUFDYixJQUFJQyxRQUFRUCxjQUFjLENBQUNNLE1BQU0sSUFBSTtRQUNyQyxNQUFNLEVBQUVFLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdYLGFBQWEsQ0FBQ1EsTUFBTTtRQUVqRCxpQ0FBaUM7UUFDakMsMERBQTBEO1FBQzFELElBQUlJLFdBQVcsTUFBSUYsQ0FBQUEsU0FBUyxRQUFRLE1BQUtGLFFBQU07UUFDL0MsSUFBSUcsVUFBVTtZQUNaQyxXQUFXLENBQUcsQ0FBQ0gsUUFBUSxNQUFNLE1BQUcsTUFBR0csV0FBUztRQUM5QztRQUNBLElBQUlGLFVBQVUsQ0FBQ0csTUFBTUMsT0FBTyxDQUFDTCxRQUFRQSxRQUFRO1lBQUNBO1NBQU07UUFFcEQsT0FDRSxDQUFDRSxZQUFZSCxTQUFTTixjQUFBQSxLQUN0Qiw2Q0FBNkM7UUFDNUNMLENBQUFBLG9CQUNDQSxrQkFBbUJrQixPQUFPLENBQ3hCSCxVQUNBRixTQUNJRCxNQUNHTyxHQUFHLENBRUYsdURBQXVEO1FBQ3ZELGtEQUFrRDtRQUNsRCxvQ0FBb0M7UUFDcEMsQ0FBQ0MsVUFBWUMsbUJBQW1CRCxVQUVqQ0UsSUFBSSxDQUFDLE9BQ1JELG1CQUFtQlQsV0FDcEI7SUFFWCxJQUNBO1FBQ0FaLG9CQUFvQixHQUFHLG1DQUFtQzs7SUFFMUQsdUVBQXVFO0lBQ3ZFLGtEQUFrRDtJQUNwRDtJQUNBLE9BQU87UUFDTE87UUFDQWdCLFFBQVF2QjtJQUNWO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbnRlcnBvbGF0ZS1hcy50cz85ZTMxIl0sIm5hbWVzIjpbImludGVycG9sYXRlQXMiLCJyb3V0ZSIsImFzUGF0aG5hbWUiLCJxdWVyeSIsImludGVycG9sYXRlZFJvdXRlIiwiZHluYW1pY1JlZ2V4IiwiZ2V0Um91dGVSZWdleCIsImR5bmFtaWNHcm91cHMiLCJncm91cHMiLCJkeW5hbWljTWF0Y2hlcyIsImdldFJvdXRlTWF0Y2hlciIsInBhcmFtcyIsIk9iamVjdCIsImtleXMiLCJldmVyeSIsInBhcmFtIiwidmFsdWUiLCJyZXBlYXQiLCJvcHRpb25hbCIsInJlcGxhY2VkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVwbGFjZSIsIm1hcCIsInNlZ21lbnQiLCJlbmNvZGVVUklDb21wb25lbnQiLCJqb2luIiwicmVzdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js":
 | 
						||
/*!*********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1keW5hbWljLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBUWdCQTs7O2VBQUFBOzs7Z0RBTFQ7QUFFUCxxQ0FBcUM7QUFDckMsTUFBTUMsYUFBYTtBQUVaLFNBQVNELGVBQWVFLEtBQWE7SUFDMUMsSUFBSUMsQ0FBQUEsR0FBQUEsb0JBQUFBLDBCQUEwQixFQUFDRCxRQUFRO1FBQ3JDQSxRQUFRRSxDQUFBQSxHQUFBQSxvQkFBQUEsbUNBQW1DLEVBQUNGLE9BQU9HLGdCQUFnQjtJQUNyRTtJQUVBLE9BQU9KLFdBQVdLLElBQUksQ0FBQ0o7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1keW5hbWljLnRzPzgyZGMiXSwibmFtZXMiOlsiaXNEeW5hbWljUm91dGUiLCJURVNUX1JPVVRFIiwicm91dGUiLCJpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCIsImV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uIiwiaW50ZXJjZXB0ZWRSb3V0ZSIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/is-local-url.js":
 | 
						||
/*!***********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FNZ0JBOzs7ZUFBQUE7OzttQ0FOaUM7eUNBQ3JCO0FBS3JCLFNBQVNBLFdBQVdDLEdBQVc7SUFDcEMsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsT0FBQUEsYUFBYSxFQUFDRCxNQUFNLE9BQU87SUFDaEMsSUFBSTtRQUNGLDREQUE0RDtRQUM1RCxNQUFNRSxpQkFBaUJDLENBQUFBLEdBQUFBLE9BQUFBLGlCQUFpQjtRQUN4QyxNQUFNQyxXQUFXLElBQUlDLElBQUlMLEtBQUtFO1FBQzlCLE9BQU9FLFNBQVNFLE1BQU0sS0FBS0osa0JBQWtCSyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNILFNBQVNJLFFBQVE7SUFDNUUsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsT0FBTztJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwudHM/MDRlNSJdLCJuYW1lcyI6WyJpc0xvY2FsVVJMIiwidXJsIiwiaXNBYnNvbHV0ZVVybCIsImxvY2F0aW9uT3JpZ2luIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJyZXNvbHZlZCIsIlVSTCIsIm9yaWdpbiIsImhhc0Jhc2VQYXRoIiwicGF0aG5hbWUiLCJfIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/omit.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LmpzIiwibWFwcGluZ3MiOiI7Ozs7d0NBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxLQUNkQyxNQUFTLEVBQ1RDLElBQVM7SUFFVCxNQUFNQyxVQUFzQyxDQUFDO0lBQzdDQyxPQUFPRixJQUFJLENBQUNELFFBQVFJLE9BQU8sQ0FBQyxDQUFDQztRQUMzQixJQUFJLENBQUNKLEtBQUtLLFFBQVEsQ0FBQ0QsTUFBVztZQUM1QkgsT0FBTyxDQUFDRyxJQUFJLEdBQUdMLE1BQU0sQ0FBQ0ssSUFBSTtRQUM1QjtJQUNGO0lBQ0EsT0FBT0g7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQudHM/YjdhOCJdLCJuYW1lcyI6WyJvbWl0Iiwib2JqZWN0Iiwia2V5cyIsIm9taXR0ZWQiLCJPYmplY3QiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/omit.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/querystring.js":
 | 
						||
/*!**********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE0Q2dCQSxRQUFNO2VBQU5BOztJQTFDQUMsd0JBQXNCO2VBQXRCQTs7SUE0QkFDLHdCQUFzQjtlQUF0QkE7OztBQTVCVCxTQUFTRCx1QkFDZEUsWUFBNkI7SUFFN0IsTUFBTUMsUUFBd0IsQ0FBQztJQUMvQkQsYUFBYUUsT0FBTyxDQUFDLENBQUNDLE9BQU9DO1FBQzNCLElBQUksT0FBT0gsS0FBSyxDQUFDRyxJQUFJLEtBQUssYUFBYTtZQUNyQ0gsS0FBSyxDQUFDRyxJQUFJLEdBQUdEO1FBQ2YsT0FBTyxJQUFJRSxNQUFNQyxPQUFPLENBQUNMLEtBQUssQ0FBQ0csSUFBSSxHQUFHO1lBQ2xDSCxLQUFLLENBQUNHLElBQUksQ0FBY0csSUFBSSxDQUFDSjtRQUNqQyxPQUFPO1lBQ0xGLEtBQUssQ0FBQ0csSUFBSSxHQUFHO2dCQUFDSCxLQUFLLENBQUNHLElBQUk7Z0JBQVlEO2FBQU07UUFDNUM7SUFDRjtJQUNBLE9BQU9GO0FBQ1Q7QUFFQSxTQUFTTyx1QkFBdUJDLEtBQWM7SUFDNUMsSUFDRSxPQUFPQSxVQUFVLFlBQ2hCLE9BQU9BLFVBQVUsWUFBWSxDQUFDQyxNQUFNRCxVQUNyQyxPQUFPQSxVQUFVLFdBQ2pCO1FBQ0EsT0FBT0UsT0FBT0Y7SUFDaEIsT0FBTztRQUNMLE9BQU87SUFDVDtBQUNGO0FBRU8sU0FBU1YsdUJBQ2RhLFFBQXdCO0lBRXhCLE1BQU1DLFNBQVMsSUFBSUM7SUFDbkJDLE9BQU9DLE9BQU8sQ0FBQ0osVUFBVVYsT0FBTyxDQUFDLENBQUFPO1lBQUMsQ0FBQ0wsS0FBS0QsTUFBTSxHQUFBTTtRQUM1QyxJQUFJSixNQUFNQyxPQUFPLENBQUNILFFBQVE7WUFDeEJBLE1BQU1ELE9BQU8sQ0FBQyxDQUFDZSxPQUFTSixPQUFPSyxNQUFNLENBQUNkLEtBQUtJLHVCQUF1QlM7UUFDcEUsT0FBTztZQUNMSixPQUFPTSxHQUFHLENBQUNmLEtBQUtJLHVCQUF1Qkw7UUFDekM7SUFDRjtJQUNBLE9BQU9VO0FBQ1Q7QUFFTyxTQUFTaEIsT0FDZHVCLE1BQXVCO0lBQ3ZCLFFBQUFDLE9BQUFDLFVBQUFDLE1BQUEsRUFBQUMsbUJBQUEsSUFBQW5CLE1BQUFnQixPQUFBLElBQUFBLE9BQUEsUUFBQUksT0FBQSxHQUFBQSxPQUFBSixNQUFBSSxPQUFBO1FBQUdELGdCQUFBQSxDQUFIQyxPQUFBLEtBQUFILFNBQUEsQ0FBQUcsS0FBc0M7O0lBRXRDRCxpQkFBaUJ0QixPQUFPLENBQUMsQ0FBQ0Y7UUFDeEJLLE1BQU1xQixJQUFJLENBQUMxQixhQUFhMkIsSUFBSSxJQUFJekIsT0FBTyxDQUFDLENBQUNFLE1BQVFnQixPQUFPUSxNQUFNLENBQUN4QjtRQUMvREosYUFBYUUsT0FBTyxDQUFDLENBQUNDLE9BQU9DLE1BQVFnQixPQUFPRixNQUFNLENBQUNkLEtBQUtEO0lBQzFEO0lBQ0EsT0FBT2lCO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZy50cz84MmZhIl0sIm5hbWVzIjpbImFzc2lnbiIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJmb3JFYWNoIiwidmFsdWUiLCJrZXkiLCJBcnJheSIsImlzQXJyYXkiLCJwdXNoIiwic3RyaW5naWZ5VXJsUXVlcnlQYXJhbSIsInBhcmFtIiwiaXNOYU4iLCJTdHJpbmciLCJ1cmxRdWVyeSIsInJlc3VsdCIsIlVSTFNlYXJjaFBhcmFtcyIsIk9iamVjdCIsImVudHJpZXMiLCJpdGVtIiwiYXBwZW5kIiwic2V0IiwidGFyZ2V0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNlYXJjaFBhcmFtc0xpc3QiLCJfa2V5IiwiZnJvbSIsImtleXMiLCJkZWxldGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/querystring.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/route-matcher.js":
 | 
						||
/*!************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBV2dCQTs7O2VBQUFBOzs7bUNBVlk7QUFVckIsU0FBU0EsZ0JBQWdCQyxLQUEwQjtJQUExQixNQUFFQyxFQUFFLEVBQUVDLE1BQU0sRUFBYyxHQUExQkY7SUFDOUIsT0FBTyxDQUFDRztRQUNOLE1BQU1DLGFBQWFILEdBQUdJLElBQUksQ0FBQ0Y7UUFDM0IsSUFBSSxDQUFDQyxZQUFZO1lBQ2YsT0FBTztRQUNUO1FBRUEsTUFBTUUsU0FBUyxDQUFDTjtZQUNkLElBQUk7Z0JBQ0YsT0FBT08sbUJBQW1CUDtZQUM1QixFQUFFLE9BQU9RLEdBQUc7Z0JBQ1YsTUFBTSxJQUFJQyxPQUFBQSxXQUFXLENBQUM7WUFDeEI7UUFDRjtRQUNBLE1BQU1DLFNBQXFELENBQUM7UUFFNURDLE9BQU9DLElBQUksQ0FBQ1YsUUFBUVcsT0FBTyxDQUFDLENBQUNDO1lBQzNCLE1BQU1DLElBQUliLE1BQU0sQ0FBQ1ksU0FBUztZQUMxQixNQUFNRSxJQUFJWixVQUFVLENBQUNXLEVBQUVFLEdBQUcsQ0FBQztZQUMzQixJQUFJRCxNQUFNRSxXQUFXO2dCQUNuQlIsTUFBTSxDQUFDSSxTQUFTLEdBQUcsQ0FBQ0UsRUFBRUcsT0FBTyxDQUFDLE9BQzFCSCxFQUFFSSxLQUFLLENBQUMsS0FBS0MsR0FBRyxDQUFDLENBQUNDLFFBQVVoQixPQUFPZ0IsVUFDbkNQLEVBQUVRLE1BQU0sR0FDUjtvQkFBQ2pCLE9BQU9VO2lCQUFHLEdBQ1hWLE9BQU9VO1lBQ2I7UUFDRjtRQUNBLE9BQU9OO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIudHM/MzE3OSJdLCJuYW1lcyI6WyJnZXRSb3V0ZU1hdGNoZXIiLCJwYXJhbSIsInJlIiwiZ3JvdXBzIiwicGF0aG5hbWUiLCJyb3V0ZU1hdGNoIiwiZXhlYyIsImRlY29kZSIsImRlY29kZVVSSUNvbXBvbmVudCIsIl8iLCJEZWNvZGVFcnJvciIsInBhcmFtcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwic2x1Z05hbWUiLCJnIiwibSIsInBvcyIsInVuZGVmaW5lZCIsImluZGV4T2YiLCJzcGxpdCIsIm1hcCIsImVudHJ5IiwicmVwZWF0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/route-regex.js":
 | 
						||
/*!**********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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    parseParameter: function() {\n        return parseParameter;\n    }\n});\nconst _constants = __webpack_require__(/*! ../../../../lib/constants */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/lib/constants.js\");\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nfunction 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 ? _constants.NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n                });\n            } else if (paramMatches) {\n                return getSafeKeyFromSegment({\n                    getSafeRouteKey,\n                    segment: paramMatches[1],\n                    routeKeys,\n                    keyPrefix: prefixRouteKeys ? _constants.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE0TmdCQSx5QkFBdUI7ZUFBdkJBOztJQWhCQUMsb0JBQWtCO2VBQWxCQTs7SUFuSUFDLGVBQWE7ZUFBYkE7O0lBOUNBQyxnQkFBYztlQUFkQTs7O3VDQXhCVDtnREFDb0M7MENBQ1I7aURBQ0M7QUFxQjdCLFNBQVNBLGVBQWVDLEtBQWE7SUFDMUMsTUFBTUMsV0FBV0QsTUFBTUUsVUFBVSxDQUFDLFFBQVFGLE1BQU1HLFFBQVEsQ0FBQztJQUN6RCxJQUFJRixVQUFVO1FBQ1pELFFBQVFBLE1BQU1JLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUI7SUFDQSxNQUFNQyxTQUFTTCxNQUFNRSxVQUFVLENBQUM7SUFDaEMsSUFBSUcsUUFBUTtRQUNWTCxRQUFRQSxNQUFNSSxLQUFLLENBQUM7SUFDdEI7SUFDQSxPQUFPO1FBQUVFLEtBQUtOO1FBQU9LO1FBQVFKO0lBQVM7QUFDeEM7QUFFQSxTQUFTTSxxQkFBcUJDLEtBQWE7SUFDekMsTUFBTUMsV0FBV0MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFtQixFQUFDRixPQUFPSixLQUFLLENBQUMsR0FBR08sS0FBSyxDQUFDO0lBQzNELE1BQU1DLFNBQXlDLENBQUM7SUFDaEQsSUFBSUMsYUFBYTtJQUNqQixPQUFPO1FBQ0xDLG9CQUFvQkwsU0FDakJNLEdBQUcsQ0FBQyxDQUFDQztZQUNKLE1BQU1DLGNBQWNDLG9CQUFBQSwwQkFBMEIsQ0FBQ0MsSUFBSSxDQUFDLENBQUNDLElBQ25ESixRQUFRZCxVQUFVLENBQUNrQjtZQUVyQixNQUFNQyxlQUFlTCxRQUFR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QUM7UUFDL0NYLFdBQVdtQixPQUFPbkIsU0FBUztJQUM3QjtBQUNGO0FBTU8sU0FBUzVDLHdCQUNkOEIsZUFBdUIsRUFDdkJtQyxPQUVDO0lBRUQsTUFBTSxFQUFFL0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFb0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSS9DLHVCQUF1QixLQUFLO1FBQzlCLElBQUlpRCxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0xGLFlBQVksT0FBS0csZ0JBQWM7UUFDakM7SUFDRjtJQUVBLE1BQU0sRUFBRVosdUJBQXVCLEVBQUUsR0FBR0YsMEJBQ2xDdkIsaUJBQ0E7SUFFRixJQUFJc0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNMRixZQUFZLE1BQUlULDBCQUEwQmEsdUJBQXFCO0lBQ2pFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC50cz8xNmExIl0sIm5hbWVzIjpbImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVSZWdleCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsIk5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVgiLCJ1bmRlZmluZWQiLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js":
 | 
						||
/*!************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBcU1nQkE7OztlQUFBQTs7O0FBck1oQixNQUFNQztJQU9KQyxPQUFPQyxPQUFlLEVBQVE7UUFDNUIsSUFBSSxDQUFDQyxPQUFPLENBQUNELFFBQVFFLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUNDLFVBQVUsRUFBRSxFQUFFO0lBQ3ZEO0lBRUFDLFNBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDQyxPQUFPO0lBQ3JCO0lBRVFBLFFBQVFDLE1BQW9CLEVBQVk7UUFBaENBLElBQUFBLFdBQUFBLEtBQUFBLEdBQUFBLFNBQWlCO1FBQy9CLE1BQU1DLGdCQUFnQjtlQUFJLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJO1NBQUcsQ0FBQ0MsSUFBSTtRQUNwRCxJQUFJLElBQUksQ0FBQ0MsUUFBUSxLQUFLLE1BQU07WUFDMUJKLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLE9BQU87UUFDcEQ7UUFDQSxJQUFJLElBQUksQ0FBQ0MsWUFBWSxLQUFLLE1BQU07WUFDOUJQLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFVBQVU7UUFDdkQ7UUFDQSxJQUFJLElBQUksQ0FBQ0Usb0JBQW9CLEtBQUssTUFBTTtZQUN0Q1IsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsWUFBWTtRQUN6RDtRQUVBLE1BQU1HLFNBQVNULGNBQ1pVLEdBQUcsQ0FBQyxDQUFDQyxJQUFNLElBQUksQ0FBQ1YsUUFBUSxDQUFDVyxHQUFHLENBQUNELEdBQUliLE9BQU8sQ0FBQyxLQUFHQyxTQUFTWSxJQUFF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Y0FBYztZQUNoQjtRQUNGO1FBRUEsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxJQUFJLENBQUN6QixRQUFRLENBQUNxQyxHQUFHLENBQUNaLGNBQWM7WUFDbkMsSUFBSSxDQUFDekIsUUFBUSxDQUFDc0MsR0FBRyxDQUFDYixhQUFhLElBQUlwQztRQUNyQztRQUVBLElBQUksQ0FBQ1csUUFBUSxDQUNWVyxHQUFHLENBQUNjLGFBQ0pqQyxPQUFPLENBQUM2QixTQUFTSCxLQUFLLENBQUMsSUFBSUksV0FBV0M7SUFDM0M7O2FBak1BUCxXQUFBQSxHQUF1QjthQUN2QmhCLFFBQUFBLEdBQWlDLElBQUl1QzthQUNyQ3BDLFFBQUFBLEdBQTBCO2FBQzFCRyxZQUFBQSxHQUE4QjthQUM5QkMsb0JBQUFBLEdBQXNDOztBQThMeEM7QUFFTyxTQUFTbkIsZ0JBQ2RvRCxlQUFzQztJQUV0QyxrRkFBa0Y7SUFDbEYsNEVBQTRFO0lBQzVFLDJDQUEyQztJQUUzQyx5RUFBeUU7SUFDekUsMkJBQTJCO0lBQzNCLG9DQUFvQztJQUNwQyw4RUFBOEU7SUFDOUUsd0VBQXdFO0lBQ3hFLGdIQUFnSDtJQUNoSCw0RUFBNEU7SUFDNUUsTUFBTUMsT0FBTyxJQUFJcEQ7SUFFakIsNkZBQTZGO0lBQzdGbUQsZ0JBQWdCTixPQUFPLENBQUMsQ0FBQ1EsV0FBYUQsS0FBS25ELE1BQU0sQ0FBQ29EO0lBQ2xELDRHQUE0RztJQUM1RyxPQUFPRCxLQUFLN0MsTUFBTTtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMudHM/ZDUzYiJdLCJuYW1lcyI6WyJnZXRTb3J0ZWRSb3V0ZXMiLCJVcmxOb2RlIiwiaW5zZXJ0IiwidXJsUGF0aCIsIl9pbnNlcnQiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJzbW9vc2giLCJfc21vb3NoIiwicHJlZml4IiwiY2hpbGRyZW5QYXRocyIsImNoaWxkcmVuIiwia2V5cyIsInNvcnQiLCJzbHVnTmFtZSIsInNwbGljZSIsImluZGV4T2YiLCJyZXN0U2x1Z05hbWUiLCJvcHRpb25hbFJlc3RTbHVnTmFtZSIsInJvdXRlcyIsIm1hcCIsImMiLCJnZXQiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsInB1c2giLCJwbGFjZWhvbGRlciIsInIiLCJzbGljZSIsIkVycm9yIiwidW5zaGlmdCIsInVybFBhdGhzIiwic2x1Z05hbWVzIiwiaXNDYXRjaEFsbCIsImxlbmd0aCIsIm5leHRTZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic2VnbWVudE5hbWUiLCJpc09wdGlvbmFsIiwic3Vic3RyaW5nIiwiaGFuZGxlU2x1ZyIsInByZXZpb3VzU2x1ZyIsIm5leHRTbHVnIiwiZm9yRWFjaCIsInNsdWciLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiTWFwIiwibm9ybWFsaXplZFBhZ2VzIiwicm9vdCIsInBhZ2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/side-effect.js":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3NpZGUtZWZmZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7OzsyQ0FvQkE7OztlQUF3QkE7OzttQ0FuQjZCO0FBZXJELE1BQU1DLFdBQVcsT0FBT0MsV0FBVztBQUNuQyxNQUFNQyw0QkFBNEJGLFdBQVcsS0FBTyxJQUFJRyxPQUFBQSxlQUFlO0FBQ3ZFLE1BQU1DLHNCQUFzQkosV0FBVyxLQUFPLElBQUlLLE9BQUFBLFNBQVM7QUFFNUMsU0FBU04sV0FBV08sS0FBc0I7O0lBQ3ZELE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUVqRCxTQUFTRztRQUNQLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQy9DLE1BQU1DLGVBQWVDLE9BQUFBLFFBQVEsQ0FBQ0MsT0FBTyxDQUNuQ0MsTUFBTUMsSUFBSSxDQUFDUixZQUFZRyxnQkFBZ0IsRUFBMEJNLE1BQU0sQ0FDckVDO1lBR0pWLFlBQVlXLFVBQVUsQ0FBQ1Ysd0JBQXdCRyxjQUFjTDtRQUMvRDtJQUNGO0lBRUEsSUFBSU4sVUFBVTtZQUNaTztRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQWdCLHFCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakRYO0lBQ0Y7SUFFQVAsMEJBQTBCO1lBQ3hCSztRQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsWUFBYUcsZ0JBQWdCLHFCQUE3QkgsOEJBQStCWSxHQUFHLENBQUNiLE1BQU1jLFFBQVE7UUFDakQsT0FBTztnQkFDTGI7WUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQmMsTUFBTSxDQUFDZixNQUFNYyxRQUFRO1FBQ3REO0lBQ0Y7SUFFQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbEIsMEJBQTBCO1FBQ3hCLElBQUlLLGFBQWE7WUFDZkEsWUFBWWUsY0FBYyxHQUFHYjtRQUMvQjtRQUNBLE9BQU87WUFDTCxJQUFJRixhQUFhO2dCQUNmQSxZQUFZZSxjQUFjLEdBQUdiO1lBQy9CO1FBQ0Y7SUFDRjtJQUVBTCxvQkFBb0I7UUFDbEIsSUFBSUcsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO1lBQzdDZixZQUFZZSxjQUFjO1lBQzFCZixZQUFZZSxjQUFjLEdBQUc7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSWYsZUFBZUEsWUFBWWUsY0FBYyxFQUFFO2dCQUM3Q2YsWUFBWWUsY0FBYztnQkFDMUJmLFlBQVllLGNBQWMsR0FBRztZQUMvQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPO0FBQ1Q7R0F4RHdCdkI7O1FBbUJ0Qkc7UUFZQUE7UUFXQUU7OztLQTFDc0JMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC50c3g/ZThkZCJdLCJuYW1lcyI6WyJTaWRlRWZmZWN0IiwiaXNTZXJ2ZXIiLCJ3aW5kb3ciLCJ1c2VDbGllbnRPbmx5TGF5b3V0RWZmZWN0IiwidXNlTGF5b3V0RWZmZWN0IiwidXNlQ2xpZW50T25seUVmZmVjdCIsInVzZUVmZmVjdCIsInByb3BzIiwiaGVhZE1hbmFnZXIiLCJyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZSIsImVtaXRDaGFuZ2UiLCJtb3VudGVkSW5zdGFuY2VzIiwiaGVhZEVsZW1lbnRzIiwiQ2hpbGRyZW4iLCJ0b0FycmF5IiwiQXJyYXkiLCJmcm9tIiwiZmlsdGVyIiwiQm9vbGVhbiIsInVwZGF0ZUhlYWQiLCJhZGQiLCJjaGlsZHJlbiIsImRlbGV0ZSIsIl9wZW5kaW5nVXBkYXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/side-effect.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/shared/lib/utils.js":
 | 
						||
/*!***************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW9hYUEsYUFBVztlQUFYQTs7SUFvQkFDLHlCQUF1QjtlQUF2QkE7O0lBUEFDLG1CQUFpQjtlQUFqQkE7O0lBWkFDLGdCQUFjO2VBQWRBOztJQUNBQyxtQkFBaUI7ZUFBakJBOztJQVRBQyxJQUFFO2VBQUZBOztJQUNBQyxJQUFFO2VBQUZBOztJQWxYQUMsWUFBVTtlQUFWQTs7SUFzUUdDLFVBQVE7ZUFBUkE7O0lBK0JBQyxnQkFBYztlQUFkQTs7SUFYQUMsbUJBQWlCO2VBQWpCQTs7SUFLQUMsUUFBTTtlQUFOQTs7SUFQSEMsZUFBYTtlQUFiQTs7SUFtQkdDLFdBQVM7ZUFBVEE7O0lBa0JNQyxxQkFBbUI7ZUFBbkJBOztJQWROQywwQkFBd0I7ZUFBeEJBOztJQStHQUMsZ0JBQWM7ZUFBZEE7OztBQTlaVCxNQUFNVCxhQUFhO0lBQUM7SUFBTztJQUFPO0lBQU87SUFBTztJQUFPO0NBQU87QUFzUTlELFNBQVNDLFNBQ2RTLEVBQUs7SUFFTCxJQUFJQyxPQUFPO0lBQ1gsSUFBSUM7SUFFSixPQUFRO3lDQUFJQyxPQUFBQSxJQUFBQSxNQUFBQSxPQUFBQSxPQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxPQUFBQTtZQUFBQSxJQUFBQSxDQUFBQSxLQUFBQSxHQUFBQSxTQUFBQSxDQUFBQSxLQUFBQTs7UUFDVixJQUFJLENBQUNGLE1BQU07WUFDVEEsT0FBTztZQUNQQyxTQUFTRixNQUFNRztRQUNqQjtRQUNBLE9BQU9EO0lBQ1Q7QUFDRjtBQUVBLDBEQUEwRDtBQUMxRCxnRUFBZ0U7QUFDaEUsTUFBTUUscUJBQXFCO0FBQ3BCLE1BQU1ULGdC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QUc7UUFDWixJQUFJLENBQUM1QixJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNlLE9BQU8sR0FBRyxrQ0FBZ0NZO0lBQ2pEO0FBQ0Y7QUFFTyxNQUFNNUQsMEJBQTBCaUQ7SUFDckNVLFlBQVlDLElBQVksRUFBRVosT0FBZSxDQUFFO1FBQ3pDLEtBQUs7UUFDTCxJQUFJLENBQUNBLE9BQU8sR0FBRywwQ0FBd0NZLE9BQUssTUFBR1o7SUFDakU7QUFDRjtBQUVPLE1BQU1qRCxnQ0FBZ0NrRDtJQUUzQ1UsYUFBYztRQUNaLEtBQUs7UUFDTCxJQUFJLENBQUNFLElBQUksR0FBRztRQUNaLElBQUksQ0FBQ2IsT0FBTyxHQUFJO0lBQ2xCO0FBQ0Y7QUFXTyxTQUFTbEMsZUFBZWdELEtBQVk7SUFDekMsT0FBT0MsS0FBS0MsU0FBUyxDQUFDO1FBQUVoQixTQUFTYyxNQUFNZCxPQUFPO1FBQUVpQixPQUFPSCxNQUFNRyxLQUFLO0lBQUM7QUFDckUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3V0aWxzLnRzPzFiZDUiXSwibmFtZXMiOlsiRGVjb2RlRXJyb3IiLCJNaWRkbGV3YXJlTm90Rm91bmRFcnJvciIsIk1pc3NpbmdTdGF0aWNQYWdlIiwiTm9ybWFsaXplRXJyb3IiLCJQYWdlTm90Rm91bmRFcnJvciIsIlNQIiwiU1QiLCJXRUJfVklUQUxTIiwiZXhlY09uY2UiLCJnZXREaXNwbGF5TmFtZSIsImdldExvY2F0aW9uT3JpZ2luIiwiZ2V0VVJMIiwiaXNBYnNvbHV0ZVVybCIsImlzUmVzU2VudCIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJzdHJpbmdpZnlFcnJvciIsImZuIiwidXNlZCIsInJlc3VsdCIsImFyZ3MiLCJBQlNPTFVURV9VUkxfUkVHRVgiLCJ1cmwiLCJ0ZXN0IiwicHJvdG9jb2wiLCJob3N0bmFtZSIsInBvcnQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJvcmlnaW4iLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJDb21wb25lbnQiLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJyZXMiLCJmaW5pc2hlZCIsImhlYWRlcnNTZW50IiwidXJsUGFydHMiLCJzcGxpdCIsInVybE5vUXVlcnkiLCJyZXBsYWNlIiwic2xpY2UiLCJqb2luIiwiQXBwIiwiY3R4IiwicHJvY2VzcyIsInByb3RvdHlwZSIsImdldEluaXRpYWxQcm9wcyIsIm1lc3NhZ2UiLCJFcnJvciIsInBhZ2VQcm9wcyIsInByb3BzIiwiT2JqZWN0Iiwia2V5cyIsImNvbnNvbGUiLCJ3YXJuIiwicGVyZm9ybWFuY2UiLCJldmVyeSIsIm1ldGhvZCIsImNvbnN0cnVjdG9yIiwicGFnZSIsImNvZGUiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFjayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/api/link.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/.pnpm/clsx@2.1.1/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({ className, ...props }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEI7QUFDTDtBQUV2QixNQUFNRSxhQUFhO0lBQ2pCQyxPQUNFO0lBQ0ZDLFNBQ0U7QUFDSjtBQUVBLE1BQU1DLGdCQUFnQjtJQUNwQkYsT0FBTztRQUNMRyxPQUNFO1FBQ0ZDLE1BQU07UUFDTkMsT0FDRTtJQUNKO0lBQ0FKLFNBQVM7UUFDUEUsT0FDRTtRQUNGRSxPQUNFO0lBQ0o7QUFDRjtBQUVPLFNBQVNDLE9BQU8sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLE9BQU87SUFDNUNBLE1BQU1DLE9BQU8sS0FBSztJQUNsQkQsTUFBTUUsS0FBSyxLQUFLO0lBRWhCSCxZQUFZVCxnREFBSUEsQ0FDZEMsVUFBVSxDQUFDUyxNQUFNQyxPQUFPLENBQUMsRUFDekJELE1BQU1DLE9BQU8sS0FBSyxZQUNkUCxjQUFjRCxPQUFPLENBQUNPLE1BQU1FLEtBQUssQ0FBQyxHQUNsQ0YsTUFBTUMsT0FBTyxLQUFLLFVBQ2hCUCxjQUFjRixLQUFLLENBQUNRLE1BQU1FLEtBQUssQ0FBQyxHQUNoQ0MsV0FDTko7SUFHRixPQUFPLE9BQU9DLE1BQU1JLElBQUksS0FBSyw0QkFDM0IsOERBQUNDO1FBQU9OLFdBQVdBO1FBQVksR0FBR0MsS0FBSzs7Ozs7NkJBRXZDLDhEQUFDWCxpREFBSUE7UUFBQ1UsV0FBV0E7UUFBWSxHQUFHQyxLQUFLOzs7Ozs7QUFFekM7S0FuQmdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9CdXR0b24uanN4PzRlMWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuY29uc3QgYmFzZVN0eWxlcyA9IHtcbiAgc29saWQ6XG4gICAgJ2dyb3VwIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcHktMiBweC00IHRleHQtc20gZm9udC1zZW1pYm9sZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yJyxcbiAgb3V0bGluZTpcbiAgICAnZ3JvdXAgaW5saW5lLWZsZXggcmluZy0xIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcHktMiBweC00IHRleHQtc20gZm9jdXM6b3V0bGluZS1ub25lJyxcbn1cblxuY29uc3QgdmFyaWFudFN0eWxlcyA9IHtcbiAgc29saWQ6IHtcbiAgICBzbGF0ZTpcbiAgICAgICdiZy1nb2xkLTkwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWdvbGQtODAwIGhvdmVyOnRleHQtc2xhdGUtMTAwIGFjdGl2ZTpiZy1nb2xkLTgwMCBhY3RpdmU6dGV4dC1nb2xkLTMwMCBmb2N1cy12aXNpYmxlOm91dGxpbmUtZ29sZC05MDAnLFxuICAgIGJsdWU6ICdiZy1nb2xkLTYwMCB0ZXh0LXdoaXRlIGhvdmVyOnRleHQtc2xhdGUtMTAwIGhvdmVyOmJnLWdvbGQtNTAwIGFjdGl2ZTpiZy1nb2xkLTgwMCBhY3RpdmU6dGV4dC1zbGF0ZS0xMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLWdvbGQtNjAwJyxcbiAgICB3aGl0ZTpcbiAgICAgICdiZy13aGl0ZSB0ZXh0LXNsYXRlLTEwMCBob3ZlcjpiZy1nb2xkLTUwIGFjdGl2ZTpiZy1nb2xkLTIwMCBhY3RpdmU6dGV4dC1zbGF0ZS0xMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXdoaXRlJyxcbiAgfSxcbiAgb3V0bGluZToge1xuICAgIHNsYXRlOlxuICAgICAgJ3Jpbmctc2xhdGUtMjAwIHRleHQtc2xhdGUtMjAwIGhvdmVyOnRleHQtc2xhdGUtMzAwIGhvdmVyOnJpbmctc2xhdGUtMzAwIGFjdGl2ZTpiZy1zbGF0ZS0xMDAgYWN0aXZlOnRleHQtc2xhdGUtMjAwIGZvY3VzLXZpc2libGU6b3V0bGluZS1nb2xkLTYwMCBmb2N1cy12aXNpYmxlOnJpbmctc2xhdGUtMzAwJyxcbiAgICB3aGl0ZTpcbiAgICAgICdyaW5nLXNsYXRlLTcwMCB0ZXh0LXdoaXRlIGhvdmVyOnJpbmctc2xhdGUtMzAwIGFjdGl2ZTpyaW5nLXNsYXRlLTIwMCBhY3RpdmU6dGV4dC1zbGF0ZS0xMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXdoaXRlJyxcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICBwcm9wcy52YXJpYW50ID8/PSAnc29saWQnXG4gIHByb3BzLmNvbG9yID8/PSAnc2xhdGUnXG5cbiAgY2xhc3NOYW1lID0gY2xzeChcbiAgICBiYXNlU3R5bGVzW3Byb3BzLnZhcmlhbnRdLFxuICAgIHByb3BzLnZhcmlhbnQgPT09ICdvdXRsaW5lJ1xuICAgICAgPyB2YXJpYW50U3R5bGVzLm91dGxpbmVbcHJvcHMuY29sb3JdXG4gICAgICA6IHByb3BzLnZhcmlhbnQgPT09ICdzb2xpZCdcbiAgICAgICAgPyB2YXJpYW50U3R5bGVzLnNvbGlkW3Byb3BzLmNvbG9yXVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICBjbGFzc05hbWUsXG4gIClcblxuICByZXR1cm4gdHlwZW9mIHByb3BzLmhyZWYgPT09ICd1bmRlZmluZWQnID8gKFxuICAgIDxidXR0b24gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5wcm9wc30gLz5cbiAgKSA6IChcbiAgICA8TGluayBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLnByb3BzfSAvPlxuICApXG59XG4iXSwibmFtZXMiOlsiTGluayIsImNsc3giLCJiYXNlU3R5bGVzIiwic29saWQiLCJvdXRsaW5lIiwidmFyaWFudFN0eWxlcyIsInNsYXRlIiwiYmx1ZSIsIndoaXRlIiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJ2YXJpYW50IiwiY29sb3IiLCJ1bmRlZmluZWQiLCJocmVmIiwiYnV0dG9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Button.jsx\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./src/components/Community.jsx":
 | 
						||
/*!**************************************!*\
 | 
						||
  !*** ./src/components/Community.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 */   Community: function() { return /* binding */ Community; }\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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Community auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nconst product = {\n    name: \"Community Buildings\",\n    images: [\n        {\n            id: 1,\n            name: \"Community Space 1\",\n            src: \"/images/community1.jpg\",\n            alt: \"Community gathering space with traditional design\"\n        },\n        {\n            id: 2,\n            name: \"Community Space 2\",\n            src: \"/images/community2.jpg\",\n            alt: \"Interior view of community building\"\n        },\n        {\n            id: 3,\n            name: \"Community Space 3\",\n            src: \"/images/community3.jpg\",\n            alt: \"Community space with seating arrangements\"\n        },\n        {\n            id: 4,\n            name: \"Community Space 4\",\n            src: \"/images/community4.jpg\",\n            alt: \"Community building exterior and surroundings\"\n        }\n    ],\n    colors: [\n        {\n            id: \"washed-black\",\n            name: \"Washed Black\",\n            classes: \"bg-gray-700 checked:outline-gray-700\"\n        },\n        {\n            id: \"white\",\n            name: \"White\",\n            classes: \"bg-white checked:outline-gray-400\"\n        },\n        {\n            id: \"washed-gray\",\n            name: \"Washed Gray\",\n            classes: \"bg-gray-500 checked:outline-gray-500\"\n        }\n    ],\n    description: `\n    <p>Community building holds significant value by fostering a sense of belonging, providing social and emotional support, and promoting collective action. It enhances social capital, encourages collaboration. Human to human connection become more and more important as new technological times require us to collaborate more on a peer to peer level and connect on different levels with each other.</p>\n  `,\n    details: [\n        {\n            name: \"Features\",\n            items: [\n                \"Tailored itineraries that not only traverse the Nile but also include excursions to monumental sites like the temples of Luxor and the iconic pyramid to create life lasting bonds and inspire to integrate history while creating the future.\",\n                \"A comprehensive wellness approach integrating yoga, meditation, massage, and nutritious cuisine crafted by our onboard chef, complemented by wellness workshops aimed at holistic health.\",\n                \"Personal growth sessions led by experienced coaches, offering mentoring and guidance to foster self-discovery and personal development.\"\n            ]\n        },\n        {\n            name: \"Benefits\",\n            items: [\n                \"Enhanced self-awareness and rejuvenation within a nurturing environment, surrounded by the timeless beauty of the Nile.\",\n                \"Building connections with like-minded individuals in an intimate setting, ideal for forging community ties and shared transformative experiences.\",\n                \"Machine wash interior dividers\",\n                \"A balanced mix of relaxation, adventure, and cultural immersion, fostering a profound sense of well-being and enrichment.\"\n            ]\n        }\n    ]\n};\nconst relatedProducts = [\n    {\n        id: 1,\n        name: \"Zip Tote Basket\",\n        color: \"White and black\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-01.jpg\",\n        imageAlt: \"Front of zip tote bag with white canvas, black canvas straps and handle, and black zipper pulls.\",\n        price: \"$140\"\n    },\n    {\n        id: 2,\n        name: \"Zip High Wall Tote\",\n        color: \"White and blue\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-02.jpg\",\n        imageAlt: \"Front of zip tote bag with white canvas, blue canvas straps and handle, and front zipper pocket.\",\n        price: \"$150\"\n    },\n    {\n        id: 3,\n        name: \"Halfsize Tote\",\n        color: \"Clay\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-03.jpg\",\n        imageAlt: \"Front of tote with monochrome natural canvas body, straps, roll top, and handles.\",\n        price: \"$210\"\n    },\n    {\n        id: 4,\n        name: \"High Wall Tote\",\n        color: \"Black and orange\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-04.jpg\",\n        imageAlt: \"Front of zip tote bag with black canvas, black handles, and orange drawstring top.\",\n        price: \"$210\"\n    }\n];\nfunction classNames(...classes) {\n    return classes.filter(Boolean).join(\" \");\n}\nfunction Community() {\n    _s();\n    const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n    return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n        className: \"pb-24\",\n        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n            className: \"mx-auto max-w-7xl sm:px-6 sm:pt-16 lg:px-8\",\n            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                className: \"mx-auto max-w-2xl lg:max-w-none\",\n                children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                    className: \"lg:grid lg:grid-cols-2 lg:items-start lg:gap-x-8\",\n                    children: [\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabGroup, {\n                            className: \"flex flex-col-reverse\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mx-auto mt-6 hidden w-full max-w-2xl sm:block lg:max-w-none\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabList, {\n                                        className: \"grid grid-cols-4 gap-6\",\n                                        children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.Tab, {\n                                                className: \"group relative flex h-24 cursor-pointer items-center justify-center rounded-md bg-white text-sm font-medium text-gray-900 uppercase hover:bg-gray-50 focus:ring-3 focus:ring-indigo-500/50 focus:ring-offset-4 focus:outline-hidden\",\n                                                children: [\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"sr-only\",\n                                                        children: image.name\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                        lineNumber: 157,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"absolute inset-0 overflow-hidden rounded-md\",\n                                                        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                            alt: \"\",\n                                                            src: image.src,\n                                                            className: \"size-full object-cover\"\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                            lineNumber: 159,\n                                                            columnNumber: 25\n                                                        }, this)\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                        lineNumber: 158,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        \"aria-hidden\": \"true\",\n                                                        className: \"pointer-events-none absolute inset-0 rounded-md ring-2 ring-transparent ring-offset-2 group-data-selected:ring-indigo-500\"\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                        lineNumber: 161,\n                                                        columnNumber: 23\n                                                    }, this)\n                                                ]\n                                            }, image.id, true, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                lineNumber: 153,\n                                                columnNumber: 21\n                                            }, this))\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                        lineNumber: 151,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 150,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabPanels, {\n                                    children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabPanel, {\n                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                alt: image.alt,\n                                                src: image.src,\n                                                className: \"aspect-square w-full object-cover sm:rounded-lg\"\n                                            }, void 0, false, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                lineNumber: 173,\n                                                columnNumber: 21\n                                            }, this)\n                                        }, image.id, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                            lineNumber: 172,\n                                            columnNumber: 19\n                                        }, this))\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 170,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                            lineNumber: 148,\n                            columnNumber: 13\n                        }, this),\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                            className: \"mt-10 px-4 sm:mt-16 sm:px-0 lg:mt-0\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n                                    className: \"text-3xl font-bold tracking-tight text-gray-900\",\n                                    children: product.name\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 181,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                        className: \"sr-only\",\n                                        children: \"Product information\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                        lineNumber: 184,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 183,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                        className: \"sr-only\",\n                                        children: \"Reviews\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                        lineNumber: 189,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 188,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-6\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                            className: \"sr-only\",\n                                            children: \"Description\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                            lineNumber: 193,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            dangerouslySetInnerHTML: {\n                                                __html: product.description\n                                            },\n                                            className: \"space-y-6 text-base text-gray-700\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                            lineNumber: 195,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 192,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n                                    \"aria-labelledby\": \"details-heading\",\n                                    className: \"mt-12\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                            id: \"details-heading\",\n                                            className: \"sr-only\",\n                                            children: \"Additional details\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                            lineNumber: 204,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            className: \"divide-y divide-gray-200 border-t border-gray-200\",\n                                            children: product.details.map((detail)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__.Disclosure, {\n                                                    as: \"div\",\n                                                    children: [\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__.DisclosureButton, {\n                                                                className: \"group relative flex w-full items-center justify-between py-6 text-left\",\n                                                                children: [\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"text-sm font-medium text-gray-900 group-data-open:text-indigo-600\",\n                                                                        children: detail.name\n                                                                    }, void 0, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                        lineNumber: 213,\n                                                                        columnNumber: 27\n                                                                    }, this),\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"ml-6 flex items-center\",\n                                                                        children: [\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"block size-6 text-gray-400 group-hover:text-gray-500 group-data-open:hidden\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                                lineNumber: 217,\n                                                                                columnNumber: 29\n                                                                            }, this),\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"hidden size-6 text-indigo-400 group-hover:text-indigo-500 group-data-open:block\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                                lineNumber: 221,\n                                                                                columnNumber: 29\n                                                                            }, this)\n                                                                        ]\n                                                                    }, void 0, true, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                        lineNumber: 216,\n                                                                        columnNumber: 27\n                                                                    }, this)\n                                                                ]\n                                                            }, void 0, true, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                lineNumber: 212,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                            lineNumber: 211,\n                                                            columnNumber: 23\n                                                        }, this),\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__.DisclosurePanel, {\n                                                            className: \"pb-6\",\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n                                                                role: \"list\",\n                                                                className: \"list-disc space-y-1 pl-5 text-sm/6 text-gray-700 marker:text-gray-300\",\n                                                                children: detail.items.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n                                                                        className: \"pl-2\",\n                                                                        children: item\n                                                                    }, item, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                        lineNumber: 234,\n                                                                        columnNumber: 29\n                                                                    }, this))\n                                                            }, void 0, false, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                                lineNumber: 229,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                            lineNumber: 228,\n                                                            columnNumber: 23\n                                                        }, this)\n                                                    ]\n                                                }, detail.name, true, {\n                                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                                    lineNumber: 210,\n                                                    columnNumber: 21\n                                                }, this))\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                            lineNumber: 208,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                                    lineNumber: 203,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                            lineNumber: 180,\n                            columnNumber: 13\n                        }, this)\n                    ]\n                }, void 0, true, {\n                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                    lineNumber: 146,\n                    columnNumber: 11\n                }, this)\n            }, void 0, false, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n                lineNumber: 144,\n                columnNumber: 9\n            }, this)\n        }, void 0, false, {\n            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n            lineNumber: 143,\n            columnNumber: 7\n        }, this)\n    }, void 0, false, {\n        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Community.jsx\",\n        lineNumber: 138,\n        columnNumber: 5\n    }, this);\n}\n_s(Community, \"xG1TONbKtDWtdOTrXaTAsNhPg/Q=\");\n_c = Community;\nvar _c;\n$RefreshReg$(_c, \"Community\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbW11bml0eS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUUwQztBQWlCaEI7QUFVVTtBQUNnQjtBQUdwRCxNQUFNMEIsVUFBVTtJQUNkQyxNQUFNO0lBQ05DLFFBQVE7UUFDTjtZQUNFQyxJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7S0FDRDtJQUNEQyxRQUFRO1FBQ047WUFBRUgsSUFBSTtZQUFnQkYsTUFBTTtZQUFnQk0sU0FBUztRQUF1QztRQUM1RjtZQUFFSixJQUFJO1lBQVNGLE1BQU07WUFBU00sU0FBUztRQUFvQztRQUMzRTtZQUFFSixJQUFJO1lBQWVGLE1BQU07WUFBZU0sU0FBUztRQUF1QztLQUMzRjtJQUNEQyxhQUFhLENBQUM7O0VBRWQsQ0FBQztJQUNEQyxTQUFTO1FBQ1A7WUFDRVIsTUFBTTtZQUNOUyxPQUFPO2dCQUNMO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VULE1BQU07WUFDTlMsT0FBTztnQkFDTDtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7S0FDRDtBQUNIO0FBQ0EsTUFBTUMsa0JBQWtCO0lBQ3RCO1FBQ0VSLElBQUk7UUFDSkYsTUFBTTtRQUNOVyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1FBQ1ZDLE9BQU87SUFDVDtJQUNBO1FBQ0ViLElBQUk7UUFDSkYsTUFBTTtRQUNOVyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1FBQ1ZDLE9BQU87SUFDVDtJQUNBO1FB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QVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NFQUtsQiw4REFBQzVDLDBQQUFlQTs0REFBQzRDLFdBQVU7c0VBQ3pCLDRFQUFDZ0I7Z0VBQ0NDLE1BQUs7Z0VBQ0xqQixXQUFVOzBFQUVUYyxPQUFPN0IsS0FBSyxDQUFDaUIsR0FBRyxDQUFDLENBQUNnQixxQkFDakIsOERBQUNDO3dFQUFjbkIsV0FBVTtrRkFDdEJrQjt1RUFETUE7Ozs7Ozs7Ozs7Ozs7Ozs7bURBeEJBSixPQUFPdEMsSUFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJDaEQ7R0F2SGdCb0I7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvQ29tbXVuaXR5LmpzeD83ZDlmIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIERpYWxvZyxcbiAgRGlhbG9nQmFja2Ryb3AsXG4gIERpYWxvZ1BhbmVsLFxuICBEaXNjbG9zdXJlLFxuICBEaXNjbG9zdXJlQnV0dG9uLFxuICBEaXNjbG9zdXJlUGFuZWwsXG4gIFBvcG92ZXIsXG4gIFBvcG92ZXJCdXR0b24sXG4gIFBvcG92ZXJHcm91cCxcbiAgUG9wb3ZlclBhbmVsLFxuICBUYWIsXG4gIFRhYkdyb3VwLFxuICBUYWJMaXN0LFxuICBUYWJQYW5lbCxcbiAgVGFiUGFuZWxzLFxufSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCdcbmltcG9ydCB7XG4gIEJhcnMzSWNvbixcbiAgSGVhcnRJY29uLFxuICBNYWduaWZ5aW5nR2xhc3NJY29uLFxuICBNaW51c0ljb24sXG4gIFBsdXNJY29uLFxuICBTaG9wcGluZ0JhZ0ljb24sXG4gIFVzZXJJY29uLFxuICBYTWFya0ljb24sXG59IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSdcbmltcG9ydCB7IFN0YXJJY29uIH0gZnJvbSAnQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZCdcblxuXG5jb25zdCBwcm9kdWN0ID0ge1xuICBuYW1lOiAnQ29tbXVuaXR5IEJ1aWxkaW5ncycsXG4gIGltYWdlczogW1xuICAgIHtcbiAgICAgIGlkOiAxLFxuICAgICAgbmFtZTogJ0NvbW11bml0eSBTcGFjZSAxJyxcbiAgICAgIHNyYzogJy9pbWFnZXMvY29tbXVuaXR5MS5qcGcnLFxuICAgICAgYWx0OiAnQ29tbXVuaXR5IGdhdGhlcmluZyBzcGFjZSB3aXRoIHRyYWRpdGlvbmFsIGRlc2lnbicsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6ICdDb21tdW5pdHkgU3BhY2UgMicsXG4gICAgICBzcmM6ICcvaW1hZ2VzL2NvbW11bml0eTIuanBnJyxcbiAgICAgIGFsdDogJ0ludGVyaW9yIHZpZXcgb2YgY29tbXVuaXR5IGJ1aWxkaW5nJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAzLFxuICAgICAgbmFtZTogJ0NvbW11bml0eSBTcGFjZSAzJyxcbiAgICAgIHNyYzogJy9pbWFnZXMvY29tbXVuaXR5My5qcGcnLFxuICAgICAgYWx0OiAnQ29tbXVuaXR5IHNwYWNlIHdpdGggc2VhdGluZyBhcnJhbmdlbWVudHMnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDQsXG4gICAgICBuYW1lOiAnQ29tbXVuaXR5IFNwYWNlIDQnLFxuICAgICAgc3JjOiAnL2ltYWdlcy9jb21tdW5pdHk0LmpwZycsXG4gICAgICBhbHQ6ICdDb21tdW5pdHkgYnVpbGRpbmcgZXh0ZXJpb3IgYW5kIHN1cnJvdW5kaW5ncycsXG4gICAgfSxcbiAgXSxcbiAgY29sb3JzOiBbXG4gICAgeyBpZDogJ3dhc2hlZC1ibGFjaycsIG5hbWU6ICdXYXNoZWQgQmxhY2snLCBjbGFzc2VzOiAnYmctZ3JheS03MDAgY2hlY2tlZDpvdXRsaW5lLWdyYXktNzAwJyB9LFxuICAgIHsgaWQ6ICd3aGl0ZScsIG5hbWU6ICdXaGl0ZScsIGNsYXNzZXM6ICdiZy13aGl0ZSBjaGVja2VkOm91dGxpbmUtZ3JheS00MDAnIH0sXG4gICAgeyBpZDogJ3dhc2hlZC1ncmF5JywgbmFtZTogJ1dhc2hlZCBHcmF5JywgY2xhc3NlczogJ2JnLWdyYXktNTAwIGNoZWNrZWQ6b3V0bGluZS1ncmF5LTUwMCcgfSxcbiAgXSxcbiAgZGVzY3JpcHRpb246IGBcbiAgICA8cD5Db21tdW5pdHkgYnVpbGRpbmcgaG9sZHMgc2lnbmlmaWNhbnQgdmFsdWUgYnkgZm9zdGVyaW5nIGEgc2Vuc2Ugb2YgYmVsb25naW5nLCBwcm92aWRpbmcgc29jaWFsIGFuZCBlbW90aW9uYWwgc3VwcG9ydCwgYW5kIHByb21vdGluZyBjb2xsZWN0aXZlIGFjdGlvbi4gSXQgZW5oYW5jZXMgc29jaWFsIGNhcGl0YWwsIGVuY291cmFnZXMgY29sbGFib3JhdGlvbi4gSHVtYW4gdG8gaHVtYW4gY29ubmVjdGlvbiBiZWNvbWUgbW9yZSBhbmQgbW9yZSBpbXBvcnRhbnQgYXMgbmV3IHRlY2hub2xvZ2ljYWwgdGltZXMgcmVxdWlyZSB1cyB0byBjb2xsYWJvcmF0ZSBtb3JlIG9uIGEgcGVlciB0byBwZWVyIGxldmVsIGFuZCBjb25uZWN0IG9uIGRpZmZlcmVudCBsZXZlbHMgd2l0aCBlYWNoIG90aGVyLjwvcD5cbiAgYCxcbiAgZGV0YWlsczogW1xuICAgIHtcbiAgICAgIG5hbWU6ICdGZWF0dXJlcycsXG4gICAgICBpdGVtczogW1xuICAgICAgICAnVGFpbG9yZWQgaXRpbmVyYXJpZXMgdGhhdCBub3Qgb25seSB0cmF2ZXJzZSB0aGUgTmlsZSBidXQgYWxzbyBpbmNsdWRlIGV4Y3Vyc2lvbnMgdG8gbW9udW1lbnRhbCBzaXRlcyBsaWtlIHRoZSB0ZW1wbGVzIG9mIEx1eG9yIGFuZCB0aGUgaWNvbmljIHB5cmFtaWQgdG8gY3JlYXRlIGxpZmUgbGFzdGluZyBib25kcyBhbmQgaW5zcGlyZSB0byBpbnRlZ3JhdGUgaGlzdG9yeSB3aGlsZSBjcmVhdGluZyB0aGUgZnV0dXJlLicsXG4gICAgICAgICdBIGNvbXByZWhlbnNpdmUgd2VsbG5lc3MgYXBwcm9hY2ggaW50ZWdyYXRpbmcgeW9nYSwgbWVkaXRhdGlvbiwgbWFzc2FnZSwgYW5kIG51dHJpdGlvdXMgY3Vpc2luZSBjcmFmdGVkIGJ5IG91ciBvbmJvYXJkIGNoZWYsIGNvbXBsZW1lbnRlZCBieSB3ZWxsbmVzcyB3b3Jrc2hvcHMgYWltZWQgYXQgaG9saXN0aWMgaGVhbHRoLicsXG4gICAgICAgICdQZXJzb25hbCBncm93dGggc2Vzc2lvbnMgbGVkIGJ5IGV4cGVyaWVuY2VkIGNvYWNoZXMsIG9mZmVyaW5nIG1lbnRvcmluZyBhbmQgZ3VpZGFuY2UgdG8gZm9zdGVyIHNlbGYtZGlzY292ZXJ5IGFuZCBwZXJzb25hbCBkZXZlbG9wbWVudC4nLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdCZW5lZml0cycsXG4gICAgICBpdGVtczogW1xuICAgICAgICAnRW5oYW5jZWQgc2VsZi1hd2FyZW5lc3MgYW5kIHJlanV2ZW5hdGlvbiB3aXRoaW4gYSBudXJ0dXJpbmcgZW52aXJvbm1lbnQsIHN1cnJvdW5kZWQgYnkgdGhlIHRpbWVsZXNzIGJlYXV0eSBvZiB0aGUgTmlsZS4nLFxuICAgICAgICAnQnVpbGRpbmcgY29ubmVjdGlvbnMgd2l0aCBsaWtlLW1pbmRlZCBpbmRpdmlkdWFscyBpbiBhbiBpbnRpbWF0ZSBzZXR0aW5nLCBpZGVhbCBmb3IgZm9yZ2luZyBjb21tdW5pdHkgdGllcyBhbmQgc2hhcmVkIHRyYW5zZm9ybWF0aXZlIGV4cGVyaWVuY2VzLicsXG4gICAgICAgICdNYWNoaW5lIHdhc2ggaW50ZXJpb3IgZGl2aWRlcnMnLFxuICAgICAgICAnQSBiYWxhbmNlZCBtaXggb2YgcmVsYXhhdGlvbiwgYWR2ZW50dXJlLCBhbmQgY3VsdHVyYWwgaW1tZXJzaW9uLCBmb3N0ZXJpbmcgYSBwcm9mb3VuZCBzZW5zZSBvZiB3ZWxsLWJlaW5nIGFuZCBlbnJpY2htZW50LicsXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59XG5jb25zdCByZWxhdGVkUHJvZHVjdHMgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBuYW1lOiAnWmlwIFRvdGUgQmFza2V0JyxcbiAgICBjb2xvcjogJ1doaXRlIGFuZCBibGFjaycsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvcHJvZHVjdC1wYWdlLTAzLXJlbGF0ZWQtcHJvZHVjdC0wMS5qcGcnLFxuICAgIGltYWdlQWx0OiAnRnJvbnQgb2YgemlwIHRvdGUgYmFnIHdpdGggd2hpdGUgY2FudmFzLCBibGFjayBjYW52YXMgc3RyYXBzIGFuZCBoYW5kbGUsIGFuZCBibGFjayB6aXBwZXIgcHVsbHMuJyxcbiAgICBwcmljZTogJyQxNDAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgbmFtZTogJ1ppcCBIaWdoIFdhbGwgVG90ZScsXG4gICAgY29sb3I6ICdXaGl0ZSBhbmQgYmx1ZScsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvcHJvZHVjdC1wYWdlLTAzLXJlbGF0ZWQtcHJvZHVjdC0wMi5qcGcnLFxuICAgIGltYWdlQWx0OiAnRnJvbnQgb2YgemlwIHRvdGUgYmFnIHdpdGggd2hpdGUgY2FudmFzLCBibHVlIGNhbnZhcyBzdHJhcHMgYW5kIGhhbmRsZSwgYW5kIGZyb250IHppcHBlciBwb2NrZXQuJyxcbiAgICBwcmljZTogJyQxNTAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDMsXG4gICAgbmFtZTogJ0hhbGZzaXplIFRvdGUnLFxuICAgIGNvbG9yOiAnQ2xheScsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvcHJvZHVjdC1wYWdlLTAzLXJlbGF0ZWQtcHJvZHVjdC0wMy5qcGcnLFxuICAgIGltYWdlQWx0OiAnRnJvbnQgb2YgdG90ZSB3aXRoIG1vbm9jaHJvbWUgbmF0dXJhbCBjYW52YXMgYm9keSwgc3RyYXBzLCByb2xsIHRvcCwgYW5kIGhhbmRsZXMuJyxcbiAgICBwcmljZTogJyQyMTAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDQsXG4gICAgbmFtZTogJ0hpZ2ggV2FsbCBUb3RlJyxcbiAgICBjb2xvcjogJ0JsYWNrIGFuZCBvcmFuZ2UnLFxuICAgIGhyZWY6ICcjJyxcbiAgICBpbWFnZVNyYzogJ2h0dHBzOi8vdGFpbHdpbmRjc3MuY29tL3BsdXMtYXNzZXRzL2ltZy9lY29tbWVyY2UtaW1hZ2VzL3Byb2R1Y3QtcGFnZS0wMy1yZWxhdGVkLXByb2R1Y3QtMDQuanBnJyxcbiAgICBpbWFnZUFsdDogJ0Zyb250IG9mIHppcCB0b3RlIGJhZyB3aXRoIGJsYWNrIGNhbnZhcywgYmxhY2sgaGFuZGxlcywgYW5kIG9yYW5nZSBkcmF3c3RyaW5nIHRvcC4nLFxuICAgIHByaWNlOiAnJDIxMCcsXG4gIH0sXG5dXG5cblxuZnVuY3Rpb24gY2xhc3NOYW1lcyguLi5jbGFzc2VzKSB7XG4gIHJldHVybiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbW11bml0eSgpIHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBiLTI0XCI+XG5cblxuXG5cbiAgICAgIDxtYWluIGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctN3hsIHNtOnB4LTYgc206cHQtMTYgbGc6cHgtOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm1heC13LW5vbmVcIj5cbiAgICAgICAgICB7LyogUHJvZHVjdCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOmdyaWQgbGc6Z3JpZC1jb2xzLTIgbGc6aXRlbXMtc3RhcnQgbGc6Z2FwLXgtOFwiPlxuICAgICAgICAgICAgey8qIEltYWdlIGdhbGxlcnkgKi99XG4gICAgICAgICAgICA8VGFiR3JvdXAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbC1yZXZlcnNlXCI+XG4gICAgICAgICAgICAgIHsvKiBJbWFnZSBzZWxlY3RvciAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG10LTYgaGlkZGVuIHctZnVsbCBtYXgtdy0yeGwgc206YmxvY2sgbGc6bWF4LXctbm9uZVwiPlxuICAgICAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTQgZ2FwLTZcIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9kdWN0LmltYWdlcy5tYXAoKGltYWdlKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUYWJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ltYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlIGZsZXggaC0yNCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBiZy13aGl0ZSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgdXBwZXJjYXNlIGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6cmluZy0zIGZvY3VzOnJpbmctaW5kaWdvLTUwMC81MCBmb2N1czpyaW5nLW9mZnNldC00IGZvY3VzOm91dGxpbmUtaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj57aW1hZ2UubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBzcmM9e2ltYWdlLnNyY30gY2xhc3NOYW1lPVwic2l6ZS1mdWxsIG9iamVjdC1jb3ZlclwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC0wIHJvdW5kZWQtbWQgcmluZy0yIHJpbmctdHJhbnNwYXJlbnQgcmluZy1vZmZzZXQtMiBncm91cC1kYXRhLXNlbGVjdGVkOnJpbmctaW5kaWdvLTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9UYWI+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L1RhYkxpc3Q+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgICAgICAgICAge3Byb2R1Y3QuaW1hZ2VzLm1hcCgoaW1hZ2UpID0+IChcbiAgICAgICAgICAgICAgICAgIDxUYWJQYW5lbCBrZXk9e2ltYWdlLmlkfT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9e2ltYWdlLmFsdH0gc3JjPXtpbWFnZS5zcmN9IGNsYXNzTmFtZT1cImFzcGVjdC1zcXVhcmUgdy1mdWxsIG9iamVjdC1jb3ZlciBzbTpyb3VuZGVkLWxnXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWxzPlxuICAgICAgICAgICAgPC9UYWJHcm91cD5cblxuICAgICAgICAgICAgey8qIFByb2R1Y3QgaW5mbyAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMTAgcHgtNCBzbTptdC0xNiBzbTpweC0wIGxnOm10LTBcIj5cbiAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXCI+e3Byb2R1Y3QubmFtZX08L2gxPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtM1wiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJzci1vbmx5XCI+UHJvZHVjdCBpbmZvcm1hdGlvbjwvaDI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIHsvKiBSZXZpZXdzICovfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTNcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwic3Itb25seVwiPlJldmlld3M8L2gzPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTZcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwic3Itb25seVwiPkRlc2NyaXB0aW9uPC9oMz5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogcHJvZHVjdC5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3BhY2UteS02IHRleHQtYmFzZSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICBcblxuICAgICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJkZXRhaWxzLWhlYWRpbmdcIiBjbGFzc05hbWU9XCJtdC0xMlwiPlxuICAgICAgICAgICAgICAgIDxoMiBpZD1cImRldGFpbHMtaGVhZGluZ1wiIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgIEFkZGl0aW9uYWwgZGV0YWlsc1xuICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdmlkZS15IGRpdmlkZS1ncmF5LTIwMCBib3JkZXItdCBib3JkZXItZ3JheS0yMDBcIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9kdWN0LmRldGFpbHMubWFwKChkZXRhaWwpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPERpc2Nsb3N1cmUga2V5PXtkZXRhaWwubmFtZX0gYXM9XCJkaXZcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGlzY2xvc3VyZUJ1dHRvbiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTYgdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBncm91cC1kYXRhLW9wZW46dGV4dC1pbmRpZ28tNjAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RldGFpbC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTYgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGx1c0ljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayBzaXplLTYgdGV4dC1ncmF5LTQwMCBncm91cC1ob3Zlcjp0ZXh0LWdyYXktNTAwIGdyb3VwLWRhdGEtb3BlbjpoaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1pbnVzSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlbiBzaXplLTYgdGV4dC1pbmRpZ28tNDAwIGdyb3VwLWhvdmVyOnRleHQtaW5kaWdvLTUwMCBncm91cC1kYXRhLW9wZW46YmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaXNjbG9zdXJlUGFuZWwgY2xhc3NOYW1lPVwicGItNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGlzdC1kaXNjIHNwYWNlLXktMSBwbC01IHRleHQtc20vNiB0ZXh0LWdyYXktNzAwIG1hcmtlcjp0ZXh0LWdyYXktMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RldGFpbC5pdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtfSBjbGFzc05hbWU9XCJwbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9EaXNjbG9zdXJlUGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWFpbj5cblxuXG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsInVzZVN0YXRlIiwiRGlhbG9nIiwiRGlhbG9nQmFja2Ryb3AiLCJEaWFsb2dQYW5lbCIsIkRpc2Nsb3N1cmUiLCJEaXNjbG9zdXJlQnV0dG9uIiwiRGlzY2xvc3VyZVBhbmVsIiwiUG9wb3ZlciIsIlBvcG92ZXJCdXR0b24iLCJQb3BvdmVyR3JvdXAiLCJQb3BvdmVyUGFuZWwiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsIkJhcnMzSWNvbiIsIkhlYXJ0SWNvbiIsIk1hZ25pZnlpbmdHbGFzc0ljb24iLCJNaW51c0ljb24iLCJQbHVzSWNvbiIsIlNob3BwaW5nQmFnSWNvbiIsIlVzZXJJY29uIiwiWE1hcmtJY29uIiwiU3Rhckljb24iLCJwcm9kdWN0IiwibmFtZSIsImltYWdlcyIsImlkIiwic3JjIiwiYWx0IiwiY29sb3JzIiwiY2xhc3NlcyIsImRlc2NyaXB0aW9uIiwiZGV0YWlscyIsIml0ZW1zIiwicmVsYXRlZFByb2R1Y3RzIiwiY29sb3IiLCJocmVmIiwiaW1hZ2VTcmMiLCJpbWFnZUFsdCIsInByaWNlIiwiY2xhc3NOYW1lcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiQ29tbXVuaXR5Iiwib3BlbiIsInNldE9wZW4iLCJkaXYiLCJjbGFzc05hbWUiLCJtYWluIiwibWFwIiwiaW1hZ2UiLCJzcGFuIiwiaW1nIiwiYXJpYS1oaWRkZW4iLCJoMSIsImgyIiwiaDMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsInNlY3Rpb24iLCJhcmlhLWxhYmVsbGVkYnkiLCJkZXRhaWwiLCJhcyIsInVsIiwicm9sZSIsIml0ZW0iLCJsaSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Community.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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\");\n\n\nfunction Container({ className, ...props }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NvbnRhaW5lci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QjtBQUVoQixTQUFTQyxVQUFVLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxPQUFPO0lBQy9DLHFCQUNFLDhEQUFDQztRQUNDRixXQUFXRixnREFBSUEsQ0FBQywwQ0FBMENFO1FBQ3pELEdBQUdDLEtBQUs7Ozs7OztBQUdmO0tBUGdCRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Db250YWluZXIuanN4PzdhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeCgnbXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgnLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Container.jsx\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./src/components/Events.jsx":
 | 
						||
/*!***********************************!*\
 | 
						||
  !*** ./src/components/Events.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 */   Events: function() { return /* binding */ Events; }\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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Events auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nconst product = {\n    name: \"Events & Conferences\",\n    images: [\n        {\n            id: 1,\n            name: \"Event Space 1\",\n            src: \"/images/events1.jpg\",\n            alt: \"Professional event space with Nile backdrop\"\n        },\n        {\n            id: 2,\n            name: \"Event Space 2\",\n            src: \"/images/events2.jpg\",\n            alt: \"Conference venue with modern amenities\"\n        },\n        {\n            id: 3,\n            name: \"Event Space 3\",\n            src: \"/images/events3.jpg\",\n            alt: \"Meeting space on dahabiya\"\n        },\n        {\n            id: 4,\n            name: \"Event Space 4\",\n            src: \"/images/events4.jpg\",\n            alt: \"Outdoor event setting by the Nile\"\n        }\n    ],\n    colors: [\n        {\n            id: \"washed-black\",\n            name: \"Washed Black\",\n            classes: \"bg-gray-700 checked:outline-gray-700\"\n        },\n        {\n            id: \"white\",\n            name: \"White\",\n            classes: \"bg-white checked:outline-gray-400\"\n        },\n        {\n            id: \"washed-gray\",\n            name: \"Washed Gray\",\n            classes: \"bg-gray-500 checked:outline-gray-500\"\n        }\n    ],\n    description: `\n    <p>VEDA's facilities are suited for hosting events, a unique venue that combines professional functionality with the tranquility of the Nile. An innovative setting that stands apart from traditional conference venues, promising an impactful event.</p>\n  `,\n    details: [\n        {\n            name: \"Unique Features\",\n            items: [\n                \"Four Air-Conditioned Meeting Spaces equipped with modern amenities to host up to 50/100 participants, perfect for workshops, seminars, and more.\",\n                \"From indoor workshops to outdoor receptions and gala dinners, the settings are as versatile as the events themselves.\",\n                \"Comprehensive Services: This includes catering, technical equipment, and event planning assistance to ensure everything runs smoothly.\",\n                \"Essential for modern retreats and conferences, we offer reliable internet and state-of-the-art meeting equipment.\",\n                \"Flexible Event Locations Across the Nile: Offering the freedom to choose unique meeting locations for an unparalleled experience.\"\n            ]\n        },\n        {\n            name: \"Benefits\",\n            items: [\n                \"Unique venue: The natural and historical backdrop of the Nile serves as a source of inspiration and tranquility.\",\n                \"Modern Conveniences: Internet, flexible meeting locations, and comprehensive support services facilitate a productive and engaging environment.\"\n            ]\n        }\n    ]\n};\nconst relatedProducts = [\n    {\n        id: 1,\n        name: \"Zip Tote Basket\",\n        color: \"White and black\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-01.jpg\",\n        imageAlt: \"Front of zip tote bag with white canvas, black canvas straps and handle, and black zipper pulls.\",\n        price: \"$140\"\n    },\n    {\n        id: 2,\n        name: \"Zip High Wall Tote\",\n        color: \"White and blue\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-02.jpg\",\n        imageAlt: \"Front of zip tote bag with white canvas, blue canvas straps and handle, and front zipper pocket.\",\n        price: \"$150\"\n    },\n    {\n        id: 3,\n        name: \"Halfsize Tote\",\n        color: \"Clay\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-03.jpg\",\n        imageAlt: \"Front of tote with monochrome natural canvas body, straps, roll top, and handles.\",\n        price: \"$210\"\n    },\n    {\n        id: 4,\n        name: \"High Wall Tote\",\n        color: \"Black and orange\",\n        href: \"#\",\n        imageSrc: \"https://tailwindcss.com/plus-assets/img/ecommerce-images/product-page-03-related-product-04.jpg\",\n        imageAlt: \"Front of zip tote bag with black canvas, black handles, and orange drawstring top.\",\n        price: \"$210\"\n    }\n];\nfunction classNames(...classes) {\n    return classes.filter(Boolean).join(\" \");\n}\nfunction Events() {\n    _s();\n    const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n    return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n        className: \"pb-24\",\n        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n            className: \"mx-auto max-w-7xl sm:px-6 sm:pt-16 lg:px-8\",\n            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                className: \"mx-auto max-w-2xl lg:max-w-none\",\n                children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                    className: \"lg:grid lg:grid-cols-2 lg:items-start lg:gap-x-8\",\n                    children: [\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabGroup, {\n                            className: \"flex flex-col-reverse\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mx-auto mt-6 hidden w-full max-w-2xl sm:block lg:max-w-none\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabList, {\n                                        className: \"grid grid-cols-4 gap-6\",\n                                        children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.Tab, {\n                                                className: \"group relative flex h-24 cursor-pointer items-center justify-center rounded-md bg-white text-sm font-medium text-gray-900 uppercase hover:bg-gray-50 focus:ring-3 focus:ring-indigo-500/50 focus:ring-offset-4 focus:outline-hidden\",\n                                                children: [\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"sr-only\",\n                                                        children: image.name\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                        lineNumber: 157,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"absolute inset-0 overflow-hidden rounded-md\",\n                                                        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                            alt: \"\",\n                                                            src: image.src,\n                                                            className: \"size-full object-cover\"\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                            lineNumber: 159,\n                                                            columnNumber: 25\n                                                        }, this)\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                        lineNumber: 158,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        \"aria-hidden\": \"true\",\n                                                        className: \"pointer-events-none absolute inset-0 rounded-md ring-2 ring-transparent ring-offset-2 group-data-selected:ring-indigo-500\"\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                        lineNumber: 161,\n                                                        columnNumber: 23\n                                                    }, this)\n                                                ]\n                                            }, image.id, true, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                lineNumber: 153,\n                                                columnNumber: 21\n                                            }, this))\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                        lineNumber: 151,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 150,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabPanels, {\n                                    children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.TabPanel, {\n                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                alt: image.alt,\n                                                src: image.src,\n                                                className: \"aspect-square w-full object-cover sm:rounded-lg\"\n                                            }, void 0, false, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                lineNumber: 173,\n                                                columnNumber: 21\n                                            }, this)\n                                        }, image.id, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                            lineNumber: 172,\n                                            columnNumber: 19\n                                        }, this))\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 170,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                            lineNumber: 148,\n                            columnNumber: 13\n                        }, this),\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                            className: \"mt-10 px-4 sm:mt-16 sm:px-0 lg:mt-0\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n                                    className: \"text-3xl font-bold tracking-tight text-gray-900\",\n                                    children: product.name\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 181,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                        className: \"sr-only\",\n                                        children: \"Product information\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                        lineNumber: 184,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 183,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                        className: \"sr-only\",\n                                        children: \"Reviews\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                        lineNumber: 189,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 188,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-6\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                            className: \"sr-only\",\n                                            children: \"Description\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                            lineNumber: 193,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            dangerouslySetInnerHTML: {\n                                                __html: product.description\n                                            },\n                                            className: \"space-y-6 text-base text-gray-700\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                            lineNumber: 195,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 192,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n                                    \"aria-labelledby\": \"details-heading\",\n                                    className: \"mt-12\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                            id: \"details-heading\",\n                                            className: \"sr-only\",\n                                            children: \"Additional details\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                            lineNumber: 204,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            className: \"divide-y divide-gray-200 border-t border-gray-200\",\n                                            children: product.details.map((detail)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__.Disclosure, {\n                                                    as: \"div\",\n                                                    children: [\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__.DisclosureButton, {\n                                                                className: \"group relative flex w-full items-center justify-between py-6 text-left\",\n                                                                children: [\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"text-sm font-medium text-gray-900 group-data-open:text-indigo-600\",\n                                                                        children: detail.name\n                                                                    }, void 0, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                        lineNumber: 213,\n                                                                        columnNumber: 27\n                                                                    }, this),\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"ml-6 flex items-center\",\n                                                                        children: [\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"block size-6 text-gray-400 group-hover:text-gray-500 group-data-open:hidden\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                                lineNumber: 217,\n                                                                                columnNumber: 29\n                                                                            }, this),\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"hidden size-6 text-indigo-400 group-hover:text-indigo-500 group-data-open:block\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                                lineNumber: 221,\n                                                                                columnNumber: 29\n                                                                            }, this)\n                                                                        ]\n                                                                    }, void 0, true, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                        lineNumber: 216,\n                                                                        columnNumber: 27\n                                                                    }, this)\n                                                                ]\n                                                            }, void 0, true, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                lineNumber: 212,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                            lineNumber: 211,\n                                                            columnNumber: 23\n                                                        }, this),\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_3__.DisclosurePanel, {\n                                                            className: \"pb-6\",\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n                                                                role: \"list\",\n                                                                className: \"list-disc space-y-1 pl-5 text-sm/6 text-gray-700 marker:text-gray-300\",\n                                                                children: detail.items.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n                                                                        className: \"pl-2\",\n                                                                        children: item\n                                                                    }, item, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                        lineNumber: 234,\n                                                                        columnNumber: 29\n                                                                    }, this))\n                                                            }, void 0, false, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                                lineNumber: 229,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                            lineNumber: 228,\n                                                            columnNumber: 23\n                                                        }, this)\n                                                    ]\n                                                }, detail.name, true, {\n                                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                                    lineNumber: 210,\n                                                    columnNumber: 21\n                                                }, this))\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                            lineNumber: 208,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                                    lineNumber: 203,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                            lineNumber: 180,\n                            columnNumber: 13\n                        }, this)\n                    ]\n                }, void 0, true, {\n                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                    lineNumber: 146,\n                    columnNumber: 11\n                }, this)\n            }, void 0, false, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n                lineNumber: 144,\n                columnNumber: 9\n            }, this)\n        }, void 0, false, {\n            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n            lineNumber: 143,\n            columnNumber: 7\n        }, this)\n    }, void 0, false, {\n        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Events.jsx\",\n        lineNumber: 138,\n        columnNumber: 5\n    }, this);\n}\n_s(Events, \"xG1TONbKtDWtdOTrXaTAsNhPg/Q=\");\n_c = Events;\nvar _c;\n$RefreshReg$(_c, \"Events\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0V2ZW50cy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUUwQztBQWlCaEI7QUFVVTtBQUNnQjtBQUdwRCxNQUFNMEIsVUFBVTtJQUNkQyxNQUFNO0lBQ05DLFFBQVE7UUFDTjtZQUNFQyxJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7S0FDRDtJQUNEQyxRQUFRO1FBQ047WUFBRUgsSUFBSTtZQUFnQkYsTUFBTTtZQUFnQk0sU0FBUztRQUF1QztRQUM1RjtZQUFFSixJQUFJO1lBQVNGLE1BQU07WUFBU00sU0FBUztRQUFvQztRQUMzRTtZQUFFSixJQUFJO1lBQWVGLE1BQU07WUFBZU0sU0FBUztRQUF1QztLQUMzRjtJQUNEQyxhQUFhLENBQUM7O0VBRWQsQ0FBQztJQUNEQyxTQUFTO1FBQ1A7WUFDRVIsTUFBTTtZQUNOUyxPQUFPO2dCQUNMO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VULE1BQU07WUFDTlMsT0FBTztnQkFDTDtnQkFDQTthQUNEO1FBQ0g7S0FDRDtBQUNIO0FBQ0EsTUFBTUMsa0JBQWtCO0lBQ3RCO1FBQ0VSLElBQUk7UUFDSkYsTUFBTTtRQUNOVyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1FBQ1ZDLE9BQU87SUFDVDtJQUNBO1FBQ0ViLElBQUk7UUFDSkYsTUFBTTtRQUNOVyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsVUFBVTtRQUNWQyxVQUFVO1FBQ1ZDLE9BQU87SUFDVDtJQUNBO1FBQ0Vi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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NFQUtsQiw4REFBQzVDLDBQQUFlQTs0REFBQzRDLFdBQVU7c0VBQ3pCLDRFQUFDZ0I7Z0VBQ0NDLE1BQUs7Z0VBQ0xqQixXQUFVOzBFQUVUYyxPQUFPN0IsS0FBSyxDQUFDaUIsR0FBRyxDQUFDLENBQUNnQixxQkFDakIsOERBQUNDO3dFQUFjbkIsV0FBVTtrRkFDdEJrQjt1RUFETUE7Ozs7Ozs7Ozs7Ozs7Ozs7bURBeEJBSixPQUFPdEMsSUFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJDaEQ7R0F2SGdCb0I7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvRXZlbnRzLmpzeD8yMThmIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIERpYWxvZyxcbiAgRGlhbG9nQmFja2Ryb3AsXG4gIERpYWxvZ1BhbmVsLFxuICBEaXNjbG9zdXJlLFxuICBEaXNjbG9zdXJlQnV0dG9uLFxuICBEaXNjbG9zdXJlUGFuZWwsXG4gIFBvcG92ZXIsXG4gIFBvcG92ZXJCdXR0b24sXG4gIFBvcG92ZXJHcm91cCxcbiAgUG9wb3ZlclBhbmVsLFxuICBUYWIsXG4gIFRhYkdyb3VwLFxuICBUYWJMaXN0LFxuICBUYWJQYW5lbCxcbiAgVGFiUGFuZWxzLFxufSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCdcbmltcG9ydCB7XG4gIEJhcnMzSWNvbixcbiAgSGVhcnRJY29uLFxuICBNYWduaWZ5aW5nR2xhc3NJY29uLFxuICBNaW51c0ljb24sXG4gIFBsdXNJY29uLFxuICBTaG9wcGluZ0JhZ0ljb24sXG4gIFVzZXJJY29uLFxuICBYTWFya0ljb24sXG59IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSdcbmltcG9ydCB7IFN0YXJJY29uIH0gZnJvbSAnQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZCdcblxuXG5jb25zdCBwcm9kdWN0ID0ge1xuICBuYW1lOiAnRXZlbnRzICYgQ29uZmVyZW5jZXMnLFxuICBpbWFnZXM6IFtcbiAgICB7XG4gICAgICBpZDogMSxcbiAgICAgIG5hbWU6ICdFdmVudCBTcGFjZSAxJyxcbiAgICAgIHNyYzogJy9pbWFnZXMvZXZlbnRzMS5qcGcnLFxuICAgICAgYWx0OiAnUHJvZmVzc2lvbmFsIGV2ZW50IHNwYWNlIHdpdGggTmlsZSBiYWNrZHJvcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6ICdFdmVudCBTcGFjZSAyJyxcbiAgICAgIHNyYzogJy9pbWFnZXMvZXZlbnRzMi5qcGcnLFxuICAgICAgYWx0OiAnQ29uZmVyZW5jZSB2ZW51ZSB3aXRoIG1vZGVybiBhbWVuaXRpZXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDMsXG4gICAgICBuYW1lOiAnRXZlbnQgU3BhY2UgMycsXG4gICAgICBzcmM6ICcvaW1hZ2VzL2V2ZW50czMuanBnJyxcbiAgICAgIGFsdDogJ01lZXRpbmcgc3BhY2Ugb24gZGFoYWJpeWEnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDQsXG4gICAgICBuYW1lOiAnRXZlbnQgU3BhY2UgNCcsXG4gICAgICBzcmM6ICcvaW1hZ2VzL2V2ZW50czQuanBnJyxcbiAgICAgIGFsdDogJ091dGRvb3IgZXZlbnQgc2V0dGluZyBieSB0aGUgTmlsZScsXG4gICAgfSxcbiAgXSxcbiAgY29sb3JzOiBbXG4gICAgeyBpZDogJ3dhc2hlZC1ibGFjaycsIG5hbWU6ICdXYXNoZWQgQmxhY2snLCBjbGFzc2VzOiAnYmctZ3JheS03MDAgY2hlY2tlZDpvdXRsaW5lLWdyYXktNzAwJyB9LFxuICAgIHsgaWQ6ICd3aGl0ZScsIG5hbWU6ICdXaGl0ZScsIGNsYXNzZXM6ICdiZy13aGl0ZSBjaGVja2VkOm91dGxpbmUtZ3JheS00MDAnIH0sXG4gICAgeyBpZDogJ3dhc2hlZC1ncmF5JywgbmFtZTogJ1dhc2hlZCBHcmF5JywgY2xhc3NlczogJ2JnLWdyYXktNTAwIGNoZWNrZWQ6b3V0bGluZS1ncmF5LTUwMCcgfSxcbiAgXSxcbiAgZGVzY3JpcHRpb246IGBcbiAgICA8cD5WRURBJ3MgZmFjaWxpdGllcyBhcmUgc3VpdGVkIGZvciBob3N0aW5nIGV2ZW50cywgYSB1bmlxdWUgdmVudWUgdGhhdCBjb21iaW5lcyBwcm9mZXNzaW9uYWwgZnVuY3Rpb25hbGl0eSB3aXRoIHRoZSB0cmFucXVpbGl0eSBvZiB0aGUgTmlsZS4gQW4gaW5ub3ZhdGl2ZSBzZXR0aW5nIHRoYXQgc3RhbmRzIGFwYXJ0IGZyb20gdHJhZGl0aW9uYWwgY29uZmVyZW5jZSB2ZW51ZXMsIHByb21pc2luZyBhbiBpbXBhY3RmdWwgZXZlbnQuPC9wPlxuICBgLFxuICBkZXRhaWxzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ1VuaXF1ZSBGZWF0dXJlcycsXG4gICAgICBpdGVtczogW1xuICAgICAgICAnRm91ciBBaXItQ29uZGl0aW9uZWQgTWVldGluZyBTcGFjZXMgZXF1aXBwZWQgd2l0aCBtb2Rlcm4gYW1lbml0aWVzIHRvIGhvc3QgdXAgdG8gNTAvMTAwIHBhcnRpY2lwYW50cywgcGVyZmVjdCBmb3Igd29ya3Nob3BzLCBzZW1pbmFycywgYW5kIG1vcmUuJyxcbiAgICAgICAgJ0Zyb20gaW5kb29yIHdvcmtzaG9wcyB0byBvdXRkb29yIHJlY2VwdGlvbnMgYW5kIGdhbGEgZGlubmVycywgdGhlIHNldHRpbmdzIGFyZSBhcyB2ZXJzYXRpbGUgYXMgdGhlIGV2ZW50cyB0aGVtc2VsdmVzLicsXG4gICAgICAgICdDb21wcmVoZW5zaXZlIFNlcnZpY2VzOiBUaGlzIGluY2x1ZGVzIGNhdGVyaW5nLCB0ZWNobmljYWwgZXF1aXBtZW50LCBhbmQgZXZlbnQgcGxhbm5pbmcgYXNzaXN0YW5jZSB0byBlbnN1cmUgZXZlcnl0aGluZyBydW5zIHNtb290aGx5LicsXG4gICAgICAgICdFc3NlbnRpYWwgZm9yIG1vZGVybiByZXRyZWF0cyBhbmQgY29uZmVyZW5jZXMsIHdlIG9mZmVyIHJlbGlhYmxlIGludGVybmV0IGFuZCBzdGF0ZS1vZi10aGUtYXJ0IG1lZXRpbmcgZXF1aXBtZW50LicsXG4gICAgICAgICdGbGV4aWJsZSBFdmVudCBMb2NhdGlvbnMgQWNyb3NzIHRoZSBOaWxlOiBPZmZlcmluZyB0aGUgZnJlZWRvbSB0byBjaG9vc2UgdW5pcXVlIG1lZXRpbmcgbG9jYXRpb25zIGZvciBhbiB1bnBhcmFsbGVsZWQgZXhwZXJpZW5jZS4nLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdCZW5lZml0cycsXG4gICAgICBpdGVtczogW1xuICAgICAgICAnVW5pcXVlIHZlbnVlOiBUaGUgbmF0dXJhbCBhbmQgaGlzdG9yaWNhbCBiYWNrZHJvcCBvZiB0aGUgTmlsZSBzZXJ2ZXMgYXMgYSBzb3VyY2Ugb2YgaW5zcGlyYXRpb24gYW5kIHRyYW5xdWlsaXR5LicsXG4gICAgICAgICdNb2Rlcm4gQ29udmVuaWVuY2VzOiBJbnRlcm5ldCwgZmxleGlibGUgbWVldGluZyBsb2NhdGlvbnMsIGFuZCBjb21wcmVoZW5zaXZlIHN1cHBvcnQgc2VydmljZXMgZmFjaWxpdGF0ZSBhIHByb2R1Y3RpdmUgYW5kIGVuZ2FnaW5nIGVudmlyb25tZW50LicsXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59XG5jb25zdCByZWxhdGVkUHJvZHVjdHMgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBuYW1lOiAnWmlwIFRvdGUgQmFza2V0JyxcbiAgICBjb2xvcjogJ1doaXRlIGFuZCBibGFjaycsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvcHJvZHVjdC1wYWdlLTAzLXJlbGF0ZWQtcHJvZHVjdC0wMS5qcGcnLFxuICAgIGltYWdlQWx0OiAnRnJvbnQgb2YgemlwIHRvdGUgYmFnIHdpdGggd2hpdGUgY2FudmFzLCBibGFjayBjYW52YXMgc3RyYXBzIGFuZCBoYW5kbGUsIGFuZCBibGFjayB6aXBwZXIgcHVsbHMuJyxcbiAgICBwcmljZTogJyQxNDAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgbmFtZTogJ1ppcCBIaWdoIFdhbGwgVG90ZScsXG4gICAgY29sb3I6ICdXaGl0ZSBhbmQgYmx1ZScsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvcHJvZHVjdC1wYWdlLTAzLXJlbGF0ZWQtcHJvZHVjdC0wMi5qcGcnLFxuICAgIGltYWdlQWx0OiAnRnJvbnQgb2YgemlwIHRvdGUgYmFnIHdpdGggd2hpdGUgY2FudmFzLCBibHVlIGNhbnZhcyBzdHJhcHMgYW5kIGhhbmRsZSwgYW5kIGZyb250IHppcHBlciBwb2NrZXQuJyxcbiAgICBwcmljZTogJyQxNTAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDMsXG4gICAgbmFtZTogJ0hhbGZzaXplIFRvdGUnLFxuICAgIGNvbG9yOiAnQ2xheScsXG4gICAgaHJlZjogJyMnLFxuICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvcHJvZHVjdC1wYWdlLTAzLXJlbGF0ZWQtcHJvZHVjdC0wMy5qcGcnLFxuICAgIGltYWdlQWx0OiAnRnJvbnQgb2YgdG90ZSB3aXRoIG1vbm9jaHJvbWUgbmF0dXJhbCBjYW52YXMgYm9keSwgc3RyYXBzLCByb2xsIHRvcCwgYW5kIGhhbmRsZXMuJyxcbiAgICBwcmljZTogJyQyMTAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDQsXG4gICAgbmFtZTogJ0hpZ2ggV2FsbCBUb3RlJyxcbiAgICBjb2xvcjogJ0JsYWNrIGFuZCBvcmFuZ2UnLFxuICAgIGhyZWY6ICcjJyxcbiAgICBpbWFnZVNyYzogJ2h0dHBzOi8vdGFpbHdpbmRjc3MuY29tL3BsdXMtYXNzZXRzL2ltZy9lY29tbWVyY2UtaW1hZ2VzL3Byb2R1Y3QtcGFnZS0wMy1yZWxhdGVkLXByb2R1Y3QtMDQuanBnJyxcbiAgICBpbWFnZUFsdDogJ0Zyb250IG9mIHppcCB0b3RlIGJhZyB3aXRoIGJsYWNrIGNhbnZhcywgYmxhY2sgaGFuZGxlcywgYW5kIG9yYW5nZSBkcmF3c3RyaW5nIHRvcC4nLFxuICAgIHByaWNlOiAnJDIxMCcsXG4gIH0sXG5dXG5cblxuZnVuY3Rpb24gY2xhc3NOYW1lcyguLi5jbGFzc2VzKSB7XG4gIHJldHVybiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50cygpIHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBiLTI0XCI+XG5cblxuXG5cbiAgICAgIDxtYWluIGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctN3hsIHNtOnB4LTYgc206cHQtMTYgbGc6cHgtOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm1heC13LW5vbmVcIj5cbiAgICAgICAgICB7LyogUHJvZHVjdCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOmdyaWQgbGc6Z3JpZC1jb2xzLTIgbGc6aXRlbXMtc3RhcnQgbGc6Z2FwLXgtOFwiPlxuICAgICAgICAgICAgey8qIEltYWdlIGdhbGxlcnkgKi99XG4gICAgICAgICAgICA8VGFiR3JvdXAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbC1yZXZlcnNlXCI+XG4gICAgICAgICAgICAgIHsvKiBJbWFnZSBzZWxlY3RvciAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG10LTYgaGlkZGVuIHctZnVsbCBtYXgtdy0yeGwgc206YmxvY2sgbGc6bWF4LXctbm9uZVwiPlxuICAgICAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTQgZ2FwLTZcIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9kdWN0LmltYWdlcy5tYXAoKGltYWdlKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUYWJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ltYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlIGZsZXggaC0yNCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBiZy13aGl0ZSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgdXBwZXJjYXNlIGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6cmluZy0zIGZvY3VzOnJpbmctaW5kaWdvLTUwMC81MCBmb2N1czpyaW5nLW9mZnNldC00IGZvY3VzOm91dGxpbmUtaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj57aW1hZ2UubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBzcmM9e2ltYWdlLnNyY30gY2xhc3NOYW1lPVwic2l6ZS1mdWxsIG9iamVjdC1jb3ZlclwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC0wIHJvdW5kZWQtbWQgcmluZy0yIHJpbmctdHJhbnNwYXJlbnQgcmluZy1vZmZzZXQtMiBncm91cC1kYXRhLXNlbGVjdGVkOnJpbmctaW5kaWdvLTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9UYWI+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L1RhYkxpc3Q+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgICAgICAgICAge3Byb2R1Y3QuaW1hZ2VzLm1hcCgoaW1hZ2UpID0+IChcbiAgICAgICAgICAgICAgICAgIDxUYWJQYW5lbCBrZXk9e2ltYWdlLmlkfT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9e2ltYWdlLmFsdH0gc3JjPXtpbWFnZS5zcmN9IGNsYXNzTmFtZT1cImFzcGVjdC1zcXVhcmUgdy1mdWxsIG9iamVjdC1jb3ZlciBzbTpyb3VuZGVkLWxnXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWxzPlxuICAgICAgICAgICAgPC9UYWJHcm91cD5cblxuICAgICAgICAgICAgey8qIFByb2R1Y3QgaW5mbyAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMTAgcHgtNCBzbTptdC0xNiBzbTpweC0wIGxnOm10LTBcIj5cbiAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXCI+e3Byb2R1Y3QubmFtZX08L2gxPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtM1wiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJzci1vbmx5XCI+UHJvZHVjdCBpbmZvcm1hdGlvbjwvaDI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIHsvKiBSZXZpZXdzICovfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTNcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwic3Itb25seVwiPlJldmlld3M8L2gzPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTZcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwic3Itb25seVwiPkRlc2NyaXB0aW9uPC9oMz5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogcHJvZHVjdC5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3BhY2UteS02IHRleHQtYmFzZSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICBcblxuICAgICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJkZXRhaWxzLWhlYWRpbmdcIiBjbGFzc05hbWU9XCJtdC0xMlwiPlxuICAgICAgICAgICAgICAgIDxoMiBpZD1cImRldGFpbHMtaGVhZGluZ1wiIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgIEFkZGl0aW9uYWwgZGV0YWlsc1xuICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdmlkZS15IGRpdmlkZS1ncmF5LTIwMCBib3JkZXItdCBib3JkZXItZ3JheS0yMDBcIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9kdWN0LmRldGFpbHMubWFwKChkZXRhaWwpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPERpc2Nsb3N1cmUga2V5PXtkZXRhaWwubmFtZX0gYXM9XCJkaXZcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGlzY2xvc3VyZUJ1dHRvbiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTYgdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBncm91cC1kYXRhLW9wZW46dGV4dC1pbmRpZ28tNjAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RldGFpbC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTYgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGx1c0ljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayBzaXplLTYgdGV4dC1ncmF5LTQwMCBncm91cC1ob3Zlcjp0ZXh0LWdyYXktNTAwIGdyb3VwLWRhdGEtb3BlbjpoaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1pbnVzSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlbiBzaXplLTYgdGV4dC1pbmRpZ28tNDAwIGdyb3VwLWhvdmVyOnRleHQtaW5kaWdvLTUwMCBncm91cC1kYXRhLW9wZW46YmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaXNjbG9zdXJlUGFuZWwgY2xhc3NOYW1lPVwicGItNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGlzdC1kaXNjIHNwYWNlLXktMSBwbC01IHRleHQtc20vNiB0ZXh0LWdyYXktNzAwIG1hcmtlcjp0ZXh0LWdyYXktMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RldGFpbC5pdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtfSBjbGFzc05hbWU9XCJwbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9EaXNjbG9zdXJlUGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWFpbj5cblxuXG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsInVzZVN0YXRlIiwiRGlhbG9nIiwiRGlhbG9nQmFja2Ryb3AiLCJEaWFsb2dQYW5lbCIsIkRpc2Nsb3N1cmUiLCJEaXNjbG9zdXJlQnV0dG9uIiwiRGlzY2xvc3VyZVBhbmVsIiwiUG9wb3ZlciIsIlBvcG92ZXJCdXR0b24iLCJQb3BvdmVyR3JvdXAiLCJQb3BvdmVyUGFuZWwiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsIkJhcnMzSWNvbiIsIkhlYXJ0SWNvbiIsIk1hZ25pZnlpbmdHbGFzc0ljb24iLCJNaW51c0ljb24iLCJQbHVzSWNvbiIsIlNob3BwaW5nQmFnSWNvbiIsIlVzZXJJY29uIiwiWE1hcmtJY29uIiwiU3Rhckljb24iLCJwcm9kdWN0IiwibmFtZSIsImltYWdlcyIsImlkIiwic3JjIiwiYWx0IiwiY29sb3JzIiwiY2xhc3NlcyIsImRlc2NyaXB0aW9uIiwiZGV0YWlscyIsIml0ZW1zIiwicmVsYXRlZFByb2R1Y3RzIiwiY29sb3IiLCJocmVmIiwiaW1hZ2VTcmMiLCJpbWFnZUFsdCIsInByaWNlIiwiY2xhc3NOYW1lcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiRXZlbnRzIiwib3BlbiIsInNldE9wZW4iLCJkaXYiLCJjbGFzc05hbWUiLCJtYWluIiwibWFwIiwiaW1hZ2UiLCJzcGFuIiwiaW1nIiwiYXJpYS1oaWRkZW4iLCJoMSIsImgyIiwiaDMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsInNlY3Rpb24iLCJhcmlhLWxhYmVsbGVkYnkiLCJkZXRhaWwiLCJhcyIsInVsIiwicm9sZSIsIml0ZW0iLCJsaSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Events.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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/clsx@2.1.1/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({ href, children }) {\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({ open }) {\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: ({ open })=>/*#__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            }, 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-50/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: \"/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: 71,\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: 72,\n                        columnNumber: 9\n                    }, this),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\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)(\"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: 74,\n                        columnNumber: 9\n                    }, this),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavLink, {\n                        href: \"/contact\",\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: 75,\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: \"fixed top-0 left-0 right-0 z-50 bg-black/20 backdrop-blur-sm py-4\",\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                                className: \"overflow-visible\",\n                                children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Logo__WEBPACK_IMPORTED_MODULE_5__.Logo, {\n                                    className: \"h-8 w-auto max-w-none sm:h-9 md:h-10 lg:h-11 xl:h-12\"\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Header.jsx\",\n                                    lineNumber: 88,\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: 87,\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: 91,\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: 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: \"/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: 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: \"/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: 95,\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: 90,\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: 86,\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: \"/contact\",\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: 100,\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: 99,\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: 105,\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: 104,\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: 98,\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: 85,\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: 84,\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: 83,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0hlYWRlci5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUU0QjtBQU1GO0FBQ0g7QUFFcUI7QUFDTTtBQUNWO0FBQ007QUFFOUMsU0FBU1UsY0FBYyxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUN2QyxxQkFDRSw4REFBQ1YscUlBQWFBO1FBQUNXLElBQUliLGlEQUFJQTtRQUFFVyxNQUFNQTtRQUFNRyxXQUFVO2tCQUM1Q0Y7Ozs7OztBQUdQO0tBTlNGO0FBUVQsU0FBU0ssY0FBYyxFQUFFQyxJQUFJLEVBQUU7SUFDN0IscUJBQ0UsOERBQUNDO1FBQ0NDLGVBQVk7UUFDWkosV0FBVTtRQUNWSyxNQUFLO1FBQ0xDLGFBQWE7UUFDYkMsZUFBYzs7MEJBRWQsOERBQUNDO2dCQUNDQyxHQUFFO2dCQUNGVCxXQUFXVCxnREFBSUEsQ0FDYiw0QkFDQVcsUUFBUTs7Ozs7OzBCQUdaLDhEQUFDTTtnQkFDQ0MsR0FBRTtnQkFDRlQsV0FBV1QsZ0RBQUlBLENBQ2IsNEJBQ0EsQ0FBQ1csUUFBUTs7Ozs7Ozs7Ozs7O0FBS25CO01BekJTRDtBQTJCVCxTQUFTUztJQUNQLHFCQUNFLDhEQUFDdkIsK0hBQU9BOzswQkFDTiw4REFBQ0MscUlBQWFBO2dCQUNaWSxXQUFVO2dCQUNWVyxjQUFXOzBCQUVWLENBQUMsRUFBRVQsSUFBSSxFQUFFLGlCQUFLLDhEQUFDRDt3QkFBY0MsTUFBTUE7Ozs7Ozs7Ozs7OzBCQUV0Qyw4REFBQ2IsdUlBQWVBO2dCQUNkdUIsVUFBVTtnQkFDVlosV0FBVTs7Ozs7OzBCQUVaLDhEQUFDVixvSUFBWUE7Z0JBQ1hzQixVQUFVO2dCQUNWWixXQUFVOztrQ0FFViw4REFBQ0o7d0JBQWNDLE1BQUs7a0NBQUk7Ozs7OztrQ0FDeEIsOERBQUNEO3dCQUFjQyxNQUFLO2tDQUFTOzs7Ozs7a0NBQzdCLDhEQUFDRDt3QkFBY0MsTUFBSztrQ0FBZTs7Ozs7O2tDQUNuQyw4REFBQ0Q7d0JBQWNDLE1BQUs7a0NBQWE7Ozs7OztrQ0FDakMsOERBQUNEO3dCQUFjQyxNQUFLO2tDQUFhOzs7Ozs7a0NBQ2pDLDhEQUFDZ0I7d0JBQUdiLFdBQVU7Ozs7OztrQ0FDZCw4REFBQ0o7d0JBQWNDLE1BQUs7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUl2QztNQTNCU2E7QUE2QkYsU0FBU0k7SUFDZCxxQkFDRSw4REFBQ0M7UUFBT2YsV0FBVTtrQkFDaEIsNEVBQUNQLDREQUFTQTtzQkFDUiw0RUFBQ3VCO2dCQUFJaEIsV0FBVTs7a0NBQ2IsOERBQUNpQjt3QkFBSWpCLFdBQVU7OzBDQUNiLDhEQUFDZCxpREFBSUE7Z0NBQUNXLE1BQUs7Z0NBQUljLGNBQVc7Z0NBQU9YLFdBQVU7MENBQ3pDLDRFQUFDTixrREFBSUE7b0NBQUNNLFdBQVU7Ozs7Ozs7Ozs7OzBDQUVsQiw4REFBQ2lCO2dDQUFJakIsV0FBVTs7a0RBQ2IsOERBQUNMLHdEQUFPQTt3Q0FBQ0UsTUFBSztrREFBSTs7Ozs7O2tEQUNsQiw4REFBQ0Ysd0RBQU9BO3dDQUFDRSxNQUFLO2tEQUFTOzs7Ozs7a0RBQ3ZCLDhEQUFDRix3REFBT0E7d0NBQUNFLE1BQUs7a0RBQWU7Ozs7OztrREFDN0IsOERBQUNGLHdEQUFPQTt3Q0FBQ0UsTUFBSztrREFBYTs7Ozs7O2tEQUMzQiw4REFBQ0Ysd0RBQU9BO3dDQUFDRSxNQUFLO2tEQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBRy9CLDhEQUFDb0I7d0JBQUlqQixXQUFVOzswQ0FDYiw4REFBQ1Isc0RBQU1BO2dDQUFDSyxNQUFLO2dDQUFXcUIsT0FBTTswQ0FDNUIsNEVBQUNDO29DQUFLbkIsV0FBVTs4Q0FBOEI7Ozs7Ozs7Ozs7OzBDQUloRCw4REFBQ2lCO2dDQUFJakIsV0FBVTswQ0FDYiw0RUFBQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT2Y7TUEvQmdCSSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9IZWFkZXIuanN4PzNjYjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBMaW5rIGZyb20gJ25leHQvbGluaydcbmltcG9ydCB7XG4gIFBvcG92ZXIsXG4gIFBvcG92ZXJCdXR0b24sXG4gIFBvcG92ZXJCYWNrZHJvcCxcbiAgUG9wb3ZlclBhbmVsLFxufSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCdcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXG5cbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9CdXR0b24nXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvQ29udGFpbmVyJ1xuaW1wb3J0IHsgTG9nbyB9IGZyb20gJ0AvY29tcG9uZW50cy9Mb2dvJ1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ0AvY29tcG9uZW50cy9OYXZMaW5rJ1xuXG5mdW5jdGlvbiBNb2JpbGVOYXZMaW5rKHsgaHJlZiwgY2hpbGRyZW4gfSkge1xuICByZXR1cm4gKFxuICAgIDxQb3BvdmVyQnV0dG9uIGFzPXtMaW5rfSBocmVmPXtocmVmfSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcC0yXCI+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Qb3BvdmVyQnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIE1vYmlsZU5hdkljb24oeyBvcGVuIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjUgb3ZlcmZsb3ctdmlzaWJsZSBzdHJva2Utc2xhdGUtNzAwXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgMUgxNE0wIDdIMTRNMCAxM0gxNFwiXG4gICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAnb3JpZ2luLWNlbnRlciB0cmFuc2l0aW9uJyxcbiAgICAgICAgICBvcGVuICYmICdzY2FsZS05MCBvcGFjaXR5LTAnLFxuICAgICAgICApfVxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMiAyTDEyIDEyTTEyIDJMMiAxMlwiXG4gICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAnb3JpZ2luLWNlbnRlciB0cmFuc2l0aW9uJyxcbiAgICAgICAgICAhb3BlbiAmJiAnc2NhbGUtOTAgb3BhY2l0eS0wJyxcbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIClcbn1cblxuZnVuY3Rpb24gTW9iaWxlTmF2aWdhdGlvbigpIHtcbiAgcmV0dXJuIChcbiAgICA8UG9wb3Zlcj5cbiAgICAgIDxQb3BvdmVyQnV0dG9uXG4gICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMTAgZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB1aS1ub3QtZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmVcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIE5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7KHsgb3BlbiB9KSA9PiA8TW9iaWxlTmF2SWNvbiBvcGVuPXtvcGVufSAvPn1cbiAgICAgIDwvUG9wb3ZlckJ1dHRvbj5cbiAgICAgIDxQb3BvdmVyQmFja2Ryb3BcbiAgICAgICAgdHJhbnNpdGlvblxuICAgICAgICBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIGJnLXNsYXRlLTUwLzUwIGR1cmF0aW9uLTE1MCBkYXRhLVtjbG9zZWRdOm9wYWNpdHktMCBkYXRhLVtlbnRlcl06ZWFzZS1vdXQgZGF0YS1bbGVhdmVdOmVhc2UtaW5cIlxuICAgICAgLz5cbiAgICAgIDxQb3BvdmVyUGFuZWxcbiAgICAgICAgdHJhbnNpdGlvblxuICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgdG9wLWZ1bGwgbXQtNCBmbGV4IG9yaWdpbi10b3AgZmxleC1jb2wgcm91bmRlZC1sZyBiZy13aGl0ZSBwLTQgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LXNsYXRlLTkwMCBzaGFkb3cteGwgcmluZy0xIHJpbmctc2xhdGUtOTAwLzUgZGF0YS1bY2xvc2VkXTpzY2FsZS05NSBkYXRhLVtjbG9zZWRdOm9wYWNpdHktMCBkYXRhLVtlbnRlcl06ZHVyYXRpb24tMTUwIGRhdGEtW2xlYXZlXTpkdXJhdGlvbi0xMDAgZGF0YS1bZW50ZXJdOmVhc2Utb3V0IGRhdGEtW2xlYXZlXTplYXNlLWluXCJcbiAgICAgID5cbiAgICAgICAgPE1vYmlsZU5hdkxpbmsgaHJlZj1cIi9cIj5IT01FPC9Nb2JpbGVOYXZMaW5rPlxuICAgICAgICA8TW9iaWxlTmF2TGluayBocmVmPVwiL3N0b3J5XCI+U1RPUlk8L01vYmlsZU5hdkxpbms+XG4gICAgICAgIDxNb2JpbGVOYXZMaW5rIGhyZWY9XCIvZXhwZXJpZW5jZXNcIj5FWFBFUklFTkNFUzwvTW9iaWxlTmF2TGluaz5cbiAgICAgICAgPE1vYmlsZU5hdkxpbmsgaHJlZj1cIi9kYWhhYml5YXNcIj5EQUhBQklZQVM8L01vYmlsZU5hdkxpbms+XG4gICAgICAgIDxNb2JpbGVOYXZMaW5rIGhyZWY9XCIvaXRpbmVyYXJ5XCI+SVRJTkVSQVJZPC9Nb2JpbGVOYXZMaW5rPlxuICAgICAgICA8aHIgY2xhc3NOYW1lPVwibS0yIGJvcmRlci1zbGF0ZS0zMDAvNDBcIiAvPlxuICAgICAgICA8TW9iaWxlTmF2TGluayBocmVmPVwiL2NvbnRhY3RcIj5CT09LIE5PVzwvTW9iaWxlTmF2TGluaz5cbiAgICAgIDwvUG9wb3ZlclBhbmVsPlxuICAgIDwvUG9wb3Zlcj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwiZml4ZWQgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgei01MCBiZy1ibGFjay8yMCBiYWNrZHJvcC1ibHVyLXNtIHB5LTRcIj5cbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxuYXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei01MCBmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgbWQ6Z2FwLXgtMTJcIj5cbiAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgYXJpYS1sYWJlbD1cIkhvbWVcIiBjbGFzc05hbWU9XCJvdmVyZmxvdy12aXNpYmxlXCI+XG4gICAgICAgICAgICAgIDxMb2dvIGNsYXNzTmFtZT1cImgtOCB3LWF1dG8gbWF4LXctbm9uZSBzbTpoLTkgbWQ6aC0xMCBsZzpoLTExIHhsOmgtMTJcIiAvPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6ZmxleCBtZDpnYXAteC02XCI+XG4gICAgICAgICAgICAgIDxOYXZMaW5rIGhyZWY9XCIvXCI+SE9NRTwvTmF2TGluaz5cbiAgICAgICAgICAgICAgPE5hdkxpbmsgaHJlZj1cIi9zdG9yeVwiPlNUT1JZPC9OYXZMaW5rPlxuICAgICAgICAgICAgICA8TmF2TGluayBocmVmPVwiL2V4cGVyaWVuY2VzXCI+RVhQRVJJRU5DRVM8L05hdkxpbms+XG4gICAgICAgICAgICAgIDxOYXZMaW5rIGhyZWY9XCIvZGFoYWJpeWFzXCI+REFIQUJJWUFTPC9OYXZMaW5rPlxuICAgICAgICAgICAgICA8TmF2TGluayBocmVmPVwiL2l0aW5lcmFyeVwiPklUSU5FUkFSWTwvTmF2TGluaz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtNSBtZDpnYXAteC04XCI+XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9XCIvY29udGFjdFwiIGNvbG9yPVwiYmx1ZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRyYWNraW5nLXdpZGVcIj5cbiAgICAgICAgICAgICAgICBCb29rIE5vd1xuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiLW1yLTEgbWQ6aGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxNb2JpbGVOYXZpZ2F0aW9uIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L2hlYWRlcj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJQb3BvdmVyIiwiUG9wb3ZlckJ1dHRvbiIsIlBvcG92ZXJCYWNrZHJvcCIsIlBvcG92ZXJQYW5lbCIsImNsc3giLCJCdXR0b24iLCJDb250YWluZXIiLCJMb2dvIiwiTmF2TGluayIsIk1vYmlsZU5hdkxpbmsiLCJocmVmIiwiY2hpbGRyZW4iLCJhcyIsImNsYXNzTmFtZSIsIk1vYmlsZU5hdkljb24iLCJvcGVuIiwic3ZnIiwiYXJpYS1oaWRkZW4iLCJmaWxsIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwicGF0aCIsImQiLCJNb2JpbGVOYXZpZ2F0aW9uIiwiYXJpYS1sYWJlbCIsInRyYW5zaXRpb24iLCJociIsIkhlYWRlciIsImhlYWRlciIsIm5hdiIsImRpdiIsImNvbG9yIiwic3BhbiJdLCJzb3VyY2VSb290IjoiIn0=\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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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\n\nconst SvgIcon = (props)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n        xmlns: \"http://www.w3.org/2000/svg\",\n        width: \"122\",\n        height: \"30\",\n        fill: \"none\",\n        viewBox: \"0 0 122 30\",\n        children: [\n            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"mask\", {\n                id: \"a\",\n                width: \"30\",\n                height: \"30\",\n                x: \"0\",\n                y: \"0\",\n                maskUnits: \"userSpaceOnUse\",\n                style: {\n                    maskType: \"luminance\"\n                },\n                children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                    fill: \"#fff\",\n                    d: \"M29.926 0H0v30h29.926z\"\n                }, void 0, false, {\n                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                    lineNumber: 20,\n                    columnNumber: 7\n                }, undefined)\n            }, void 0, false, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                lineNumber: 11,\n                columnNumber: 5\n            }, undefined),\n            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"g\", {\n                fill: \"#A7772E\",\n                fillOpacity: \"0.5\",\n                mask: \"url(#a)\",\n                children: [\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M14.963 15c4.132 0 7.482-3.358 7.482-7.5S19.095 0 14.963 0 7.481 3.358 7.481 7.5s3.35 7.5 7.482 7.5\"\n                    }, void 0, false, {\n                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                        lineNumber: 23,\n                        columnNumber: 7\n                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M7.482 22.5c4.132 0 7.481-3.358 7.481-7.5s-3.35-7.5-7.481-7.5S0 10.858 0 15s3.35 7.5 7.482 7.5\"\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                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M22.444 22.5c4.132 0 7.482-3.358 7.482-7.5s-3.35-7.5-7.482-7.5-7.481 3.358-7.481 7.5 3.35 7.5 7.481 7.5\"\n                    }, void 0, false, {\n                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                        lineNumber: 25,\n                        columnNumber: 7\n                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M20.253 27.803c4.132 0 7.482-3.358 7.482-7.5s-3.35-7.5-7.482-7.5-7.482 3.358-7.482 7.5 3.35 7.5 7.482 7.5\"\n                    }, void 0, false, {\n                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                        lineNumber: 26,\n                        columnNumber: 7\n                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M9.673 27.803c4.132 0 7.481-3.358 7.481-7.5s-3.35-7.5-7.481-7.5-7.482 3.358-7.482 7.5 3.35 7.5 7.482 7.5\"\n                    }, void 0, false, {\n                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                        lineNumber: 27,\n                        columnNumber: 7\n                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M14.963 30c4.132 0 7.482-3.358 7.482-7.5s-3.35-7.5-7.482-7.5-7.482 3.358-7.482 7.5 3.35 7.5 7.482 7.5\"\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                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M9.673 17.197c4.132 0 7.481-3.358 7.481-7.5s-3.35-7.5-7.481-7.5-7.482 3.358-7.482 7.5 3.35 7.5 7.482 7.5\"\n                    }, void 0, false, {\n                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                        lineNumber: 29,\n                        columnNumber: 7\n                    }, undefined),\n                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                        d: \"M20.253 17.197c4.132 0 7.482-3.358 7.482-7.5s-3.35-7.5-7.482-7.5-7.482 3.358-7.482 7.5 3.35 7.5 7.482 7.5\"\n                    }, void 0, false, {\n                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                        lineNumber: 30,\n                        columnNumber: 7\n                    }, undefined)\n                ]\n            }, void 0, true, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                lineNumber: 22,\n                columnNumber: 5\n            }, undefined),\n            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n                fill: \"#A7772E\",\n                d: \"m47.525 24-7.65-17.5H43.4l6.825 15.825H48.2L55.1 6.5h3.25L50.725 24zm18.196-10.225h8.7v2.675h-8.7zm.25 7.5h9.875V24H62.721V6.5h12.775v2.725h-9.525zM81.97 24V6.5h7.65q2.85 0 5 1.1t3.35 3.05 1.2 4.6q0 2.625-1.2 4.6-1.2 1.95-3.35 3.05t-5 1.1zm3.25-2.75h4.25q1.975 0 3.4-.75 1.45-.75 2.225-2.1.8-1.35.8-3.15 0-1.826-.8-3.15-.774-1.35-2.225-2.1-1.425-.75-3.4-.75h-4.25zM102.404 24l7.875-17.5h3.2l7.9 17.5h-3.4l-6.775-15.775h1.3L105.754 24zm3.625-4.05.875-2.55h9.45l.875 2.55z\"\n            }, void 0, false, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n                lineNumber: 32,\n                columnNumber: 5\n            }, undefined)\n        ]\n    }, void 0, true, {\n        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n        lineNumber: 4,\n        columnNumber: 3\n    }, undefined);\n_c = SvgIcon;\nfunction Logo(props) {\n    return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SvgIcon, {\n        ...props\n    }, void 0, false, {\n        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Logo.jsx\",\n        lineNumber: 40,\n        columnNumber: 10\n    }, this);\n}\n_c1 = Logo;\nvar _c, _c1;\n$RefreshReg$(_c, \"SvgIcon\");\n$RefreshReg$(_c1, \"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0xvZ28uanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQStCO0FBRS9CLE1BQU1DLFVBQVUsQ0FBQ0Msc0JBQ2YsOERBQUNDO1FBQ0NDLE9BQU07UUFDTkMsT0FBTTtRQUNOQyxRQUFPO1FBQ1BDLE1BQUs7UUFDTEMsU0FBUTs7MEJBRVIsOERBQUNDO2dCQUNDQyxJQUFHO2dCQUNITCxPQUFNO2dCQUNOQyxRQUFPO2dCQUNQSyxHQUFFO2dCQUNGQyxHQUFFO2dCQUNGQyxXQUFVO2dCQUNWQyxPQUFPO29CQUFFQyxVQUFVO2dCQUFZOzBCQUUvQiw0RUFBQ0M7b0JBQUtULE1BQUs7b0JBQU9VLEdBQUU7Ozs7Ozs7Ozs7OzBCQUV0Qiw4REFBQ0M7Z0JBQUVYLE1BQUs7Z0JBQVVZLGFBQVk7Z0JBQU1WLE1BQUs7O2tDQUN2Qyw4REFBQ087d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7OztrQ0FDUiw4REFBQ0Q7d0JBQUtDLEdBQUU7Ozs7Ozs7Ozs7OzswQkFFViw4REFBQ0Q7Z0JBQ0NULE1BQUs7Z0JBQ0xVLEdBQUU7Ozs7Ozs7Ozs7OztLQS9CRmhCO0FBb0NDLFNBQVNtQixLQUFLbEIsS0FBSztJQUN4QixxQkFBTyw4REFBQ0Q7UUFBUyxHQUFHQyxLQUFLOzs7Ozs7QUFDM0I7TUFGZ0JrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Mb2dvLmpzeD8yMDQxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBTdmdJY29uID0gKHByb3BzKSA9PiAoXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjEyMlwiXG4gICAgaGVpZ2h0PVwiMzBcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICB2aWV3Qm94PVwiMCAwIDEyMiAzMFwiXG4gID5cbiAgICA8bWFza1xuICAgICAgaWQ9XCJhXCJcbiAgICAgIHdpZHRoPVwiMzBcIlxuICAgICAgaGVpZ2h0PVwiMzBcIlxuICAgICAgeD1cIjBcIlxuICAgICAgeT1cIjBcIlxuICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgc3R5bGU9e3sgbWFza1R5cGU6IFwibHVtaW5hbmNlXCIgfX1cbiAgICA+XG4gICAgICA8cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMjkuOTI2IDBIMHYzMGgyOS45MjZ6XCI+PC9wYXRoPlxuICAgIDwvbWFzaz5cbiAgICA8ZyBmaWxsPVwiI0E3NzcyRVwiIGZpbGxPcGFjaXR5PVwiMC41XCIgbWFzaz1cInVybCgjYSlcIj5cbiAgICAgIDxwYXRoIGQ9XCJNMTQuOTYzIDE1YzQuMTMyIDAgNy40ODItMy4zNTggNy40ODItNy41UzE5LjA5NSAwIDE0Ljk2MyAwIDcuNDgxIDMuMzU4IDcuNDgxIDcuNXMzLjM1IDcuNSA3LjQ4MiA3LjVcIj48L3BhdGg+XG4gICAgICA8cGF0aCBkPVwiTTcuNDgyIDIyLjVjNC4xMzIgMCA3LjQ4MS0zLjM1OCA3LjQ4MS03LjVzLTMuMzUtNy41LTcuNDgxLTcuNVMwIDEwLjg1OCAwIDE1czMuMzUgNy41IDcuNDgyIDcuNVwiPjwvcGF0aD5cbiAgICAgIDxwYXRoIGQ9XCJNMjIuNDQ0IDIyLjVjNC4xMzIgMCA3LjQ4Mi0zLjM1OCA3LjQ4Mi03LjVzLTMuMzUtNy41LTcuNDgyLTcuNS03LjQ4MSAzLjM1OC03LjQ4MSA3LjUgMy4zNSA3LjUgNy40ODEgNy41XCI+PC9wYXRoPlxuICAgICAgPHBhdGggZD1cIk0yMC4yNTMgMjcuODAzYzQuMTMyIDAgNy40ODItMy4zNTggNy40ODItNy41cy0zLjM1LTcuNS03LjQ4Mi03LjUtNy40ODIgMy4zNTgtNy40ODIgNy41IDMuMzUgNy41IDcuNDgyIDcuNVwiPjwvcGF0aD5cbiAgICAgIDxwYXRoIGQ9XCJNOS42NzMgMjcuODAzYzQuMTMyIDAgNy40ODEtMy4zNTggNy40ODEtNy41cy0zLjM1LTcuNS03LjQ4MS03LjUtNy40ODIgMy4zNTgtNy40ODIgNy41IDMuMzUgNy41IDcuNDgyIDcuNVwiPjwvcGF0aD5cbiAgICAgIDxwYXRoIGQ9XCJNMTQuOTYzIDMwYzQuMTMyIDAgNy40ODItMy4zNTggNy40ODItNy41cy0zLjM1LTcuNS03LjQ4Mi03LjUtNy40ODIgMy4zNTgtNy40ODIgNy41IDMuMzUgNy41IDcuNDgyIDcuNVwiPjwvcGF0aD5cbiAgICAgIDxwYXRoIGQ9XCJNOS42NzMgMTcuMTk3YzQuMTMyIDAgNy40ODEtMy4zNTggNy40ODEtNy41cy0zLjM1LTcuNS03LjQ4MS03LjUtNy40ODIgMy4zNTgtNy40ODIgNy41IDMuMzUgNy41IDcuNDgyIDcuNVwiPjwvcGF0aD5cbiAgICAgIDxwYXRoIGQ9XCJNMjAuMjUzIDE3LjE5N2M0LjEzMiAwIDcuNDgyLTMuMzU4IDcuNDgyLTcuNXMtMy4zNS03LjUtNy40ODItNy41LTcuNDgyIDMuMzU4LTcuNDgyIDcuNSAzLjM1IDcuNSA3LjQ4MiA3LjVcIj48L3BhdGg+XG4gICAgPC9nPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiI0E3NzcyRVwiXG4gICAgICBkPVwibTQ3LjUyNSAyNC03LjY1LTE3LjVINDMuNGw2LjgyNSAxNS44MjVINDguMkw1NS4xIDYuNWgzLjI1TDUwLjcyNSAyNHptMTguMTk2LTEwLjIyNWg4Ljd2Mi42NzVoLTguN3ptLjI1IDcuNWg5Ljg3NVYyNEg2Mi43MjFWNi41aDEyLjc3NXYyLjcyNWgtOS41MjV6TTgxLjk3IDI0VjYuNWg3LjY1cTIuODUgMCA1IDEuMXQzLjM1IDMuMDUgMS4yIDQuNnEwIDIuNjI1LTEuMiA0LjYtMS4yIDEuOTUtMy4zNSAzLjA1dC01IDEuMXptMy4yNS0yLjc1aDQuMjVxMS45NzUgMCAzLjQtLjc1IDEuNDUtLjc1IDIuMjI1LTIuMS44LTEuMzUuOC0zLjE1IDAtMS44MjYtLjgtMy4xNS0uNzc0LTEuMzUtMi4yMjUtMi4xLTEuNDI1LS43NS0zLjQtLjc1aC00LjI1ek0xMDIuNDA0IDI0bDcuODc1LTE3LjVoMy4ybDcuOSAxNy41aC0zLjRsLTYuNzc1LTE1Ljc3NWgxLjNMMTA1Ljc1NCAyNHptMy42MjUtNC4wNS44NzUtMi41NWg5LjQ1bC44NzUgMi41NXpcIlxuICAgID48L3BhdGg+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIExvZ28ocHJvcHMpIHtcbiAgcmV0dXJuIDxTdmdJY29uIHsuLi5wcm9wc30gLz47XG59ICJdLCJuYW1lcyI6WyJSZWFjdCIsIlN2Z0ljb24iLCJwcm9wcyIsInN2ZyIsInhtbG5zIiwid2lkdGgiLCJoZWlnaHQiLCJmaWxsIiwidmlld0JveCIsIm1hc2siLCJpZCIsIngiLCJ5IiwibWFza1VuaXRzIiwic3R5bGUiLCJtYXNrVHlwZSIsInBhdGgiLCJkIiwiZyIsImZpbGxPcGFjaXR5IiwiTG9nbyJdLCJzb3VyY2VSb290IjoiIn0=\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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/api/link.js\");\n\n\nfunction NavLink({ href, children }) {\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-white 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL05hdkxpbmsuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBNEI7QUFFckIsU0FBU0MsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUN4QyxxQkFDRSw4REFBQ0gsaURBQUlBO1FBQ0hFLE1BQU1BO1FBQ05FLFdBQVU7a0JBRVREOzs7Ozs7QUFHUDtLQVRnQkYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvTmF2TGluay5qc3g/NWUwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5cbmV4cG9ydCBmdW5jdGlvbiBOYXZMaW5rKHsgaHJlZiwgY2hpbGRyZW4gfSkge1xuICByZXR1cm4gKFxuICAgIDxMaW5rXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWJsb2NrIHJvdW5kZWQtbGcgcHgtMiBweS0xIHRleHQtc20gdGV4dC13aGl0ZSBob3ZlcjpiZy1nb2xkLTYwMCBob3Zlcjp0ZXh0LXNsYXRlLTkwMFwiXG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvTGluaz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJOYXZMaW5rIiwiaHJlZiIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/NavLink.jsx\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./src/components/Nomads.jsx":
 | 
						||
/*!***********************************!*\
 | 
						||
  !*** ./src/components/Nomads.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 */   Nomads: function() { return /* binding */ Nomads; }\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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\");\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Nomads auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nconst product = {\n    name: \"Digital Nomads Hub\",\n    images: [\n        {\n            id: 1,\n            name: \"Digital Nomad Space 1\",\n            src: \"/images/nomads1.jpg\",\n            alt: \"Digital nomad workspace with Nile views\"\n        },\n        {\n            id: 2,\n            name: \"Digital Nomad Space 2\",\n            src: \"/images/nomads2.jpg\",\n            alt: \"Co-working area on dahabiya\"\n        },\n        {\n            id: 3,\n            name: \"Digital Nomad Space 3\",\n            src: \"/images/nomads3.jpg\",\n            alt: \"Remote work setup with river backdrop\"\n        },\n        {\n            id: 4,\n            name: \"Digital Nomad Space 4\",\n            src: \"/images/nomads4.jpg\",\n            alt: \"Inspiring workspace for digital nomads\"\n        }\n    ],\n    colors: [\n        {\n            id: \"washed-black\",\n            name: \"Washed Black\",\n            classes: \"bg-gray-700 checked:outline-gray-700\"\n        },\n        {\n            id: \"white\",\n            name: \"White\",\n            classes: \"bg-white checked:outline-gray-400\"\n        },\n        {\n            id: \"washed-gray\",\n            name: \"Washed Gray\",\n            classes: \"bg-gray-500 checked:outline-gray-500\"\n        }\n    ],\n    description: `\n    <p>A haven for remote workers seeking inspiration, focus, and balance. Our spaces combine reliable connectivity, comfortable work areas, and serene surroundings — creating the perfect environment to blend productivity with rejuvenation.</p>\n  `,\n    details: [\n        {\n            name: \"Unique Features\",\n            items: [\n                \"Dedicated co-working areas onboard and ashore, equipped with reliable high-speed internet and comfortable workstations.\",\n                \"Flexible daily schedules that allow guests to balance focused work sessions with leisure, cultural exploration, and wellness activities.\",\n                \"Access to wellness amenities such as yoga, meditation, and massage, ensuring physical and mental well-being while working remotely.\",\n                \"Opportunities to network and collaborate with other professionals, fostering creativity and idea exchange in an inspiring setting.\"\n            ]\n        },\n        {\n            name: \"Benefits\",\n            items: [\n                \"The serene backdrop of the Nile enhances focus, productivity, and creative thinking.\",\n                \"A harmonious lifestyle that blends professional output with personal rejuvenation and cultural immersion.\",\n                \"Connections with like-minded nomads from around the world, building both professional and personal networks.\",\n                \"The freedom to work from anywhere while enjoying the comfort, beauty, and inspiration of an extraordinary travel experience.\"\n            ]\n        }\n    ]\n};\nfunction classNames(...classes) {\n    return classes.filter(Boolean).join(\" \");\n}\nfunction Nomads() {\n    _s();\n    const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n    return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n        className: \"pb-24\",\n        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n            className: \"mx-auto max-w-7xl sm:px-6 sm:pt-16 lg:px-8\",\n            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                className: \"mx-auto max-w-2xl lg:max-w-none\",\n                children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                    className: \"lg:grid lg:grid-cols-2 lg:items-start lg:gap-x-8\",\n                    children: [\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                            className: \"mt-10 px-4 sm:mt-16 sm:px-0 lg:mt-0\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n                                    className: \"text-3xl font-bold tracking-tight text-gray-900\",\n                                    children: product.name\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 107,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                        className: \"sr-only\",\n                                        children: \"Product information\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                        lineNumber: 110,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 109,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                        className: \"sr-only\",\n                                        children: \"Reviews\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                        lineNumber: 115,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 114,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-6\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                            className: \"sr-only\",\n                                            children: \"Description\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                            lineNumber: 119,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            dangerouslySetInnerHTML: {\n                                                __html: product.description\n                                            },\n                                            className: \"space-y-6 text-base text-gray-700\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                            lineNumber: 121,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 118,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n                                    \"aria-labelledby\": \"details-heading\",\n                                    className: \"mt-12\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                            id: \"details-heading\",\n                                            className: \"sr-only\",\n                                            children: \"Additional details\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                            lineNumber: 128,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            className: \"divide-y divide-gray-200 border-t border-gray-200\",\n                                            children: product.details.map((detail)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.Disclosure, {\n                                                    as: \"div\",\n                                                    children: [\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.DisclosureButton, {\n                                                                className: \"group relative flex w-full items-center justify-between py-6 text-left\",\n                                                                children: [\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"text-sm font-medium text-gray-900 group-data-open:text-indigo-600\",\n                                                                        children: detail.name\n                                                                    }, void 0, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                        lineNumber: 137,\n                                                                        columnNumber: 27\n                                                                    }, this),\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"ml-6 flex items-center\",\n                                                                        children: [\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"block size-6 text-gray-400 group-hover:text-gray-500 group-data-open:hidden\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                                lineNumber: 141,\n                                                                                columnNumber: 29\n                                                                            }, this),\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"hidden size-6 text-indigo-400 group-hover:text-indigo-500 group-data-open:block\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                                lineNumber: 145,\n                                                                                columnNumber: 29\n                                                                            }, this)\n                                                                        ]\n                                                                    }, void 0, true, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                        lineNumber: 140,\n                                                                        columnNumber: 27\n                                                                    }, this)\n                                                                ]\n                                                            }, void 0, true, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                lineNumber: 136,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                            lineNumber: 135,\n                                                            columnNumber: 23\n                                                        }, this),\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.DisclosurePanel, {\n                                                            className: \"pb-6\",\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n                                                                role: \"list\",\n                                                                className: \"list-disc space-y-1 pl-5 text-sm/6 text-gray-700 marker:text-gray-300\",\n                                                                children: detail.items.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n                                                                        className: \"pl-2\",\n                                                                        children: item\n                                                                    }, item, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                        lineNumber: 158,\n                                                                        columnNumber: 29\n                                                                    }, this))\n                                                            }, void 0, false, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                                lineNumber: 153,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                            lineNumber: 152,\n                                                            columnNumber: 23\n                                                        }, this)\n                                                    ]\n                                                }, detail.name, true, {\n                                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                    lineNumber: 134,\n                                                    columnNumber: 21\n                                                }, this))\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                            lineNumber: 132,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 127,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                            lineNumber: 106,\n                            columnNumber: 13\n                        }, this),\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n                            className: \"flex flex-col-reverse\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mx-auto mt-6 hidden w-full max-w-2xl sm:block lg:max-w-none\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n                                        className: \"grid grid-cols-4 gap-6\",\n                                        children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n                                                className: \"group relative flex h-24 cursor-pointer items-center justify-center rounded-md bg-white text-sm font-medium text-gray-900 uppercase hover:bg-gray-50 focus:ring-3 focus:ring-indigo-500/50 focus:ring-offset-4 focus:outline-hidden\",\n                                                children: [\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"sr-only\",\n                                                        children: image.name\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                        lineNumber: 180,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"absolute inset-0 overflow-hidden rounded-md\",\n                                                        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                            alt: \"\",\n                                                            src: image.src,\n                                                            className: \"size-full object-cover\"\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                            lineNumber: 182,\n                                                            columnNumber: 25\n                                                        }, this)\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                        lineNumber: 181,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        \"aria-hidden\": \"true\",\n                                                        className: \"pointer-events-none absolute inset-0 rounded-md ring-2 ring-transparent ring-offset-2 group-data-selected:ring-indigo-500\"\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                        lineNumber: 184,\n                                                        columnNumber: 23\n                                                    }, this)\n                                                ]\n                                            }, image.id, true, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                lineNumber: 176,\n                                                columnNumber: 21\n                                            }, this))\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                        lineNumber: 174,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 173,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n                                    children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                alt: image.alt,\n                                                src: image.src,\n                                                className: \"aspect-square w-full object-cover sm:rounded-lg\"\n                                            }, void 0, false, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                                lineNumber: 196,\n                                                columnNumber: 21\n                                            }, this)\n                                        }, image.id, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                            lineNumber: 195,\n                                            columnNumber: 19\n                                        }, this))\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                                    lineNumber: 193,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                            lineNumber: 171,\n                            columnNumber: 13\n                        }, this)\n                    ]\n                }, void 0, true, {\n                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                    lineNumber: 104,\n                    columnNumber: 11\n                }, this)\n            }, void 0, false, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n                lineNumber: 102,\n                columnNumber: 9\n            }, this)\n        }, void 0, false, {\n            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n            lineNumber: 101,\n            columnNumber: 7\n        }, this)\n    }, void 0, false, {\n        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Nomads.jsx\",\n        lineNumber: 100,\n        columnNumber: 5\n    }, this);\n}\n_s(Nomads, \"xG1TONbKtDWtdOTrXaTAsNhPg/Q=\");\n_c = Nomads;\nvar _c;\n$RefreshReg$(_c, \"Nomads\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL05vbWFkcy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUUwQztBQWlCaEI7QUFVVTtBQUNnQjtBQUdwRCxNQUFNMEIsVUFBVTtJQUNkQyxNQUFNO0lBQ05DLFFBQVE7UUFDTjtZQUNFQyxJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7UUFDQTtZQUNFRixJQUFJO1lBQ0pGLE1BQU07WUFDTkcsS0FBSztZQUNMQyxLQUFLO1FBQ1A7S0FDRDtJQUNEQyxRQUFRO1FBQ047WUFBRUgsSUFBSTtZQUFnQkYsTUFBTTtZQUFnQk0sU0FBUztRQUF1QztRQUM1RjtZQUFFSixJQUFJO1lBQVNGLE1BQU07WUFBU00sU0FBUztRQUFvQztRQUMzRTtZQUFFSixJQUFJO1lBQWVGLE1BQU07WUFBZU0sU0FBUztRQUF1QztLQUMzRjtJQUNEQyxhQUFhLENBQUM7O0VBRWQsQ0FBQztJQUNEQyxTQUFTO1FBQ1A7WUFDRVIsTUFBTTtZQUNOUyxPQUFPO2dCQUNMO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VULE1BQU07WUFDTlMsT0FBTztnQkFDTDtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7S0FDRDtBQUNIO0FBRUEsU0FBU0MsV0FBVyxHQUFHSixPQUFPO0lBQzVCLE9BQU9BLFFBQVFLLE1BQU0sQ0FBQ0MsU0FBU0MsSUFBSSxDQUFDO0FBQ3RDO0FBRU8sU0FBU0M7O0lBQ2QsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUcxQywrQ0FBUUEsQ0FBQztJQUVqQyxxQkFDRSw4REFBQzJDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNDO1lBQUtELFdBQVU7c0JBQ2QsNEVBQUNEO2dCQUFJQyxXQUFVOzBCQUViLDRFQUFDRDtvQkFBSUMsV0FBVTs7c0NBRWIsOERBQUNEOzRCQUFJQyxXQUFVOzs4Q0FDYiw4REFBQ0U7b0NBQUdGLFdBQVU7OENBQW1EbkIsUUFBUUMsSUFBSTs7Ozs7OzhDQUU3RSw4REFBQ2lCO29DQUFJQyxXQUFVOzhDQUNiLDRFQUFDRzt3Q0FBR0gsV0FBVTtrREFBVTs7Ozs7Ozs7Ozs7OENBSTFCLDhEQUFDRDtvQ0FBSUMsV0FBVTs4Q0FDYiw0RUFBQ0k7d0NBQUdKLFdBQVU7a0RBQVU7Ozs7Ozs7Ozs7OzhDQUcxQiw4REFBQ0Q7b0NBQUlDLFdBQVU7O3NEQUNiLDhEQUFDSTs0Q0FBR0osV0FBVTtzREFBVTs7Ozs7O3NEQUV4Qiw4REFBQ0Q7NENBQ0NNLHlCQUF5QjtnREFBRUMsUUFBUXpCLFFBQVFRLFdBQVc7NENBQUM7NENBQ3ZEVyxXQUFVOzs7Ozs7Ozs7Ozs7OENBSWQsOERBQUNPO29DQUFRQyxtQkFBZ0I7b0NBQWtCUixXQUFVOztzREFDbkQsOERBQUNHOzRDQUFHbkIsSUFBRzs0Q0FBa0JnQixXQUFVO3NEQUFVOzs7Ozs7c0RBSTdDLDhEQUFDRDs0Q0FBSUMsV0FBVTtzREFDWm5CLFFBQVFTLE9BQU8sQ0FBQ21CLEdBQUcsQ0FBQyxDQUFDQyx1QkFDcEIsOERBQUNsRCxxUEFBVUE7b0RBQW1CbUQsSUFBRzs7c0VBQy9CLDhEQUFDUDtzRUFDQyw0RUFBQzNDLDJQQUFnQkE7Z0VBQUN1QyxXQUFVOztrRkFDMUIsOERBQUNZO3dFQUFLWixXQUFVO2tGQUNiVSxPQUFPNUIsSUFBSTs7Ozs7O2tGQUVkLDhEQUFDOEI7d0VBQUtaLFdBQVU7OzBGQUNkLDhEQUFDeEIsdUxBQVFBO2dGQUNQcUMsZUFBWTtnRkFDWmIsV0FBVTs7Ozs7OzBGQUVaLDhEQUFDekIsdUxBQVNBO2dGQUNSc0MsZUFBWTtnRkFDWmIsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0VBS2xCLDhEQUFDdEMsMFBBQWVBOzREQUFDc0MsV0FBVTtzRUFDekIsNEVBQUNjO2dFQUNDQyxNQUFLO2dFQUNMZixXQUFVOzBFQUVUVSxPQUFPbkIsS0FBSyxDQUFDa0IsR0FBRyxDQUFDLENBQUNPLHFCQUNqQiw4REFBQ0M7d0VBQWNqQixXQUFVO2tGQUN0QmdCO3VFQURNQTs7Ozs7Ozs7Ozs7Ozs7OzttREF4QkFOLE9BQU81QixJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQXFDcEMsOERBQUNkLG1QQUFRQTs0QkFBQ2dDLFdBQVU7OzhDQUVsQiw4REFBQ0Q7b0NBQUlDLFdBQVU7OENBQ2IsNEVBQUMvQixrUEFBT0E7d0NBQUMrQixXQUFVO2tEQUNoQm5CLFFBQVFFLE1BQU0sQ0FBQzBCLEdBQUcsQ0FBQyxDQUFDUyxzQkFDbkIsOERBQUNuRCw4T0FBR0E7Z0RBRUZpQyxXQUFVOztrRUFFViw4REFBQ1k7d0RBQUtaLFdBQVU7a0VBQVdrQixNQUFNcEMsSUFBSTs7Ozs7O2tFQUNyQyw4REFBQzhCO3dEQUFLWixXQUFVO2tFQUNkLDRFQUFDbUI7NERBQUlqQyxLQUFJOzREQUFHRCxLQUFLaUMsTUFBTWpDLEdBQUc7NERBQUVlLFdBQVU7Ozs7Ozs7Ozs7O2tFQUV4Qyw4REFBQ1k7d0RBQ0NDLGVBQVk7d0RBQ1piLFdBQVU7Ozs7Ozs7K0NBVFBrQixNQUFNbEMsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OzhDQWdCckIsOERBQUNiLG9QQUFTQTs4Q0FDUFUsUUFBUUUsTUFBTSxDQUFDMEIsR0FBRyxDQUFDLENBQUNTLHNCQUNuQiw4REFBQ2hELG1QQUFRQTtzREFDUCw0RUFBQ2lEO2dEQUFJakMsS0FBS2dDLE1BQU1oQyxHQUFHO2dEQUFFRCxLQUFLaUMsTUFBTWpDLEdBQUc7Z0RBQUVlLFdBQVU7Ozs7OzsyQ0FEbENrQixNQUFNbEMsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVd6QztHQTlHZ0JZO0tBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL05vbWFkcy5qc3g/N2UxZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgRnJhZ21lbnQsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBEaWFsb2csXG4gIERpYWxvZ0JhY2tkcm9wLFxuICBEaWFsb2dQYW5lbCxcbiAgRGlzY2xvc3VyZSxcbiAgRGlzY2xvc3VyZUJ1dHRvbixcbiAgRGlzY2xvc3VyZVBhbmVsLFxuICBQb3BvdmVyLFxuICBQb3BvdmVyQnV0dG9uLFxuICBQb3BvdmVyR3JvdXAsXG4gIFBvcG92ZXJQYW5lbCxcbiAgVGFiLFxuICBUYWJHcm91cCxcbiAgVGFiTGlzdCxcbiAgVGFiUGFuZWwsXG4gIFRhYlBhbmVscyxcbn0gZnJvbSAnQGhlYWRsZXNzdWkvcmVhY3QnXG5pbXBvcnQge1xuICBCYXJzM0ljb24sXG4gIEhlYXJ0SWNvbixcbiAgTWFnbmlmeWluZ0dsYXNzSWNvbixcbiAgTWludXNJY29uLFxuICBQbHVzSWNvbixcbiAgU2hvcHBpbmdCYWdJY29uLFxuICBVc2VySWNvbixcbiAgWE1hcmtJY29uLFxufSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUnXG5pbXBvcnQgeyBTdGFySWNvbiB9IGZyb20gJ0BoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQnXG5cblxuY29uc3QgcHJvZHVjdCA9IHtcbiAgbmFtZTogJ0RpZ2l0YWwgTm9tYWRzIEh1YicsXG4gIGltYWdlczogW1xuICAgIHtcbiAgICAgIGlkOiAxLFxuICAgICAgbmFtZTogJ0RpZ2l0YWwgTm9tYWQgU3BhY2UgMScsXG4gICAgICBzcmM6ICcvaW1hZ2VzL25vbWFkczEuanBnJyxcbiAgICAgIGFsdDogJ0RpZ2l0YWwgbm9tYWQgd29ya3NwYWNlIHdpdGggTmlsZSB2aWV3cycsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6ICdEaWdpdGFsIE5vbWFkIFNwYWNlIDInLCBcbiAgICAgIHNyYzogJy9pbWFnZXMvbm9tYWRzMi5qcGcnLFxuICAgICAgYWx0OiAnQ28td29ya2luZyBhcmVhIG9uIGRhaGFiaXlhJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAzLFxuICAgICAgbmFtZTogJ0RpZ2l0YWwgTm9tYWQgU3BhY2UgMycsXG4gICAgICBzcmM6ICcvaW1hZ2VzL25vbWFkczMuanBnJyxcbiAgICAgIGFsdDogJ1JlbW90ZSB3b3JrIHNldHVwIHdpdGggcml2ZXIgYmFja2Ryb3AnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDQsXG4gICAgICBuYW1lOiAnRGlnaXRhbCBOb21hZCBTcGFjZSA0JyxcbiAgICAgIHNyYzogJy9pbWFnZXMvbm9tYWRzNC5qcGcnLFxuICAgICAgYWx0OiAnSW5zcGlyaW5nIHdvcmtzcGFjZSBmb3IgZGlnaXRhbCBub21hZHMnLFxuICAgIH0sXG4gIF0sXG4gIGNvbG9yczogW1xuICAgIHsgaWQ6ICd3YXNoZWQtYmxhY2snLCBuYW1lOiAnV2FzaGVkIEJsYWNrJywgY2xhc3NlczogJ2JnLWdyYXktNzAwIGNoZWNrZWQ6b3V0bGluZS1ncmF5LTcwMCcgfSxcbiAgICB7IGlkOiAnd2hpdGUnLCBuYW1lOiAnV2hpdGUnLCBjbGFzc2VzOiAnYmctd2hpdGUgY2hlY2tlZDpvdXRsaW5lLWdyYXktNDAwJyB9LFxuICAgIHsgaWQ6ICd3YXNoZWQtZ3JheScsIG5hbWU6ICdXYXNoZWQgR3JheScsIGNsYXNzZXM6ICdiZy1ncmF5LTUwMCBjaGVja2VkOm91dGxpbmUtZ3JheS01MDAnIH0sXG4gIF0sXG4gIGRlc2NyaXB0aW9uOiBgXG4gICAgPHA+QSBoYXZlbiBmb3IgcmVtb3RlIHdvcmtlcnMgc2Vla2luZyBpbnNwaXJhdGlvbiwgZm9jdXMsIGFuZCBiYWxhbmNlLiBPdXIgc3BhY2VzIGNvbWJpbmUgcmVsaWFibGUgY29ubmVjdGl2aXR5LCBjb21mb3J0YWJsZSB3b3JrIGFyZWFzLCBhbmQgc2VyZW5lIHN1cnJvdW5kaW5ncyDigJQgY3JlYXRpbmcgdGhlIHBlcmZlY3QgZW52aXJvbm1lbnQgdG8gYmxlbmQgcHJvZHVjdGl2aXR5IHdpdGggcmVqdXZlbmF0aW9uLjwvcD5cbiAgYCxcbiAgZGV0YWlsczogW1xuICAgIHtcbiAgICAgIG5hbWU6ICdVbmlxdWUgRmVhdHVyZXMnLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAgJ0RlZGljYXRlZCBjby13b3JraW5nIGFyZWFzIG9uYm9hcmQgYW5kIGFzaG9yZSwgZXF1aXBwZWQgd2l0aCByZWxpYWJsZSBoaWdoLXNwZWVkIGludGVybmV0IGFuZCBjb21mb3J0YWJsZSB3b3Jrc3RhdGlvbnMuJyxcbiAgICAgICAgJ0ZsZXhpYmxlIGRhaWx5IHNjaGVkdWxlcyB0aGF0IGFsbG93IGd1ZXN0cyB0byBiYWxhbmNlIGZvY3VzZWQgd29yayBzZXNzaW9ucyB3aXRoIGxlaXN1cmUsIGN1bHR1cmFsIGV4cGxvcmF0aW9uLCBhbmQgd2VsbG5lc3MgYWN0aXZpdGllcy4nLFxuICAgICAgICAnQWNjZXNzIHRvIHdlbGxuZXNzIGFtZW5pdGllcyBzdWNoIGFzIHlvZ2EsIG1lZGl0YXRpb24sIGFuZCBtYXNzYWdlLCBlbnN1cmluZyBwaHlzaWNhbCBhbmQgbWVudGFsIHdlbGwtYmVpbmcgd2hpbGUgd29ya2luZyByZW1vdGVseS4nLFxuICAgICAgICAnT3Bwb3J0dW5pdGllcyB0byBuZXR3b3JrIGFuZCBjb2xsYWJvcmF0ZSB3aXRoIG90aGVyIHByb2Zlc3Npb25hbHMsIGZvc3RlcmluZyBjcmVhdGl2aXR5IGFuZCBpZGVhIGV4Y2hhbmdlIGluIGFuIGluc3BpcmluZyBzZXR0aW5nLicsXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0JlbmVmaXRzJyxcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgICdUaGUgc2VyZW5lIGJhY2tkcm9wIG9mIHRoZSBOaWxlIGVuaGFuY2VzIGZvY3VzLCBwcm9kdWN0aXZpdHksIGFuZCBjcmVhdGl2ZSB0aGlua2luZy4nLFxuICAgICAgICAnQSBoYXJtb25pb3VzIGxpZmVzdHlsZSB0aGF0IGJsZW5kcyBwcm9mZXNzaW9uYWwgb3V0cHV0IHdpdGggcGVyc29uYWwgcmVqdXZlbmF0aW9uIGFuZCBjdWx0dXJhbCBpbW1lcnNpb24uJyxcbiAgICAgICAgJ0Nvbm5lY3Rpb25zIHdpdGggbGlrZS1taW5kZWQgbm9tYWRzIGZyb20gYXJvdW5kIHRoZSB3b3JsZCwgYnVpbGRpbmcgYm90aCBwcm9mZXNzaW9uYWwgYW5kIHBlcnNvbmFsIG5ldHdvcmtzLicsXG4gICAgICAgICdUaGUgZnJlZWRvbSB0byB3b3JrIGZyb20gYW55d2hlcmUgd2hpbGUgZW5qb3lpbmcgdGhlIGNvbWZvcnQsIGJlYXV0eSwgYW5kIGluc3BpcmF0aW9uIG9mIGFuIGV4dHJhb3JkaW5hcnkgdHJhdmVsIGV4cGVyaWVuY2UuJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn1cblxuZnVuY3Rpb24gY2xhc3NOYW1lcyguLi5jbGFzc2VzKSB7XG4gIHJldHVybiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE5vbWFkcygpIHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBiLTI0XCI+XG4gICAgICA8bWFpbiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTd4bCBzbTpweC02IHNtOnB0LTE2IGxnOnB4LThcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTJ4bCBsZzptYXgtdy1ub25lXCI+XG4gICAgICAgICAgey8qIFByb2R1Y3QgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpncmlkIGxnOmdyaWQtY29scy0yIGxnOml0ZW1zLXN0YXJ0IGxnOmdhcC14LThcIj5cbiAgICAgICAgICAgIHsvKiBQcm9kdWN0IGluZm8gKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIHB4LTQgc206bXQtMTYgc206cHgtMCBsZzptdC0wXCI+XG4gICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFwiPntwcm9kdWN0Lm5hbWV9PC9oMT5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTNcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwic3Itb25seVwiPlByb2R1Y3QgaW5mb3JtYXRpb248L2gyPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICB7LyogUmV2aWV3cyAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0zXCI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5SZXZpZXdzPC9oMz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02XCI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5EZXNjcmlwdGlvbjwvaDM+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHByb2R1Y3QuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNwYWNlLXktNiB0ZXh0LWJhc2UgdGV4dC1ncmF5LTcwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZGV0YWlscy1oZWFkaW5nXCIgY2xhc3NOYW1lPVwibXQtMTJcIj5cbiAgICAgICAgICAgICAgICA8aDIgaWQ9XCJkZXRhaWxzLWhlYWRpbmdcIiBjbGFzc05hbWU9XCJzci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsIGRldGFpbHNcbiAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkaXZpZGUteSBkaXZpZGUtZ3JheS0yMDAgYm9yZGVyLXQgYm9yZGVyLWdyYXktMjAwXCI+XG4gICAgICAgICAgICAgICAgICB7cHJvZHVjdC5kZXRhaWxzLm1hcCgoZGV0YWlsKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxEaXNjbG9zdXJlIGtleT17ZGV0YWlsLm5hbWV9IGFzPVwiZGl2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGgzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPERpc2Nsb3N1cmVCdXR0b24gY2xhc3NOYW1lPVwiZ3JvdXAgcmVsYXRpdmUgZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS02IHRleHQtbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZ3JvdXAtZGF0YS1vcGVuOnRleHQtaW5kaWdvLTYwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkZXRhaWwubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC02IGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXNJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmxvY2sgc2l6ZS02IHRleHQtZ3JheS00MDAgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTUwMCBncm91cC1kYXRhLW9wZW46aGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNaW51c0ljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoaWRkZW4gc2l6ZS02IHRleHQtaW5kaWdvLTQwMCBncm91cC1ob3Zlcjp0ZXh0LWluZGlnby01MDAgZ3JvdXAtZGF0YS1vcGVuOmJsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0Rpc2Nsb3N1cmVCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICA8RGlzY2xvc3VyZVBhbmVsIGNsYXNzTmFtZT1cInBiLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxpc3QtZGlzYyBzcGFjZS15LTEgcGwtNSB0ZXh0LXNtLzYgdGV4dC1ncmF5LTcwMCBtYXJrZXI6dGV4dC1ncmF5LTMwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkZXRhaWwuaXRlbXMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbX0gY2xhc3NOYW1lPVwicGwtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZVBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8L0Rpc2Nsb3N1cmU+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiBJbWFnZSBnYWxsZXJ5ICovfVxuICAgICAgICAgICAgPFRhYkdyb3VwIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wtcmV2ZXJzZVwiPlxuICAgICAgICAgICAgICB7LyogSW1hZ2Ugc2VsZWN0b3IgKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtdC02IGhpZGRlbiB3LWZ1bGwgbWF4LXctMnhsIHNtOmJsb2NrIGxnOm1heC13LW5vbmVcIj5cbiAgICAgICAgICAgICAgICA8VGFiTGlzdCBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy00IGdhcC02XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvZHVjdC5pbWFnZXMubWFwKChpbWFnZSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8VGFiXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtpbWFnZS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBmbGV4IGgtMjQgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYmctd2hpdGUgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIHVwcGVyY2FzZSBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzOnJpbmctMyBmb2N1czpyaW5nLWluZGlnby01MDAvNTAgZm9jdXM6cmluZy1vZmZzZXQtNCBmb2N1czpvdXRsaW5lLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+e2ltYWdlLm5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgc3JjPXtpbWFnZS5zcmN9IGNsYXNzTmFtZT1cInNpemUtZnVsbCBvYmplY3QtY292ZXJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgaW5zZXQtMCByb3VuZGVkLW1kIHJpbmctMiByaW5nLXRyYW5zcGFyZW50IHJpbmctb2Zmc2V0LTIgZ3JvdXAtZGF0YS1zZWxlY3RlZDpyaW5nLWluZGlnby01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvVGFiPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9UYWJMaXN0PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8VGFiUGFuZWxzPlxuICAgICAgICAgICAgICAgIHtwcm9kdWN0LmltYWdlcy5tYXAoKGltYWdlKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8VGFiUGFuZWwga2V5PXtpbWFnZS5pZH0+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgYWx0PXtpbWFnZS5hbHR9IHNyYz17aW1hZ2Uuc3JjfSBjbGFzc05hbWU9XCJhc3BlY3Qtc3F1YXJlIHctZnVsbCBvYmplY3QtY292ZXIgc206cm91bmRlZC1sZ1wiIC8+XG4gICAgICAgICAgICAgICAgICA8L1RhYlBhbmVsPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1RhYlBhbmVscz5cbiAgICAgICAgICAgIDwvVGFiR3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYWluPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRnJhZ21lbnQiLCJ1c2VTdGF0ZSIsIkRpYWxvZyIsIkRpYWxvZ0JhY2tkcm9wIiwiRGlhbG9nUGFuZWwiLCJEaXNjbG9zdXJlIiwiRGlzY2xvc3VyZUJ1dHRvbiIsIkRpc2Nsb3N1cmVQYW5lbCIsIlBvcG92ZXIiLCJQb3BvdmVyQnV0dG9uIiwiUG9wb3Zlckdyb3VwIiwiUG9wb3ZlclBhbmVsIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiLCJCYXJzM0ljb24iLCJIZWFydEljb24iLCJNYWduaWZ5aW5nR2xhc3NJY29uIiwiTWludXNJY29uIiwiUGx1c0ljb24iLCJTaG9wcGluZ0JhZ0ljb24iLCJVc2VySWNvbiIsIlhNYXJrSWNvbiIsIlN0YXJJY29uIiwicHJvZHVjdCIsIm5hbWUiLCJpbWFnZXMiLCJpZCIsInNyYyIsImFsdCIsImNvbG9ycyIsImNsYXNzZXMiLCJkZXNjcmlwdGlvbiIsImRldGFpbHMiLCJpdGVtcyIsImNsYXNzTmFtZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIk5vbWFkcyIsIm9wZW4iLCJzZXRPcGVuIiwiZGl2IiwiY2xhc3NOYW1lIiwibWFpbiIsImgxIiwiaDIiLCJoMyIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwic2VjdGlvbiIsImFyaWEtbGFiZWxsZWRieSIsIm1hcCIsImRldGFpbCIsImFzIiwic3BhbiIsImFyaWEtaGlkZGVuIiwidWwiLCJyb2xlIiwiaXRlbSIsImxpIiwiaW1hZ2UiLCJpbWciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Nomads.jsx\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./src/components/Retreats.jsx":
 | 
						||
/*!*************************************!*\
 | 
						||
  !*** ./src/components/Retreats.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 */   Retreats: function() { return /* binding */ Retreats; }\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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\");\n/* harmony import */ var _barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Dialog,DialogBackdrop,DialogPanel,Disclosure,DisclosureButton,DisclosurePanel,Popover,PopoverButton,PopoverGroup,PopoverPanel,Tab,TabGroup,TabList,TabPanel,TabPanels!=!@headlessui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/tabs/tabs.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js\");\n/* harmony import */ var _barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Bars3Icon,HeartIcon,MagnifyingGlassIcon,MinusIcon,PlusIcon,ShoppingBagIcon,UserIcon,XMarkIcon!=!@heroicons/react/24/outline */ \"(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js\");\n/* __next_internal_client_entry_do_not_use__ Retreats auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nconst product = {\n    name: \"Private Retreats\",\n    images: [\n        {\n            id: 1,\n            name: \"Private Retreat Space 1\",\n            src: \"/images/private.jpg\",\n            alt: \"Private retreat space with dahabiya setting\"\n        },\n        {\n            id: 2,\n            name: \"Private Retreat Space 2\",\n            src: \"/images/veda2.jpg\",\n            alt: \"Elegant dahabiya for private groups\"\n        },\n        {\n            id: 3,\n            name: \"Private Retreat Space 3\",\n            src: \"/images/veda3.jpg\",\n            alt: \"Private retreat on the Nile\"\n        },\n        {\n            id: 4,\n            name: \"Private Retreat Space 4\",\n            src: \"/images/veda4.jpg\",\n            alt: \"Exclusive dahabiya experience\"\n        }\n    ],\n    colors: [\n        {\n            id: \"washed-black\",\n            name: \"Washed Black\",\n            classes: \"bg-gray-700 checked:outline-gray-700\"\n        },\n        {\n            id: \"white\",\n            name: \"White\",\n            classes: \"bg-white checked:outline-gray-400\"\n        },\n        {\n            id: \"washed-gray\",\n            name: \"Washed Gray\",\n            classes: \"bg-gray-500 checked:outline-gray-500\"\n        }\n    ],\n    description: `\n    <p>Groups enjoy privacy and a highly personalized experience aboard our elegant and homy dahabiya, ensuring a vibrant, exclusive and secluded setting.</p>\n  `,\n    details: [\n        {\n            name: \"Features\",\n            items: [\n                \"Groups enjoy privacy and a highly personalized experience aboard our elegant and homy dahabiya, ensuring a vibrant, exclusive and secluded setting.\",\n                \"Options range from corporate wellness programs and team-building exercises to energy practices, yoga sessions, and group's own activities.\",\n                \"Flexible itineraries: Groups can choose their journey stops, allowing for a tailored experience that can include private tours of historical landmarks, meditation in ancient temples, or leisurely sails to less-known Nile locations.\"\n            ]\n        },\n        {\n            name: \"Benefits\",\n            items: [\n                \"The tranquil and culturally rich environment of the Nile encourages reflection, ideation, and personal growth.\",\n                \"The fusion of personalized wellness, cultural immersion, and luxury in a private setting ensures a unique journey that aligns with the group's interests.\",\n                \"Retreats are adaptable in length and activities, allowing for a program that perfectly fits the group's schedule and desired outcomes, whether for a few days or an extended period.\"\n            ]\n        }\n    ]\n};\nfunction classNames(...classes) {\n    return classes.filter(Boolean).join(\" \");\n}\nfunction Retreats() {\n    _s();\n    const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n    return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n        className: \"pb-24\",\n        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n            className: \"mx-auto max-w-7xl sm:px-6 sm:pt-16 lg:px-8\",\n            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                className: \"mx-auto max-w-2xl lg:max-w-none\",\n                children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                    className: \"lg:grid lg:grid-cols-2 lg:items-start lg:gap-x-8\",\n                    children: [\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                            className: \"mt-10 px-4 sm:mt-16 sm:px-0 lg:mt-0\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n                                    className: \"text-3xl font-bold tracking-tight text-gray-900\",\n                                    children: product.name\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 105,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                        className: \"sr-only\",\n                                        children: \"Product information\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                        lineNumber: 108,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 107,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-3\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                        className: \"sr-only\",\n                                        children: \"Reviews\"\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                        lineNumber: 113,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 112,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mt-6\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                            className: \"sr-only\",\n                                            children: \"Description\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                            lineNumber: 117,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            dangerouslySetInnerHTML: {\n                                                __html: product.description\n                                            },\n                                            className: \"space-y-6 text-base text-gray-700\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                            lineNumber: 119,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 116,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n                                    \"aria-labelledby\": \"details-heading\",\n                                    className: \"mt-12\",\n                                    children: [\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n                                            id: \"details-heading\",\n                                            className: \"sr-only\",\n                                            children: \"Additional details\"\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                            lineNumber: 126,\n                                            columnNumber: 17\n                                        }, this),\n                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                            className: \"divide-y divide-gray-200 border-t border-gray-200\",\n                                            children: product.details.map((detail)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.Disclosure, {\n                                                    as: \"div\",\n                                                    children: [\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.DisclosureButton, {\n                                                                className: \"group relative flex w-full items-center justify-between py-6 text-left\",\n                                                                children: [\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"text-sm font-medium text-gray-900 group-data-open:text-indigo-600\",\n                                                                        children: detail.name\n                                                                    }, void 0, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                        lineNumber: 135,\n                                                                        columnNumber: 27\n                                                                    }, this),\n                                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                                        className: \"ml-6 flex items-center\",\n                                                                        children: [\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"block size-6 text-gray-400 group-hover:text-gray-500 group-data-open:hidden\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                                lineNumber: 139,\n                                                                                columnNumber: 29\n                                                                            }, this),\n                                                                            /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bars3Icon_HeartIcon_MagnifyingGlassIcon_MinusIcon_PlusIcon_ShoppingBagIcon_UserIcon_XMarkIcon_heroicons_react_24_outline__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n                                                                                \"aria-hidden\": \"true\",\n                                                                                className: \"hidden size-6 text-indigo-400 group-hover:text-indigo-500 group-data-open:block\"\n                                                                            }, void 0, false, {\n                                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                                lineNumber: 143,\n                                                                                columnNumber: 29\n                                                                            }, this)\n                                                                        ]\n                                                                    }, void 0, true, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                        lineNumber: 138,\n                                                                        columnNumber: 27\n                                                                    }, this)\n                                                                ]\n                                                            }, void 0, true, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                lineNumber: 134,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                            lineNumber: 133,\n                                                            columnNumber: 23\n                                                        }, this),\n                                                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_2__.DisclosurePanel, {\n                                                            className: \"pb-6\",\n                                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n                                                                role: \"list\",\n                                                                className: \"list-disc space-y-1 pl-5 text-sm/6 text-gray-700 marker:text-gray-300\",\n                                                                children: detail.items.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n                                                                        className: \"pl-2\",\n                                                                        children: item\n                                                                    }, item, false, {\n                                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                        lineNumber: 156,\n                                                                        columnNumber: 29\n                                                                    }, this))\n                                                            }, void 0, false, {\n                                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                                lineNumber: 151,\n                                                                columnNumber: 25\n                                                            }, this)\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                            lineNumber: 150,\n                                                            columnNumber: 23\n                                                        }, this)\n                                                    ]\n                                                }, detail.name, true, {\n                                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                    lineNumber: 132,\n                                                    columnNumber: 21\n                                                }, this))\n                                        }, void 0, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                            lineNumber: 130,\n                                            columnNumber: 17\n                                        }, this)\n                                    ]\n                                }, void 0, true, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 125,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                            lineNumber: 104,\n                            columnNumber: 13\n                        }, this),\n                        /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabGroup, {\n                            className: \"flex flex-col-reverse\",\n                            children: [\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n                                    className: \"mx-auto mt-6 hidden w-full max-w-2xl sm:block lg:max-w-none\",\n                                    children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabList, {\n                                        className: \"grid grid-cols-4 gap-6\",\n                                        children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.Tab, {\n                                                className: \"group relative flex h-24 cursor-pointer items-center justify-center rounded-md bg-white text-sm font-medium text-gray-900 uppercase hover:bg-gray-50 focus:ring-3 focus:ring-indigo-500/50 focus:ring-offset-4 focus:outline-hidden\",\n                                                children: [\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"sr-only\",\n                                                        children: image.name\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                        lineNumber: 178,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        className: \"absolute inset-0 overflow-hidden rounded-md\",\n                                                        children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                            alt: \"\",\n                                                            src: image.src,\n                                                            className: \"size-full object-cover\"\n                                                        }, void 0, false, {\n                                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                            lineNumber: 180,\n                                                            columnNumber: 25\n                                                        }, this)\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                        lineNumber: 179,\n                                                        columnNumber: 23\n                                                    }, this),\n                                                    /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n                                                        \"aria-hidden\": \"true\",\n                                                        className: \"pointer-events-none absolute inset-0 rounded-md ring-2 ring-transparent ring-offset-2 group-data-selected:ring-indigo-500\"\n                                                    }, void 0, false, {\n                                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                        lineNumber: 182,\n                                                        columnNumber: 23\n                                                    }, this)\n                                                ]\n                                            }, image.id, true, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                lineNumber: 174,\n                                                columnNumber: 21\n                                            }, this))\n                                    }, void 0, false, {\n                                        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                        lineNumber: 172,\n                                        columnNumber: 17\n                                    }, this)\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 171,\n                                    columnNumber: 15\n                                }, this),\n                                /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanels, {\n                                    children: product.images.map((image)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Dialog_DialogBackdrop_DialogPanel_Disclosure_DisclosureButton_DisclosurePanel_Popover_PopoverButton_PopoverGroup_PopoverPanel_Tab_TabGroup_TabList_TabPanel_TabPanels_headlessui_react__WEBPACK_IMPORTED_MODULE_5__.TabPanel, {\n                                            children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n                                                alt: image.alt,\n                                                src: image.src,\n                                                className: \"aspect-square w-full object-cover sm:rounded-lg\"\n                                            }, void 0, false, {\n                                                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                                lineNumber: 194,\n                                                columnNumber: 21\n                                            }, this)\n                                        }, image.id, false, {\n                                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                            lineNumber: 193,\n                                            columnNumber: 19\n                                        }, this))\n                                }, void 0, false, {\n                                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                                    lineNumber: 191,\n                                    columnNumber: 15\n                                }, this)\n                            ]\n                        }, void 0, true, {\n                            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                            lineNumber: 169,\n                            columnNumber: 13\n                        }, this)\n                    ]\n                }, void 0, true, {\n                    fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                    lineNumber: 102,\n                    columnNumber: 11\n                }, this)\n            }, void 0, false, {\n                fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n                lineNumber: 100,\n                columnNumber: 9\n            }, this)\n        }, void 0, false, {\n            fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n            lineNumber: 99,\n            columnNumber: 7\n        }, this)\n    }, void 0, false, {\n        fileName: \"/Users/sashaastiadi/code/git.ourworld.tf/www_veda_2025/src/components/Retreats.jsx\",\n        lineNumber: 98,\n        columnNumber: 5\n    }, this);\n}\n_s(Retreats, \"xG1TONbKtDWtdOTrXaTAsNhPg/Q=\");\n_c = Retreats;\nvar _c;\n$RefreshReg$(_c, \"Retreats\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL1JldHJlYXRzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRTBDO0FBaUJoQjtBQVVVO0FBQ2dCO0FBR3BELE1BQU0wQixVQUFVO0lBQ2RDLE1BQU07SUFDTkMsUUFBUTtRQUNOO1lBQ0VDLElBQUk7WUFDSkYsTUFBTTtZQUNORyxLQUFLO1lBQ0xDLEtBQUs7UUFDUDtRQUNBO1lBQ0VGLElBQUk7WUFDSkYsTUFBTTtZQUNORyxLQUFLO1lBQ0xDLEtBQUs7UUFDUDtRQUNBO1lBQ0VGLElBQUk7WUFDSkYsTUFBTTtZQUNORyxLQUFLO1lBQ0xDLEtBQUs7UUFDUDtRQUNBO1lBQ0VGLElBQUk7WUFDSkYsTUFBTTtZQUNORyxLQUFLO1lBQ0xDLEtBQUs7UUFDUDtLQUNEO0lBQ0RDLFFBQVE7UUFDTjtZQUFFSCxJQUFJO1lBQWdCRixNQUFNO1lBQWdCTSxTQUFTO1FBQXVDO1FBQzVGO1lBQUVKLElBQUk7WUFBU0YsTUFBTTtZQUFTTSxTQUFTO1FBQW9DO1FBQzNFO1lBQUVKLElBQUk7WUFBZUYsTUFBTTtZQUFlTSxTQUFTO1FBQXVDO0tBQzNGO0lBQ0RDLGFBQWEsQ0FBQzs7RUFFZCxDQUFDO0lBQ0RDLFNBQVM7UUFDUDtZQUNFUixNQUFNO1lBQ05TLE9BQU87Z0JBQ0w7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRVQsTUFBTTtZQUNOUyxPQUFPO2dCQUNMO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtLQUNEO0FBQ0g7QUFFQSxTQUFTQyxXQUFXLEdBQUdKLE9BQU87SUFDNUIsT0FBT0EsUUFBUUssTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7QUFDdEM7QUFFTyxTQUFTQzs7SUFDZCxNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBRzFDLCtDQUFRQSxDQUFDO0lBRWpDLHFCQUNFLDhEQUFDMkM7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0M7WUFBS0QsV0FBVTtzQkFDZCw0RUFBQ0Q7Z0JBQUlDLFdBQVU7MEJBRWIsNEVBQUNEO29CQUFJQyxXQUFVOztzQ0FFYiw4REFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUNiLDhEQUFDRTtvQ0FBR0YsV0FBVTs4Q0FBbURuQixRQUFRQyxJQUFJOzs7Ozs7OENBRTdFLDhEQUFDaUI7b0NBQUlDLFdBQVU7OENBQ2IsNEVBQUNHO3dDQUFHSCxXQUFVO2tEQUFVOzs7Ozs7Ozs7Ozs4Q0FJMUIsOERBQUNEO29DQUFJQyxXQUFVOzhDQUNiLDRFQUFDSTt3Q0FBR0osV0FBVTtrREFBVTs7Ozs7Ozs7Ozs7OENBRzFCLDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUNJOzRDQUFHSixXQUFVO3NEQUFVOzs7Ozs7c0RBRXhCLDhEQUFDRDs0Q0FDQ00seUJBQXlCO2dEQUFFQyxRQUFRekIsUUFBUVEsV0FBVzs0Q0FBQzs0Q0FDdkRXLFdBQVU7Ozs7Ozs7Ozs7Ozs4Q0FJZCw4REFBQ087b0NBQVFDLG1CQUFnQjtvQ0FBa0JSLFdBQVU7O3NEQUNuRCw4REFBQ0c7NENBQUduQixJQUFHOzRDQUFrQmdCLFdBQVU7c0RBQVU7Ozs7OztzREFJN0MsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUNabkIsUUFBUVMsT0FBTyxDQUFDbUIsR0FBRyxDQUFDLENBQUNDLHVCQUNwQiw4REFBQ2xELHFQQUFVQTtvREFBbUJtRCxJQUFHOztzRUFDL0IsOERBQUNQO3NFQUNDLDRFQUFDM0MsMlBBQWdCQTtnRUFBQ3VDLFdBQVU7O2tGQUMxQiw4REFBQ1k7d0VBQUtaLFdBQVU7a0ZBQ2JVLE9BQU81QixJQUFJOzs7Ozs7a0ZBRWQsOERBQUM4Qjt3RUFBS1osV0FBVTs7MEZBQ2QsOERBQUN4Qix1TEFBUUE7Z0ZBQ1BxQyxlQUFZO2dGQUNaYixXQUFVOzs7Ozs7MEZBRVosOERBQUN6Qix1TEFBU0E7Z0ZBQ1JzQyxlQUFZO2dGQUNaYixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzRUFLbEIsOERBQUN0QywwUEFBZUE7NERBQUNzQyxXQUFVO3NFQUN6Qiw0RUFBQ2M7Z0VBQ0NDLE1BQUs7Z0VBQ0xmLFdBQVU7MEVBRVRVLE9BQU9uQixLQUFLLENBQUNrQixHQUFHLENBQUMsQ0FBQ08scUJBQ2pCLDhEQUFDQzt3RUFBY2pCLFdBQVU7a0ZBQ3RCZ0I7dUVBRE1BOzs7Ozs7Ozs7Ozs7Ozs7O21EQXhCQU4sT0FBTzVCLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBcUNwQyw4REFBQ2QsbVBBQVFBOzRCQUFDZ0MsV0FBVTs7OENBRWxCLDhEQUFDRDtvQ0FBSUMsV0FBVTs4Q0FDYiw0RUFBQy9CLGtQQUFPQTt3Q0FBQytCLFdBQVU7a0RBQ2hCbkIsUUFBUUUsTUFBTSxDQUFDMEIsR0FBRyxDQUFDLENBQUNTLHNCQUNuQiw4REFBQ25ELDhPQUFHQTtnREFFRmlDLFdBQVU7O2tFQUVWLDhEQUFDWTt3REFBS1osV0FBVTtrRUFBV2tCLE1BQU1wQyxJQUFJOzs7Ozs7a0VBQ3JDLDhEQUFDOEI7d0RBQUtaLFdBQVU7a0VBQ2QsNEVBQUNtQjs0REFBSWpDLEtBQUk7NERBQUdELEtBQUtpQyxNQUFNakMsR0FBRzs0REFBRWUsV0FBVTs7Ozs7Ozs7Ozs7a0VBRXhDLDhEQUFDWTt3REFDQ0MsZUFBWTt3REFDWmIsV0FBVTs7Ozs7OzsrQ0FUUGtCLE1BQU1sQyxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OENBZ0JyQiw4REFBQ2Isb1BBQVNBOzhDQUNQVSxRQUFRRSxNQUFNLENBQUMwQixHQUFHLENBQUMsQ0FBQ1Msc0JBQ25CLDhEQUFDaEQsbVBBQVFBO3NEQUNQLDRFQUFDaUQ7Z0RBQUlqQyxLQUFLZ0MsTUFBTWhDLEdBQUc7Z0RBQUVELEtBQUtpQyxNQUFNakMsR0FBRztnREFBRWUsV0FBVTs7Ozs7OzJDQURsQ2tCLE1BQU1sQyxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV3pDO0dBOUdnQlk7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvUmV0cmVhdHMuanN4PzFhZTMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IEZyYWdtZW50LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgRGlhbG9nLFxuICBEaWFsb2dCYWNrZHJvcCxcbiAgRGlhbG9nUGFuZWwsXG4gIERpc2Nsb3N1cmUsXG4gIERpc2Nsb3N1cmVCdXR0b24sXG4gIERpc2Nsb3N1cmVQYW5lbCxcbiAgUG9wb3ZlcixcbiAgUG9wb3ZlckJ1dHRvbixcbiAgUG9wb3Zlckdyb3VwLFxuICBQb3BvdmVyUGFuZWwsXG4gIFRhYixcbiAgVGFiR3JvdXAsXG4gIFRhYkxpc3QsXG4gIFRhYlBhbmVsLFxuICBUYWJQYW5lbHMsXG59IGZyb20gJ0BoZWFkbGVzc3VpL3JlYWN0J1xuaW1wb3J0IHtcbiAgQmFyczNJY29uLFxuICBIZWFydEljb24sXG4gIE1hZ25pZnlpbmdHbGFzc0ljb24sXG4gIE1pbnVzSWNvbixcbiAgUGx1c0ljb24sXG4gIFNob3BwaW5nQmFnSWNvbixcbiAgVXNlckljb24sXG4gIFhNYXJrSWNvbixcbn0gZnJvbSAnQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lJ1xuaW1wb3J0IHsgU3Rhckljb24gfSBmcm9tICdAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkJ1xuXG5cbmNvbnN0IHByb2R1Y3QgPSB7XG4gIG5hbWU6ICdQcml2YXRlIFJldHJlYXRzJyxcbiAgaW1hZ2VzOiBbXG4gICAge1xuICAgICAgaWQ6IDEsXG4gICAgICBuYW1lOiAnUHJpdmF0ZSBSZXRyZWF0IFNwYWNlIDEnLFxuICAgICAgc3JjOiAnL2ltYWdlcy9wcml2YXRlLmpwZycsXG4gICAgICBhbHQ6ICdQcml2YXRlIHJldHJlYXQgc3BhY2Ugd2l0aCBkYWhhYml5YSBzZXR0aW5nJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAyLFxuICAgICAgbmFtZTogJ1ByaXZhdGUgUmV0cmVhdCBTcGFjZSAyJywgXG4gICAgICBzcmM6ICcvaW1hZ2VzL3ZlZGEyLmpwZycsXG4gICAgICBhbHQ6ICdFbGVnYW50IGRhaGFiaXlhIGZvciBwcml2YXRlIGdyb3VwcycsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMyxcbiAgICAgIG5hbWU6ICdQcml2YXRlIFJldHJlYXQgU3BhY2UgMycsXG4gICAgICBzcmM6ICcvaW1hZ2VzL3ZlZGEzLmpwZycsXG4gICAgICBhbHQ6ICdQcml2YXRlIHJldHJlYXQgb24gdGhlIE5pbGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDQsXG4gICAgICBuYW1lOiAnUHJpdmF0ZSBSZXRyZWF0IFNwYWNlIDQnLFxuICAgICAgc3JjOiAnL2ltYWdlcy92ZWRhNC5qcGcnLFxuICAgICAgYWx0OiAnRXhjbHVzaXZlIGRhaGFiaXlhIGV4cGVyaWVuY2UnLFxuICAgIH0sXG4gIF0sXG4gIGNvbG9yczogW1xuICAgIHsgaWQ6ICd3YXNoZWQtYmxhY2snLCBuYW1lOiAnV2FzaGVkIEJsYWNrJywgY2xhc3NlczogJ2JnLWdyYXktNzAwIGNoZWNrZWQ6b3V0bGluZS1ncmF5LTcwMCcgfSxcbiAgICB7IGlkOiAnd2hpdGUnLCBuYW1lOiAnV2hpdGUnLCBjbGFzc2VzOiAnYmctd2hpdGUgY2hlY2tlZDpvdXRsaW5lLWdyYXktNDAwJyB9LFxuICAgIHsgaWQ6ICd3YXNoZWQtZ3JheScsIG5hbWU6ICdXYXNoZWQgR3JheScsIGNsYXNzZXM6ICdiZy1ncmF5LTUwMCBjaGVja2VkOm91dGxpbmUtZ3JheS01MDAnIH0sXG4gIF0sXG4gIGRlc2NyaXB0aW9uOiBgXG4gICAgPHA+R3JvdXBzIGVuam95IHByaXZhY3kgYW5kIGEgaGlnaGx5IHBlcnNvbmFsaXplZCBleHBlcmllbmNlIGFib2FyZCBvdXIgZWxlZ2FudCBhbmQgaG9teSBkYWhhYml5YSwgZW5zdXJpbmcgYSB2aWJyYW50LCBleGNsdXNpdmUgYW5kIHNlY2x1ZGVkIHNldHRpbmcuPC9wPlxuICBgLFxuICBkZXRhaWxzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ0ZlYXR1cmVzJyxcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgICdHcm91cHMgZW5qb3kgcHJpdmFjeSBhbmQgYSBoaWdobHkgcGVyc29uYWxpemVkIGV4cGVyaWVuY2UgYWJvYXJkIG91ciBlbGVnYW50IGFuZCBob215IGRhaGFiaXlhLCBlbnN1cmluZyBhIHZpYnJhbnQsIGV4Y2x1c2l2ZSBhbmQgc2VjbHVkZWQgc2V0dGluZy4nLFxuICAgICAgICAnT3B0aW9ucyByYW5nZSBmcm9tIGNvcnBvcmF0ZSB3ZWxsbmVzcyBwcm9ncmFtcyBhbmQgdGVhbS1idWlsZGluZyBleGVyY2lzZXMgdG8gZW5lcmd5IHByYWN0aWNlcywgeW9nYSBzZXNzaW9ucywgYW5kIGdyb3VwXFwncyBvd24gYWN0aXZpdGllcy4nLFxuICAgICAgICAnRmxleGlibGUgaXRpbmVyYXJpZXM6IEdyb3VwcyBjYW4gY2hvb3NlIHRoZWlyIGpvdXJuZXkgc3RvcHMsIGFsbG93aW5nIGZvciBhIHRhaWxvcmVkIGV4cGVyaWVuY2UgdGhhdCBjYW4gaW5jbHVkZSBwcml2YXRlIHRvdXJzIG9mIGhpc3RvcmljYWwgbGFuZG1hcmtzLCBtZWRpdGF0aW9uIGluIGFuY2llbnQgdGVtcGxlcywgb3IgbGVpc3VyZWx5IHNhaWxzIHRvIGxlc3Mta25vd24gTmlsZSBsb2NhdGlvbnMuJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQmVuZWZpdHMnLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAgJ1RoZSB0cmFucXVpbCBhbmQgY3VsdHVyYWxseSByaWNoIGVudmlyb25tZW50IG9mIHRoZSBOaWxlIGVuY291cmFnZXMgcmVmbGVjdGlvbiwgaWRlYXRpb24sIGFuZCBwZXJzb25hbCBncm93dGguJyxcbiAgICAgICAgJ1RoZSBmdXNpb24gb2YgcGVyc29uYWxpemVkIHdlbGxuZXNzLCBjdWx0dXJhbCBpbW1lcnNpb24sIGFuZCBsdXh1cnkgaW4gYSBwcml2YXRlIHNldHRpbmcgZW5zdXJlcyBhIHVuaXF1ZSBqb3VybmV5IHRoYXQgYWxpZ25zIHdpdGggdGhlIGdyb3VwXFwncyBpbnRlcmVzdHMuJyxcbiAgICAgICAgJ1JldHJlYXRzIGFyZSBhZGFwdGFibGUgaW4gbGVuZ3RoIGFuZCBhY3Rpdml0aWVzLCBhbGxvd2luZyBmb3IgYSBwcm9ncmFtIHRoYXQgcGVyZmVjdGx5IGZpdHMgdGhlIGdyb3VwXFwncyBzY2hlZHVsZSBhbmQgZGVzaXJlZCBvdXRjb21lcywgd2hldGhlciBmb3IgYSBmZXcgZGF5cyBvciBhbiBleHRlbmRlZCBwZXJpb2QuJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn1cblxuZnVuY3Rpb24gY2xhc3NOYW1lcyguLi5jbGFzc2VzKSB7XG4gIHJldHVybiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJldHJlYXRzKCkge1xuICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGItMjRcIj5cbiAgICAgIDxtYWluIGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctN3hsIHNtOnB4LTYgc206cHQtMTYgbGc6cHgtOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctMnhsIGxnOm1heC13LW5vbmVcIj5cbiAgICAgICAgICB7LyogUHJvZHVjdCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOmdyaWQgbGc6Z3JpZC1jb2xzLTIgbGc6aXRlbXMtc3RhcnQgbGc6Z2FwLXgtOFwiPlxuICAgICAgICAgICAgey8qIFByb2R1Y3QgaW5mbyAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMTAgcHgtNCBzbTptdC0xNiBzbTpweC0wIGxnOm10LTBcIj5cbiAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXCI+e3Byb2R1Y3QubmFtZX08L2gxPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtM1wiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJzci1vbmx5XCI+UHJvZHVjdCBpbmZvcm1hdGlvbjwvaDI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIHsvKiBSZXZpZXdzICovfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTNcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwic3Itb25seVwiPlJldmlld3M8L2gzPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTZcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwic3Itb25seVwiPkRlc2NyaXB0aW9uPC9oMz5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogcHJvZHVjdC5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3BhY2UteS02IHRleHQtYmFzZSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJkZXRhaWxzLWhlYWRpbmdcIiBjbGFzc05hbWU9XCJtdC0xMlwiPlxuICAgICAgICAgICAgICAgIDxoMiBpZD1cImRldGFpbHMtaGVhZGluZ1wiIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgIEFkZGl0aW9uYWwgZGV0YWlsc1xuICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdmlkZS15IGRpdmlkZS1ncmF5LTIwMCBib3JkZXItdCBib3JkZXItZ3JheS0yMDBcIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9kdWN0LmRldGFpbHMubWFwKChkZXRhaWwpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPERpc2Nsb3N1cmUga2V5PXtkZXRhaWwubmFtZX0gYXM9XCJkaXZcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGlzY2xvc3VyZUJ1dHRvbiBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTYgdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBncm91cC1kYXRhLW9wZW46dGV4dC1pbmRpZ28tNjAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RldGFpbC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTYgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGx1c0ljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayBzaXplLTYgdGV4dC1ncmF5LTQwMCBncm91cC1ob3Zlcjp0ZXh0LWdyYXktNTAwIGdyb3VwLWRhdGEtb3BlbjpoaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1pbnVzSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlbiBzaXplLTYgdGV4dC1pbmRpZ28tNDAwIGdyb3VwLWhvdmVyOnRleHQtaW5kaWdvLTUwMCBncm91cC1kYXRhLW9wZW46YmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaXNjbG9zdXJlUGFuZWwgY2xhc3NOYW1lPVwicGItNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGlzdC1kaXNjIHNwYWNlLXktMSBwbC01IHRleHQtc20vNiB0ZXh0LWdyYXktNzAwIG1hcmtlcjp0ZXh0LWdyYXktMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2RldGFpbC5pdGVtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtfSBjbGFzc05hbWU9XCJwbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9EaXNjbG9zdXJlUGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvRGlzY2xvc3VyZT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgey8qIEltYWdlIGdhbGxlcnkgKi99XG4gICAgICAgICAgICA8VGFiR3JvdXAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbC1yZXZlcnNlXCI+XG4gICAgICAgICAgICAgIHsvKiBJbWFnZSBzZWxlY3RvciAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG10LTYgaGlkZGVuIHctZnVsbCBtYXgtdy0yeGwgc206YmxvY2sgbGc6bWF4LXctbm9uZVwiPlxuICAgICAgICAgICAgICAgIDxUYWJMaXN0IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTQgZ2FwLTZcIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9kdWN0LmltYWdlcy5tYXAoKGltYWdlKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUYWJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ltYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlIGZsZXggaC0yNCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBiZy13aGl0ZSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgdXBwZXJjYXNlIGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6cmluZy0zIGZvY3VzOnJpbmctaW5kaWdvLTUwMC81MCBmb2N1czpyaW5nLW9mZnNldC00IGZvY3VzOm91dGxpbmUtaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj57aW1hZ2UubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBzcmM9e2ltYWdlLnNyY30gY2xhc3NOYW1lPVwic2l6ZS1mdWxsIG9iamVjdC1jb3ZlclwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC0wIHJvdW5kZWQtbWQgcmluZy0yIHJpbmctdHJhbnNwYXJlbnQgcmluZy1vZmZzZXQtMiBncm91cC1kYXRhLXNlbGVjdGVkOnJpbmctaW5kaWdvLTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9UYWI+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L1RhYkxpc3Q+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxUYWJQYW5lbHM+XG4gICAgICAgICAgICAgICAge3Byb2R1Y3QuaW1hZ2VzLm1hcCgoaW1hZ2UpID0+IChcbiAgICAgICAgICAgICAgICAgIDxUYWJQYW5lbCBrZXk9e2ltYWdlLmlkfT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9e2ltYWdlLmFsdH0gc3JjPXtpbWFnZS5zcmN9IGNsYXNzTmFtZT1cImFzcGVjdC1zcXVhcmUgdy1mdWxsIG9iamVjdC1jb3ZlciBzbTpyb3VuZGVkLWxnXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvVGFiUGFuZWw+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvVGFiUGFuZWxzPlxuICAgICAgICAgICAgPC9UYWJHcm91cD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21haW4+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJGcmFnbWVudCIsInVzZVN0YXRlIiwiRGlhbG9nIiwiRGlhbG9nQmFja2Ryb3AiLCJEaWFsb2dQYW5lbCIsIkRpc2Nsb3N1cmUiLCJEaXNjbG9zdXJlQnV0dG9uIiwiRGlzY2xvc3VyZVBhbmVsIiwiUG9wb3ZlciIsIlBvcG92ZXJCdXR0b24iLCJQb3BvdmVyR3JvdXAiLCJQb3BvdmVyUGFuZWwiLCJUYWIiLCJUYWJHcm91cCIsIlRhYkxpc3QiLCJUYWJQYW5lbCIsIlRhYlBhbmVscyIsIkJhcnMzSWNvbiIsIkhlYXJ0SWNvbiIsIk1hZ25pZnlpbmdHbGFzc0ljb24iLCJNaW51c0ljb24iLCJQbHVzSWNvbiIsIlNob3BwaW5nQmFnSWNvbiIsIlVzZXJJY29uIiwiWE1hcmtJY29uIiwiU3Rhckljb24iLCJwcm9kdWN0IiwibmFtZSIsImltYWdlcyIsImlkIiwic3JjIiwiYWx0IiwiY29sb3JzIiwiY2xhc3NlcyIsImRlc2NyaXB0aW9uIiwiZGV0YWlscyIsIml0ZW1zIiwiY2xhc3NOYW1lcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiUmV0cmVhdHMiLCJvcGVuIiwic2V0T3BlbiIsImRpdiIsImNsYXNzTmFtZSIsIm1haW4iLCJoMSIsImgyIiwiaDMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsInNlY3Rpb24iLCJhcmlhLWxhYmVsbGVkYnkiLCJtYXAiLCJkZXRhaWwiLCJhcyIsInNwYW4iLCJhcmlhLWhpZGRlbiIsInVsIiwicm9sZSIsIml0ZW0iLCJsaSIsImltYWdlIiwiaW1nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/Retreats.jsx\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
 | 
						||
/*!***************************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUEsWUFBWSxtQkFBTyxDQUFDLHFNQUEwQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUdBQWlHLGVBQWU7QUFDaEg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUixrREFBa0Q7QUFDbEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7O0FBRUEscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrR0FBa0c7O0FBRWxHO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsZUFBZTtBQUMxQixXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FB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QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6Qjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLGlCQUFpQjtBQUNyQzs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTQuMi4zMV9AYmFiZWwrY29yZUA3LjEyLjNfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0L2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/ZmY3NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3RcIik7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7IC8vIFRPRE86IERlbGV0ZSB3aXRoIGVuYWJsZVJlbmRlcmFibGVDb250ZXh0XG5cbnZhciBSRUFDVF9DT05TVU1FUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29uc3VtZXInKTtcbnZhciBSRUFDVF9DT05URVhUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb250ZXh0Jyk7XG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJyk7XG52YXIgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlJyk7XG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpO1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKTtcbnZhciBSRUFDVF9MQVpZX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5Jyk7XG52YXIgUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5vZmZzY3JlZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0gUmVhY3QuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7XG5cbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xuICB7XG4gICAge1xuICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMSA/IF9sZW4yIC0gMSA6IDApLCBfa2V5MiA9IDE7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgICAgYXJnc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgICAgIH1cblxuICAgICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XG4gIC8vIFdoZW4gY2hhbmdpbmcgdGhpcyBsb2dpYywgeW91IG1pZ2h0IHdhbnQgdG8gYWxzb1xuICAvLyB1cGRhdGUgY29uc29sZVdpdGhTdGFja0Rldi53d3cuanMgYXMgd2VsbC5cbiAge1xuICAgIHZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbiAgICB2YXIgc3RhY2sgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0oKTtcblxuICAgIGlmIChzdGFjayAhPT0gJycpIHtcbiAgICAgIGZvcm1hdCArPSAnJXMnO1xuICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xuICAgIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG5cblxuICAgIHZhciBhcmdzV2l0aEZvcm1hdCA9IGFyZ3MubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKGl0ZW0pO1xuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxuXG4gICAgYXJnc1dpdGhGb3JtYXQudW5zaGlmdCgnV2FybmluZzogJyArIGZvcm1hdCk7IC8vIFdlIGludGVudGlvbmFsbHkgZG9uJ3QgdXNlIHNwcmVhZCAob3IgLmFwcGx5KSBkaXJlY3RseSBiZWNhdXNlIGl0XG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcblxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIGVuYWJsZVNjb3BlQVBJID0gZmFsc2U7IC8vIEV4cGVyaW1lbnRhbCBDcmVhdGUgRXZlbnQgSGFuZGxlIEFQSS5cbnZhciBlbmFibGVDYWNoZUVsZW1lbnQgPSBmYWxzZTtcbnZhciBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyA9IGZhbHNlOyAvLyBObyBrbm93biBidWdzLCBidXQgbmVlZHMgcGVyZm9ybWFuY2UgdGVzdGluZ1xuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxudmFyIGVuYWJsZVJlbmRlcmFibGVDb250ZXh0ID0gZmFsc2U7XG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQyID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpOyAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICAvLyBIb3N0IHJvb3QsIHRleHQgbm9kZSBvciBqdXN0IGludmFsaWQgdHlwZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIpIHtcbiAgICAgIC8vIFRPRE86IENyZWF0ZSBhIGNvbnZlbnRpb24gZm9yIG5hbWluZyBjbGllbnQgcmVmZXJlbmNlcyB3aXRoIGRlYnVnIGluZm8uXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFJFQUNUX0NBQ0hFX1RZUEU6XG4gICAgICB7XG4gICAgICAgIHJldHVybiAnQ2FjaGUnO1xuICAgICAgfVxuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcm92aWRlciA9IHR5cGU7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICB2YXIgY29udGV4dCA9IHR5cGU7XG5cbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZShjb250ZXh0KSArICcuQ29uc3VtZXInO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfQ09OU1VNRVJfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8qXG4gKiBUaGUgYCcnICsgdmFsdWVgIHBhdHRlcm4gKHVzZWQgaW4gcGVyZi1zZW5zaXRpdmUgY29kZSkgdGhyb3dzIGZvciBTeW1ib2xcbiAqIGFuZCBUZW1wb3JhbC4qIHR5cGVzLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMjIwNjQuXG4gKlxuICogVGhlIGZ1bmN0aW9ucyBpbiB0aGlzIG1vZHVsZSB3aWxsIHRocm93IGFuIGVhc2llci10by11bmRlcnN0YW5kLFxuICogZWFzaWVyLXRvLWRlYnVnIGV4Y2VwdGlvbiB3aXRoIGEgY2xlYXIgZXJyb3JzIG1lc3NhZ2UgbWVzc2FnZSBleHBsYWluaW5nIHRoZVxuICogcHJvYmxlbS4gKEluc3RlYWQgb2YgYSBjb25mdXNpbmcgZXhjZXB0aW9uIHRocm93biBpbnNpZGUgdGhlIGltcGxlbWVudGF0aW9uXG4gKiBvZiB0aGUgYHZhbHVlYCBvYmplY3QpLlxuICovXG4vLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuZnVuY3Rpb24gdHlwZU5hbWUodmFsdWUpIHtcbiAge1xuICAgIC8vIHRvU3RyaW5nVGFnIGlzIG5lZWRlZCBmb3IgbmFtZXNwYWNlZCB0eXBlcyBsaWtlIFRlbXBvcmFsLkluc3RhbnRcbiAgICB2YXIgaGFzVG9TdHJpbmdUYWcgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC50b1N0cmluZ1RhZztcbiAgICB2YXIgdHlwZSA9IGhhc1RvU3RyaW5nVGFnICYmIHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ10gfHwgdmFsdWUuY29uc3RydWN0b3IubmFtZSB8fCAnT2JqZWN0JzsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cblxudmFyIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNsaWVudC5yZWZlcmVuY2UnKTtcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IGVuYWJsZVJlbmRlcmFibGVDb250ZXh0ICB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDEgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgaW5mbzogcHJvcHMsXG4gICAgICAgIGxvZzogcHJvcHMsXG4gICAgICAgIHdhcm46IHByb3BzLFxuICAgICAgICBlcnJvcjogcHJvcHMsXG4gICAgICAgIGdyb3VwOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IHByb3BzLFxuICAgICAgICBncm91cEVuZDogcHJvcHNcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBkaXNhYmxlZERlcHRoKys7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlZW5hYmxlTG9ncygpIHtcbiAge1xuICAgIGRpc2FibGVkRGVwdGgtLTtcblxuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIG93bmVyRm4pIHtcbiAge1xuICAgIGlmIChwcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gRXh0cmFjdCB0aGUgVk0gc3BlY2lmaWMgcHJlZml4IHVzZWQgYnkgZWFjaCBsaW5lLlxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgdmFyIG1hdGNoID0geC5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtcbiAgICAgICAgcHJlZml4ID0gbWF0Y2ggJiYgbWF0Y2hbMV0gfHwgJyc7XG4gICAgICB9XG4gICAgfSAvLyBXZSB1c2UgdGhlIHByZWZpeCB0byBlbnN1cmUgb3VyIHN0YWNrcyBsaW5lIHVwIHdpdGggbmF0aXZlIHN0YWNrIGZyYW1lcy5cblxuXG4gICAgcmV0dXJuICdcXG4nICsgcHJlZml4ICsgbmFtZTtcbiAgfVxufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG4gIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG59XG4vKipcbiAqIExldmVyYWdlcyBuYXRpdmUgYnJvd3Nlci9WTSBzdGFjayBmcmFtZXMgdG8gZ2V0IHByb3BlciBkZXRhaWxzIChlLmcuXG4gKiBmaWxlbmFtZSwgbGluZSArIGNvbCBudW1iZXIpIGZvciBhIHNpbmdsZSBjb21wb25lbnQgaW4gYSBjb21wb25lbnQgc3RhY2suIFdlXG4gKiBkbyB0aGlzIGJ5OlxuICogICAoMSkgdGhyb3dpbmcgYW5kIGNhdGNoaW5nIGFuIGVycm9yIGluIHRoZSBmdW5jdGlvbiAtIHRoaXMgd2lsbCBiZSBvdXJcbiAqICAgICAgIGNvbnRyb2wgZXJyb3IuXG4gKiAgICgyKSBjYWxsaW5nIHRoZSBjb21wb25lbnQgd2hpY2ggd2lsbCBldmVudHVhbGx5IHRocm93IGFuIGVycm9yIHRoYXQgd2UnbGxcbiAqICAgICAgIGNhdGNoIC0gdGhpcyB3aWxsIGJlIG91ciBzYW1wbGUgZXJyb3IuXG4gKiAgICgzKSBkaWZmaW5nIHRoZSBjb250cm9sIGFuZCBzYW1wbGUgZXJyb3Igc3RhY2tzIHRvIGZpbmQgdGhlIHN0YWNrIGZyYW1lXG4gKiAgICAgICB3aGljaCByZXByZXNlbnRzIG91ciBjb21wb25lbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICghZm4gfHwgcmVlbnRyeSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHtcbiAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG5cbiAgICBpZiAoZnJhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH1cbiAgfVxuXG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXSBJdCBkb2VzIGFjY2VwdCB1bmRlZmluZWQuXG5cbiAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSB1bmRlZmluZWQ7XG4gIHZhciBwcmV2aW91c0Rpc3BhdGNoZXI7XG5cbiAge1xuICAgIHByZXZpb3VzRGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDsgLy8gU2V0IHRoZSBkaXNwYXRjaGVyIGluIERFViBiZWNhdXNlIHRoaXMgbWlnaHQgYmUgY2FsbCBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uXG4gICAgLy8gZm9yIHdhcm5pbmdzLlxuXG4gICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gbnVsbDtcbiAgICBkaXNhYmxlTG9ncygpO1xuICB9XG4gIC8qKlxuICAgKiBGaW5kaW5nIGEgY29tbW9uIHN0YWNrIGZyYW1lIGJldHdlZW4gc2FtcGxlIGFuZCBjb250cm9sIGVycm9ycyBjYW4gYmVcbiAgICogdHJpY2t5IGdpdmVuIHRoZSBkaWZmZXJlbnQgdHlwZXMgYW5kIGxldmVscyBvZiBzdGFjayB0cmFjZSB0cnVuY2F0aW9uIGZyb21cbiAgICogZGlmZmVyZW50IEpTIFZNcy4gU28gaW5zdGVhZCB3ZSdsbCBhdHRlbXB0IHRvIGNvbnRyb2wgd2hhdCB0aGF0IGNvbW1vblxuICAgKiBmcmFtZSBzaG91bGQgYmUgdGhyb3VnaCB0aGlzIG9iamVjdCBtZXRob2Q6XG4gICAqIEhhdmluZyBib3RoIHRoZSBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGJlIGluIHRoZSBmdW5jdGlvbiB1bmRlciB0aGVcbiAgICogYERlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWVSb290YCBwcm9wZXJ0eSwgKyBzZXR0aW5nIHRoZSBgbmFtZWAgYW5kXG4gICAqIGBkaXNwbGF5TmFtZWAgcHJvcGVydGllcyBvZiB0aGUgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IGEgc3RhY2tcbiAgICogZnJhbWUgZXhpc3RzIHRoYXQgaGFzIHRoZSBtZXRob2QgbmFtZSBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIGluXG4gICAqIGl0IGZvciBib3RoIGNvbnRyb2wgYW5kIHNhbXBsZSBzdGFja3MuXG4gICAqL1xuXG5cbiAgdmFyIFJ1bkluUm9vdEZyYW1lID0ge1xuICAgIERldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdDogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGNvbnRyb2w7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgICAgICBpZiAoY29uc3RydWN0KSB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgIH07IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuXG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAvLyBXZSB1c2UgYSB0aHJvd2luZyBzZXR0ZXIgaW5zdGVhZCBvZiBmcm96ZW4gb3Igbm9uLXdyaXRhYmxlIHByb3BzXG4gICAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgICAgIC8vIFdlIGNvbnN0cnVjdCBhIGRpZmZlcmVudCBjb250cm9sIGZvciB0aGlzIGNhc2UgdG8gaW5jbHVkZSBhbnkgZXh0cmFcbiAgICAgICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChGYWtlLCBbXSk7XG4gICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXSBmb3VuZCB3aGVuIHVwZ3JhZGluZyBGbG93XG5cblxuICAgICAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICAgIH0gLy8gVE9ETyhsdW5hKTogVGhpcyB3aWxsIGN1cnJlbnRseSBvbmx5IHRocm93IGlmIHRoZSBmdW5jdGlvbiBjb21wb25lbnRcbiAgICAgICAgICAvLyB0cmllcyB0byBhY2Nlc3MgUmVhY3QvUmVhY3RET00vcHJvcHMuIFdlIHNob3VsZCBwcm9iYWJseSBtYWtlIHRoaXMgdGhyb3dcbiAgICAgICAgICAvLyBpbiBzaW1wbGUgY29tcG9uZW50cyB0b29cblxuXG4gICAgICAgICAgdmFyIG1heWJlUHJvbWlzZSA9IGZuKCk7IC8vIElmIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcmV0dXJucyBhIHByb21pc2UsIGl0J3MgbGlrZWx5IGFuIGFzeW5jXG4gICAgICAgICAgLy8gY29tcG9uZW50LCB3aGljaCB3ZSBkb24ndCB5ZXQgc3VwcG9ydC4gQXR0YWNoIGEgbm9vcCBjYXRjaCBoYW5kbGVyIHRvXG4gICAgICAgICAgLy8gc2lsZW5jZSB0aGUgZXJyb3IuXG4gICAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGNvbXBvbmVudCBzdGFja3MgZm9yIGFzeW5jIGNsaWVudCBjb21wb25lbnRzP1xuXG4gICAgICAgICAgaWYgKG1heWJlUHJvbWlzZSAmJiB0eXBlb2YgbWF5YmVQcm9taXNlLmNhdGNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBtYXliZVByb21pc2UuY2F0Y2goZnVuY3Rpb24gKCkge30pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgICAgIGlmIChzYW1wbGUgJiYgY29udHJvbCAmJiB0eXBlb2Ygc2FtcGxlLnN0YWNrID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBbc2FtcGxlLnN0YWNrLCBjb250cm9sLnN0YWNrXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gW251bGwsIG51bGxdO1xuICAgIH1cbiAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cbiAgUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LmRpc3BsYXlOYW1lID0gJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCc7XG4gIHZhciBuYW1lUHJvcERlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgJ25hbWUnKTsgLy8gQmVmb3JlIEVTNiwgdGhlIGBuYW1lYCBwcm9wZXJ0eSB3YXMgbm90IGNvbmZpZ3VyYWJsZS5cblxuICBpZiAobmFtZVByb3BEZXNjcmlwdG9yICYmIG5hbWVQcm9wRGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgICAvLyBWOCB1dGlsaXplcyBhIGZ1bmN0aW9uJ3MgYG5hbWVgIHByb3BlcnR5IHdoZW4gZ2VuZXJhdGluZyBhIHN0YWNrIHRyYWNlLlxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsIC8vIENvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIGNhbiBiZSB1cGRhdGVkIGV2ZW4gaWYgaXRzIHdyaXRhYmxlIGRlc2NyaXB0b3JcbiAgICAvLyBpcyBzZXQgdG8gYGZhbHNlYC5cbiAgICAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV1cbiAgICAnbmFtZScsIHtcbiAgICAgIHZhbHVlOiAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290J1xuICAgIH0pO1xuICB9XG5cbiAgdHJ5IHtcbiAgICB2YXIgX1J1bkluUm9vdEZyYW1lJERldGVyID0gUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksXG4gICAgICAgIHNhbXBsZVN0YWNrID0gX1J1bkluUm9vdEZyYW1lJERldGVyWzBdLFxuICAgICAgICBjb250cm9sU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMV07XG5cbiAgICBpZiAoc2FtcGxlU3RhY2sgJiYgY29udHJvbFN0YWNrKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGVTdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbFN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBzID0gMDtcbiAgICAgIHZhciBjID0gMDtcblxuICAgICAgd2hpbGUgKHMgPCBzYW1wbGVMaW5lcy5sZW5ndGggJiYgIXNhbXBsZUxpbmVzW3NdLmluY2x1ZGVzKCdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnKSkge1xuICAgICAgICBzKys7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChjIDwgY29udHJvbExpbmVzLmxlbmd0aCAmJiAhY29udHJvbExpbmVzW2NdLmluY2x1ZGVzKCdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnKSkge1xuICAgICAgICBjKys7XG4gICAgICB9IC8vIFdlIGNvdWxkbid0IGZpbmQgb3VyIGludGVudGlvbmFsbHkgaW5qZWN0ZWQgY29tbW9uIHJvb3QgZnJhbWUsIGF0dGVtcHRcbiAgICAgIC8vIHRvIGZpbmQgYW5vdGhlciBjb21tb24gcm9vdCBmcmFtZSBieSBzZWFyY2ggZnJvbSB0aGUgYm90dG9tIG9mIHRoZVxuICAgICAgLy8gY29udHJvbCBzdGFjay4uLlxuXG5cbiAgICAgIGlmIChzID09PSBzYW1wbGVMaW5lcy5sZW5ndGggfHwgYyA9PT0gY29udHJvbExpbmVzLmxlbmd0aCkge1xuICAgICAgICBzID0gc2FtcGxlTGluZXMubGVuZ3RoIC0gMTtcbiAgICAgICAgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICAgIHdoaWxlIChzID49IDEgJiYgYyA+PSAwICYmIHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgICAgLy8gY3V0IG9mZiBkdWUgdG8gbWF4aW11bSBzdGFjayBsaW1pdHMuIEluIHRoaXMgY2FzZSwgb25lIG1heWJlIGN1dCBvZmZcbiAgICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgICAgLy8gdGhlIHNhbXBsZSBzb21ld2hlcmUgaW4gdGhlIGNvbnRyb2wuXG4gICAgICAgICAgYy0tO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRydWUpIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgb3duZXJGbik7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIFJlYWN0Q3VycmVudE93bmVyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNsaWVudC5yZWZlcmVuY2UnKTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAge1xuICAgICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bikge1xuICAgICAgICAgIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ3JlZicsIHtcbiAgICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIFJlYWN0RWxlbWVudCh0eXBlLCBrZXksIF9yZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciByZWY7XG5cbiAge1xuICAgIHJlZiA9IF9yZWY7XG4gIH1cblxuICB2YXIgZWxlbWVudDtcblxuICB7XG4gICAgLy8gSW4gcHJvZCwgYHJlZmAgaXMgYSByZWd1bGFyIHByb3BlcnR5LiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gYVxuICAgIC8vIGZ1dHVyZSByZWxlYXNlLlxuICAgIGVsZW1lbnQgPSB7XG4gICAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgICAvLyBCdWlsdC1pbiBwcm9wZXJ0aWVzIHRoYXQgYmVsb25nIG9uIHRoZSBlbGVtZW50XG4gICAgICB0eXBlOiB0eXBlLFxuICAgICAga2V5OiBrZXksXG4gICAgICByZWY6IHJlZixcbiAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgICBfb3duZXI6IG93bmVyXG4gICAgfTtcbiAgfVxuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gZGVidWdJbmZvIGNvbnRhaW5zIFNlcnZlciBDb21wb25lbnQgZGVidWcgaW5mb3JtYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19kZWJ1Z0luZm8nLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBudWxsXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG52YXIgZGlkV2FybkFib3V0S2V5U3ByZWFkID0ge307XG4vKipcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGpzL3JmY3MvcHVsbC8xMDdcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gKi9cblxuZnVuY3Rpb24ganN4REVWJDEodHlwZSwgY29uZmlnLCBtYXliZUtleSwgaXNTdGF0aWNDaGlsZHJlbiwgc291cmNlLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAoIWlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSkge1xuICAgICAgLy8gVGhpcyBpcyBhbiBpbnZhbGlkIGVsZW1lbnQgdHlwZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSB3YXJuIGluIHRoaXMgY2FzZSBidXQgZG9uJ3QgdGhyb3cuIFdlIGV4cGVjdCB0aGUgZWxlbWVudCBjcmVhdGlvbiB0b1xuICAgICAgLy8gc3VjY2VlZCBhbmQgdGhlcmUgd2lsbCBsaWtlbHkgYmUgZXJyb3JzIGluIHJlbmRlci5cbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciB0eXBlU3RyaW5nO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICB0eXBlU3RyaW5nID0gJ251bGwnO1xuICAgICAgfSBlbHNlIGlmIChpc0FycmF5KHR5cGUpKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgICAgfSBlbHNlIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSBcIjxcIiArIChnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnVW5rbm93bicpICsgXCIgLz5cIjtcbiAgICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVvZiB0eXBlO1xuICAgICAgfVxuXG4gICAgICBlcnJvcignUmVhY3QuanN4OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIGEgdmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgICAgIC8vIGRvZXNuJ3QgZXhwZWN0IGEgbm9uLXN0cmluZy9mdW5jdGlvbiB0eXBlIGFuZCBjYW4gdGhyb3cgY29uZnVzaW5nXG4gICAgICAvLyBlcnJvcnMuIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmRcbiAgICAgIC8vIHByb2QuIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZVxuICAgICAgLy8gdHlwZSBpcyBmaXhlZCwgdGhlIGtleSB3YXJuaW5ncyB3aWxsIGFwcGVhci4pXG4gICAgICB2YXIgY2hpbGRyZW4gPSBjb25maWcuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFdhcm4gYWJvdXQga2V5IHNwcmVhZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHR5cGUgaXMgdmFsaWQuXG5cblxuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKS5maWx0ZXIoZnVuY3Rpb24gKGspIHtcbiAgICAgICAgcmV0dXJuIGsgIT09ICdrZXknO1xuICAgICAgfSk7XG4gICAgICB2YXIgYmVmb3JlRXhhbXBsZSA9IGtleXMubGVuZ3RoID4gMCA/ICd7a2V5OiBzb21lS2V5LCAnICsga2V5cy5qb2luKCc6IC4uLiwgJykgKyAnOiAuLi59JyA6ICd7a2V5OiBzb21lS2V5fSc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0S2V5U3ByZWFkW2NvbXBvbmVudE5hbWUgKyBiZWZvcmVFeGFtcGxlXSkge1xuICAgICAgICB2YXIgYWZ0ZXJFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3snICsga2V5cy5qb2luKCc6IC4uLiwgJykgKyAnOiAuLi59JyA6ICd7fSc7XG5cbiAgICAgICAgZXJyb3IoJ0EgcHJvcHMgb2JqZWN0IGNvbnRhaW5pbmcgYSBcImtleVwiIHByb3AgaXMgYmVpbmcgc3ByZWFkIGludG8gSlNYOlxcbicgKyAnICBsZXQgcHJvcHMgPSAlcztcXG4nICsgJyAgPCVzIHsuLi5wcm9wc30gLz5cXG4nICsgJ1JlYWN0IGtleXMgbXVzdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gSlNYIHdpdGhvdXQgdXNpbmcgc3ByZWFkOlxcbicgKyAnICBsZXQgcHJvcHMgPSAlcztcXG4nICsgJyAgPCVzIGtleT17c29tZUtleX0gey4uLnByb3BzfSAvPicsIGJlZm9yZUV4YW1wbGUsIGNvbXBvbmVudE5hbWUsIGFmdGVyRXhhbXBsZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0S2V5U3ByZWFkW2NvbXBvbmVudE5hbWUgKyBiZWZvcmVFeGFtcGxlXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb3BOYW1lOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cbiAgICB2YXIgcHJvcHMgPSB7fTtcbiAgICB2YXIga2V5ID0gbnVsbDtcbiAgICB2YXIgcmVmID0gbnVsbDsgLy8gQ3VycmVudGx5LCBrZXkgY2FuIGJlIHNwcmVhZCBpbiBhcyBhIHByb3AuIFRoaXMgY2F1c2VzIGEgcG90ZW50aWFsXG4gICAgLy8gaXNzdWUgaWYga2V5IGlzIGFsc28gZXhwbGljaXRseSBkZWNsYXJlZCAoaWUuIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+XG4gICAgLy8gb3IgPGRpdiBrZXk9XCJIaVwiIHsuLi5wcm9wc30gLz4gKS4gV2Ugd2FudCB0byBkZXByZWNhdGUga2V5IHNwcmVhZCxcbiAgICAvLyBidXQgYXMgYW4gaW50ZXJtZWRpYXJ5IHN0ZXAsIHdlIHdpbGwgdXNlIGpzeERFViBmb3IgZXZlcnl0aGluZyBleGNlcHRcbiAgICAvLyA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPiwgYmVjYXVzZSB3ZSBhcmVuJ3QgY3VycmVudGx5IGFibGUgdG8gdGVsbCBpZlxuICAgIC8vIGtleSBpcyBleHBsaWNpdGx5IGRlY2xhcmVkIHRvIGJlIHVuZGVmaW5lZCBvciBub3QuXG5cbiAgICBpZiAobWF5YmVLZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKG1heWJlS2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBtYXliZUtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIH1cblxuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAvLyBTa2lwIG92ZXIgcmVzZXJ2ZWQgcHJvcCBuYW1lc1xuICAgICAgcHJvcE5hbWUgIT09ICdrZXknICYmIChwcm9wTmFtZSAhPT0gJ3JlZicpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBlbGVtZW50ID0gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQsIHByb3BzKTtcblxuICAgIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICB7XG4gICAgaWYgKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogRW5zdXJlIHRoYXQgZXZlcnkgZWxlbWVudCBlaXRoZXIgaXMgcGFzc2VkIGluIGEgc3RhdGljIGxvY2F0aW9uLCBpbiBhblxuICogYXJyYXkgd2l0aCBhbiBleHBsaWNpdCBrZXlzIHByb3BlcnR5IGRlZmluZWQsIG9yIGluIGFuIG9iamVjdCBsaXRlcmFsXG4gKiB3aXRoIHZhbGlkIGtleSBwcm9wZXJ0eS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSB7UmVhY3ROb2RlfSBub2RlIFN0YXRpY2FsbHkgcGFzc2VkIGNoaWxkIG9mIGFueSB0eXBlLlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIG5vZGUncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEtleXMobm9kZSwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JyB8fCAhbm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChub2RlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFKSA7IGVsc2UgaWYgKGlzQXJyYXkobm9kZSkpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZS5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChjaGlsZCkpIHtcbiAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KGNoaWxkLCBwYXJlbnRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNWYWxpZEVsZW1lbnQobm9kZSkpIHtcbiAgICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgICBpZiAobm9kZS5fc3RvcmUpIHtcbiAgICAgICAgbm9kZS5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICByZXR1cm4gdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsICYmIG9iamVjdC4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xufVxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuLyoqXG4gKiBXYXJuIGlmIHRoZSBlbGVtZW50IGRvZXNuJ3QgaGF2ZSBhbiBleHBsaWNpdCBrZXkgYXNzaWduZWQgdG8gaXQuXG4gKiBUaGlzIGVsZW1lbnQgaXMgaW4gYW4gYXJyYXkuIFRoZSBhcnJheSBjb3VsZCBncm93IGFuZCBzaHJpbmsgb3IgYmVcbiAqIHJlb3JkZXJlZC4gQWxsIGNoaWxkcmVuIHRoYXQgaGF2ZW4ndCBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFyZSByZXF1aXJlZCB0b1xuICogaGF2ZSBhIFwia2V5XCIgcHJvcGVydHkgYXNzaWduZWQgdG8gaXQuIEVycm9yIHN0YXR1c2VzIGFyZSBjYWNoZWQgc28gYSB3YXJuaW5nXG4gKiB3aWxsIG9ubHkgYmUgc2hvd24gb25jZS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBlbGVtZW50IEVsZW1lbnQgdGhhdCByZXF1aXJlcyBhIGtleS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBlbGVtZW50J3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAgIC8vIEdpdmUgdGhlIGNvbXBvbmVudCB0aGF0IG9yaWdpbmFsbHkgY3JlYXRlZCB0aGlzIGNoaWxkLlxuICAgICAgY2hpbGRPd25lciA9IFwiIEl0IHdhcyBwYXNzZWQgYSBjaGlsZCBmcm9tIFwiICsgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGVsZW1lbnQuX293bmVyLnR5cGUpICsgXCIuXCI7XG4gICAgfVxuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICBlcnJvcignRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgXCJrZXlcIiBwcm9wLicgKyAnJXMlcyBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3dhcm5pbmcta2V5cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLCBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvLCBjaGlsZE93bmVyKTtcblxuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICB2YXIgaW5mbyA9IGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpO1xuXG4gICAgaWYgKCFpbmZvKSB7XG4gICAgICB2YXIgcGFyZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShwYXJlbnRUeXBlKTtcblxuICAgICAgaWYgKHBhcmVudE5hbWUpIHtcbiAgICAgICAgaW5mbyA9IFwiXFxuXFxuQ2hlY2sgdGhlIHRvcC1sZXZlbCByZW5kZXIgY2FsbCB1c2luZyA8XCIgKyBwYXJlbnROYW1lICsgXCI+LlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpbmZvO1xuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAgLy8gVE9ETzogTW92ZSB0aGlzIHRvIHJlbmRlciBwaGFzZSBpbnN0ZWFkIG9mIGF0IGVsZW1lbnQgY3JlYXRpb24uXG4gIHtcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGZyYWdtZW50LnByb3BzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IGtleXNbaV07XG5cbiAgICAgIGlmIChrZXkgIT09ICdjaGlsZHJlbicgJiYga2V5ICE9PSAna2V5Jykge1xuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChmcmFnbWVudCk7XG5cbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgcHJvcCBgJXNgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuICcgKyAnUmVhY3QuRnJhZ21lbnQgY2FuIG9ubHkgaGF2ZSBga2V5YCBhbmQgYGNoaWxkcmVuYCBwcm9wcy4nLCBrZXkpO1xuXG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChmcmFnbWVudCk7XG5cbiAgICAgIGVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBgcmVmYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLicpO1xuXG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGpzeERFViA9IGpzeERFViQxIDtcblxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG5leHBvcnRzLmpzeERFViA9IGpzeERFVjtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
 | 
						||
/*!*****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE0LjIuMzFfQGJhYmVsK2NvcmVANy4xMi4zX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLDZSQUFzRTtBQUN4RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNC4yLjMxX0BiYWJlbCtjb3JlQDcuMTIuM19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzP2VkNGYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js":
 | 
						||
/*!****************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/process@0.11.10/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9wcm9jZXNzQDAuMTEuMTAvbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHNCQUFzQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vcHJvY2Vzc0AwLjExLjEwL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanM/NjU4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs":
 | 
						||
/*!*************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+core@1.7.3/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/.pnpm/@floating-ui+utils@0.2.10/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          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = 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\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n  const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\n  const isVertical = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = 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          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\n      const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\n      const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\n      const isYAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, 0);\n        const xMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.right, 0);\n        const yMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, 0);\n        const yMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrY29yZUAxLjcuMy9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2NvcmUvZGlzdC9mbG9hdGluZy11aS5jb3JlLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQXNVO0FBQ2hSOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixtQkFBbUIsK0RBQVc7QUFDOUIsd0JBQXdCLG9FQUFnQjtBQUN4QyxzQkFBc0IsaUVBQWE7QUFDbkMsZUFBZSwyREFBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGdFQUFZO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiw0QkFBNEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFRLEVBQUUsNERBQVE7QUFDbEI7QUFDQSxtQkFBbUIsMkRBQU87QUFDMUIsd0JBQXdCLGdFQUFZO0FBQ3BDLHNCQUFzQiwrREFBVztBQUNqQztBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLHVEQUFHO0FBQ3pDLHFDQUFxQyx1REFBRztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQix1REFBRztBQUN4QixxQkFBcUIsdURBQUc7QUFDeEIscUJBQXFCLHVEQUFHO0FBQ3hCLHFCQUFxQix1REFBRztBQUN4QjtBQUNBLGlGQUFpRix1REFBRztBQUNwRixVQUFVO0FBQ1YsbUZBQW1GLHVEQUFHO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrY29yZUAxLjcuMy9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2NvcmUvZGlzdC9mbG9hdGluZy11aS5jb3JlLm1qcz9mN2U3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNpZGVBeGlzLCBnZXRBbGlnbm1lbnRBeGlzLCBnZXRBeGlzTGVuZ3RoLCBnZXRTaWRlLCBnZXRBbGlnbm1lbnQsIGV2YWx1YXRlLCBnZXRQYWRkaW5nT2JqZWN0LCByZWN0VG9DbGllbnRSZWN0LCBtaW4sIGNsYW1wLCBwbGFjZW1lbnRzLCBnZXRBbGlnbm1lbnRTaWRlcywgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQsIGdldE9wcG9zaXRlUGxhY2VtZW50LCBnZXRFeHBhbmRlZFBsYWNlbWVudHMsIGdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMsIHNpZGVzLCBtYXgsIGdldE9wcG9zaXRlQXhpcyB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscyc7XG5leHBvcnQgeyByZWN0VG9DbGllbnRSZWN0IH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcblxuZnVuY3Rpb24gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQoX3JlZiwgcGxhY2VtZW50LCBydGwpIHtcbiAgbGV0IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmdcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IHNpZGVBeGlzID0gZ2V0U2lkZUF4aXMocGxhY2VtZW50KTtcbiAgY29uc3QgYWxpZ25tZW50QXhpcyA9IGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KTtcbiAgY29uc3QgYWxpZ25MZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGFsaWdubWVudEF4aXMpO1xuICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xuICBjb25zdCBpc1ZlcnRpY2FsID0gc2lkZUF4aXMgPT09ICd5JztcbiAgY29uc3QgY29tbW9uWCA9IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoIC8gMiAtIGZsb2F0aW5nLndpZHRoIC8gMjtcbiAgY29uc3QgY29tbW9uWSA9IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodCAvIDIgLSBmbG9hdGluZy5oZWlnaHQgLyAyO1xuICBjb25zdCBjb21tb25BbGlnbiA9IHJlZmVyZW5jZVthbGlnbkxlbmd0aF0gLyAyIC0gZmxvYXRpbmdbYWxpZ25MZW5ndGhdIC8gMjtcbiAgbGV0IGNvb3JkcztcbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSAndG9wJzpcbiAgICAgIGNvb3JkcyA9IHtcbiAgICAgICAgeDogY29tbW9uWCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnkgLSBmbG9hdGluZy5oZWlnaHRcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdib3R0b20nOlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHRcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdyaWdodCc6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnbGVmdCc6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54IC0gZmxvYXRpbmcud2lkdGgsXG4gICAgICAgIHk6IGNvbW1vbllcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnlcbiAgICAgIH07XG4gIH1cbiAgc3dpdGNoIChnZXRBbGlnbm1lbnQocGxhY2VtZW50KSkge1xuICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgIGNvb3Jkc1thbGlnbm1lbnRBeGlzXSAtPSBjb21tb25BbGlnbiAqIChydGwgJiYgaXNWZXJ0aWNhbCA/IC0xIDogMSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlbmQnOlxuICAgICAgY29vcmRzW2FsaWdubWVudEF4aXNdICs9IGNvbW1vbkFsaWduICogKHJ0bCAmJiBpc1ZlcnRpY2FsID8gLTEgOiAxKTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiBjb29yZHM7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGB4YCBhbmQgYHlgIGNvb3JkaW5hdGVzIHRoYXQgd2lsbCBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudFxuICogbmV4dCB0byBhIGdpdmVuIHJlZmVyZW5jZSBlbGVtZW50LlxuICpcbiAqIFRoaXMgZXhwb3J0IGRvZXMgbm90IGhhdmUgYW55IGBwbGF0Zm9ybWAgaW50ZXJmYWNlIGxvZ2ljLiBZb3Ugd2lsbCBuZWVkIHRvXG4gKiB3cml0ZSBvbmUgZm9yIHRoZSBwbGF0Zm9ybSB5b3UgYXJlIHVzaW5nIEZsb2F0aW5nIFVJIHdpdGguXG4gKi9cbmNvbnN0IGNvbXB1dGVQb3NpdGlvbiA9IGFzeW5jIChyZWZlcmVuY2UsIGZsb2F0aW5nLCBjb25maWcpID0+IHtcbiAgY29uc3Qge1xuICAgIHBsYWNlbWVudCA9ICdib3R0b20nLFxuICAgIHN0cmF0ZWd5ID0gJ2Fic29sdXRlJyxcbiAgICBtaWRkbGV3YXJlID0gW10sXG4gICAgcGxhdGZvcm1cbiAgfSA9IGNvbmZpZztcbiAgY29uc3QgdmFsaWRNaWRkbGV3YXJlID0gbWlkZGxld2FyZS5maWx0ZXIoQm9vbGVhbik7XG4gIGNvbnN0IHJ0bCA9IGF3YWl0IChwbGF0Zm9ybS5pc1JUTCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNSVEwoZmxvYXRpbmcpKTtcbiAgbGV0IHJlY3RzID0gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmcsXG4gICAgc3RyYXRlZ3lcbiAgfSk7XG4gIGxldCB7XG4gICAgeCxcbiAgICB5XG4gIH0gPSBjb21wdXRlQ29vcmRzRnJvbVBsYWNlbWVudChyZWN0cywgcGxhY2VtZW50LCBydGwpO1xuICBsZXQgc3RhdGVmdWxQbGFjZW1lbnQgPSBwbGFjZW1lbnQ7XG4gIGxldCBtaWRkbGV3YXJlRGF0YSA9IHt9O1xuICBsZXQgcmVzZXRDb3VudCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsaWRNaWRkbGV3YXJlLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qge1xuICAgICAgbmFtZSxcbiAgICAgIGZuXG4gICAgfSA9IHZhbGlkTWlkZGxld2FyZVtpXTtcbiAgICBjb25zdCB7XG4gICAgICB4OiBuZXh0WCxcbiAgICAgIHk6IG5leHRZLFxuICAgICAgZGF0YSxcbiAgICAgIHJlc2V0XG4gICAgfSA9IGF3YWl0IGZuKHtcbiAgICAgIHgsXG4gICAgICB5LFxuICAgICAgaW5pdGlhbFBsYWNlbWVudDogcGxhY2VtZW50LFxuICAgICAgcGxhY2VtZW50OiBzdGF0ZWZ1bFBsYWNlbWVudCxcbiAgICAgIHN0cmF0ZWd5LFxuICAgICAgbWlkZGxld2FyZURhdGEsXG4gICAgICByZWN0cyxcbiAgICAgIHBsYXRmb3JtLFxuICAgICAgZWxlbWVudHM6IHtcbiAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICBmbG9hdGluZ1xuICAgICAgfVxuICAgIH0pO1xuICAgIHggPSBuZXh0WCAhPSBudWxsID8gbmV4dFggOiB4O1xuICAgIHkgPSBuZXh0WSAhPSBudWxsID8gbmV4dFkgOiB5O1xuICAgIG1pZGRsZXdhcmVEYXRhID0ge1xuICAgICAgLi4ubWlkZGxld2FyZURhdGEsXG4gICAgICBbbmFtZV06IHtcbiAgICAgICAgLi4ubWlkZGxld2FyZURhdGFbbmFtZV0sXG4gICAgICAgIC4uLmRhdGFcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmIChyZXNldCAmJiByZXNldENvdW50IDw9IDUwKSB7XG4gICAgICByZXNldENvdW50Kys7XG4gICAgICBpZiAodHlwZW9mIHJlc2V0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAocmVzZXQucGxhY2VtZW50KSB7XG4gICAgICAgICAgc3RhdGVmdWxQbGFjZW1lbnQgPSByZXNldC5wbGFjZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc2V0LnJlY3RzKSB7XG4gICAgICAgICAgcmVjdHMgPSByZXNldC5yZWN0cyA9PT0gdHJ1ZSA/IGF3YWl0IHBsYXRmb3JtLmdldEVsZW1lbnRSZWN0cyh7XG4gICAgICAgICAgICByZWZlcmVuY2UsXG4gICAgICAgICAgICBmbG9hdGluZyxcbiAgICAgICAgICAgIHN0cmF0ZWd5XG4gICAgICAgICAgfSkgOiByZXNldC5yZWN0cztcbiAgICAgICAgfVxuICAgICAgICAoe1xuICAgICAgICAgIHgsXG4gICAgICAgICAgeVxuICAgICAgICB9ID0gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQocmVjdHMsIHN0YXRlZnVsUGxhY2VtZW50LCBydGwpKTtcbiAgICAgIH1cbiAgICAgIGkgPSAtMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB4LFxuICAgIHksXG4gICAgcGxhY2VtZW50OiBzdGF0ZWZ1bFBsYWNlbWVudCxcbiAgICBzdHJhdGVneSxcbiAgICBtaWRkbGV3YXJlRGF0YVxuICB9O1xufTtcblxuLyoqXG4gKiBSZXNvbHZlcyB3aXRoIGFuIG9iamVjdCBvZiBvdmVyZmxvdyBzaWRlIG9mZnNldHMgdGhhdCBkZXRlcm1pbmUgaG93IG11Y2ggdGhlXG4gKiBlbGVtZW50IGlzIG92ZXJmbG93aW5nIGEgZ2l2ZW4gY2xpcHBpbmcgYm91bmRhcnkgb24gZWFjaCBzaWRlLlxuICogLSBwb3NpdGl2ZSA9IG92ZXJmbG93aW5nIHRoZSBib3VuZGFyeSBieSB0aGF0IG51bWJlciBvZiBwaXhlbHNcbiAqIC0gbmVnYXRpdmUgPSBob3cgbWFueSBwaXhlbHMgbGVmdCBiZWZvcmUgaXQgd2lsbCBvdmVyZmxvd1xuICogLSAwID0gbGllcyBmbHVzaCB3aXRoIHRoZSBib3VuZGFyeVxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2RldGVjdE92ZXJmbG93XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRldGVjdE92ZXJmbG93KHN0YXRlLCBvcHRpb25zKSB7XG4gIHZhciBfYXdhaXQkcGxhdGZvcm0kaXNFbGU7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIHgsXG4gICAgeSxcbiAgICBwbGF0Zm9ybSxcbiAgICByZWN0cyxcbiAgICBlbGVtZW50cyxcbiAgICBzdHJhdGVneVxuICB9ID0gc3RhdGU7XG4gIGNvbnN0IHtcbiAgICBib3VuZGFyeSA9ICdjbGlwcGluZ0FuY2VzdG9ycycsXG4gICAgcm9vdEJvdW5kYXJ5ID0gJ3ZpZXdwb3J0JyxcbiAgICBlbGVtZW50Q29udGV4dCA9ICdmbG9hdGluZycsXG4gICAgYWx0Qm91bmRhcnkgPSBmYWxzZSxcbiAgICBwYWRkaW5nID0gMFxuICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICBjb25zdCBwYWRkaW5nT2JqZWN0ID0gZ2V0UGFkZGluZ09iamVjdChwYWRkaW5nKTtcbiAgY29uc3QgYWx0Q29udGV4dCA9IGVsZW1lbnRDb250ZXh0ID09PSAnZmxvYXRpbmcnID8gJ3JlZmVyZW5jZScgOiAnZmxvYXRpbmcnO1xuICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbYWx0Qm91bmRhcnkgPyBhbHRDb250ZXh0IDogZWxlbWVudENvbnRleHRdO1xuICBjb25zdCBjbGlwcGluZ0NsaWVudFJlY3QgPSByZWN0VG9DbGllbnRSZWN0KGF3YWl0IHBsYXRmb3JtLmdldENsaXBwaW5nUmVjdCh7XG4gICAgZWxlbWVudDogKChfYXdhaXQkcGxhdGZvcm0kaXNFbGUgPSBhd2FpdCAocGxhdGZvcm0uaXNFbGVtZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc0VsZW1lbnQoZWxlbWVudCkpKSAhPSBudWxsID8gX2F3YWl0JHBsYXRmb3JtJGlzRWxlIDogdHJ1ZSkgPyBlbGVtZW50IDogZWxlbWVudC5jb250ZXh0RWxlbWVudCB8fCAoYXdhaXQgKHBsYXRmb3JtLmdldERvY3VtZW50RWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnRzLmZsb2F0aW5nKSkpLFxuICAgIGJvdW5kYXJ5LFxuICAgIHJvb3RCb3VuZGFyeSxcbiAgICBzdHJhdGVneVxuICB9KSk7XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50Q29udGV4dCA9PT0gJ2Zsb2F0aW5nJyA/IHtcbiAgICB4LFxuICAgIHksXG4gICAgd2lkdGg6IHJlY3RzLmZsb2F0aW5nLndpZHRoLFxuICAgIGhlaWdodDogcmVjdHMuZmxvYXRpbmcuaGVpZ2h0XG4gIH0gOiByZWN0cy5yZWZlcmVuY2U7XG4gIGNvbnN0IG9mZnNldFBhcmVudCA9IGF3YWl0IChwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldE9mZnNldFBhcmVudChlbGVtZW50cy5mbG9hdGluZykpO1xuICBjb25zdCBvZmZzZXRTY2FsZSA9IChhd2FpdCAocGxhdGZvcm0uaXNFbGVtZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc0VsZW1lbnQob2Zmc2V0UGFyZW50KSkpID8gKGF3YWl0IChwbGF0Zm9ybS5nZXRTY2FsZSA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0U2NhbGUob2Zmc2V0UGFyZW50KSkpIHx8IHtcbiAgICB4OiAxLFxuICAgIHk6IDFcbiAgfSA6IHtcbiAgICB4OiAxLFxuICAgIHk6IDFcbiAgfTtcbiAgY29uc3QgZWxlbWVudENsaWVudFJlY3QgPSByZWN0VG9DbGllbnRSZWN0KHBsYXRmb3JtLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0ID8gYXdhaXQgcGxhdGZvcm0uY29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3Qoe1xuICAgIGVsZW1lbnRzLFxuICAgIHJlY3QsXG4gICAgb2Zmc2V0UGFyZW50LFxuICAgIHN0cmF0ZWd5XG4gIH0pIDogcmVjdCk7XG4gIHJldHVybiB7XG4gICAgdG9wOiAoY2xpcHBpbmdDbGllbnRSZWN0LnRvcCAtIGVsZW1lbnRDbGllbnRSZWN0LnRvcCArIHBhZGRpbmdPYmplY3QudG9wKSAvIG9mZnNldFNjYWxlLnksXG4gICAgYm90dG9tOiAoZWxlbWVudENsaWVudFJlY3QuYm90dG9tIC0gY2xpcHBpbmdDbGllbnRSZWN0LmJvdHRvbSArIHBhZGRpbmdPYmplY3QuYm90dG9tKSAvIG9mZnNldFNjYWxlLnksXG4gICAgbGVmdDogKGNsaXBwaW5nQ2xpZW50UmVjdC5sZWZ0IC0gZWxlbWVudENsaWVudFJlY3QubGVmdCArIHBhZGRpbmdPYmplY3QubGVmdCkgLyBvZmZzZXRTY2FsZS54LFxuICAgIHJpZ2h0OiAoZWxlbWVudENsaWVudFJlY3QucmlnaHQgLSBjbGlwcGluZ0NsaWVudFJlY3QucmlnaHQgKyBwYWRkaW5nT2JqZWN0LnJpZ2h0KSAvIG9mZnNldFNjYWxlLnhcbiAgfTtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGFuIGlubmVyIGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc28gdGhhdCBpdFxuICogYXBwZWFycyBjZW50ZXJlZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXJyb3dcbiAqL1xuY29uc3QgYXJyb3cgPSBvcHRpb25zID0+ICh7XG4gIG5hbWU6ICdhcnJvdycsXG4gIG9wdGlvbnMsXG4gIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgY29uc3Qge1xuICAgICAgeCxcbiAgICAgIHksXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICByZWN0cyxcbiAgICAgIHBsYXRmb3JtLFxuICAgICAgZWxlbWVudHMsXG4gICAgICBtaWRkbGV3YXJlRGF0YVxuICAgIH0gPSBzdGF0ZTtcbiAgICAvLyBTaW5jZSBgZWxlbWVudGAgaXMgcmVxdWlyZWQsIHdlIGRvbid0IFBhcnRpYWw8PiB0aGUgdHlwZS5cbiAgICBjb25zdCB7XG4gICAgICBlbGVtZW50LFxuICAgICAgcGFkZGluZyA9IDBcbiAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpIHx8IHt9O1xuICAgIGlmIChlbGVtZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3QgcGFkZGluZ09iamVjdCA9IGdldFBhZGRpbmdPYmplY3QocGFkZGluZyk7XG4gICAgY29uc3QgY29vcmRzID0ge1xuICAgICAgeCxcbiAgICAgIHlcbiAgICB9O1xuICAgIGNvbnN0IGF4aXMgPSBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCk7XG4gICAgY29uc3QgbGVuZ3RoID0gZ2V0QXhpc0xlbmd0aChheGlzKTtcbiAgICBjb25zdCBhcnJvd0RpbWVuc2lvbnMgPSBhd2FpdCBwbGF0Zm9ybS5nZXREaW1lbnNpb25zKGVsZW1lbnQpO1xuICAgIGNvbnN0IGlzWUF4aXMgPSBheGlzID09PSAneSc7XG4gICAgY29uc3QgbWluUHJvcCA9IGlzWUF4aXMgPyAndG9wJyA6ICdsZWZ0JztcbiAgICBjb25zdCBtYXhQcm9wID0gaXNZQXhpcyA/ICdib3R0b20nIDogJ3JpZ2h0JztcbiAgICBjb25zdCBjbGllbnRQcm9wID0gaXNZQXhpcyA/ICdjbGllbnRIZWlnaHQnIDogJ2NsaWVudFdpZHRoJztcbiAgICBjb25zdCBlbmREaWZmID0gcmVjdHMucmVmZXJlbmNlW2xlbmd0aF0gKyByZWN0cy5yZWZlcmVuY2VbYXhpc10gLSBjb29yZHNbYXhpc10gLSByZWN0cy5mbG9hdGluZ1tsZW5ndGhdO1xuICAgIGNvbnN0IHN0YXJ0RGlmZiA9IGNvb3Jkc1theGlzXSAtIHJlY3RzLnJlZmVyZW5jZVtheGlzXTtcbiAgICBjb25zdCBhcnJvd09mZnNldFBhcmVudCA9IGF3YWl0IChwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldE9mZnNldFBhcmVudChlbGVtZW50KSk7XG4gICAgbGV0IGNsaWVudFNpemUgPSBhcnJvd09mZnNldFBhcmVudCA/IGFycm93T2Zmc2V0UGFyZW50W2NsaWVudFByb3BdIDogMDtcblxuICAgIC8vIERPTSBwbGF0Zm9ybSBjYW4gcmV0dXJuIGB3aW5kb3dgIGFzIHRoZSBgb2Zmc2V0UGFyZW50YC5cbiAgICBpZiAoIWNsaWVudFNpemUgfHwgIShhd2FpdCAocGxhdGZvcm0uaXNFbGVtZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc0VsZW1lbnQoYXJyb3dPZmZzZXRQYXJlbnQpKSkpIHtcbiAgICAgIGNsaWVudFNpemUgPSBlbGVtZW50cy5mbG9hdGluZ1tjbGllbnRQcm9wXSB8fCByZWN0cy5mbG9hdGluZ1tsZW5ndGhdO1xuICAgIH1cbiAgICBjb25zdCBjZW50ZXJUb1JlZmVyZW5jZSA9IGVuZERpZmYgLyAyIC0gc3RhcnREaWZmIC8gMjtcblxuICAgIC8vIElmIHRoZSBwYWRkaW5nIGlzIGxhcmdlIGVub3VnaCB0aGF0IGl0IGNhdXNlcyB0aGUgYXJyb3cgdG8gbm8gbG9uZ2VyIGJlXG4gICAgLy8gY2VudGVyZWQsIG1vZGlmeSB0aGUgcGFkZGluZyBzbyB0aGF0IGl0IGlzIGNlbnRlcmVkLlxuICAgIGNvbnN0IGxhcmdlc3RQb3NzaWJsZVBhZGRpbmcgPSBjbGllbnRTaXplIC8gMiAtIGFycm93RGltZW5zaW9uc1tsZW5ndGhdIC8gMiAtIDE7XG4gICAgY29uc3QgbWluUGFkZGluZyA9IG1pbihwYWRkaW5nT2JqZWN0W21pblByb3BdLCBsYXJnZXN0UG9zc2libGVQYWRkaW5nKTtcbiAgICBjb25zdCBtYXhQYWRkaW5nID0gbWluKHBhZGRpbmdPYmplY3RbbWF4UHJvcF0sIGxhcmdlc3RQb3NzaWJsZVBhZGRpbmcpO1xuXG4gICAgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBkb2Vzbid0IG92ZXJmbG93IHRoZSBmbG9hdGluZyBlbGVtZW50IGlmIHRoZSBjZW50ZXJcbiAgICAvLyBwb2ludCBpcyBvdXRzaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50J3MgYm91bmRzLlxuICAgIGNvbnN0IG1pbiQxID0gbWluUGFkZGluZztcbiAgICBjb25zdCBtYXggPSBjbGllbnRTaXplIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLSBtYXhQYWRkaW5nO1xuICAgIGNvbnN0IGNlbnRlciA9IGNsaWVudFNpemUgLyAyIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLyAyICsgY2VudGVyVG9SZWZlcmVuY2U7XG4gICAgY29uc3Qgb2Zmc2V0ID0gY2xhbXAobWluJDEsIGNlbnRlciwgbWF4KTtcblxuICAgIC8vIElmIHRoZSByZWZlcmVuY2UgaXMgc21hbGwgZW5vdWdoIHRoYXQgdGhlIGFycm93J3MgcGFkZGluZyBjYXVzZXMgaXQgdG9cbiAgICAvLyB0byBwb2ludCB0byBub3RoaW5nIGZvciBhbiBhbGlnbmVkIHBsYWNlbWVudCwgYWRqdXN0IHRoZSBvZmZzZXQgb2YgdGhlXG4gICAgLy8gZmxvYXRpbmcgZWxlbWVudCBpdHNlbGYuIFRvIGVuc3VyZSBgc2hpZnQoKWAgY29udGludWVzIHRvIHRha2UgYWN0aW9uLFxuICAgIC8vIGEgc2luZ2xlIHJlc2V0IGlzIHBlcmZvcm1lZCB3aGVuIHRoaXMgaXMgdHJ1ZS5cbiAgICBjb25zdCBzaG91bGRBZGRPZmZzZXQgPSAhbWlkZGxld2FyZURhdGEuYXJyb3cgJiYgZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkgIT0gbnVsbCAmJiBjZW50ZXIgIT09IG9mZnNldCAmJiByZWN0cy5yZWZlcmVuY2VbbGVuZ3RoXSAvIDIgLSAoY2VudGVyIDwgbWluJDEgPyBtaW5QYWRkaW5nIDogbWF4UGFkZGluZykgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAvIDIgPCAwO1xuICAgIGNvbnN0IGFsaWdubWVudE9mZnNldCA9IHNob3VsZEFkZE9mZnNldCA/IGNlbnRlciA8IG1pbiQxID8gY2VudGVyIC0gbWluJDEgOiBjZW50ZXIgLSBtYXggOiAwO1xuICAgIHJldHVybiB7XG4gICAgICBbYXhpc106IGNvb3Jkc1theGlzXSArIGFsaWdubWVudE9mZnNldCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgW2F4aXNdOiBvZmZzZXQsXG4gICAgICAgIGNlbnRlck9mZnNldDogY2VudGVyIC0gb2Zmc2V0IC0gYWxpZ25tZW50T2Zmc2V0LFxuICAgICAgICAuLi4oc2hvdWxkQWRkT2Zmc2V0ICYmIHtcbiAgICAgICAgICBhbGlnbm1lbnRPZmZzZXRcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICByZXNldDogc2hvdWxkQWRkT2Zmc2V0XG4gICAgfTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIGdldFBsYWNlbWVudExpc3QoYWxpZ25tZW50LCBhdXRvQWxpZ25tZW50LCBhbGxvd2VkUGxhY2VtZW50cykge1xuICBjb25zdCBhbGxvd2VkUGxhY2VtZW50c1NvcnRlZEJ5QWxpZ25tZW50ID0gYWxpZ25tZW50ID8gWy4uLmFsbG93ZWRQbGFjZW1lbnRzLmZpbHRlcihwbGFjZW1lbnQgPT4gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkgPT09IGFsaWdubWVudCksIC4uLmFsbG93ZWRQbGFjZW1lbnRzLmZpbHRlcihwbGFjZW1lbnQgPT4gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkgIT09IGFsaWdubWVudCldIDogYWxsb3dlZFBsYWNlbWVudHMuZmlsdGVyKHBsYWNlbWVudCA9PiBnZXRTaWRlKHBsYWNlbWVudCkgPT09IHBsYWNlbWVudCk7XG4gIHJldHVybiBhbGxvd2VkUGxhY2VtZW50c1NvcnRlZEJ5QWxpZ25tZW50LmZpbHRlcihwbGFjZW1lbnQgPT4ge1xuICAgIGlmIChhbGlnbm1lbnQpIHtcbiAgICAgIHJldHVybiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSA9PT0gYWxpZ25tZW50IHx8IChhdXRvQWxpZ25tZW50ID8gZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQocGxhY2VtZW50KSAhPT0gcGxhY2VtZW50IDogZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG59XG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBjaG9vc2luZyB0aGUgcGxhY2VtZW50XG4gKiB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseSwgd2l0aG91dCBuZWVkaW5nIHRvIHNwZWNpZnkgYVxuICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9QbGFjZW1lbnRcbiAqL1xuY29uc3QgYXV0b1BsYWNlbWVudCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnYXV0b1BsYWNlbWVudCcsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRhdXRvUCwgX21pZGRsZXdhcmVEYXRhJGF1dG9QMiwgX3BsYWNlbWVudHNUaGF0Rml0T25FO1xuICAgICAgY29uc3Qge1xuICAgICAgICByZWN0cyxcbiAgICAgICAgbWlkZGxld2FyZURhdGEsXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcGxhdGZvcm0sXG4gICAgICAgIGVsZW1lbnRzXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGNyb3NzQXhpcyA9IGZhbHNlLFxuICAgICAgICBhbGlnbm1lbnQsXG4gICAgICAgIGFsbG93ZWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cyxcbiAgICAgICAgYXV0b0FsaWdubWVudCA9IHRydWUsXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIGNvbnN0IHBsYWNlbWVudHMkMSA9IGFsaWdubWVudCAhPT0gdW5kZWZpbmVkIHx8IGFsbG93ZWRQbGFjZW1lbnRzID09PSBwbGFjZW1lbnRzID8gZ2V0UGxhY2VtZW50TGlzdChhbGlnbm1lbnQgfHwgbnVsbCwgYXV0b0FsaWdubWVudCwgYWxsb3dlZFBsYWNlbWVudHMpIDogYWxsb3dlZFBsYWNlbWVudHM7XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gKChfbWlkZGxld2FyZURhdGEkYXV0b1AgPSBtaWRkbGV3YXJlRGF0YS5hdXRvUGxhY2VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGF1dG9QLmluZGV4KSB8fCAwO1xuICAgICAgY29uc3QgY3VycmVudFBsYWNlbWVudCA9IHBsYWNlbWVudHMkMVtjdXJyZW50SW5kZXhdO1xuICAgICAgaWYgKGN1cnJlbnRQbGFjZW1lbnQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBjb25zdCBhbGlnbm1lbnRTaWRlcyA9IGdldEFsaWdubWVudFNpZGVzKGN1cnJlbnRQbGFjZW1lbnQsIHJlY3RzLCBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGVsZW1lbnRzLmZsb2F0aW5nKSkpO1xuXG4gICAgICAvLyBNYWtlIGBjb21wdXRlQ29vcmRzYCBzdGFydCBmcm9tIHRoZSByaWdodCBwbGFjZS5cbiAgICAgIGlmIChwbGFjZW1lbnQgIT09IGN1cnJlbnRQbGFjZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnRzJDFbMF1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBjdXJyZW50T3ZlcmZsb3dzID0gW292ZXJmbG93W2dldFNpZGUoY3VycmVudFBsYWNlbWVudCldLCBvdmVyZmxvd1thbGlnbm1lbnRTaWRlc1swXV0sIG92ZXJmbG93W2FsaWdubWVudFNpZGVzWzFdXV07XG4gICAgICBjb25zdCBhbGxPdmVyZmxvd3MgPSBbLi4uKCgoX21pZGRsZXdhcmVEYXRhJGF1dG9QMiA9IG1pZGRsZXdhcmVEYXRhLmF1dG9QbGFjZW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkYXV0b1AyLm92ZXJmbG93cykgfHwgW10pLCB7XG4gICAgICAgIHBsYWNlbWVudDogY3VycmVudFBsYWNlbWVudCxcbiAgICAgICAgb3ZlcmZsb3dzOiBjdXJyZW50T3ZlcmZsb3dzXG4gICAgICB9XTtcbiAgICAgIGNvbnN0IG5leHRQbGFjZW1lbnQgPSBwbGFjZW1lbnRzJDFbY3VycmVudEluZGV4ICsgMV07XG5cbiAgICAgIC8vIFRoZXJlIGFyZSBtb3JlIHBsYWNlbWVudHMgdG8gY2hlY2suXG4gICAgICBpZiAobmV4dFBsYWNlbWVudCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXggKyAxLFxuICAgICAgICAgICAgb3ZlcmZsb3dzOiBhbGxPdmVyZmxvd3NcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICBwbGFjZW1lbnQ6IG5leHRQbGFjZW1lbnRcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBwbGFjZW1lbnRzU29ydGVkQnlNb3N0U3BhY2UgPSBhbGxPdmVyZmxvd3MubWFwKGQgPT4ge1xuICAgICAgICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQoZC5wbGFjZW1lbnQpO1xuICAgICAgICByZXR1cm4gW2QucGxhY2VtZW50LCBhbGlnbm1lbnQgJiYgY3Jvc3NBeGlzID9cbiAgICAgICAgLy8gQ2hlY2sgYWxvbmcgdGhlIG1haW5BeGlzIGFuZCBtYWluIGNyb3NzQXhpcyBzaWRlLlxuICAgICAgICBkLm92ZXJmbG93cy5zbGljZSgwLCAyKS5yZWR1Y2UoKGFjYywgdikgPT4gYWNjICsgdiwgMCkgOlxuICAgICAgICAvLyBDaGVjayBvbmx5IHRoZSBtYWluQXhpcy5cbiAgICAgICAgZC5vdmVyZmxvd3NbMF0sIGQub3ZlcmZsb3dzXTtcbiAgICAgIH0pLnNvcnQoKGEsIGIpID0+IGFbMV0gLSBiWzFdKTtcbiAgICAgIGNvbnN0IHBsYWNlbWVudHNUaGF0Rml0T25FYWNoU2lkZSA9IHBsYWNlbWVudHNTb3J0ZWRCeU1vc3RTcGFjZS5maWx0ZXIoZCA9PiBkWzJdLnNsaWNlKDAsXG4gICAgICAvLyBBbGlnbmVkIHBsYWNlbWVudHMgc2hvdWxkIG5vdCBjaGVjayB0aGVpciBvcHBvc2l0ZSBjcm9zc0F4aXNcbiAgICAgIC8vIHNpZGUuXG4gICAgICBnZXRBbGlnbm1lbnQoZFswXSkgPyAyIDogMykuZXZlcnkodiA9PiB2IDw9IDApKTtcbiAgICAgIGNvbnN0IHJlc2V0UGxhY2VtZW50ID0gKChfcGxhY2VtZW50c1RoYXRGaXRPbkUgPSBwbGFjZW1lbnRzVGhhdEZpdE9uRWFjaFNpZGVbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfcGxhY2VtZW50c1RoYXRGaXRPbkVbMF0pIHx8IHBsYWNlbWVudHNTb3J0ZWRCeU1vc3RTcGFjZVswXVswXTtcbiAgICAgIGlmIChyZXNldFBsYWNlbWVudCAhPT0gcGxhY2VtZW50KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgaW5kZXg6IGN1cnJlbnRJbmRleCArIDEsXG4gICAgICAgICAgICBvdmVyZmxvd3M6IGFsbE92ZXJmbG93c1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIHBsYWNlbWVudDogcmVzZXRQbGFjZW1lbnRcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9O1xufTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgZmxpcHBpbmcgdGhlIGBwbGFjZW1lbnRgXG4gKiBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcgd2hlbiB0aGUgcHJlZmVycmVkIHBsYWNlbWVudChzKSB3aWxsIG92ZXJmbG93IHRoZVxuICogY2xpcHBpbmcgYm91bmRhcnkuIEFsdGVybmF0aXZlIHRvIGBhdXRvUGxhY2VtZW50YC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9mbGlwXG4gKi9cbmNvbnN0IGZsaXAgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2ZsaXAnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkYXJyb3csIF9taWRkbGV3YXJlRGF0YSRmbGlwO1xuICAgICAgY29uc3Qge1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhLFxuICAgICAgICByZWN0cyxcbiAgICAgICAgaW5pdGlhbFBsYWNlbWVudCxcbiAgICAgICAgcGxhdGZvcm0sXG4gICAgICAgIGVsZW1lbnRzXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIG1haW5BeGlzOiBjaGVja01haW5BeGlzID0gdHJ1ZSxcbiAgICAgICAgY3Jvc3NBeGlzOiBjaGVja0Nyb3NzQXhpcyA9IHRydWUsXG4gICAgICAgIGZhbGxiYWNrUGxhY2VtZW50czogc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzLFxuICAgICAgICBmYWxsYmFja1N0cmF0ZWd5ID0gJ2Jlc3RGaXQnLFxuICAgICAgICBmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uID0gJ25vbmUnLFxuICAgICAgICBmbGlwQWxpZ25tZW50ID0gdHJ1ZSxcbiAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuXG4gICAgICAvLyBJZiBhIHJlc2V0IGJ5IHRoZSBhcnJvdyB3YXMgY2F1c2VkIGR1ZSB0byBhbiBhbGlnbm1lbnQgb2Zmc2V0IGJlaW5nXG4gICAgICAvLyBhZGRlZCwgd2Ugc2hvdWxkIHNraXAgYW55IGxvZ2ljIG5vdyBzaW5jZSBgZmxpcCgpYCBoYXMgYWxyZWFkeSBkb25lIGl0c1xuICAgICAgLy8gd29yay5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMjU0OSNpc3N1ZWNvbW1lbnQtMTcxOTYwMTY0M1xuICAgICAgaWYgKChfbWlkZGxld2FyZURhdGEkYXJyb3cgPSBtaWRkbGV3YXJlRGF0YS5hcnJvdykgIT0gbnVsbCAmJiBfbWlkZGxld2FyZURhdGEkYXJyb3cuYWxpZ25tZW50T2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gICAgICBjb25zdCBpbml0aWFsU2lkZUF4aXMgPSBnZXRTaWRlQXhpcyhpbml0aWFsUGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IGlzQmFzZVBsYWNlbWVudCA9IGdldFNpZGUoaW5pdGlhbFBsYWNlbWVudCkgPT09IGluaXRpYWxQbGFjZW1lbnQ7XG4gICAgICBjb25zdCBydGwgPSBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGVsZW1lbnRzLmZsb2F0aW5nKSk7XG4gICAgICBjb25zdCBmYWxsYmFja1BsYWNlbWVudHMgPSBzcGVjaWZpZWRGYWxsYmFja1BsYWNlbWVudHMgfHwgKGlzQmFzZVBsYWNlbWVudCB8fCAhZmxpcEFsaWdubWVudCA/IFtnZXRPcHBvc2l0ZVBsYWNlbWVudChpbml0aWFsUGxhY2VtZW50KV0gOiBnZXRFeHBhbmRlZFBsYWNlbWVudHMoaW5pdGlhbFBsYWNlbWVudCkpO1xuICAgICAgY29uc3QgaGFzRmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiA9IGZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24gIT09ICdub25lJztcbiAgICAgIGlmICghc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzICYmIGhhc0ZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24pIHtcbiAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnRzLnB1c2goLi4uZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cyhpbml0aWFsUGxhY2VtZW50LCBmbGlwQWxpZ25tZW50LCBmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uLCBydGwpKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBsYWNlbWVudHMgPSBbaW5pdGlhbFBsYWNlbWVudCwgLi4uZmFsbGJhY2tQbGFjZW1lbnRzXTtcbiAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XG4gICAgICBjb25zdCBvdmVyZmxvd3MgPSBbXTtcbiAgICAgIGxldCBvdmVyZmxvd3NEYXRhID0gKChfbWlkZGxld2FyZURhdGEkZmxpcCA9IG1pZGRsZXdhcmVEYXRhLmZsaXApID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkZmxpcC5vdmVyZmxvd3MpIHx8IFtdO1xuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICAgICAgb3ZlcmZsb3dzLnB1c2gob3ZlcmZsb3dbc2lkZV0pO1xuICAgICAgfVxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XG4gICAgICAgIGNvbnN0IHNpZGVzID0gZ2V0QWxpZ25tZW50U2lkZXMocGxhY2VtZW50LCByZWN0cywgcnRsKTtcbiAgICAgICAgb3ZlcmZsb3dzLnB1c2gob3ZlcmZsb3dbc2lkZXNbMF1dLCBvdmVyZmxvd1tzaWRlc1sxXV0pO1xuICAgICAgfVxuICAgICAgb3ZlcmZsb3dzRGF0YSA9IFsuLi5vdmVyZmxvd3NEYXRhLCB7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgb3ZlcmZsb3dzXG4gICAgICB9XTtcblxuICAgICAgLy8gT25lIG9yIG1vcmUgc2lkZXMgaXMgb3ZlcmZsb3dpbmcuXG4gICAgICBpZiAoIW92ZXJmbG93cy5ldmVyeShzaWRlID0+IHNpZGUgPD0gMCkpIHtcbiAgICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRmbGlwMiwgX292ZXJmbG93c0RhdGEkZmlsdGVyO1xuICAgICAgICBjb25zdCBuZXh0SW5kZXggPSAoKChfbWlkZGxld2FyZURhdGEkZmxpcDIgPSBtaWRkbGV3YXJlRGF0YS5mbGlwKSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGZsaXAyLmluZGV4KSB8fCAwKSArIDE7XG4gICAgICAgIGNvbnN0IG5leHRQbGFjZW1lbnQgPSBwbGFjZW1lbnRzW25leHRJbmRleF07XG4gICAgICAgIGlmIChuZXh0UGxhY2VtZW50KSB7XG4gICAgICAgICAgY29uc3QgaWdub3JlQ3Jvc3NBeGlzT3ZlcmZsb3cgPSBjaGVja0Nyb3NzQXhpcyA9PT0gJ2FsaWdubWVudCcgPyBpbml0aWFsU2lkZUF4aXMgIT09IGdldFNpZGVBeGlzKG5leHRQbGFjZW1lbnQpIDogZmFsc2U7XG4gICAgICAgICAgaWYgKCFpZ25vcmVDcm9zc0F4aXNPdmVyZmxvdyB8fFxuICAgICAgICAgIC8vIFdlIGxlYXZlIHRoZSBjdXJyZW50IG1haW4gYXhpcyBvbmx5IGlmIGV2ZXJ5IHBsYWNlbWVudCBvbiB0aGF0IGF4aXNcbiAgICAgICAgICAvLyBvdmVyZmxvd3MgdGhlIG1haW4gYXhpcy5cbiAgICAgICAgICBvdmVyZmxvd3NEYXRhLmV2ZXJ5KGQgPT4gZ2V0U2lkZUF4aXMoZC5wbGFjZW1lbnQpID09PSBpbml0aWFsU2lkZUF4aXMgPyBkLm92ZXJmbG93c1swXSA+IDAgOiB0cnVlKSkge1xuICAgICAgICAgICAgLy8gVHJ5IG5leHQgcGxhY2VtZW50IGFuZCByZS1ydW4gdGhlIGxpZmVjeWNsZS5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBpbmRleDogbmV4dEluZGV4LFxuICAgICAgICAgICAgICAgIG92ZXJmbG93czogb3ZlcmZsb3dzRGF0YVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgICAgIHBsYWNlbWVudDogbmV4dFBsYWNlbWVudFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0LCBmaW5kIHRoZSBjYW5kaWRhdGVzIHRoYXQgZml0IG9uIHRoZSBtYWluQXhpcyBzaWRlIG9mIG92ZXJmbG93LFxuICAgICAgICAvLyB0aGVuIGZpbmQgdGhlIHBsYWNlbWVudCB0aGF0IGZpdHMgdGhlIGJlc3Qgb24gdGhlIG1haW4gY3Jvc3NBeGlzIHNpZGUuXG4gICAgICAgIGxldCByZXNldFBsYWNlbWVudCA9IChfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIgPSBvdmVyZmxvd3NEYXRhLmZpbHRlcihkID0+IGQub3ZlcmZsb3dzWzBdIDw9IDApLnNvcnQoKGEsIGIpID0+IGEub3ZlcmZsb3dzWzFdIC0gYi5vdmVyZmxvd3NbMV0pWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX292ZXJmbG93c0RhdGEkZmlsdGVyLnBsYWNlbWVudDtcblxuICAgICAgICAvLyBPdGhlcndpc2UgZmFsbGJhY2suXG4gICAgICAgIGlmICghcmVzZXRQbGFjZW1lbnQpIHtcbiAgICAgICAgICBzd2l0Y2ggKGZhbGxiYWNrU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Jlc3RGaXQnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFyIF9vdmVyZmxvd3NEYXRhJGZpbHRlcjI7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50ID0gKF9vdmVyZmxvd3NEYXRhJGZpbHRlcjIgPSBvdmVyZmxvd3NEYXRhLmZpbHRlcihkID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTaWRlQXhpcyA9IGdldFNpZGVBeGlzKGQucGxhY2VtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTaWRlQXhpcyA9PT0gaW5pdGlhbFNpZGVBeGlzIHx8XG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIGJpYXMgdG8gdGhlIGB5YCBzaWRlIGF4aXMgZHVlIHRvIGhvcml6b250YWxcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVhZGluZyBkaXJlY3Rpb25zIGZhdm9yaW5nIGdyZWF0ZXIgd2lkdGguXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTaWRlQXhpcyA9PT0gJ3knO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSkubWFwKGQgPT4gW2QucGxhY2VtZW50LCBkLm92ZXJmbG93cy5maWx0ZXIob3ZlcmZsb3cgPT4gb3ZlcmZsb3cgPiAwKS5yZWR1Y2UoKGFjYywgb3ZlcmZsb3cpID0+IGFjYyArIG92ZXJmbG93LCAwKV0pLnNvcnQoKGEsIGIpID0+IGFbMV0gLSBiWzFdKVswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9vdmVyZmxvd3NEYXRhJGZpbHRlcjJbMF07XG4gICAgICAgICAgICAgICAgaWYgKHBsYWNlbWVudCkge1xuICAgICAgICAgICAgICAgICAgcmVzZXRQbGFjZW1lbnQgPSBwbGFjZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdpbml0aWFsUGxhY2VtZW50JzpcbiAgICAgICAgICAgICAgcmVzZXRQbGFjZW1lbnQgPSBpbml0aWFsUGxhY2VtZW50O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYWNlbWVudCAhPT0gcmVzZXRQbGFjZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgICAgcGxhY2VtZW50OiByZXNldFBsYWNlbWVudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBnZXRTaWRlT2Zmc2V0cyhvdmVyZmxvdywgcmVjdCkge1xuICByZXR1cm4ge1xuICAgIHRvcDogb3ZlcmZsb3cudG9wIC0gcmVjdC5oZWlnaHQsXG4gICAgcmlnaHQ6IG92ZXJmbG93LnJpZ2h0IC0gcmVjdC53aWR0aCxcbiAgICBib3R0b206IG92ZXJmbG93LmJvdHRvbSAtIHJlY3QuaGVpZ2h0LFxuICAgIGxlZnQ6IG92ZXJmbG93LmxlZnQgLSByZWN0LndpZHRoXG4gIH07XG59XG5mdW5jdGlvbiBpc0FueVNpZGVGdWxseUNsaXBwZWQob3ZlcmZsb3cpIHtcbiAgcmV0dXJuIHNpZGVzLnNvbWUoc2lkZSA9PiBvdmVyZmxvd1tzaWRlXSA+PSAwKTtcbn1cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBoaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50IGluIGFwcGxpY2FibGUgc2l0dWF0aW9ucywgc3VjaCBhc1xuICogd2hlbiBpdCBpcyBub3QgaW4gdGhlIHNhbWUgY2xpcHBpbmcgY29udGV4dCBhcyB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaGlkZVxuICovXG5jb25zdCBoaWRlID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdoaWRlJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlY3RzXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHN0cmF0ZWd5ID0gJ3JlZmVyZW5jZUhpZGRlbicsXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAncmVmZXJlbmNlSGlkZGVuJzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9ucyxcbiAgICAgICAgICAgICAgZWxlbWVudENvbnRleHQ6ICdyZWZlcmVuY2UnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldHMgPSBnZXRTaWRlT2Zmc2V0cyhvdmVyZmxvdywgcmVjdHMucmVmZXJlbmNlKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VIaWRkZW5PZmZzZXRzOiBvZmZzZXRzLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZUhpZGRlbjogaXNBbnlTaWRlRnVsbHlDbGlwcGVkKG9mZnNldHMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICBjYXNlICdlc2NhcGVkJzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9ucyxcbiAgICAgICAgICAgICAgYWx0Qm91bmRhcnk6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0cy5mbG9hdGluZyk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZXNjYXBlZE9mZnNldHM6IG9mZnNldHMsXG4gICAgICAgICAgICAgICAgZXNjYXBlZDogaXNBbnlTaWRlRnVsbHlDbGlwcGVkKG9mZnNldHMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdSZWN0KHJlY3RzKSB7XG4gIGNvbnN0IG1pblggPSBtaW4oLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5sZWZ0KSk7XG4gIGNvbnN0IG1pblkgPSBtaW4oLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC50b3ApKTtcbiAgY29uc3QgbWF4WCA9IG1heCguLi5yZWN0cy5tYXAocmVjdCA9PiByZWN0LnJpZ2h0KSk7XG4gIGNvbnN0IG1heFkgPSBtYXgoLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5ib3R0b20pKTtcbiAgcmV0dXJuIHtcbiAgICB4OiBtaW5YLFxuICAgIHk6IG1pblksXG4gICAgd2lkdGg6IG1heFggLSBtaW5YLFxuICAgIGhlaWdodDogbWF4WSAtIG1pbllcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFJlY3RzQnlMaW5lKHJlY3RzKSB7XG4gIGNvbnN0IHNvcnRlZFJlY3RzID0gcmVjdHMuc2xpY2UoKS5zb3J0KChhLCBiKSA9PiBhLnkgLSBiLnkpO1xuICBjb25zdCBncm91cHMgPSBbXTtcbiAgbGV0IHByZXZSZWN0ID0gbnVsbDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3J0ZWRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHJlY3QgPSBzb3J0ZWRSZWN0c1tpXTtcbiAgICBpZiAoIXByZXZSZWN0IHx8IHJlY3QueSAtIHByZXZSZWN0LnkgPiBwcmV2UmVjdC5oZWlnaHQgLyAyKSB7XG4gICAgICBncm91cHMucHVzaChbcmVjdF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBncm91cHNbZ3JvdXBzLmxlbmd0aCAtIDFdLnB1c2gocmVjdCk7XG4gICAgfVxuICAgIHByZXZSZWN0ID0gcmVjdDtcbiAgfVxuICByZXR1cm4gZ3JvdXBzLm1hcChyZWN0ID0+IHJlY3RUb0NsaWVudFJlY3QoZ2V0Qm91bmRpbmdSZWN0KHJlY3QpKSk7XG59XG4vKipcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cbiAqIG92ZXIgbXVsdGlwbGUgbGluZXMsIHN1Y2ggYXMgaHlwZXJsaW5rcyBvciByYW5nZSBzZWxlY3Rpb25zLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2lubGluZVxuICovXG5jb25zdCBpbmxpbmUgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2lubGluZScsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIGVsZW1lbnRzLFxuICAgICAgICByZWN0cyxcbiAgICAgICAgcGxhdGZvcm0sXG4gICAgICAgIHN0cmF0ZWd5XG4gICAgICB9ID0gc3RhdGU7XG4gICAgICAvLyBBIE1vdXNlRXZlbnQncyBjbGllbnR7WCxZfSBjb29yZHMgY2FuIGJlIHVwIHRvIDIgcGl4ZWxzIG9mZiBhXG4gICAgICAvLyBDbGllbnRSZWN0J3MgYm91bmRzLCBkZXNwaXRlIHRoZSBldmVudCBsaXN0ZW5lciBiZWluZyB0cmlnZ2VyZWQuIEFcbiAgICAgIC8vIHBhZGRpbmcgb2YgMiBzZWVtcyB0byBoYW5kbGUgdGhpcyBpc3N1ZS5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFkZGluZyA9IDIsXG4gICAgICAgIHgsXG4gICAgICAgIHlcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBuYXRpdmVDbGllbnRSZWN0cyA9IEFycmF5LmZyb20oKGF3YWl0IChwbGF0Zm9ybS5nZXRDbGllbnRSZWN0cyA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0Q2xpZW50UmVjdHMoZWxlbWVudHMucmVmZXJlbmNlKSkpIHx8IFtdKTtcbiAgICAgIGNvbnN0IGNsaWVudFJlY3RzID0gZ2V0UmVjdHNCeUxpbmUobmF0aXZlQ2xpZW50UmVjdHMpO1xuICAgICAgY29uc3QgZmFsbGJhY2sgPSByZWN0VG9DbGllbnRSZWN0KGdldEJvdW5kaW5nUmVjdChuYXRpdmVDbGllbnRSZWN0cykpO1xuICAgICAgY29uc3QgcGFkZGluZ09iamVjdCA9IGdldFBhZGRpbmdPYmplY3QocGFkZGluZyk7XG4gICAgICBmdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgICAgIC8vIFRoZXJlIGFyZSB0d28gcmVjdHMgYW5kIHRoZXkgYXJlIGRpc2pvaW5lZC5cbiAgICAgICAgaWYgKGNsaWVudFJlY3RzLmxlbmd0aCA9PT0gMiAmJiBjbGllbnRSZWN0c1swXS5sZWZ0ID4gY2xpZW50UmVjdHNbMV0ucmlnaHQgJiYgeCAhPSBudWxsICYmIHkgIT0gbnVsbCkge1xuICAgICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IHJlY3QgaW4gd2hpY2ggdGhlIHBvaW50IGlzIGZ1bGx5IGluc2lkZS5cbiAgICAgICAgICByZXR1cm4gY2xpZW50UmVjdHMuZmluZChyZWN0ID0+IHggPiByZWN0LmxlZnQgLSBwYWRkaW5nT2JqZWN0LmxlZnQgJiYgeCA8IHJlY3QucmlnaHQgKyBwYWRkaW5nT2JqZWN0LnJpZ2h0ICYmIHkgPiByZWN0LnRvcCAtIHBhZGRpbmdPYmplY3QudG9wICYmIHkgPCByZWN0LmJvdHRvbSArIHBhZGRpbmdPYmplY3QuYm90dG9tKSB8fCBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZXJlIGFyZSAyIG9yIG1vcmUgY29ubmVjdGVkIHJlY3RzLlxuICAgICAgICBpZiAoY2xpZW50UmVjdHMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICBpZiAoZ2V0U2lkZUF4aXMocGxhY2VtZW50KSA9PT0gJ3knKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdFJlY3QgPSBjbGllbnRSZWN0c1swXTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RSZWN0ID0gY2xpZW50UmVjdHNbY2xpZW50UmVjdHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBjb25zdCBpc1RvcCA9IGdldFNpZGUocGxhY2VtZW50KSA9PT0gJ3RvcCc7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSBmaXJzdFJlY3QudG9wO1xuICAgICAgICAgICAgY29uc3QgYm90dG9tID0gbGFzdFJlY3QuYm90dG9tO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGlzVG9wID8gZmlyc3RSZWN0LmxlZnQgOiBsYXN0UmVjdC5sZWZ0O1xuICAgICAgICAgICAgY29uc3QgcmlnaHQgPSBpc1RvcCA/IGZpcnN0UmVjdC5yaWdodCA6IGxhc3RSZWN0LnJpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSByaWdodCAtIGxlZnQ7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBib3R0b20gLSB0b3A7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB0b3AsXG4gICAgICAgICAgICAgIGJvdHRvbSxcbiAgICAgICAgICAgICAgbGVmdCxcbiAgICAgICAgICAgICAgcmlnaHQsXG4gICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICAgIHg6IGxlZnQsXG4gICAgICAgICAgICAgIHk6IHRvcFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgaXNMZWZ0U2lkZSA9IGdldFNpZGUocGxhY2VtZW50KSA9PT0gJ2xlZnQnO1xuICAgICAgICAgIGNvbnN0IG1heFJpZ2h0ID0gbWF4KC4uLmNsaWVudFJlY3RzLm1hcChyZWN0ID0+IHJlY3QucmlnaHQpKTtcbiAgICAgICAgICBjb25zdCBtaW5MZWZ0ID0gbWluKC4uLmNsaWVudFJlY3RzLm1hcChyZWN0ID0+IHJlY3QubGVmdCkpO1xuICAgICAgICAgIGNvbnN0IG1lYXN1cmVSZWN0cyA9IGNsaWVudFJlY3RzLmZpbHRlcihyZWN0ID0+IGlzTGVmdFNpZGUgPyByZWN0LmxlZnQgPT09IG1pbkxlZnQgOiByZWN0LnJpZ2h0ID09PSBtYXhSaWdodCk7XG4gICAgICAgICAgY29uc3QgdG9wID0gbWVhc3VyZVJlY3RzWzBdLnRvcDtcbiAgICAgICAgICBjb25zdCBib3R0b20gPSBtZWFzdXJlUmVjdHNbbWVhc3VyZVJlY3RzLmxlbmd0aCAtIDFdLmJvdHRvbTtcbiAgICAgICAgICBjb25zdCBsZWZ0ID0gbWluTGVmdDtcbiAgICAgICAgICBjb25zdCByaWdodCA9IG1heFJpZ2h0O1xuICAgICAgICAgIGNvbnN0IHdpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9wLFxuICAgICAgICAgICAgYm90dG9tLFxuICAgICAgICAgICAgbGVmdCxcbiAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB4OiBsZWZ0LFxuICAgICAgICAgICAgeTogdG9wXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsbGJhY2s7XG4gICAgICB9XG4gICAgICBjb25zdCByZXNldFJlY3RzID0gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0XG4gICAgICAgIH0sXG4gICAgICAgIGZsb2F0aW5nOiBlbGVtZW50cy5mbG9hdGluZyxcbiAgICAgICAgc3RyYXRlZ3lcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlY3RzLnJlZmVyZW5jZS54ICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS54IHx8IHJlY3RzLnJlZmVyZW5jZS55ICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS55IHx8IHJlY3RzLnJlZmVyZW5jZS53aWR0aCAhPT0gcmVzZXRSZWN0cy5yZWZlcmVuY2Uud2lkdGggfHwgcmVjdHMucmVmZXJlbmNlLmhlaWdodCAhPT0gcmVzZXRSZWN0cy5yZWZlcmVuY2UuaGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIHJlY3RzOiByZXNldFJlY3RzXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IG9yaWdpblNpZGVzID0gLyojX19QVVJFX18qL25ldyBTZXQoWydsZWZ0JywgJ3RvcCddKTtcblxuLy8gRm9yIHR5cGUgYmFja3dhcmRzLWNvbXBhdGliaWxpdHksIHRoZSBgT2Zmc2V0T3B0aW9uc2AgdHlwZSB3YXMgYWxzb1xuLy8gRGVyaXZhYmxlLlxuXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0VmFsdWVUb0Nvb3JkcyhzdGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCB7XG4gICAgcGxhY2VtZW50LFxuICAgIHBsYXRmb3JtLFxuICAgIGVsZW1lbnRzXG4gIH0gPSBzdGF0ZTtcbiAgY29uc3QgcnRsID0gYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpO1xuICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xuICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQocGxhY2VtZW50KTtcbiAgY29uc3QgaXNWZXJ0aWNhbCA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5JztcbiAgY29uc3QgbWFpbkF4aXNNdWx0aSA9IG9yaWdpblNpZGVzLmhhcyhzaWRlKSA/IC0xIDogMTtcbiAgY29uc3QgY3Jvc3NBeGlzTXVsdGkgPSBydGwgJiYgaXNWZXJ0aWNhbCA/IC0xIDogMTtcbiAgY29uc3QgcmF3VmFsdWUgPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICBsZXQge1xuICAgIG1haW5BeGlzLFxuICAgIGNyb3NzQXhpcyxcbiAgICBhbGlnbm1lbnRBeGlzXG4gIH0gPSB0eXBlb2YgcmF3VmFsdWUgPT09ICdudW1iZXInID8ge1xuICAgIG1haW5BeGlzOiByYXdWYWx1ZSxcbiAgICBjcm9zc0F4aXM6IDAsXG4gICAgYWxpZ25tZW50QXhpczogbnVsbFxuICB9IDoge1xuICAgIG1haW5BeGlzOiByYXdWYWx1ZS5tYWluQXhpcyB8fCAwLFxuICAgIGNyb3NzQXhpczogcmF3VmFsdWUuY3Jvc3NBeGlzIHx8IDAsXG4gICAgYWxpZ25tZW50QXhpczogcmF3VmFsdWUuYWxpZ25tZW50QXhpc1xuICB9O1xuICBpZiAoYWxpZ25tZW50ICYmIHR5cGVvZiBhbGlnbm1lbnRBeGlzID09PSAnbnVtYmVyJykge1xuICAgIGNyb3NzQXhpcyA9IGFsaWdubWVudCA9PT0gJ2VuZCcgPyBhbGlnbm1lbnRBeGlzICogLTEgOiBhbGlnbm1lbnRBeGlzO1xuICB9XG4gIHJldHVybiBpc1ZlcnRpY2FsID8ge1xuICAgIHg6IGNyb3NzQXhpcyAqIGNyb3NzQXhpc011bHRpLFxuICAgIHk6IG1haW5BeGlzICogbWFpbkF4aXNNdWx0aVxuICB9IDoge1xuICAgIHg6IG1haW5BeGlzICogbWFpbkF4aXNNdWx0aSxcbiAgICB5OiBjcm9zc0F4aXMgKiBjcm9zc0F4aXNNdWx0aVxuICB9O1xufVxuXG4vKipcbiAqIE1vZGlmaWVzIHRoZSBwbGFjZW1lbnQgYnkgdHJhbnNsYXRpbmcgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYWxvbmcgdGhlXG4gKiBzcGVjaWZpZWQgYXhlcy5cbiAqIEEgbnVtYmVyIChzaG9ydGhhbmQgZm9yIGBtYWluQXhpc2Agb3IgZGlzdGFuY2UpLCBvciBhbiBheGVzIGNvbmZpZ3VyYXRpb25cbiAqIG9iamVjdCBtYXkgYmUgcGFzc2VkLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL29mZnNldFxuICovXG5jb25zdCBvZmZzZXQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IDA7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnb2Zmc2V0JyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICB2YXIgX21pZGRsZXdhcmVEYXRhJG9mZnNlLCBfbWlkZGxld2FyZURhdGEkYXJyb3c7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgbWlkZGxld2FyZURhdGFcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IGRpZmZDb29yZHMgPSBhd2FpdCBjb252ZXJ0VmFsdWVUb0Nvb3JkcyhzdGF0ZSwgb3B0aW9ucyk7XG5cbiAgICAgIC8vIElmIHRoZSBwbGFjZW1lbnQgaXMgdGhlIHNhbWUgYW5kIHRoZSBhcnJvdyBjYXVzZWQgYW4gYWxpZ25tZW50IG9mZnNldFxuICAgICAgLy8gdGhlbiB3ZSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGUgcG9zaXRpb25pbmcgY29vcmRpbmF0ZXMuXG4gICAgICBpZiAocGxhY2VtZW50ID09PSAoKF9taWRkbGV3YXJlRGF0YSRvZmZzZSA9IG1pZGRsZXdhcmVEYXRhLm9mZnNldCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRvZmZzZS5wbGFjZW1lbnQpICYmIChfbWlkZGxld2FyZURhdGEkYXJyb3cgPSBtaWRkbGV3YXJlRGF0YS5hcnJvdykgIT0gbnVsbCAmJiBfbWlkZGxld2FyZURhdGEkYXJyb3cuYWxpZ25tZW50T2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHggKyBkaWZmQ29vcmRzLngsXG4gICAgICAgIHk6IHkgKyBkaWZmQ29vcmRzLnksXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAuLi5kaWZmQ29vcmRzLFxuICAgICAgICAgIHBsYWNlbWVudFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IHNoaWZ0aW5nIGl0IGluIG9yZGVyIHRvXG4gKiBrZWVwIGl0IGluIHZpZXcgd2hlbiBpdCB3aWxsIG92ZXJmbG93IHRoZSBjbGlwcGluZyBib3VuZGFyeS5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaGlmdFxuICovXG5jb25zdCBzaGlmdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnc2hpZnQnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgcGxhY2VtZW50XG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIG1haW5BeGlzOiBjaGVja01haW5BeGlzID0gdHJ1ZSxcbiAgICAgICAgY3Jvc3NBeGlzOiBjaGVja0Nyb3NzQXhpcyA9IGZhbHNlLFxuICAgICAgICBsaW1pdGVyID0ge1xuICAgICAgICAgIGZuOiBfcmVmID0+IHtcbiAgICAgICAgICAgIGxldCB7XG4gICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgIHlcbiAgICAgICAgICAgIH0gPSBfcmVmO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIGNvbnN0IGNvb3JkcyA9IHtcbiAgICAgICAgeCxcbiAgICAgICAgeVxuICAgICAgfTtcbiAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XG4gICAgICBjb25zdCBjcm9zc0F4aXMgPSBnZXRTaWRlQXhpcyhnZXRTaWRlKHBsYWNlbWVudCkpO1xuICAgICAgY29uc3QgbWFpbkF4aXMgPSBnZXRPcHBvc2l0ZUF4aXMoY3Jvc3NBeGlzKTtcbiAgICAgIGxldCBtYWluQXhpc0Nvb3JkID0gY29vcmRzW21haW5BeGlzXTtcbiAgICAgIGxldCBjcm9zc0F4aXNDb29yZCA9IGNvb3Jkc1tjcm9zc0F4aXNdO1xuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICAgICAgY29uc3QgbWluU2lkZSA9IG1haW5BeGlzID09PSAneScgPyAndG9wJyA6ICdsZWZ0JztcbiAgICAgICAgY29uc3QgbWF4U2lkZSA9IG1haW5BeGlzID09PSAneScgPyAnYm90dG9tJyA6ICdyaWdodCc7XG4gICAgICAgIGNvbnN0IG1pbiA9IG1haW5BeGlzQ29vcmQgKyBvdmVyZmxvd1ttaW5TaWRlXTtcbiAgICAgICAgY29uc3QgbWF4ID0gbWFpbkF4aXNDb29yZCAtIG92ZXJmbG93W21heFNpZGVdO1xuICAgICAgICBtYWluQXhpc0Nvb3JkID0gY2xhbXAobWluLCBtYWluQXhpc0Nvb3JkLCBtYXgpO1xuICAgICAgfVxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XG4gICAgICAgIGNvbnN0IG1pblNpZGUgPSBjcm9zc0F4aXMgPT09ICd5JyA/ICd0b3AnIDogJ2xlZnQnO1xuICAgICAgICBjb25zdCBtYXhTaWRlID0gY3Jvc3NBeGlzID09PSAneScgPyAnYm90dG9tJyA6ICdyaWdodCc7XG4gICAgICAgIGNvbnN0IG1pbiA9IGNyb3NzQXhpc0Nvb3JkICsgb3ZlcmZsb3dbbWluU2lkZV07XG4gICAgICAgIGNvbnN0IG1heCA9IGNyb3NzQXhpc0Nvb3JkIC0gb3ZlcmZsb3dbbWF4U2lkZV07XG4gICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gY2xhbXAobWluLCBjcm9zc0F4aXNDb29yZCwgbWF4KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxpbWl0ZWRDb29yZHMgPSBsaW1pdGVyLmZuKHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIFttYWluQXhpc106IG1haW5BeGlzQ29vcmQsXG4gICAgICAgIFtjcm9zc0F4aXNdOiBjcm9zc0F4aXNDb29yZFxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5saW1pdGVkQ29vcmRzLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgeDogbGltaXRlZENvb3Jkcy54IC0geCxcbiAgICAgICAgICB5OiBsaW1pdGVkQ29vcmRzLnkgLSB5LFxuICAgICAgICAgIGVuYWJsZWQ6IHtcbiAgICAgICAgICAgIFttYWluQXhpc106IGNoZWNrTWFpbkF4aXMsXG4gICAgICAgICAgICBbY3Jvc3NBeGlzXTogY2hlY2tDcm9zc0F4aXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgb3B0aW9ucyxcbiAgICBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHJlY3RzLFxuICAgICAgICBtaWRkbGV3YXJlRGF0YVxuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBvZmZzZXQgPSAwLFxuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSB0cnVlXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICAgICAgY29uc3QgY29vcmRzID0ge1xuICAgICAgICB4LFxuICAgICAgICB5XG4gICAgICB9O1xuICAgICAgY29uc3QgY3Jvc3NBeGlzID0gZ2V0U2lkZUF4aXMocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IG1haW5BeGlzID0gZ2V0T3Bwb3NpdGVBeGlzKGNyb3NzQXhpcyk7XG4gICAgICBsZXQgbWFpbkF4aXNDb29yZCA9IGNvb3Jkc1ttYWluQXhpc107XG4gICAgICBsZXQgY3Jvc3NBeGlzQ29vcmQgPSBjb29yZHNbY3Jvc3NBeGlzXTtcbiAgICAgIGNvbnN0IHJhd09mZnNldCA9IGV2YWx1YXRlKG9mZnNldCwgc3RhdGUpO1xuICAgICAgY29uc3QgY29tcHV0ZWRPZmZzZXQgPSB0eXBlb2YgcmF3T2Zmc2V0ID09PSAnbnVtYmVyJyA/IHtcbiAgICAgICAgbWFpbkF4aXM6IHJhd09mZnNldCxcbiAgICAgICAgY3Jvc3NBeGlzOiAwXG4gICAgICB9IDoge1xuICAgICAgICBtYWluQXhpczogMCxcbiAgICAgICAgY3Jvc3NBeGlzOiAwLFxuICAgICAgICAuLi5yYXdPZmZzZXRcbiAgICAgIH07XG4gICAgICBpZiAoY2hlY2tNYWluQXhpcykge1xuICAgICAgICBjb25zdCBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgICAgICBjb25zdCBsaW1pdE1pbiA9IHJlY3RzLnJlZmVyZW5jZVttYWluQXhpc10gLSByZWN0cy5mbG9hdGluZ1tsZW5dICsgY29tcHV0ZWRPZmZzZXQubWFpbkF4aXM7XG4gICAgICAgIGNvbnN0IGxpbWl0TWF4ID0gcmVjdHMucmVmZXJlbmNlW21haW5BeGlzXSArIHJlY3RzLnJlZmVyZW5jZVtsZW5dIC0gY29tcHV0ZWRPZmZzZXQubWFpbkF4aXM7XG4gICAgICAgIGlmIChtYWluQXhpc0Nvb3JkIDwgbGltaXRNaW4pIHtcbiAgICAgICAgICBtYWluQXhpc0Nvb3JkID0gbGltaXRNaW47XG4gICAgICAgIH0gZWxzZSBpZiAobWFpbkF4aXNDb29yZCA+IGxpbWl0TWF4KSB7XG4gICAgICAgICAgbWFpbkF4aXNDb29yZCA9IGxpbWl0TWF4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2hlY2tDcm9zc0F4aXMpIHtcbiAgICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRvZmZzZSwgX21pZGRsZXdhcmVEYXRhJG9mZnNlMjtcbiAgICAgICAgY29uc3QgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICd3aWR0aCcgOiAnaGVpZ2h0JztcbiAgICAgICAgY29uc3QgaXNPcmlnaW5TaWRlID0gb3JpZ2luU2lkZXMuaGFzKGdldFNpZGUocGxhY2VtZW50KSk7XG4gICAgICAgIGNvbnN0IGxpbWl0TWluID0gcmVjdHMucmVmZXJlbmNlW2Nyb3NzQXhpc10gLSByZWN0cy5mbG9hdGluZ1tsZW5dICsgKGlzT3JpZ2luU2lkZSA/ICgoX21pZGRsZXdhcmVEYXRhJG9mZnNlID0gbWlkZGxld2FyZURhdGEub2Zmc2V0KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJG9mZnNlW2Nyb3NzQXhpc10pIHx8IDAgOiAwKSArIChpc09yaWdpblNpZGUgPyAwIDogY29tcHV0ZWRPZmZzZXQuY3Jvc3NBeGlzKTtcbiAgICAgICAgY29uc3QgbGltaXRNYXggPSByZWN0cy5yZWZlcmVuY2VbY3Jvc3NBeGlzXSArIHJlY3RzLnJlZmVyZW5jZVtsZW5dICsgKGlzT3JpZ2luU2lkZSA/IDAgOiAoKF9taWRkbGV3YXJlRGF0YSRvZmZzZTIgPSBtaWRkbGV3YXJlRGF0YS5vZmZzZXQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkb2Zmc2UyW2Nyb3NzQXhpc10pIHx8IDApIC0gKGlzT3JpZ2luU2lkZSA/IGNvbXB1dGVkT2Zmc2V0LmNyb3NzQXhpcyA6IDApO1xuICAgICAgICBpZiAoY3Jvc3NBeGlzQ29vcmQgPCBsaW1pdE1pbikge1xuICAgICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gbGltaXRNaW47XG4gICAgICAgIH0gZWxzZSBpZiAoY3Jvc3NBeGlzQ29vcmQgPiBsaW1pdE1heCkge1xuICAgICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gbGltaXRNYXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFttYWluQXhpc106IG1haW5BeGlzQ29vcmQsXG4gICAgICAgIFtjcm9zc0F4aXNdOiBjcm9zc0F4aXNDb29yZFxuICAgICAgfTtcbiAgICB9XG4gIH07XG59O1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdGhhdCBhbGxvd3MgeW91IHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCDigJRcbiAqIGZvciBpbnN0YW5jZSwgcHJldmVudCBpdCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjbGlwcGluZyBib3VuZGFyeSBvciBtYXRjaCB0aGVcbiAqIHdpZHRoIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaXplXG4gKi9cbmNvbnN0IHNpemUgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NpemUnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIHZhciBfc3RhdGUkbWlkZGxld2FyZURhdGEsIF9zdGF0ZSRtaWRkbGV3YXJlRGF0YTI7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBhcHBseSA9ICgpID0+IHt9LFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICAgICAgY29uc3QgaXNZQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5JztcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgICAgfSA9IHJlY3RzLmZsb2F0aW5nO1xuICAgICAgbGV0IGhlaWdodFNpZGU7XG4gICAgICBsZXQgd2lkdGhTaWRlO1xuICAgICAgaWYgKHNpZGUgPT09ICd0b3AnIHx8IHNpZGUgPT09ICdib3R0b20nKSB7XG4gICAgICAgIGhlaWdodFNpZGUgPSBzaWRlO1xuICAgICAgICB3aWR0aFNpZGUgPSBhbGlnbm1lbnQgPT09ICgoYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpKSA/ICdzdGFydCcgOiAnZW5kJykgPyAnbGVmdCcgOiAncmlnaHQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2lkdGhTaWRlID0gc2lkZTtcbiAgICAgICAgaGVpZ2h0U2lkZSA9IGFsaWdubWVudCA9PT0gJ2VuZCcgPyAndG9wJyA6ICdib3R0b20nO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nSGVpZ2h0ID0gaGVpZ2h0IC0gb3ZlcmZsb3cudG9wIC0gb3ZlcmZsb3cuYm90dG9tO1xuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nV2lkdGggPSB3aWR0aCAtIG92ZXJmbG93LmxlZnQgLSBvdmVyZmxvdy5yaWdodDtcbiAgICAgIGNvbnN0IG92ZXJmbG93QXZhaWxhYmxlSGVpZ2h0ID0gbWluKGhlaWdodCAtIG92ZXJmbG93W2hlaWdodFNpZGVdLCBtYXhpbXVtQ2xpcHBpbmdIZWlnaHQpO1xuICAgICAgY29uc3Qgb3ZlcmZsb3dBdmFpbGFibGVXaWR0aCA9IG1pbih3aWR0aCAtIG92ZXJmbG93W3dpZHRoU2lkZV0sIG1heGltdW1DbGlwcGluZ1dpZHRoKTtcbiAgICAgIGNvbnN0IG5vU2hpZnQgPSAhc3RhdGUubWlkZGxld2FyZURhdGEuc2hpZnQ7XG4gICAgICBsZXQgYXZhaWxhYmxlSGVpZ2h0ID0gb3ZlcmZsb3dBdmFpbGFibGVIZWlnaHQ7XG4gICAgICBsZXQgYXZhaWxhYmxlV2lkdGggPSBvdmVyZmxvd0F2YWlsYWJsZVdpZHRoO1xuICAgICAgaWYgKChfc3RhdGUkbWlkZGxld2FyZURhdGEgPSBzdGF0ZS5taWRkbGV3YXJlRGF0YS5zaGlmdCkgIT0gbnVsbCAmJiBfc3RhdGUkbWlkZGxld2FyZURhdGEuZW5hYmxlZC54KSB7XG4gICAgICAgIGF2YWlsYWJsZVdpZHRoID0gbWF4aW11bUNsaXBwaW5nV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoKF9zdGF0ZSRtaWRkbGV3YXJlRGF0YTIgPSBzdGF0ZS5taWRkbGV3YXJlRGF0YS5zaGlmdCkgIT0gbnVsbCAmJiBfc3RhdGUkbWlkZGxld2FyZURhdGEyLmVuYWJsZWQueSkge1xuICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBtYXhpbXVtQ2xpcHBpbmdIZWlnaHQ7XG4gICAgICB9XG4gICAgICBpZiAobm9TaGlmdCAmJiAhYWxpZ25tZW50KSB7XG4gICAgICAgIGNvbnN0IHhNaW4gPSBtYXgob3ZlcmZsb3cubGVmdCwgMCk7XG4gICAgICAgIGNvbnN0IHhNYXggPSBtYXgob3ZlcmZsb3cucmlnaHQsIDApO1xuICAgICAgICBjb25zdCB5TWluID0gbWF4KG92ZXJmbG93LnRvcCwgMCk7XG4gICAgICAgIGNvbnN0IHlNYXggPSBtYXgob3ZlcmZsb3cuYm90dG9tLCAwKTtcbiAgICAgICAgaWYgKGlzWUF4aXMpIHtcbiAgICAgICAgICBhdmFpbGFibGVXaWR0aCA9IHdpZHRoIC0gMiAqICh4TWluICE9PSAwIHx8IHhNYXggIT09IDAgPyB4TWluICsgeE1heCA6IG1heChvdmVyZmxvdy5sZWZ0LCBvdmVyZmxvdy5yaWdodCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IGhlaWdodCAtIDIgKiAoeU1pbiAhPT0gMCB8fCB5TWF4ICE9PSAwID8geU1pbiArIHlNYXggOiBtYXgob3ZlcmZsb3cudG9wLCBvdmVyZmxvdy5ib3R0b20pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYXdhaXQgYXBwbHkoe1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYXZhaWxhYmxlV2lkdGgsXG4gICAgICAgIGF2YWlsYWJsZUhlaWdodFxuICAgICAgfSk7XG4gICAgICBjb25zdCBuZXh0RGltZW5zaW9ucyA9IGF3YWl0IHBsYXRmb3JtLmdldERpbWVuc2lvbnMoZWxlbWVudHMuZmxvYXRpbmcpO1xuICAgICAgaWYgKHdpZHRoICE9PSBuZXh0RGltZW5zaW9ucy53aWR0aCB8fCBoZWlnaHQgIT09IG5leHREaW1lbnNpb25zLmhlaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICByZWN0czogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgeyBhcnJvdywgYXV0b1BsYWNlbWVudCwgY29tcHV0ZVBvc2l0aW9uLCBkZXRlY3RPdmVyZmxvdywgZmxpcCwgaGlkZSwgaW5saW5lLCBsaW1pdFNoaWZ0LCBvZmZzZXQsIHNoaWZ0LCBzaXplIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+dom@1.7.3/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs":
 | 
						||
/*!**********************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+dom@1.7.3/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/.pnpm/@floating-ui+utils@0.2.10/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/.pnpm/@floating-ui+core@1.7.3/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/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n\n\n\n\n\nfunction getCssDimensions(element) {\n  const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(width) !== offsetWidth || (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(domElement)) {\n    return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.width) : rect.width) / width;\n  let y = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\nfunction getVisualOffsets(element) {\n  const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n  if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(domElement);\n    const offsetWin = offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent) ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getFrameElement)(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(currentIFrame);\n      currentIFrame = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getFrameElement)(currentWin);\n    }\n  }\n  return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n  if (ignoreScrollbarX === void 0) {\n    ignoreScrollbarX = false;\n  }\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n  // RTL <body> scrollbar.\n  getWindowScrollBarX(documentElement, htmlRect));\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\n  const topLayer = elements ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n  const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n  const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\n      scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\n    }\n    if ((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  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n  const scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element);\n  const body = element.ownerDocument.body;\n  const width = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(body).direction === 'rtl') {\n    x += (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\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\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) ? getScale(element) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element));\n  } else if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\n  if (parentNode === stopNode || !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(parentNode) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(parentNode)) {\n    return false;\n  }\n  return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(element, [], false).filter(el => (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(el) && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed';\n  let currentNode = elementIsFixed ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(currentNode) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(currentNode)) {\n    const computedStyle = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentNode);\n    const currentNodeIsContaining = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(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\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\n      scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\n  if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element)) {\n    return win;\n  }\n  if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {\n    let svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\n    while (svgOffsetParent && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(svgOffsetParent)) {\n      if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTableElement)(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(offsetParent) && isStaticPositioned(offsetParent) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(offsetParent)) {\n    return win;\n  }\n  return offsetParent || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getContainingBlock)(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(top);\n    const insetRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientWidth - (left + width));\n    const insetBottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientHeight - (top + height));\n    const insetLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(0, (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(referenceEl) : []), ...(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 && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.detectOverflow;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.offset;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.autoPlacement;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.shift;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.flip;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.size;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.hide;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.arrow;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.inline;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.limitShift;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_2__.computePosition)(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrZG9tQDEuNy4zL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvZG9tL2Rpc3QvZmxvYXRpbmctdWkuZG9tLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5VDtBQUMvTztBQUNrUDtBQUM5UDs7QUFFOUQ7QUFDQSxjQUFjLHdFQUFnQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxRUFBYTtBQUNqQztBQUNBO0FBQ0EseUJBQXlCLHlEQUFLLDJCQUEyQix5REFBSztBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVUsaUVBQVM7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLE9BQU8scUVBQWE7QUFDcEIsV0FBVyxnRUFBWTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZUFBZSx5REFBSztBQUNwQixlQUFlLHlEQUFLOztBQUVwQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtCQUErQixnRUFBWTtBQUMzQztBQUNBLGNBQWMsaUVBQVM7QUFDdkIsT0FBTyxnRUFBUTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUUsaUVBQVM7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxnRUFBWTtBQUMxQjtBQUNBO0FBQ0EsVUFBVSxpRUFBUztBQUNuQjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLDJIQUEySCxnRUFBWTtBQUN2STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlFQUFT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QSxTQUFTLGtFQUFpQjtBQUMxQjtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUU0SSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZsb2F0aW5nLXVpK2RvbUAxLjcuMy9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2RvbS9kaXN0L2Zsb2F0aW5nLXVpLmRvbS5tanM/ZTU3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWN0VG9DbGllbnRSZWN0LCBhcnJvdyBhcyBhcnJvdyQxLCBhdXRvUGxhY2VtZW50IGFzIGF1dG9QbGFjZW1lbnQkMSwgZGV0ZWN0T3ZlcmZsb3cgYXMgZGV0ZWN0T3ZlcmZsb3ckMSwgZmxpcCBhcyBmbGlwJDEsIGhpZGUgYXMgaGlkZSQxLCBpbmxpbmUgYXMgaW5saW5lJDEsIGxpbWl0U2hpZnQgYXMgbGltaXRTaGlmdCQxLCBvZmZzZXQgYXMgb2Zmc2V0JDEsIHNoaWZ0IGFzIHNoaWZ0JDEsIHNpemUgYXMgc2l6ZSQxLCBjb21wdXRlUG9zaXRpb24gYXMgY29tcHV0ZVBvc2l0aW9uJDEgfSBmcm9tICdAZmxvYXRpbmctdWkvY29yZSc7XG5pbXBvcnQgeyByb3VuZCwgY3JlYXRlQ29vcmRzLCBtYXgsIG1pbiwgZmxvb3IgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0Q29tcHV0ZWRTdHlsZSwgaXNIVE1MRWxlbWVudCwgaXNFbGVtZW50LCBnZXRXaW5kb3csIGlzV2ViS2l0LCBnZXRGcmFtZUVsZW1lbnQsIGdldE5vZGVTY3JvbGwsIGdldERvY3VtZW50RWxlbWVudCwgaXNUb3BMYXllciwgZ2V0Tm9kZU5hbWUsIGlzT3ZlcmZsb3dFbGVtZW50LCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgaXNMYXN0VHJhdmVyc2FibGVOb2RlLCBpc0NvbnRhaW5pbmdCbG9jaywgaXNUYWJsZUVsZW1lbnQsIGdldENvbnRhaW5pbmdCbG9jayB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscy9kb20nO1xuZXhwb3J0IHsgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMvZG9tJztcblxuZnVuY3Rpb24gZ2V0Q3NzRGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IGNzcyA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIC8vIEluIHRlc3RpbmcgZW52aXJvbm1lbnRzLCB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgcHJvcGVydGllcyBhcmUgZW1wdHlcbiAgLy8gc3RyaW5ncyBmb3IgU1ZHIGVsZW1lbnRzLCByZXR1cm5pbmcgTmFOLiBGYWxsYmFjayB0byBgMGAgaW4gdGhpcyBjYXNlLlxuICBsZXQgd2lkdGggPSBwYXJzZUZsb2F0KGNzcy53aWR0aCkgfHwgMDtcbiAgbGV0IGhlaWdodCA9IHBhcnNlRmxvYXQoY3NzLmhlaWdodCkgfHwgMDtcbiAgY29uc3QgaGFzT2Zmc2V0ID0gaXNIVE1MRWxlbWVudChlbGVtZW50KTtcbiAgY29uc3Qgb2Zmc2V0V2lkdGggPSBoYXNPZmZzZXQgPyBlbGVtZW50Lm9mZnNldFdpZHRoIDogd2lkdGg7XG4gIGNvbnN0IG9mZnNldEhlaWdodCA9IGhhc09mZnNldCA/IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogaGVpZ2h0O1xuICBjb25zdCBzaG91bGRGYWxsYmFjayA9IHJvdW5kKHdpZHRoKSAhPT0gb2Zmc2V0V2lkdGggfHwgcm91bmQoaGVpZ2h0KSAhPT0gb2Zmc2V0SGVpZ2h0O1xuICBpZiAoc2hvdWxkRmFsbGJhY2spIHtcbiAgICB3aWR0aCA9IG9mZnNldFdpZHRoO1xuICAgIGhlaWdodCA9IG9mZnNldEhlaWdodDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICAkOiBzaG91bGRGYWxsYmFja1xuICB9O1xufVxuXG5mdW5jdGlvbiB1bndyYXBFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuICFpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50LmNvbnRleHRFbGVtZW50IDogZWxlbWVudDtcbn1cblxuZnVuY3Rpb24gZ2V0U2NhbGUoZWxlbWVudCkge1xuICBjb25zdCBkb21FbGVtZW50ID0gdW53cmFwRWxlbWVudChlbGVtZW50KTtcbiAgaWYgKCFpc0hUTUxFbGVtZW50KGRvbUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvb3JkcygxKTtcbiAgfVxuICBjb25zdCByZWN0ID0gZG9tRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3Qge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICAkXG4gIH0gPSBnZXRDc3NEaW1lbnNpb25zKGRvbUVsZW1lbnQpO1xuICBsZXQgeCA9ICgkID8gcm91bmQocmVjdC53aWR0aCkgOiByZWN0LndpZHRoKSAvIHdpZHRoO1xuICBsZXQgeSA9ICgkID8gcm91bmQocmVjdC5oZWlnaHQpIDogcmVjdC5oZWlnaHQpIC8gaGVpZ2h0O1xuXG4gIC8vIDAsIE5hTiwgb3IgSW5maW5pdHkgc2hvdWxkIGFsd2F5cyBmYWxsYmFjayB0byAxLlxuXG4gIGlmICgheCB8fCAhTnVtYmVyLmlzRmluaXRlKHgpKSB7XG4gICAgeCA9IDE7XG4gIH1cbiAgaWYgKCF5IHx8ICFOdW1iZXIuaXNGaW5pdGUoeSkpIHtcbiAgICB5ID0gMTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5jb25zdCBub09mZnNldHMgPSAvKiNfX1BVUkVfXyovY3JlYXRlQ29vcmRzKDApO1xuZnVuY3Rpb24gZ2V0VmlzdWFsT2Zmc2V0cyhlbGVtZW50KSB7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgaWYgKCFpc1dlYktpdCgpIHx8ICF3aW4udmlzdWFsVmlld3BvcnQpIHtcbiAgICByZXR1cm4gbm9PZmZzZXRzO1xuICB9XG4gIHJldHVybiB7XG4gICAgeDogd2luLnZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQsXG4gICAgeTogd2luLnZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcFxuICB9O1xufVxuZnVuY3Rpb24gc2hvdWxkQWRkVmlzdWFsT2Zmc2V0cyhlbGVtZW50LCBpc0ZpeGVkLCBmbG9hdGluZ09mZnNldFBhcmVudCkge1xuICBpZiAoaXNGaXhlZCA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZCA9IGZhbHNlO1xuICB9XG4gIGlmICghZmxvYXRpbmdPZmZzZXRQYXJlbnQgfHwgaXNGaXhlZCAmJiBmbG9hdGluZ09mZnNldFBhcmVudCAhPT0gZ2V0V2luZG93KGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBpc0ZpeGVkO1xufVxuXG5mdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgaW5jbHVkZVNjYWxlLCBpc0ZpeGVkU3RyYXRlZ3ksIG9mZnNldFBhcmVudCkge1xuICBpZiAoaW5jbHVkZVNjYWxlID09PSB2b2lkIDApIHtcbiAgICBpbmNsdWRlU2NhbGUgPSBmYWxzZTtcbiAgfVxuICBpZiAoaXNGaXhlZFN0cmF0ZWd5ID09PSB2b2lkIDApIHtcbiAgICBpc0ZpeGVkU3RyYXRlZ3kgPSBmYWxzZTtcbiAgfVxuICBjb25zdCBjbGllbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZG9tRWxlbWVudCA9IHVud3JhcEVsZW1lbnQoZWxlbWVudCk7XG4gIGxldCBzY2FsZSA9IGNyZWF0ZUNvb3JkcygxKTtcbiAgaWYgKGluY2x1ZGVTY2FsZSkge1xuICAgIGlmIChvZmZzZXRQYXJlbnQpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgICBzY2FsZSA9IGdldFNjYWxlKG9mZnNldFBhcmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjYWxlID0gZ2V0U2NhbGUoZWxlbWVudCk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHZpc3VhbE9mZnNldHMgPSBzaG91bGRBZGRWaXN1YWxPZmZzZXRzKGRvbUVsZW1lbnQsIGlzRml4ZWRTdHJhdGVneSwgb2Zmc2V0UGFyZW50KSA/IGdldFZpc3VhbE9mZnNldHMoZG9tRWxlbWVudCkgOiBjcmVhdGVDb29yZHMoMCk7XG4gIGxldCB4ID0gKGNsaWVudFJlY3QubGVmdCArIHZpc3VhbE9mZnNldHMueCkgLyBzY2FsZS54O1xuICBsZXQgeSA9IChjbGllbnRSZWN0LnRvcCArIHZpc3VhbE9mZnNldHMueSkgLyBzY2FsZS55O1xuICBsZXQgd2lkdGggPSBjbGllbnRSZWN0LndpZHRoIC8gc2NhbGUueDtcbiAgbGV0IGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0IC8gc2NhbGUueTtcbiAgaWYgKGRvbUVsZW1lbnQpIHtcbiAgICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZG9tRWxlbWVudCk7XG4gICAgY29uc3Qgb2Zmc2V0V2luID0gb2Zmc2V0UGFyZW50ICYmIGlzRWxlbWVudChvZmZzZXRQYXJlbnQpID8gZ2V0V2luZG93KG9mZnNldFBhcmVudCkgOiBvZmZzZXRQYXJlbnQ7XG4gICAgbGV0IGN1cnJlbnRXaW4gPSB3aW47XG4gICAgbGV0IGN1cnJlbnRJRnJhbWUgPSBnZXRGcmFtZUVsZW1lbnQoY3VycmVudFdpbik7XG4gICAgd2hpbGUgKGN1cnJlbnRJRnJhbWUgJiYgb2Zmc2V0UGFyZW50ICYmIG9mZnNldFdpbiAhPT0gY3VycmVudFdpbikge1xuICAgICAgY29uc3QgaWZyYW1lU2NhbGUgPSBnZXRTY2FsZShjdXJyZW50SUZyYW1lKTtcbiAgICAgIGNvbnN0IGlmcmFtZVJlY3QgPSBjdXJyZW50SUZyYW1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgY3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50SUZyYW1lKTtcbiAgICAgIGNvbnN0IGxlZnQgPSBpZnJhbWVSZWN0LmxlZnQgKyAoY3VycmVudElGcmFtZS5jbGllbnRMZWZ0ICsgcGFyc2VGbG9hdChjc3MucGFkZGluZ0xlZnQpKSAqIGlmcmFtZVNjYWxlLng7XG4gICAgICBjb25zdCB0b3AgPSBpZnJhbWVSZWN0LnRvcCArIChjdXJyZW50SUZyYW1lLmNsaWVudFRvcCArIHBhcnNlRmxvYXQoY3NzLnBhZGRpbmdUb3ApKSAqIGlmcmFtZVNjYWxlLnk7XG4gICAgICB4ICo9IGlmcmFtZVNjYWxlLng7XG4gICAgICB5ICo9IGlmcmFtZVNjYWxlLnk7XG4gICAgICB3aWR0aCAqPSBpZnJhbWVTY2FsZS54O1xuICAgICAgaGVpZ2h0ICo9IGlmcmFtZVNjYWxlLnk7XG4gICAgICB4ICs9IGxlZnQ7XG4gICAgICB5ICs9IHRvcDtcbiAgICAgIGN1cnJlbnRXaW4gPSBnZXRXaW5kb3coY3VycmVudElGcmFtZSk7XG4gICAgICBjdXJyZW50SUZyYW1lID0gZ2V0RnJhbWVFbGVtZW50KGN1cnJlbnRXaW4pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVjdFRvQ2xpZW50UmVjdCh7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9KTtcbn1cblxuLy8gSWYgPGh0bWw+IGhhcyBhIENTUyB3aWR0aCBncmVhdGVyIHRoYW4gdGhlIHZpZXdwb3J0LCB0aGVuIHRoaXMgd2lsbCBiZVxuLy8gaW5jb3JyZWN0IGZvciBSVEwuXG5mdW5jdGlvbiBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQsIHJlY3QpIHtcbiAgY29uc3QgbGVmdFNjcm9sbCA9IGdldE5vZGVTY3JvbGwoZWxlbWVudCkuc2Nyb2xsTGVmdDtcbiAgaWYgKCFyZWN0KSB7XG4gICAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBsZWZ0U2Nyb2xsO1xuICB9XG4gIHJldHVybiByZWN0LmxlZnQgKyBsZWZ0U2Nyb2xsO1xufVxuXG5mdW5jdGlvbiBnZXRIVE1MT2Zmc2V0KGRvY3VtZW50RWxlbWVudCwgc2Nyb2xsLCBpZ25vcmVTY3JvbGxiYXJYKSB7XG4gIGlmIChpZ25vcmVTY3JvbGxiYXJYID09PSB2b2lkIDApIHtcbiAgICBpZ25vcmVTY3JvbGxiYXJYID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgaHRtbFJlY3QgPSBkb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IHggPSBodG1sUmVjdC5sZWZ0ICsgc2Nyb2xsLnNjcm9sbExlZnQgLSAoaWdub3JlU2Nyb2xsYmFyWCA/IDAgOlxuICAvLyBSVEwgPGJvZHk+IHNjcm9sbGJhci5cbiAgZ2V0V2luZG93U2Nyb2xsQmFyWChkb2N1bWVudEVsZW1lbnQsIGh0bWxSZWN0KSk7XG4gIGNvbnN0IHkgPSBodG1sUmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wO1xuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdChfcmVmKSB7XG4gIGxldCB7XG4gICAgZWxlbWVudHMsXG4gICAgcmVjdCxcbiAgICBvZmZzZXRQYXJlbnQsXG4gICAgc3RyYXRlZ3lcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IGlzRml4ZWQgPSBzdHJhdGVneSA9PT0gJ2ZpeGVkJztcbiAgY29uc3QgZG9jdW1lbnRFbGVtZW50ID0gZ2V0RG9jdW1lbnRFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IHRvcExheWVyID0gZWxlbWVudHMgPyBpc1RvcExheWVyKGVsZW1lbnRzLmZsb2F0aW5nKSA6IGZhbHNlO1xuICBpZiAob2Zmc2V0UGFyZW50ID09PSBkb2N1bWVudEVsZW1lbnQgfHwgdG9wTGF5ZXIgJiYgaXNGaXhlZCkge1xuICAgIHJldHVybiByZWN0O1xuICB9XG4gIGxldCBzY3JvbGwgPSB7XG4gICAgc2Nyb2xsTGVmdDogMCxcbiAgICBzY3JvbGxUb3A6IDBcbiAgfTtcbiAgbGV0IHNjYWxlID0gY3JlYXRlQ29vcmRzKDEpO1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuICBjb25zdCBpc09mZnNldFBhcmVudEFuRWxlbWVudCA9IGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgaXNPdmVyZmxvd0VsZW1lbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpKSB7XG4gICAgICBjb25zdCBvZmZzZXRSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KG9mZnNldFBhcmVudCk7XG4gICAgICBzY2FsZSA9IGdldFNjYWxlKG9mZnNldFBhcmVudCk7XG4gICAgICBvZmZzZXRzLnggPSBvZmZzZXRSZWN0LnggKyBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSA9IG9mZnNldFJlY3QueSArIG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfVxuICB9XG4gIGNvbnN0IGh0bWxPZmZzZXQgPSBkb2N1bWVudEVsZW1lbnQgJiYgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkID8gZ2V0SFRNTE9mZnNldChkb2N1bWVudEVsZW1lbnQsIHNjcm9sbCwgdHJ1ZSkgOiBjcmVhdGVDb29yZHMoMCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHJlY3Qud2lkdGggKiBzY2FsZS54LFxuICAgIGhlaWdodDogcmVjdC5oZWlnaHQgKiBzY2FsZS55LFxuICAgIHg6IHJlY3QueCAqIHNjYWxlLnggLSBzY3JvbGwuc2Nyb2xsTGVmdCAqIHNjYWxlLnggKyBvZmZzZXRzLnggKyBodG1sT2Zmc2V0LngsXG4gICAgeTogcmVjdC55ICogc2NhbGUueSAtIHNjcm9sbC5zY3JvbGxUb3AgKiBzY2FsZS55ICsgb2Zmc2V0cy55ICsgaHRtbE9mZnNldC55XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RzKGVsZW1lbnQpIHtcbiAgcmV0dXJuIEFycmF5LmZyb20oZWxlbWVudC5nZXRDbGllbnRSZWN0cygpKTtcbn1cblxuLy8gR2V0cyB0aGUgZW50aXJlIHNpemUgb2YgdGhlIHNjcm9sbGFibGUgZG9jdW1lbnQgYXJlYSwgZXZlbiBleHRlbmRpbmcgb3V0c2lkZVxuLy8gb2YgdGhlIGA8aHRtbD5gIGFuZCBgPGJvZHk+YCByZWN0IGJvdW5kcyBpZiBob3Jpem9udGFsbHkgc2Nyb2xsYWJsZS5cbmZ1bmN0aW9uIGdldERvY3VtZW50UmVjdChlbGVtZW50KSB7XG4gIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IHNjcm9sbCA9IGdldE5vZGVTY3JvbGwoZWxlbWVudCk7XG4gIGNvbnN0IGJvZHkgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keTtcbiAgY29uc3Qgd2lkdGggPSBtYXgoaHRtbC5zY3JvbGxXaWR0aCwgaHRtbC5jbGllbnRXaWR0aCwgYm9keS5zY3JvbGxXaWR0aCwgYm9keS5jbGllbnRXaWR0aCk7XG4gIGNvbnN0IGhlaWdodCA9IG1heChodG1sLnNjcm9sbEhlaWdodCwgaHRtbC5jbGllbnRIZWlnaHQsIGJvZHkuc2Nyb2xsSGVpZ2h0LCBib2R5LmNsaWVudEhlaWdodCk7XG4gIGxldCB4ID0gLXNjcm9sbC5zY3JvbGxMZWZ0ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KTtcbiAgY29uc3QgeSA9IC1zY3JvbGwuc2Nyb2xsVG9wO1xuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShib2R5KS5kaXJlY3Rpb24gPT09ICdydGwnKSB7XG4gICAgeCArPSBtYXgoaHRtbC5jbGllbnRXaWR0aCwgYm9keS5jbGllbnRXaWR0aCkgLSB3aWR0aDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgY29uc3QgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgY29uc3QgdmlzdWFsVmlld3BvcnQgPSB3aW4udmlzdWFsVmlld3BvcnQ7XG4gIGxldCB3aWR0aCA9IGh0bWwuY2xpZW50V2lkdGg7XG4gIGxldCBoZWlnaHQgPSBodG1sLmNsaWVudEhlaWdodDtcbiAgbGV0IHggPSAwO1xuICBsZXQgeSA9IDA7XG4gIGlmICh2aXN1YWxWaWV3cG9ydCkge1xuICAgIHdpZHRoID0gdmlzdWFsVmlld3BvcnQud2lkdGg7XG4gICAgaGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQuaGVpZ2h0O1xuICAgIGNvbnN0IHZpc3VhbFZpZXdwb3J0QmFzZWQgPSBpc1dlYktpdCgpO1xuICAgIGlmICghdmlzdWFsVmlld3BvcnRCYXNlZCB8fCB2aXN1YWxWaWV3cG9ydEJhc2VkICYmIHN0cmF0ZWd5ID09PSAnZml4ZWQnKSB7XG4gICAgICB4ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdDtcbiAgICAgIHkgPSB2aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3A7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5jb25zdCBhYnNvbHV0ZU9yRml4ZWQgPSAvKiNfX1BVUkVfXyovbmV3IFNldChbJ2Fic29sdXRlJywgJ2ZpeGVkJ10pO1xuLy8gUmV0dXJucyB0aGUgaW5uZXIgY2xpZW50IHJlY3QsIHN1YnRyYWN0aW5nIHNjcm9sbGJhcnMgaWYgcHJlc2VudC5cbmZ1bmN0aW9uIGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICBjb25zdCB0b3AgPSBjbGllbnRSZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICBjb25zdCBsZWZ0ID0gY2xpZW50UmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0O1xuICBjb25zdCBzY2FsZSA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRTY2FsZShlbGVtZW50KSA6IGNyZWF0ZUNvb3JkcygxKTtcbiAgY29uc3Qgd2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoICogc2NhbGUueDtcbiAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQgKiBzY2FsZS55O1xuICBjb25zdCB4ID0gbGVmdCAqIHNjYWxlLng7XG4gIGNvbnN0IHkgPSB0b3AgKiBzY2FsZS55O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkge1xuICBsZXQgcmVjdDtcbiAgaWYgKGNsaXBwaW5nQW5jZXN0b3IgPT09ICd2aWV3cG9ydCcpIHtcbiAgICByZWN0ID0gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KTtcbiAgfSBlbHNlIGlmIChjbGlwcGluZ0FuY2VzdG9yID09PSAnZG9jdW1lbnQnKSB7XG4gICAgcmVjdCA9IGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpO1xuICB9IGVsc2UgaWYgKGlzRWxlbWVudChjbGlwcGluZ0FuY2VzdG9yKSkge1xuICAgIHJlY3QgPSBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmlzdWFsT2Zmc2V0cyA9IGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCk7XG4gICAgcmVjdCA9IHtcbiAgICAgIHg6IGNsaXBwaW5nQW5jZXN0b3IueCAtIHZpc3VhbE9mZnNldHMueCxcbiAgICAgIHk6IGNsaXBwaW5nQW5jZXN0b3IueSAtIHZpc3VhbE9mZnNldHMueSxcbiAgICAgIHdpZHRoOiBjbGlwcGluZ0FuY2VzdG9yLndpZHRoLFxuICAgICAgaGVpZ2h0OiBjbGlwcGluZ0FuY2VzdG9yLmhlaWdodFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHJlY3RUb0NsaWVudFJlY3QocmVjdCk7XG59XG5mdW5jdGlvbiBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IoZWxlbWVudCwgc3RvcE5vZGUpIHtcbiAgY29uc3QgcGFyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gIGlmIChwYXJlbnROb2RlID09PSBzdG9wTm9kZSB8fCAhaXNFbGVtZW50KHBhcmVudE5vZGUpIHx8IGlzTGFzdFRyYXZlcnNhYmxlTm9kZShwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnROb2RlKS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyB8fCBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IocGFyZW50Tm9kZSwgc3RvcE5vZGUpO1xufVxuXG4vLyBBIFwiY2xpcHBpbmcgYW5jZXN0b3JcIiBpcyBhbiBgb3ZlcmZsb3dgIGVsZW1lbnQgd2l0aCB0aGUgY2hhcmFjdGVyaXN0aWMgb2Zcbi8vIGNsaXBwaW5nIChvciBoaWRpbmcpIGNoaWxkIGVsZW1lbnRzLiBUaGlzIHJldHVybnMgYWxsIGNsaXBwaW5nIGFuY2VzdG9yc1xuLy8gb2YgdGhlIGdpdmVuIGVsZW1lbnQgdXAgdGhlIHRyZWUuXG5mdW5jdGlvbiBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnMoZWxlbWVudCwgY2FjaGUpIHtcbiAgY29uc3QgY2FjaGVkUmVzdWx0ID0gY2FjaGUuZ2V0KGVsZW1lbnQpO1xuICBpZiAoY2FjaGVkUmVzdWx0KSB7XG4gICAgcmV0dXJuIGNhY2hlZFJlc3VsdDtcbiAgfVxuICBsZXQgcmVzdWx0ID0gZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZWxlbWVudCwgW10sIGZhbHNlKS5maWx0ZXIoZWwgPT4gaXNFbGVtZW50KGVsKSAmJiBnZXROb2RlTmFtZShlbCkgIT09ICdib2R5Jyk7XG4gIGxldCBjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA9IG51bGw7XG4gIGNvbnN0IGVsZW1lbnRJc0ZpeGVkID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJztcbiAgbGV0IGN1cnJlbnROb2RlID0gZWxlbWVudElzRml4ZWQgPyBnZXRQYXJlbnROb2RlKGVsZW1lbnQpIDogZWxlbWVudDtcblxuICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQ29udGFpbmluZ19ibG9jayNpZGVudGlmeWluZ190aGVfY29udGFpbmluZ19ibG9ja1xuICB3aGlsZSAoaXNFbGVtZW50KGN1cnJlbnROb2RlKSAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKGN1cnJlbnROb2RlKSkge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnROb2RlKTtcbiAgICBjb25zdCBjdXJyZW50Tm9kZUlzQ29udGFpbmluZyA9IGlzQ29udGFpbmluZ0Jsb2NrKGN1cnJlbnROb2RlKTtcbiAgICBpZiAoIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmIGNvbXB1dGVkU3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICAgIGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gbnVsbDtcbiAgICB9XG4gICAgY29uc3Qgc2hvdWxkRHJvcEN1cnJlbnROb2RlID0gZWxlbWVudElzRml4ZWQgPyAhY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgJiYgIWN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlIDogIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmIGNvbXB1dGVkU3R5bGUucG9zaXRpb24gPT09ICdzdGF0aWMnICYmICEhY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgJiYgYWJzb2x1dGVPckZpeGVkLmhhcyhjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZS5wb3NpdGlvbikgfHwgaXNPdmVyZmxvd0VsZW1lbnQoY3VycmVudE5vZGUpICYmICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IoZWxlbWVudCwgY3VycmVudE5vZGUpO1xuICAgIGlmIChzaG91bGREcm9wQ3VycmVudE5vZGUpIHtcbiAgICAgIC8vIERyb3Agbm9uLWNvbnRhaW5pbmcgYmxvY2tzLlxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihhbmNlc3RvciA9PiBhbmNlc3RvciAhPT0gY3VycmVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWNvcmQgbGFzdCBjb250YWluaW5nIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbi5cbiAgICAgIGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gY29tcHV0ZWRTdHlsZTtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICBjYWNoZS5zZXQoZWxlbWVudCwgcmVzdWx0KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gR2V0cyB0aGUgbWF4aW11bSBhcmVhIHRoYXQgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBkdWUgdG8gYW55IG51bWJlciBvZlxuLy8gY2xpcHBpbmcgYW5jZXN0b3JzLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50LFxuICAgIGJvdW5kYXJ5LFxuICAgIHJvb3RCb3VuZGFyeSxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgZWxlbWVudENsaXBwaW5nQW5jZXN0b3JzID0gYm91bmRhcnkgPT09ICdjbGlwcGluZ0FuY2VzdG9ycycgPyBpc1RvcExheWVyKGVsZW1lbnQpID8gW10gOiBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnMoZWxlbWVudCwgdGhpcy5fYykgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICBjb25zdCBjbGlwcGluZ0FuY2VzdG9ycyA9IFsuLi5lbGVtZW50Q2xpcHBpbmdBbmNlc3RvcnMsIHJvb3RCb3VuZGFyeV07XG4gIGNvbnN0IGZpcnN0Q2xpcHBpbmdBbmNlc3RvciA9IGNsaXBwaW5nQW5jZXN0b3JzWzBdO1xuICBjb25zdCBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ0FuY2VzdG9ycy5yZWR1Y2UoKGFjY1JlY3QsIGNsaXBwaW5nQW5jZXN0b3IpID0+IHtcbiAgICBjb25zdCByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGNsaXBwaW5nQW5jZXN0b3IsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbUNsaXBwaW5nQW5jZXN0b3IoZWxlbWVudCwgZmlyc3RDbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkpO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdCxcbiAgICBoZWlnaHQ6IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wLFxuICAgIHg6IGNsaXBwaW5nUmVjdC5sZWZ0LFxuICAgIHk6IGNsaXBwaW5nUmVjdC50b3BcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGVsZW1lbnQsIG9mZnNldFBhcmVudCwgc3RyYXRlZ3kpIHtcbiAgY29uc3QgaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IGdldERvY3VtZW50RWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBjb25zdCBpc0ZpeGVkID0gc3RyYXRlZ3kgPT09ICdmaXhlZCc7XG4gIGNvbnN0IHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgaXNGaXhlZCwgb2Zmc2V0UGFyZW50KTtcbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuXG4gIC8vIElmIHRoZSA8Ym9keT4gc2Nyb2xsYmFyIGFwcGVhcnMgb24gdGhlIGxlZnQgKGUuZy4gUlRMIHN5c3RlbXMpLiBVc2VcbiAgLy8gRmlyZWZveCB3aXRoIGxheW91dC5zY3JvbGxiYXIuc2lkZSA9IDMgaW4gYWJvdXQ6Y29uZmlnIHRvIHRlc3QgdGhpcy5cbiAgZnVuY3Rpb24gc2V0TGVmdFJUTFNjcm9sbGJhck9mZnNldCgpIHtcbiAgICBvZmZzZXRzLnggPSBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCk7XG4gIH1cbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgaXNPdmVyZmxvd0VsZW1lbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50LCB0cnVlLCBpc0ZpeGVkLCBvZmZzZXRQYXJlbnQpO1xuICAgICAgb2Zmc2V0cy54ID0gb2Zmc2V0UmVjdC54ICsgb2Zmc2V0UGFyZW50LmNsaWVudExlZnQ7XG4gICAgICBvZmZzZXRzLnkgPSBvZmZzZXRSZWN0LnkgKyBvZmZzZXRQYXJlbnQuY2xpZW50VG9wO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICBzZXRMZWZ0UlRMU2Nyb2xsYmFyT2Zmc2V0KCk7XG4gICAgfVxuICB9XG4gIGlmIChpc0ZpeGVkICYmICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiBkb2N1bWVudEVsZW1lbnQpIHtcbiAgICBzZXRMZWZ0UlRMU2Nyb2xsYmFyT2Zmc2V0KCk7XG4gIH1cbiAgY29uc3QgaHRtbE9mZnNldCA9IGRvY3VtZW50RWxlbWVudCAmJiAhaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgJiYgIWlzRml4ZWQgPyBnZXRIVE1MT2Zmc2V0KGRvY3VtZW50RWxlbWVudCwgc2Nyb2xsKSA6IGNyZWF0ZUNvb3JkcygwKTtcbiAgY29uc3QgeCA9IHJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC0gb2Zmc2V0cy54IC0gaHRtbE9mZnNldC54O1xuICBjb25zdCB5ID0gcmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wIC0gb2Zmc2V0cy55IC0gaHRtbE9mZnNldC55O1xuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljUG9zaXRpb25lZChlbGVtZW50KSB7XG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnc3RhdGljJztcbn1cblxuZnVuY3Rpb24gZ2V0VHJ1ZU9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCkge1xuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmIChwb2x5ZmlsbCkge1xuICAgIHJldHVybiBwb2x5ZmlsbChlbGVtZW50KTtcbiAgfVxuICBsZXQgcmF3T2Zmc2V0UGFyZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7XG5cbiAgLy8gRmlyZWZveCByZXR1cm5zIHRoZSA8aHRtbD4gZWxlbWVudCBhcyB0aGUgb2Zmc2V0UGFyZW50IGlmIGl0J3Mgbm9uLXN0YXRpYyxcbiAgLy8gd2hpbGUgQ2hyb21lIGFuZCBTYWZhcmkgcmV0dXJuIHRoZSA8Ym9keT4gZWxlbWVudC4gVGhlIDxib2R5PiBlbGVtZW50IG11c3RcbiAgLy8gYmUgdXNlZCB0byBwZXJmb3JtIHRoZSBjb3JyZWN0IGNhbGN1bGF0aW9ucyBldmVuIGlmIHRoZSA8aHRtbD4gZWxlbWVudCBpc1xuICAvLyBub24tc3RhdGljLlxuICBpZiAoZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpID09PSByYXdPZmZzZXRQYXJlbnQpIHtcbiAgICByYXdPZmZzZXRQYXJlbnQgPSByYXdPZmZzZXRQYXJlbnQub3duZXJEb2N1bWVudC5ib2R5O1xuICB9XG4gIHJldHVybiByYXdPZmZzZXRQYXJlbnQ7XG59XG5cbi8vIEdldHMgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgcG9zaXRpb25lZCBlbGVtZW50LiBIYW5kbGVzIHNvbWUgZWRnZSBjYXNlcyxcbi8vIHN1Y2ggYXMgdGFibGUgYW5jZXN0b3JzIGFuZCBjcm9zcyBicm93c2VyIGJ1Z3MuXG5mdW5jdGlvbiBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCwgcG9seWZpbGwpIHtcbiAgY29uc3Qgd2luID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICBpZiAoaXNUb3BMYXllcihlbGVtZW50KSkge1xuICAgIHJldHVybiB3aW47XG4gIH1cbiAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgbGV0IHN2Z09mZnNldFBhcmVudCA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gICAgd2hpbGUgKHN2Z09mZnNldFBhcmVudCAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKHN2Z09mZnNldFBhcmVudCkpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQoc3ZnT2Zmc2V0UGFyZW50KSAmJiAhaXNTdGF0aWNQb3NpdGlvbmVkKHN2Z09mZnNldFBhcmVudCkpIHtcbiAgICAgICAgcmV0dXJuIHN2Z09mZnNldFBhcmVudDtcbiAgICAgIH1cbiAgICAgIHN2Z09mZnNldFBhcmVudCA9IGdldFBhcmVudE5vZGUoc3ZnT2Zmc2V0UGFyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICBsZXQgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCk7XG4gIHdoaWxlIChvZmZzZXRQYXJlbnQgJiYgaXNUYWJsZUVsZW1lbnQob2Zmc2V0UGFyZW50KSAmJiBpc1N0YXRpY1Bvc2l0aW9uZWQob2Zmc2V0UGFyZW50KSkge1xuICAgIG9mZnNldFBhcmVudCA9IGdldFRydWVPZmZzZXRQYXJlbnQob2Zmc2V0UGFyZW50LCBwb2x5ZmlsbCk7XG4gIH1cbiAgaWYgKG9mZnNldFBhcmVudCAmJiBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUob2Zmc2V0UGFyZW50KSAmJiBpc1N0YXRpY1Bvc2l0aW9uZWQob2Zmc2V0UGFyZW50KSAmJiAhaXNDb250YWluaW5nQmxvY2sob2Zmc2V0UGFyZW50KSkge1xuICAgIHJldHVybiB3aW47XG4gIH1cbiAgcmV0dXJuIG9mZnNldFBhcmVudCB8fCBnZXRDb250YWluaW5nQmxvY2soZWxlbWVudCkgfHwgd2luO1xufVxuXG5jb25zdCBnZXRFbGVtZW50UmVjdHMgPSBhc3luYyBmdW5jdGlvbiAoZGF0YSkge1xuICBjb25zdCBnZXRPZmZzZXRQYXJlbnRGbiA9IHRoaXMuZ2V0T2Zmc2V0UGFyZW50IHx8IGdldE9mZnNldFBhcmVudDtcbiAgY29uc3QgZ2V0RGltZW5zaW9uc0ZuID0gdGhpcy5nZXREaW1lbnNpb25zO1xuICBjb25zdCBmbG9hdGluZ0RpbWVuc2lvbnMgPSBhd2FpdCBnZXREaW1lbnNpb25zRm4oZGF0YS5mbG9hdGluZyk7XG4gIHJldHVybiB7XG4gICAgcmVmZXJlbmNlOiBnZXRSZWN0UmVsYXRpdmVUb09mZnNldFBhcmVudChkYXRhLnJlZmVyZW5jZSwgYXdhaXQgZ2V0T2Zmc2V0UGFyZW50Rm4oZGF0YS5mbG9hdGluZyksIGRhdGEuc3RyYXRlZ3kpLFxuICAgIGZsb2F0aW5nOiB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMCxcbiAgICAgIHdpZHRoOiBmbG9hdGluZ0RpbWVuc2lvbnMud2lkdGgsXG4gICAgICBoZWlnaHQ6IGZsb2F0aW5nRGltZW5zaW9ucy5oZWlnaHRcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBpc1JUTChlbGVtZW50KSB7XG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XG59XG5cbmNvbnN0IHBsYXRmb3JtID0ge1xuICBjb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCxcbiAgZ2V0RG9jdW1lbnRFbGVtZW50LFxuICBnZXRDbGlwcGluZ1JlY3QsXG4gIGdldE9mZnNldFBhcmVudCxcbiAgZ2V0RWxlbWVudFJlY3RzLFxuICBnZXRDbGllbnRSZWN0cyxcbiAgZ2V0RGltZW5zaW9ucyxcbiAgZ2V0U2NhbGUsXG4gIGlzRWxlbWVudCxcbiAgaXNSVExcbn07XG5cbmZ1bmN0aW9uIHJlY3RzQXJlRXF1YWwoYSwgYikge1xuICByZXR1cm4gYS54ID09PSBiLnggJiYgYS55ID09PSBiLnkgJiYgYS53aWR0aCA9PT0gYi53aWR0aCAmJiBhLmhlaWdodCA9PT0gYi5oZWlnaHQ7XG59XG5cbi8vIGh0dHBzOi8vc2FtdGhvci5hdS8yMDIxL29ic2VydmluZy1kb20vXG5mdW5jdGlvbiBvYnNlcnZlTW92ZShlbGVtZW50LCBvbk1vdmUpIHtcbiAgbGV0IGlvID0gbnVsbDtcbiAgbGV0IHRpbWVvdXRJZDtcbiAgY29uc3Qgcm9vdCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICB2YXIgX2lvO1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgIChfaW8gPSBpbykgPT0gbnVsbCB8fCBfaW8uZGlzY29ubmVjdCgpO1xuICAgIGlvID0gbnVsbDtcbiAgfVxuICBmdW5jdGlvbiByZWZyZXNoKHNraXAsIHRocmVzaG9sZCkge1xuICAgIGlmIChza2lwID09PSB2b2lkIDApIHtcbiAgICAgIHNraXAgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7XG4gICAgICB0aHJlc2hvbGQgPSAxO1xuICAgIH1cbiAgICBjbGVhbnVwKCk7XG4gICAgY29uc3QgZWxlbWVudFJlY3RGb3JSb290TWFyZ2luID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB7XG4gICAgICBsZWZ0LFxuICAgICAgdG9wLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gZWxlbWVudFJlY3RGb3JSb290TWFyZ2luO1xuICAgIGlmICghc2tpcCkge1xuICAgICAgb25Nb3ZlKCk7XG4gICAgfVxuICAgIGlmICghd2lkdGggfHwgIWhlaWdodCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbnNldFRvcCA9IGZsb29yKHRvcCk7XG4gICAgY29uc3QgaW5zZXRSaWdodCA9IGZsb29yKHJvb3QuY2xpZW50V2lkdGggLSAobGVmdCArIHdpZHRoKSk7XG4gICAgY29uc3QgaW5zZXRCb3R0b20gPSBmbG9vcihyb290LmNsaWVudEhlaWdodCAtICh0b3AgKyBoZWlnaHQpKTtcbiAgICBjb25zdCBpbnNldExlZnQgPSBmbG9vcihsZWZ0KTtcbiAgICBjb25zdCByb290TWFyZ2luID0gLWluc2V0VG9wICsgXCJweCBcIiArIC1pbnNldFJpZ2h0ICsgXCJweCBcIiArIC1pbnNldEJvdHRvbSArIFwicHggXCIgKyAtaW5zZXRMZWZ0ICsgXCJweFwiO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByb290TWFyZ2luLFxuICAgICAgdGhyZXNob2xkOiBtYXgoMCwgbWluKDEsIHRocmVzaG9sZCkpIHx8IDFcbiAgICB9O1xuICAgIGxldCBpc0ZpcnN0VXBkYXRlID0gdHJ1ZTtcbiAgICBmdW5jdGlvbiBoYW5kbGVPYnNlcnZlKGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHJhdGlvID0gZW50cmllc1swXS5pbnRlcnNlY3Rpb25SYXRpbztcbiAgICAgIGlmIChyYXRpbyAhPT0gdGhyZXNob2xkKSB7XG4gICAgICAgIGlmICghaXNGaXJzdFVwZGF0ZSkge1xuICAgICAgICAgIHJldHVybiByZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyYXRpbykge1xuICAgICAgICAgIC8vIElmIHRoZSByZWZlcmVuY2UgaXMgY2xpcHBlZCwgdGhlIHJhdGlvIGlzIDAuIFRocm90dGxlIHRoZSByZWZyZXNoXG4gICAgICAgICAgLy8gdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIHVwZGF0ZXMuXG4gICAgICAgICAgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoKGZhbHNlLCAxZS03KTtcbiAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWZyZXNoKGZhbHNlLCByYXRpbyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChyYXRpbyA9PT0gMSAmJiAhcmVjdHNBcmVFcXVhbChlbGVtZW50UmVjdEZvclJvb3RNYXJnaW4sIGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpKSB7XG4gICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCBldmVuIHRob3VnaCB0aGUgcmF0aW8gaXMgcmVwb3J0ZWQgYXMgMSwgdGhlXG4gICAgICAgIC8vIGVsZW1lbnQgaXMgbm90IGFjdHVhbGx5IGZ1bGx5IHdpdGhpbiB0aGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIncyByb290XG4gICAgICAgIC8vIGFyZWEgYW55bW9yZS4gVGhpcyBjYW4gaGFwcGVuIHVuZGVyIHBlcmZvcm1hbmNlIGNvbnN0cmFpbnRzLiBUaGlzIG1heVxuICAgICAgICAvLyBiZSBhIGJ1ZyBpbiB0aGUgYnJvd3NlcidzIEludGVyc2VjdGlvbk9ic2VydmVyIGltcGxlbWVudGF0aW9uLiBUb1xuICAgICAgICAvLyB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBjb21wYXJlIHRoZSBlbGVtZW50J3MgYm91bmRpbmcgcmVjdCBub3cgd2l0aFxuICAgICAgICAvLyB3aGF0IGl0IHdhcyBhdCB0aGUgdGltZSB3ZSBjcmVhdGVkIHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlci4gSWYgdGhleVxuICAgICAgICAvLyBhcmUgbm90IGVxdWFsIHRoZW4gdGhlIGVsZW1lbnQgbW92ZWQsIHNvIHdlIHJlZnJlc2guXG4gICAgICAgIHJlZnJlc2goKTtcbiAgICAgIH1cbiAgICAgIGlzRmlyc3RVcGRhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBPbGRlciBicm93c2VycyBkb24ndCBzdXBwb3J0IGEgYGRvY3VtZW50YCBhcyB0aGUgcm9vdCBhbmQgd2lsbCB0aHJvdyBhblxuICAgIC8vIGVycm9yLlxuICAgIHRyeSB7XG4gICAgICBpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihoYW5kbGVPYnNlcnZlLCB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC8vIEhhbmRsZSA8aWZyYW1lPnNcbiAgICAgICAgcm9vdDogcm9vdC5vd25lckRvY3VtZW50XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlT2JzZXJ2ZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlvLm9ic2VydmUoZWxlbWVudCk7XG4gIH1cbiAgcmVmcmVzaCh0cnVlKTtcbiAgcmV0dXJuIGNsZWFudXA7XG59XG5cbi8qKlxuICogQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIG5lY2Vzc2FyeS5cbiAqIFNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIG1vdW50ZWQgb24gdGhlIERPTSBvclxuICogdmlzaWJsZSBvbiB0aGUgc2NyZWVuLlxuICogQHJldHVybnMgY2xlYW51cCBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBpbnZva2VkIHdoZW4gdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXNcbiAqIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG9yIGhpZGRlbiBmcm9tIHRoZSBzY3JlZW4uXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1VwZGF0ZVxuICovXG5mdW5jdGlvbiBhdXRvVXBkYXRlKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHVwZGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBhbmNlc3RvclNjcm9sbCA9IHRydWUsXG4gICAgYW5jZXN0b3JSZXNpemUgPSB0cnVlLFxuICAgIGVsZW1lbnRSZXNpemUgPSB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgbGF5b3V0U2hpZnQgPSB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgYW5pbWF0aW9uRnJhbWUgPSBmYWxzZVxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgcmVmZXJlbmNlRWwgPSB1bndyYXBFbGVtZW50KHJlZmVyZW5jZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGFuY2VzdG9yU2Nyb2xsIHx8IGFuY2VzdG9yUmVzaXplID8gWy4uLihyZWZlcmVuY2VFbCA/IGdldE92ZXJmbG93QW5jZXN0b3JzKHJlZmVyZW5jZUVsKSA6IFtdKSwgLi4uZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZmxvYXRpbmcpXSA6IFtdO1xuICBhbmNlc3RvcnMuZm9yRWFjaChhbmNlc3RvciA9PiB7XG4gICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlXG4gICAgfSk7XG4gICAgYW5jZXN0b3JSZXNpemUgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKTtcbiAgfSk7XG4gIGNvbnN0IGNsZWFudXBJbyA9IHJlZmVyZW5jZUVsICYmIGxheW91dFNoaWZ0ID8gb2JzZXJ2ZU1vdmUocmVmZXJlbmNlRWwsIHVwZGF0ZSkgOiBudWxsO1xuICBsZXQgcmVvYnNlcnZlRnJhbWUgPSAtMTtcbiAgbGV0IHJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgaWYgKGVsZW1lbnRSZXNpemUpIHtcbiAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihfcmVmID0+IHtcbiAgICAgIGxldCBbZmlyc3RFbnRyeV0gPSBfcmVmO1xuICAgICAgaWYgKGZpcnN0RW50cnkgJiYgZmlyc3RFbnRyeS50YXJnZXQgPT09IHJlZmVyZW5jZUVsICYmIHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIC8vIFByZXZlbnQgdXBkYXRlIGxvb3BzIHdoZW4gdXNpbmcgdGhlIGBzaXplYCBtaWRkbGV3YXJlLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzE3NDBcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmVvYnNlcnZlRnJhbWUpO1xuICAgICAgICByZW9ic2VydmVGcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdmFyIF9yZXNpemVPYnNlcnZlcjtcbiAgICAgICAgICAoX3Jlc2l6ZU9ic2VydmVyID0gcmVzaXplT2JzZXJ2ZXIpID09IG51bGwgfHwgX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmcpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZSgpO1xuICAgIH0pO1xuICAgIGlmIChyZWZlcmVuY2VFbCAmJiAhYW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUocmVmZXJlbmNlRWwpO1xuICAgIH1cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgfVxuICBsZXQgZnJhbWVJZDtcbiAgbGV0IHByZXZSZWZSZWN0ID0gYW5pbWF0aW9uRnJhbWUgPyBnZXRCb3VuZGluZ0NsaWVudFJlY3QocmVmZXJlbmNlKSA6IG51bGw7XG4gIGlmIChhbmltYXRpb25GcmFtZSkge1xuICAgIGZyYW1lTG9vcCgpO1xuICB9XG4gIGZ1bmN0aW9uIGZyYW1lTG9vcCgpIHtcbiAgICBjb25zdCBuZXh0UmVmUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChyZWZlcmVuY2UpO1xuICAgIGlmIChwcmV2UmVmUmVjdCAmJiAhcmVjdHNBcmVFcXVhbChwcmV2UmVmUmVjdCwgbmV4dFJlZlJlY3QpKSB7XG4gICAgICB1cGRhdGUoKTtcbiAgICB9XG4gICAgcHJldlJlZlJlY3QgPSBuZXh0UmVmUmVjdDtcbiAgICBmcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lTG9vcCk7XG4gIH1cbiAgdXBkYXRlKCk7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgdmFyIF9yZXNpemVPYnNlcnZlcjI7XG4gICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKTtcbiAgICAgIGFuY2VzdG9yUmVzaXplICYmIGFuY2VzdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSk7XG4gICAgfSk7XG4gICAgY2xlYW51cElvID09IG51bGwgfHwgY2xlYW51cElvKCk7XG4gICAgKF9yZXNpemVPYnNlcnZlcjIgPSByZXNpemVPYnNlcnZlcikgPT0gbnVsbCB8fCBfcmVzaXplT2JzZXJ2ZXIyLmRpc2Nvbm5lY3QoKTtcbiAgICByZXNpemVPYnNlcnZlciA9IG51bGw7XG4gICAgaWYgKGFuaW1hdGlvbkZyYW1lKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShmcmFtZUlkKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2l0aCBhbiBvYmplY3Qgb2Ygb3ZlcmZsb3cgc2lkZSBvZmZzZXRzIHRoYXQgZGV0ZXJtaW5lIGhvdyBtdWNoIHRoZVxuICogZWxlbWVudCBpcyBvdmVyZmxvd2luZyBhIGdpdmVuIGNsaXBwaW5nIGJvdW5kYXJ5IG9uIGVhY2ggc2lkZS5cbiAqIC0gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgYm91bmRhcnkgYnkgdGhhdCBudW1iZXIgb2YgcGl4ZWxzXG4gKiAtIG5lZ2F0aXZlID0gaG93IG1hbnkgcGl4ZWxzIGxlZnQgYmVmb3JlIGl0IHdpbGwgb3ZlcmZsb3dcbiAqIC0gMCA9IGxpZXMgZmx1c2ggd2l0aCB0aGUgYm91bmRhcnlcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9kZXRlY3RPdmVyZmxvd1xuICovXG5jb25zdCBkZXRlY3RPdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93JDE7XG5cbi8qKlxuICogTW9kaWZpZXMgdGhlIHBsYWNlbWVudCBieSB0cmFuc2xhdGluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbG9uZyB0aGVcbiAqIHNwZWNpZmllZCBheGVzLlxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxuICogb2JqZWN0IG1heSBiZSBwYXNzZWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gKi9cbmNvbnN0IG9mZnNldCA9IG9mZnNldCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBjaG9vc2luZyB0aGUgcGxhY2VtZW50XG4gKiB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseSwgd2l0aG91dCBuZWVkaW5nIHRvIHNwZWNpZnkgYVxuICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9QbGFjZW1lbnRcbiAqL1xuY29uc3QgYXV0b1BsYWNlbWVudCA9IGF1dG9QbGFjZW1lbnQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cbiAqIGtlZXAgaXQgaW4gdmlldyB3aGVuIGl0IHdpbGwgb3ZlcmZsb3cgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NoaWZ0XG4gKi9cbmNvbnN0IHNoaWZ0ID0gc2hpZnQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgZmxpcHBpbmcgdGhlIGBwbGFjZW1lbnRgXG4gKiBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcgd2hlbiB0aGUgcHJlZmVycmVkIHBsYWNlbWVudChzKSB3aWxsIG92ZXJmbG93IHRoZVxuICogY2xpcHBpbmcgYm91bmRhcnkuIEFsdGVybmF0aXZlIHRvIGBhdXRvUGxhY2VtZW50YC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9mbGlwXG4gKi9cbmNvbnN0IGZsaXAgPSBmbGlwJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0aGF0IGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IOKAlFxuICogZm9yIGluc3RhbmNlLCBwcmV2ZW50IGl0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5IG9yIG1hdGNoIHRoZVxuICogd2lkdGggb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NpemVcbiAqL1xuY29uc3Qgc2l6ZSA9IHNpemUkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIGhpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaW4gYXBwbGljYWJsZSBzaXR1YXRpb25zLCBzdWNoIGFzXG4gKiB3aGVuIGl0IGlzIG5vdCBpbiB0aGUgc2FtZSBjbGlwcGluZyBjb250ZXh0IGFzIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9oaWRlXG4gKi9cbmNvbnN0IGhpZGUgPSBoaWRlJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93ID0gYXJyb3ckMTtcblxuLyoqXG4gKiBQcm92aWRlcyBpbXByb3ZlZCBwb3NpdGlvbmluZyBmb3IgaW5saW5lIHJlZmVyZW5jZSBlbGVtZW50cyB0aGF0IGNhbiBzcGFuXG4gKiBvdmVyIG11bHRpcGxlIGxpbmVzLCBzdWNoIGFzIGh5cGVybGlua3Mgb3IgcmFuZ2Ugc2VsZWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbmxpbmVcbiAqL1xuY29uc3QgaW5saW5lID0gaW5saW5lJDE7XG5cbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSBsaW1pdFNoaWZ0JDE7XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGB4YCBhbmQgYHlgIGNvb3JkaW5hdGVzIHRoYXQgd2lsbCBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudFxuICogbmV4dCB0byBhIGdpdmVuIHJlZmVyZW5jZSBlbGVtZW50LlxuICovXG5jb25zdCBjb21wdXRlUG9zaXRpb24gPSAocmVmZXJlbmNlLCBmbG9hdGluZywgb3B0aW9ucykgPT4ge1xuICAvLyBUaGlzIGNhY2hlcyB0aGUgZXhwZW5zaXZlIGBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnNgIGZ1bmN0aW9uIHNvIHRoYXRcbiAgLy8gbXVsdGlwbGUgbGlmZWN5Y2xlIHJlc2V0cyByZS11c2UgdGhlIHNhbWUgcmVzdWx0LiBJdCBvbmx5IGxpdmVzIGZvciBhXG4gIC8vIHNpbmdsZSBjYWxsLiBJZiBvdGhlciBmdW5jdGlvbnMgYmVjb21lIGV4cGVuc2l2ZSwgd2UgY2FuIGFkZCB0aGVtIGFzIHdlbGwuXG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcCgpO1xuICBjb25zdCBtZXJnZWRPcHRpb25zID0ge1xuICAgIHBsYXRmb3JtLFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbiAgY29uc3QgcGxhdGZvcm1XaXRoQ2FjaGUgPSB7XG4gICAgLi4ubWVyZ2VkT3B0aW9ucy5wbGF0Zm9ybSxcbiAgICBfYzogY2FjaGVcbiAgfTtcbiAgcmV0dXJuIGNvbXB1dGVQb3NpdGlvbiQxKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHtcbiAgICAuLi5tZXJnZWRPcHRpb25zLFxuICAgIHBsYXRmb3JtOiBwbGF0Zm9ybVdpdGhDYWNoZVxuICB9KTtcbn07XG5cbmV4cG9ydCB7IGFycm93LCBhdXRvUGxhY2VtZW50LCBhdXRvVXBkYXRlLCBjb21wdXRlUG9zaXRpb24sIGRldGVjdE92ZXJmbG93LCBmbGlwLCBoaWRlLCBpbmxpbmUsIGxpbWl0U2hpZnQsIG9mZnNldCwgcGxhdGZvcm0sIHNoaWZ0LCBzaXplIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+dom@1.7.3/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react-dom@2.1.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs":
 | 
						||
/*!************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+react-dom@2.1.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+dom@1.7.3/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/.pnpm/@floating-ui+utils@0.2.10/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react-dom/index.js\");\n\n\n\n\n\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? react__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect : noop;\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 openRef = useLatestRef(open);\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        // The floating element's position may be recomputed while it's closed\n        // but still mounted (such as when transitioning out). To ensure\n        // `isPositioned` will be `false` initially on the next open, avoid\n        // setting it to `true` when `open === false` (must be specified).\n        isPositioned: openRef.current !== false\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, openRef]);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrcmVhY3QtZG9tQDIuMS41X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS9yZWFjdC1kb20vZGlzdC9mbG9hdGluZy11aS5yZWFjdC1kb20ubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNk87QUFDOUg7QUFDaEY7QUFDUztBQUNGOztBQUV0Qzs7QUFFQTtBQUNBLHVCQUF1QixrREFBZTs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsVUFBVTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLFVBQVU7QUFDL0IsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixVQUFVO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGNBQWMseUNBQVk7QUFDMUI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxJQUFJO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDBCQUEwQiwyQ0FBYztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBLEdBQUc7QUFDSCxrREFBa0QsMkNBQWM7QUFDaEU7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDJDQUFjO0FBQ3BELG9DQUFvQywyQ0FBYztBQUNsRCx1QkFBdUIsOENBQWlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHNCQUFzQiw4Q0FBaUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLHVCQUF1Qix5Q0FBWTtBQUNuQyxzQkFBc0IseUNBQVk7QUFDbEMsa0JBQWtCLHlDQUFZO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDhDQUFpQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxpRUFBZTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsZ0RBQWtCO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0gsdUJBQXVCLHlDQUFZO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILGVBQWUsMENBQWE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsbUJBQW1CLDBDQUFhO0FBQ2hDO0FBQ0E7QUFDQSxHQUFHO0FBQ0gseUJBQXlCLDBDQUFhO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILFNBQVMsMENBQWE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLGlCQUFpQix1REFBTztBQUN4QjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx1REFBTztBQUN0QjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssd0RBQVE7QUFDYjtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyx1REFBTztBQUNaO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssNERBQVk7QUFDakI7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxzREFBTTtBQUNYO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssc0RBQU07QUFDWDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLCtEQUFlO0FBQ3BCO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHNEQUFNO0FBQ1g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssd0RBQVE7QUFDYjtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFaUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BmbG9hdGluZy11aStyZWFjdC1kb21AMi4xLjVfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL3JlYWN0LWRvbS9kaXN0L2Zsb2F0aW5nLXVpLnJlYWN0LWRvbS5tanM/YjE3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlUG9zaXRpb24sIGFycm93IGFzIGFycm93JDIsIGF1dG9QbGFjZW1lbnQgYXMgYXV0b1BsYWNlbWVudCQxLCBmbGlwIGFzIGZsaXAkMSwgaGlkZSBhcyBoaWRlJDEsIGlubGluZSBhcyBpbmxpbmUkMSwgbGltaXRTaGlmdCBhcyBsaW1pdFNoaWZ0JDEsIG9mZnNldCBhcyBvZmZzZXQkMSwgc2hpZnQgYXMgc2hpZnQkMSwgc2l6ZSBhcyBzaXplJDEgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmV4cG9ydCB7IGF1dG9VcGRhdGUsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGdldE92ZXJmbG93QW5jZXN0b3JzLCBwbGF0Zm9ybSB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcblxudmFyIGlzQ2xpZW50ID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJztcblxudmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge307XG52YXIgaW5kZXggPSBpc0NsaWVudCA/IHVzZUxheW91dEVmZmVjdCA6IG5vb3A7XG5cbi8vIEZvcmsgb2YgYGZhc3QtZGVlcC1lcXVhbGAgdGhhdCBvbmx5IGRvZXMgdGhlIGNvbXBhcmlzb25zIHdlIG5lZWQgYW5kIGNvbXBhcmVzXG4vLyBmdW5jdGlvbnNcbmZ1bmN0aW9uIGRlZXBFcXVhbChhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodHlwZW9mIGEgPT09ICdmdW5jdGlvbicgJiYgYS50b1N0cmluZygpID09PSBiLnRvU3RyaW5nKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBsZXQgbGVuZ3RoO1xuICBsZXQgaTtcbiAgbGV0IGtleXM7XG4gIGlmIChhICYmIGIgJiYgdHlwZW9mIGEgPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYSkpIHtcbiAgICAgIGxlbmd0aCA9IGEubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCAhPT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOykge1xuICAgICAgICBpZiAoIWRlZXBFcXVhbChhW2ldLCBiW2ldKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7KSB7XG4gICAgICBpZiAoIXt9Lmhhc093blByb3BlcnR5LmNhbGwoYiwga2V5c1tpXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcbiAgICAgIGNvbnN0IGtleSA9IGtleXNbaV07XG4gICAgICBpZiAoa2V5ID09PSAnX293bmVyJyAmJiBhLiQkdHlwZW9mKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFkZWVwRXF1YWwoYVtrZXldLCBiW2tleV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGEgIT09IGEgJiYgYiAhPT0gYjtcbn1cblxuZnVuY3Rpb24gZ2V0RFBSKGVsZW1lbnQpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgY29uc3Qgd2luID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgcmV0dXJuIHdpbi5kZXZpY2VQaXhlbFJhdGlvIHx8IDE7XG59XG5cbmZ1bmN0aW9uIHJvdW5kQnlEUFIoZWxlbWVudCwgdmFsdWUpIHtcbiAgY29uc3QgZHByID0gZ2V0RFBSKGVsZW1lbnQpO1xuICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGRwcikgLyBkcHI7XG59XG5cbmZ1bmN0aW9uIHVzZUxhdGVzdFJlZih2YWx1ZSkge1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYodmFsdWUpO1xuICBpbmRleCgoKSA9PiB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfSk7XG4gIHJldHVybiByZWY7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhIGZsb2F0aW5nIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlRmxvYXRpbmdcbiAqL1xuZnVuY3Rpb24gdXNlRmxvYXRpbmcob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcbiAgICBzdHJhdGVneSA9ICdhYnNvbHV0ZScsXG4gICAgbWlkZGxld2FyZSA9IFtdLFxuICAgIHBsYXRmb3JtLFxuICAgIGVsZW1lbnRzOiB7XG4gICAgICByZWZlcmVuY2U6IGV4dGVybmFsUmVmZXJlbmNlLFxuICAgICAgZmxvYXRpbmc6IGV4dGVybmFsRmxvYXRpbmdcbiAgICB9ID0ge30sXG4gICAgdHJhbnNmb3JtID0gdHJ1ZSxcbiAgICB3aGlsZUVsZW1lbnRzTW91bnRlZCxcbiAgICBvcGVuXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSBSZWFjdC51c2VTdGF0ZSh7XG4gICAgeDogMCxcbiAgICB5OiAwLFxuICAgIHN0cmF0ZWd5LFxuICAgIHBsYWNlbWVudCxcbiAgICBtaWRkbGV3YXJlRGF0YToge30sXG4gICAgaXNQb3NpdGlvbmVkOiBmYWxzZVxuICB9KTtcbiAgY29uc3QgW2xhdGVzdE1pZGRsZXdhcmUsIHNldExhdGVzdE1pZGRsZXdhcmVdID0gUmVhY3QudXNlU3RhdGUobWlkZGxld2FyZSk7XG4gIGlmICghZGVlcEVxdWFsKGxhdGVzdE1pZGRsZXdhcmUsIG1pZGRsZXdhcmUpKSB7XG4gICAgc2V0TGF0ZXN0TWlkZGxld2FyZShtaWRkbGV3YXJlKTtcbiAgfVxuICBjb25zdCBbX3JlZmVyZW5jZSwgX3NldFJlZmVyZW5jZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW19mbG9hdGluZywgX3NldEZsb2F0aW5nXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBzZXRSZWZlcmVuY2UgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBpZiAobm9kZSAhPT0gcmVmZXJlbmNlUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlZmVyZW5jZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIF9zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgfVxuICB9LCBbXSk7XG4gIGNvbnN0IHNldEZsb2F0aW5nID0gUmVhY3QudXNlQ2FsbGJhY2sobm9kZSA9PiB7XG4gICAgaWYgKG5vZGUgIT09IGZsb2F0aW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgX3NldEZsb2F0aW5nKG5vZGUpO1xuICAgIH1cbiAgfSwgW10pO1xuICBjb25zdCByZWZlcmVuY2VFbCA9IGV4dGVybmFsUmVmZXJlbmNlIHx8IF9yZWZlcmVuY2U7XG4gIGNvbnN0IGZsb2F0aW5nRWwgPSBleHRlcm5hbEZsb2F0aW5nIHx8IF9mbG9hdGluZztcbiAgY29uc3QgcmVmZXJlbmNlUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBmbG9hdGluZ1JlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgZGF0YVJlZiA9IFJlYWN0LnVzZVJlZihkYXRhKTtcbiAgY29uc3QgaGFzV2hpbGVFbGVtZW50c01vdW50ZWQgPSB3aGlsZUVsZW1lbnRzTW91bnRlZCAhPSBudWxsO1xuICBjb25zdCB3aGlsZUVsZW1lbnRzTW91bnRlZFJlZiA9IHVzZUxhdGVzdFJlZih3aGlsZUVsZW1lbnRzTW91bnRlZCk7XG4gIGNvbnN0IHBsYXRmb3JtUmVmID0gdXNlTGF0ZXN0UmVmKHBsYXRmb3JtKTtcbiAgY29uc3Qgb3BlblJlZiA9IHVzZUxhdGVzdFJlZihvcGVuKTtcbiAgY29uc3QgdXBkYXRlID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVmZXJlbmNlUmVmLmN1cnJlbnQgfHwgIWZsb2F0aW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50LFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICBtaWRkbGV3YXJlOiBsYXRlc3RNaWRkbGV3YXJlXG4gICAgfTtcbiAgICBpZiAocGxhdGZvcm1SZWYuY3VycmVudCkge1xuICAgICAgY29uZmlnLnBsYXRmb3JtID0gcGxhdGZvcm1SZWYuY3VycmVudDtcbiAgICB9XG4gICAgY29tcHV0ZVBvc2l0aW9uKHJlZmVyZW5jZVJlZi5jdXJyZW50LCBmbG9hdGluZ1JlZi5jdXJyZW50LCBjb25maWcpLnRoZW4oZGF0YSA9PiB7XG4gICAgICBjb25zdCBmdWxsRGF0YSA9IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgLy8gVGhlIGZsb2F0aW5nIGVsZW1lbnQncyBwb3NpdGlvbiBtYXkgYmUgcmVjb21wdXRlZCB3aGlsZSBpdCdzIGNsb3NlZFxuICAgICAgICAvLyBidXQgc3RpbGwgbW91bnRlZCAoc3VjaCBhcyB3aGVuIHRyYW5zaXRpb25pbmcgb3V0KS4gVG8gZW5zdXJlXG4gICAgICAgIC8vIGBpc1Bvc2l0aW9uZWRgIHdpbGwgYmUgYGZhbHNlYCBpbml0aWFsbHkgb24gdGhlIG5leHQgb3BlbiwgYXZvaWRcbiAgICAgICAgLy8gc2V0dGluZyBpdCB0byBgdHJ1ZWAgd2hlbiBgb3BlbiA9PT0gZmFsc2VgIChtdXN0IGJlIHNwZWNpZmllZCkuXG4gICAgICAgIGlzUG9zaXRpb25lZDogb3BlblJlZi5jdXJyZW50ICE9PSBmYWxzZVxuICAgICAgfTtcbiAgICAgIGlmIChpc01vdW50ZWRSZWYuY3VycmVudCAmJiAhZGVlcEVxdWFsKGRhdGFSZWYuY3VycmVudCwgZnVsbERhdGEpKSB7XG4gICAgICAgIGRhdGFSZWYuY3VycmVudCA9IGZ1bGxEYXRhO1xuICAgICAgICBSZWFjdERPTS5mbHVzaFN5bmMoKCkgPT4ge1xuICAgICAgICAgIHNldERhdGEoZnVsbERhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2xhdGVzdE1pZGRsZXdhcmUsIHBsYWNlbWVudCwgc3RyYXRlZ3ksIHBsYXRmb3JtUmVmLCBvcGVuUmVmXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAob3BlbiA9PT0gZmFsc2UgJiYgZGF0YVJlZi5jdXJyZW50LmlzUG9zaXRpb25lZCkge1xuICAgICAgZGF0YVJlZi5jdXJyZW50LmlzUG9zaXRpb25lZCA9IGZhbHNlO1xuICAgICAgc2V0RGF0YShkYXRhID0+ICh7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIGlzUG9zaXRpb25lZDogZmFsc2VcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIFtvcGVuXSk7XG4gIGNvbnN0IGlzTW91bnRlZFJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpc01vdW50ZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzTW91bnRlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW10pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKHJlZmVyZW5jZUVsKSByZWZlcmVuY2VSZWYuY3VycmVudCA9IHJlZmVyZW5jZUVsO1xuICAgIGlmIChmbG9hdGluZ0VsKSBmbG9hdGluZ1JlZi5jdXJyZW50ID0gZmxvYXRpbmdFbDtcbiAgICBpZiAocmVmZXJlbmNlRWwgJiYgZmxvYXRpbmdFbCkge1xuICAgICAgaWYgKHdoaWxlRWxlbWVudHNNb3VudGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuIHdoaWxlRWxlbWVudHNNb3VudGVkUmVmLmN1cnJlbnQocmVmZXJlbmNlRWwsIGZsb2F0aW5nRWwsIHVwZGF0ZSk7XG4gICAgICB9XG4gICAgICB1cGRhdGUoKTtcbiAgICB9XG4gIH0sIFtyZWZlcmVuY2VFbCwgZmxvYXRpbmdFbCwgdXBkYXRlLCB3aGlsZUVsZW1lbnRzTW91bnRlZFJlZiwgaGFzV2hpbGVFbGVtZW50c01vdW50ZWRdKTtcbiAgY29uc3QgcmVmcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICByZWZlcmVuY2U6IHJlZmVyZW5jZVJlZixcbiAgICBmbG9hdGluZzogZmxvYXRpbmdSZWYsXG4gICAgc2V0UmVmZXJlbmNlLFxuICAgIHNldEZsb2F0aW5nXG4gIH0pLCBbc2V0UmVmZXJlbmNlLCBzZXRGbG9hdGluZ10pO1xuICBjb25zdCBlbGVtZW50cyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICByZWZlcmVuY2U6IHJlZmVyZW5jZUVsLFxuICAgIGZsb2F0aW5nOiBmbG9hdGluZ0VsXG4gIH0pLCBbcmVmZXJlbmNlRWwsIGZsb2F0aW5nRWxdKTtcbiAgY29uc3QgZmxvYXRpbmdTdHlsZXMgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBpbml0aWFsU3R5bGVzID0ge1xuICAgICAgcG9zaXRpb246IHN0cmF0ZWd5LFxuICAgICAgbGVmdDogMCxcbiAgICAgIHRvcDogMFxuICAgIH07XG4gICAgaWYgKCFlbGVtZW50cy5mbG9hdGluZykge1xuICAgICAgcmV0dXJuIGluaXRpYWxTdHlsZXM7XG4gICAgfVxuICAgIGNvbnN0IHggPSByb3VuZEJ5RFBSKGVsZW1lbnRzLmZsb2F0aW5nLCBkYXRhLngpO1xuICAgIGNvbnN0IHkgPSByb3VuZEJ5RFBSKGVsZW1lbnRzLmZsb2F0aW5nLCBkYXRhLnkpO1xuICAgIGlmICh0cmFuc2Zvcm0pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmluaXRpYWxTdHlsZXMsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoXCIgKyB4ICsgXCJweCwgXCIgKyB5ICsgXCJweClcIixcbiAgICAgICAgLi4uKGdldERQUihlbGVtZW50cy5mbG9hdGluZykgPj0gMS41ICYmIHtcbiAgICAgICAgICB3aWxsQ2hhbmdlOiAndHJhbnNmb3JtJ1xuICAgICAgICB9KVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBzdHJhdGVneSxcbiAgICAgIGxlZnQ6IHgsXG4gICAgICB0b3A6IHlcbiAgICB9O1xuICB9LCBbc3RyYXRlZ3ksIHRyYW5zZm9ybSwgZWxlbWVudHMuZmxvYXRpbmcsIGRhdGEueCwgZGF0YS55XSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgLi4uZGF0YSxcbiAgICB1cGRhdGUsXG4gICAgcmVmcyxcbiAgICBlbGVtZW50cyxcbiAgICBmbG9hdGluZ1N0eWxlc1xuICB9KSwgW2RhdGEsIHVwZGF0ZSwgcmVmcywgZWxlbWVudHMsIGZsb2F0aW5nU3R5bGVzXSk7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogVGhpcyB3cmFwcyB0aGUgY29yZSBgYXJyb3dgIG1pZGRsZXdhcmUgdG8gYWxsb3cgUmVhY3QgcmVmcyBhcyB0aGUgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hcnJvd1xuICovXG5jb25zdCBhcnJvdyQxID0gb3B0aW9ucyA9PiB7XG4gIGZ1bmN0aW9uIGlzUmVmKHZhbHVlKSB7XG4gICAgcmV0dXJuIHt9Lmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdjdXJyZW50Jyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnYXJyb3cnLFxuICAgIG9wdGlvbnMsXG4gICAgZm4oc3RhdGUpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgcGFkZGluZ1xuICAgICAgfSA9IHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucyhzdGF0ZSkgOiBvcHRpb25zO1xuICAgICAgaWYgKGVsZW1lbnQgJiYgaXNSZWYoZWxlbWVudCkpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQuY3VycmVudCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGFycm93JDIoe1xuICAgICAgICAgICAgZWxlbWVudDogZWxlbWVudC5jdXJyZW50LFxuICAgICAgICAgICAgcGFkZGluZ1xuICAgICAgICAgIH0pLmZuKHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gYXJyb3ckMih7XG4gICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICBwYWRkaW5nXG4gICAgICAgIH0pLmZuKHN0YXRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG4vKipcbiAqIE1vZGlmaWVzIHRoZSBwbGFjZW1lbnQgYnkgdHJhbnNsYXRpbmcgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYWxvbmcgdGhlXG4gKiBzcGVjaWZpZWQgYXhlcy5cbiAqIEEgbnVtYmVyIChzaG9ydGhhbmQgZm9yIGBtYWluQXhpc2Agb3IgZGlzdGFuY2UpLCBvciBhbiBheGVzIGNvbmZpZ3VyYXRpb25cbiAqIG9iamVjdCBtYXkgYmUgcGFzc2VkLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL29mZnNldFxuICovXG5jb25zdCBvZmZzZXQgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4ub2Zmc2V0JDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IHNoaWZ0aW5nIGl0IGluIG9yZGVyIHRvXG4gKiBrZWVwIGl0IGluIHZpZXcgd2hlbiBpdCB3aWxsIG92ZXJmbG93IHRoZSBjbGlwcGluZyBib3VuZGFyeS5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaGlmdFxuICovXG5jb25zdCBzaGlmdCA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5zaGlmdCQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIEJ1aWx0LWluIGBsaW1pdGVyYCB0aGF0IHdpbGwgc3RvcCBgc2hpZnQoKWAgYXQgYSBjZXJ0YWluIHBvaW50LlxuICovXG5jb25zdCBsaW1pdFNoaWZ0ID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLmxpbWl0U2hpZnQkMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgZmxpcHBpbmcgdGhlIGBwbGFjZW1lbnRgXG4gKiBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcgd2hlbiB0aGUgcHJlZmVycmVkIHBsYWNlbWVudChzKSB3aWxsIG92ZXJmbG93IHRoZVxuICogY2xpcHBpbmcgYm91bmRhcnkuIEFsdGVybmF0aXZlIHRvIGBhdXRvUGxhY2VtZW50YC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9mbGlwXG4gKi9cbmNvbnN0IGZsaXAgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uZmxpcCQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdGhhdCBhbGxvd3MgeW91IHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCDigJRcbiAqIGZvciBpbnN0YW5jZSwgcHJldmVudCBpdCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjbGlwcGluZyBib3VuZGFyeSBvciBtYXRjaCB0aGVcbiAqIHdpZHRoIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaXplXG4gKi9cbmNvbnN0IHNpemUgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uc2l6ZSQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBjaG9vc2luZyB0aGUgcGxhY2VtZW50XG4gKiB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseSwgd2l0aG91dCBuZWVkaW5nIHRvIHNwZWNpZnkgYVxuICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9QbGFjZW1lbnRcbiAqL1xuY29uc3QgYXV0b1BsYWNlbWVudCA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5hdXRvUGxhY2VtZW50JDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBoaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50IGluIGFwcGxpY2FibGUgc2l0dWF0aW9ucywgc3VjaCBhc1xuICogd2hlbiBpdCBpcyBub3QgaW4gdGhlIHNhbWUgY2xpcHBpbmcgY29udGV4dCBhcyB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaGlkZVxuICovXG5jb25zdCBoaWRlID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLmhpZGUkMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuLyoqXG4gKiBQcm92aWRlcyBpbXByb3ZlZCBwb3NpdGlvbmluZyBmb3IgaW5saW5lIHJlZmVyZW5jZSBlbGVtZW50cyB0aGF0IGNhbiBzcGFuXG4gKiBvdmVyIG11bHRpcGxlIGxpbmVzLCBzdWNoIGFzIGh5cGVybGlua3Mgb3IgcmFuZ2Ugc2VsZWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbmxpbmVcbiAqL1xuY29uc3QgaW5saW5lID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLmlubGluZSQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gcG9zaXRpb24gYW4gaW5uZXIgZWxlbWVudCBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBzbyB0aGF0IGl0XG4gKiBhcHBlYXJzIGNlbnRlcmVkIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIFRoaXMgd3JhcHMgdGhlIGNvcmUgYGFycm93YCBtaWRkbGV3YXJlIHRvIGFsbG93IFJlYWN0IHJlZnMgYXMgdGhlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXJyb3dcbiAqL1xuY29uc3QgYXJyb3cgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uYXJyb3ckMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGZsaXAsIGhpZGUsIGlubGluZSwgbGltaXRTaGlmdCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSwgdXNlRmxvYXRpbmcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react-dom@2.1.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.mjs":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+utils@0.2.10/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/.pnpm/@floating-ui+utils@0.2.10/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/.pnpm/tabbable@6.2.0/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+react-dom@2.1.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+dom@1.7.3/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    rtl,\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 === (rtl ? ARROW_LEFT : 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 === (rtl ? ARROW_RIGHT : 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 === (rtl ? ARROW_RIGHT : 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\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 aren’t 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    rtl = false,\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    const horizontalEndKey = rtl ? ARROW_LEFT : ARROW_RIGHT;\n    const horizontalStartKey = rtl ? ARROW_RIGHT : ARROW_LEFT;\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      const maybeNextIndex = cellMap[getGridNavigatedIndex({\n        current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n      }, {\n        event,\n        orientation,\n        loop,\n        rtl,\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 === horizontalEndKey ? 'tr' : 'tl')\n      })];\n      if (maybeNextIndex != null) {\n        nextIndex = maybeNextIndex;\n      }\n    }\n    const toEndKeys = {\n      horizontal: [horizontalEndKey],\n      vertical: [ARROW_DOWN],\n      both: [horizontalEndKey, ARROW_DOWN]\n    }[orientation];\n    const toStartKeys = {\n      horizontal: [horizontalStartKey],\n      vertical: [ARROW_UP],\n      both: [horizontalStartKey, 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      var _elementsRef$current$;\n      event.stopPropagation();\n      if (preventedKeys.includes(event.key)) {\n        event.preventDefault();\n      }\n      onNavigate(nextIndex);\n      (_elementsRef$current$ = elementsRef.current[nextIndex]) == null || _elementsRef$current$.focus();\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        shift\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  const [side, alignment] = placement.split('-');\n  const isVerticalSide = side === 'top' || side === 'bottom';\n  let computedStaticOffset = staticOffset;\n  if (isVerticalSide && shift != null && shift.x || !isVerticalSide && shift != null && shift.y) {\n    computedStaticOffset = 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 isCustomShape = !!d;\n  const yOffsetProp = computedStaticOffset && alignment === 'end' ? 'bottom' : 'top';\n  let xOffsetProp = computedStaticOffset && alignment === 'end' ? 'right' : 'left';\n  if (computedStaticOffset && isRTL) {\n    xOffsetProp = alignment === 'end' ? 'left' : 'right';\n  }\n  const arrowX = (arrow == null ? void 0 : arrow.x) != null ? computedStaticOffset || arrow.x : '';\n  const arrowY = (arrow == null ? void 0 : arrow.y) != null ? computedStaticOffset || 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].filter(t => !!t).join(' '),\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 restTimeoutPendingRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\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        restTimeoutPendingRef.current = false;\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  const isClickLikeOpenEvent = useEffectEvent(() => {\n    return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\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 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 if (!open) {\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      restTimeoutPendingRef.current = false;\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            if (!isClickLikeOpenEvent()) {\n              closeWithDelay(event, true, 'safe-polygon');\n            }\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          if (!isClickLikeOpenEvent()) {\n            closeWithDelay(event);\n          }\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, isClickLikeOpenEvent]);\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      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 body = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating).body;\n        body.setAttribute(safePolygonIdentifier, '');\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        body.style.pointerEvents = 'none';\n        ref.style.pointerEvents = 'auto';\n        floatingEl.style.pointerEvents = 'auto';\n        return () => {\n          body.style.pointerEvents = '';\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      restTimeoutPendingRef.current = false;\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\n        // Ignore insignificant movements to account for tremors.\n        if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {\n          return;\n        }\n        clearTimeout(restTimeoutRef.current);\n        if (pointerTypeRef.current === 'touch') {\n          handleMouseMove();\n        } else {\n          restTimeoutPendingRef.current = true;\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      if (!isClickLikeOpenEvent()) {\n        closeWithDelay(event.nativeEvent, false);\n      }\n    }\n  }), [closeWithDelay, isClickLikeOpenEvent]);\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    enabled = true\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 (!enabled) return;\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  }, [enabled, 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 (!enabled) return;\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  }, [enabled, open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n  index(() => {\n    if (!enabled) return;\n    if (setCurrentId === NOOP || !open) return;\n    setCurrentId(id);\n  }, [enabled, open, setCurrentId, id]);\n  return groupContext;\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\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$1 = 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$1++;\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$1--;\n    if (!lockCount$1) {\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}\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    // Wait for the root to exist before creating the portal node. The root must\n    // be stored in state, not a ref, for this to work reactively.\n    if (root === null) return;\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,\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 modal = focusManagerState == null ? void 0 : focusManagerState.modal;\n  const open = focusManagerState == null ? void 0 : focusManagerState.open;\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 || 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, modal]);\n  react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n    if (!portalNode) return;\n    if (open) return;\n    enableFocusInside(portalNode);\n  }, [open, portalNode]);\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, 'focus-out'));\n      }\n    }\n  }));\n}\nconst usePortalContext = () => react__WEBPACK_IMPORTED_MODULE_0__.useContext(PortalContext);\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nfunction getFloatingFocusElement(floatingElement) {\n  if (!floatingElement) {\n    return null;\n  }\n  // Try to find the element that has `{...getFloatingProps()}` spread on it.\n  // This indicates the floating element is acting as a positioning wrapper, and\n  // so focus should be managed on the child element with the event handlers and\n  // aria props.\n  return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\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 floatingFocusElement = getFloatingFocusElement(floating);\n  const getTabbableContent = useEffectEvent(function (container) {\n    if (container === void 0) {\n      container = floatingFocusElement;\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 (floatingFocusElement && type === 'floating') {\n        return floatingFocusElement;\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)(floatingFocusElement, (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.activeElement)((0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusElement))) && 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 === floatingFocusElement && 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)(floatingFocusElement);\n    doc.addEventListener('keydown', onKeyDown);\n    return () => {\n      doc.removeEventListener('keydown', onKeyDown);\n    };\n  }, [disabled, domReference, floatingFocusElement, 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)(floatingFocusElement)) === (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusElement).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)(floatingFocusElement)) {\n            floatingFocusElement.focus();\n          }\n          const prevTabbableIndex = tabbableIndexRef.current;\n          const tabbableContent = getTabbableContent();\n          const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\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, 'focus-out');\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, floatingFocusElement, 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)(floatingFocusElement)) return;\n    const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusElement);\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(floatingFocusElement);\n      const initialFocusValue = initialFocusRef.current;\n      const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;\n      const focusAlreadyInsideFloatingEl = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.contains)(floatingFocusElement, previouslyFocusedElement);\n      if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n        enqueueFocus(elToFocus, {\n          preventScroll: elToFocus === floatingFocusElement\n        });\n      }\n    });\n  }, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n  index(() => {\n    if (disabled || !floatingFocusElement) return;\n    let preventReturnFocusScroll = false;\n    const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(floatingFocusElement);\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    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    const fallbackEl = doc.createElement('span');\n    fallbackEl.setAttribute('tabindex', '-1');\n    fallbackEl.setAttribute('aria-hidden', 'true');\n    Object.assign(fallbackEl.style, HIDDEN_STYLES);\n    if (isInsidePortal && domReference) {\n      domReference.insertAdjacentElement('afterend', fallbackEl);\n    }\n    function getReturnElement() {\n      if (typeof returnFocusRef.current === 'boolean') {\n        return getPreviouslyFocusedElement() || fallbackEl;\n      }\n      return returnFocusRef.current.current || fallbackEl;\n    }\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 returnElement = getReturnElement();\n      queueMicrotask(() => {\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        fallbackEl.remove();\n      });\n    };\n  }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, refs, events, tree, nodeId, isInsidePortal, domReference]);\n  react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n    // The `returnFocus` cleanup behavior is inside a microtask; ensure we\n    // wait for it to complete before resetting the flag.\n    queueMicrotask(() => {\n      preventReturnFocusRef.current = false;\n    });\n  }, [disabled]);\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 (!floatingFocusElement) return;\n    if (typeof MutationObserver !== 'function') return;\n    if (ignoreInitialFocus) return;\n    const handleMutation = () => {\n      const tabIndex = floatingFocusElement.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          floatingFocusElement.setAttribute('tabindex', '0');\n        }\n      } else if (tabIndex !== '-1') {\n        floatingFocusElement.setAttribute('tabindex', '-1');\n      }\n    };\n    handleMutation();\n    const observer = new MutationObserver(handleMutation);\n    observer.observe(floatingFocusElement, {\n      childList: true,\n      subtree: true,\n      attributes: true\n    });\n    return () => {\n      observer.disconnect();\n    };\n  }, [disabled, floating, floatingFocusElement, 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\nlet lockCount = 0;\nfunction enableScrollLock() {\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    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}\nlet cleanup = () => {};\n\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  index(() => {\n    if (!lockScroll) return;\n    lockCount++;\n    if (lockCount === 1) {\n      cleanup = enableScrollLock();\n    }\n    return () => {\n      lockCount--;\n      if (lockCount === 0) {\n        cleanup();\n      }\n    };\n  }, [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    stickIfOpen = 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 && stickIfOpen ? 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 && stickIfOpen ? 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, stickIfOpen, 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 isComposingRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n  const closeOnEscapeKeyDown = useEffectEvent(event => {\n    var _dataRef$current$floa;\n    if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n      return;\n    }\n\n    // Wait until IME is settled. Pressing `Escape` while composing should\n    // close the compose menu, but not the floating element.\n    if (isComposingRef.current) {\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    let compositionTimeout = -1;\n    function onScroll(event) {\n      onOpenChange(false, event, 'ancestor-scroll');\n    }\n    function handleCompositionStart() {\n      window.clearTimeout(compositionTimeout);\n      isComposingRef.current = true;\n    }\n    function handleCompositionEnd() {\n      // Safari fires `compositionend` before `keydown`, so we need to wait\n      // until the next tick to set `isComposing` to `false`.\n      // https://bugs.webkit.org/show_bug.cgi?id=165004\n      compositionTimeout = window.setTimeout(() => {\n        isComposingRef.current = false;\n      },\n      // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n      // Only apply to WebKit for the test to remain 0ms.\n      (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_4__.isWebKit)() ? 5 : 0);\n    }\n    const doc = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.getDocument)(elements.floating);\n    if (escapeKey) {\n      doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n      doc.addEventListener('compositionstart', handleCompositionStart);\n      doc.addEventListener('compositionend', handleCompositionEnd);\n    }\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      if (escapeKey) {\n        doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n        doc.removeEventListener('compositionstart', handleCompositionStart);\n        doc.removeEventListener('compositionend', handleCompositionEnd);\n      }\n      outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n      ancestors.forEach(ancestor => {\n        ancestor.removeEventListener('scroll', onScroll);\n      });\n      window.clearTimeout(compositionTimeout);\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.domReference;\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      [FOCUSABLE_ATTRIBUTE]: ''\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 floatingFocusElement = getFloatingFocusElement(elements.floating);\n  const floatingFocusElementRef = useLatestRef(floatingFocusElement);\n  const parentId = useFloatingParentNodeId();\n  const tree = useFloatingTree();\n  const onNavigate = useEffectEvent(unstable_onNavigate);\n  const typeableComboboxReference = (0,_floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_5__.isTypeableCombobox)(elements.domReference);\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 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(floatingFocusElementRef.current, {\n              preventScroll: true\n            });\n          }\n        }\n      })\n    };\n    return props;\n  }, [open, floatingFocusElementRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n  const commonOnKeyDown = useEffectEvent(event => {\n    isPointerModalityRef.current = false;\n    forceSyncFocus.current = true;\n\n    // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n    // don't appear to suffer from this. `event.isComposing` is avoided due to\n    // Safari not supporting it properly (although it's not needed in the first\n    // place for Safari, just avoiding any possible issues).\n    if (event.which === 229) {\n      return;\n    }\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 === floatingFocusElementRef.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)) {\n        if (virtual) {\n          tree == null || tree.events.emit('virtualfocus', elements.domReference);\n        } else {\n          elements.domReference.focus();\n        }\n      }\n      return;\n    }\n    const currentIndex = indexRef.current;\n    const minIndex = getMinIndex(listRef, disabledIndices);\n    const maxIndex = getMaxIndex(listRef, disabledIndices);\n    if (!typeableComboboxReference) {\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\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      const index = cellMap[getGridNavigatedIndex({\n        current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n      }, {\n        event,\n        orientation,\n        loop,\n        rtl,\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 === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n        stopEvent: true\n      })];\n      if (index != null) {\n        indexRef.current = index;\n        onNavigate(indexRef.current);\n      }\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.startsWith('Arrow');\n        const isHomeOrEndKey = ['Home', 'End'].includes(event.key);\n        const isMoveKey = isArrowKey || isHomeOrEndKey;\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 (isMoveKey && 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 || isHomeOrEndKey) && 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    const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n\n    // Valid combinations:\n    // 1. Floating element is the scrollRef and has a border (default)\n    // 2. Floating element is not the scrollRef, floating element has a border\n    // 3. Floating element is not the scrollRef, scrollRef has a border\n    // Floating > {...getFloatingProps()} wrapper > scrollRef > items is not\n    // allowed as VoiceOver doesn't work.\n    const clientTop = floating.clientTop || scrollEl.clientTop;\n    const floatingIsBordered = floating.clientTop !== 0;\n    const scrollElIsBordered = scrollEl.clientTop !== 0;\n    const floatingIsScrollEl = floating === scrollEl;\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 overflow = await (0,_floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_3__.detectOverflow)(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), 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 = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.max)(0, overflow.top);\n    const nextY = nextArgs.y + diffY;\n    const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n    const rounder = isScrollable ? v => v : _floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.round;\n    const maxHeight = rounder((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.max)(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.max)(0, overflow.bottom)));\n    scrollEl.style.maxHeight = maxHeight + \"px\";\n    scrollEl.scrollTop = diffY;\n\n    // There is not enough space, fallback to standard anchored positioning\n    if (onFallbackChange) {\n      const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_6__.min)(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n      react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => onFallbackChange(shouldFallback));\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      }, scrollEl.offsetHeight + clientTop + floating.clientTop), 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrcmVhY3RAMC4yNi4yOF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QvZGlzdC9mbG9hdGluZy11aS5yZWFjdC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUErQjtBQUM0QjtBQUMrTztBQUNwTztBQUNzRjtBQUM1RztBQUNWO0FBQzhFO0FBQzRFOztBQUVoTTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywwQ0FBYTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUsseUxBQUs7QUFDVjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHlDQUFZO0FBQzFCLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNILFNBQVMsOENBQWlCO0FBQzFCLHdFQUF3RSxhQUFhO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLHdCQUF3QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxtRUFBVztBQUNyQjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFD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dkMsZ0NBQWdDLGtFQUFRO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxQkFBcUIsaUVBQVMseUJBQXlCLGtFQUFRO0FBQy9EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMmlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrcmVhY3RAMC4yNi4yOF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QvZGlzdC9mbG9hdGluZy11aS5yZWFjdC5tanM/YmRiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3RvcEV2ZW50LCBnZXREb2N1bWVudCwgaXNNb3VzZUxpa2VQb2ludGVyVHlwZSwgY29udGFpbnMsIGFjdGl2ZUVsZW1lbnQsIGlzU2FmYXJpLCBpc1R5cGVhYmxlQ29tYm9ib3gsIGlzVmlydHVhbENsaWNrLCBpc1ZpcnR1YWxQb2ludGVyRXZlbnQsIGdldFRhcmdldCwgZ2V0UGxhdGZvcm0sIGlzVHlwZWFibGVFbGVtZW50LCBpc1JlYWN0RXZlbnQsIGlzUm9vdEVsZW1lbnQsIGlzRXZlbnRUYXJnZXRXaXRoaW4sIGlzTWFjLCBnZXRVc2VyQWdlbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QvdXRpbHMnO1xuaW1wb3J0IHsgZmxvb3IsIGV2YWx1YXRlLCBtYXgsIG1pbiwgcm91bmQgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0Q29tcHV0ZWRTdHlsZSwgaXNFbGVtZW50LCBnZXROb2RlTmFtZSwgaXNIVE1MRWxlbWVudCwgZ2V0V2luZG93LCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUsIGdldFBhcmVudE5vZGUsIGlzV2ViS2l0IH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyB0YWJiYWJsZSwgaXNUYWJiYWJsZSB9IGZyb20gJ3RhYmJhYmxlJztcbmltcG9ydCAqIGFzIFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBnZXRPdmVyZmxvd0FuY2VzdG9ycywgdXNlRmxvYXRpbmcgYXMgdXNlRmxvYXRpbmckMSwgb2Zmc2V0LCBkZXRlY3RPdmVyZmxvdyB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdC1kb20nO1xuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGF1dG9VcGRhdGUsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGdldE92ZXJmbG93QW5jZXN0b3JzLCBoaWRlLCBpbmxpbmUsIGxpbWl0U2hpZnQsIG9mZnNldCwgcGxhdGZvcm0sIHNoaWZ0LCBzaXplIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbSc7XG5cbi8qKlxuICogTWVyZ2VzIGFuIGFycmF5IG9mIHJlZnMgaW50byBhIHNpbmdsZSBtZW1vaXplZCBjYWxsYmFjayByZWYgb3IgYG51bGxgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3JlYWN0LXV0aWxzI3VzZW1lcmdlcmVmc1xuICovXG5mdW5jdGlvbiB1c2VNZXJnZVJlZnMocmVmcykge1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlZnMuZXZlcnkocmVmID0+IHJlZiA9PSBudWxsKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA9PiB7XG4gICAgICByZWZzLmZvckVhY2gocmVmID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZWYodmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIHJlZnMpO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbXVpL21hdGVyaWFsLXVpL2lzc3Vlcy80MTE5MCNpc3N1ZWNvbW1lbnQtMjA0MDg3MzM3OVxuY29uc3QgU2FmZVJlYWN0ID0ge1xuICAuLi5SZWFjdFxufTtcblxuY29uc3QgdXNlSW5zZXJ0aW9uRWZmZWN0ID0gU2FmZVJlYWN0LnVzZUluc2VydGlvbkVmZmVjdDtcbmNvbnN0IHVzZVNhZmVJbnNlcnRpb25FZmZlY3QgPSB1c2VJbnNlcnRpb25FZmZlY3QgfHwgKGZuID0+IGZuKCkpO1xuZnVuY3Rpb24gdXNlRWZmZWN0RXZlbnQoY2FsbGJhY2spIHtcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmKCgpID0+IHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjYWxsIGFuIGV2ZW50IGhhbmRsZXIgd2hpbGUgcmVuZGVyaW5nLicpO1xuICAgIH1cbiAgfSk7XG4gIHVzZVNhZmVJbnNlcnRpb25FZmZlY3QoKCkgPT4ge1xuICAgIHJlZi5jdXJyZW50ID0gY2FsbGJhY2s7XG4gIH0pO1xuICByZXR1cm4gUmVhY3QudXNlQ2FsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50ID09IG51bGwgPyB2b2lkIDAgOiByZWYuY3VycmVudCguLi5hcmdzKTtcbiAgfSwgW10pO1xufVxuXG5jb25zdCBBUlJPV19VUCA9ICdBcnJvd1VwJztcbmNvbnN0IEFSUk9XX0RPV04gPSAnQXJyb3dEb3duJztcbmNvbnN0IEFSUk9XX0xFRlQgPSAnQXJyb3dMZWZ0JztcbmNvbnN0IEFSUk9XX1JJR0hUID0gJ0Fycm93UmlnaHQnO1xuZnVuY3Rpb24gaXNEaWZmZXJlbnRSb3coaW5kZXgsIGNvbHMsIHByZXZSb3cpIHtcbiAgcmV0dXJuIE1hdGguZmxvb3IoaW5kZXggLyBjb2xzKSAhPT0gcHJldlJvdztcbn1cbmZ1bmN0aW9uIGlzSW5kZXhPdXRPZkJvdW5kcyhsaXN0UmVmLCBpbmRleCkge1xuICByZXR1cm4gaW5kZXggPCAwIHx8IGluZGV4ID49IGxpc3RSZWYuY3VycmVudC5sZW5ndGg7XG59XG5mdW5jdGlvbiBnZXRNaW5JbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXMpIHtcbiAgcmV0dXJuIGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICBkaXNhYmxlZEluZGljZXNcbiAgfSk7XG59XG5mdW5jdGlvbiBnZXRNYXhJbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXMpIHtcbiAgcmV0dXJuIGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgc3RhcnRpbmdJbmRleDogbGlzdFJlZi5jdXJyZW50Lmxlbmd0aCxcbiAgICBkaXNhYmxlZEluZGljZXNcbiAgfSk7XG59XG5mdW5jdGlvbiBmaW5kTm9uRGlzYWJsZWRJbmRleChsaXN0UmVmLCBfdGVtcCkge1xuICBsZXQge1xuICAgIHN0YXJ0aW5nSW5kZXggPSAtMSxcbiAgICBkZWNyZW1lbnQgPSBmYWxzZSxcbiAgICBkaXNhYmxlZEluZGljZXMsXG4gICAgYW1vdW50ID0gMVxuICB9ID0gX3RlbXAgPT09IHZvaWQgMCA/IHt9IDogX3RlbXA7XG4gIGNvbnN0IGxpc3QgPSBsaXN0UmVmLmN1cnJlbnQ7XG4gIGxldCBpbmRleCA9IHN0YXJ0aW5nSW5kZXg7XG4gIGRvIHtcbiAgICBpbmRleCArPSBkZWNyZW1lbnQgPyAtYW1vdW50IDogYW1vdW50O1xuICB9IHdoaWxlIChpbmRleCA+PSAwICYmIGluZGV4IDw9IGxpc3QubGVuZ3RoIC0gMSAmJiBpc0Rpc2FibGVkKGxpc3QsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpKTtcbiAgcmV0dXJuIGluZGV4O1xufVxuZnVuY3Rpb24gZ2V0R3JpZE5hdmlnYXRlZEluZGV4KGVsZW1lbnRzUmVmLCBfcmVmKSB7XG4gIGxldCB7XG4gICAgZXZlbnQsXG4gICAgb3JpZW50YXRpb24sXG4gICAgbG9vcCxcbiAgICBydGwsXG4gICAgY29scyxcbiAgICBkaXNhYmxlZEluZGljZXMsXG4gICAgbWluSW5kZXgsXG4gICAgbWF4SW5kZXgsXG4gICAgcHJldkluZGV4LFxuICAgIHN0b3BFdmVudDogc3RvcCA9IGZhbHNlXG4gIH0gPSBfcmVmO1xuICBsZXQgbmV4dEluZGV4ID0gcHJldkluZGV4O1xuICBpZiAoZXZlbnQua2V5ID09PSBBUlJPV19VUCkge1xuICAgIHN0b3AgJiYgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICBpZiAocHJldkluZGV4ID09PSAtMSkge1xuICAgICAgbmV4dEluZGV4ID0gbWF4SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgIHN0YXJ0aW5nSW5kZXg6IG5leHRJbmRleCxcbiAgICAgICAgYW1vdW50OiBjb2xzLFxuICAgICAgICBkZWNyZW1lbnQ6IHRydWUsXG4gICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgfSk7XG4gICAgICBpZiAobG9vcCAmJiAocHJldkluZGV4IC0gY29scyA8IG1pbkluZGV4IHx8IG5leHRJbmRleCA8IDApKSB7XG4gICAgICAgIGNvbnN0IGNvbCA9IHByZXZJbmRleCAlIGNvbHM7XG4gICAgICAgIGNvbnN0IG1heENvbCA9IG1heEluZGV4ICUgY29scztcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbWF4SW5kZXggLSAobWF4Q29sIC0gY29sKTtcbiAgICAgICAgaWYgKG1heENvbCA9PT0gY29sKSB7XG4gICAgICAgICAgbmV4dEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV4dEluZGV4ID0gbWF4Q29sID4gY29sID8gb2Zmc2V0IDogb2Zmc2V0IC0gY29scztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNJbmRleE91dE9mQm91bmRzKGVsZW1lbnRzUmVmLCBuZXh0SW5kZXgpKSB7XG4gICAgICBuZXh0SW5kZXggPSBwcmV2SW5kZXg7XG4gICAgfVxuICB9XG4gIGlmIChldmVudC5rZXkgPT09IEFSUk9XX0RPV04pIHtcbiAgICBzdG9wICYmIHN0b3BFdmVudChldmVudCk7XG4gICAgaWYgKHByZXZJbmRleCA9PT0gLTEpIHtcbiAgICAgIG5leHRJbmRleCA9IG1pbkluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICBzdGFydGluZ0luZGV4OiBwcmV2SW5kZXgsXG4gICAgICAgIGFtb3VudDogY29scyxcbiAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICB9KTtcbiAgICAgIGlmIChsb29wICYmIHByZXZJbmRleCArIGNvbHMgPiBtYXhJbmRleCkge1xuICAgICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCAlIGNvbHMgLSBjb2xzLFxuICAgICAgICAgIGFtb3VudDogY29scyxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc0luZGV4T3V0T2ZCb3VuZHMoZWxlbWVudHNSZWYsIG5leHRJbmRleCkpIHtcbiAgICAgIG5leHRJbmRleCA9IHByZXZJbmRleDtcbiAgICB9XG4gIH1cblxuICAvLyBSZW1haW5zIG9uIHRoZSBzYW1lIHJvdy9jb2x1bW4uXG4gIGlmIChvcmllbnRhdGlvbiA9PT0gJ2JvdGgnKSB7XG4gICAgY29uc3QgcHJldlJvdyA9IGZsb29yKHByZXZJbmRleCAvIGNvbHMpO1xuICAgIGlmIChldmVudC5rZXkgPT09IChydGwgPyBBUlJPV19MRUZUIDogQVJST1dfUklHSFQpKSB7XG4gICAgICBzdG9wICYmIHN0b3BFdmVudChldmVudCk7XG4gICAgICBpZiAocHJldkluZGV4ICUgY29scyAhPT0gY29scyAtIDEpIHtcbiAgICAgICAgbmV4dEluZGV4ID0gZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICBzdGFydGluZ0luZGV4OiBwcmV2SW5kZXgsXG4gICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobG9vcCAmJiBpc0RpZmZlcmVudFJvdyhuZXh0SW5kZXgsIGNvbHMsIHByZXZSb3cpKSB7XG4gICAgICAgICAgbmV4dEluZGV4ID0gZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCAtIHByZXZJbmRleCAlIGNvbHMgLSAxLFxuICAgICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobG9vcCkge1xuICAgICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IHByZXZJbmRleCAtIHByZXZJbmRleCAlIGNvbHMgLSAxLFxuICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0RpZmZlcmVudFJvdyhuZXh0SW5kZXgsIGNvbHMsIHByZXZSb3cpKSB7XG4gICAgICAgIG5leHRJbmRleCA9IHByZXZJbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gKHJ0bCA/IEFSUk9XX1JJR0hUIDogQVJST1dfTEVGVCkpIHtcbiAgICAgIHN0b3AgJiYgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgIGlmIChwcmV2SW5kZXggJSBjb2xzICE9PSAwKSB7XG4gICAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgICAgc3RhcnRpbmdJbmRleDogcHJldkluZGV4LFxuICAgICAgICAgIGRlY3JlbWVudDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChsb29wICYmIGlzRGlmZmVyZW50Um93KG5leHRJbmRleCwgY29scywgcHJldlJvdykpIHtcbiAgICAgICAgICBuZXh0SW5kZXggPSBmaW5kTm9uRGlzYWJsZWRJbmRleChlbGVtZW50c1JlZiwge1xuICAgICAgICAgICAgc3RhcnRpbmdJbmRleDogcHJldkluZGV4ICsgKGNvbHMgLSBwcmV2SW5kZXggJSBjb2xzKSxcbiAgICAgICAgICAgIGRlY3JlbWVudDogdHJ1ZSxcbiAgICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGxvb3ApIHtcbiAgICAgICAgbmV4dEluZGV4ID0gZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICBzdGFydGluZ0luZGV4OiBwcmV2SW5kZXggKyAoY29scyAtIHByZXZJbmRleCAlIGNvbHMpLFxuICAgICAgICAgIGRlY3JlbWVudDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoaXNEaWZmZXJlbnRSb3cobmV4dEluZGV4LCBjb2xzLCBwcmV2Um93KSkge1xuICAgICAgICBuZXh0SW5kZXggPSBwcmV2SW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGxhc3RSb3cgPSBmbG9vcihtYXhJbmRleCAvIGNvbHMpID09PSBwcmV2Um93O1xuICAgIGlmIChpc0luZGV4T3V0T2ZCb3VuZHMoZWxlbWVudHNSZWYsIG5leHRJbmRleCkpIHtcbiAgICAgIGlmIChsb29wICYmIGxhc3RSb3cpIHtcbiAgICAgICAgbmV4dEluZGV4ID0gZXZlbnQua2V5ID09PSAocnRsID8gQVJST1dfUklHSFQgOiBBUlJPV19MRUZUKSA/IG1heEluZGV4IDogZmluZE5vbkRpc2FibGVkSW5kZXgoZWxlbWVudHNSZWYsIHtcbiAgICAgICAgICBzdGFydGluZ0luZGV4OiBwcmV2SW5kZXggLSBwcmV2SW5kZXggJSBjb2xzIC0gMSxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0SW5kZXggPSBwcmV2SW5kZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXh0SW5kZXg7XG59XG5cbi8qKiBGb3IgZWFjaCBjZWxsIGluZGV4LCBnZXRzIHRoZSBpdGVtIGluZGV4IHRoYXQgb2NjdXBpZXMgdGhhdCBjZWxsICovXG5mdW5jdGlvbiBidWlsZENlbGxNYXAoc2l6ZXMsIGNvbHMsIGRlbnNlKSB7XG4gIGNvbnN0IGNlbGxNYXAgPSBbXTtcbiAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICBzaXplcy5mb3JFYWNoKChfcmVmMiwgaW5kZXgpID0+IHtcbiAgICBsZXQge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gX3JlZjI7XG4gICAgaWYgKHdpZHRoID4gY29scykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJbRmxvYXRpbmcgVUldOiBJbnZhbGlkIGdyaWQgLSBpdGVtIHdpZHRoIGF0IGluZGV4IFwiICsgaW5kZXggKyBcIiBpcyBncmVhdGVyIHRoYW4gZ3JpZCBjb2x1bW5zXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgaXRlbVBsYWNlZCA9IGZhbHNlO1xuICAgIGlmIChkZW5zZSkge1xuICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgfVxuICAgIHdoaWxlICghaXRlbVBsYWNlZCkge1xuICAgICAgY29uc3QgdGFyZ2V0Q2VsbHMgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2lkdGg7IGkrKykge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGhlaWdodDsgaisrKSB7XG4gICAgICAgICAgdGFyZ2V0Q2VsbHMucHVzaChzdGFydEluZGV4ICsgaSArIGogKiBjb2xzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0SW5kZXggJSBjb2xzICsgd2lkdGggPD0gY29scyAmJiB0YXJnZXRDZWxscy5ldmVyeShjZWxsID0+IGNlbGxNYXBbY2VsbF0gPT0gbnVsbCkpIHtcbiAgICAgICAgdGFyZ2V0Q2VsbHMuZm9yRWFjaChjZWxsID0+IHtcbiAgICAgICAgICBjZWxsTWFwW2NlbGxdID0gaW5kZXg7XG4gICAgICAgIH0pO1xuICAgICAgICBpdGVtUGxhY2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0SW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8vIGNvbnZlcnQgaW50byBhIG5vbi1zcGFyc2UgYXJyYXlcbiAgcmV0dXJuIFsuLi5jZWxsTWFwXTtcbn1cblxuLyoqIEdldHMgY2VsbCBpbmRleCBvZiBhbiBpdGVtJ3MgY29ybmVyIG9yIC0xIHdoZW4gaW5kZXggaXMgLTEuICovXG5mdW5jdGlvbiBnZXRDZWxsSW5kZXhPZkNvcm5lcihpbmRleCwgc2l6ZXMsIGNlbGxNYXAsIGNvbHMsIGNvcm5lcikge1xuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gLTE7XG4gIGNvbnN0IGZpcnN0Q2VsbEluZGV4ID0gY2VsbE1hcC5pbmRleE9mKGluZGV4KTtcbiAgY29uc3Qgc2l6ZUl0ZW0gPSBzaXplc1tpbmRleF07XG4gIHN3aXRjaCAoY29ybmVyKSB7XG4gICAgY2FzZSAndGwnOlxuICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4O1xuICAgIGNhc2UgJ3RyJzpcbiAgICAgIGlmICghc2l6ZUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4ICsgc2l6ZUl0ZW0ud2lkdGggLSAxO1xuICAgIGNhc2UgJ2JsJzpcbiAgICAgIGlmICghc2l6ZUl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0Q2VsbEluZGV4ICsgKHNpemVJdGVtLmhlaWdodCAtIDEpICogY29scztcbiAgICBjYXNlICdicic6XG4gICAgICByZXR1cm4gY2VsbE1hcC5sYXN0SW5kZXhPZihpbmRleCk7XG4gIH1cbn1cblxuLyoqIEdldHMgYWxsIGNlbGwgaW5kaWNlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIHNwZWNpZmllZCBpbmRpY2VzICovXG5mdW5jdGlvbiBnZXRDZWxsSW5kaWNlcyhpbmRpY2VzLCBjZWxsTWFwKSB7XG4gIHJldHVybiBjZWxsTWFwLmZsYXRNYXAoKGluZGV4LCBjZWxsSW5kZXgpID0+IGluZGljZXMuaW5jbHVkZXMoaW5kZXgpID8gW2NlbGxJbmRleF0gOiBbXSk7XG59XG5mdW5jdGlvbiBpc0Rpc2FibGVkKGxpc3QsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpIHtcbiAgaWYgKGRpc2FibGVkSW5kaWNlcykge1xuICAgIHJldHVybiBkaXNhYmxlZEluZGljZXMuaW5jbHVkZXMoaW5kZXgpO1xuICB9XG4gIGNvbnN0IGVsZW1lbnQgPSBsaXN0W2luZGV4XTtcbiAgcmV0dXJuIGVsZW1lbnQgPT0gbnVsbCB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcpID09PSAndHJ1ZSc7XG59XG5cbnZhciBpbmRleCA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyB1c2VMYXlvdXRFZmZlY3QgOiB1c2VFZmZlY3Q7XG5cbmZ1bmN0aW9uIHNvcnRCeURvY3VtZW50UG9zaXRpb24oYSwgYikge1xuICBjb25zdCBwb3NpdGlvbiA9IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik7XG4gIGlmIChwb3NpdGlvbiAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIHx8IHBvc2l0aW9uICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cbiAgaWYgKHBvc2l0aW9uICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgcG9zaXRpb24gJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgcmV0dXJuIDA7XG59XG5mdW5jdGlvbiBhcmVNYXBzRXF1YWwobWFwMSwgbWFwMikge1xuICBpZiAobWFwMS5zaXplICE9PSBtYXAyLnNpemUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgbWFwMS5lbnRyaWVzKCkpIHtcbiAgICBpZiAodmFsdWUgIT09IG1hcDIuZ2V0KGtleSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5jb25zdCBGbG9hdGluZ0xpc3RDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQoe1xuICByZWdpc3RlcjogKCkgPT4ge30sXG4gIHVucmVnaXN0ZXI6ICgpID0+IHt9LFxuICBtYXA6IC8qI19fUFVSRV9fKi9uZXcgTWFwKCksXG4gIGVsZW1lbnRzUmVmOiB7XG4gICAgY3VycmVudDogW11cbiAgfVxufSk7XG4vKipcbiAqIFByb3ZpZGVzIGNvbnRleHQgZm9yIGEgbGlzdCBvZiBpdGVtcyB3aXRoaW4gdGhlIGZsb2F0aW5nIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdMaXN0XG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nTGlzdChwcm9wcykge1xuICBjb25zdCB7XG4gICAgY2hpbGRyZW4sXG4gICAgZWxlbWVudHNSZWYsXG4gICAgbGFiZWxzUmVmXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW21hcCwgc2V0TWFwXSA9IFJlYWN0LnVzZVN0YXRlKCgpID0+IG5ldyBNYXAoKSk7XG4gIGNvbnN0IHJlZ2lzdGVyID0gUmVhY3QudXNlQ2FsbGJhY2sobm9kZSA9PiB7XG4gICAgc2V0TWFwKHByZXZNYXAgPT4gbmV3IE1hcChwcmV2TWFwKS5zZXQobm9kZSwgbnVsbCkpO1xuICB9LCBbXSk7XG4gIGNvbnN0IHVucmVnaXN0ZXIgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBzZXRNYXAocHJldk1hcCA9PiB7XG4gICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKHByZXZNYXApO1xuICAgICAgbWFwLmRlbGV0ZShub2RlKTtcbiAgICAgIHJldHVybiBtYXA7XG4gICAgfSk7XG4gIH0sIFtdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGNvbnN0IG5ld01hcCA9IG5ldyBNYXAobWFwKTtcbiAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20obmV3TWFwLmtleXMoKSkuc29ydChzb3J0QnlEb2N1bWVudFBvc2l0aW9uKTtcbiAgICBub2Rlcy5mb3JFYWNoKChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgbmV3TWFwLnNldChub2RlLCBpbmRleCk7XG4gICAgfSk7XG4gICAgaWYgKCFhcmVNYXBzRXF1YWwobWFwLCBuZXdNYXApKSB7XG4gICAgICBzZXRNYXAobmV3TWFwKTtcbiAgICB9XG4gIH0sIFttYXBdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZsb2F0aW5nTGlzdENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgICAgcmVnaXN0ZXIsXG4gICAgICB1bnJlZ2lzdGVyLFxuICAgICAgbWFwLFxuICAgICAgZWxlbWVudHNSZWYsXG4gICAgICBsYWJlbHNSZWZcbiAgICB9KSwgW3JlZ2lzdGVyLCB1bnJlZ2lzdGVyLCBtYXAsIGVsZW1lbnRzUmVmLCBsYWJlbHNSZWZdKVxuICB9LCBjaGlsZHJlbik7XG59XG4vKipcbiAqIFVzZWQgdG8gcmVnaXN0ZXIgYSBsaXN0IGl0ZW0gYW5kIGl0cyBpbmRleCAoRE9NIHBvc2l0aW9uKSBpbiB0aGVcbiAqIGBGbG9hdGluZ0xpc3RgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nTGlzdCN1c2VsaXN0aXRlbVxuICovXG5mdW5jdGlvbiB1c2VMaXN0SXRlbShwcm9wcykge1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIGxhYmVsXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qge1xuICAgIHJlZ2lzdGVyLFxuICAgIHVucmVnaXN0ZXIsXG4gICAgbWFwLFxuICAgIGVsZW1lbnRzUmVmLFxuICAgIGxhYmVsc1JlZlxuICB9ID0gUmVhY3QudXNlQ29udGV4dChGbG9hdGluZ0xpc3RDb250ZXh0KTtcbiAgY29uc3QgW2luZGV4JDEsIHNldEluZGV4XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBjb21wb25lbnRSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIGNvbXBvbmVudFJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICBpZiAoaW5kZXgkMSAhPT0gbnVsbCkge1xuICAgICAgZWxlbWVudHNSZWYuY3VycmVudFtpbmRleCQxXSA9IG5vZGU7XG4gICAgICBpZiAobGFiZWxzUmVmKSB7XG4gICAgICAgIHZhciBfbm9kZSR0ZXh0Q29udGVudDtcbiAgICAgICAgY29uc3QgaXNMYWJlbERlZmluZWQgPSBsYWJlbCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBsYWJlbHNSZWYuY3VycmVudFtpbmRleCQxXSA9IGlzTGFiZWxEZWZpbmVkID8gbGFiZWwgOiAoX25vZGUkdGV4dENvbnRlbnQgPSBub2RlID09IG51bGwgPyB2b2lkIDAgOiBub2RlLnRleHRDb250ZW50KSAhPSBudWxsID8gX25vZGUkdGV4dENvbnRlbnQgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2luZGV4JDEsIGVsZW1lbnRzUmVmLCBsYWJlbHNSZWYsIGxhYmVsXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBjb25zdCBub2RlID0gY29tcG9uZW50UmVmLmN1cnJlbnQ7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIHJlZ2lzdGVyKG5vZGUpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdW5yZWdpc3Rlcihub2RlKTtcbiAgICAgIH07XG4gICAgfVxuICB9LCBbcmVnaXN0ZXIsIHVucmVnaXN0ZXJdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gY29tcG9uZW50UmVmLmN1cnJlbnQgPyBtYXAuZ2V0KGNvbXBvbmVudFJlZi5jdXJyZW50KSA6IG51bGw7XG4gICAgaWYgKGluZGV4ICE9IG51bGwpIHtcbiAgICAgIHNldEluZGV4KGluZGV4KTtcbiAgICB9XG4gIH0sIFttYXBdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICByZWYsXG4gICAgaW5kZXg6IGluZGV4JDEgPT0gbnVsbCA/IC0xIDogaW5kZXgkMVxuICB9KSwgW2luZGV4JDEsIHJlZl0pO1xufVxuXG5mdW5jdGlvbiByZW5kZXJKc3gocmVuZGVyLCBjb21wdXRlZFByb3BzKSB7XG4gIGlmICh0eXBlb2YgcmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHJlbmRlcihjb21wdXRlZFByb3BzKTtcbiAgfVxuICBpZiAocmVuZGVyKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jbG9uZUVsZW1lbnQocmVuZGVyLCBjb21wdXRlZFByb3BzKTtcbiAgfVxuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgY29tcHV0ZWRQcm9wcyk7XG59XG5jb25zdCBDb21wb3NpdGVDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQoe1xuICBhY3RpdmVJbmRleDogMCxcbiAgb25OYXZpZ2F0ZTogKCkgPT4ge31cbn0pO1xuY29uc3QgaG9yaXpvbnRhbEtleXMgPSBbQVJST1dfTEVGVCwgQVJST1dfUklHSFRdO1xuY29uc3QgdmVydGljYWxLZXlzID0gW0FSUk9XX1VQLCBBUlJPV19ET1dOXTtcbmNvbnN0IGFsbEtleXMgPSBbLi4uaG9yaXpvbnRhbEtleXMsIC4uLnZlcnRpY2FsS2V5c107XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNpbmdsZSB0YWIgc3RvcCB3aG9zZSBpdGVtcyBhcmUgbmF2aWdhdGVkIGJ5IGFycm93IGtleXMsIHdoaWNoXG4gKiBwcm92aWRlcyBsaXN0IG5hdmlnYXRpb24gb3V0c2lkZSBvZiBmbG9hdGluZyBlbGVtZW50IGNvbnRleHRzLlxuICpcbiAqIFRoaXMgaXMgdXNlZnVsIHRvIGVuYWJsZSBuYXZpZ2F0aW9uIG9mIGEgbGlzdCBvZiBpdGVtcyB0aGF0IGFyZW7igJl0IHBhcnQgb2YgYVxuICogZmxvYXRpbmcgZWxlbWVudC4gQSBtZW51YmFyIGlzIGFuIGV4YW1wbGUgb2YgYSBjb21wb3NpdGUsIHdpdGggZWFjaCByZWZlcmVuY2VcbiAqIGVsZW1lbnQgYmVpbmcgYW4gaXRlbS5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9Db21wb3NpdGVcbiAqL1xuY29uc3QgQ29tcG9zaXRlID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gQ29tcG9zaXRlKHByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgY29uc3Qge1xuICAgIHJlbmRlcixcbiAgICBvcmllbnRhdGlvbiA9ICdib3RoJyxcbiAgICBsb29wID0gdHJ1ZSxcbiAgICBydGwgPSBmYWxzZSxcbiAgICBjb2xzID0gMSxcbiAgICBkaXNhYmxlZEluZGljZXMsXG4gICAgYWN0aXZlSW5kZXg6IGV4dGVybmFsQWN0aXZlSW5kZXgsXG4gICAgb25OYXZpZ2F0ZTogZXh0ZXJuYWxTZXRBY3RpdmVJbmRleCxcbiAgICBpdGVtU2l6ZXMsXG4gICAgZGVuc2UgPSBmYWxzZSxcbiAgICAuLi5kb21Qcm9wc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtpbnRlcm5hbEFjdGl2ZUluZGV4LCBpbnRlcm5hbFNldEFjdGl2ZUluZGV4XSA9IFJlYWN0LnVzZVN0YXRlKDApO1xuICBjb25zdCBhY3RpdmVJbmRleCA9IGV4dGVybmFsQWN0aXZlSW5kZXggIT0gbnVsbCA/IGV4dGVybmFsQWN0aXZlSW5kZXggOiBpbnRlcm5hbEFjdGl2ZUluZGV4O1xuICBjb25zdCBvbk5hdmlnYXRlID0gdXNlRWZmZWN0RXZlbnQoZXh0ZXJuYWxTZXRBY3RpdmVJbmRleCAhPSBudWxsID8gZXh0ZXJuYWxTZXRBY3RpdmVJbmRleCA6IGludGVybmFsU2V0QWN0aXZlSW5kZXgpO1xuICBjb25zdCBlbGVtZW50c1JlZiA9IFJlYWN0LnVzZVJlZihbXSk7XG4gIGNvbnN0IHJlbmRlckVsZW1lbnRQcm9wcyA9IHJlbmRlciAmJiB0eXBlb2YgcmVuZGVyICE9PSAnZnVuY3Rpb24nID8gcmVuZGVyLnByb3BzIDoge307XG4gIGNvbnN0IGNvbnRleHRWYWx1ZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBhY3RpdmVJbmRleCxcbiAgICBvbk5hdmlnYXRlXG4gIH0pLCBbYWN0aXZlSW5kZXgsIG9uTmF2aWdhdGVdKTtcbiAgY29uc3QgaXNHcmlkID0gY29scyA+IDE7XG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZXZlbnQpIHtcbiAgICBpZiAoIWFsbEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkgcmV0dXJuO1xuICAgIGxldCBuZXh0SW5kZXggPSBhY3RpdmVJbmRleDtcbiAgICBjb25zdCBtaW5JbmRleCA9IGdldE1pbkluZGV4KGVsZW1lbnRzUmVmLCBkaXNhYmxlZEluZGljZXMpO1xuICAgIGNvbnN0IG1heEluZGV4ID0gZ2V0TWF4SW5kZXgoZWxlbWVudHNSZWYsIGRpc2FibGVkSW5kaWNlcyk7XG4gICAgY29uc3QgaG9yaXpvbnRhbEVuZEtleSA9IHJ0bCA/IEFSUk9XX0xFRlQgOiBBUlJPV19SSUdIVDtcbiAgICBjb25zdCBob3Jpem9udGFsU3RhcnRLZXkgPSBydGwgPyBBUlJPV19SSUdIVCA6IEFSUk9XX0xFRlQ7XG4gICAgaWYgKGlzR3JpZCkge1xuICAgICAgY29uc3Qgc2l6ZXMgPSBpdGVtU2l6ZXMgfHwgQXJyYXkuZnJvbSh7XG4gICAgICAgIGxlbmd0aDogZWxlbWVudHNSZWYuY3VycmVudC5sZW5ndGhcbiAgICAgIH0sICgpID0+ICh7XG4gICAgICAgIHdpZHRoOiAxLFxuICAgICAgICBoZWlnaHQ6IDFcbiAgICAgIH0pKTtcbiAgICAgIC8vIFRvIGNhbGN1bGF0ZSBtb3ZlbWVudHMgb24gdGhlIGdyaWQsIHdlIHVzZSBoeXBvdGhldGljYWwgY2VsbCBpbmRpY2VzXG4gICAgICAvLyBhcyBpZiBldmVyeSBpdGVtIHdhcyAxeDEsIHRoZW4gY29udmVydCBiYWNrIHRvIHJlYWwgaW5kaWNlcy5cbiAgICAgIGNvbnN0IGNlbGxNYXAgPSBidWlsZENlbGxNYXAoc2l6ZXMsIGNvbHMsIGRlbnNlKTtcbiAgICAgIGNvbnN0IG1pbkdyaWRJbmRleCA9IGNlbGxNYXAuZmluZEluZGV4KGluZGV4ID0+IGluZGV4ICE9IG51bGwgJiYgIWlzRGlzYWJsZWQoZWxlbWVudHNSZWYuY3VycmVudCwgaW5kZXgsIGRpc2FibGVkSW5kaWNlcykpO1xuICAgICAgLy8gbGFzdCBlbmFibGVkIGluZGV4XG4gICAgICBjb25zdCBtYXhHcmlkSW5kZXggPSBjZWxsTWFwLnJlZHVjZSgoZm91bmRJbmRleCwgaW5kZXgsIGNlbGxJbmRleCkgPT4gaW5kZXggIT0gbnVsbCAmJiAhaXNEaXNhYmxlZChlbGVtZW50c1JlZi5jdXJyZW50LCBpbmRleCwgZGlzYWJsZWRJbmRpY2VzKSA/IGNlbGxJbmRleCA6IGZvdW5kSW5kZXgsIC0xKTtcbiAgICAgIGNvbnN0IG1heWJlTmV4dEluZGV4ID0gY2VsbE1hcFtnZXRHcmlkTmF2aWdhdGVkSW5kZXgoe1xuICAgICAgICBjdXJyZW50OiBjZWxsTWFwLm1hcChpdGVtSW5kZXggPT4gaXRlbUluZGV4ID8gZWxlbWVudHNSZWYuY3VycmVudFtpdGVtSW5kZXhdIDogbnVsbClcbiAgICAgIH0sIHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG9yaWVudGF0aW9uLFxuICAgICAgICBsb29wLFxuICAgICAgICBydGwsXG4gICAgICAgIGNvbHMsXG4gICAgICAgIC8vIHRyZWF0IHVuZGVmaW5lZCAoZW1wdHkgZ3JpZCBzcGFjZXMpIGFzIGRpc2FibGVkIGluZGljZXMgc28gd2VcbiAgICAgICAgLy8gZG9uJ3QgZW5kIHVwIGluIHRoZW1cbiAgICAgICAgZGlzYWJsZWRJbmRpY2VzOiBnZXRDZWxsSW5kaWNlcyhbLi4uKGRpc2FibGVkSW5kaWNlcyB8fCBlbGVtZW50c1JlZi5jdXJyZW50Lm1hcCgoXywgaW5kZXgpID0+IGlzRGlzYWJsZWQoZWxlbWVudHNSZWYuY3VycmVudCwgaW5kZXgpID8gaW5kZXggOiB1bmRlZmluZWQpKSwgdW5kZWZpbmVkXSwgY2VsbE1hcCksXG4gICAgICAgIG1pbkluZGV4OiBtaW5HcmlkSW5kZXgsXG4gICAgICAgIG1heEluZGV4OiBtYXhHcmlkSW5kZXgsXG4gICAgICAgIHByZXZJbmRleDogZ2V0Q2VsbEluZGV4T2ZDb3JuZXIoYWN0aXZlSW5kZXggPiBtYXhJbmRleCA/IG1pbkluZGV4IDogYWN0aXZlSW5kZXgsIHNpemVzLCBjZWxsTWFwLCBjb2xzLFxuICAgICAgICAvLyB1c2UgYSBjb3JuZXIgbWF0Y2hpbmcgdGhlIGVkZ2UgY2xvc2VzdCB0byB0aGUgZGlyZWN0aW9uIHdlJ3JlXG4gICAgICAgIC8vIG1vdmluZyBpbiBzbyB3ZSBkb24ndCBlbmQgdXAgaW4gdGhlIHNhbWUgaXRlbS4gUHJlZmVyXG4gICAgICAgIC8vIHRvcC9sZWZ0IG92ZXIgYm90dG9tL3JpZ2h0LlxuICAgICAgICBldmVudC5rZXkgPT09IEFSUk9XX0RPV04gPyAnYmwnIDogZXZlbnQua2V5ID09PSBob3Jpem9udGFsRW5kS2V5ID8gJ3RyJyA6ICd0bCcpXG4gICAgICB9KV07XG4gICAgICBpZiAobWF5YmVOZXh0SW5kZXggIT0gbnVsbCkge1xuICAgICAgICBuZXh0SW5kZXggPSBtYXliZU5leHRJbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgdG9FbmRLZXlzID0ge1xuICAgICAgaG9yaXpvbnRhbDogW2hvcml6b250YWxFbmRLZXldLFxuICAgICAgdmVydGljYWw6IFtBUlJPV19ET1dOXSxcbiAgICAgIGJvdGg6IFtob3Jpem9udGFsRW5kS2V5LCBBUlJPV19ET1dOXVxuICAgIH1bb3JpZW50YXRpb25dO1xuICAgIGNvbnN0IHRvU3RhcnRLZXlzID0ge1xuICAgICAgaG9yaXpvbnRhbDogW2hvcml6b250YWxTdGFydEtleV0sXG4gICAgICB2ZXJ0aWNhbDogW0FSUk9XX1VQXSxcbiAgICAgIGJvdGg6IFtob3Jpem9udGFsU3RhcnRLZXksIEFSUk9XX1VQXVxuICAgIH1bb3JpZW50YXRpb25dO1xuICAgIGNvbnN0IHByZXZlbnRlZEtleXMgPSBpc0dyaWQgPyBhbGxLZXlzIDoge1xuICAgICAgaG9yaXpvbnRhbDogaG9yaXpvbnRhbEtleXMsXG4gICAgICB2ZXJ0aWNhbDogdmVydGljYWxLZXlzLFxuICAgICAgYm90aDogYWxsS2V5c1xuICAgIH1bb3JpZW50YXRpb25dO1xuICAgIGlmIChuZXh0SW5kZXggPT09IGFjdGl2ZUluZGV4ICYmIFsuLi50b0VuZEtleXMsIC4uLnRvU3RhcnRLZXlzXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBpZiAobG9vcCAmJiBuZXh0SW5kZXggPT09IG1heEluZGV4ICYmIHRvRW5kS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgIG5leHRJbmRleCA9IG1pbkluZGV4O1xuICAgICAgfSBlbHNlIGlmIChsb29wICYmIG5leHRJbmRleCA9PT0gbWluSW5kZXggJiYgdG9TdGFydEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICBuZXh0SW5kZXggPSBtYXhJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRJbmRleCA9IGZpbmROb25EaXNhYmxlZEluZGV4KGVsZW1lbnRzUmVmLCB7XG4gICAgICAgICAgc3RhcnRpbmdJbmRleDogbmV4dEluZGV4LFxuICAgICAgICAgIGRlY3JlbWVudDogdG9TdGFydEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSxcbiAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChuZXh0SW5kZXggIT09IGFjdGl2ZUluZGV4ICYmICFpc0luZGV4T3V0T2ZCb3VuZHMoZWxlbWVudHNSZWYsIG5leHRJbmRleCkpIHtcbiAgICAgIHZhciBfZWxlbWVudHNSZWYkY3VycmVudCQ7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGlmIChwcmV2ZW50ZWRLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIG9uTmF2aWdhdGUobmV4dEluZGV4KTtcbiAgICAgIChfZWxlbWVudHNSZWYkY3VycmVudCQgPSBlbGVtZW50c1JlZi5jdXJyZW50W25leHRJbmRleF0pID09IG51bGwgfHwgX2VsZW1lbnRzUmVmJGN1cnJlbnQkLmZvY3VzKCk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGNvbXB1dGVkUHJvcHMgPSB7XG4gICAgLi4uZG9tUHJvcHMsXG4gICAgLi4ucmVuZGVyRWxlbWVudFByb3BzLFxuICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICdhcmlhLW9yaWVudGF0aW9uJzogb3JpZW50YXRpb24gPT09ICdib3RoJyA/IHVuZGVmaW5lZCA6IG9yaWVudGF0aW9uLFxuICAgIG9uS2V5RG93bihlKSB7XG4gICAgICBkb21Qcm9wcy5vbktleURvd24gPT0gbnVsbCB8fCBkb21Qcm9wcy5vbktleURvd24oZSk7XG4gICAgICByZW5kZXJFbGVtZW50UHJvcHMub25LZXlEb3duID09IG51bGwgfHwgcmVuZGVyRWxlbWVudFByb3BzLm9uS2V5RG93bihlKTtcbiAgICAgIGhhbmRsZUtleURvd24oZSk7XG4gICAgfVxuICB9O1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9zaXRlQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBjb250ZXh0VmFsdWVcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoRmxvYXRpbmdMaXN0LCB7XG4gICAgZWxlbWVudHNSZWY6IGVsZW1lbnRzUmVmXG4gIH0sIHJlbmRlckpzeChyZW5kZXIsIGNvbXB1dGVkUHJvcHMpKSk7XG59KTtcbi8qKlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0NvbXBvc2l0ZVxuICovXG5jb25zdCBDb21wb3NpdGVJdGVtID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gQ29tcG9zaXRlSXRlbShwcm9wcywgZm9yd2FyZGVkUmVmKSB7XG4gIGNvbnN0IHtcbiAgICByZW5kZXIsXG4gICAgLi4uZG9tUHJvcHNcbiAgfSA9IHByb3BzO1xuICBjb25zdCByZW5kZXJFbGVtZW50UHJvcHMgPSByZW5kZXIgJiYgdHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJyA/IHJlbmRlci5wcm9wcyA6IHt9O1xuICBjb25zdCB7XG4gICAgYWN0aXZlSW5kZXgsXG4gICAgb25OYXZpZ2F0ZVxuICB9ID0gUmVhY3QudXNlQ29udGV4dChDb21wb3NpdGVDb250ZXh0KTtcbiAgY29uc3Qge1xuICAgIHJlZixcbiAgICBpbmRleFxuICB9ID0gdXNlTGlzdEl0ZW0oKTtcbiAgY29uc3QgbWVyZ2VkUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIGZvcndhcmRlZFJlZiwgcmVuZGVyRWxlbWVudFByb3BzLnJlZl0pO1xuICBjb25zdCBpc0FjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBpbmRleDtcbiAgY29uc3QgY29tcHV0ZWRQcm9wcyA9IHtcbiAgICAuLi5kb21Qcm9wcyxcbiAgICAuLi5yZW5kZXJFbGVtZW50UHJvcHMsXG4gICAgcmVmOiBtZXJnZWRSZWYsXG4gICAgdGFiSW5kZXg6IGlzQWN0aXZlID8gMCA6IC0xLFxuICAgICdkYXRhLWFjdGl2ZSc6IGlzQWN0aXZlID8gJycgOiB1bmRlZmluZWQsXG4gICAgb25Gb2N1cyhlKSB7XG4gICAgICBkb21Qcm9wcy5vbkZvY3VzID09IG51bGwgfHwgZG9tUHJvcHMub25Gb2N1cyhlKTtcbiAgICAgIHJlbmRlckVsZW1lbnRQcm9wcy5vbkZvY3VzID09IG51bGwgfHwgcmVuZGVyRWxlbWVudFByb3BzLm9uRm9jdXMoZSk7XG4gICAgICBvbk5hdmlnYXRlKGluZGV4KTtcbiAgICB9XG4gIH07XG4gIHJldHVybiByZW5kZXJKc3gocmVuZGVyLCBjb21wdXRlZFByb3BzKTtcbn0pO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxubGV0IHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9IGZhbHNlO1xubGV0IGNvdW50ID0gMDtcbmNvbnN0IGdlbklkID0gKCkgPT4gLy8gRW5zdXJlIHRoZSBpZCBpcyB1bmlxdWUgd2l0aCBtdWx0aXBsZSBpbmRlcGVuZGVudCB2ZXJzaW9ucyBvZiBGbG9hdGluZyBVSVxuLy8gb24gPFJlYWN0IDE4XG5cImZsb2F0aW5nLXVpLVwiICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgNikgKyBjb3VudCsrO1xuZnVuY3Rpb24gdXNlRmxvYXRpbmdJZCgpIHtcbiAgY29uc3QgW2lkLCBzZXRJZF0gPSBSZWFjdC51c2VTdGF0ZSgoKSA9PiBzZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgPyBnZW5JZCgpIDogdW5kZWZpbmVkKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChpZCA9PSBudWxsKSB7XG4gICAgICBzZXRJZChnZW5JZCgpKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2VydmVySGFuZG9mZkNvbXBsZXRlID0gdHJ1ZTtcbiAgfSwgW10pO1xuICByZXR1cm4gaWQ7XG59XG5jb25zdCB1c2VSZWFjdElkID0gU2FmZVJlYWN0LnVzZUlkO1xuXG4vKipcbiAqIFVzZXMgUmVhY3QgMTgncyBidWlsdC1pbiBgdXNlSWQoKWAgd2hlbiBhdmFpbGFibGUsIG9yIGZhbGxzIGJhY2sgdG8gYVxuICogc2xpZ2h0bHkgbGVzcyBwZXJmb3JtYW50IChyZXF1aXJpbmcgYSBkb3VibGUgcmVuZGVyKSBpbXBsZW1lbnRhdGlvbiBmb3JcbiAqIGVhcmxpZXIgUmVhY3QgdmVyc2lvbnMuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvcmVhY3QtdXRpbHMjdXNlaWRcbiAqL1xuY29uc3QgdXNlSWQgPSB1c2VSZWFjdElkIHx8IHVzZUZsb2F0aW5nSWQ7XG5cbmxldCBkZXZNZXNzYWdlU2V0O1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBkZXZNZXNzYWdlU2V0ID0gLyojX19QVVJFX18qL25ldyBTZXQoKTtcbn1cbmZ1bmN0aW9uIHdhcm4oKSB7XG4gIHZhciBfZGV2TWVzc2FnZVNldDtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIG1lc3NhZ2VzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIG1lc3NhZ2VzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG4gIGNvbnN0IG1lc3NhZ2UgPSBcIkZsb2F0aW5nIFVJOiBcIiArIG1lc3NhZ2VzLmpvaW4oJyAnKTtcbiAgaWYgKCEoKF9kZXZNZXNzYWdlU2V0ID0gZGV2TWVzc2FnZVNldCkgIT0gbnVsbCAmJiBfZGV2TWVzc2FnZVNldC5oYXMobWVzc2FnZSkpKSB7XG4gICAgdmFyIF9kZXZNZXNzYWdlU2V0MjtcbiAgICAoX2Rldk1lc3NhZ2VTZXQyID0gZGV2TWVzc2FnZVNldCkgPT0gbnVsbCB8fCBfZGV2TWVzc2FnZVNldDIuYWRkKG1lc3NhZ2UpO1xuICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoKSB7XG4gIHZhciBfZGV2TWVzc2FnZVNldDM7XG4gIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgbWVzc2FnZXMgPSBuZXcgQXJyYXkoX2xlbjIpLCBfa2V5MiA9IDA7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICBtZXNzYWdlc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICB9XG4gIGNvbnN0IG1lc3NhZ2UgPSBcIkZsb2F0aW5nIFVJOiBcIiArIG1lc3NhZ2VzLmpvaW4oJyAnKTtcbiAgaWYgKCEoKF9kZXZNZXNzYWdlU2V0MyA9IGRldk1lc3NhZ2VTZXQpICE9IG51bGwgJiYgX2Rldk1lc3NhZ2VTZXQzLmhhcyhtZXNzYWdlKSkpIHtcbiAgICB2YXIgX2Rldk1lc3NhZ2VTZXQ0O1xuICAgIChfZGV2TWVzc2FnZVNldDQgPSBkZXZNZXNzYWdlU2V0KSA9PSBudWxsIHx8IF9kZXZNZXNzYWdlU2V0NC5hZGQobWVzc2FnZSk7XG4gICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBwb2ludGluZyBhcnJvdyB0cmlhbmdsZS5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ0Fycm93XG4gKi9cbmNvbnN0IEZsb2F0aW5nQXJyb3cgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBGbG9hdGluZ0Fycm93KHByb3BzLCByZWYpIHtcbiAgY29uc3Qge1xuICAgIGNvbnRleHQ6IHtcbiAgICAgIHBsYWNlbWVudCxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIGZsb2F0aW5nXG4gICAgICB9LFxuICAgICAgbWlkZGxld2FyZURhdGE6IHtcbiAgICAgICAgYXJyb3csXG4gICAgICAgIHNoaWZ0XG4gICAgICB9XG4gICAgfSxcbiAgICB3aWR0aCA9IDE0LFxuICAgIGhlaWdodCA9IDcsXG4gICAgdGlwUmFkaXVzID0gMCxcbiAgICBzdHJva2VXaWR0aCA9IDAsXG4gICAgc3RhdGljT2Zmc2V0LFxuICAgIHN0cm9rZSxcbiAgICBkLFxuICAgIHN0eWxlOiB7XG4gICAgICB0cmFuc2Zvcm0sXG4gICAgICAuLi5yZXN0U3R5bGVcbiAgICB9ID0ge30sXG4gICAgLi4ucmVzdFxuICB9ID0gcHJvcHM7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICBpZiAoIXJlZikge1xuICAgICAgd2FybignVGhlIGByZWZgIHByb3AgaXMgcmVxdWlyZWQgZm9yIGBGbG9hdGluZ0Fycm93YC4nKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgY2xpcFBhdGhJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IFtpc1JUTCwgc2V0SXNSVExdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMjkzMlxuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKCFmbG9hdGluZykgcmV0dXJuO1xuICAgIGNvbnN0IGlzUlRMID0gZ2V0Q29tcHV0ZWRTdHlsZShmbG9hdGluZykuZGlyZWN0aW9uID09PSAncnRsJztcbiAgICBpZiAoaXNSVEwpIHtcbiAgICAgIHNldElzUlRMKHRydWUpO1xuICAgIH1cbiAgfSwgW2Zsb2F0aW5nXSk7XG4gIGlmICghZmxvYXRpbmcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBbc2lkZSwgYWxpZ25tZW50XSA9IHBsYWNlbWVudC5zcGxpdCgnLScpO1xuICBjb25zdCBpc1ZlcnRpY2FsU2lkZSA9IHNpZGUgPT09ICd0b3AnIHx8IHNpZGUgPT09ICdib3R0b20nO1xuICBsZXQgY29tcHV0ZWRTdGF0aWNPZmZzZXQgPSBzdGF0aWNPZmZzZXQ7XG4gIGlmIChpc1ZlcnRpY2FsU2lkZSAmJiBzaGlmdCAhPSBudWxsICYmIHNoaWZ0LnggfHwgIWlzVmVydGljYWxTaWRlICYmIHNoaWZ0ICE9IG51bGwgJiYgc2hpZnQueSkge1xuICAgIGNvbXB1dGVkU3RhdGljT2Zmc2V0ID0gbnVsbDtcbiAgfVxuXG4gIC8vIFN0cm9rZXMgbXVzdCBiZSBkb3VibGUgdGhlIGJvcmRlciB3aWR0aCwgdGhpcyBlbnN1cmVzIHRoZSBzdHJva2UncyB3aWR0aFxuICAvLyB3b3JrcyBhcyB5b3UnZCBleHBlY3QuXG4gIGNvbnN0IGNvbXB1dGVkU3Ryb2tlV2lkdGggPSBzdHJva2VXaWR0aCAqIDI7XG4gIGNvbnN0IGhhbGZTdHJva2VXaWR0aCA9IGNvbXB1dGVkU3Ryb2tlV2lkdGggLyAyO1xuICBjb25zdCBzdmdYID0gd2lkdGggLyAyICogKHRpcFJhZGl1cyAvIC04ICsgMSk7XG4gIGNvbnN0IHN2Z1kgPSBoZWlnaHQgLyAyICogdGlwUmFkaXVzIC8gNDtcbiAgY29uc3QgaXNDdXN0b21TaGFwZSA9ICEhZDtcbiAgY29uc3QgeU9mZnNldFByb3AgPSBjb21wdXRlZFN0YXRpY09mZnNldCAmJiBhbGlnbm1lbnQgPT09ICdlbmQnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgbGV0IHhPZmZzZXRQcm9wID0gY29tcHV0ZWRTdGF0aWNPZmZzZXQgJiYgYWxpZ25tZW50ID09PSAnZW5kJyA/ICdyaWdodCcgOiAnbGVmdCc7XG4gIGlmIChjb21wdXRlZFN0YXRpY09mZnNldCAmJiBpc1JUTCkge1xuICAgIHhPZmZzZXRQcm9wID0gYWxpZ25tZW50ID09PSAnZW5kJyA/ICdsZWZ0JyA6ICdyaWdodCc7XG4gIH1cbiAgY29uc3QgYXJyb3dYID0gKGFycm93ID09IG51bGwgPyB2b2lkIDAgOiBhcnJvdy54KSAhPSBudWxsID8gY29tcHV0ZWRTdGF0aWNPZmZzZXQgfHwgYXJyb3cueCA6ICcnO1xuICBjb25zdCBhcnJvd1kgPSAoYXJyb3cgPT0gbnVsbCA/IHZvaWQgMCA6IGFycm93LnkpICE9IG51bGwgPyBjb21wdXRlZFN0YXRpY09mZnNldCB8fCBhcnJvdy55IDogJyc7XG4gIGNvbnN0IGRWYWx1ZSA9IGQgfHwgJ00wLDAnICsgKFwiIEhcIiArIHdpZHRoKSArIChcIiBMXCIgKyAod2lkdGggLSBzdmdYKSArIFwiLFwiICsgKGhlaWdodCAtIHN2Z1kpKSArIChcIiBRXCIgKyB3aWR0aCAvIDIgKyBcIixcIiArIGhlaWdodCArIFwiIFwiICsgc3ZnWCArIFwiLFwiICsgKGhlaWdodCAtIHN2Z1kpKSArICcgWic7XG4gIGNvbnN0IHJvdGF0aW9uID0ge1xuICAgIHRvcDogaXNDdXN0b21TaGFwZSA/ICdyb3RhdGUoMTgwZGVnKScgOiAnJyxcbiAgICBsZWZ0OiBpc0N1c3RvbVNoYXBlID8gJ3JvdGF0ZSg5MGRlZyknIDogJ3JvdGF0ZSgtOTBkZWcpJyxcbiAgICBib3R0b206IGlzQ3VzdG9tU2hhcGUgPyAnJyA6ICdyb3RhdGUoMTgwZGVnKScsXG4gICAgcmlnaHQ6IGlzQ3VzdG9tU2hhcGUgPyAncm90YXRlKC05MGRlZyknIDogJ3JvdGF0ZSg5MGRlZyknXG4gIH1bc2lkZV07XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBfZXh0ZW5kcyh7fSwgcmVzdCwge1xuICAgIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSxcbiAgICByZWY6IHJlZixcbiAgICB3aWR0aDogaXNDdXN0b21TaGFwZSA/IHdpZHRoIDogd2lkdGggKyBjb21wdXRlZFN0cm9rZVdpZHRoLFxuICAgIGhlaWdodDogd2lkdGgsXG4gICAgdmlld0JveDogXCIwIDAgXCIgKyB3aWR0aCArIFwiIFwiICsgKGhlaWdodCA+IHdpZHRoID8gaGVpZ2h0IDogd2lkdGgpLFxuICAgIHN0eWxlOiB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgIFt4T2Zmc2V0UHJvcF06IGFycm93WCxcbiAgICAgIFt5T2Zmc2V0UHJvcF06IGFycm93WSxcbiAgICAgIFtzaWRlXTogaXNWZXJ0aWNhbFNpZGUgfHwgaXNDdXN0b21TaGFwZSA/ICcxMDAlJyA6IFwiY2FsYygxMDAlIC0gXCIgKyBjb21wdXRlZFN0cm9rZVdpZHRoIC8gMiArIFwicHgpXCIsXG4gICAgICB0cmFuc2Zvcm06IFtyb3RhdGlvbiwgdHJhbnNmb3JtXS5maWx0ZXIodCA9PiAhIXQpLmpvaW4oJyAnKSxcbiAgICAgIC4uLnJlc3RTdHlsZVxuICAgIH1cbiAgfSksIGNvbXB1dGVkU3Ryb2tlV2lkdGggPiAwICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgY2xpcFBhdGg6IFwidXJsKCNcIiArIGNsaXBQYXRoSWQgKyBcIilcIixcbiAgICBmaWxsOiBcIm5vbmVcIixcbiAgICBzdHJva2U6IHN0cm9rZVxuICAgIC8vIEFjY291bnQgZm9yIHRoZSBzdHJva2Ugb24gdGhlIGZpbGwgcGF0aCByZW5kZXJlZCBiZWxvdy5cbiAgICAsXG4gICAgc3Ryb2tlV2lkdGg6IGNvbXB1dGVkU3Ryb2tlV2lkdGggKyAoZCA/IDAgOiAxKSxcbiAgICBkOiBkVmFsdWVcbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gICAgc3Ryb2tlOiBjb21wdXRlZFN0cm9rZVdpZHRoICYmICFkID8gcmVzdC5maWxsIDogJ25vbmUnLFxuICAgIGQ6IGRWYWx1ZVxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJjbGlwUGF0aFwiLCB7XG4gICAgaWQ6IGNsaXBQYXRoSWRcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJyZWN0XCIsIHtcbiAgICB4OiAtaGFsZlN0cm9rZVdpZHRoLFxuICAgIHk6IGhhbGZTdHJva2VXaWR0aCAqIChpc0N1c3RvbVNoYXBlID8gLTEgOiAxKSxcbiAgICB3aWR0aDogd2lkdGggKyBjb21wdXRlZFN0cm9rZVdpZHRoLFxuICAgIGhlaWdodDogd2lkdGhcbiAgfSkpKTtcbn0pO1xuXG5mdW5jdGlvbiBjcmVhdGVQdWJTdWIoKSB7XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgcmV0dXJuIHtcbiAgICBlbWl0KGV2ZW50LCBkYXRhKSB7XG4gICAgICB2YXIgX21hcCRnZXQ7XG4gICAgICAoX21hcCRnZXQgPSBtYXAuZ2V0KGV2ZW50KSkgPT0gbnVsbCB8fCBfbWFwJGdldC5mb3JFYWNoKGhhbmRsZXIgPT4gaGFuZGxlcihkYXRhKSk7XG4gICAgfSxcbiAgICBvbihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgIG1hcC5zZXQoZXZlbnQsIFsuLi4obWFwLmdldChldmVudCkgfHwgW10pLCBsaXN0ZW5lcl0pO1xuICAgIH0sXG4gICAgb2ZmKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgdmFyIF9tYXAkZ2V0MjtcbiAgICAgIG1hcC5zZXQoZXZlbnQsICgoX21hcCRnZXQyID0gbWFwLmdldChldmVudCkpID09IG51bGwgPyB2b2lkIDAgOiBfbWFwJGdldDIuZmlsdGVyKGwgPT4gbCAhPT0gbGlzdGVuZXIpKSB8fCBbXSk7XG4gICAgfVxuICB9O1xufVxuXG5jb25zdCBGbG9hdGluZ05vZGVDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQobnVsbCk7XG5jb25zdCBGbG9hdGluZ1RyZWVDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQobnVsbCk7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGFyZW50IG5vZGUgaWQgZm9yIG5lc3RlZCBmbG9hdGluZyBlbGVtZW50cywgaWYgYXZhaWxhYmxlLlxuICogUmV0dXJucyBgbnVsbGAgZm9yIHRvcC1sZXZlbCBmbG9hdGluZyBlbGVtZW50cy5cbiAqL1xuY29uc3QgdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQgPSAoKSA9PiB7XG4gIHZhciBfUmVhY3QkdXNlQ29udGV4dDtcbiAgcmV0dXJuICgoX1JlYWN0JHVzZUNvbnRleHQgPSBSZWFjdC51c2VDb250ZXh0KEZsb2F0aW5nTm9kZUNvbnRleHQpKSA9PSBudWxsID8gdm9pZCAwIDogX1JlYWN0JHVzZUNvbnRleHQuaWQpIHx8IG51bGw7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIG5lYXJlc3QgZmxvYXRpbmcgdHJlZSBjb250ZXh0LCBpZiBhdmFpbGFibGUuXG4gKi9cbmNvbnN0IHVzZUZsb2F0aW5nVHJlZSA9ICgpID0+IFJlYWN0LnVzZUNvbnRleHQoRmxvYXRpbmdUcmVlQ29udGV4dCk7XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgbm9kZSBpbnRvIHRoZSBgRmxvYXRpbmdUcmVlYCwgcmV0dXJuaW5nIGl0cyBpZC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ1RyZWVcbiAqL1xuZnVuY3Rpb24gdXNlRmxvYXRpbmdOb2RlSWQoY3VzdG9tUGFyZW50SWQpIHtcbiAgY29uc3QgaWQgPSB1c2VJZCgpO1xuICBjb25zdCB0cmVlID0gdXNlRmxvYXRpbmdUcmVlKCk7XG4gIGNvbnN0IHJlYWN0UGFyZW50SWQgPSB1c2VGbG9hdGluZ1BhcmVudE5vZGVJZCgpO1xuICBjb25zdCBwYXJlbnRJZCA9IGN1c3RvbVBhcmVudElkIHx8IHJlYWN0UGFyZW50SWQ7XG4gIGluZGV4KCgpID0+IHtcbiAgICBjb25zdCBub2RlID0ge1xuICAgICAgaWQsXG4gICAgICBwYXJlbnRJZFxuICAgIH07XG4gICAgdHJlZSA9PSBudWxsIHx8IHRyZWUuYWRkTm9kZShub2RlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdHJlZSA9PSBudWxsIHx8IHRyZWUucmVtb3ZlTm9kZShub2RlKTtcbiAgICB9O1xuICB9LCBbdHJlZSwgaWQsIHBhcmVudElkXSk7XG4gIHJldHVybiBpZDtcbn1cbi8qKlxuICogUHJvdmlkZXMgcGFyZW50IG5vZGUgY29udGV4dCBmb3IgbmVzdGVkIGZsb2F0aW5nIGVsZW1lbnRzLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nVHJlZVxuICovXG5mdW5jdGlvbiBGbG9hdGluZ05vZGUocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIGNoaWxkcmVuLFxuICAgIGlkXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgcGFyZW50SWQgPSB1c2VGbG9hdGluZ1BhcmVudE5vZGVJZCgpO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoRmxvYXRpbmdOb2RlQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgICBpZCxcbiAgICAgIHBhcmVudElkXG4gICAgfSksIFtpZCwgcGFyZW50SWRdKVxuICB9LCBjaGlsZHJlbik7XG59XG4vKipcbiAqIFByb3ZpZGVzIGNvbnRleHQgZm9yIG5lc3RlZCBmbG9hdGluZyBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIG5vdCBjaGlsZHJlbiBvZlxuICogZWFjaCBvdGhlciBvbiB0aGUgRE9NLlxuICogVGhpcyBpcyBub3QgbmVjZXNzYXJ5IGluIGFsbCBjYXNlcywgZXhjZXB0IHdoZW4gdGhlcmUgbXVzdCBiZSBleHBsaWNpdCBjb21tdW5pY2F0aW9uIGJldHdlZW4gcGFyZW50IGFuZCBjaGlsZCBmbG9hdGluZyBlbGVtZW50cy4gSXQgaXMgbmVjZXNzYXJ5IGZvcjpcbiAqIC0gVGhlIGBidWJibGVzYCBvcHRpb24gaW4gdGhlIGB1c2VEaXNtaXNzKClgIEhvb2tcbiAqIC0gTmVzdGVkIHZpcnR1YWwgbGlzdCBuYXZpZ2F0aW9uXG4gKiAtIE5lc3RlZCBmbG9hdGluZyBlbGVtZW50cyB0aGF0IGVhY2ggb3BlbiBvbiBob3ZlclxuICogLSBDdXN0b20gY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHBhcmVudCBhbmQgY2hpbGQgZmxvYXRpbmcgZWxlbWVudHNcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ1RyZWVcbiAqL1xuZnVuY3Rpb24gRmxvYXRpbmdUcmVlKHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlblxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IG5vZGVzUmVmID0gUmVhY3QudXNlUmVmKFtdKTtcbiAgY29uc3QgYWRkTm9kZSA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIG5vZGVzUmVmLmN1cnJlbnQgPSBbLi4ubm9kZXNSZWYuY3VycmVudCwgbm9kZV07XG4gIH0sIFtdKTtcbiAgY29uc3QgcmVtb3ZlTm9kZSA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIG5vZGVzUmVmLmN1cnJlbnQgPSBub2Rlc1JlZi5jdXJyZW50LmZpbHRlcihuID0+IG4gIT09IG5vZGUpO1xuICB9LCBbXSk7XG4gIGNvbnN0IGV2ZW50cyA9IFJlYWN0LnVzZVN0YXRlKCgpID0+IGNyZWF0ZVB1YlN1YigpKVswXTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZsb2F0aW5nVHJlZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgICAgbm9kZXNSZWYsXG4gICAgICBhZGROb2RlLFxuICAgICAgcmVtb3ZlTm9kZSxcbiAgICAgIGV2ZW50c1xuICAgIH0pLCBbYWRkTm9kZSwgcmVtb3ZlTm9kZSwgZXZlbnRzXSlcbiAgfSwgY2hpbGRyZW4pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVBdHRyaWJ1dGUobmFtZSkge1xuICByZXR1cm4gXCJkYXRhLWZsb2F0aW5nLXVpLVwiICsgbmFtZTtcbn1cblxuZnVuY3Rpb24gdXNlTGF0ZXN0UmVmKHZhbHVlKSB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZih2YWx1ZSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIHJlZjtcbn1cblxuY29uc3Qgc2FmZVBvbHlnb25JZGVudGlmaWVyID0gLyojX19QVVJFX18qL2NyZWF0ZUF0dHJpYnV0ZSgnc2FmZS1wb2x5Z29uJyk7XG5mdW5jdGlvbiBnZXREZWxheSh2YWx1ZSwgcHJvcCwgcG9pbnRlclR5cGUpIHtcbiAgaWYgKHBvaW50ZXJUeXBlICYmICFpc01vdXNlTGlrZVBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWVbcHJvcF07XG59XG4vKipcbiAqIE9wZW5zIHRoZSBmbG9hdGluZyBlbGVtZW50IHdoaWxlIGhvdmVyaW5nIG92ZXIgdGhlIHJlZmVyZW5jZSBlbGVtZW50LCBsaWtlXG4gKiBDU1MgYDpob3ZlcmAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlSG92ZXJcbiAqL1xuZnVuY3Rpb24gdXNlSG92ZXIoY29udGV4dCwgcHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBkYXRhUmVmLFxuICAgIGV2ZW50cyxcbiAgICBlbGVtZW50c1xuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIGRlbGF5ID0gMCxcbiAgICBoYW5kbGVDbG9zZSA9IG51bGwsXG4gICAgbW91c2VPbmx5ID0gZmFsc2UsXG4gICAgcmVzdE1zID0gMCxcbiAgICBtb3ZlID0gdHJ1ZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHRyZWUgPSB1c2VGbG9hdGluZ1RyZWUoKTtcbiAgY29uc3QgcGFyZW50SWQgPSB1c2VGbG9hdGluZ1BhcmVudE5vZGVJZCgpO1xuICBjb25zdCBoYW5kbGVDbG9zZVJlZiA9IHVzZUxhdGVzdFJlZihoYW5kbGVDbG9zZSk7XG4gIGNvbnN0IGRlbGF5UmVmID0gdXNlTGF0ZXN0UmVmKGRlbGF5KTtcbiAgY29uc3Qgb3BlblJlZiA9IHVzZUxhdGVzdFJlZihvcGVuKTtcbiAgY29uc3QgcG9pbnRlclR5cGVSZWYgPSBSZWFjdC51c2VSZWYoKTtcbiAgY29uc3QgdGltZW91dFJlZiA9IFJlYWN0LnVzZVJlZigtMSk7XG4gIGNvbnN0IGhhbmRsZXJSZWYgPSBSZWFjdC51c2VSZWYoKTtcbiAgY29uc3QgcmVzdFRpbWVvdXRSZWYgPSBSZWFjdC51c2VSZWYoLTEpO1xuICBjb25zdCBibG9ja01vdXNlTW92ZVJlZiA9IFJlYWN0LnVzZVJlZih0cnVlKTtcbiAgY29uc3QgcGVyZm9ybWVkUG9pbnRlckV2ZW50c011dGF0aW9uUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgdW5iaW5kTW91c2VNb3ZlUmVmID0gUmVhY3QudXNlUmVmKCgpID0+IHt9KTtcbiAgY29uc3QgcmVzdFRpbWVvdXRQZW5kaW5nUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaXNIb3Zlck9wZW4gPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdmFyIF9kYXRhUmVmJGN1cnJlbnQkb3BlbjtcbiAgICBjb25zdCB0eXBlID0gKF9kYXRhUmVmJGN1cnJlbnQkb3BlbiA9IGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YVJlZiRjdXJyZW50JG9wZW4udHlwZTtcbiAgICByZXR1cm4gKHR5cGUgPT0gbnVsbCA/IHZvaWQgMCA6IHR5cGUuaW5jbHVkZXMoJ21vdXNlJykpICYmIHR5cGUgIT09ICdtb3VzZWRvd24nO1xuICB9LCBbZGF0YVJlZl0pO1xuXG4gIC8vIFdoZW4gY2xvc2luZyBiZWZvcmUgb3BlbmluZywgY2xlYXIgdGhlIGRlbGF5IHRpbWVvdXRzIHRvIGNhbmNlbCBpdFxuICAvLyBmcm9tIHNob3dpbmcuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgZnVuY3Rpb24gb25PcGVuQ2hhbmdlKF9yZWYpIHtcbiAgICAgIGxldCB7XG4gICAgICAgIG9wZW5cbiAgICAgIH0gPSBfcmVmO1xuICAgICAgaWYgKCFvcGVuKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgICBjbGVhclRpbWVvdXQocmVzdFRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgICAgIGJsb2NrTW91c2VNb3ZlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXN0VGltZW91dFBlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBldmVudHMub24oJ29wZW5jaGFuZ2UnLCBvbk9wZW5DaGFuZ2UpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBldmVudHMub2ZmKCdvcGVuY2hhbmdlJywgb25PcGVuQ2hhbmdlKTtcbiAgICB9O1xuICB9LCBbZW5hYmxlZCwgZXZlbnRzXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgaWYgKCFoYW5kbGVDbG9zZVJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgaWYgKCFvcGVuKSByZXR1cm47XG4gICAgZnVuY3Rpb24gb25MZWF2ZShldmVudCkge1xuICAgICAgaWYgKGlzSG92ZXJPcGVuKCkpIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudCwgJ2hvdmVyJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudChlbGVtZW50cy5mbG9hdGluZykuZG9jdW1lbnRFbGVtZW50O1xuICAgIGh0bWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uTGVhdmUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBodG1sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBvbkxlYXZlKTtcbiAgICB9O1xuICB9LCBbZWxlbWVudHMuZmxvYXRpbmcsIG9wZW4sIG9uT3BlbkNoYW5nZSwgZW5hYmxlZCwgaGFuZGxlQ2xvc2VSZWYsIGlzSG92ZXJPcGVuXSk7XG4gIGNvbnN0IGNsb3NlV2l0aERlbGF5ID0gUmVhY3QudXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50LCBydW5FbHNlQnJhbmNoLCByZWFzb24pIHtcbiAgICBpZiAocnVuRWxzZUJyYW5jaCA9PT0gdm9pZCAwKSB7XG4gICAgICBydW5FbHNlQnJhbmNoID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHJlYXNvbiA9PT0gdm9pZCAwKSB7XG4gICAgICByZWFzb24gPSAnaG92ZXInO1xuICAgIH1cbiAgICBjb25zdCBjbG9zZURlbGF5ID0gZ2V0RGVsYXkoZGVsYXlSZWYuY3VycmVudCwgJ2Nsb3NlJywgcG9pbnRlclR5cGVSZWYuY3VycmVudCk7XG4gICAgaWYgKGNsb3NlRGVsYXkgJiYgIWhhbmRsZXJSZWYuY3VycmVudCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgICB0aW1lb3V0UmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiBvbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50LCByZWFzb24pLCBjbG9zZURlbGF5KTtcbiAgICB9IGVsc2UgaWYgKHJ1bkVsc2VCcmFuY2gpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudCwgcmVhc29uKTtcbiAgICB9XG4gIH0sIFtkZWxheVJlZiwgb25PcGVuQ2hhbmdlXSk7XG4gIGNvbnN0IGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyID0gdXNlRWZmZWN0RXZlbnQoKCkgPT4ge1xuICAgIHVuYmluZE1vdXNlTW92ZVJlZi5jdXJyZW50KCk7XG4gICAgaGFuZGxlclJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICB9KTtcbiAgY29uc3QgY2xlYXJQb2ludGVyRXZlbnRzID0gdXNlRWZmZWN0RXZlbnQoKCkgPT4ge1xuICAgIGlmIChwZXJmb3JtZWRQb2ludGVyRXZlbnRzTXV0YXRpb25SZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgYm9keSA9IGdldERvY3VtZW50KGVsZW1lbnRzLmZsb2F0aW5nKS5ib2R5O1xuICAgICAgYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJyc7XG4gICAgICBib2R5LnJlbW92ZUF0dHJpYnV0ZShzYWZlUG9seWdvbklkZW50aWZpZXIpO1xuICAgICAgcGVyZm9ybWVkUG9pbnRlckV2ZW50c011dGF0aW9uUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBpc0NsaWNrTGlrZU9wZW5FdmVudCA9IHVzZUVmZmVjdEV2ZW50KCgpID0+IHtcbiAgICByZXR1cm4gZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudCA/IFsnY2xpY2snLCAnbW91c2Vkb3duJ10uaW5jbHVkZXMoZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudC50eXBlKSA6IGZhbHNlO1xuICB9KTtcblxuICAvLyBSZWdpc3RlcmluZyB0aGUgbW91c2UgZXZlbnRzIG9uIHRoZSByZWZlcmVuY2UgZGlyZWN0bHkgdG8gYnlwYXNzIFJlYWN0J3NcbiAgLy8gZGVsZWdhdGlvbiBzeXN0ZW0uIElmIHRoZSBjdXJzb3Igd2FzIG9uIGEgZGlzYWJsZWQgZWxlbWVudCBhbmQgdGhlbiBlbnRlcmVkXG4gIC8vIHRoZSByZWZlcmVuY2UgKG5vIGdhcCksIGBtb3VzZWVudGVyYCBkb2Vzbid0IGZpcmUgaW4gdGhlIGRlbGVnYXRpb24gc3lzdGVtLlxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIG9uTW91c2VFbnRlcihldmVudCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgICBibG9ja01vdXNlTW92ZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICBpZiAobW91c2VPbmx5ICYmICFpc01vdXNlTGlrZVBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQpIHx8IHJlc3RNcyA+IDAgJiYgIWdldERlbGF5KGRlbGF5UmVmLmN1cnJlbnQsICdvcGVuJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3BlbkRlbGF5ID0gZ2V0RGVsYXkoZGVsYXlSZWYuY3VycmVudCwgJ29wZW4nLCBwb2ludGVyVHlwZVJlZi5jdXJyZW50KTtcbiAgICAgIGlmIChvcGVuRGVsYXkpIHtcbiAgICAgICAgdGltZW91dFJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICghb3BlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgZXZlbnQsICdob3ZlcicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgb3BlbkRlbGF5KTtcbiAgICAgIH0gZWxzZSBpZiAoIW9wZW4pIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKHRydWUsIGV2ZW50LCAnaG92ZXInKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gb25Nb3VzZUxlYXZlKGV2ZW50KSB7XG4gICAgICBpZiAoaXNDbGlja0xpa2VPcGVuRXZlbnQoKSkgcmV0dXJuO1xuICAgICAgdW5iaW5kTW91c2VNb3ZlUmVmLmN1cnJlbnQoKTtcbiAgICAgIGNvbnN0IGRvYyA9IGdldERvY3VtZW50KGVsZW1lbnRzLmZsb2F0aW5nKTtcbiAgICAgIGNsZWFyVGltZW91dChyZXN0VGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIHJlc3RUaW1lb3V0UGVuZGluZ1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICBpZiAoaGFuZGxlQ2xvc2VSZWYuY3VycmVudCAmJiBkYXRhUmVmLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0KSB7XG4gICAgICAgIC8vIFByZXZlbnQgY2xlYXJpbmcgYG9uU2Nyb2xsTW91c2VMZWF2ZWAgdGltZW91dC5cbiAgICAgICAgaWYgKCFvcGVuKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaGFuZGxlclJlZi5jdXJyZW50ID0gaGFuZGxlQ2xvc2VSZWYuY3VycmVudCh7XG4gICAgICAgICAgLi4uZGF0YVJlZi5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCxcbiAgICAgICAgICB0cmVlLFxuICAgICAgICAgIHg6IGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgeTogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICBvbkNsb3NlKCkge1xuICAgICAgICAgICAgY2xlYXJQb2ludGVyRXZlbnRzKCk7XG4gICAgICAgICAgICBjbGVhbnVwTW91c2VNb3ZlSGFuZGxlcigpO1xuICAgICAgICAgICAgaWYgKCFpc0NsaWNrTGlrZU9wZW5FdmVudCgpKSB7XG4gICAgICAgICAgICAgIGNsb3NlV2l0aERlbGF5KGV2ZW50LCB0cnVlLCAnc2FmZS1wb2x5Z29uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IGhhbmRsZXJSZWYuY3VycmVudDtcbiAgICAgICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGhhbmRsZXIpO1xuICAgICAgICB1bmJpbmRNb3VzZU1vdmVSZWYuY3VycmVudCA9ICgpID0+IHtcbiAgICAgICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gQWxsb3cgaW50ZXJhY3Rpdml0eSB3aXRob3V0IGBzYWZlUG9seWdvbmAgb24gdG91Y2ggZGV2aWNlcy4gV2l0aCBhXG4gICAgICAvLyBwb2ludGVyLCBhIHNob3J0IGNsb3NlIGRlbGF5IGlzIGFuIGFsdGVybmF0aXZlLCBzbyBpdCBzaG91bGQgd29ya1xuICAgICAgLy8gY29uc2lzdGVudGx5LlxuICAgICAgY29uc3Qgc2hvdWxkQ2xvc2UgPSBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID09PSAndG91Y2gnID8gIWNvbnRhaW5zKGVsZW1lbnRzLmZsb2F0aW5nLCBldmVudC5yZWxhdGVkVGFyZ2V0KSA6IHRydWU7XG4gICAgICBpZiAoc2hvdWxkQ2xvc2UpIHtcbiAgICAgICAgY2xvc2VXaXRoRGVsYXkoZXZlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuc3VyZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBjbG9zZXMgYWZ0ZXIgc2Nyb2xsaW5nIGV2ZW4gaWYgdGhlIHBvaW50ZXJcbiAgICAvLyBkaWQgbm90IG1vdmUuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2Rpc2N1c3Npb25zLzE2OTJcbiAgICBmdW5jdGlvbiBvblNjcm9sbE1vdXNlTGVhdmUoZXZlbnQpIHtcbiAgICAgIGlmIChpc0NsaWNrTGlrZU9wZW5FdmVudCgpKSByZXR1cm47XG4gICAgICBpZiAoIWRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQpIHJldHVybjtcbiAgICAgIGhhbmRsZUNsb3NlUmVmLmN1cnJlbnQgPT0gbnVsbCB8fCBoYW5kbGVDbG9zZVJlZi5jdXJyZW50KHtcbiAgICAgICAgLi4uZGF0YVJlZi5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCxcbiAgICAgICAgdHJlZSxcbiAgICAgICAgeDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgeTogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgb25DbG9zZSgpIHtcbiAgICAgICAgICBjbGVhclBvaW50ZXJFdmVudHMoKTtcbiAgICAgICAgICBjbGVhbnVwTW91c2VNb3ZlSGFuZGxlcigpO1xuICAgICAgICAgIGlmICghaXNDbGlja0xpa2VPcGVuRXZlbnQoKSkge1xuICAgICAgICAgICAgY2xvc2VXaXRoRGVsYXkoZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSkoZXZlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNFbGVtZW50KGVsZW1lbnRzLmRvbVJlZmVyZW5jZSkpIHtcbiAgICAgIHZhciBfZWxlbWVudHMkZmxvYXRpbmc7XG4gICAgICBjb25zdCByZWYgPSBlbGVtZW50cy5kb21SZWZlcmVuY2U7XG4gICAgICBvcGVuICYmIHJlZi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgb25TY3JvbGxNb3VzZUxlYXZlKTtcbiAgICAgIChfZWxlbWVudHMkZmxvYXRpbmcgPSBlbGVtZW50cy5mbG9hdGluZykgPT0gbnVsbCB8fCBfZWxlbWVudHMkZmxvYXRpbmcuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uU2Nyb2xsTW91c2VMZWF2ZSk7XG4gICAgICBtb3ZlICYmIHJlZi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBvbk1vdXNlRW50ZXIsIHtcbiAgICAgICAgb25jZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgICByZWYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIG9uTW91c2VFbnRlcik7XG4gICAgICByZWYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uTW91c2VMZWF2ZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB2YXIgX2VsZW1lbnRzJGZsb2F0aW5nMjtcbiAgICAgICAgb3BlbiAmJiByZWYucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uU2Nyb2xsTW91c2VMZWF2ZSk7XG4gICAgICAgIChfZWxlbWVudHMkZmxvYXRpbmcyID0gZWxlbWVudHMuZmxvYXRpbmcpID09IG51bGwgfHwgX2VsZW1lbnRzJGZsb2F0aW5nMi5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgb25TY3JvbGxNb3VzZUxlYXZlKTtcbiAgICAgICAgbW92ZSAmJiByZWYucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZUVudGVyKTtcbiAgICAgICAgcmVmLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBvbk1vdXNlRW50ZXIpO1xuICAgICAgICByZWYucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIG9uTW91c2VMZWF2ZSk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2VsZW1lbnRzLCBlbmFibGVkLCBjb250ZXh0LCBtb3VzZU9ubHksIHJlc3RNcywgbW92ZSwgY2xvc2VXaXRoRGVsYXksIGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyLCBjbGVhclBvaW50ZXJFdmVudHMsIG9uT3BlbkNoYW5nZSwgb3Blbiwgb3BlblJlZiwgdHJlZSwgZGVsYXlSZWYsIGhhbmRsZUNsb3NlUmVmLCBkYXRhUmVmLCBpc0NsaWNrTGlrZU9wZW5FdmVudF0pO1xuXG4gIC8vIEJsb2NrIHBvaW50ZXItZXZlbnRzIG9mIGV2ZXJ5IGVsZW1lbnQgb3RoZXIgdGhhbiB0aGUgcmVmZXJlbmNlIGFuZCBmbG9hdGluZ1xuICAvLyB3aGlsZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBvcGVuIGFuZCBoYXMgYSBgaGFuZGxlQ2xvc2VgIGhhbmRsZXIuIEFsc29cbiAgLy8gaGFuZGxlcyBuZXN0ZWQgZmxvYXRpbmcgZWxlbWVudHMuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMTcyMlxuICBpbmRleCgoKSA9PiB7XG4gICAgdmFyIF9oYW5kbGVDbG9zZVJlZiRjdXJyZTtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBpZiAob3BlbiAmJiAoX2hhbmRsZUNsb3NlUmVmJGN1cnJlID0gaGFuZGxlQ2xvc2VSZWYuY3VycmVudCkgIT0gbnVsbCAmJiBfaGFuZGxlQ2xvc2VSZWYkY3VycmUuX19vcHRpb25zLmJsb2NrUG9pbnRlckV2ZW50cyAmJiBpc0hvdmVyT3BlbigpKSB7XG4gICAgICBwZXJmb3JtZWRQb2ludGVyRXZlbnRzTXV0YXRpb25SZWYuY3VycmVudCA9IHRydWU7XG4gICAgICBjb25zdCBmbG9hdGluZ0VsID0gZWxlbWVudHMuZmxvYXRpbmc7XG4gICAgICBpZiAoaXNFbGVtZW50KGVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgJiYgZmxvYXRpbmdFbCkge1xuICAgICAgICB2YXIgX3RyZWUkbm9kZXNSZWYkY3VycmVuO1xuICAgICAgICBjb25zdCBib2R5ID0gZ2V0RG9jdW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpLmJvZHk7XG4gICAgICAgIGJvZHkuc2V0QXR0cmlidXRlKHNhZmVQb2x5Z29uSWRlbnRpZmllciwgJycpO1xuICAgICAgICBjb25zdCByZWYgPSBlbGVtZW50cy5kb21SZWZlcmVuY2U7XG4gICAgICAgIGNvbnN0IHBhcmVudEZsb2F0aW5nID0gdHJlZSA9PSBudWxsIHx8IChfdHJlZSRub2Rlc1JlZiRjdXJyZW4gPSB0cmVlLm5vZGVzUmVmLmN1cnJlbnQuZmluZChub2RlID0+IG5vZGUuaWQgPT09IHBhcmVudElkKSkgPT0gbnVsbCB8fCAoX3RyZWUkbm9kZXNSZWYkY3VycmVuID0gX3RyZWUkbm9kZXNSZWYkY3VycmVuLmNvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfdHJlZSRub2Rlc1JlZiRjdXJyZW4uZWxlbWVudHMuZmxvYXRpbmc7XG4gICAgICAgIGlmIChwYXJlbnRGbG9hdGluZykge1xuICAgICAgICAgIHBhcmVudEZsb2F0aW5nLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBib2R5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgIHJlZi5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2F1dG8nO1xuICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYXV0byc7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJyc7XG4gICAgICAgICAgcmVmLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnJztcbiAgICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnJztcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBwYXJlbnRJZCwgZWxlbWVudHMsIHRyZWUsIGhhbmRsZUNsb3NlUmVmLCBpc0hvdmVyT3Blbl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuKSB7XG4gICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgcmVzdFRpbWVvdXRQZW5kaW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyKCk7XG4gICAgICBjbGVhclBvaW50ZXJFdmVudHMoKTtcbiAgICB9XG4gIH0sIFtvcGVuLCBjbGVhbnVwTW91c2VNb3ZlSGFuZGxlciwgY2xlYXJQb2ludGVyRXZlbnRzXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyKCk7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIGNsZWFyVGltZW91dChyZXN0VGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIGNsZWFyUG9pbnRlckV2ZW50cygpO1xuICAgIH07XG4gIH0sIFtlbmFibGVkLCBlbGVtZW50cy5kb21SZWZlcmVuY2UsIGNsZWFudXBNb3VzZU1vdmVIYW5kbGVyLCBjbGVhclBvaW50ZXJFdmVudHNdKTtcbiAgY29uc3QgcmVmZXJlbmNlID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgZnVuY3Rpb24gc2V0UG9pbnRlclJlZihldmVudCkge1xuICAgICAgcG9pbnRlclR5cGVSZWYuY3VycmVudCA9IGV2ZW50LnBvaW50ZXJUeXBlO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgb25Qb2ludGVyRG93bjogc2V0UG9pbnRlclJlZixcbiAgICAgIG9uUG9pbnRlckVudGVyOiBzZXRQb2ludGVyUmVmLFxuICAgICAgb25Nb3VzZU1vdmUoZXZlbnQpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIG5hdGl2ZUV2ZW50XG4gICAgICAgIH0gPSBldmVudDtcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlTW91c2VNb3ZlKCkge1xuICAgICAgICAgIGlmICghYmxvY2tNb3VzZU1vdmVSZWYuY3VycmVudCAmJiAhb3BlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBvbk9wZW5DaGFuZ2UodHJ1ZSwgbmF0aXZlRXZlbnQsICdob3ZlcicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobW91c2VPbmx5ICYmICFpc01vdXNlTGlrZVBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVuIHx8IHJlc3RNcyA9PT0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElnbm9yZSBpbnNpZ25pZmljYW50IG1vdmVtZW50cyB0byBhY2NvdW50IGZvciB0cmVtb3JzLlxuICAgICAgICBpZiAocmVzdFRpbWVvdXRQZW5kaW5nUmVmLmN1cnJlbnQgJiYgZXZlbnQubW92ZW1lbnRYICoqIDIgKyBldmVudC5tb3ZlbWVudFkgKiogMiA8IDIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY2xlYXJUaW1lb3V0KHJlc3RUaW1lb3V0UmVmLmN1cnJlbnQpO1xuICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCA9PT0gJ3RvdWNoJykge1xuICAgICAgICAgIGhhbmRsZU1vdXNlTW92ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3RUaW1lb3V0UGVuZGluZ1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICByZXN0VGltZW91dFJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoaGFuZGxlTW91c2VNb3ZlLCByZXN0TXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW21vdXNlT25seSwgb25PcGVuQ2hhbmdlLCBvcGVuLCBvcGVuUmVmLCByZXN0TXNdKTtcbiAgY29uc3QgZmxvYXRpbmcgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgfSxcbiAgICBvbk1vdXNlTGVhdmUoZXZlbnQpIHtcbiAgICAgIGlmICghaXNDbGlja0xpa2VPcGVuRXZlbnQoKSkge1xuICAgICAgICBjbG9zZVdpdGhEZWxheShldmVudC5uYXRpdmVFdmVudCwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfSksIFtjbG9zZVdpdGhEZWxheSwgaXNDbGlja0xpa2VPcGVuRXZlbnRdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmdcbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlLCBmbG9hdGluZ10pO1xufVxuXG5jb25zdCBOT09QID0gKCkgPT4ge307XG5jb25zdCBGbG9hdGluZ0RlbGF5R3JvdXBDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQoe1xuICBkZWxheTogMCxcbiAgaW5pdGlhbERlbGF5OiAwLFxuICB0aW1lb3V0TXM6IDAsXG4gIGN1cnJlbnRJZDogbnVsbCxcbiAgc2V0Q3VycmVudElkOiBOT09QLFxuICBzZXRTdGF0ZTogTk9PUCxcbiAgaXNJbnN0YW50UGhhc2U6IGZhbHNlXG59KTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICogVXNlIHRoZSByZXR1cm4gdmFsdWUgb2YgYHVzZURlbGF5R3JvdXAoKWAgaW5zdGVhZC5cbiAqL1xuY29uc3QgdXNlRGVsYXlHcm91cENvbnRleHQgPSAoKSA9PiBSZWFjdC51c2VDb250ZXh0KEZsb2F0aW5nRGVsYXlHcm91cENvbnRleHQpO1xuLyoqXG4gKiBQcm92aWRlcyBjb250ZXh0IGZvciBhIGdyb3VwIG9mIGZsb2F0aW5nIGVsZW1lbnRzIHRoYXQgc2hvdWxkIHNoYXJlIGFcbiAqIGBkZWxheWAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdEZWxheUdyb3VwXG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nRGVsYXlHcm91cChwcm9wcykge1xuICBjb25zdCB7XG4gICAgY2hpbGRyZW4sXG4gICAgZGVsYXksXG4gICAgdGltZW91dE1zID0gMFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gUmVhY3QudXNlUmVkdWNlcigocHJldiwgbmV4dCkgPT4gKHtcbiAgICAuLi5wcmV2LFxuICAgIC4uLm5leHRcbiAgfSksIHtcbiAgICBkZWxheSxcbiAgICB0aW1lb3V0TXMsXG4gICAgaW5pdGlhbERlbGF5OiBkZWxheSxcbiAgICBjdXJyZW50SWQ6IG51bGwsXG4gICAgaXNJbnN0YW50UGhhc2U6IGZhbHNlXG4gIH0pO1xuICBjb25zdCBpbml0aWFsQ3VycmVudElkUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBzZXRDdXJyZW50SWQgPSBSZWFjdC51c2VDYWxsYmFjayhjdXJyZW50SWQgPT4ge1xuICAgIHNldFN0YXRlKHtcbiAgICAgIGN1cnJlbnRJZFxuICAgIH0pO1xuICB9LCBbXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoc3RhdGUuY3VycmVudElkKSB7XG4gICAgICBpZiAoaW5pdGlhbEN1cnJlbnRJZFJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIGluaXRpYWxDdXJyZW50SWRSZWYuY3VycmVudCA9IHN0YXRlLmN1cnJlbnRJZDtcbiAgICAgIH0gZWxzZSBpZiAoIXN0YXRlLmlzSW5zdGFudFBoYXNlKSB7XG4gICAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgICBpc0luc3RhbnRQaGFzZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHN0YXRlLmlzSW5zdGFudFBoYXNlKSB7XG4gICAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgICBpc0luc3RhbnRQaGFzZTogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpbml0aWFsQ3VycmVudElkUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW3N0YXRlLmN1cnJlbnRJZCwgc3RhdGUuaXNJbnN0YW50UGhhc2VdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZsb2F0aW5nRGVsYXlHcm91cENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzZXRTdGF0ZSxcbiAgICAgIHNldEN1cnJlbnRJZFxuICAgIH0pLCBbc3RhdGUsIHNldEN1cnJlbnRJZF0pXG4gIH0sIGNoaWxkcmVuKTtcbn1cbi8qKlxuICogRW5hYmxlcyBncm91cGluZyB3aGVuIGNhbGxlZCBpbnNpZGUgYSBjb21wb25lbnQgdGhhdCdzIGEgY2hpbGQgb2YgYVxuICogYEZsb2F0aW5nRGVsYXlHcm91cGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdEZWxheUdyb3VwXG4gKi9cbmZ1bmN0aW9uIHVzZURlbGF5R3JvdXAoY29udGV4dCwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBmbG9hdGluZ0lkXG4gIH0gPSBjb250ZXh0O1xuICBjb25zdCB7XG4gICAgaWQ6IG9wdGlvbklkLFxuICAgIGVuYWJsZWQgPSB0cnVlXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBpZCA9IG9wdGlvbklkICE9IG51bGwgPyBvcHRpb25JZCA6IGZsb2F0aW5nSWQ7XG4gIGNvbnN0IGdyb3VwQ29udGV4dCA9IHVzZURlbGF5R3JvdXBDb250ZXh0KCk7XG4gIGNvbnN0IHtcbiAgICBjdXJyZW50SWQsXG4gICAgc2V0Q3VycmVudElkLFxuICAgIGluaXRpYWxEZWxheSxcbiAgICBzZXRTdGF0ZSxcbiAgICB0aW1lb3V0TXNcbiAgfSA9IGdyb3VwQ29udGV4dDtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuO1xuICAgIGlmICghY3VycmVudElkKSByZXR1cm47XG4gICAgc2V0U3RhdGUoe1xuICAgICAgZGVsYXk6IHtcbiAgICAgICAgb3BlbjogMSxcbiAgICAgICAgY2xvc2U6IGdldERlbGF5KGluaXRpYWxEZWxheSwgJ2Nsb3NlJylcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY3VycmVudElkICE9PSBpZCkge1xuICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBpZCwgb25PcGVuQ2hhbmdlLCBzZXRTdGF0ZSwgY3VycmVudElkLCBpbml0aWFsRGVsYXldKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIHVuc2V0KCkge1xuICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgZGVsYXk6IGluaXRpYWxEZWxheSxcbiAgICAgICAgY3VycmVudElkOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgaWYgKCFjdXJyZW50SWQpIHJldHVybjtcbiAgICBpZiAoIW9wZW4gJiYgY3VycmVudElkID09PSBpZCkge1xuICAgICAgaWYgKHRpbWVvdXRNcykge1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQodW5zZXQsIHRpbWVvdXRNcyk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgdW5zZXQoKTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBzZXRTdGF0ZSwgY3VycmVudElkLCBpZCwgb25PcGVuQ2hhbmdlLCBpbml0aWFsRGVsYXksIHRpbWVvdXRNc10pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgaWYgKHNldEN1cnJlbnRJZCA9PT0gTk9PUCB8fCAhb3BlbikgcmV0dXJuO1xuICAgIHNldEN1cnJlbnRJZChpZCk7XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBzZXRDdXJyZW50SWQsIGlkXSk7XG4gIHJldHVybiBncm91cENvbnRleHQ7XG59XG5cbmxldCByYWZJZCA9IDA7XG5mdW5jdGlvbiBlbnF1ZXVlRm9jdXMoZWwsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgcHJldmVudFNjcm9sbCA9IGZhbHNlLFxuICAgIGNhbmNlbFByZXZpb3VzID0gdHJ1ZSxcbiAgICBzeW5jID0gZmFsc2VcbiAgfSA9IG9wdGlvbnM7XG4gIGNhbmNlbFByZXZpb3VzICYmIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZklkKTtcbiAgY29uc3QgZXhlYyA9ICgpID0+IGVsID09IG51bGwgPyB2b2lkIDAgOiBlbC5mb2N1cyh7XG4gICAgcHJldmVudFNjcm9sbFxuICB9KTtcbiAgaWYgKHN5bmMpIHtcbiAgICBleGVjKCk7XG4gIH0gZWxzZSB7XG4gICAgcmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZXhlYyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QW5jZXN0b3JzKG5vZGVzLCBpZCkge1xuICB2YXIgX25vZGVzJGZpbmQ7XG4gIGxldCBhbGxBbmNlc3RvcnMgPSBbXTtcbiAgbGV0IGN1cnJlbnRQYXJlbnRJZCA9IChfbm9kZXMkZmluZCA9IG5vZGVzLmZpbmQobm9kZSA9PiBub2RlLmlkID09PSBpZCkpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZXMkZmluZC5wYXJlbnRJZDtcbiAgd2hpbGUgKGN1cnJlbnRQYXJlbnRJZCkge1xuICAgIGNvbnN0IGN1cnJlbnROb2RlID0gbm9kZXMuZmluZChub2RlID0+IG5vZGUuaWQgPT09IGN1cnJlbnRQYXJlbnRJZCk7XG4gICAgY3VycmVudFBhcmVudElkID0gY3VycmVudE5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnROb2RlLnBhcmVudElkO1xuICAgIGlmIChjdXJyZW50Tm9kZSkge1xuICAgICAgYWxsQW5jZXN0b3JzID0gYWxsQW5jZXN0b3JzLmNvbmNhdChjdXJyZW50Tm9kZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbGxBbmNlc3RvcnM7XG59XG5cbmZ1bmN0aW9uIGdldENoaWxkcmVuKG5vZGVzLCBpZCkge1xuICBsZXQgYWxsQ2hpbGRyZW4gPSBub2Rlcy5maWx0ZXIobm9kZSA9PiB7XG4gICAgdmFyIF9ub2RlJGNvbnRleHQ7XG4gICAgcmV0dXJuIG5vZGUucGFyZW50SWQgPT09IGlkICYmICgoX25vZGUkY29udGV4dCA9IG5vZGUuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJGNvbnRleHQub3Blbik7XG4gIH0pO1xuICBsZXQgY3VycmVudENoaWxkcmVuID0gYWxsQ2hpbGRyZW47XG4gIHdoaWxlIChjdXJyZW50Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgY3VycmVudENoaWxkcmVuID0gbm9kZXMuZmlsdGVyKG5vZGUgPT4ge1xuICAgICAgdmFyIF9jdXJyZW50Q2hpbGRyZW47XG4gICAgICByZXR1cm4gKF9jdXJyZW50Q2hpbGRyZW4gPSBjdXJyZW50Q2hpbGRyZW4pID09IG51bGwgPyB2b2lkIDAgOiBfY3VycmVudENoaWxkcmVuLnNvbWUobiA9PiB7XG4gICAgICAgIHZhciBfbm9kZSRjb250ZXh0MjtcbiAgICAgICAgcmV0dXJuIG5vZGUucGFyZW50SWQgPT09IG4uaWQgJiYgKChfbm9kZSRjb250ZXh0MiA9IG5vZGUuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJGNvbnRleHQyLm9wZW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgYWxsQ2hpbGRyZW4gPSBhbGxDaGlsZHJlbi5jb25jYXQoY3VycmVudENoaWxkcmVuKTtcbiAgfVxuICByZXR1cm4gYWxsQ2hpbGRyZW47XG59XG5mdW5jdGlvbiBnZXREZWVwZXN0Tm9kZShub2RlcywgaWQpIHtcbiAgbGV0IGRlZXBlc3ROb2RlSWQ7XG4gIGxldCBtYXhEZXB0aCA9IC0xO1xuICBmdW5jdGlvbiBmaW5kRGVlcGVzdChub2RlSWQsIGRlcHRoKSB7XG4gICAgaWYgKGRlcHRoID4gbWF4RGVwdGgpIHtcbiAgICAgIGRlZXBlc3ROb2RlSWQgPSBub2RlSWQ7XG4gICAgICBtYXhEZXB0aCA9IGRlcHRoO1xuICAgIH1cbiAgICBjb25zdCBjaGlsZHJlbiA9IGdldENoaWxkcmVuKG5vZGVzLCBub2RlSWQpO1xuICAgIGNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgZmluZERlZXBlc3QoY2hpbGQuaWQsIGRlcHRoICsgMSk7XG4gICAgfSk7XG4gIH1cbiAgZmluZERlZXBlc3QoaWQsIDApO1xuICByZXR1cm4gbm9kZXMuZmluZChub2RlID0+IG5vZGUuaWQgPT09IGRlZXBlc3ROb2RlSWQpO1xufVxuXG4vLyBNb2RpZmllZCB0byBhZGQgY29uZGl0aW9uYWwgYGFyaWEtaGlkZGVuYCBzdXBwb3J0OlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS9hcmlhLWhpZGRlbi9ibG9iLzkyMjBjOGY0YTRmZDM1ZjYzYmVlNTUxMGE5ZjQxYTM3MjY0MzgyZDQvc3JjL2luZGV4LnRzXG5sZXQgY291bnRlck1hcCA9IC8qI19fUFVSRV9fKi9uZXcgV2Vha01hcCgpO1xubGV0IHVuY29udHJvbGxlZEVsZW1lbnRzU2V0ID0gLyojX19QVVJFX18qL25ldyBXZWFrU2V0KCk7XG5sZXQgbWFya2VyTWFwID0ge307XG5sZXQgbG9ja0NvdW50JDEgPSAwO1xuY29uc3Qgc3VwcG9ydHNJbmVydCA9ICgpID0+IHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgJ2luZXJ0JyBpbiBIVE1MRWxlbWVudC5wcm90b3R5cGU7XG5jb25zdCB1bndyYXBIb3N0ID0gbm9kZSA9PiBub2RlICYmIChub2RlLmhvc3QgfHwgdW53cmFwSG9zdChub2RlLnBhcmVudE5vZGUpKTtcbmNvbnN0IGNvcnJlY3RFbGVtZW50cyA9IChwYXJlbnQsIHRhcmdldHMpID0+IHRhcmdldHMubWFwKHRhcmdldCA9PiB7XG4gIGlmIChwYXJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbiAgY29uc3QgY29ycmVjdGVkVGFyZ2V0ID0gdW53cmFwSG9zdCh0YXJnZXQpO1xuICBpZiAocGFyZW50LmNvbnRhaW5zKGNvcnJlY3RlZFRhcmdldCkpIHtcbiAgICByZXR1cm4gY29ycmVjdGVkVGFyZ2V0O1xuICB9XG4gIHJldHVybiBudWxsO1xufSkuZmlsdGVyKHggPT4geCAhPSBudWxsKTtcbmZ1bmN0aW9uIGFwcGx5QXR0cmlidXRlVG9PdGhlcnModW5jb3JyZWN0ZWRBdm9pZEVsZW1lbnRzLCBib2R5LCBhcmlhSGlkZGVuLCBpbmVydCkge1xuICBjb25zdCBtYXJrZXJOYW1lID0gJ2RhdGEtZmxvYXRpbmctdWktaW5lcnQnO1xuICBjb25zdCBjb250cm9sQXR0cmlidXRlID0gaW5lcnQgPyAnaW5lcnQnIDogYXJpYUhpZGRlbiA/ICdhcmlhLWhpZGRlbicgOiBudWxsO1xuICBjb25zdCBhdm9pZEVsZW1lbnRzID0gY29ycmVjdEVsZW1lbnRzKGJvZHksIHVuY29ycmVjdGVkQXZvaWRFbGVtZW50cyk7XG4gIGNvbnN0IGVsZW1lbnRzVG9LZWVwID0gbmV3IFNldCgpO1xuICBjb25zdCBlbGVtZW50c1RvU3RvcCA9IG5ldyBTZXQoYXZvaWRFbGVtZW50cyk7XG4gIGNvbnN0IGhpZGRlbkVsZW1lbnRzID0gW107XG4gIGlmICghbWFya2VyTWFwW21hcmtlck5hbWVdKSB7XG4gICAgbWFya2VyTWFwW21hcmtlck5hbWVdID0gbmV3IFdlYWtNYXAoKTtcbiAgfVxuICBjb25zdCBtYXJrZXJDb3VudGVyID0gbWFya2VyTWFwW21hcmtlck5hbWVdO1xuICBhdm9pZEVsZW1lbnRzLmZvckVhY2goa2VlcCk7XG4gIGRlZXAoYm9keSk7XG4gIGVsZW1lbnRzVG9LZWVwLmNsZWFyKCk7XG4gIGZ1bmN0aW9uIGtlZXAoZWwpIHtcbiAgICBpZiAoIWVsIHx8IGVsZW1lbnRzVG9LZWVwLmhhcyhlbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWxlbWVudHNUb0tlZXAuYWRkKGVsKTtcbiAgICBlbC5wYXJlbnROb2RlICYmIGtlZXAoZWwucGFyZW50Tm9kZSk7XG4gIH1cbiAgZnVuY3Rpb24gZGVlcChwYXJlbnQpIHtcbiAgICBpZiAoIXBhcmVudCB8fCBlbGVtZW50c1RvU3RvcC5oYXMocGFyZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBbXS5mb3JFYWNoLmNhbGwocGFyZW50LmNoaWxkcmVuLCBub2RlID0+IHtcbiAgICAgIGlmIChnZXROb2RlTmFtZShub2RlKSA9PT0gJ3NjcmlwdCcpIHJldHVybjtcbiAgICAgIGlmIChlbGVtZW50c1RvS2VlcC5oYXMobm9kZSkpIHtcbiAgICAgICAgZGVlcChub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGF0dHIgPSBjb250cm9sQXR0cmlidXRlID8gbm9kZS5nZXRBdHRyaWJ1dGUoY29udHJvbEF0dHJpYnV0ZSkgOiBudWxsO1xuICAgICAgICBjb25zdCBhbHJlYWR5SGlkZGVuID0gYXR0ciAhPT0gbnVsbCAmJiBhdHRyICE9PSAnZmFsc2UnO1xuICAgICAgICBjb25zdCBjb3VudGVyVmFsdWUgPSAoY291bnRlck1hcC5nZXQobm9kZSkgfHwgMCkgKyAxO1xuICAgICAgICBjb25zdCBtYXJrZXJWYWx1ZSA9IChtYXJrZXJDb3VudGVyLmdldChub2RlKSB8fCAwKSArIDE7XG4gICAgICAgIGNvdW50ZXJNYXAuc2V0KG5vZGUsIGNvdW50ZXJWYWx1ZSk7XG4gICAgICAgIG1hcmtlckNvdW50ZXIuc2V0KG5vZGUsIG1hcmtlclZhbHVlKTtcbiAgICAgICAgaGlkZGVuRWxlbWVudHMucHVzaChub2RlKTtcbiAgICAgICAgaWYgKGNvdW50ZXJWYWx1ZSA9PT0gMSAmJiBhbHJlYWR5SGlkZGVuKSB7XG4gICAgICAgICAgdW5jb250cm9sbGVkRWxlbWVudHNTZXQuYWRkKG5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXJrZXJWYWx1ZSA9PT0gMSkge1xuICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKG1hcmtlck5hbWUsICcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFscmVhZHlIaWRkZW4gJiYgY29udHJvbEF0dHJpYnV0ZSkge1xuICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKGNvbnRyb2xBdHRyaWJ1dGUsICd0cnVlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBsb2NrQ291bnQkMSsrO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGhpZGRlbkVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBjb25zdCBjb3VudGVyVmFsdWUgPSAoY291bnRlck1hcC5nZXQoZWxlbWVudCkgfHwgMCkgLSAxO1xuICAgICAgY29uc3QgbWFya2VyVmFsdWUgPSAobWFya2VyQ291bnRlci5nZXQoZWxlbWVudCkgfHwgMCkgLSAxO1xuICAgICAgY291bnRlck1hcC5zZXQoZWxlbWVudCwgY291bnRlclZhbHVlKTtcbiAgICAgIG1hcmtlckNvdW50ZXIuc2V0KGVsZW1lbnQsIG1hcmtlclZhbHVlKTtcbiAgICAgIGlmICghY291bnRlclZhbHVlKSB7XG4gICAgICAgIGlmICghdW5jb250cm9sbGVkRWxlbWVudHNTZXQuaGFzKGVsZW1lbnQpICYmIGNvbnRyb2xBdHRyaWJ1dGUpIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShjb250cm9sQXR0cmlidXRlKTtcbiAgICAgICAgfVxuICAgICAgICB1bmNvbnRyb2xsZWRFbGVtZW50c1NldC5kZWxldGUoZWxlbWVudCk7XG4gICAgICB9XG4gICAgICBpZiAoIW1hcmtlclZhbHVlKSB7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG1hcmtlck5hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxvY2tDb3VudCQxLS07XG4gICAgaWYgKCFsb2NrQ291bnQkMSkge1xuICAgICAgY291bnRlck1hcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICBjb3VudGVyTWFwID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgIHVuY29udHJvbGxlZEVsZW1lbnRzU2V0ID0gbmV3IFdlYWtTZXQoKTtcbiAgICAgIG1hcmtlck1hcCA9IHt9O1xuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIG1hcmtPdGhlcnMoYXZvaWRFbGVtZW50cywgYXJpYUhpZGRlbiwgaW5lcnQpIHtcbiAgaWYgKGFyaWFIaWRkZW4gPT09IHZvaWQgMCkge1xuICAgIGFyaWFIaWRkZW4gPSBmYWxzZTtcbiAgfVxuICBpZiAoaW5lcnQgPT09IHZvaWQgMCkge1xuICAgIGluZXJ0ID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgYm9keSA9IGdldERvY3VtZW50KGF2b2lkRWxlbWVudHNbMF0pLmJvZHk7XG4gIHJldHVybiBhcHBseUF0dHJpYnV0ZVRvT3RoZXJzKGF2b2lkRWxlbWVudHMuY29uY2F0KEFycmF5LmZyb20oYm9keS5xdWVyeVNlbGVjdG9yQWxsKCdbYXJpYS1saXZlXScpKSksIGJvZHksIGFyaWFIaWRkZW4sIGluZXJ0KTtcbn1cblxuY29uc3QgZ2V0VGFiYmFibGVPcHRpb25zID0gKCkgPT4gKHtcbiAgZ2V0U2hhZG93Um9vdDogdHJ1ZSxcbiAgZGlzcGxheUNoZWNrOlxuICAvLyBKU0RPTSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBgdGFiYmFibGVgIGxpYnJhcnkuIFRvIHNvbHZlIHRoaXMgd2UgY2FuXG4gIC8vIGNoZWNrIGlmIGBSZXNpemVPYnNlcnZlcmAgaXMgYSByZWFsIGZ1bmN0aW9uIChub3QgcG9seWZpbGxlZCksIHdoaWNoXG4gIC8vIGRldGVybWluZXMgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgSlNET00tbGlrZS5cbiAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAnZnVuY3Rpb24nICYmIFJlc2l6ZU9ic2VydmVyLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ1tuYXRpdmUgY29kZV0nKSA/ICdmdWxsJyA6ICdub25lJ1xufSk7XG5mdW5jdGlvbiBnZXRUYWJiYWJsZUluKGNvbnRhaW5lciwgZGlyZWN0aW9uKSB7XG4gIGNvbnN0IGFsbFRhYmJhYmxlID0gdGFiYmFibGUoY29udGFpbmVyLCBnZXRUYWJiYWJsZU9wdGlvbnMoKSk7XG4gIGlmIChkaXJlY3Rpb24gPT09ICdwcmV2Jykge1xuICAgIGFsbFRhYmJhYmxlLnJldmVyc2UoKTtcbiAgfVxuICBjb25zdCBhY3RpdmVJbmRleCA9IGFsbFRhYmJhYmxlLmluZGV4T2YoYWN0aXZlRWxlbWVudChnZXREb2N1bWVudChjb250YWluZXIpKSk7XG4gIGNvbnN0IG5leHRUYWJiYWJsZUVsZW1lbnRzID0gYWxsVGFiYmFibGUuc2xpY2UoYWN0aXZlSW5kZXggKyAxKTtcbiAgcmV0dXJuIG5leHRUYWJiYWJsZUVsZW1lbnRzWzBdO1xufVxuZnVuY3Rpb24gZ2V0TmV4dFRhYmJhYmxlKCkge1xuICByZXR1cm4gZ2V0VGFiYmFibGVJbihkb2N1bWVudC5ib2R5LCAnbmV4dCcpO1xufVxuZnVuY3Rpb24gZ2V0UHJldmlvdXNUYWJiYWJsZSgpIHtcbiAgcmV0dXJuIGdldFRhYmJhYmxlSW4oZG9jdW1lbnQuYm9keSwgJ3ByZXYnKTtcbn1cbmZ1bmN0aW9uIGlzT3V0c2lkZUV2ZW50KGV2ZW50LCBjb250YWluZXIpIHtcbiAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lciB8fCBldmVudC5jdXJyZW50VGFyZ2V0O1xuICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldDtcbiAgcmV0dXJuICFyZWxhdGVkVGFyZ2V0IHx8ICFjb250YWlucyhjb250YWluZXJFbGVtZW50LCByZWxhdGVkVGFyZ2V0KTtcbn1cbmZ1bmN0aW9uIGRpc2FibGVGb2N1c0luc2lkZShjb250YWluZXIpIHtcbiAgY29uc3QgdGFiYmFibGVFbGVtZW50cyA9IHRhYmJhYmxlKGNvbnRhaW5lciwgZ2V0VGFiYmFibGVPcHRpb25zKCkpO1xuICB0YWJiYWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgZWxlbWVudC5kYXRhc2V0LnRhYmluZGV4ID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgfHwgJyc7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gIH0pO1xufVxuZnVuY3Rpb24gZW5hYmxlRm9jdXNJbnNpZGUoY29udGFpbmVyKSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRhYmluZGV4XScpO1xuICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IHRhYmluZGV4ID0gZWxlbWVudC5kYXRhc2V0LnRhYmluZGV4O1xuICAgIGRlbGV0ZSBlbGVtZW50LmRhdGFzZXQudGFiaW5kZXg7XG4gICAgaWYgKHRhYmluZGV4KSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCB0YWJpbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8vIFNlZSBEaWVnbyBIYXoncyBTYW5kYm94IGZvciBtYWtpbmcgdGhpcyBsb2dpYyB3b3JrIHdlbGwgb24gU2FmYXJpL2lPUzpcbi8vIGh0dHBzOi8vY29kZXNhbmRib3guaW8vcy90YWJiYWJsZS1wb3J0YWwtZjR0bmc/ZmlsZT0vc3JjL0ZvY3VzVHJhcC50c3hcblxuY29uc3QgSElEREVOX1NUWUxFUyA9IHtcbiAgYm9yZGVyOiAwLFxuICBjbGlwOiAncmVjdCgwIDAgMCAwKScsXG4gIGhlaWdodDogJzFweCcsXG4gIG1hcmdpbjogJy0xcHgnLFxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIHBhZGRpbmc6IDAsXG4gIHBvc2l0aW9uOiAnZml4ZWQnLFxuICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgd2lkdGg6ICcxcHgnLFxuICB0b3A6IDAsXG4gIGxlZnQ6IDBcbn07XG5sZXQgdGltZW91dElkO1xuZnVuY3Rpb24gc2V0QWN0aXZlRWxlbWVudE9uVGFiKGV2ZW50KSB7XG4gIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgZXZlbnQudGFyZ2V0O1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICB9XG59XG5jb25zdCBGb2N1c0d1YXJkID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gRm9jdXNHdWFyZChwcm9wcywgcmVmKSB7XG4gIGNvbnN0IFtyb2xlLCBzZXRSb2xlXSA9IFJlYWN0LnVzZVN0YXRlKCk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoaXNTYWZhcmkoKSkge1xuICAgICAgLy8gVW5saWtlIG90aGVyIHNjcmVlbiByZWFkZXJzIHN1Y2ggYXMgTlZEQSBhbmQgSkFXUywgdGhlIHZpcnR1YWwgY3Vyc29yXG4gICAgICAvLyBvbiBWb2ljZU92ZXIgZG9lcyB0cmlnZ2VyIHRoZSBvbkZvY3VzIGV2ZW50LCBzbyB3ZSBjYW4gdXNlIHRoZSBmb2N1c1xuICAgICAgLy8gdHJhcCBlbGVtZW50LiBPbiBTYWZhcmksIG9ubHkgYnV0dG9ucyB0cmlnZ2VyIHRoZSBvbkZvY3VzIGV2ZW50LlxuICAgICAgLy8gTkI6IFwiZ3JvdXBcIiByb2xlIGluIHRoZSBTYW5kYm94IG5vIGxvbmdlciBhcHBlYXJzIHRvIHdvcmssIG11c3QgYmUgYVxuICAgICAgLy8gYnV0dG9uIHJvbGUuXG4gICAgICBzZXRSb2xlKCdidXR0b24nKTtcbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHNldEFjdGl2ZUVsZW1lbnRPblRhYik7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBzZXRBY3RpdmVFbGVtZW50T25UYWIpO1xuICAgIH07XG4gIH0sIFtdKTtcbiAgY29uc3QgcmVzdFByb3BzID0ge1xuICAgIHJlZixcbiAgICB0YWJJbmRleDogMCxcbiAgICAvLyBSb2xlIGlzIG9ubHkgZm9yIFZvaWNlT3ZlclxuICAgIHJvbGUsXG4gICAgJ2FyaWEtaGlkZGVuJzogcm9sZSA/IHVuZGVmaW5lZCA6IHRydWUsXG4gICAgW2NyZWF0ZUF0dHJpYnV0ZSgnZm9jdXMtZ3VhcmQnKV06ICcnLFxuICAgIHN0eWxlOiBISURERU5fU1RZTEVTXG4gIH07XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwgX2V4dGVuZHMoe30sIHByb3BzLCByZXN0UHJvcHMpKTtcbn0pO1xuXG5jb25zdCBQb3J0YWxDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQobnVsbCk7XG5jb25zdCBhdHRyID0gLyojX19QVVJFX18qL2NyZWF0ZUF0dHJpYnV0ZSgncG9ydGFsJyk7XG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9GbG9hdGluZ1BvcnRhbCN1c2VmbG9hdGluZ3BvcnRhbG5vZGVcbiAqL1xuZnVuY3Rpb24gdXNlRmxvYXRpbmdQb3J0YWxOb2RlKHByb3BzKSB7XG4gIGlmIChwcm9wcyA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgaWQsXG4gICAgcm9vdFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKTtcbiAgY29uc3QgcG9ydGFsQ29udGV4dCA9IHVzZVBvcnRhbENvbnRleHQoKTtcbiAgY29uc3QgW3BvcnRhbE5vZGUsIHNldFBvcnRhbE5vZGVdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IHBvcnRhbE5vZGVSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGluZGV4KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcG9ydGFsTm9kZSA9PSBudWxsIHx8IHBvcnRhbE5vZGUucmVtb3ZlKCk7XG4gICAgICAvLyBBbGxvdyB0aGUgc3Vic2VxdWVudCBsYXlvdXQgZWZmZWN0cyB0byBjcmVhdGUgYSBuZXcgbm9kZSBvbiB1cGRhdGVzLlxuICAgICAgLy8gVGhlIHBvcnRhbCBub2RlIHdpbGwgc3RpbGwgYmUgY2xlYW5lZCB1cCBvbiB1bm1vdW50LlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8yNDU0XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIHBvcnRhbE5vZGVSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9O1xuICB9LCBbcG9ydGFsTm9kZV0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIHVuaXF1ZUlkIHRvIGJlIGdlbmVyYXRlZCBiZWZvcmUgY3JlYXRpbmcgdGhlIHBvcnRhbCBub2RlIGluXG4gICAgLy8gUmVhY3QgPDE4ICh1c2luZyBgdXNlRmxvYXRpbmdJZGAgaW5zdGVhZCBvZiB0aGUgbmF0aXZlIGB1c2VJZGApLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMjc3OFxuICAgIGlmICghdW5pcXVlSWQpIHJldHVybjtcbiAgICBpZiAocG9ydGFsTm9kZVJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgY29uc3QgZXhpc3RpbmdJZFJvb3QgPSBpZCA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSA6IG51bGw7XG4gICAgaWYgKCFleGlzdGluZ0lkUm9vdCkgcmV0dXJuO1xuICAgIGNvbnN0IHN1YlJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBzdWJSb290LmlkID0gdW5pcXVlSWQ7XG4gICAgc3ViUm9vdC5zZXRBdHRyaWJ1dGUoYXR0ciwgJycpO1xuICAgIGV4aXN0aW5nSWRSb290LmFwcGVuZENoaWxkKHN1YlJvb3QpO1xuICAgIHBvcnRhbE5vZGVSZWYuY3VycmVudCA9IHN1YlJvb3Q7XG4gICAgc2V0UG9ydGFsTm9kZShzdWJSb290KTtcbiAgfSwgW2lkLCB1bmlxdWVJZF0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIHJvb3QgdG8gZXhpc3QgYmVmb3JlIGNyZWF0aW5nIHRoZSBwb3J0YWwgbm9kZS4gVGhlIHJvb3QgbXVzdFxuICAgIC8vIGJlIHN0b3JlZCBpbiBzdGF0ZSwgbm90IGEgcmVmLCBmb3IgdGhpcyB0byB3b3JrIHJlYWN0aXZlbHkuXG4gICAgaWYgKHJvb3QgPT09IG51bGwpIHJldHVybjtcbiAgICBpZiAoIXVuaXF1ZUlkKSByZXR1cm47XG4gICAgaWYgKHBvcnRhbE5vZGVSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGxldCBjb250YWluZXIgPSByb290IHx8IChwb3J0YWxDb250ZXh0ID09IG51bGwgPyB2b2lkIDAgOiBwb3J0YWxDb250ZXh0LnBvcnRhbE5vZGUpO1xuICAgIGlmIChjb250YWluZXIgJiYgIWlzRWxlbWVudChjb250YWluZXIpKSBjb250YWluZXIgPSBjb250YWluZXIuY3VycmVudDtcbiAgICBjb250YWluZXIgPSBjb250YWluZXIgfHwgZG9jdW1lbnQuYm9keTtcbiAgICBsZXQgaWRXcmFwcGVyID0gbnVsbDtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGlkV3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgaWRXcmFwcGVyLmlkID0gaWQ7XG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaWRXcmFwcGVyKTtcbiAgICB9XG4gICAgY29uc3Qgc3ViUm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHN1YlJvb3QuaWQgPSB1bmlxdWVJZDtcbiAgICBzdWJSb290LnNldEF0dHJpYnV0ZShhdHRyLCAnJyk7XG4gICAgY29udGFpbmVyID0gaWRXcmFwcGVyIHx8IGNvbnRhaW5lcjtcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoc3ViUm9vdCk7XG4gICAgcG9ydGFsTm9kZVJlZi5jdXJyZW50ID0gc3ViUm9vdDtcbiAgICBzZXRQb3J0YWxOb2RlKHN1YlJvb3QpO1xuICB9LCBbaWQsIHJvb3QsIHVuaXF1ZUlkLCBwb3J0YWxDb250ZXh0XSk7XG4gIHJldHVybiBwb3J0YWxOb2RlO1xufVxuLyoqXG4gKiBQb3J0YWxzIHRoZSBmbG9hdGluZyBlbGVtZW50IGludG8gYSBnaXZlbiBjb250YWluZXIgZWxlbWVudCDigJQgYnkgZGVmYXVsdCxcbiAqIG91dHNpZGUgb2YgdGhlIGFwcCByb290IGFuZCBpbnRvIHRoZSBib2R5LlxuICogVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoZSBmbG9hdGluZyBlbGVtZW50IGNhbiBhcHBlYXIgb3V0c2lkZSBhbnlcbiAqIHBvdGVudGlhbCBwYXJlbnQgY29udGFpbmVycyB0aGF0IGNhdXNlIGNsaXBwaW5nIChzdWNoIGFzIGBvdmVyZmxvdzogaGlkZGVuYCksXG4gKiB3aGlsZSByZXRhaW5pbmcgaXRzIGxvY2F0aW9uIGluIHRoZSBSZWFjdCB0cmVlLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nUG9ydGFsXG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nUG9ydGFsKHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBpZCxcbiAgICByb290LFxuICAgIHByZXNlcnZlVGFiT3JkZXIgPSB0cnVlXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgcG9ydGFsTm9kZSA9IHVzZUZsb2F0aW5nUG9ydGFsTm9kZSh7XG4gICAgaWQsXG4gICAgcm9vdFxuICB9KTtcbiAgY29uc3QgW2ZvY3VzTWFuYWdlclN0YXRlLCBzZXRGb2N1c01hbmFnZXJTdGF0ZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgYmVmb3JlT3V0c2lkZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgYWZ0ZXJPdXRzaWRlUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBiZWZvcmVJbnNpZGVSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGFmdGVySW5zaWRlUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBtb2RhbCA9IGZvY3VzTWFuYWdlclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBmb2N1c01hbmFnZXJTdGF0ZS5tb2RhbDtcbiAgY29uc3Qgb3BlbiA9IGZvY3VzTWFuYWdlclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBmb2N1c01hbmFnZXJTdGF0ZS5vcGVuO1xuICBjb25zdCBzaG91bGRSZW5kZXJHdWFyZHMgPVxuICAvLyBUaGUgRm9jdXNNYW5hZ2VyIGFuZCB0aGVyZWZvcmUgZmxvYXRpbmcgZWxlbWVudCBhcmUgY3VycmVudGx5IG9wZW4vXG4gIC8vIHJlbmRlcmVkLlxuICAhIWZvY3VzTWFuYWdlclN0YXRlICYmXG4gIC8vIEd1YXJkcyBhcmUgb25seSBmb3Igbm9uLW1vZGFsIGZvY3VzIG1hbmFnZW1lbnQuXG4gICFmb2N1c01hbmFnZXJTdGF0ZS5tb2RhbCAmJlxuICAvLyBEb24ndCByZW5kZXIgaWYgdW5tb3VudCBpcyB0cmFuc2l0aW9uaW5nLlxuICBmb2N1c01hbmFnZXJTdGF0ZS5vcGVuICYmIHByZXNlcnZlVGFiT3JkZXIgJiYgISEocm9vdCB8fCBwb3J0YWxOb2RlKTtcblxuICAvLyBodHRwczovL2NvZGVzYW5kYm94LmlvL3MvdGFiYmFibGUtcG9ydGFsLWY0dG5nP2ZpbGU9L3NyYy9UYWJiYWJsZVBvcnRhbC50c3hcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXBvcnRhbE5vZGUgfHwgIXByZXNlcnZlVGFiT3JkZXIgfHwgbW9kYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgZWxlbWVudHMgaW5zaWRlIHRoZSBwb3J0YWwgZWxlbWVudCBhcmUgdGFiYmFibGUgb25seSB3aGVuIHRoZVxuICAgIC8vIHBvcnRhbCBoYXMgYWxyZWFkeSBiZWVuIGZvY3VzZWQsIGVpdGhlciBieSB0YWJiaW5nIGludG8gYSBmb2N1cyB0cmFwXG4gICAgLy8gZWxlbWVudCBvdXRzaWRlIG9yIHVzaW5nIHRoZSBtb3VzZS5cbiAgICBmdW5jdGlvbiBvbkZvY3VzKGV2ZW50KSB7XG4gICAgICBpZiAocG9ydGFsTm9kZSAmJiBpc091dHNpZGVFdmVudChldmVudCkpIHtcbiAgICAgICAgY29uc3QgZm9jdXNpbmcgPSBldmVudC50eXBlID09PSAnZm9jdXNpbic7XG4gICAgICAgIGNvbnN0IG1hbmFnZUZvY3VzID0gZm9jdXNpbmcgPyBlbmFibGVGb2N1c0luc2lkZSA6IGRpc2FibGVGb2N1c0luc2lkZTtcbiAgICAgICAgbWFuYWdlRm9jdXMocG9ydGFsTm9kZSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIExpc3RlbiB0byB0aGUgZXZlbnQgb24gdGhlIGNhcHR1cmUgcGhhc2Ugc28gdGhleSBydW4gYmVmb3JlIHRoZSBmb2N1c1xuICAgIC8vIHRyYXAgZWxlbWVudHMgb25Gb2N1cyBwcm9wIGlzIGNhbGxlZC5cbiAgICBwb3J0YWxOb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBvbkZvY3VzLCB0cnVlKTtcbiAgICBwb3J0YWxOb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0Jywgb25Gb2N1cywgdHJ1ZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHBvcnRhbE5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIG9uRm9jdXMsIHRydWUpO1xuICAgICAgcG9ydGFsTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIG9uRm9jdXMsIHRydWUpO1xuICAgIH07XG4gIH0sIFtwb3J0YWxOb2RlLCBwcmVzZXJ2ZVRhYk9yZGVyLCBtb2RhbF0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcG9ydGFsTm9kZSkgcmV0dXJuO1xuICAgIGlmIChvcGVuKSByZXR1cm47XG4gICAgZW5hYmxlRm9jdXNJbnNpZGUocG9ydGFsTm9kZSk7XG4gIH0sIFtvcGVuLCBwb3J0YWxOb2RlXSk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChQb3J0YWxDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAgIHByZXNlcnZlVGFiT3JkZXIsXG4gICAgICBiZWZvcmVPdXRzaWRlUmVmLFxuICAgICAgYWZ0ZXJPdXRzaWRlUmVmLFxuICAgICAgYmVmb3JlSW5zaWRlUmVmLFxuICAgICAgYWZ0ZXJJbnNpZGVSZWYsXG4gICAgICBwb3J0YWxOb2RlLFxuICAgICAgc2V0Rm9jdXNNYW5hZ2VyU3RhdGVcbiAgICB9KSwgW3ByZXNlcnZlVGFiT3JkZXIsIHBvcnRhbE5vZGVdKVxuICB9LCBzaG91bGRSZW5kZXJHdWFyZHMgJiYgcG9ydGFsTm9kZSAmJiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChGb2N1c0d1YXJkLCB7XG4gICAgXCJkYXRhLXR5cGVcIjogXCJvdXRzaWRlXCIsXG4gICAgcmVmOiBiZWZvcmVPdXRzaWRlUmVmLFxuICAgIG9uRm9jdXM6IGV2ZW50ID0+IHtcbiAgICAgIGlmIChpc091dHNpZGVFdmVudChldmVudCwgcG9ydGFsTm9kZSkpIHtcbiAgICAgICAgdmFyIF9iZWZvcmVJbnNpZGVSZWYkY3VycjtcbiAgICAgICAgKF9iZWZvcmVJbnNpZGVSZWYkY3VyciA9IGJlZm9yZUluc2lkZVJlZi5jdXJyZW50KSA9PSBudWxsIHx8IF9iZWZvcmVJbnNpZGVSZWYkY3Vyci5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJldlRhYmJhYmxlID0gZ2V0UHJldmlvdXNUYWJiYWJsZSgpIHx8IChmb2N1c01hbmFnZXJTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogZm9jdXNNYW5hZ2VyU3RhdGUucmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCk7XG4gICAgICAgIHByZXZUYWJiYWJsZSA9PSBudWxsIHx8IHByZXZUYWJiYWJsZS5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfSksIHNob3VsZFJlbmRlckd1YXJkcyAmJiBwb3J0YWxOb2RlICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgXCJhcmlhLW93bnNcIjogcG9ydGFsTm9kZS5pZCxcbiAgICBzdHlsZTogSElEREVOX1NUWUxFU1xuICB9KSwgcG9ydGFsTm9kZSAmJiAvKiNfX1BVUkVfXyovUmVhY3RET00uY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBwb3J0YWxOb2RlKSwgc2hvdWxkUmVuZGVyR3VhcmRzICYmIHBvcnRhbE5vZGUgJiYgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoRm9jdXNHdWFyZCwge1xuICAgIFwiZGF0YS10eXBlXCI6IFwib3V0c2lkZVwiLFxuICAgIHJlZjogYWZ0ZXJPdXRzaWRlUmVmLFxuICAgIG9uRm9jdXM6IGV2ZW50ID0+IHtcbiAgICAgIGlmIChpc091dHNpZGVFdmVudChldmVudCwgcG9ydGFsTm9kZSkpIHtcbiAgICAgICAgdmFyIF9hZnRlckluc2lkZVJlZiRjdXJyZTtcbiAgICAgICAgKF9hZnRlckluc2lkZVJlZiRjdXJyZSA9IGFmdGVySW5zaWRlUmVmLmN1cnJlbnQpID09IG51bGwgfHwgX2FmdGVySW5zaWRlUmVmJGN1cnJlLmZvY3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuZXh0VGFiYmFibGUgPSBnZXROZXh0VGFiYmFibGUoKSB8fCAoZm9jdXNNYW5hZ2VyU3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IGZvY3VzTWFuYWdlclN0YXRlLnJlZnMuZG9tUmVmZXJlbmNlLmN1cnJlbnQpO1xuICAgICAgICBuZXh0VGFiYmFibGUgPT0gbnVsbCB8fCBuZXh0VGFiYmFibGUuZm9jdXMoKTtcbiAgICAgICAgKGZvY3VzTWFuYWdlclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBmb2N1c01hbmFnZXJTdGF0ZS5jbG9zZU9uRm9jdXNPdXQpICYmIChmb2N1c01hbmFnZXJTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogZm9jdXNNYW5hZ2VyU3RhdGUub25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ2ZvY3VzLW91dCcpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pKTtcbn1cbmNvbnN0IHVzZVBvcnRhbENvbnRleHQgPSAoKSA9PiBSZWFjdC51c2VDb250ZXh0KFBvcnRhbENvbnRleHQpO1xuXG5jb25zdCBGT0NVU0FCTEVfQVRUUklCVVRFID0gJ2RhdGEtZmxvYXRpbmctdWktZm9jdXNhYmxlJztcbmZ1bmN0aW9uIGdldEZsb2F0aW5nRm9jdXNFbGVtZW50KGZsb2F0aW5nRWxlbWVudCkge1xuICBpZiAoIWZsb2F0aW5nRWxlbWVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8vIFRyeSB0byBmaW5kIHRoZSBlbGVtZW50IHRoYXQgaGFzIGB7Li4uZ2V0RmxvYXRpbmdQcm9wcygpfWAgc3ByZWFkIG9uIGl0LlxuICAvLyBUaGlzIGluZGljYXRlcyB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBhY3RpbmcgYXMgYSBwb3NpdGlvbmluZyB3cmFwcGVyLCBhbmRcbiAgLy8gc28gZm9jdXMgc2hvdWxkIGJlIG1hbmFnZWQgb24gdGhlIGNoaWxkIGVsZW1lbnQgd2l0aCB0aGUgZXZlbnQgaGFuZGxlcnMgYW5kXG4gIC8vIGFyaWEgcHJvcHMuXG4gIHJldHVybiBmbG9hdGluZ0VsZW1lbnQuaGFzQXR0cmlidXRlKEZPQ1VTQUJMRV9BVFRSSUJVVEUpID8gZmxvYXRpbmdFbGVtZW50IDogZmxvYXRpbmdFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJbXCIgKyBGT0NVU0FCTEVfQVRUUklCVVRFICsgXCJdXCIpIHx8IGZsb2F0aW5nRWxlbWVudDtcbn1cblxuY29uc3QgTElTVF9MSU1JVCA9IDIwO1xubGV0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudHMgPSBbXTtcbmZ1bmN0aW9uIGFkZFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudChlbGVtZW50KSB7XG4gIHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudHMgPSBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzLmZpbHRlcihlbCA9PiBlbC5pc0Nvbm5lY3RlZCk7XG4gIGxldCB0YWJiYWJsZUVsID0gZWxlbWVudDtcbiAgaWYgKCF0YWJiYWJsZUVsIHx8IGdldE5vZGVOYW1lKHRhYmJhYmxlRWwpID09PSAnYm9keScpIHJldHVybjtcbiAgaWYgKCFpc1RhYmJhYmxlKHRhYmJhYmxlRWwsIGdldFRhYmJhYmxlT3B0aW9ucygpKSkge1xuICAgIGNvbnN0IHRhYmJhYmxlQ2hpbGQgPSB0YWJiYWJsZSh0YWJiYWJsZUVsLCBnZXRUYWJiYWJsZU9wdGlvbnMoKSlbMF07XG4gICAgaWYgKHRhYmJhYmxlQ2hpbGQpIHtcbiAgICAgIHRhYmJhYmxlRWwgPSB0YWJiYWJsZUNoaWxkO1xuICAgIH1cbiAgfVxuICBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzLnB1c2godGFiYmFibGVFbCk7XG4gIGlmIChwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzLmxlbmd0aCA+IExJU1RfTElNSVQpIHtcbiAgICBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnRzID0gcHJldmlvdXNseUZvY3VzZWRFbGVtZW50cy5zbGljZSgtTElTVF9MSU1JVCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpIHtcbiAgcmV0dXJuIHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudHMuc2xpY2UoKS5yZXZlcnNlKCkuZmluZChlbCA9PiBlbC5pc0Nvbm5lY3RlZCk7XG59XG5jb25zdCBWaXN1YWxseUhpZGRlbkRpc21pc3MgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBWaXN1YWxseUhpZGRlbkRpc21pc3MocHJvcHMsIHJlZikge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgdHlwZTogXCJidXR0b25cIixcbiAgICByZWY6IHJlZixcbiAgICB0YWJJbmRleDogLTEsXG4gICAgc3R5bGU6IEhJRERFTl9TVFlMRVNcbiAgfSkpO1xufSk7XG4vKipcbiAqIFByb3ZpZGVzIGZvY3VzIG1hbmFnZW1lbnQgZm9yIHRoZSBmbG9hdGluZyBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL0Zsb2F0aW5nRm9jdXNNYW5hZ2VyXG4gKi9cbmZ1bmN0aW9uIEZsb2F0aW5nRm9jdXNNYW5hZ2VyKHByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjb250ZXh0LFxuICAgIGNoaWxkcmVuLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgb3JkZXIgPSBbJ2NvbnRlbnQnXSxcbiAgICBndWFyZHM6IF9ndWFyZHMgPSB0cnVlLFxuICAgIGluaXRpYWxGb2N1cyA9IDAsXG4gICAgcmV0dXJuRm9jdXMgPSB0cnVlLFxuICAgIHJlc3RvcmVGb2N1cyA9IGZhbHNlLFxuICAgIG1vZGFsID0gdHJ1ZSxcbiAgICB2aXN1YWxseUhpZGRlbkRpc21pc3MgPSBmYWxzZSxcbiAgICBjbG9zZU9uRm9jdXNPdXQgPSB0cnVlXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgcmVmcyxcbiAgICBub2RlSWQsXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGV2ZW50cyxcbiAgICBkYXRhUmVmLFxuICAgIGZsb2F0aW5nSWQsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIGRvbVJlZmVyZW5jZSxcbiAgICAgIGZsb2F0aW5nXG4gICAgfVxuICB9ID0gY29udGV4dDtcbiAgY29uc3QgaWdub3JlSW5pdGlhbEZvY3VzID0gdHlwZW9mIGluaXRpYWxGb2N1cyA9PT0gJ251bWJlcicgJiYgaW5pdGlhbEZvY3VzIDwgMDtcbiAgLy8gSWYgdGhlIHJlZmVyZW5jZSBpcyBhIGNvbWJvYm94IGFuZCBpcyB0eXBlYWJsZSAoZS5nLiBpbnB1dC90ZXh0YXJlYSksXG4gIC8vIHRoZXJlIGFyZSBkaWZmZXJlbnQgZm9jdXMgc2VtYW50aWNzLiBUaGUgZ3VhcmRzIHNob3VsZCBub3QgYmUgcmVuZGVyZWQsIGJ1dFxuICAvLyBhcmlhLWhpZGRlbiBzaG91bGQgYmUgYXBwbGllZCB0byBhbGwgbm9kZXMgc3RpbGwuIEZ1cnRoZXIsIHRoZSB2aXN1YWxseVxuICAvLyBoaWRkZW4gZGlzbWlzcyBidXR0b24gc2hvdWxkIG9ubHkgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QsIG5vdCB0aGVcbiAgLy8gc3RhcnQuXG4gIGNvbnN0IGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCA9IGlzVHlwZWFibGVDb21ib2JveChkb21SZWZlcmVuY2UpICYmIGlnbm9yZUluaXRpYWxGb2N1cztcblxuICAvLyBGb3JjZSB0aGUgZ3VhcmRzIHRvIGJlIHJlbmRlcmVkIGlmIHRoZSBgaW5lcnRgIGF0dHJpYnV0ZSBpcyBub3Qgc3VwcG9ydGVkLlxuICBjb25zdCBndWFyZHMgPSBzdXBwb3J0c0luZXJ0KCkgPyBfZ3VhcmRzIDogdHJ1ZTtcbiAgY29uc3Qgb3JkZXJSZWYgPSB1c2VMYXRlc3RSZWYob3JkZXIpO1xuICBjb25zdCBpbml0aWFsRm9jdXNSZWYgPSB1c2VMYXRlc3RSZWYoaW5pdGlhbEZvY3VzKTtcbiAgY29uc3QgcmV0dXJuRm9jdXNSZWYgPSB1c2VMYXRlc3RSZWYocmV0dXJuRm9jdXMpO1xuICBjb25zdCB0cmVlID0gdXNlRmxvYXRpbmdUcmVlKCk7XG4gIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KCk7XG4gIGNvbnN0IHN0YXJ0RGlzbWlzc0J1dHRvblJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgZW5kRGlzbWlzc0J1dHRvblJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldmVudFJldHVybkZvY3VzUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaXNQb2ludGVyRG93blJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHRhYmJhYmxlSW5kZXhSZWYgPSBSZWFjdC51c2VSZWYoLTEpO1xuICBjb25zdCBpc0luc2lkZVBvcnRhbCA9IHBvcnRhbENvbnRleHQgIT0gbnVsbDtcbiAgY29uc3QgZmxvYXRpbmdGb2N1c0VsZW1lbnQgPSBnZXRGbG9hdGluZ0ZvY3VzRWxlbWVudChmbG9hdGluZyk7XG4gIGNvbnN0IGdldFRhYmJhYmxlQ29udGVudCA9IHVzZUVmZmVjdEV2ZW50KGZ1bmN0aW9uIChjb250YWluZXIpIHtcbiAgICBpZiAoY29udGFpbmVyID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnRhaW5lciA9IGZsb2F0aW5nRm9jdXNFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gY29udGFpbmVyID8gdGFiYmFibGUoY29udGFpbmVyLCBnZXRUYWJiYWJsZU9wdGlvbnMoKSkgOiBbXTtcbiAgfSk7XG4gIGNvbnN0IGdldFRhYmJhYmxlRWxlbWVudHMgPSB1c2VFZmZlY3RFdmVudChjb250YWluZXIgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBnZXRUYWJiYWJsZUNvbnRlbnQoY29udGFpbmVyKTtcbiAgICByZXR1cm4gb3JkZXJSZWYuY3VycmVudC5tYXAodHlwZSA9PiB7XG4gICAgICBpZiAoZG9tUmVmZXJlbmNlICYmIHR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgIHJldHVybiBkb21SZWZlcmVuY2U7XG4gICAgICB9XG4gICAgICBpZiAoZmxvYXRpbmdGb2N1c0VsZW1lbnQgJiYgdHlwZSA9PT0gJ2Zsb2F0aW5nJykge1xuICAgICAgICByZXR1cm4gZmxvYXRpbmdGb2N1c0VsZW1lbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5maWx0ZXIoQm9vbGVhbikuZmxhdCgpO1xuICB9KTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAoIW1vZGFsKSByZXR1cm47XG4gICAgZnVuY3Rpb24gb25LZXlEb3duKGV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAvLyBUaGUgZm9jdXMgZ3VhcmRzIGhhdmUgbm90aGluZyB0byBmb2N1cywgc28gd2UgbmVlZCB0byBzdG9wIHRoZSBldmVudC5cbiAgICAgICAgaWYgKGNvbnRhaW5zKGZsb2F0aW5nRm9jdXNFbGVtZW50LCBhY3RpdmVFbGVtZW50KGdldERvY3VtZW50KGZsb2F0aW5nRm9jdXNFbGVtZW50KSkpICYmIGdldFRhYmJhYmxlQ29udGVudCgpLmxlbmd0aCA9PT0gMCAmJiAhaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94KSB7XG4gICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbHMgPSBnZXRUYWJiYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChldmVudCk7XG4gICAgICAgIGlmIChvcmRlclJlZi5jdXJyZW50WzBdID09PSAncmVmZXJlbmNlJyAmJiB0YXJnZXQgPT09IGRvbVJlZmVyZW5jZSkge1xuICAgICAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICBlbnF1ZXVlRm9jdXMoZWxzW2Vscy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVucXVldWVGb2N1cyhlbHNbMV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob3JkZXJSZWYuY3VycmVudFsxXSA9PT0gJ2Zsb2F0aW5nJyAmJiB0YXJnZXQgPT09IGZsb2F0aW5nRm9jdXNFbGVtZW50ICYmIGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgICBlbnF1ZXVlRm9jdXMoZWxzWzBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBkb2MgPSBnZXREb2N1bWVudChmbG9hdGluZ0ZvY3VzRWxlbWVudCk7XG4gICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgfTtcbiAgfSwgW2Rpc2FibGVkLCBkb21SZWZlcmVuY2UsIGZsb2F0aW5nRm9jdXNFbGVtZW50LCBtb2RhbCwgb3JkZXJSZWYsIGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCwgZ2V0VGFiYmFibGVDb250ZW50LCBnZXRUYWJiYWJsZUVsZW1lbnRzXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKCFmbG9hdGluZykgcmV0dXJuO1xuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzSW4oZXZlbnQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChldmVudCk7XG4gICAgICBjb25zdCB0YWJiYWJsZUNvbnRlbnQgPSBnZXRUYWJiYWJsZUNvbnRlbnQoKTtcbiAgICAgIGNvbnN0IHRhYmJhYmxlSW5kZXggPSB0YWJiYWJsZUNvbnRlbnQuaW5kZXhPZih0YXJnZXQpO1xuICAgICAgaWYgKHRhYmJhYmxlSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHRhYmJhYmxlSW5kZXhSZWYuY3VycmVudCA9IHRhYmJhYmxlSW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIGZsb2F0aW5nLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBoYW5kbGVGb2N1c0luKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZmxvYXRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGhhbmRsZUZvY3VzSW4pO1xuICAgIH07XG4gIH0sIFtkaXNhYmxlZCwgZmxvYXRpbmcsIGdldFRhYmJhYmxlQ29udGVudF0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICghY2xvc2VPbkZvY3VzT3V0KSByZXR1cm47XG5cbiAgICAvLyBJbiBTYWZhcmksIGJ1dHRvbnMgbG9zZSBmb2N1cyB3aGVuIHByZXNzaW5nIHRoZW0uXG4gICAgZnVuY3Rpb24gaGFuZGxlUG9pbnRlckRvd24oKSB7XG4gICAgICBpc1BvaW50ZXJEb3duUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzUG9pbnRlckRvd25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzT3V0c2lkZShldmVudCkge1xuICAgICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vdmVkVG9VbnJlbGF0ZWROb2RlID0gIShjb250YWlucyhkb21SZWZlcmVuY2UsIHJlbGF0ZWRUYXJnZXQpIHx8IGNvbnRhaW5zKGZsb2F0aW5nLCByZWxhdGVkVGFyZ2V0KSB8fCBjb250YWlucyhyZWxhdGVkVGFyZ2V0LCBmbG9hdGluZykgfHwgY29udGFpbnMocG9ydGFsQ29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogcG9ydGFsQ29udGV4dC5wb3J0YWxOb2RlLCByZWxhdGVkVGFyZ2V0KSB8fCByZWxhdGVkVGFyZ2V0ICE9IG51bGwgJiYgcmVsYXRlZFRhcmdldC5oYXNBdHRyaWJ1dGUoY3JlYXRlQXR0cmlidXRlKCdmb2N1cy1ndWFyZCcpKSB8fCB0cmVlICYmIChnZXRDaGlsZHJlbih0cmVlLm5vZGVzUmVmLmN1cnJlbnQsIG5vZGVJZCkuZmluZChub2RlID0+IHtcbiAgICAgICAgICB2YXIgX25vZGUkY29udGV4dCwgX25vZGUkY29udGV4dDI7XG4gICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKChfbm9kZSRjb250ZXh0ID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dC5lbGVtZW50cy5mbG9hdGluZywgcmVsYXRlZFRhcmdldCkgfHwgY29udGFpbnMoKF9ub2RlJGNvbnRleHQyID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dDIuZWxlbWVudHMuZG9tUmVmZXJlbmNlLCByZWxhdGVkVGFyZ2V0KTtcbiAgICAgICAgfSkgfHwgZ2V0QW5jZXN0b3JzKHRyZWUubm9kZXNSZWYuY3VycmVudCwgbm9kZUlkKS5maW5kKG5vZGUgPT4ge1xuICAgICAgICAgIHZhciBfbm9kZSRjb250ZXh0MywgX25vZGUkY29udGV4dDQ7XG4gICAgICAgICAgcmV0dXJuICgoX25vZGUkY29udGV4dDMgPSBub2RlLmNvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRjb250ZXh0My5lbGVtZW50cy5mbG9hdGluZykgPT09IHJlbGF0ZWRUYXJnZXQgfHwgKChfbm9kZSRjb250ZXh0NCA9IG5vZGUuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJGNvbnRleHQ0LmVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgPT09IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIH0pKSk7XG5cbiAgICAgICAgLy8gUmVzdG9yZSBmb2N1cyB0byB0aGUgcHJldmlvdXMgdGFiYmFibGUgZWxlbWVudCBpbmRleCB0byBwcmV2ZW50XG4gICAgICAgIC8vIGZvY3VzIGZyb20gYmVpbmcgbG9zdCBvdXRzaWRlIHRoZSBmbG9hdGluZyB0cmVlLlxuICAgICAgICBpZiAocmVzdG9yZUZvY3VzICYmIG1vdmVkVG9VbnJlbGF0ZWROb2RlICYmIGFjdGl2ZUVsZW1lbnQoZ2V0RG9jdW1lbnQoZmxvYXRpbmdGb2N1c0VsZW1lbnQpKSA9PT0gZ2V0RG9jdW1lbnQoZmxvYXRpbmdGb2N1c0VsZW1lbnQpLmJvZHkpIHtcbiAgICAgICAgICAvLyBMZXQgYEZsb2F0aW5nUG9ydGFsYCBlZmZlY3Qga25vd3MgdGhhdCBmb2N1cyBpcyBzdGlsbCBpbnNpZGUgdGhlXG4gICAgICAgICAgLy8gZmxvYXRpbmcgdHJlZS5cbiAgICAgICAgICBpZiAoaXNIVE1MRWxlbWVudChmbG9hdGluZ0ZvY3VzRWxlbWVudCkpIHtcbiAgICAgICAgICAgIGZsb2F0aW5nRm9jdXNFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHByZXZUYWJiYWJsZUluZGV4ID0gdGFiYmFibGVJbmRleFJlZi5jdXJyZW50O1xuICAgICAgICAgIGNvbnN0IHRhYmJhYmxlQ29udGVudCA9IGdldFRhYmJhYmxlQ29udGVudCgpO1xuICAgICAgICAgIGNvbnN0IG5vZGVUb0ZvY3VzID0gdGFiYmFibGVDb250ZW50W3ByZXZUYWJiYWJsZUluZGV4XSB8fCB0YWJiYWJsZUNvbnRlbnRbdGFiYmFibGVDb250ZW50Lmxlbmd0aCAtIDFdIHx8IGZsb2F0aW5nRm9jdXNFbGVtZW50O1xuICAgICAgICAgIGlmIChpc0hUTUxFbGVtZW50KG5vZGVUb0ZvY3VzKSkge1xuICAgICAgICAgICAgbm9kZVRvRm9jdXMuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBkaWQgbm90IG1vdmUgaW5zaWRlIHRoZSBmbG9hdGluZyB0cmVlLCBhbmQgdGhlcmUgYXJlIG5vIHRhYmJhYmxlXG4gICAgICAgIC8vIHBvcnRhbCBndWFyZHMgdG8gaGFuZGxlIGNsb3NpbmcuXG4gICAgICAgIGlmICgoaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94ID8gdHJ1ZSA6ICFtb2RhbCkgJiYgcmVsYXRlZFRhcmdldCAmJiBtb3ZlZFRvVW5yZWxhdGVkTm9kZSAmJiAhaXNQb2ludGVyRG93blJlZi5jdXJyZW50ICYmXG4gICAgICAgIC8vIEZpeCBSZWFjdCAxOCBTdHJpY3QgTW9kZSByZXR1cm5Gb2N1cyBkdWUgdG8gZG91YmxlIHJlbmRlcmluZy5cbiAgICAgICAgcmVsYXRlZFRhcmdldCAhPT0gZ2V0UHJldmlvdXNseUZvY3VzZWRFbGVtZW50KCkpIHtcbiAgICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudCwgJ2ZvY3VzLW91dCcpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGZsb2F0aW5nICYmIGlzSFRNTEVsZW1lbnQoZG9tUmVmZXJlbmNlKSkge1xuICAgICAgZG9tUmVmZXJlbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgaGFuZGxlRm9jdXNPdXRzaWRlKTtcbiAgICAgIGRvbVJlZmVyZW5jZS5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIGhhbmRsZVBvaW50ZXJEb3duKTtcbiAgICAgIGZsb2F0aW5nLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgaGFuZGxlRm9jdXNPdXRzaWRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvbVJlZmVyZW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIGhhbmRsZUZvY3VzT3V0c2lkZSk7XG4gICAgICAgIGRvbVJlZmVyZW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIGhhbmRsZVBvaW50ZXJEb3duKTtcbiAgICAgICAgZmxvYXRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBoYW5kbGVGb2N1c091dHNpZGUpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtkaXNhYmxlZCwgZG9tUmVmZXJlbmNlLCBmbG9hdGluZywgZmxvYXRpbmdGb2N1c0VsZW1lbnQsIG1vZGFsLCBub2RlSWQsIHRyZWUsIHBvcnRhbENvbnRleHQsIG9uT3BlbkNoYW5nZSwgY2xvc2VPbkZvY3VzT3V0LCByZXN0b3JlRm9jdXMsIGdldFRhYmJhYmxlQ29udGVudCwgaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94XSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdmFyIF9wb3J0YWxDb250ZXh0JHBvcnRhbDtcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcblxuICAgIC8vIERvbid0IGhpZGUgcG9ydGFscyBuZXN0ZWQgd2l0aGluIHRoZSBwYXJlbnQgcG9ydGFsLlxuICAgIGNvbnN0IHBvcnRhbE5vZGVzID0gQXJyYXkuZnJvbSgocG9ydGFsQ29udGV4dCA9PSBudWxsIHx8IChfcG9ydGFsQ29udGV4dCRwb3J0YWwgPSBwb3J0YWxDb250ZXh0LnBvcnRhbE5vZGUpID09IG51bGwgPyB2b2lkIDAgOiBfcG9ydGFsQ29udGV4dCRwb3J0YWwucXVlcnlTZWxlY3RvckFsbChcIltcIiArIGNyZWF0ZUF0dHJpYnV0ZSgncG9ydGFsJykgKyBcIl1cIikpIHx8IFtdKTtcbiAgICBpZiAoZmxvYXRpbmcpIHtcbiAgICAgIGNvbnN0IGluc2lkZUVsZW1lbnRzID0gW2Zsb2F0aW5nLCAuLi5wb3J0YWxOb2Rlcywgc3RhcnREaXNtaXNzQnV0dG9uUmVmLmN1cnJlbnQsIGVuZERpc21pc3NCdXR0b25SZWYuY3VycmVudCwgb3JkZXJSZWYuY3VycmVudC5pbmNsdWRlcygncmVmZXJlbmNlJykgfHwgaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94ID8gZG9tUmVmZXJlbmNlIDogbnVsbF0uZmlsdGVyKHggPT4geCAhPSBudWxsKTtcbiAgICAgIGNvbnN0IGNsZWFudXAgPSBtb2RhbCB8fCBpc1VudHJhcHBlZFR5cGVhYmxlQ29tYm9ib3ggPyBtYXJrT3RoZXJzKGluc2lkZUVsZW1lbnRzLCBndWFyZHMsICFndWFyZHMpIDogbWFya090aGVycyhpbnNpZGVFbGVtZW50cyk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjbGVhbnVwKCk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2Rpc2FibGVkLCBkb21SZWZlcmVuY2UsIGZsb2F0aW5nLCBtb2RhbCwgb3JkZXJSZWYsIHBvcnRhbENvbnRleHQsIGlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCwgZ3VhcmRzXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQgfHwgIWlzSFRNTEVsZW1lbnQoZmxvYXRpbmdGb2N1c0VsZW1lbnQpKSByZXR1cm47XG4gICAgY29uc3QgZG9jID0gZ2V0RG9jdW1lbnQoZmxvYXRpbmdGb2N1c0VsZW1lbnQpO1xuICAgIGNvbnN0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQoZG9jKTtcblxuICAgIC8vIFdhaXQgZm9yIGFueSBsYXlvdXQgZWZmZWN0IHN0YXRlIHNldHRlcnMgdG8gZXhlY3V0ZSB0byBzZXQgYHRhYkluZGV4YC5cbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IGdldFRhYmJhYmxlRWxlbWVudHMoZmxvYXRpbmdGb2N1c0VsZW1lbnQpO1xuICAgICAgY29uc3QgaW5pdGlhbEZvY3VzVmFsdWUgPSBpbml0aWFsRm9jdXNSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IGVsVG9Gb2N1cyA9ICh0eXBlb2YgaW5pdGlhbEZvY3VzVmFsdWUgPT09ICdudW1iZXInID8gZm9jdXNhYmxlRWxlbWVudHNbaW5pdGlhbEZvY3VzVmFsdWVdIDogaW5pdGlhbEZvY3VzVmFsdWUuY3VycmVudCkgfHwgZmxvYXRpbmdGb2N1c0VsZW1lbnQ7XG4gICAgICBjb25zdCBmb2N1c0FscmVhZHlJbnNpZGVGbG9hdGluZ0VsID0gY29udGFpbnMoZmxvYXRpbmdGb2N1c0VsZW1lbnQsIHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCk7XG4gICAgICBpZiAoIWlnbm9yZUluaXRpYWxGb2N1cyAmJiAhZm9jdXNBbHJlYWR5SW5zaWRlRmxvYXRpbmdFbCAmJiBvcGVuKSB7XG4gICAgICAgIGVucXVldWVGb2N1cyhlbFRvRm9jdXMsIHtcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiBlbFRvRm9jdXMgPT09IGZsb2F0aW5nRm9jdXNFbGVtZW50XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbZGlzYWJsZWQsIG9wZW4sIGZsb2F0aW5nRm9jdXNFbGVtZW50LCBpZ25vcmVJbml0aWFsRm9jdXMsIGdldFRhYmJhYmxlRWxlbWVudHMsIGluaXRpYWxGb2N1c1JlZl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkIHx8ICFmbG9hdGluZ0ZvY3VzRWxlbWVudCkgcmV0dXJuO1xuICAgIGxldCBwcmV2ZW50UmV0dXJuRm9jdXNTY3JvbGwgPSBmYWxzZTtcbiAgICBjb25zdCBkb2MgPSBnZXREb2N1bWVudChmbG9hdGluZ0ZvY3VzRWxlbWVudCk7XG4gICAgY29uc3QgcHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gYWN0aXZlRWxlbWVudChkb2MpO1xuICAgIGNvbnN0IGNvbnRleHREYXRhID0gZGF0YVJlZi5jdXJyZW50O1xuICAgIGxldCBvcGVuRXZlbnQgPSBjb250ZXh0RGF0YS5vcGVuRXZlbnQ7XG4gICAgYWRkUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCk7XG5cbiAgICAvLyBEaXNtaXNzaW5nIHZpYSBvdXRzaWRlIHByZXNzIHNob3VsZCBhbHdheXMgaWdub3JlIGByZXR1cm5Gb2N1c2AgdG9cbiAgICAvLyBwcmV2ZW50IHVud2FudGVkIHNjcm9sbGluZy5cbiAgICBmdW5jdGlvbiBvbk9wZW5DaGFuZ2UoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgcmVhc29uLFxuICAgICAgICBldmVudCxcbiAgICAgICAgbmVzdGVkXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgIG9wZW5FdmVudCA9IGV2ZW50O1xuICAgICAgfVxuICAgICAgaWYgKHJlYXNvbiA9PT0gJ2VzY2FwZS1rZXknICYmIHJlZnMuZG9tUmVmZXJlbmNlLmN1cnJlbnQpIHtcbiAgICAgICAgYWRkUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KHJlZnMuZG9tUmVmZXJlbmNlLmN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgaWYgKHJlYXNvbiA9PT0gJ2hvdmVyJyAmJiBldmVudC50eXBlID09PSAnbW91c2VsZWF2ZScpIHtcbiAgICAgICAgcHJldmVudFJldHVybkZvY3VzUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHJlYXNvbiAhPT0gJ291dHNpZGUtcHJlc3MnKSByZXR1cm47XG4gICAgICBpZiAobmVzdGVkKSB7XG4gICAgICAgIHByZXZlbnRSZXR1cm5Gb2N1c1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIHByZXZlbnRSZXR1cm5Gb2N1c1Njcm9sbCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9ICEoaXNWaXJ0dWFsQ2xpY2soZXZlbnQpIHx8IGlzVmlydHVhbFBvaW50ZXJFdmVudChldmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBldmVudHMub24oJ29wZW5jaGFuZ2UnLCBvbk9wZW5DaGFuZ2UpO1xuICAgIGNvbnN0IGZhbGxiYWNrRWwgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGZhbGxiYWNrRWwuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xuICAgIGZhbGxiYWNrRWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgT2JqZWN0LmFzc2lnbihmYWxsYmFja0VsLnN0eWxlLCBISURERU5fU1RZTEVTKTtcbiAgICBpZiAoaXNJbnNpZGVQb3J0YWwgJiYgZG9tUmVmZXJlbmNlKSB7XG4gICAgICBkb21SZWZlcmVuY2UuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZhbGxiYWNrRWwpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRSZXR1cm5FbGVtZW50KCkge1xuICAgICAgaWYgKHR5cGVvZiByZXR1cm5Gb2N1c1JlZi5jdXJyZW50ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpIHx8IGZhbGxiYWNrRWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0dXJuRm9jdXNSZWYuY3VycmVudC5jdXJyZW50IHx8IGZhbGxiYWNrRWw7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBldmVudHMub2ZmKCdvcGVuY2hhbmdlJywgb25PcGVuQ2hhbmdlKTtcbiAgICAgIGNvbnN0IGFjdGl2ZUVsID0gYWN0aXZlRWxlbWVudChkb2MpO1xuICAgICAgY29uc3QgaXNGb2N1c0luc2lkZUZsb2F0aW5nVHJlZSA9IGNvbnRhaW5zKGZsb2F0aW5nLCBhY3RpdmVFbCkgfHwgdHJlZSAmJiBnZXRDaGlsZHJlbih0cmVlLm5vZGVzUmVmLmN1cnJlbnQsIG5vZGVJZCkuc29tZShub2RlID0+IHtcbiAgICAgICAgdmFyIF9ub2RlJGNvbnRleHQ1O1xuICAgICAgICByZXR1cm4gY29udGFpbnMoKF9ub2RlJGNvbnRleHQ1ID0gbm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkY29udGV4dDUuZWxlbWVudHMuZmxvYXRpbmcsIGFjdGl2ZUVsKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2hvdWxkRm9jdXNSZWZlcmVuY2UgPSBpc0ZvY3VzSW5zaWRlRmxvYXRpbmdUcmVlIHx8IG9wZW5FdmVudCAmJiBbJ2NsaWNrJywgJ21vdXNlZG93biddLmluY2x1ZGVzKG9wZW5FdmVudC50eXBlKTtcbiAgICAgIGlmIChzaG91bGRGb2N1c1JlZmVyZW5jZSAmJiByZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50KSB7XG4gICAgICAgIGFkZFByZXZpb3VzbHlGb2N1c2VkRWxlbWVudChyZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJldHVybkVsZW1lbnQgPSBnZXRSZXR1cm5FbGVtZW50KCk7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgICAgICByZXR1cm5Gb2N1c1JlZi5jdXJyZW50ICYmICFwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCAmJiBpc0hUTUxFbGVtZW50KHJldHVybkVsZW1lbnQpICYmIChcbiAgICAgICAgLy8gSWYgdGhlIGZvY3VzIG1vdmVkIHNvbWV3aGVyZSBlbHNlIGFmdGVyIG1vdW50LCBhdm9pZCByZXR1cm5pbmcgZm9jdXNcbiAgICAgICAgLy8gc2luY2UgaXQgbGlrZWx5IGVudGVyZWQgYSBkaWZmZXJlbnQgZWxlbWVudCB3aGljaCBzaG91bGQgYmVcbiAgICAgICAgLy8gcmVzcGVjdGVkOiBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzI2MDdcbiAgICAgICAgcmV0dXJuRWxlbWVudCAhPT0gYWN0aXZlRWwgJiYgYWN0aXZlRWwgIT09IGRvYy5ib2R5ID8gaXNGb2N1c0luc2lkZUZsb2F0aW5nVHJlZSA6IHRydWUpKSB7XG4gICAgICAgICAgcmV0dXJuRWxlbWVudC5mb2N1cyh7XG4gICAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiBwcmV2ZW50UmV0dXJuRm9jdXNTY3JvbGxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmYWxsYmFja0VsLnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgfTtcbiAgfSwgW2Rpc2FibGVkLCBmbG9hdGluZywgZmxvYXRpbmdGb2N1c0VsZW1lbnQsIHJldHVybkZvY3VzUmVmLCBkYXRhUmVmLCByZWZzLCBldmVudHMsIHRyZWUsIG5vZGVJZCwgaXNJbnNpZGVQb3J0YWwsIGRvbVJlZmVyZW5jZV0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFRoZSBgcmV0dXJuRm9jdXNgIGNsZWFudXAgYmVoYXZpb3IgaXMgaW5zaWRlIGEgbWljcm90YXNrOyBlbnN1cmUgd2VcbiAgICAvLyB3YWl0IGZvciBpdCB0byBjb21wbGV0ZSBiZWZvcmUgcmVzZXR0aW5nIHRoZSBmbGFnLlxuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgIHByZXZlbnRSZXR1cm5Gb2N1c1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtkaXNhYmxlZF0pO1xuXG4gIC8vIFN5bmNocm9uaXplIHRoZSBgY29udGV4dGAgJiBgbW9kYWxgIHZhbHVlIHRvIHRoZSBGbG9hdGluZ1BvcnRhbCBjb250ZXh0LlxuICAvLyBJdCB3aWxsIGRlY2lkZSB3aGV0aGVyIG9yIG5vdCBpdCBuZWVkcyB0byByZW5kZXIgaXRzIG93biBndWFyZHMuXG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAoIXBvcnRhbENvbnRleHQpIHJldHVybjtcbiAgICBwb3J0YWxDb250ZXh0LnNldEZvY3VzTWFuYWdlclN0YXRlKHtcbiAgICAgIG1vZGFsLFxuICAgICAgY2xvc2VPbkZvY3VzT3V0LFxuICAgICAgb3BlbixcbiAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgIHJlZnNcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcG9ydGFsQ29udGV4dC5zZXRGb2N1c01hbmFnZXJTdGF0ZShudWxsKTtcbiAgICB9O1xuICB9LCBbZGlzYWJsZWQsIHBvcnRhbENvbnRleHQsIG1vZGFsLCBvcGVuLCBvbk9wZW5DaGFuZ2UsIHJlZnMsIGNsb3NlT25Gb2N1c091dF0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKCFmbG9hdGluZ0ZvY3VzRWxlbWVudCkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuO1xuICAgIGlmIChpZ25vcmVJbml0aWFsRm9jdXMpIHJldHVybjtcbiAgICBjb25zdCBoYW5kbGVNdXRhdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHRhYkluZGV4ID0gZmxvYXRpbmdGb2N1c0VsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgY29uc3QgdGFiYmFibGVDb250ZW50ID0gZ2V0VGFiYmFibGVDb250ZW50KCk7XG4gICAgICBjb25zdCBhY3RpdmVFbCA9IGFjdGl2ZUVsZW1lbnQoZ2V0RG9jdW1lbnQoZmxvYXRpbmcpKTtcbiAgICAgIGNvbnN0IHRhYmJhYmxlSW5kZXggPSB0YWJiYWJsZUNvbnRlbnQuaW5kZXhPZihhY3RpdmVFbCk7XG4gICAgICBpZiAodGFiYmFibGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGFiYmFibGVJbmRleFJlZi5jdXJyZW50ID0gdGFiYmFibGVJbmRleDtcbiAgICAgIH1cbiAgICAgIGlmIChvcmRlclJlZi5jdXJyZW50LmluY2x1ZGVzKCdmbG9hdGluZycpIHx8IGFjdGl2ZUVsICE9PSByZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50ICYmIHRhYmJhYmxlQ29udGVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKHRhYkluZGV4ICE9PSAnMCcpIHtcbiAgICAgICAgICBmbG9hdGluZ0ZvY3VzRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YWJJbmRleCAhPT0gJy0xJykge1xuICAgICAgICBmbG9hdGluZ0ZvY3VzRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBoYW5kbGVNdXRhdGlvbigpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoaGFuZGxlTXV0YXRpb24pO1xuICAgIG9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmdGb2N1c0VsZW1lbnQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlXG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9O1xuICB9LCBbZGlzYWJsZWQsIGZsb2F0aW5nLCBmbG9hdGluZ0ZvY3VzRWxlbWVudCwgcmVmcywgb3JkZXJSZWYsIGdldFRhYmJhYmxlQ29udGVudCwgaWdub3JlSW5pdGlhbEZvY3VzXSk7XG4gIGZ1bmN0aW9uIHJlbmRlckRpc21pc3NCdXR0b24obG9jYXRpb24pIHtcbiAgICBpZiAoZGlzYWJsZWQgfHwgIXZpc3VhbGx5SGlkZGVuRGlzbWlzcyB8fCAhbW9kYWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW5EaXNtaXNzLCB7XG4gICAgICByZWY6IGxvY2F0aW9uID09PSAnc3RhcnQnID8gc3RhcnREaXNtaXNzQnV0dG9uUmVmIDogZW5kRGlzbWlzc0J1dHRvblJlZixcbiAgICAgIG9uQ2xpY2s6IGV2ZW50ID0+IG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQubmF0aXZlRXZlbnQpXG4gICAgfSwgdHlwZW9mIHZpc3VhbGx5SGlkZGVuRGlzbWlzcyA9PT0gJ3N0cmluZycgPyB2aXN1YWxseUhpZGRlbkRpc21pc3MgOiAnRGlzbWlzcycpO1xuICB9XG4gIGNvbnN0IHNob3VsZFJlbmRlckd1YXJkcyA9ICFkaXNhYmxlZCAmJiBndWFyZHMgJiYgKG1vZGFsID8gIWlzVW50cmFwcGVkVHlwZWFibGVDb21ib2JveCA6IHRydWUpICYmIChpc0luc2lkZVBvcnRhbCB8fCBtb2RhbCk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgc2hvdWxkUmVuZGVyR3VhcmRzICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZvY3VzR3VhcmQsIHtcbiAgICBcImRhdGEtdHlwZVwiOiBcImluc2lkZVwiLFxuICAgIHJlZjogcG9ydGFsQ29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogcG9ydGFsQ29udGV4dC5iZWZvcmVJbnNpZGVSZWYsXG4gICAgb25Gb2N1czogZXZlbnQgPT4ge1xuICAgICAgaWYgKG1vZGFsKSB7XG4gICAgICAgIGNvbnN0IGVscyA9IGdldFRhYmJhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgZW5xdWV1ZUZvY3VzKG9yZGVyWzBdID09PSAncmVmZXJlbmNlJyA/IGVsc1swXSA6IGVsc1tlbHMubGVuZ3RoIC0gMV0pO1xuICAgICAgfSBlbHNlIGlmIChwb3J0YWxDb250ZXh0ICE9IG51bGwgJiYgcG9ydGFsQ29udGV4dC5wcmVzZXJ2ZVRhYk9yZGVyICYmIHBvcnRhbENvbnRleHQucG9ydGFsTm9kZSkge1xuICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICBpZiAoaXNPdXRzaWRlRXZlbnQoZXZlbnQsIHBvcnRhbENvbnRleHQucG9ydGFsTm9kZSkpIHtcbiAgICAgICAgICBjb25zdCBuZXh0VGFiYmFibGUgPSBnZXROZXh0VGFiYmFibGUoKSB8fCBkb21SZWZlcmVuY2U7XG4gICAgICAgICAgbmV4dFRhYmJhYmxlID09IG51bGwgfHwgbmV4dFRhYmJhYmxlLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIF9wb3J0YWxDb250ZXh0JGJlZm9yZTtcbiAgICAgICAgICAoX3BvcnRhbENvbnRleHQkYmVmb3JlID0gcG9ydGFsQ29udGV4dC5iZWZvcmVPdXRzaWRlUmVmLmN1cnJlbnQpID09IG51bGwgfHwgX3BvcnRhbENvbnRleHQkYmVmb3JlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pLCAhaXNVbnRyYXBwZWRUeXBlYWJsZUNvbWJvYm94ICYmIHJlbmRlckRpc21pc3NCdXR0b24oJ3N0YXJ0JyksIGNoaWxkcmVuLCByZW5kZXJEaXNtaXNzQnV0dG9uKCdlbmQnKSwgc2hvdWxkUmVuZGVyR3VhcmRzICYmIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEZvY3VzR3VhcmQsIHtcbiAgICBcImRhdGEtdHlwZVwiOiBcImluc2lkZVwiLFxuICAgIHJlZjogcG9ydGFsQ29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogcG9ydGFsQ29udGV4dC5hZnRlckluc2lkZVJlZixcbiAgICBvbkZvY3VzOiBldmVudCA9PiB7XG4gICAgICBpZiAobW9kYWwpIHtcbiAgICAgICAgZW5xdWV1ZUZvY3VzKGdldFRhYmJhYmxlRWxlbWVudHMoKVswXSk7XG4gICAgICB9IGVsc2UgaWYgKHBvcnRhbENvbnRleHQgIT0gbnVsbCAmJiBwb3J0YWxDb250ZXh0LnByZXNlcnZlVGFiT3JkZXIgJiYgcG9ydGFsQ29udGV4dC5wb3J0YWxOb2RlKSB7XG4gICAgICAgIGlmIChjbG9zZU9uRm9jdXNPdXQpIHtcbiAgICAgICAgICBwcmV2ZW50UmV0dXJuRm9jdXNSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzT3V0c2lkZUV2ZW50KGV2ZW50LCBwb3J0YWxDb250ZXh0LnBvcnRhbE5vZGUpKSB7XG4gICAgICAgICAgY29uc3QgcHJldlRhYmJhYmxlID0gZ2V0UHJldmlvdXNUYWJiYWJsZSgpIHx8IGRvbVJlZmVyZW5jZTtcbiAgICAgICAgICBwcmV2VGFiYmFibGUgPT0gbnVsbCB8fCBwcmV2VGFiYmFibGUuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgX3BvcnRhbENvbnRleHQkYWZ0ZXJPO1xuICAgICAgICAgIChfcG9ydGFsQ29udGV4dCRhZnRlck8gPSBwb3J0YWxDb250ZXh0LmFmdGVyT3V0c2lkZVJlZi5jdXJyZW50KSA9PSBudWxsIHx8IF9wb3J0YWxDb250ZXh0JGFmdGVyTy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KSk7XG59XG5cbmxldCBsb2NrQ291bnQgPSAwO1xuZnVuY3Rpb24gZW5hYmxlU2Nyb2xsTG9jaygpIHtcbiAgY29uc3QgaXNJT1MgPSAvaVAoaG9uZXxhZHxvZCl8aU9TLy50ZXN0KGdldFBsYXRmb3JtKCkpO1xuICBjb25zdCBib2R5U3R5bGUgPSBkb2N1bWVudC5ib2R5LnN0eWxlO1xuICAvLyBSVEwgPGJvZHk+IHNjcm9sbGJhclxuICBjb25zdCBzY3JvbGxiYXJYID0gTWF0aC5yb3VuZChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCkgKyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgY29uc3QgcGFkZGluZ1Byb3AgPSBzY3JvbGxiYXJYID8gJ3BhZGRpbmdMZWZ0JyA6ICdwYWRkaW5nUmlnaHQnO1xuICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuICBjb25zdCBzY3JvbGxYID0gYm9keVN0eWxlLmxlZnQgPyBwYXJzZUZsb2F0KGJvZHlTdHlsZS5sZWZ0KSA6IHdpbmRvdy5zY3JvbGxYO1xuICBjb25zdCBzY3JvbGxZID0gYm9keVN0eWxlLnRvcCA/IHBhcnNlRmxvYXQoYm9keVN0eWxlLnRvcCkgOiB3aW5kb3cuc2Nyb2xsWTtcbiAgYm9keVN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gIGlmIChzY3JvbGxiYXJXaWR0aCkge1xuICAgIGJvZHlTdHlsZVtwYWRkaW5nUHJvcF0gPSBzY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgfVxuXG4gIC8vIE9ubHkgaU9TIGRvZXNuJ3QgcmVzcGVjdCBgb3ZlcmZsb3c6IGhpZGRlbmAgb24gZG9jdW1lbnQuYm9keSwgYW5kIHRoaXNcbiAgLy8gdGVjaG5pcXVlIGhhcyBmZXdlciBzaWRlIGVmZmVjdHMuXG4gIGlmIChpc0lPUykge1xuICAgIHZhciBfd2luZG93JHZpc3VhbFZpZXdwb3IsIF93aW5kb3ckdmlzdWFsVmlld3BvcjI7XG4gICAgLy8gaU9TIDEyIGRvZXMgbm90IHN1cHBvcnQgYHZpc3VhbFZpZXdwb3J0YC5cbiAgICBjb25zdCBvZmZzZXRMZWZ0ID0gKChfd2luZG93JHZpc3VhbFZpZXdwb3IgPSB3aW5kb3cudmlzdWFsVmlld3BvcnQpID09IG51bGwgPyB2b2lkIDAgOiBfd2luZG93JHZpc3VhbFZpZXdwb3Iub2Zmc2V0TGVmdCkgfHwgMDtcbiAgICBjb25zdCBvZmZzZXRUb3AgPSAoKF93aW5kb3ckdmlzdWFsVmlld3BvcjIgPSB3aW5kb3cudmlzdWFsVmlld3BvcnQpID09IG51bGwgPyB2b2lkIDAgOiBfd2luZG93JHZpc3VhbFZpZXdwb3IyLm9mZnNldFRvcCkgfHwgMDtcbiAgICBPYmplY3QuYXNzaWduKGJvZHlTdHlsZSwge1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICB0b3A6IC0oc2Nyb2xsWSAtIE1hdGguZmxvb3Iob2Zmc2V0VG9wKSkgKyBcInB4XCIsXG4gICAgICBsZWZ0OiAtKHNjcm9sbFggLSBNYXRoLmZsb29yKG9mZnNldExlZnQpKSArIFwicHhcIixcbiAgICAgIHJpZ2h0OiAnMCdcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gKCkgPT4ge1xuICAgIE9iamVjdC5hc3NpZ24oYm9keVN0eWxlLCB7XG4gICAgICBvdmVyZmxvdzogJycsXG4gICAgICBbcGFkZGluZ1Byb3BdOiAnJ1xuICAgIH0pO1xuICAgIGlmIChpc0lPUykge1xuICAgICAgT2JqZWN0LmFzc2lnbihib2R5U3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246ICcnLFxuICAgICAgICB0b3A6ICcnLFxuICAgICAgICBsZWZ0OiAnJyxcbiAgICAgICAgcmlnaHQ6ICcnXG4gICAgICB9KTtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyhzY3JvbGxYLCBzY3JvbGxZKTtcbiAgICB9XG4gIH07XG59XG5sZXQgY2xlYW51cCA9ICgpID0+IHt9O1xuXG4vKipcbiAqIFByb3ZpZGVzIGJhc2Ugc3R5bGluZyBmb3IgYSBmaXhlZCBvdmVybGF5IGVsZW1lbnQgdG8gZGltIGNvbnRlbnQgb3IgYmxvY2tcbiAqIHBvaW50ZXIgZXZlbnRzIGJlaGluZCBhIGZsb2F0aW5nIGVsZW1lbnQuXG4gKiBJdCdzIGEgcmVndWxhciBgPGRpdj5gLCBzbyBpdCBjYW4gYmUgc3R5bGVkIHZpYSBhbnkgQ1NTIHNvbHV0aW9uIHlvdSBwcmVmZXIuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvRmxvYXRpbmdPdmVybGF5XG4gKi9cbmNvbnN0IEZsb2F0aW5nT3ZlcmxheSA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIEZsb2F0aW5nT3ZlcmxheShwcm9wcywgcmVmKSB7XG4gIGNvbnN0IHtcbiAgICBsb2NrU2Nyb2xsID0gZmFsc2UsXG4gICAgLi4ucmVzdFxuICB9ID0gcHJvcHM7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIWxvY2tTY3JvbGwpIHJldHVybjtcbiAgICBsb2NrQ291bnQrKztcbiAgICBpZiAobG9ja0NvdW50ID09PSAxKSB7XG4gICAgICBjbGVhbnVwID0gZW5hYmxlU2Nyb2xsTG9jaygpO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbG9ja0NvdW50LS07XG4gICAgICBpZiAobG9ja0NvdW50ID09PSAwKSB7XG4gICAgICAgIGNsZWFudXAoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbbG9ja1Njcm9sbF0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmXG4gIH0sIHJlc3QsIHtcbiAgICBzdHlsZToge1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgdG9wOiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgLi4ucmVzdC5zdHlsZVxuICAgIH1cbiAgfSkpO1xufSk7XG5cbmZ1bmN0aW9uIGlzQnV0dG9uVGFyZ2V0KGV2ZW50KSB7XG4gIHJldHVybiBpc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCkgJiYgZXZlbnQudGFyZ2V0LnRhZ05hbWUgPT09ICdCVVRUT04nO1xufVxuZnVuY3Rpb24gaXNTcGFjZUlnbm9yZWQoZWxlbWVudCkge1xuICByZXR1cm4gaXNUeXBlYWJsZUVsZW1lbnQoZWxlbWVudCk7XG59XG4vKipcbiAqIE9wZW5zIG9yIGNsb3NlcyB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIGNsaWNraW5nIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VDbGlja1xuICovXG5mdW5jdGlvbiB1c2VDbGljayhjb250ZXh0LCBwcm9wcykge1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGRhdGFSZWYsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIGRvbVJlZmVyZW5jZVxuICAgIH1cbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBldmVudDogZXZlbnRPcHRpb24gPSAnY2xpY2snLFxuICAgIHRvZ2dsZSA9IHRydWUsXG4gICAgaWdub3JlTW91c2UgPSBmYWxzZSxcbiAgICBrZXlib2FyZEhhbmRsZXJzID0gdHJ1ZSxcbiAgICBzdGlja0lmT3BlbiA9IHRydWVcbiAgfSA9IHByb3BzO1xuICBjb25zdCBwb2ludGVyVHlwZVJlZiA9IFJlYWN0LnVzZVJlZigpO1xuICBjb25zdCBkaWRLZXlEb3duUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgcmVmZXJlbmNlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIG9uUG9pbnRlckRvd24oZXZlbnQpIHtcbiAgICAgIHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPSBldmVudC5wb2ludGVyVHlwZTtcbiAgICB9LFxuICAgIG9uTW91c2VEb3duKGV2ZW50KSB7XG4gICAgICBjb25zdCBwb2ludGVyVHlwZSA9IHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQ7XG5cbiAgICAgIC8vIElnbm9yZSBhbGwgYnV0dG9ucyBleGNlcHQgZm9yIHRoZSBcIm1haW5cIiBidXR0b24uXG4gICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvTW91c2VFdmVudC9idXR0b25cbiAgICAgIGlmIChldmVudC5idXR0b24gIT09IDApIHJldHVybjtcbiAgICAgIGlmIChldmVudE9wdGlvbiA9PT0gJ2NsaWNrJykgcmV0dXJuO1xuICAgICAgaWYgKGlzTW91c2VMaWtlUG9pbnRlclR5cGUocG9pbnRlclR5cGUsIHRydWUpICYmIGlnbm9yZU1vdXNlKSByZXR1cm47XG4gICAgICBpZiAob3BlbiAmJiB0b2dnbGUgJiYgKGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQgJiYgc3RpY2tJZk9wZW4gPyBkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50LnR5cGUgPT09ICdtb3VzZWRvd24nIDogdHJ1ZSkpIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ2NsaWNrJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBQcmV2ZW50IHN0ZWFsaW5nIGZvY3VzIGZyb20gdGhlIGZsb2F0aW5nIGVsZW1lbnRcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25PcGVuQ2hhbmdlKHRydWUsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uQ2xpY2soZXZlbnQpIHtcbiAgICAgIGNvbnN0IHBvaW50ZXJUeXBlID0gcG9pbnRlclR5cGVSZWYuY3VycmVudDtcbiAgICAgIGlmIChldmVudE9wdGlvbiA9PT0gJ21vdXNlZG93bicgJiYgcG9pbnRlclR5cGVSZWYuY3VycmVudCkge1xuICAgICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaXNNb3VzZUxpa2VQb2ludGVyVHlwZShwb2ludGVyVHlwZSwgdHJ1ZSkgJiYgaWdub3JlTW91c2UpIHJldHVybjtcbiAgICAgIGlmIChvcGVuICYmIHRvZ2dsZSAmJiAoZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudCAmJiBzdGlja0lmT3BlbiA/IGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQudHlwZSA9PT0gJ2NsaWNrJyA6IHRydWUpKSB7XG4gICAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQubmF0aXZlRXZlbnQsICdjbGljaycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKHRydWUsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uS2V5RG93bihldmVudCkge1xuICAgICAgcG9pbnRlclR5cGVSZWYuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkIHx8ICFrZXlib2FyZEhhbmRsZXJzIHx8IGlzQnV0dG9uVGFyZ2V0KGV2ZW50KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnICcgJiYgIWlzU3BhY2VJZ25vcmVkKGRvbVJlZmVyZW5jZSkpIHtcbiAgICAgICAgLy8gUHJldmVudCBzY3JvbGxpbmdcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZGlkS2V5RG93blJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgdG9nZ2xlKSB7XG4gICAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25PcGVuQ2hhbmdlKHRydWUsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgb25LZXlVcChldmVudCkge1xuICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHwgIWtleWJvYXJkSGFuZGxlcnMgfHwgaXNCdXR0b25UYXJnZXQoZXZlbnQpIHx8IGlzU3BhY2VJZ25vcmVkKGRvbVJlZmVyZW5jZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJyAnICYmIGRpZEtleURvd25SZWYuY3VycmVudCkge1xuICAgICAgICBkaWRLZXlEb3duUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgaWYgKG9wZW4gJiYgdG9nZ2xlKSB7XG4gICAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25PcGVuQ2hhbmdlKHRydWUsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnY2xpY2snKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSksIFtkYXRhUmVmLCBkb21SZWZlcmVuY2UsIGV2ZW50T3B0aW9uLCBpZ25vcmVNb3VzZSwga2V5Ym9hcmRIYW5kbGVycywgb25PcGVuQ2hhbmdlLCBvcGVuLCBzdGlja0lmT3BlbiwgdG9nZ2xlXSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IGVuYWJsZWQgPyB7XG4gICAgcmVmZXJlbmNlXG4gIH0gOiB7fSwgW2VuYWJsZWQsIHJlZmVyZW5jZV0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVWaXJ0dWFsRWxlbWVudChkb21FbGVtZW50LCBkYXRhKSB7XG4gIGxldCBvZmZzZXRYID0gbnVsbDtcbiAgbGV0IG9mZnNldFkgPSBudWxsO1xuICBsZXQgaXNBdXRvVXBkYXRlRXZlbnQgPSBmYWxzZTtcbiAgcmV0dXJuIHtcbiAgICBjb250ZXh0RWxlbWVudDogZG9tRWxlbWVudCB8fCB1bmRlZmluZWQsXG4gICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgICAgdmFyIF9kYXRhJGRhdGFSZWYkY3VycmVudDtcbiAgICAgIGNvbnN0IGRvbVJlY3QgPSAoZG9tRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogZG9tRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkgfHwge1xuICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICB4OiAwLFxuICAgICAgICB5OiAwXG4gICAgICB9O1xuICAgICAgY29uc3QgaXNYQXhpcyA9IGRhdGEuYXhpcyA9PT0gJ3gnIHx8IGRhdGEuYXhpcyA9PT0gJ2JvdGgnO1xuICAgICAgY29uc3QgaXNZQXhpcyA9IGRhdGEuYXhpcyA9PT0gJ3knIHx8IGRhdGEuYXhpcyA9PT0gJ2JvdGgnO1xuICAgICAgY29uc3QgY2FuVHJhY2tDdXJzb3JPbkF1dG9VcGRhdGUgPSBbJ21vdXNlZW50ZXInLCAnbW91c2Vtb3ZlJ10uaW5jbHVkZXMoKChfZGF0YSRkYXRhUmVmJGN1cnJlbnQgPSBkYXRhLmRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YSRkYXRhUmVmJGN1cnJlbnQudHlwZSkgfHwgJycpICYmIGRhdGEucG9pbnRlclR5cGUgIT09ICd0b3VjaCc7XG4gICAgICBsZXQgd2lkdGggPSBkb21SZWN0LndpZHRoO1xuICAgICAgbGV0IGhlaWdodCA9IGRvbVJlY3QuaGVpZ2h0O1xuICAgICAgbGV0IHggPSBkb21SZWN0Lng7XG4gICAgICBsZXQgeSA9IGRvbVJlY3QueTtcbiAgICAgIGlmIChvZmZzZXRYID09IG51bGwgJiYgZGF0YS54ICYmIGlzWEF4aXMpIHtcbiAgICAgICAgb2Zmc2V0WCA9IGRvbVJlY3QueCAtIGRhdGEueDtcbiAgICAgIH1cbiAgICAgIGlmIChvZmZzZXRZID09IG51bGwgJiYgZGF0YS55ICYmIGlzWUF4aXMpIHtcbiAgICAgICAgb2Zmc2V0WSA9IGRvbVJlY3QueSAtIGRhdGEueTtcbiAgICAgIH1cbiAgICAgIHggLT0gb2Zmc2V0WCB8fCAwO1xuICAgICAgeSAtPSBvZmZzZXRZIHx8IDA7XG4gICAgICB3aWR0aCA9IDA7XG4gICAgICBoZWlnaHQgPSAwO1xuICAgICAgaWYgKCFpc0F1dG9VcGRhdGVFdmVudCB8fCBjYW5UcmFja0N1cnNvck9uQXV0b1VwZGF0ZSkge1xuICAgICAgICB3aWR0aCA9IGRhdGEuYXhpcyA9PT0gJ3knID8gZG9tUmVjdC53aWR0aCA6IDA7XG4gICAgICAgIGhlaWdodCA9IGRhdGEuYXhpcyA9PT0gJ3gnID8gZG9tUmVjdC5oZWlnaHQgOiAwO1xuICAgICAgICB4ID0gaXNYQXhpcyAmJiBkYXRhLnggIT0gbnVsbCA/IGRhdGEueCA6IHg7XG4gICAgICAgIHkgPSBpc1lBeGlzICYmIGRhdGEueSAhPSBudWxsID8gZGF0YS55IDogeTtcbiAgICAgIH0gZWxzZSBpZiAoaXNBdXRvVXBkYXRlRXZlbnQgJiYgIWNhblRyYWNrQ3Vyc29yT25BdXRvVXBkYXRlKSB7XG4gICAgICAgIGhlaWdodCA9IGRhdGEuYXhpcyA9PT0gJ3gnID8gZG9tUmVjdC5oZWlnaHQgOiBoZWlnaHQ7XG4gICAgICAgIHdpZHRoID0gZGF0YS5heGlzID09PSAneScgPyBkb21SZWN0LndpZHRoIDogd2lkdGg7XG4gICAgICB9XG4gICAgICBpc0F1dG9VcGRhdGVFdmVudCA9IHRydWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB0b3A6IHksXG4gICAgICAgIHJpZ2h0OiB4ICsgd2lkdGgsXG4gICAgICAgIGJvdHRvbTogeSArIGhlaWdodCxcbiAgICAgICAgbGVmdDogeFxuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiBpc01vdXNlQmFzZWRFdmVudChldmVudCkge1xuICByZXR1cm4gZXZlbnQgIT0gbnVsbCAmJiBldmVudC5jbGllbnRYICE9IG51bGw7XG59XG4vKipcbiAqIFBvc2l0aW9ucyB0aGUgZmxvYXRpbmcgZWxlbWVudCByZWxhdGl2ZSB0byBhIGNsaWVudCBwb2ludCAoaW4gdGhlIHZpZXdwb3J0KSxcbiAqIHN1Y2ggYXMgdGhlIG1vdXNlIHBvc2l0aW9uLiBCeSBkZWZhdWx0LCBpdCBmb2xsb3dzIHRoZSBtb3VzZSBjdXJzb3IuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlQ2xpZW50UG9pbnRcbiAqL1xuZnVuY3Rpb24gdXNlQ2xpZW50UG9pbnQoY29udGV4dCwgcHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIGRhdGFSZWYsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIGZsb2F0aW5nLFxuICAgICAgZG9tUmVmZXJlbmNlXG4gICAgfSxcbiAgICByZWZzXG4gIH0gPSBjb250ZXh0O1xuICBjb25zdCB7XG4gICAgZW5hYmxlZCA9IHRydWUsXG4gICAgYXhpcyA9ICdib3RoJyxcbiAgICB4ID0gbnVsbCxcbiAgICB5ID0gbnVsbFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGluaXRpYWxSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCBjbGVhbnVwTGlzdGVuZXJSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtwb2ludGVyVHlwZSwgc2V0UG9pbnRlclR5cGVdID0gUmVhY3QudXNlU3RhdGUoKTtcbiAgY29uc3QgW3JlYWN0aXZlLCBzZXRSZWFjdGl2ZV0gPSBSZWFjdC51c2VTdGF0ZShbXSk7XG4gIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUVmZmVjdEV2ZW50KCh4LCB5KSA9PiB7XG4gICAgaWYgKGluaXRpYWxSZWYuY3VycmVudCkgcmV0dXJuO1xuXG4gICAgLy8gUHJldmVudCBzZXR0aW5nIGlmIHRoZSBvcGVuIGV2ZW50IHdhcyBub3QgYSBtb3VzZS1saWtlIG9uZVxuICAgIC8vIChlLmcuIGZvY3VzIHRvIG9wZW4sIHRoZW4gaG92ZXIgb3ZlciB0aGUgcmVmZXJlbmNlIGVsZW1lbnQpLlxuICAgIC8vIE9ubHkgYXBwbHkgaWYgdGhlIGV2ZW50IGV4aXN0cy5cbiAgICBpZiAoZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudCAmJiAhaXNNb3VzZUJhc2VkRXZlbnQoZGF0YVJlZi5jdXJyZW50Lm9wZW5FdmVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmVmcy5zZXRQb3NpdGlvblJlZmVyZW5jZShjcmVhdGVWaXJ0dWFsRWxlbWVudChkb21SZWZlcmVuY2UsIHtcbiAgICAgIHgsXG4gICAgICB5LFxuICAgICAgYXhpcyxcbiAgICAgIGRhdGFSZWYsXG4gICAgICBwb2ludGVyVHlwZVxuICAgIH0pKTtcbiAgfSk7XG4gIGNvbnN0IGhhbmRsZVJlZmVyZW5jZUVudGVyT3JNb3ZlID0gdXNlRWZmZWN0RXZlbnQoZXZlbnQgPT4ge1xuICAgIGlmICh4ICE9IG51bGwgfHwgeSAhPSBudWxsKSByZXR1cm47XG4gICAgaWYgKCFvcGVuKSB7XG4gICAgICBzZXRSZWZlcmVuY2UoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7XG4gICAgfSBlbHNlIGlmICghY2xlYW51cExpc3RlbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gY2xlYW51cCwgdGhlcmUncyBubyBsaXN0ZW5lciwgYnV0IHdlIHdhbnQgdG8gZW5zdXJlXG4gICAgICAvLyB3ZSBhZGQgdGhlIGxpc3RlbmVyIGlmIHRoZSBjdXJzb3IgbGFuZGVkIG9uIHRoZSBmbG9hdGluZyBlbGVtZW50IGFuZFxuICAgICAgLy8gdGhlbiBiYWNrIG9uIHRoZSByZWZlcmVuY2UgKGkuZS4gaXQncyBpbnRlcmFjdGl2ZSkuXG4gICAgICBzZXRSZWFjdGl2ZShbXSk7XG4gICAgfVxuICB9KTtcblxuICAvLyBJZiB0aGUgcG9pbnRlciBpcyBhIG1vdXNlLWxpa2UgcG9pbnRlciwgd2Ugd2FudCB0byBjb250aW51ZSBmb2xsb3dpbmcgdGhlXG4gIC8vIG1vdXNlIGV2ZW4gaWYgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXMgdHJhbnNpdGlvbmluZyBvdXQuIE9uIHRvdWNoXG4gIC8vIGRldmljZXMsIHRoaXMgaXMgdW5kZXNpcmFibGUgYmVjYXVzZSB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aWxsIG1vdmUgdG9cbiAgLy8gdGhlIGRpc21pc3NhbCB0b3VjaCBwb2ludC5cbiAgY29uc3Qgb3BlbkNoZWNrID0gaXNNb3VzZUxpa2VQb2ludGVyVHlwZShwb2ludGVyVHlwZSkgPyBmbG9hdGluZyA6IG9wZW47XG4gIGNvbnN0IGFkZExpc3RlbmVyID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIC8vIEV4cGxpY2l0bHkgc3BlY2lmaWVkIGB4YC9geWAgY29vcmRpbmF0ZXMgc2hvdWxkbid0IGFkZCBhIGxpc3RlbmVyLlxuICAgIGlmICghb3BlbkNoZWNrIHx8ICFlbmFibGVkIHx8IHggIT0gbnVsbCB8fCB5ICE9IG51bGwpIHJldHVybjtcbiAgICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZmxvYXRpbmcpO1xuICAgIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZShldmVudCkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGV2ZW50KTtcbiAgICAgIGlmICghY29udGFpbnMoZmxvYXRpbmcsIHRhcmdldCkpIHtcbiAgICAgICAgc2V0UmVmZXJlbmNlKGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGhhbmRsZU1vdXNlTW92ZSk7XG4gICAgICAgIGNsZWFudXBMaXN0ZW5lclJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50IHx8IGlzTW91c2VCYXNlZEV2ZW50KGRhdGFSZWYuY3VycmVudC5vcGVuRXZlbnQpKSB7XG4gICAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgaGFuZGxlTW91c2VNb3ZlKTtcbiAgICAgIGNvbnN0IGNsZWFudXAgPSAoKSA9PiB7XG4gICAgICAgIHdpbi5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBoYW5kbGVNb3VzZU1vdmUpO1xuICAgICAgICBjbGVhbnVwTGlzdGVuZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9O1xuICAgICAgY2xlYW51cExpc3RlbmVyUmVmLmN1cnJlbnQgPSBjbGVhbnVwO1xuICAgICAgcmV0dXJuIGNsZWFudXA7XG4gICAgfVxuICAgIHJlZnMuc2V0UG9zaXRpb25SZWZlcmVuY2UoZG9tUmVmZXJlbmNlKTtcbiAgfSwgW29wZW5DaGVjaywgZW5hYmxlZCwgeCwgeSwgZmxvYXRpbmcsIGRhdGFSZWYsIHJlZnMsIGRvbVJlZmVyZW5jZSwgc2V0UmVmZXJlbmNlXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGFkZExpc3RlbmVyKCk7XG4gIH0sIFthZGRMaXN0ZW5lciwgcmVhY3RpdmVdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW5hYmxlZCAmJiAhZmxvYXRpbmcpIHtcbiAgICAgIGluaXRpYWxSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH1cbiAgfSwgW2VuYWJsZWQsIGZsb2F0aW5nXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkICYmIG9wZW4pIHtcbiAgICAgIGluaXRpYWxSZWYuY3VycmVudCA9IHRydWU7XG4gICAgfVxuICB9LCBbZW5hYmxlZCwgb3Blbl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGVuYWJsZWQgJiYgKHggIT0gbnVsbCB8fCB5ICE9IG51bGwpKSB7XG4gICAgICBpbml0aWFsUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIHNldFJlZmVyZW5jZSh4LCB5KTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCB4LCB5LCBzZXRSZWZlcmVuY2VdKTtcbiAgY29uc3QgcmVmZXJlbmNlID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgZnVuY3Rpb24gc2V0UG9pbnRlclR5cGVSZWYoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgcG9pbnRlclR5cGVcbiAgICAgIH0gPSBfcmVmO1xuICAgICAgc2V0UG9pbnRlclR5cGUocG9pbnRlclR5cGUpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgb25Qb2ludGVyRG93bjogc2V0UG9pbnRlclR5cGVSZWYsXG4gICAgICBvblBvaW50ZXJFbnRlcjogc2V0UG9pbnRlclR5cGVSZWYsXG4gICAgICBvbk1vdXNlTW92ZTogaGFuZGxlUmVmZXJlbmNlRW50ZXJPck1vdmUsXG4gICAgICBvbk1vdXNlRW50ZXI6IGhhbmRsZVJlZmVyZW5jZUVudGVyT3JNb3ZlXG4gICAgfTtcbiAgfSwgW2hhbmRsZVJlZmVyZW5jZUVudGVyT3JNb3ZlXSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IGVuYWJsZWQgPyB7XG4gICAgcmVmZXJlbmNlXG4gIH0gOiB7fSwgW2VuYWJsZWQsIHJlZmVyZW5jZV0pO1xufVxuXG5jb25zdCBidWJibGVIYW5kbGVyS2V5cyA9IHtcbiAgcG9pbnRlcmRvd246ICdvblBvaW50ZXJEb3duJyxcbiAgbW91c2Vkb3duOiAnb25Nb3VzZURvd24nLFxuICBjbGljazogJ29uQ2xpY2snXG59O1xuY29uc3QgY2FwdHVyZUhhbmRsZXJLZXlzID0ge1xuICBwb2ludGVyZG93bjogJ29uUG9pbnRlckRvd25DYXB0dXJlJyxcbiAgbW91c2Vkb3duOiAnb25Nb3VzZURvd25DYXB0dXJlJyxcbiAgY2xpY2s6ICdvbkNsaWNrQ2FwdHVyZSdcbn07XG5jb25zdCBub3JtYWxpemVQcm9wID0gbm9ybWFsaXphYmxlID0+IHtcbiAgdmFyIF9ub3JtYWxpemFibGUkZXNjYXBlSywgX25vcm1hbGl6YWJsZSRvdXRzaWRlO1xuICByZXR1cm4ge1xuICAgIGVzY2FwZUtleTogdHlwZW9mIG5vcm1hbGl6YWJsZSA9PT0gJ2Jvb2xlYW4nID8gbm9ybWFsaXphYmxlIDogKF9ub3JtYWxpemFibGUkZXNjYXBlSyA9IG5vcm1hbGl6YWJsZSA9PSBudWxsID8gdm9pZCAwIDogbm9ybWFsaXphYmxlLmVzY2FwZUtleSkgIT0gbnVsbCA/IF9ub3JtYWxpemFibGUkZXNjYXBlSyA6IGZhbHNlLFxuICAgIG91dHNpZGVQcmVzczogdHlwZW9mIG5vcm1hbGl6YWJsZSA9PT0gJ2Jvb2xlYW4nID8gbm9ybWFsaXphYmxlIDogKF9ub3JtYWxpemFibGUkb3V0c2lkZSA9IG5vcm1hbGl6YWJsZSA9PSBudWxsID8gdm9pZCAwIDogbm9ybWFsaXphYmxlLm91dHNpZGVQcmVzcykgIT0gbnVsbCA/IF9ub3JtYWxpemFibGUkb3V0c2lkZSA6IHRydWVcbiAgfTtcbn07XG4vKipcbiAqIENsb3NlcyB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIGEgZGlzbWlzc2FsIGlzIHJlcXVlc3RlZCDigJQgYnkgZGVmYXVsdCwgd2hlblxuICogdGhlIHVzZXIgcHJlc3NlcyB0aGUgYGVzY2FwZWAga2V5IG9yIG91dHNpZGUgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlRGlzbWlzc1xuICovXG5mdW5jdGlvbiB1c2VEaXNtaXNzKGNvbnRleHQsIHByb3BzKSB7XG4gIGlmIChwcm9wcyA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgZWxlbWVudHMsXG4gICAgZGF0YVJlZlxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIGVzY2FwZUtleSA9IHRydWUsXG4gICAgb3V0c2lkZVByZXNzOiB1bnN0YWJsZV9vdXRzaWRlUHJlc3MgPSB0cnVlLFxuICAgIG91dHNpZGVQcmVzc0V2ZW50ID0gJ3BvaW50ZXJkb3duJyxcbiAgICByZWZlcmVuY2VQcmVzcyA9IGZhbHNlLFxuICAgIHJlZmVyZW5jZVByZXNzRXZlbnQgPSAncG9pbnRlcmRvd24nLFxuICAgIGFuY2VzdG9yU2Nyb2xsID0gZmFsc2UsXG4gICAgYnViYmxlcyxcbiAgICBjYXB0dXJlXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgdHJlZSA9IHVzZUZsb2F0aW5nVHJlZSgpO1xuICBjb25zdCBvdXRzaWRlUHJlc3NGbiA9IHVzZUVmZmVjdEV2ZW50KHR5cGVvZiB1bnN0YWJsZV9vdXRzaWRlUHJlc3MgPT09ICdmdW5jdGlvbicgPyB1bnN0YWJsZV9vdXRzaWRlUHJlc3MgOiAoKSA9PiBmYWxzZSk7XG4gIGNvbnN0IG91dHNpZGVQcmVzcyA9IHR5cGVvZiB1bnN0YWJsZV9vdXRzaWRlUHJlc3MgPT09ICdmdW5jdGlvbicgPyBvdXRzaWRlUHJlc3NGbiA6IHVuc3RhYmxlX291dHNpZGVQcmVzcztcbiAgY29uc3QgaW5zaWRlUmVhY3RUcmVlUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZW5kZWRPclN0YXJ0ZWRJbnNpZGVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCB7XG4gICAgZXNjYXBlS2V5OiBlc2NhcGVLZXlCdWJibGVzLFxuICAgIG91dHNpZGVQcmVzczogb3V0c2lkZVByZXNzQnViYmxlc1xuICB9ID0gbm9ybWFsaXplUHJvcChidWJibGVzKTtcbiAgY29uc3Qge1xuICAgIGVzY2FwZUtleTogZXNjYXBlS2V5Q2FwdHVyZSxcbiAgICBvdXRzaWRlUHJlc3M6IG91dHNpZGVQcmVzc0NhcHR1cmVcbiAgfSA9IG5vcm1hbGl6ZVByb3AoY2FwdHVyZSk7XG4gIGNvbnN0IGlzQ29tcG9zaW5nUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgY2xvc2VPbkVzY2FwZUtleURvd24gPSB1c2VFZmZlY3RFdmVudChldmVudCA9PiB7XG4gICAgdmFyIF9kYXRhUmVmJGN1cnJlbnQkZmxvYTtcbiAgICBpZiAoIW9wZW4gfHwgIWVuYWJsZWQgfHwgIWVzY2FwZUtleSB8fCBldmVudC5rZXkgIT09ICdFc2NhcGUnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gV2FpdCB1bnRpbCBJTUUgaXMgc2V0dGxlZC4gUHJlc3NpbmcgYEVzY2FwZWAgd2hpbGUgY29tcG9zaW5nIHNob3VsZFxuICAgIC8vIGNsb3NlIHRoZSBjb21wb3NlIG1lbnUsIGJ1dCBub3QgdGhlIGZsb2F0aW5nIGVsZW1lbnQuXG4gICAgaWYgKGlzQ29tcG9zaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm9kZUlkID0gKF9kYXRhUmVmJGN1cnJlbnQkZmxvYSA9IGRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YVJlZiRjdXJyZW50JGZsb2Eubm9kZUlkO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdHJlZSA/IGdldENoaWxkcmVuKHRyZWUubm9kZXNSZWYuY3VycmVudCwgbm9kZUlkKSA6IFtdO1xuICAgIGlmICghZXNjYXBlS2V5QnViYmxlcykge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgc2hvdWxkRGlzbWlzcyA9IHRydWU7XG4gICAgICAgIGNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgIHZhciBfY2hpbGQkY29udGV4dDtcbiAgICAgICAgICBpZiAoKF9jaGlsZCRjb250ZXh0ID0gY2hpbGQuY29udGV4dCkgIT0gbnVsbCAmJiBfY2hpbGQkY29udGV4dC5vcGVuICYmICFjaGlsZC5jb250ZXh0LmRhdGFSZWYuY3VycmVudC5fX2VzY2FwZUtleUJ1YmJsZXMpIHtcbiAgICAgICAgICAgIHNob3VsZERpc21pc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXNob3VsZERpc21pc3MpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBpc1JlYWN0RXZlbnQoZXZlbnQpID8gZXZlbnQubmF0aXZlRXZlbnQgOiBldmVudCwgJ2VzY2FwZS1rZXknKTtcbiAgfSk7XG4gIGNvbnN0IGNsb3NlT25Fc2NhcGVLZXlEb3duQ2FwdHVyZSA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICB2YXIgX2dldFRhcmdldDI7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICB2YXIgX2dldFRhcmdldDtcbiAgICAgIGNsb3NlT25Fc2NhcGVLZXlEb3duKGV2ZW50KTtcbiAgICAgIChfZ2V0VGFyZ2V0ID0gZ2V0VGFyZ2V0KGV2ZW50KSkgPT0gbnVsbCB8fCBfZ2V0VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBjYWxsYmFjayk7XG4gICAgfTtcbiAgICAoX2dldFRhcmdldDIgPSBnZXRUYXJnZXQoZXZlbnQpKSA9PSBudWxsIHx8IF9nZXRUYXJnZXQyLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBjYWxsYmFjayk7XG4gIH0pO1xuICBjb25zdCBjbG9zZU9uUHJlc3NPdXRzaWRlID0gdXNlRWZmZWN0RXZlbnQoZXZlbnQgPT4ge1xuICAgIHZhciBfZGF0YVJlZiRjdXJyZW50JGZsb2EyO1xuICAgIC8vIEdpdmVuIGRldmVsb3BlcnMgY2FuIHN0b3AgdGhlIHByb3BhZ2F0aW9uIG9mIHRoZSBzeW50aGV0aWMgZXZlbnQsXG4gICAgLy8gd2UgY2FuIG9ubHkgYmUgY29uZmlkZW50IHdpdGggYSBwb3NpdGl2ZSB2YWx1ZS5cbiAgICBjb25zdCBpbnNpZGVSZWFjdFRyZWUgPSBpbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudDtcbiAgICBpbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IGZhbHNlO1xuXG4gICAgLy8gV2hlbiBjbGljayBvdXRzaWRlIGlzIGxhenkgKGBjbGlja2AgZXZlbnQpLCBoYW5kbGUgZHJhZ2dpbmcuXG4gICAgLy8gRG9uJ3QgY2xvc2UgaWY6XG4gICAgLy8gLSBUaGUgY2xpY2sgc3RhcnRlZCBpbnNpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQuXG4gICAgLy8gLSBUaGUgY2xpY2sgZW5kZWQgaW5zaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50LlxuICAgIGNvbnN0IGVuZGVkT3JTdGFydGVkSW5zaWRlID0gZW5kZWRPclN0YXJ0ZWRJbnNpZGVSZWYuY3VycmVudDtcbiAgICBlbmRlZE9yU3RhcnRlZEluc2lkZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgaWYgKG91dHNpZGVQcmVzc0V2ZW50ID09PSAnY2xpY2snICYmIGVuZGVkT3JTdGFydGVkSW5zaWRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpbnNpZGVSZWFjdFRyZWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvdXRzaWRlUHJlc3MgPT09ICdmdW5jdGlvbicgJiYgIW91dHNpZGVQcmVzcyhldmVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGV2ZW50KTtcbiAgICBjb25zdCBpbmVydFNlbGVjdG9yID0gXCJbXCIgKyBjcmVhdGVBdHRyaWJ1dGUoJ2luZXJ0JykgKyBcIl1cIjtcbiAgICBjb25zdCBtYXJrZXJzID0gZ2V0RG9jdW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpLnF1ZXJ5U2VsZWN0b3JBbGwoaW5lcnRTZWxlY3Rvcik7XG4gICAgbGV0IHRhcmdldFJvb3RBbmNlc3RvciA9IGlzRWxlbWVudCh0YXJnZXQpID8gdGFyZ2V0IDogbnVsbDtcbiAgICB3aGlsZSAodGFyZ2V0Um9vdEFuY2VzdG9yICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUodGFyZ2V0Um9vdEFuY2VzdG9yKSkge1xuICAgICAgY29uc3QgbmV4dFBhcmVudCA9IGdldFBhcmVudE5vZGUodGFyZ2V0Um9vdEFuY2VzdG9yKTtcbiAgICAgIGlmIChpc0xhc3RUcmF2ZXJzYWJsZU5vZGUobmV4dFBhcmVudCkgfHwgIWlzRWxlbWVudChuZXh0UGFyZW50KSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHRhcmdldFJvb3RBbmNlc3RvciA9IG5leHRQYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIG9jY3VycmVkIG9uIGEgdGhpcmQtcGFydHkgZWxlbWVudCBpbmplY3RlZCBhZnRlciB0aGVcbiAgICAvLyBmbG9hdGluZyBlbGVtZW50IHJlbmRlcmVkLlxuICAgIGlmIChtYXJrZXJzLmxlbmd0aCAmJiBpc0VsZW1lbnQodGFyZ2V0KSAmJiAhaXNSb290RWxlbWVudCh0YXJnZXQpICYmXG4gICAgLy8gQ2xpY2tlZCBvbiBhIGRpcmVjdCBhbmNlc3RvciAoZS5nLiBGbG9hdGluZ092ZXJsYXkpLlxuICAgICFjb250YWlucyh0YXJnZXQsIGVsZW1lbnRzLmZsb2F0aW5nKSAmJlxuICAgIC8vIElmIHRoZSB0YXJnZXQgcm9vdCBlbGVtZW50IGNvbnRhaW5zIG5vbmUgb2YgdGhlIG1hcmtlcnMsIHRoZW4gdGhlXG4gICAgLy8gZWxlbWVudCB3YXMgaW5qZWN0ZWQgYWZ0ZXIgdGhlIGZsb2F0aW5nIGVsZW1lbnQgcmVuZGVyZWQuXG4gICAgQXJyYXkuZnJvbShtYXJrZXJzKS5ldmVyeShtYXJrZXIgPT4gIWNvbnRhaW5zKHRhcmdldFJvb3RBbmNlc3RvciwgbWFya2VyKSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgb2NjdXJyZWQgb24gdGhlIHNjcm9sbGJhclxuICAgIGlmIChpc0hUTUxFbGVtZW50KHRhcmdldCkgJiYgZmxvYXRpbmcpIHtcbiAgICAgIC8vIEluIEZpcmVmb3gsIGB0YXJnZXQuc2Nyb2xsV2lkdGggPiB0YXJnZXQuY2xpZW50V2lkdGhgIGZvciBpbmxpbmVcbiAgICAgIC8vIGVsZW1lbnRzLlxuICAgICAgY29uc3QgY2FuU2Nyb2xsWCA9IHRhcmdldC5jbGllbnRXaWR0aCA+IDAgJiYgdGFyZ2V0LnNjcm9sbFdpZHRoID4gdGFyZ2V0LmNsaWVudFdpZHRoO1xuICAgICAgY29uc3QgY2FuU2Nyb2xsWSA9IHRhcmdldC5jbGllbnRIZWlnaHQgPiAwICYmIHRhcmdldC5zY3JvbGxIZWlnaHQgPiB0YXJnZXQuY2xpZW50SGVpZ2h0O1xuICAgICAgbGV0IHhDb25kID0gY2FuU2Nyb2xsWSAmJiBldmVudC5vZmZzZXRYID4gdGFyZ2V0LmNsaWVudFdpZHRoO1xuXG4gICAgICAvLyBJbiBzb21lIGJyb3dzZXJzIGl0IGlzIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUgPGJvZHk+IChvciB3aW5kb3cpXG4gICAgICAvLyBzY3JvbGxiYXIgdG8gdGhlIGxlZnQgc2lkZSwgYnV0IGlzIHZlcnkgcmFyZSBhbmQgaXMgZGlmZmljdWx0IHRvXG4gICAgICAvLyBjaGVjayBmb3IuIFBsdXMsIGZvciBtb2RhbCBkaWFsb2dzIHdpdGggYmFja2Ryb3BzLCBpdCBpcyBtb3JlXG4gICAgICAvLyBpbXBvcnRhbnQgdGhhdCB0aGUgYmFja2Ryb3AgaXMgY2hlY2tlZCBidXQgbm90IHNvIG11Y2ggdGhlIHdpbmRvdy5cbiAgICAgIGlmIChjYW5TY3JvbGxZKSB7XG4gICAgICAgIGNvbnN0IGlzUlRMID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XG4gICAgICAgIGlmIChpc1JUTCkge1xuICAgICAgICAgIHhDb25kID0gZXZlbnQub2Zmc2V0WCA8PSB0YXJnZXQub2Zmc2V0V2lkdGggLSB0YXJnZXQuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh4Q29uZCB8fCBjYW5TY3JvbGxYICYmIGV2ZW50Lm9mZnNldFkgPiB0YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgbm9kZUlkID0gKF9kYXRhUmVmJGN1cnJlbnQkZmxvYTIgPSBkYXRhUmVmLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2RhdGFSZWYkY3VycmVudCRmbG9hMi5ub2RlSWQ7XG4gICAgY29uc3QgdGFyZ2V0SXNJbnNpZGVDaGlsZHJlbiA9IHRyZWUgJiYgZ2V0Q2hpbGRyZW4odHJlZS5ub2Rlc1JlZi5jdXJyZW50LCBub2RlSWQpLnNvbWUobm9kZSA9PiB7XG4gICAgICB2YXIgX25vZGUkY29udGV4dDtcbiAgICAgIHJldHVybiBpc0V2ZW50VGFyZ2V0V2l0aGluKGV2ZW50LCAoX25vZGUkY29udGV4dCA9IG5vZGUuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlJGNvbnRleHQuZWxlbWVudHMuZmxvYXRpbmcpO1xuICAgIH0pO1xuICAgIGlmIChpc0V2ZW50VGFyZ2V0V2l0aGluKGV2ZW50LCBlbGVtZW50cy5mbG9hdGluZykgfHwgaXNFdmVudFRhcmdldFdpdGhpbihldmVudCwgZWxlbWVudHMuZG9tUmVmZXJlbmNlKSB8fCB0YXJnZXRJc0luc2lkZUNoaWxkcmVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkcmVuID0gdHJlZSA/IGdldENoaWxkcmVuKHRyZWUubm9kZXNSZWYuY3VycmVudCwgbm9kZUlkKSA6IFtdO1xuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgc2hvdWxkRGlzbWlzcyA9IHRydWU7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgdmFyIF9jaGlsZCRjb250ZXh0MjtcbiAgICAgICAgaWYgKChfY2hpbGQkY29udGV4dDIgPSBjaGlsZC5jb250ZXh0KSAhPSBudWxsICYmIF9jaGlsZCRjb250ZXh0Mi5vcGVuICYmICFjaGlsZC5jb250ZXh0LmRhdGFSZWYuY3VycmVudC5fX291dHNpZGVQcmVzc0J1YmJsZXMpIHtcbiAgICAgICAgICBzaG91bGREaXNtaXNzID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICghc2hvdWxkRGlzbWlzcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQsICdvdXRzaWRlLXByZXNzJyk7XG4gIH0pO1xuICBjb25zdCBjbG9zZU9uUHJlc3NPdXRzaWRlQ2FwdHVyZSA9IHVzZUVmZmVjdEV2ZW50KGV2ZW50ID0+IHtcbiAgICB2YXIgX2dldFRhcmdldDQ7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICB2YXIgX2dldFRhcmdldDM7XG4gICAgICBjbG9zZU9uUHJlc3NPdXRzaWRlKGV2ZW50KTtcbiAgICAgIChfZ2V0VGFyZ2V0MyA9IGdldFRhcmdldChldmVudCkpID09IG51bGwgfHwgX2dldFRhcmdldDMucmVtb3ZlRXZlbnRMaXN0ZW5lcihvdXRzaWRlUHJlc3NFdmVudCwgY2FsbGJhY2spO1xuICAgIH07XG4gICAgKF9nZXRUYXJnZXQ0ID0gZ2V0VGFyZ2V0KGV2ZW50KSkgPT0gbnVsbCB8fCBfZ2V0VGFyZ2V0NC5hZGRFdmVudExpc3RlbmVyKG91dHNpZGVQcmVzc0V2ZW50LCBjYWxsYmFjayk7XG4gIH0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkYXRhUmVmLmN1cnJlbnQuX19lc2NhcGVLZXlCdWJibGVzID0gZXNjYXBlS2V5QnViYmxlcztcbiAgICBkYXRhUmVmLmN1cnJlbnQuX19vdXRzaWRlUHJlc3NCdWJibGVzID0gb3V0c2lkZVByZXNzQnViYmxlcztcbiAgICBsZXQgY29tcG9zaXRpb25UaW1lb3V0ID0gLTE7XG4gICAgZnVuY3Rpb24gb25TY3JvbGwoZXZlbnQpIHtcbiAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSwgZXZlbnQsICdhbmNlc3Rvci1zY3JvbGwnKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaGFuZGxlQ29tcG9zaXRpb25TdGFydCgpIHtcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY29tcG9zaXRpb25UaW1lb3V0KTtcbiAgICAgIGlzQ29tcG9zaW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYW5kbGVDb21wb3NpdGlvbkVuZCgpIHtcbiAgICAgIC8vIFNhZmFyaSBmaXJlcyBgY29tcG9zaXRpb25lbmRgIGJlZm9yZSBga2V5ZG93bmAsIHNvIHdlIG5lZWQgdG8gd2FpdFxuICAgICAgLy8gdW50aWwgdGhlIG5leHQgdGljayB0byBzZXQgYGlzQ29tcG9zaW5nYCB0byBgZmFsc2VgLlxuICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTAwNFxuICAgICAgY29tcG9zaXRpb25UaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpc0NvbXBvc2luZ1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgLy8gMG1zIG9yIDFtcyBkb24ndCB3b3JrIGluIFNhZmFyaS4gNW1zIGFwcGVhcnMgdG8gY29uc2lzdGVudGx5IHdvcmsuXG4gICAgICAvLyBPbmx5IGFwcGx5IHRvIFdlYktpdCBmb3IgdGhlIHRlc3QgdG8gcmVtYWluIDBtcy5cbiAgICAgIGlzV2ViS2l0KCkgPyA1IDogMCk7XG4gICAgfVxuICAgIGNvbnN0IGRvYyA9IGdldERvY3VtZW50KGVsZW1lbnRzLmZsb2F0aW5nKTtcbiAgICBpZiAoZXNjYXBlS2V5KSB7XG4gICAgICBkb2MuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGVzY2FwZUtleUNhcHR1cmUgPyBjbG9zZU9uRXNjYXBlS2V5RG93bkNhcHR1cmUgOiBjbG9zZU9uRXNjYXBlS2V5RG93biwgZXNjYXBlS2V5Q2FwdHVyZSk7XG4gICAgICBkb2MuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25zdGFydCcsIGhhbmRsZUNvbXBvc2l0aW9uU3RhcnQpO1xuICAgICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJywgaGFuZGxlQ29tcG9zaXRpb25FbmQpO1xuICAgIH1cbiAgICBvdXRzaWRlUHJlc3MgJiYgZG9jLmFkZEV2ZW50TGlzdGVuZXIob3V0c2lkZVByZXNzRXZlbnQsIG91dHNpZGVQcmVzc0NhcHR1cmUgPyBjbG9zZU9uUHJlc3NPdXRzaWRlQ2FwdHVyZSA6IGNsb3NlT25QcmVzc091dHNpZGUsIG91dHNpZGVQcmVzc0NhcHR1cmUpO1xuICAgIGxldCBhbmNlc3RvcnMgPSBbXTtcbiAgICBpZiAoYW5jZXN0b3JTY3JvbGwpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSkge1xuICAgICAgICBhbmNlc3RvcnMgPSBnZXRPdmVyZmxvd0FuY2VzdG9ycyhlbGVtZW50cy5kb21SZWZlcmVuY2UpO1xuICAgICAgfVxuICAgICAgaWYgKGlzRWxlbWVudChlbGVtZW50cy5mbG9hdGluZykpIHtcbiAgICAgICAgYW5jZXN0b3JzID0gYW5jZXN0b3JzLmNvbmNhdChnZXRPdmVyZmxvd0FuY2VzdG9ycyhlbGVtZW50cy5mbG9hdGluZykpO1xuICAgICAgfVxuICAgICAgaWYgKCFpc0VsZW1lbnQoZWxlbWVudHMucmVmZXJlbmNlKSAmJiBlbGVtZW50cy5yZWZlcmVuY2UgJiYgZWxlbWVudHMucmVmZXJlbmNlLmNvbnRleHRFbGVtZW50KSB7XG4gICAgICAgIGFuY2VzdG9ycyA9IGFuY2VzdG9ycy5jb25jYXQoZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZWxlbWVudHMucmVmZXJlbmNlLmNvbnRleHRFbGVtZW50KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWdub3JlIHRoZSB2aXN1YWwgdmlld3BvcnQgZm9yIHNjcm9sbGluZyBkaXNtaXNzYWwgKGFsbG93IHBpbmNoLXpvb20pXG4gICAgYW5jZXN0b3JzID0gYW5jZXN0b3JzLmZpbHRlcihhbmNlc3RvciA9PiB7XG4gICAgICB2YXIgX2RvYyRkZWZhdWx0VmlldztcbiAgICAgIHJldHVybiBhbmNlc3RvciAhPT0gKChfZG9jJGRlZmF1bHRWaWV3ID0gZG9jLmRlZmF1bHRWaWV3KSA9PSBudWxsID8gdm9pZCAwIDogX2RvYyRkZWZhdWx0Vmlldy52aXN1YWxWaWV3cG9ydCk7XG4gICAgfSk7XG4gICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwsIHtcbiAgICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChlc2NhcGVLZXkpIHtcbiAgICAgICAgZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBlc2NhcGVLZXlDYXB0dXJlID8gY2xvc2VPbkVzY2FwZUtleURvd25DYXB0dXJlIDogY2xvc2VPbkVzY2FwZUtleURvd24sIGVzY2FwZUtleUNhcHR1cmUpO1xuICAgICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25zdGFydCcsIGhhbmRsZUNvbXBvc2l0aW9uU3RhcnQpO1xuICAgICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25lbmQnLCBoYW5kbGVDb21wb3NpdGlvbkVuZCk7XG4gICAgICB9XG4gICAgICBvdXRzaWRlUHJlc3MgJiYgZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIob3V0c2lkZVByZXNzRXZlbnQsIG91dHNpZGVQcmVzc0NhcHR1cmUgPyBjbG9zZU9uUHJlc3NPdXRzaWRlQ2FwdHVyZSA6IGNsb3NlT25QcmVzc091dHNpZGUsIG91dHNpZGVQcmVzc0NhcHR1cmUpO1xuICAgICAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgICAgICBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCk7XG4gICAgICB9KTtcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY29tcG9zaXRpb25UaW1lb3V0KTtcbiAgICB9O1xuICB9LCBbZGF0YVJlZiwgZWxlbWVudHMsIGVzY2FwZUtleSwgb3V0c2lkZVByZXNzLCBvdXRzaWRlUHJlc3NFdmVudCwgb3Blbiwgb25PcGVuQ2hhbmdlLCBhbmNlc3RvclNjcm9sbCwgZW5hYmxlZCwgZXNjYXBlS2V5QnViYmxlcywgb3V0c2lkZVByZXNzQnViYmxlcywgY2xvc2VPbkVzY2FwZUtleURvd24sIGVzY2FwZUtleUNhcHR1cmUsIGNsb3NlT25Fc2NhcGVLZXlEb3duQ2FwdHVyZSwgY2xvc2VPblByZXNzT3V0c2lkZSwgb3V0c2lkZVByZXNzQ2FwdHVyZSwgY2xvc2VPblByZXNzT3V0c2lkZUNhcHR1cmVdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbb3V0c2lkZVByZXNzLCBvdXRzaWRlUHJlc3NFdmVudF0pO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25LZXlEb3duOiBjbG9zZU9uRXNjYXBlS2V5RG93bixcbiAgICBbYnViYmxlSGFuZGxlcktleXNbcmVmZXJlbmNlUHJlc3NFdmVudF1dOiBldmVudCA9PiB7XG4gICAgICBpZiAocmVmZXJlbmNlUHJlc3MpIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlLCBldmVudC5uYXRpdmVFdmVudCwgJ3JlZmVyZW5jZS1wcmVzcycpO1xuICAgICAgfVxuICAgIH1cbiAgfSksIFtjbG9zZU9uRXNjYXBlS2V5RG93biwgb25PcGVuQ2hhbmdlLCByZWZlcmVuY2VQcmVzcywgcmVmZXJlbmNlUHJlc3NFdmVudF0pO1xuICBjb25zdCBmbG9hdGluZyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBvbktleURvd246IGNsb3NlT25Fc2NhcGVLZXlEb3duLFxuICAgIG9uTW91c2VEb3duKCkge1xuICAgICAgZW5kZWRPclN0YXJ0ZWRJbnNpZGVSZWYuY3VycmVudCA9IHRydWU7XG4gICAgfSxcbiAgICBvbk1vdXNlVXAoKSB7XG4gICAgICBlbmRlZE9yU3RhcnRlZEluc2lkZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9LFxuICAgIFtjYXB0dXJlSGFuZGxlcktleXNbb3V0c2lkZVByZXNzRXZlbnRdXTogKCkgPT4ge1xuICAgICAgaW5zaWRlUmVhY3RUcmVlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgfSksIFtjbG9zZU9uRXNjYXBlS2V5RG93biwgb3V0c2lkZVByZXNzRXZlbnRdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmdcbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlLCBmbG9hdGluZ10pO1xufVxuXG5mdW5jdGlvbiB1c2VGbG9hdGluZ1Jvb3RDb250ZXh0KG9wdGlvbnMpIHtcbiAgY29uc3Qge1xuICAgIG9wZW4gPSBmYWxzZSxcbiAgICBvbk9wZW5DaGFuZ2U6IG9uT3BlbkNoYW5nZVByb3AsXG4gICAgZWxlbWVudHM6IGVsZW1lbnRzUHJvcFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgZmxvYXRpbmdJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IGRhdGFSZWYgPSBSZWFjdC51c2VSZWYoe30pO1xuICBjb25zdCBbZXZlbnRzXSA9IFJlYWN0LnVzZVN0YXRlKCgpID0+IGNyZWF0ZVB1YlN1YigpKTtcbiAgY29uc3QgbmVzdGVkID0gdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQoKSAhPSBudWxsO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgY29uc3Qgb3B0aW9uRG9tUmVmZXJlbmNlID0gZWxlbWVudHNQcm9wLnJlZmVyZW5jZTtcbiAgICBpZiAob3B0aW9uRG9tUmVmZXJlbmNlICYmICFpc0VsZW1lbnQob3B0aW9uRG9tUmVmZXJlbmNlKSkge1xuICAgICAgZXJyb3IoJ0Nhbm5vdCBwYXNzIGEgdmlydHVhbCBlbGVtZW50IHRvIHRoZSBgZWxlbWVudHMucmVmZXJlbmNlYCBvcHRpb24sJywgJ2FzIGl0IG11c3QgYmUgYSByZWFsIERPTSBlbGVtZW50LiBVc2UgYHJlZnMuc2V0UG9zaXRpb25SZWZlcmVuY2UoKWAnLCAnaW5zdGVhZC4nKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgW3Bvc2l0aW9uUmVmZXJlbmNlLCBzZXRQb3NpdGlvblJlZmVyZW5jZV0gPSBSZWFjdC51c2VTdGF0ZShlbGVtZW50c1Byb3AucmVmZXJlbmNlKTtcbiAgY29uc3Qgb25PcGVuQ2hhbmdlID0gdXNlRWZmZWN0RXZlbnQoKG9wZW4sIGV2ZW50LCByZWFzb24pID0+IHtcbiAgICBkYXRhUmVmLmN1cnJlbnQub3BlbkV2ZW50ID0gb3BlbiA/IGV2ZW50IDogdW5kZWZpbmVkO1xuICAgIGV2ZW50cy5lbWl0KCdvcGVuY2hhbmdlJywge1xuICAgICAgb3BlbixcbiAgICAgIGV2ZW50LFxuICAgICAgcmVhc29uLFxuICAgICAgbmVzdGVkXG4gICAgfSk7XG4gICAgb25PcGVuQ2hhbmdlUHJvcCA9PSBudWxsIHx8IG9uT3BlbkNoYW5nZVByb3Aob3BlbiwgZXZlbnQsIHJlYXNvbik7XG4gIH0pO1xuICBjb25zdCByZWZzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHNldFBvc2l0aW9uUmVmZXJlbmNlXG4gIH0pLCBbXSk7XG4gIGNvbnN0IGVsZW1lbnRzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZmVyZW5jZTogcG9zaXRpb25SZWZlcmVuY2UgfHwgZWxlbWVudHNQcm9wLnJlZmVyZW5jZSB8fCBudWxsLFxuICAgIGZsb2F0aW5nOiBlbGVtZW50c1Byb3AuZmxvYXRpbmcgfHwgbnVsbCxcbiAgICBkb21SZWZlcmVuY2U6IGVsZW1lbnRzUHJvcC5yZWZlcmVuY2VcbiAgfSksIFtwb3NpdGlvblJlZmVyZW5jZSwgZWxlbWVudHNQcm9wLnJlZmVyZW5jZSwgZWxlbWVudHNQcm9wLmZsb2F0aW5nXSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgZGF0YVJlZixcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBlbGVtZW50cyxcbiAgICBldmVudHMsXG4gICAgZmxvYXRpbmdJZCxcbiAgICByZWZzXG4gIH0pLCBbb3Blbiwgb25PcGVuQ2hhbmdlLCBlbGVtZW50cywgZXZlbnRzLCBmbG9hdGluZ0lkLCByZWZzXSk7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhIGZsb2F0aW5nIGVsZW1lbnQgYW5kIGNvbnRleHQgdG8gYWRkIGludGVyYWN0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VGbG9hdGluZ1xuICovXG5mdW5jdGlvbiB1c2VGbG9hdGluZyhvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG5vZGVJZFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgaW50ZXJuYWxSb290Q29udGV4dCA9IHVzZUZsb2F0aW5nUm9vdENvbnRleHQoe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIHJlZmVyZW5jZTogbnVsbCxcbiAgICAgIGZsb2F0aW5nOiBudWxsLFxuICAgICAgLi4ub3B0aW9ucy5lbGVtZW50c1xuICAgIH1cbiAgfSk7XG4gIGNvbnN0IHJvb3RDb250ZXh0ID0gb3B0aW9ucy5yb290Q29udGV4dCB8fCBpbnRlcm5hbFJvb3RDb250ZXh0O1xuICBjb25zdCBjb21wdXRlZEVsZW1lbnRzID0gcm9vdENvbnRleHQuZWxlbWVudHM7XG4gIGNvbnN0IFtfZG9tUmVmZXJlbmNlLCBzZXREb21SZWZlcmVuY2VdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvblJlZmVyZW5jZSwgX3NldFBvc2l0aW9uUmVmZXJlbmNlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBvcHRpb25Eb21SZWZlcmVuY2UgPSBjb21wdXRlZEVsZW1lbnRzID09IG51bGwgPyB2b2lkIDAgOiBjb21wdXRlZEVsZW1lbnRzLmRvbVJlZmVyZW5jZTtcbiAgY29uc3QgZG9tUmVmZXJlbmNlID0gb3B0aW9uRG9tUmVmZXJlbmNlIHx8IF9kb21SZWZlcmVuY2U7XG4gIGNvbnN0IGRvbVJlZmVyZW5jZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgdHJlZSA9IHVzZUZsb2F0aW5nVHJlZSgpO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKGRvbVJlZmVyZW5jZSkge1xuICAgICAgZG9tUmVmZXJlbmNlUmVmLmN1cnJlbnQgPSBkb21SZWZlcmVuY2U7XG4gICAgfVxuICB9LCBbZG9tUmVmZXJlbmNlXSk7XG4gIGNvbnN0IHBvc2l0aW9uID0gdXNlRmxvYXRpbmckMSh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBlbGVtZW50czoge1xuICAgICAgLi4uY29tcHV0ZWRFbGVtZW50cyxcbiAgICAgIC4uLihwb3NpdGlvblJlZmVyZW5jZSAmJiB7XG4gICAgICAgIHJlZmVyZW5jZTogcG9zaXRpb25SZWZlcmVuY2VcbiAgICAgIH0pXG4gICAgfVxuICB9KTtcbiAgY29uc3Qgc2V0UG9zaXRpb25SZWZlcmVuY2UgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBjb25zdCBjb21wdXRlZFBvc2l0aW9uUmVmZXJlbmNlID0gaXNFbGVtZW50KG5vZGUpID8ge1xuICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0OiAoKSA9PiBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgY29udGV4dEVsZW1lbnQ6IG5vZGVcbiAgICB9IDogbm9kZTtcbiAgICAvLyBTdG9yZSB0aGUgcG9zaXRpb25SZWZlcmVuY2UgaW4gc3RhdGUgaWYgdGhlIERPTSByZWZlcmVuY2UgaXMgc3BlY2lmaWVkIGV4dGVybmFsbHkgdmlhIHRoZVxuICAgIC8vIGBlbGVtZW50cy5yZWZlcmVuY2VgIG9wdGlvbi4gVGhpcyBlbnN1cmVzIHRoYXQgaXQgd29uJ3QgYmUgb3ZlcnJpZGRlbiBvbiBmdXR1cmUgcmVuZGVycy5cbiAgICBfc2V0UG9zaXRpb25SZWZlcmVuY2UoY29tcHV0ZWRQb3NpdGlvblJlZmVyZW5jZSk7XG4gICAgcG9zaXRpb24ucmVmcy5zZXRSZWZlcmVuY2UoY29tcHV0ZWRQb3NpdGlvblJlZmVyZW5jZSk7XG4gIH0sIFtwb3NpdGlvbi5yZWZzXSk7XG4gIGNvbnN0IHNldFJlZmVyZW5jZSA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIGlmIChpc0VsZW1lbnQobm9kZSkgfHwgbm9kZSA9PT0gbnVsbCkge1xuICAgICAgZG9tUmVmZXJlbmNlUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgc2V0RG9tUmVmZXJlbmNlKG5vZGUpO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGZvciBwYXNzaW5nIGEgdmlydHVhbCBlbGVtZW50IHRvIGByZWZlcmVuY2VgXG4gICAgLy8gYWZ0ZXIgaXQgaGFzIHNldCB0aGUgRE9NIHJlZmVyZW5jZS5cbiAgICBpZiAoaXNFbGVtZW50KHBvc2l0aW9uLnJlZnMucmVmZXJlbmNlLmN1cnJlbnQpIHx8IHBvc2l0aW9uLnJlZnMucmVmZXJlbmNlLmN1cnJlbnQgPT09IG51bGwgfHxcbiAgICAvLyBEb24ndCBhbGxvdyBzZXR0aW5nIHZpcnR1YWwgZWxlbWVudHMgdXNpbmcgdGhlIG9sZCB0ZWNobmlxdWUgYmFjayB0b1xuICAgIC8vIGBudWxsYCB0byBzdXBwb3J0IGBwb3NpdGlvblJlZmVyZW5jZWAgKyBhbiB1bnN0YWJsZSBgcmVmZXJlbmNlYFxuICAgIC8vIGNhbGxiYWNrIHJlZi5cbiAgICBub2RlICE9PSBudWxsICYmICFpc0VsZW1lbnQobm9kZSkpIHtcbiAgICAgIHBvc2l0aW9uLnJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgIH1cbiAgfSwgW3Bvc2l0aW9uLnJlZnNdKTtcbiAgY29uc3QgcmVmcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5wb3NpdGlvbi5yZWZzLFxuICAgIHNldFJlZmVyZW5jZSxcbiAgICBzZXRQb3NpdGlvblJlZmVyZW5jZSxcbiAgICBkb21SZWZlcmVuY2U6IGRvbVJlZmVyZW5jZVJlZlxuICB9KSwgW3Bvc2l0aW9uLnJlZnMsIHNldFJlZmVyZW5jZSwgc2V0UG9zaXRpb25SZWZlcmVuY2VdKTtcbiAgY29uc3QgZWxlbWVudHMgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgLi4ucG9zaXRpb24uZWxlbWVudHMsXG4gICAgZG9tUmVmZXJlbmNlOiBkb21SZWZlcmVuY2VcbiAgfSksIFtwb3NpdGlvbi5lbGVtZW50cywgZG9tUmVmZXJlbmNlXSk7XG4gIGNvbnN0IGNvbnRleHQgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgLi4ucG9zaXRpb24sXG4gICAgLi4ucm9vdENvbnRleHQsXG4gICAgcmVmcyxcbiAgICBlbGVtZW50cyxcbiAgICBub2RlSWRcbiAgfSksIFtwb3NpdGlvbiwgcmVmcywgZWxlbWVudHMsIG5vZGVJZCwgcm9vdENvbnRleHRdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIHJvb3RDb250ZXh0LmRhdGFSZWYuY3VycmVudC5mbG9hdGluZ0NvbnRleHQgPSBjb250ZXh0O1xuICAgIGNvbnN0IG5vZGUgPSB0cmVlID09IG51bGwgPyB2b2lkIDAgOiB0cmVlLm5vZGVzUmVmLmN1cnJlbnQuZmluZChub2RlID0+IG5vZGUuaWQgPT09IG5vZGVJZCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIG5vZGUuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5wb3NpdGlvbixcbiAgICBjb250ZXh0LFxuICAgIHJlZnMsXG4gICAgZWxlbWVudHNcbiAgfSksIFtwb3NpdGlvbiwgcmVmcywgZWxlbWVudHMsIGNvbnRleHRdKTtcbn1cblxuLyoqXG4gKiBPcGVucyB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGlsZSB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgaGFzIGZvY3VzLCBsaWtlIENTU1xuICogYDpmb2N1c2AuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlRm9jdXNcbiAqL1xuZnVuY3Rpb24gdXNlRm9jdXMoY29udGV4dCwgcHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBldmVudHMsXG4gICAgZGF0YVJlZixcbiAgICBlbGVtZW50c1xuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGVuYWJsZWQgPSB0cnVlLFxuICAgIHZpc2libGVPbmx5ID0gdHJ1ZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGJsb2NrRm9jdXNSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCB0aW1lb3V0UmVmID0gUmVhY3QudXNlUmVmKCk7XG4gIGNvbnN0IGtleWJvYXJkTW9kYWxpdHlSZWYgPSBSZWFjdC51c2VSZWYodHJ1ZSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgY29uc3Qgd2luID0gZ2V0V2luZG93KGVsZW1lbnRzLmRvbVJlZmVyZW5jZSk7XG5cbiAgICAvLyBJZiB0aGUgcmVmZXJlbmNlIHdhcyBmb2N1c2VkIGFuZCB0aGUgdXNlciBsZWZ0IHRoZSB0YWIvd2luZG93LCBhbmQgdGhlXG4gICAgLy8gZmxvYXRpbmcgZWxlbWVudCB3YXMgbm90IG9wZW4sIHRoZSBmb2N1cyBzaG91bGQgYmUgYmxvY2tlZCB3aGVuIHRoZXlcbiAgICAvLyByZXR1cm4gdG8gdGhlIHRhYi93aW5kb3cuXG4gICAgZnVuY3Rpb24gb25CbHVyKCkge1xuICAgICAgaWYgKCFvcGVuICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSAmJiBlbGVtZW50cy5kb21SZWZlcmVuY2UgPT09IGFjdGl2ZUVsZW1lbnQoZ2V0RG9jdW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlKSkpIHtcbiAgICAgICAgYmxvY2tGb2N1c1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gb25LZXlEb3duKCkge1xuICAgICAga2V5Ym9hcmRNb2RhbGl0eVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9XG4gICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBvbkJsdXIpO1xuICAgIHdpbi5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duLCB0cnVlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCBvbkJsdXIpO1xuICAgICAgd2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24sIHRydWUpO1xuICAgIH07XG4gIH0sIFtlbGVtZW50cy5kb21SZWZlcmVuY2UsIG9wZW4sIGVuYWJsZWRdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBmdW5jdGlvbiBvbk9wZW5DaGFuZ2UoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgcmVhc29uXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGlmIChyZWFzb24gPT09ICdyZWZlcmVuY2UtcHJlc3MnIHx8IHJlYXNvbiA9PT0gJ2VzY2FwZS1rZXknKSB7XG4gICAgICAgIGJsb2NrRm9jdXNSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGV2ZW50cy5vbignb3BlbmNoYW5nZScsIG9uT3BlbkNoYW5nZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGV2ZW50cy5vZmYoJ29wZW5jaGFuZ2UnLCBvbk9wZW5DaGFuZ2UpO1xuICAgIH07XG4gIH0sIFtldmVudHMsIGVuYWJsZWRdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgfTtcbiAgfSwgW10pO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25Qb2ludGVyRG93bihldmVudCkge1xuICAgICAgaWYgKGlzVmlydHVhbFBvaW50ZXJFdmVudChldmVudC5uYXRpdmVFdmVudCkpIHJldHVybjtcbiAgICAgIGtleWJvYXJkTW9kYWxpdHlSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH0sXG4gICAgb25Nb3VzZUxlYXZlKCkge1xuICAgICAgYmxvY2tGb2N1c1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSxcbiAgICBvbkZvY3VzKGV2ZW50KSB7XG4gICAgICBpZiAoYmxvY2tGb2N1c1JlZi5jdXJyZW50KSByZXR1cm47XG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQoZXZlbnQubmF0aXZlRXZlbnQpO1xuICAgICAgaWYgKHZpc2libGVPbmx5ICYmIGlzRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gTWFjIFNhZmFyaSB1bnJlbGlhYmx5IG1hdGNoZXMgYDpmb2N1cy12aXNpYmxlYCBvbiB0aGUgcmVmZXJlbmNlXG4gICAgICAgICAgLy8gaWYgZm9jdXMgd2FzIG91dHNpZGUgdGhlIHBhZ2UgaW5pdGlhbGx5IC0gdXNlIHRoZSBmYWxsYmFja1xuICAgICAgICAgIC8vIGluc3RlYWQuXG4gICAgICAgICAgaWYgKGlzU2FmYXJpKCkgJiYgaXNNYWMoKSkgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICBpZiAoIXRhcmdldC5tYXRjaGVzKCc6Zm9jdXMtdmlzaWJsZScpKSByZXR1cm47XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBPbGQgYnJvd3NlcnMgd2lsbCB0aHJvdyBhbiBlcnJvciB3aGVuIHVzaW5nIGA6Zm9jdXMtdmlzaWJsZWAuXG4gICAgICAgICAgaWYgKCFrZXlib2FyZE1vZGFsaXR5UmVmLmN1cnJlbnQgJiYgIWlzVHlwZWFibGVFbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9uT3BlbkNoYW5nZSh0cnVlLCBldmVudC5uYXRpdmVFdmVudCwgJ2ZvY3VzJyk7XG4gICAgfSxcbiAgICBvbkJsdXIoZXZlbnQpIHtcbiAgICAgIGJsb2NrRm9jdXNSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBjb25zdCBuYXRpdmVFdmVudCA9IGV2ZW50Lm5hdGl2ZUV2ZW50O1xuXG4gICAgICAvLyBIaXQgdGhlIG5vbi1tb2RhbCBmb2N1cyBtYW5hZ2VtZW50IHBvcnRhbCBndWFyZC4gRm9jdXMgd2lsbCBiZVxuICAgICAgLy8gbW92ZWQgaW50byB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbW1lZGlhdGVseSBhZnRlci5cbiAgICAgIGNvbnN0IG1vdmVkVG9Gb2N1c0d1YXJkID0gaXNFbGVtZW50KHJlbGF0ZWRUYXJnZXQpICYmIHJlbGF0ZWRUYXJnZXQuaGFzQXR0cmlidXRlKGNyZWF0ZUF0dHJpYnV0ZSgnZm9jdXMtZ3VhcmQnKSkgJiYgcmVsYXRlZFRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdHlwZScpID09PSAnb3V0c2lkZSc7XG5cbiAgICAgIC8vIFdhaXQgZm9yIHRoZSB3aW5kb3cgYmx1ciBsaXN0ZW5lciB0byBmaXJlLlxuICAgICAgdGltZW91dFJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB2YXIgX2RhdGFSZWYkY3VycmVudCRmbG9hO1xuICAgICAgICBjb25zdCBhY3RpdmVFbCA9IGFjdGl2ZUVsZW1lbnQoZWxlbWVudHMuZG9tUmVmZXJlbmNlID8gZWxlbWVudHMuZG9tUmVmZXJlbmNlLm93bmVyRG9jdW1lbnQgOiBkb2N1bWVudCk7XG5cbiAgICAgICAgLy8gRm9jdXMgbGVmdCB0aGUgcGFnZSwga2VlcCBpdCBvcGVuLlxuICAgICAgICBpZiAoIXJlbGF0ZWRUYXJnZXQgJiYgYWN0aXZlRWwgPT09IGVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgcmV0dXJuO1xuXG4gICAgICAgIC8vIFdoZW4gZm9jdXNpbmcgdGhlIHJlZmVyZW5jZSBlbGVtZW50IChlLmcuIHJlZ3VsYXIgY2xpY2spLCB0aGVuXG4gICAgICAgIC8vIGNsaWNraW5nIGludG8gdGhlIGZsb2F0aW5nIGVsZW1lbnQsIHByZXZlbnQgaXQgZnJvbSBoaWRpbmcuXG4gICAgICAgIC8vIE5vdGU6IGl0IG11c3QgYmUgZm9jdXNhYmxlLCBlLmcuIGB0YWJpbmRleD1cIi0xXCJgLlxuICAgICAgICAvLyBXZSBjYW4gbm90IHJlbHkgb24gcmVsYXRlZFRhcmdldCB0byBwb2ludCB0byB0aGUgY29ycmVjdCBlbGVtZW50XG4gICAgICAgIC8vIGFzIGl0IHdpbGwgb25seSBwb2ludCB0byB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIG5ld2x5IGZvY3VzZWQgZWxlbWVudFxuICAgICAgICAvLyBhbmQgbm90IHRoZSBlbGVtZW50IHRoYXQgYWN0dWFsbHkgaGFzIHJlY2VpdmVkIGZvY3VzIGlmIGl0IGlzIGxvY2F0ZWRcbiAgICAgICAgLy8gaW5zaWRlIGEgc2hhZG93IHJvb3QuXG4gICAgICAgIGlmIChjb250YWlucygoX2RhdGFSZWYkY3VycmVudCRmbG9hID0gZGF0YVJlZi5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9kYXRhUmVmJGN1cnJlbnQkZmxvYS5yZWZzLmZsb2F0aW5nLmN1cnJlbnQsIGFjdGl2ZUVsKSB8fCBjb250YWlucyhlbGVtZW50cy5kb21SZWZlcmVuY2UsIGFjdGl2ZUVsKSB8fCBtb3ZlZFRvRm9jdXNHdWFyZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIG5hdGl2ZUV2ZW50LCAnZm9jdXMnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSksIFtkYXRhUmVmLCBlbGVtZW50cy5kb21SZWZlcmVuY2UsIG9uT3BlbkNoYW5nZSwgdmlzaWJsZU9ubHldKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2VcbiAgfSA6IHt9LCBbZW5hYmxlZCwgcmVmZXJlbmNlXSk7XG59XG5cbmNvbnN0IEFDVElWRV9LRVkgPSAnYWN0aXZlJztcbmNvbnN0IFNFTEVDVEVEX0tFWSA9ICdzZWxlY3RlZCc7XG5mdW5jdGlvbiBtZXJnZVByb3BzKHVzZXJQcm9wcywgcHJvcHNMaXN0LCBlbGVtZW50S2V5KSB7XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgY29uc3QgaXNJdGVtID0gZWxlbWVudEtleSA9PT0gJ2l0ZW0nO1xuICBsZXQgZG9tVXNlclByb3BzID0gdXNlclByb3BzO1xuICBpZiAoaXNJdGVtICYmIHVzZXJQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIFtBQ1RJVkVfS0VZXTogXyxcbiAgICAgIFtTRUxFQ1RFRF9LRVldOiBfXyxcbiAgICAgIC4uLnZhbGlkUHJvcHNcbiAgICB9ID0gdXNlclByb3BzO1xuICAgIGRvbVVzZXJQcm9wcyA9IHZhbGlkUHJvcHM7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi4oZWxlbWVudEtleSA9PT0gJ2Zsb2F0aW5nJyAmJiB7XG4gICAgICB0YWJJbmRleDogLTEsXG4gICAgICBbRk9DVVNBQkxFX0FUVFJJQlVURV06ICcnXG4gICAgfSksXG4gICAgLi4uZG9tVXNlclByb3BzLFxuICAgIC4uLnByb3BzTGlzdC5tYXAodmFsdWUgPT4ge1xuICAgICAgY29uc3QgcHJvcHNPckdldFByb3BzID0gdmFsdWUgPyB2YWx1ZVtlbGVtZW50S2V5XSA6IG51bGw7XG4gICAgICBpZiAodHlwZW9mIHByb3BzT3JHZXRQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdXNlclByb3BzID8gcHJvcHNPckdldFByb3BzKHVzZXJQcm9wcykgOiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb3BzT3JHZXRQcm9wcztcbiAgICB9KS5jb25jYXQodXNlclByb3BzKS5yZWR1Y2UoKGFjYywgcHJvcHMpID0+IHtcbiAgICAgIGlmICghcHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKF9yZWYgPT4ge1xuICAgICAgICBsZXQgW2tleSwgdmFsdWVdID0gX3JlZjtcbiAgICAgICAgaWYgKGlzSXRlbSAmJiBbQUNUSVZFX0tFWSwgU0VMRUNURURfS0VZXS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkuaW5kZXhPZignb24nKSA9PT0gMCkge1xuICAgICAgICAgIGlmICghbWFwLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICBtYXAuc2V0KGtleSwgW10pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB2YXIgX21hcCRnZXQ7XG4gICAgICAgICAgICAoX21hcCRnZXQgPSBtYXAuZ2V0KGtleSkpID09IG51bGwgfHwgX21hcCRnZXQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgdmFyIF9tYXAkZ2V0MjtcbiAgICAgICAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gKF9tYXAkZ2V0MiA9IG1hcC5nZXQoa2V5KSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9tYXAkZ2V0Mi5tYXAoZm4gPT4gZm4oLi4uYXJncykpLmZpbmQodmFsID0+IHZhbCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY1trZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSlcbiAgfTtcbn1cbi8qKlxuICogTWVyZ2VzIGFuIGFycmF5IG9mIGludGVyYWN0aW9uIGhvb2tzJyBwcm9wcyBpbnRvIHByb3AgZ2V0dGVycywgYWxsb3dpbmdcbiAqIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb25zIHRvIGJlIGNvbXBvc2VkIHRvZ2V0aGVyIHdpdGhvdXQgb3ZlcndyaXRpbmcgb25lXG4gKiBhbm90aGVyLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZUludGVyYWN0aW9uc1xuICovXG5mdW5jdGlvbiB1c2VJbnRlcmFjdGlvbnMocHJvcHNMaXN0KSB7XG4gIGlmIChwcm9wc0xpc3QgPT09IHZvaWQgMCkge1xuICAgIHByb3BzTGlzdCA9IFtdO1xuICB9XG4gIGNvbnN0IHJlZmVyZW5jZURlcHMgPSBwcm9wc0xpc3QubWFwKGtleSA9PiBrZXkgPT0gbnVsbCA/IHZvaWQgMCA6IGtleS5yZWZlcmVuY2UpO1xuICBjb25zdCBmbG9hdGluZ0RlcHMgPSBwcm9wc0xpc3QubWFwKGtleSA9PiBrZXkgPT0gbnVsbCA/IHZvaWQgMCA6IGtleS5mbG9hdGluZyk7XG4gIGNvbnN0IGl0ZW1EZXBzID0gcHJvcHNMaXN0Lm1hcChrZXkgPT4ga2V5ID09IG51bGwgPyB2b2lkIDAgOiBrZXkuaXRlbSk7XG4gIGNvbnN0IGdldFJlZmVyZW5jZVByb3BzID0gUmVhY3QudXNlQ2FsbGJhY2sodXNlclByb3BzID0+IG1lcmdlUHJvcHModXNlclByb3BzLCBwcm9wc0xpc3QsICdyZWZlcmVuY2UnKSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICByZWZlcmVuY2VEZXBzKTtcbiAgY29uc3QgZ2V0RmxvYXRpbmdQcm9wcyA9IFJlYWN0LnVzZUNhbGxiYWNrKHVzZXJQcm9wcyA9PiBtZXJnZVByb3BzKHVzZXJQcm9wcywgcHJvcHNMaXN0LCAnZmxvYXRpbmcnKSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICBmbG9hdGluZ0RlcHMpO1xuICBjb25zdCBnZXRJdGVtUHJvcHMgPSBSZWFjdC51c2VDYWxsYmFjayh1c2VyUHJvcHMgPT4gbWVyZ2VQcm9wcyh1c2VyUHJvcHMsIHByb3BzTGlzdCwgJ2l0ZW0nKSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICBpdGVtRGVwcyk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgZ2V0UmVmZXJlbmNlUHJvcHMsXG4gICAgZ2V0RmxvYXRpbmdQcm9wcyxcbiAgICBnZXRJdGVtUHJvcHNcbiAgfSksIFtnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzXSk7XG59XG5cbmxldCBpc1ByZXZlbnRTY3JvbGxTdXBwb3J0ZWQgPSBmYWxzZTtcbmZ1bmN0aW9uIGRvU3dpdGNoKG9yaWVudGF0aW9uLCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCkge1xuICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgY2FzZSAndmVydGljYWwnOlxuICAgICAgcmV0dXJuIHZlcnRpY2FsO1xuICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgcmV0dXJuIGhvcml6b250YWw7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB2ZXJ0aWNhbCB8fCBob3Jpem9udGFsO1xuICB9XG59XG5mdW5jdGlvbiBpc01haW5PcmllbnRhdGlvbktleShrZXksIG9yaWVudGF0aW9uKSB7XG4gIGNvbnN0IHZlcnRpY2FsID0ga2V5ID09PSBBUlJPV19VUCB8fCBrZXkgPT09IEFSUk9XX0RPV047XG4gIGNvbnN0IGhvcml6b250YWwgPSBrZXkgPT09IEFSUk9XX0xFRlQgfHwga2V5ID09PSBBUlJPV19SSUdIVDtcbiAgcmV0dXJuIGRvU3dpdGNoKG9yaWVudGF0aW9uLCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCk7XG59XG5mdW5jdGlvbiBpc01haW5PcmllbnRhdGlvblRvRW5kS2V5KGtleSwgb3JpZW50YXRpb24sIHJ0bCkge1xuICBjb25zdCB2ZXJ0aWNhbCA9IGtleSA9PT0gQVJST1dfRE9XTjtcbiAgY29uc3QgaG9yaXpvbnRhbCA9IHJ0bCA/IGtleSA9PT0gQVJST1dfTEVGVCA6IGtleSA9PT0gQVJST1dfUklHSFQ7XG4gIHJldHVybiBkb1N3aXRjaChvcmllbnRhdGlvbiwgdmVydGljYWwsIGhvcml6b250YWwpIHx8IGtleSA9PT0gJ0VudGVyJyB8fCBrZXkgPT09ICcgJyB8fCBrZXkgPT09ICcnO1xufVxuZnVuY3Rpb24gaXNDcm9zc09yaWVudGF0aW9uT3BlbktleShrZXksIG9yaWVudGF0aW9uLCBydGwpIHtcbiAgY29uc3QgdmVydGljYWwgPSBydGwgPyBrZXkgPT09IEFSUk9XX0xFRlQgOiBrZXkgPT09IEFSUk9XX1JJR0hUO1xuICBjb25zdCBob3Jpem9udGFsID0ga2V5ID09PSBBUlJPV19ET1dOO1xuICByZXR1cm4gZG9Td2l0Y2gob3JpZW50YXRpb24sIHZlcnRpY2FsLCBob3Jpem9udGFsKTtcbn1cbmZ1bmN0aW9uIGlzQ3Jvc3NPcmllbnRhdGlvbkNsb3NlS2V5KGtleSwgb3JpZW50YXRpb24sIHJ0bCkge1xuICBjb25zdCB2ZXJ0aWNhbCA9IHJ0bCA/IGtleSA9PT0gQVJST1dfUklHSFQgOiBrZXkgPT09IEFSUk9XX0xFRlQ7XG4gIGNvbnN0IGhvcml6b250YWwgPSBrZXkgPT09IEFSUk9XX1VQO1xuICByZXR1cm4gZG9Td2l0Y2gob3JpZW50YXRpb24sIHZlcnRpY2FsLCBob3Jpem9udGFsKTtcbn1cbi8qKlxuICogQWRkcyBhcnJvdyBrZXktYmFzZWQgbmF2aWdhdGlvbiBvZiBhIGxpc3Qgb2YgaXRlbXMsIGVpdGhlciB1c2luZyByZWFsIERPTVxuICogZm9jdXMgb3IgdmlydHVhbCBmb2N1cy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VMaXN0TmF2aWdhdGlvblxuICovXG5mdW5jdGlvbiB1c2VMaXN0TmF2aWdhdGlvbihjb250ZXh0LCBwcm9wcykge1xuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgZWxlbWVudHNcbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBsaXN0UmVmLFxuICAgIGFjdGl2ZUluZGV4LFxuICAgIG9uTmF2aWdhdGU6IHVuc3RhYmxlX29uTmF2aWdhdGUgPSAoKSA9PiB7fSxcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBzZWxlY3RlZEluZGV4ID0gbnVsbCxcbiAgICBhbGxvd0VzY2FwZSA9IGZhbHNlLFxuICAgIGxvb3AgPSBmYWxzZSxcbiAgICBuZXN0ZWQgPSBmYWxzZSxcbiAgICBydGwgPSBmYWxzZSxcbiAgICB2aXJ0dWFsID0gZmFsc2UsXG4gICAgZm9jdXNJdGVtT25PcGVuID0gJ2F1dG8nLFxuICAgIGZvY3VzSXRlbU9uSG92ZXIgPSB0cnVlLFxuICAgIG9wZW5PbkFycm93S2V5RG93biA9IHRydWUsXG4gICAgZGlzYWJsZWRJbmRpY2VzID0gdW5kZWZpbmVkLFxuICAgIG9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJyxcbiAgICBjb2xzID0gMSxcbiAgICBzY3JvbGxJdGVtSW50b1ZpZXcgPSB0cnVlLFxuICAgIHZpcnR1YWxJdGVtUmVmLFxuICAgIGl0ZW1TaXplcyxcbiAgICBkZW5zZSA9IGZhbHNlXG4gIH0gPSBwcm9wcztcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGlmIChhbGxvd0VzY2FwZSkge1xuICAgICAgaWYgKCFsb29wKSB7XG4gICAgICAgIHdhcm4oJ2B1c2VMaXN0TmF2aWdhdGlvbmAgbG9vcGluZyBtdXN0IGJlIGVuYWJsZWQgdG8gYWxsb3cgZXNjYXBpbmcuJyk7XG4gICAgICB9XG4gICAgICBpZiAoIXZpcnR1YWwpIHtcbiAgICAgICAgd2FybignYHVzZUxpc3ROYXZpZ2F0aW9uYCBtdXN0IGJlIHZpcnR1YWwgdG8gYWxsb3cgZXNjYXBpbmcuJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyAmJiBjb2xzID4gMSkge1xuICAgICAgd2FybignSW4gZ3JpZCBsaXN0IG5hdmlnYXRpb24gbW9kZSAoYGNvbHNgID4gMSksIHRoZSBgb3JpZW50YXRpb25gIHNob3VsZCcsICdiZSBlaXRoZXIgXCJob3Jpem9udGFsXCIgb3IgXCJib3RoXCIuJyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGZsb2F0aW5nRm9jdXNFbGVtZW50ID0gZ2V0RmxvYXRpbmdGb2N1c0VsZW1lbnQoZWxlbWVudHMuZmxvYXRpbmcpO1xuICBjb25zdCBmbG9hdGluZ0ZvY3VzRWxlbWVudFJlZiA9IHVzZUxhdGVzdFJlZihmbG9hdGluZ0ZvY3VzRWxlbWVudCk7XG4gIGNvbnN0IHBhcmVudElkID0gdXNlRmxvYXRpbmdQYXJlbnROb2RlSWQoKTtcbiAgY29uc3QgdHJlZSA9IHVzZUZsb2F0aW5nVHJlZSgpO1xuICBjb25zdCBvbk5hdmlnYXRlID0gdXNlRWZmZWN0RXZlbnQodW5zdGFibGVfb25OYXZpZ2F0ZSk7XG4gIGNvbnN0IHR5cGVhYmxlQ29tYm9ib3hSZWZlcmVuY2UgPSBpc1R5cGVhYmxlQ29tYm9ib3goZWxlbWVudHMuZG9tUmVmZXJlbmNlKTtcbiAgY29uc3QgZm9jdXNJdGVtT25PcGVuUmVmID0gUmVhY3QudXNlUmVmKGZvY3VzSXRlbU9uT3Blbik7XG4gIGNvbnN0IGluZGV4UmVmID0gUmVhY3QudXNlUmVmKHNlbGVjdGVkSW5kZXggIT0gbnVsbCA/IHNlbGVjdGVkSW5kZXggOiAtMSk7XG4gIGNvbnN0IGtleVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgaXNQb2ludGVyTW9kYWxpdHlSZWYgPSBSZWFjdC51c2VSZWYodHJ1ZSk7XG4gIGNvbnN0IHByZXZpb3VzT25OYXZpZ2F0ZVJlZiA9IFJlYWN0LnVzZVJlZihvbk5hdmlnYXRlKTtcbiAgY29uc3QgcHJldmlvdXNNb3VudGVkUmVmID0gUmVhY3QudXNlUmVmKCEhZWxlbWVudHMuZmxvYXRpbmcpO1xuICBjb25zdCBwcmV2aW91c09wZW5SZWYgPSBSZWFjdC51c2VSZWYob3Blbik7XG4gIGNvbnN0IGZvcmNlU3luY0ZvY3VzID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZm9yY2VTY3JvbGxJbnRvVmlld1JlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGRpc2FibGVkSW5kaWNlc1JlZiA9IHVzZUxhdGVzdFJlZihkaXNhYmxlZEluZGljZXMpO1xuICBjb25zdCBsYXRlc3RPcGVuUmVmID0gdXNlTGF0ZXN0UmVmKG9wZW4pO1xuICBjb25zdCBzY3JvbGxJdGVtSW50b1ZpZXdSZWYgPSB1c2VMYXRlc3RSZWYoc2Nyb2xsSXRlbUludG9WaWV3KTtcbiAgY29uc3Qgc2VsZWN0ZWRJbmRleFJlZiA9IHVzZUxhdGVzdFJlZihzZWxlY3RlZEluZGV4KTtcbiAgY29uc3QgW2FjdGl2ZUlkLCBzZXRBY3RpdmVJZF0gPSBSZWFjdC51c2VTdGF0ZSgpO1xuICBjb25zdCBbdmlydHVhbElkLCBzZXRWaXJ0dWFsSWRdID0gUmVhY3QudXNlU3RhdGUoKTtcbiAgY29uc3QgZm9jdXNJdGVtID0gdXNlRWZmZWN0RXZlbnQoZnVuY3Rpb24gKGxpc3RSZWYsIGluZGV4UmVmLCBmb3JjZVNjcm9sbEludG9WaWV3KSB7XG4gICAgaWYgKGZvcmNlU2Nyb2xsSW50b1ZpZXcgPT09IHZvaWQgMCkge1xuICAgICAgZm9yY2VTY3JvbGxJbnRvVmlldyA9IGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBydW5Gb2N1cyhpdGVtKSB7XG4gICAgICBpZiAodmlydHVhbCkge1xuICAgICAgICBzZXRBY3RpdmVJZChpdGVtLmlkKTtcbiAgICAgICAgdHJlZSA9PSBudWxsIHx8IHRyZWUuZXZlbnRzLmVtaXQoJ3ZpcnR1YWxmb2N1cycsIGl0ZW0pO1xuICAgICAgICBpZiAodmlydHVhbEl0ZW1SZWYpIHtcbiAgICAgICAgICB2aXJ0dWFsSXRlbVJlZi5jdXJyZW50ID0gaXRlbTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW5xdWV1ZUZvY3VzKGl0ZW0sIHtcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIC8vIE1hYyBTYWZhcmkgZG9lcyBub3QgbW92ZSB0aGUgdmlydHVhbCBjdXJzb3IgdW5sZXNzIHRoZSBmb2N1cyBjYWxsXG4gICAgICAgICAgLy8gaXMgc3luYy4gSG93ZXZlciwgZm9yIHRoZSB2ZXJ5IGZpcnN0IGZvY3VzIGNhbGwsIHdlIG5lZWQgdG8gd2FpdFxuICAgICAgICAgIC8vIGZvciB0aGUgcG9zaXRpb24gdG8gYmUgcmVhZHkgaW4gb3JkZXIgdG8gcHJldmVudCB1bndhbnRlZFxuICAgICAgICAgIC8vIHNjcm9sbGluZy4gVGhpcyBtZWFucyB0aGUgdmlydHVhbCBjdXJzb3Igd2lsbCBub3QgbW92ZSB0byB0aGUgZmlyc3RcbiAgICAgICAgICAvLyBpdGVtIHdoZW4gZmlyc3Qgb3BlbmluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCwgYnV0IHdpbGwgb25cbiAgICAgICAgICAvLyBzdWJzZXF1ZW50IGNhbGxzLiBgcHJldmVudFNjcm9sbGAgaXMgc3VwcG9ydGVkIGluIG1vZGVybiBTYWZhcmksXG4gICAgICAgICAgLy8gc28gd2UgY2FuIHVzZSB0aGF0IGluc3RlYWQuXG4gICAgICAgICAgLy8gaU9TIFNhZmFyaSBtdXN0IGJlIGFzeW5jIG9yIHRoZSBmaXJzdCBpdGVtIHdpbGwgbm90IGJlIGZvY3VzZWQuXG4gICAgICAgICAgc3luYzogaXNNYWMoKSAmJiBpc1NhZmFyaSgpID8gaXNQcmV2ZW50U2Nyb2xsU3VwcG9ydGVkIHx8IGZvcmNlU3luY0ZvY3VzLmN1cnJlbnQgOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaW5pdGlhbEl0ZW0gPSBsaXN0UmVmLmN1cnJlbnRbaW5kZXhSZWYuY3VycmVudF07XG4gICAgaWYgKGluaXRpYWxJdGVtKSB7XG4gICAgICBydW5Gb2N1cyhpbml0aWFsSXRlbSk7XG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCB3YWl0ZWRJdGVtID0gbGlzdFJlZi5jdXJyZW50W2luZGV4UmVmLmN1cnJlbnRdIHx8IGluaXRpYWxJdGVtO1xuICAgICAgaWYgKCF3YWl0ZWRJdGVtKSByZXR1cm47XG4gICAgICBpZiAoIWluaXRpYWxJdGVtKSB7XG4gICAgICAgIHJ1bkZvY3VzKHdhaXRlZEl0ZW0pO1xuICAgICAgfVxuICAgICAgY29uc3Qgc2Nyb2xsSW50b1ZpZXdPcHRpb25zID0gc2Nyb2xsSXRlbUludG9WaWV3UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBzaG91bGRTY3JvbGxJbnRvVmlldyA9IHNjcm9sbEludG9WaWV3T3B0aW9ucyAmJiBpdGVtICYmIChmb3JjZVNjcm9sbEludG9WaWV3IHx8ICFpc1BvaW50ZXJNb2RhbGl0eVJlZi5jdXJyZW50KTtcbiAgICAgIGlmIChzaG91bGRTY3JvbGxJbnRvVmlldykge1xuICAgICAgICAvLyBKU0RPTSBkb2Vzbid0IHN1cHBvcnQgYC5zY3JvbGxJbnRvVmlldygpYCBidXQgaXQncyB3aWRlbHkgc3VwcG9ydGVkXG4gICAgICAgIC8vIGJ5IGFsbCBicm93c2Vycy5cbiAgICAgICAgd2FpdGVkSXRlbS5zY3JvbGxJbnRvVmlldyA9PSBudWxsIHx8IHdhaXRlZEl0ZW0uc2Nyb2xsSW50b1ZpZXcodHlwZW9mIHNjcm9sbEludG9WaWV3T3B0aW9ucyA9PT0gJ2Jvb2xlYW4nID8ge1xuICAgICAgICAgIGJsb2NrOiAnbmVhcmVzdCcsXG4gICAgICAgICAgaW5saW5lOiAnbmVhcmVzdCdcbiAgICAgICAgfSA6IHNjcm9sbEludG9WaWV3T3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykuZm9jdXMoe1xuICAgICAgZ2V0IHByZXZlbnRTY3JvbGwoKSB7XG4gICAgICAgIGlzUHJldmVudFNjcm9sbFN1cHBvcnRlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIC8vIFN5bmMgYHNlbGVjdGVkSW5kZXhgIHRvIGJlIHRoZSBgYWN0aXZlSW5kZXhgIHVwb24gb3BlbmluZyB0aGUgZmxvYXRpbmdcbiAgLy8gZWxlbWVudC4gQWxzbywgcmVzZXQgYGFjdGl2ZUluZGV4YCB1cG9uIGNsb3NpbmcgdGhlIGZsb2F0aW5nIGVsZW1lbnQuXG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBpZiAob3BlbiAmJiBlbGVtZW50cy5mbG9hdGluZykge1xuICAgICAgaWYgKGZvY3VzSXRlbU9uT3BlblJlZi5jdXJyZW50ICYmIHNlbGVjdGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICAvLyBSZWdhcmRsZXNzIG9mIHRoZSBwb2ludGVyIG1vZGFsaXR5LCB3ZSB3YW50IHRvIGVuc3VyZSB0aGUgc2VsZWN0ZWRcbiAgICAgICAgLy8gaXRlbSBjb21lcyBpbnRvIHZpZXcgd2hlbiB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBvcGVuZWQuXG4gICAgICAgIGZvcmNlU2Nyb2xsSW50b1ZpZXdSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBzZWxlY3RlZEluZGV4O1xuICAgICAgICBvbk5hdmlnYXRlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJldmlvdXNNb3VudGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIFNpbmNlIHRoZSB1c2VyIGNhbiBzcGVjaWZ5IGBvbk5hdmlnYXRlYCBjb25kaXRpb25hbGx5XG4gICAgICAvLyAob25OYXZpZ2F0ZTogb3BlbiA/IHNldEFjdGl2ZUluZGV4IDogc2V0U2VsZWN0ZWRJbmRleCksXG4gICAgICAvLyB3ZSBzdG9yZSBhbmQgY2FsbCB0aGUgcHJldmlvdXMgZnVuY3Rpb24uXG4gICAgICBpbmRleFJlZi5jdXJyZW50ID0gLTE7XG4gICAgICBwcmV2aW91c09uTmF2aWdhdGVSZWYuY3VycmVudChudWxsKTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBlbGVtZW50cy5mbG9hdGluZywgc2VsZWN0ZWRJbmRleCwgb25OYXZpZ2F0ZV0pO1xuXG4gIC8vIFN5bmMgYGFjdGl2ZUluZGV4YCB0byBiZSB0aGUgZm9jdXNlZCBpdGVtIHdoaWxlIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzXG4gIC8vIG9wZW4uXG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBpZiAob3BlbiAmJiBlbGVtZW50cy5mbG9hdGluZykge1xuICAgICAgaWYgKGFjdGl2ZUluZGV4ID09IG51bGwpIHtcbiAgICAgICAgZm9yY2VTeW5jRm9jdXMuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleFJlZi5jdXJyZW50ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXNldCB3aGlsZSB0aGUgZmxvYXRpbmcgZWxlbWVudCB3YXMgb3BlbiAoZS5nLiB0aGUgbGlzdCBjaGFuZ2VkKS5cbiAgICAgICAgaWYgKHByZXZpb3VzTW91bnRlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IC0xO1xuICAgICAgICAgIGZvY3VzSXRlbShsaXN0UmVmLCBpbmRleFJlZik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbml0aWFsIHN5bmMuXG4gICAgICAgIGlmICgoIXByZXZpb3VzT3BlblJlZi5jdXJyZW50IHx8ICFwcmV2aW91c01vdW50ZWRSZWYuY3VycmVudCkgJiYgZm9jdXNJdGVtT25PcGVuUmVmLmN1cnJlbnQgJiYgKGtleVJlZi5jdXJyZW50ICE9IG51bGwgfHwgZm9jdXNJdGVtT25PcGVuUmVmLmN1cnJlbnQgPT09IHRydWUgJiYga2V5UmVmLmN1cnJlbnQgPT0gbnVsbCkpIHtcbiAgICAgICAgICBsZXQgcnVucyA9IDA7XG4gICAgICAgICAgY29uc3Qgd2FpdEZvckxpc3RQb3B1bGF0ZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobGlzdFJlZi5jdXJyZW50WzBdID09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gQXZvaWQgbGV0dGluZyB0aGUgYnJvd3NlciBwYWludCBpZiBwb3NzaWJsZSBvbiB0aGUgZmlyc3QgdHJ5LFxuICAgICAgICAgICAgICAvLyBvdGhlcndpc2UgdXNlIHJBRi4gRG9uJ3QgdHJ5IG1vcmUgdGhhbiB0d2ljZSwgc2luY2Ugc29tZXRoaW5nXG4gICAgICAgICAgICAgIC8vIGlzIHdyb25nIG90aGVyd2lzZS5cbiAgICAgICAgICAgICAgaWYgKHJ1bnMgPCAyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NoZWR1bGVyID0gcnVucyA/IHJlcXVlc3RBbmltYXRpb25GcmFtZSA6IHF1ZXVlTWljcm90YXNrO1xuICAgICAgICAgICAgICAgIHNjaGVkdWxlcih3YWl0Rm9yTGlzdFBvcHVsYXRlZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcnVucysrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IGtleVJlZi5jdXJyZW50ID09IG51bGwgfHwgaXNNYWluT3JpZW50YXRpb25Ub0VuZEtleShrZXlSZWYuY3VycmVudCwgb3JpZW50YXRpb24sIHJ0bCkgfHwgbmVzdGVkID8gZ2V0TWluSW5kZXgobGlzdFJlZiwgZGlzYWJsZWRJbmRpY2VzUmVmLmN1cnJlbnQpIDogZ2V0TWF4SW5kZXgobGlzdFJlZiwgZGlzYWJsZWRJbmRpY2VzUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICBrZXlSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICAgIG9uTmF2aWdhdGUoaW5kZXhSZWYuY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgICB3YWl0Rm9yTGlzdFBvcHVsYXRlZCgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFpc0luZGV4T3V0T2ZCb3VuZHMobGlzdFJlZiwgYWN0aXZlSW5kZXgpKSB7XG4gICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBhY3RpdmVJbmRleDtcbiAgICAgICAgZm9jdXNJdGVtKGxpc3RSZWYsIGluZGV4UmVmLCBmb3JjZVNjcm9sbEludG9WaWV3UmVmLmN1cnJlbnQpO1xuICAgICAgICBmb3JjZVNjcm9sbEludG9WaWV3UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBlbGVtZW50cy5mbG9hdGluZywgYWN0aXZlSW5kZXgsIHNlbGVjdGVkSW5kZXhSZWYsIG5lc3RlZCwgbGlzdFJlZiwgb3JpZW50YXRpb24sIHJ0bCwgb25OYXZpZ2F0ZSwgZm9jdXNJdGVtLCBkaXNhYmxlZEluZGljZXNSZWZdKTtcblxuICAvLyBFbnN1cmUgdGhlIHBhcmVudCBmbG9hdGluZyBlbGVtZW50IGhhcyBmb2N1cyB3aGVuIGEgbmVzdGVkIGNoaWxkIGNsb3Nlc1xuICAvLyB0byBhbGxvdyBhcnJvdyBrZXkgbmF2aWdhdGlvbiB0byB3b3JrIGFmdGVyIHRoZSBwb2ludGVyIGxlYXZlcyB0aGUgY2hpbGQuXG4gIGluZGV4KCgpID0+IHtcbiAgICB2YXIgX25vZGVzJGZpbmQ7XG4gICAgaWYgKCFlbmFibGVkIHx8IGVsZW1lbnRzLmZsb2F0aW5nIHx8ICF0cmVlIHx8IHZpcnR1YWwgfHwgIXByZXZpb3VzTW91bnRlZFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5vZGVzID0gdHJlZS5ub2Rlc1JlZi5jdXJyZW50O1xuICAgIGNvbnN0IHBhcmVudCA9IChfbm9kZXMkZmluZCA9IG5vZGVzLmZpbmQobm9kZSA9PiBub2RlLmlkID09PSBwYXJlbnRJZCkpID09IG51bGwgfHwgKF9ub2RlcyRmaW5kID0gX25vZGVzJGZpbmQuY29udGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ub2RlcyRmaW5kLmVsZW1lbnRzLmZsb2F0aW5nO1xuICAgIGNvbnN0IGFjdGl2ZUVsID0gYWN0aXZlRWxlbWVudChnZXREb2N1bWVudChlbGVtZW50cy5mbG9hdGluZykpO1xuICAgIGNvbnN0IHRyZWVDb250YWluc0FjdGl2ZUVsID0gbm9kZXMuc29tZShub2RlID0+IG5vZGUuY29udGV4dCAmJiBjb250YWlucyhub2RlLmNvbnRleHQuZWxlbWVudHMuZmxvYXRpbmcsIGFjdGl2ZUVsKSk7XG4gICAgaWYgKHBhcmVudCAmJiAhdHJlZUNvbnRhaW5zQWN0aXZlRWwgJiYgaXNQb2ludGVyTW9kYWxpdHlSZWYuY3VycmVudCkge1xuICAgICAgcGFyZW50LmZvY3VzKHtcbiAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZW5hYmxlZCwgZWxlbWVudHMuZmxvYXRpbmcsIHRyZWUsIHBhcmVudElkLCB2aXJ0dWFsXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybjtcbiAgICBpZiAoIXRyZWUpIHJldHVybjtcbiAgICBpZiAoIXZpcnR1YWwpIHJldHVybjtcbiAgICBpZiAocGFyZW50SWQpIHJldHVybjtcbiAgICBmdW5jdGlvbiBoYW5kbGVWaXJ0dWFsRm9jdXMoaXRlbSkge1xuICAgICAgc2V0VmlydHVhbElkKGl0ZW0uaWQpO1xuICAgICAgaWYgKHZpcnR1YWxJdGVtUmVmKSB7XG4gICAgICAgIHZpcnR1YWxJdGVtUmVmLmN1cnJlbnQgPSBpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgICB0cmVlLmV2ZW50cy5vbigndmlydHVhbGZvY3VzJywgaGFuZGxlVmlydHVhbEZvY3VzKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdHJlZS5ldmVudHMub2ZmKCd2aXJ0dWFsZm9jdXMnLCBoYW5kbGVWaXJ0dWFsRm9jdXMpO1xuICAgIH07XG4gIH0sIFtlbmFibGVkLCB0cmVlLCB2aXJ0dWFsLCBwYXJlbnRJZCwgdmlydHVhbEl0ZW1SZWZdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIHByZXZpb3VzT25OYXZpZ2F0ZVJlZi5jdXJyZW50ID0gb25OYXZpZ2F0ZTtcbiAgICBwcmV2aW91c01vdW50ZWRSZWYuY3VycmVudCA9ICEhZWxlbWVudHMuZmxvYXRpbmc7XG4gIH0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuKSB7XG4gICAgICBrZXlSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9LCBbb3Blbl0pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgcHJldmlvdXNPcGVuUmVmLmN1cnJlbnQgPSBvcGVuO1xuICB9LCBbb3Blbl0pO1xuICBjb25zdCBoYXNBY3RpdmVJbmRleCA9IGFjdGl2ZUluZGV4ICE9IG51bGw7XG4gIGNvbnN0IGl0ZW0gPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBmdW5jdGlvbiBzeW5jQ3VycmVudFRhcmdldChjdXJyZW50VGFyZ2V0KSB7XG4gICAgICBpZiAoIW9wZW4pIHJldHVybjtcbiAgICAgIGNvbnN0IGluZGV4ID0gbGlzdFJlZi5jdXJyZW50LmluZGV4T2YoY3VycmVudFRhcmdldCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIG9uTmF2aWdhdGUoaW5kZXgpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgIG9uRm9jdXMoX3JlZikge1xuICAgICAgICBsZXQge1xuICAgICAgICAgIGN1cnJlbnRUYXJnZXRcbiAgICAgICAgfSA9IF9yZWY7XG4gICAgICAgIHN5bmNDdXJyZW50VGFyZ2V0KGN1cnJlbnRUYXJnZXQpO1xuICAgICAgfSxcbiAgICAgIG9uQ2xpY2s6IF9yZWYyID0+IHtcbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBjdXJyZW50VGFyZ2V0XG4gICAgICAgIH0gPSBfcmVmMjtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRUYXJnZXQuZm9jdXMoe1xuICAgICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgLy8gU2FmYXJpXG4gICAgICAuLi4oZm9jdXNJdGVtT25Ib3ZlciAmJiB7XG4gICAgICAgIG9uTW91c2VNb3ZlKF9yZWYzKSB7XG4gICAgICAgICAgbGV0IHtcbiAgICAgICAgICAgIGN1cnJlbnRUYXJnZXRcbiAgICAgICAgICB9ID0gX3JlZjM7XG4gICAgICAgICAgc3luY0N1cnJlbnRUYXJnZXQoY3VycmVudFRhcmdldCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUG9pbnRlckxlYXZlKF9yZWY0KSB7XG4gICAgICAgICAgbGV0IHtcbiAgICAgICAgICAgIHBvaW50ZXJUeXBlXG4gICAgICAgICAgfSA9IF9yZWY0O1xuICAgICAgICAgIGlmICghaXNQb2ludGVyTW9kYWxpdHlSZWYuY3VycmVudCB8fCBwb2ludGVyVHlwZSA9PT0gJ3RvdWNoJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0gLTE7XG4gICAgICAgICAgZm9jdXNJdGVtKGxpc3RSZWYsIGluZGV4UmVmKTtcbiAgICAgICAgICBvbk5hdmlnYXRlKG51bGwpO1xuICAgICAgICAgIGlmICghdmlydHVhbCkge1xuICAgICAgICAgICAgZW5xdWV1ZUZvY3VzKGZsb2F0aW5nRm9jdXNFbGVtZW50UmVmLmN1cnJlbnQsIHtcbiAgICAgICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH07XG4gICAgcmV0dXJuIHByb3BzO1xuICB9LCBbb3BlbiwgZmxvYXRpbmdGb2N1c0VsZW1lbnRSZWYsIGZvY3VzSXRlbSwgZm9jdXNJdGVtT25Ib3ZlciwgbGlzdFJlZiwgb25OYXZpZ2F0ZSwgdmlydHVhbF0pO1xuICBjb25zdCBjb21tb25PbktleURvd24gPSB1c2VFZmZlY3RFdmVudChldmVudCA9PiB7XG4gICAgaXNQb2ludGVyTW9kYWxpdHlSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIGZvcmNlU3luY0ZvY3VzLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgLy8gV2hlbiBjb21wb3NpbmcgYSBjaGFyYWN0ZXIsIENocm9tZSBmaXJlcyBBcnJvd0Rvd24gdHdpY2UuIEZpcmVmb3gvU2FmYXJpXG4gICAgLy8gZG9uJ3QgYXBwZWFyIHRvIHN1ZmZlciBmcm9tIHRoaXMuIGBldmVudC5pc0NvbXBvc2luZ2AgaXMgYXZvaWRlZCBkdWUgdG9cbiAgICAvLyBTYWZhcmkgbm90IHN1cHBvcnRpbmcgaXQgcHJvcGVybHkgKGFsdGhvdWdoIGl0J3Mgbm90IG5lZWRlZCBpbiB0aGUgZmlyc3RcbiAgICAvLyBwbGFjZSBmb3IgU2FmYXJpLCBqdXN0IGF2b2lkaW5nIGFueSBwb3NzaWJsZSBpc3N1ZXMpLlxuICAgIGlmIChldmVudC53aGljaCA9PT0gMjI5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXMgYW5pbWF0aW5nIG91dCwgaWdub3JlIG5hdmlnYXRpb24uIE90aGVyd2lzZSxcbiAgICAvLyB0aGUgYGFjdGl2ZUluZGV4YCBnZXRzIHNldCB0byAwIGRlc3BpdGUgbm90IGJlaW5nIG9wZW4gc28gdGhlIG5leHQgdGltZVxuICAgIC8vIHRoZSB1c2VyIEFycm93RG93bnMsIHRoZSBmaXJzdCBpdGVtIHdvbid0IGJlIGZvY3VzZWQuXG4gICAgaWYgKCFsYXRlc3RPcGVuUmVmLmN1cnJlbnQgJiYgZXZlbnQuY3VycmVudFRhcmdldCA9PT0gZmxvYXRpbmdGb2N1c0VsZW1lbnRSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobmVzdGVkICYmIGlzQ3Jvc3NPcmllbnRhdGlvbkNsb3NlS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24sIHJ0bCkpIHtcbiAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UsIGV2ZW50Lm5hdGl2ZUV2ZW50LCAnbGlzdC1uYXZpZ2F0aW9uJyk7XG4gICAgICBpZiAoaXNIVE1MRWxlbWVudChlbGVtZW50cy5kb21SZWZlcmVuY2UpKSB7XG4gICAgICAgIGlmICh2aXJ0dWFsKSB7XG4gICAgICAgICAgdHJlZSA9PSBudWxsIHx8IHRyZWUuZXZlbnRzLmVtaXQoJ3ZpcnR1YWxmb2N1cycsIGVsZW1lbnRzLmRvbVJlZmVyZW5jZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZWxlbWVudHMuZG9tUmVmZXJlbmNlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gaW5kZXhSZWYuY3VycmVudDtcbiAgICBjb25zdCBtaW5JbmRleCA9IGdldE1pbkluZGV4KGxpc3RSZWYsIGRpc2FibGVkSW5kaWNlcyk7XG4gICAgY29uc3QgbWF4SW5kZXggPSBnZXRNYXhJbmRleChsaXN0UmVmLCBkaXNhYmxlZEluZGljZXMpO1xuICAgIGlmICghdHlwZWFibGVDb21ib2JveFJlZmVyZW5jZSkge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0hvbWUnKSB7XG4gICAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBtaW5JbmRleDtcbiAgICAgICAgb25OYXZpZ2F0ZShpbmRleFJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbmQnKSB7XG4gICAgICAgIHN0b3BFdmVudChldmVudCk7XG4gICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBtYXhJbmRleDtcbiAgICAgICAgb25OYXZpZ2F0ZShpbmRleFJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcmlkIG5hdmlnYXRpb24uXG4gICAgaWYgKGNvbHMgPiAxKSB7XG4gICAgICBjb25zdCBzaXplcyA9IGl0ZW1TaXplcyB8fCBBcnJheS5mcm9tKHtcbiAgICAgICAgbGVuZ3RoOiBsaXN0UmVmLmN1cnJlbnQubGVuZ3RoXG4gICAgICB9LCAoKSA9PiAoe1xuICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgaGVpZ2h0OiAxXG4gICAgICB9KSk7XG4gICAgICAvLyBUbyBjYWxjdWxhdGUgbW92ZW1lbnRzIG9uIHRoZSBncmlkLCB3ZSB1c2UgaHlwb3RoZXRpY2FsIGNlbGwgaW5kaWNlc1xuICAgICAgLy8gYXMgaWYgZXZlcnkgaXRlbSB3YXMgMXgxLCB0aGVuIGNvbnZlcnQgYmFjayB0byByZWFsIGluZGljZXMuXG4gICAgICBjb25zdCBjZWxsTWFwID0gYnVpbGRDZWxsTWFwKHNpemVzLCBjb2xzLCBkZW5zZSk7XG4gICAgICBjb25zdCBtaW5HcmlkSW5kZXggPSBjZWxsTWFwLmZpbmRJbmRleChpbmRleCA9PiBpbmRleCAhPSBudWxsICYmICFpc0Rpc2FibGVkKGxpc3RSZWYuY3VycmVudCwgaW5kZXgsIGRpc2FibGVkSW5kaWNlcykpO1xuICAgICAgLy8gbGFzdCBlbmFibGVkIGluZGV4XG4gICAgICBjb25zdCBtYXhHcmlkSW5kZXggPSBjZWxsTWFwLnJlZHVjZSgoZm91bmRJbmRleCwgaW5kZXgsIGNlbGxJbmRleCkgPT4gaW5kZXggIT0gbnVsbCAmJiAhaXNEaXNhYmxlZChsaXN0UmVmLmN1cnJlbnQsIGluZGV4LCBkaXNhYmxlZEluZGljZXMpID8gY2VsbEluZGV4IDogZm91bmRJbmRleCwgLTEpO1xuICAgICAgY29uc3QgaW5kZXggPSBjZWxsTWFwW2dldEdyaWROYXZpZ2F0ZWRJbmRleCh7XG4gICAgICAgIGN1cnJlbnQ6IGNlbGxNYXAubWFwKGl0ZW1JbmRleCA9PiBpdGVtSW5kZXggIT0gbnVsbCA/IGxpc3RSZWYuY3VycmVudFtpdGVtSW5kZXhdIDogbnVsbClcbiAgICAgIH0sIHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG9yaWVudGF0aW9uLFxuICAgICAgICBsb29wLFxuICAgICAgICBydGwsXG4gICAgICAgIGNvbHMsXG4gICAgICAgIC8vIHRyZWF0IHVuZGVmaW5lZCAoZW1wdHkgZ3JpZCBzcGFjZXMpIGFzIGRpc2FibGVkIGluZGljZXMgc28gd2VcbiAgICAgICAgLy8gZG9uJ3QgZW5kIHVwIGluIHRoZW1cbiAgICAgICAgZGlzYWJsZWRJbmRpY2VzOiBnZXRDZWxsSW5kaWNlcyhbLi4uKGRpc2FibGVkSW5kaWNlcyB8fCBsaXN0UmVmLmN1cnJlbnQubWFwKChfLCBpbmRleCkgPT4gaXNEaXNhYmxlZChsaXN0UmVmLmN1cnJlbnQsIGluZGV4KSA/IGluZGV4IDogdW5kZWZpbmVkKSksIHVuZGVmaW5lZF0sIGNlbGxNYXApLFxuICAgICAgICBtaW5JbmRleDogbWluR3JpZEluZGV4LFxuICAgICAgICBtYXhJbmRleDogbWF4R3JpZEluZGV4LFxuICAgICAgICBwcmV2SW5kZXg6IGdldENlbGxJbmRleE9mQ29ybmVyKGluZGV4UmVmLmN1cnJlbnQgPiBtYXhJbmRleCA/IG1pbkluZGV4IDogaW5kZXhSZWYuY3VycmVudCwgc2l6ZXMsIGNlbGxNYXAsIGNvbHMsXG4gICAgICAgIC8vIHVzZSBhIGNvcm5lciBtYXRjaGluZyB0aGUgZWRnZSBjbG9zZXN0IHRvIHRoZSBkaXJlY3Rpb25cbiAgICAgICAgLy8gd2UncmUgbW92aW5nIGluIHNvIHdlIGRvbid0IGVuZCB1cCBpbiB0aGUgc2FtZSBpdGVtLiBQcmVmZXJcbiAgICAgICAgLy8gdG9wL2xlZnQgb3ZlciBib3R0b20vcmlnaHQuXG4gICAgICAgIGV2ZW50LmtleSA9PT0gQVJST1dfRE9XTiA/ICdibCcgOiBldmVudC5rZXkgPT09IChydGwgPyBBUlJPV19MRUZUIDogQVJST1dfUklHSFQpID8gJ3RyJyA6ICd0bCcpLFxuICAgICAgICBzdG9wRXZlbnQ6IHRydWVcbiAgICAgIH0pXTtcbiAgICAgIGlmIChpbmRleCAhPSBudWxsKSB7XG4gICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBpbmRleDtcbiAgICAgICAgb25OYXZpZ2F0ZShpbmRleFJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICAgIGlmIChvcmllbnRhdGlvbiA9PT0gJ2JvdGgnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzTWFpbk9yaWVudGF0aW9uS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24pKSB7XG4gICAgICBzdG9wRXZlbnQoZXZlbnQpO1xuXG4gICAgICAvLyBSZXNldCB0aGUgaW5kZXggaWYgbm8gaXRlbSBpcyBmb2N1c2VkLlxuICAgICAgaWYgKG9wZW4gJiYgIXZpcnR1YWwgJiYgYWN0aXZlRWxlbWVudChldmVudC5jdXJyZW50VGFyZ2V0Lm93bmVyRG9jdW1lbnQpID09PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBpc01haW5PcmllbnRhdGlvblRvRW5kS2V5KGV2ZW50LmtleSwgb3JpZW50YXRpb24sIHJ0bCkgPyBtaW5JbmRleCA6IG1heEluZGV4O1xuICAgICAgICBvbk5hdmlnYXRlKGluZGV4UmVmLmN1cnJlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaXNNYWluT3JpZW50YXRpb25Ub0VuZEtleShldmVudC5rZXksIG9yaWVudGF0aW9uLCBydGwpKSB7XG4gICAgICAgIGlmIChsb29wKSB7XG4gICAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IGN1cnJlbnRJbmRleCA+PSBtYXhJbmRleCA/IGFsbG93RXNjYXBlICYmIGN1cnJlbnRJbmRleCAhPT0gbGlzdFJlZi5jdXJyZW50Lmxlbmd0aCA/IC0xIDogbWluSW5kZXggOiBmaW5kTm9uRGlzYWJsZWRJbmRleChsaXN0UmVmLCB7XG4gICAgICAgICAgICBzdGFydGluZ0luZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICBkaXNhYmxlZEluZGljZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0gTWF0aC5taW4obWF4SW5kZXgsIGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IGN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGxvb3ApIHtcbiAgICAgICAgICBpbmRleFJlZi5jdXJyZW50ID0gY3VycmVudEluZGV4IDw9IG1pbkluZGV4ID8gYWxsb3dFc2NhcGUgJiYgY3VycmVudEluZGV4ICE9PSAtMSA/IGxpc3RSZWYuY3VycmVudC5sZW5ndGggOiBtYXhJbmRleCA6IGZpbmROb25EaXNhYmxlZEluZGV4KGxpc3RSZWYsIHtcbiAgICAgICAgICAgIHN0YXJ0aW5nSW5kZXg6IGN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgIGRlY3JlbWVudDogdHJ1ZSxcbiAgICAgICAgICAgIGRpc2FibGVkSW5kaWNlc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBNYXRoLm1heChtaW5JbmRleCwgZmluZE5vbkRpc2FibGVkSW5kZXgobGlzdFJlZiwge1xuICAgICAgICAgICAgc3RhcnRpbmdJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICAgICAgZGVjcmVtZW50OiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZWRJbmRpY2VzXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNJbmRleE91dE9mQm91bmRzKGxpc3RSZWYsIGluZGV4UmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG9uTmF2aWdhdGUobnVsbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbk5hdmlnYXRlKGluZGV4UmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGNvbnN0IGFyaWFBY3RpdmVEZXNjZW5kYW50UHJvcCA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiB2aXJ0dWFsICYmIG9wZW4gJiYgaGFzQWN0aXZlSW5kZXggJiYge1xuICAgICAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc6IHZpcnR1YWxJZCB8fCBhY3RpdmVJZFxuICAgIH07XG4gIH0sIFt2aXJ0dWFsLCBvcGVuLCBoYXNBY3RpdmVJbmRleCwgdmlydHVhbElkLCBhY3RpdmVJZF0pO1xuICBjb25zdCBmbG9hdGluZyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAnYXJpYS1vcmllbnRhdGlvbic6IG9yaWVudGF0aW9uID09PSAnYm90aCcgPyB1bmRlZmluZWQgOiBvcmllbnRhdGlvbixcbiAgICAgIC4uLighaXNUeXBlYWJsZUNvbWJvYm94KGVsZW1lbnRzLmRvbVJlZmVyZW5jZSkgJiYgYXJpYUFjdGl2ZURlc2NlbmRhbnRQcm9wKSxcbiAgICAgIG9uS2V5RG93bjogY29tbW9uT25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyTW92ZSgpIHtcbiAgICAgICAgaXNQb2ludGVyTW9kYWxpdHlSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2FyaWFBY3RpdmVEZXNjZW5kYW50UHJvcCwgY29tbW9uT25LZXlEb3duLCBlbGVtZW50cy5kb21SZWZlcmVuY2UsIG9yaWVudGF0aW9uXSk7XG4gIGNvbnN0IHJlZmVyZW5jZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGZ1bmN0aW9uIGNoZWNrVmlydHVhbE1vdXNlKGV2ZW50KSB7XG4gICAgICBpZiAoZm9jdXNJdGVtT25PcGVuID09PSAnYXV0bycgJiYgaXNWaXJ0dWFsQ2xpY2soZXZlbnQubmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIGZvY3VzSXRlbU9uT3BlblJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY2hlY2tWaXJ0dWFsUG9pbnRlcihldmVudCkge1xuICAgICAgLy8gYHBvaW50ZXJkb3duYCBmaXJlcyBmaXJzdCwgcmVzZXQgdGhlIHN0YXRlIHRoZW4gcGVyZm9ybSB0aGUgY2hlY2tzLlxuICAgICAgZm9jdXNJdGVtT25PcGVuUmVmLmN1cnJlbnQgPSBmb2N1c0l0ZW1Pbk9wZW47XG4gICAgICBpZiAoZm9jdXNJdGVtT25PcGVuID09PSAnYXV0bycgJiYgaXNWaXJ0dWFsUG9pbnRlckV2ZW50KGV2ZW50Lm5hdGl2ZUV2ZW50KSkge1xuICAgICAgICBmb2N1c0l0ZW1Pbk9wZW5SZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5hcmlhQWN0aXZlRGVzY2VuZGFudFByb3AsXG4gICAgICBvbktleURvd24oZXZlbnQpIHtcbiAgICAgICAgaXNQb2ludGVyTW9kYWxpdHlSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBpc0Fycm93S2V5ID0gZXZlbnQua2V5LnN0YXJ0c1dpdGgoJ0Fycm93Jyk7XG4gICAgICAgIGNvbnN0IGlzSG9tZU9yRW5kS2V5ID0gWydIb21lJywgJ0VuZCddLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgIGNvbnN0IGlzTW92ZUtleSA9IGlzQXJyb3dLZXkgfHwgaXNIb21lT3JFbmRLZXk7XG4gICAgICAgIGNvbnN0IGlzQ3Jvc3NPcGVuS2V5ID0gaXNDcm9zc09yaWVudGF0aW9uT3BlbktleShldmVudC5rZXksIG9yaWVudGF0aW9uLCBydGwpO1xuICAgICAgICBjb25zdCBpc0Nyb3NzQ2xvc2VLZXkgPSBpc0Nyb3NzT3JpZW50YXRpb25DbG9zZUtleShldmVudC5rZXksIG9yaWVudGF0aW9uLCBydGwpO1xuICAgICAgICBjb25zdCBpc01haW5LZXkgPSBpc01haW5PcmllbnRhdGlvbktleShldmVudC5rZXksIG9yaWVudGF0aW9uKTtcbiAgICAgICAgY29uc3QgaXNOYXZpZ2F0aW9uS2V5ID0gKG5lc3RlZCA/IGlzQ3Jvc3NPcGVuS2V5IDogaXNNYWluS2V5KSB8fCBldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5LnRyaW0oKSA9PT0gJyc7XG4gICAgICAgIGlmICh2aXJ0dWFsICYmIG9wZW4pIHtcbiAgICAgICAgICBjb25zdCByb290Tm9kZSA9IHRyZWUgPT0gbnVsbCA/IHZvaWQgMCA6IHRyZWUubm9kZXNSZWYuY3VycmVudC5maW5kKG5vZGUgPT4gbm9kZS5wYXJlbnRJZCA9PSBudWxsKTtcbiAgICAgICAgICBjb25zdCBkZWVwZXN0Tm9kZSA9IHRyZWUgJiYgcm9vdE5vZGUgPyBnZXREZWVwZXN0Tm9kZSh0cmVlLm5vZGVzUmVmLmN1cnJlbnQsIHJvb3ROb2RlLmlkKSA6IG51bGw7XG4gICAgICAgICAgaWYgKGlzTW92ZUtleSAmJiBkZWVwZXN0Tm9kZSAmJiB2aXJ0dWFsSXRlbVJlZikge1xuICAgICAgICAgICAgY29uc3QgZXZlbnRPYmplY3QgPSBuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHtcbiAgICAgICAgICAgICAga2V5OiBldmVudC5rZXksXG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGlzQ3Jvc3NPcGVuS2V5IHx8IGlzQ3Jvc3NDbG9zZUtleSkge1xuICAgICAgICAgICAgICB2YXIgX2RlZXBlc3ROb2RlJGNvbnRleHQsIF9kZWVwZXN0Tm9kZSRjb250ZXh0MjtcbiAgICAgICAgICAgICAgY29uc3QgaXNDdXJyZW50VGFyZ2V0ID0gKChfZGVlcGVzdE5vZGUkY29udGV4dCA9IGRlZXBlc3ROb2RlLmNvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfZGVlcGVzdE5vZGUkY29udGV4dC5lbGVtZW50cy5kb21SZWZlcmVuY2UpID09PSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICAgICAgICBjb25zdCBkaXNwYXRjaEl0ZW0gPSBpc0Nyb3NzQ2xvc2VLZXkgJiYgIWlzQ3VycmVudFRhcmdldCA/IChfZGVlcGVzdE5vZGUkY29udGV4dDIgPSBkZWVwZXN0Tm9kZS5jb250ZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2RlZXBlc3ROb2RlJGNvbnRleHQyLmVsZW1lbnRzLmRvbVJlZmVyZW5jZSA6IGlzQ3Jvc3NPcGVuS2V5ID8gbGlzdFJlZi5jdXJyZW50LmZpbmQoaXRlbSA9PiAoaXRlbSA9PSBudWxsID8gdm9pZCAwIDogaXRlbS5pZCkgPT09IGFjdGl2ZUlkKSA6IG51bGw7XG4gICAgICAgICAgICAgIGlmIChkaXNwYXRjaEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoSXRlbS5kaXNwYXRjaEV2ZW50KGV2ZW50T2JqZWN0KTtcbiAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsSWQodW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKChpc01haW5LZXkgfHwgaXNIb21lT3JFbmRLZXkpICYmIGRlZXBlc3ROb2RlLmNvbnRleHQpIHtcbiAgICAgICAgICAgICAgaWYgKGRlZXBlc3ROb2RlLmNvbnRleHQub3BlbiAmJiBkZWVwZXN0Tm9kZS5wYXJlbnRJZCAmJiBldmVudC5jdXJyZW50VGFyZ2V0ICE9PSBkZWVwZXN0Tm9kZS5jb250ZXh0LmVsZW1lbnRzLmRvbVJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgIHZhciBfZGVlcGVzdE5vZGUkY29udGV4dCQ7XG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgICAgICAoX2RlZXBlc3ROb2RlJGNvbnRleHQkID0gZGVlcGVzdE5vZGUuY29udGV4dC5lbGVtZW50cy5kb21SZWZlcmVuY2UpID09IG51bGwgfHwgX2RlZXBlc3ROb2RlJGNvbnRleHQkLmRpc3BhdGNoRXZlbnQoZXZlbnRPYmplY3QpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY29tbW9uT25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGEgZmxvYXRpbmcgZWxlbWVudCBzaG91bGQgbm90IG9wZW4gb24gYXJyb3cga2V5IGRvd24sIGF2b2lkXG4gICAgICAgIC8vIHNldHRpbmcgYGFjdGl2ZUluZGV4YCB3aGlsZSBpdCdzIGNsb3NlZC5cbiAgICAgICAgaWYgKCFvcGVuICYmICFvcGVuT25BcnJvd0tleURvd24gJiYgaXNBcnJvd0tleSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNOYXZpZ2F0aW9uS2V5KSB7XG4gICAgICAgICAga2V5UmVmLmN1cnJlbnQgPSBuZXN0ZWQgJiYgaXNNYWluS2V5ID8gbnVsbCA6IGV2ZW50LmtleTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVzdGVkKSB7XG4gICAgICAgICAgaWYgKGlzQ3Jvc3NPcGVuS2V5KSB7XG4gICAgICAgICAgICBzdG9wRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgICAgaW5kZXhSZWYuY3VycmVudCA9IGdldE1pbkluZGV4KGxpc3RSZWYsIGRpc2FibGVkSW5kaWNlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgb25OYXZpZ2F0ZShpbmRleFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG9uT3BlbkNoYW5nZSh0cnVlLCBldmVudC5uYXRpdmVFdmVudCwgJ2xpc3QtbmF2aWdhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTWFpbktleSkge1xuICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGluZGV4UmVmLmN1cnJlbnQgPSBzZWxlY3RlZEluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdG9wRXZlbnQoZXZlbnQpO1xuICAgICAgICAgIGlmICghb3BlbiAmJiBvcGVuT25BcnJvd0tleURvd24pIHtcbiAgICAgICAgICAgIG9uT3BlbkNoYW5nZSh0cnVlLCBldmVudC5uYXRpdmVFdmVudCwgJ2xpc3QtbmF2aWdhdGlvbicpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21tb25PbktleURvd24oZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgb25OYXZpZ2F0ZShpbmRleFJlZi5jdXJyZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvbkZvY3VzKCkge1xuICAgICAgICBpZiAob3BlbiAmJiAhdmlydHVhbCkge1xuICAgICAgICAgIG9uTmF2aWdhdGUobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvblBvaW50ZXJEb3duOiBjaGVja1ZpcnR1YWxQb2ludGVyLFxuICAgICAgb25Nb3VzZURvd246IGNoZWNrVmlydHVhbE1vdXNlLFxuICAgICAgb25DbGljazogY2hlY2tWaXJ0dWFsTW91c2VcbiAgICB9O1xuICB9LCBbYWN0aXZlSWQsIGFyaWFBY3RpdmVEZXNjZW5kYW50UHJvcCwgY29tbW9uT25LZXlEb3duLCBkaXNhYmxlZEluZGljZXNSZWYsIGZvY3VzSXRlbU9uT3BlbiwgbGlzdFJlZiwgbmVzdGVkLCBvbk5hdmlnYXRlLCBvbk9wZW5DaGFuZ2UsIG9wZW4sIG9wZW5PbkFycm93S2V5RG93biwgb3JpZW50YXRpb24sIHJ0bCwgc2VsZWN0ZWRJbmRleCwgdHJlZSwgdmlydHVhbCwgdmlydHVhbEl0ZW1SZWZdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICByZWZlcmVuY2UsXG4gICAgZmxvYXRpbmcsXG4gICAgaXRlbVxuICB9IDoge30sIFtlbmFibGVkLCByZWZlcmVuY2UsIGZsb2F0aW5nLCBpdGVtXSk7XG59XG5cbmNvbnN0IGNvbXBvbmVudFJvbGVUb0FyaWFSb2xlTWFwID0gLyojX19QVVJFX18qL25ldyBNYXAoW1snc2VsZWN0JywgJ2xpc3Rib3gnXSwgWydjb21ib2JveCcsICdsaXN0Ym94J10sIFsnbGFiZWwnLCBmYWxzZV1dKTtcblxuLyoqXG4gKiBBZGRzIGJhc2Ugc2NyZWVuIHJlYWRlciBwcm9wcyB0byB0aGUgcmVmZXJlbmNlIGFuZCBmbG9hdGluZyBlbGVtZW50cyBmb3IgYVxuICogZ2l2ZW4gZmxvYXRpbmcgZWxlbWVudCBgcm9sZWAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvdXNlUm9sZVxuICovXG5mdW5jdGlvbiB1c2VSb2xlKGNvbnRleHQsIHByb3BzKSB7XG4gIHZhciBfY29tcG9uZW50Um9sZVRvQXJpYVI7XG4gIGlmIChwcm9wcyA9PT0gdm9pZCAwKSB7XG4gICAgcHJvcHMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBmbG9hdGluZ0lkXG4gIH0gPSBjb250ZXh0O1xuICBjb25zdCB7XG4gICAgZW5hYmxlZCA9IHRydWUsXG4gICAgcm9sZSA9ICdkaWFsb2cnXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgYXJpYVJvbGUgPSAoX2NvbXBvbmVudFJvbGVUb0FyaWFSID0gY29tcG9uZW50Um9sZVRvQXJpYVJvbGVNYXAuZ2V0KHJvbGUpKSAhPSBudWxsID8gX2NvbXBvbmVudFJvbGVUb0FyaWFSIDogcm9sZTtcbiAgY29uc3QgcmVmZXJlbmNlSWQgPSB1c2VJZCgpO1xuICBjb25zdCBwYXJlbnRJZCA9IHVzZUZsb2F0aW5nUGFyZW50Tm9kZUlkKCk7XG4gIGNvbnN0IGlzTmVzdGVkID0gcGFyZW50SWQgIT0gbnVsbDtcbiAgY29uc3QgcmVmZXJlbmNlID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyaWFSb2xlID09PSAndG9vbHRpcCcgfHwgcm9sZSA9PT0gJ2xhYmVsJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW1wiYXJpYS1cIiArIChyb2xlID09PSAnbGFiZWwnID8gJ2xhYmVsbGVkYnknIDogJ2Rlc2NyaWJlZGJ5JyldOiBvcGVuID8gZmxvYXRpbmdJZCA6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICdhcmlhLWV4cGFuZGVkJzogb3BlbiA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAnYXJpYS1oYXNwb3B1cCc6IGFyaWFSb2xlID09PSAnYWxlcnRkaWFsb2cnID8gJ2RpYWxvZycgOiBhcmlhUm9sZSxcbiAgICAgICdhcmlhLWNvbnRyb2xzJzogb3BlbiA/IGZsb2F0aW5nSWQgOiB1bmRlZmluZWQsXG4gICAgICAuLi4oYXJpYVJvbGUgPT09ICdsaXN0Ym94JyAmJiB7XG4gICAgICAgIHJvbGU6ICdjb21ib2JveCdcbiAgICAgIH0pLFxuICAgICAgLi4uKGFyaWFSb2xlID09PSAnbWVudScgJiYge1xuICAgICAgICBpZDogcmVmZXJlbmNlSWRcbiAgICAgIH0pLFxuICAgICAgLi4uKGFyaWFSb2xlID09PSAnbWVudScgJiYgaXNOZXN0ZWQgJiYge1xuICAgICAgICByb2xlOiAnbWVudWl0ZW0nXG4gICAgICB9KSxcbiAgICAgIC4uLihyb2xlID09PSAnc2VsZWN0JyAmJiB7XG4gICAgICAgICdhcmlhLWF1dG9jb21wbGV0ZSc6ICdub25lJ1xuICAgICAgfSksXG4gICAgICAuLi4ocm9sZSA9PT0gJ2NvbWJvYm94JyAmJiB7XG4gICAgICAgICdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0J1xuICAgICAgfSlcbiAgICB9O1xuICB9LCBbYXJpYVJvbGUsIGZsb2F0aW5nSWQsIGlzTmVzdGVkLCBvcGVuLCByZWZlcmVuY2VJZCwgcm9sZV0pO1xuICBjb25zdCBmbG9hdGluZyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZsb2F0aW5nUHJvcHMgPSB7XG4gICAgICBpZDogZmxvYXRpbmdJZCxcbiAgICAgIC4uLihhcmlhUm9sZSAmJiB7XG4gICAgICAgIHJvbGU6IGFyaWFSb2xlXG4gICAgICB9KVxuICAgIH07XG4gICAgaWYgKGFyaWFSb2xlID09PSAndG9vbHRpcCcgfHwgcm9sZSA9PT0gJ2xhYmVsJykge1xuICAgICAgcmV0dXJuIGZsb2F0aW5nUHJvcHM7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5mbG9hdGluZ1Byb3BzLFxuICAgICAgLi4uKGFyaWFSb2xlID09PSAnbWVudScgJiYge1xuICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogcmVmZXJlbmNlSWRcbiAgICAgIH0pXG4gICAgfTtcbiAgfSwgW2FyaWFSb2xlLCBmbG9hdGluZ0lkLCByZWZlcmVuY2VJZCwgcm9sZV0pO1xuICBjb25zdCBpdGVtID0gUmVhY3QudXNlQ2FsbGJhY2soX3JlZiA9PiB7XG4gICAgbGV0IHtcbiAgICAgIGFjdGl2ZSxcbiAgICAgIHNlbGVjdGVkXG4gICAgfSA9IF9yZWY7XG4gICAgY29uc3QgY29tbW9uUHJvcHMgPSB7XG4gICAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAgIC4uLihhY3RpdmUgJiYge1xuICAgICAgICBpZDogZmxvYXRpbmdJZCArIFwiLW9wdGlvblwiXG4gICAgICB9KVxuICAgIH07XG5cbiAgICAvLyBGb3IgYG1lbnVgLCB3ZSBhcmUgdW5hYmxlIHRvIHRlbGwgaWYgdGhlIGl0ZW0gaXMgYSBgbWVudWl0ZW1yYWRpb2BcbiAgICAvLyBvciBgbWVudWl0ZW1jaGVja2JveGAuIEZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSByZWFzb25zLCBhbHNvXG4gICAgLy8gYXZvaWQgZGVmYXVsdGluZyB0byBgbWVudWl0ZW1gIGFzIGl0IG1heSBvdmVyd3JpdGUgY3VzdG9tIHJvbGUgcHJvcHMuXG4gICAgc3dpdGNoIChyb2xlKSB7XG4gICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmNvbW1vblByb3BzLFxuICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogYWN0aXZlICYmIHNlbGVjdGVkXG4gICAgICAgIH07XG4gICAgICBjYXNlICdjb21ib2JveCc6XG4gICAgICAgIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY29tbW9uUHJvcHMsXG4gICAgICAgICAgICAuLi4oYWN0aXZlICYmIHtcbiAgICAgICAgICAgICAgJ2FyaWEtc2VsZWN0ZWQnOiB0cnVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9LCBbZmxvYXRpbmdJZCwgcm9sZV0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiBlbmFibGVkID8ge1xuICAgIHJlZmVyZW5jZSxcbiAgICBmbG9hdGluZyxcbiAgICBpdGVtXG4gIH0gOiB7fSwgW2VuYWJsZWQsIHJlZmVyZW5jZSwgZmxvYXRpbmcsIGl0ZW1dKTtcbn1cblxuLy8gQ29udmVydHMgYSBKUyBzdHlsZSBrZXkgbGlrZSBgYmFja2dyb3VuZENvbG9yYCB0byBhIENTUyB0cmFuc2l0aW9uLXByb3BlcnR5XG4vLyBsaWtlIGBiYWNrZ3JvdW5kLWNvbG9yYC5cbmNvbnN0IGNhbWVsQ2FzZVRvS2ViYWJDYXNlID0gc3RyID0+IHN0ci5yZXBsYWNlKC9bQS1aXSsoPyFbYS16XSl8W0EtWl0vZywgKCQsIG9mcykgPT4gKG9mcyA/ICctJyA6ICcnKSArICQudG9Mb3dlckNhc2UoKSk7XG5mdW5jdGlvbiBleGVjV2l0aEFyZ3NPclJldHVybih2YWx1ZU9yRm4sIGFyZ3MpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZU9yRm4gPT09ICdmdW5jdGlvbicgPyB2YWx1ZU9yRm4oYXJncykgOiB2YWx1ZU9yRm47XG59XG5mdW5jdGlvbiB1c2VEZWxheVVubW91bnQob3BlbiwgZHVyYXRpb25Ncykge1xuICBjb25zdCBbaXNNb3VudGVkLCBzZXRJc01vdW50ZWRdID0gUmVhY3QudXNlU3RhdGUob3Blbik7XG4gIGlmIChvcGVuICYmICFpc01vdW50ZWQpIHtcbiAgICBzZXRJc01vdW50ZWQodHJ1ZSk7XG4gIH1cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW9wZW4gJiYgaXNNb3VudGVkKSB7XG4gICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBzZXRJc01vdW50ZWQoZmFsc2UpLCBkdXJhdGlvbk1zKTtcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgfVxuICB9LCBbb3BlbiwgaXNNb3VudGVkLCBkdXJhdGlvbk1zXSk7XG4gIHJldHVybiBpc01vdW50ZWQ7XG59XG4vKipcbiAqIFByb3ZpZGVzIGEgc3RhdHVzIHN0cmluZyB0byBhcHBseSBDU1MgdHJhbnNpdGlvbnMgdG8gYSBmbG9hdGluZyBlbGVtZW50LFxuICogY29ycmVjdGx5IGhhbmRsaW5nIHBsYWNlbWVudC1hd2FyZSB0cmFuc2l0aW9ucy5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VUcmFuc2l0aW9uI3VzZXRyYW5zaXRpb25zdGF0dXNcbiAqL1xuZnVuY3Rpb24gdXNlVHJhbnNpdGlvblN0YXR1cyhjb250ZXh0LCBwcm9wcykge1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIGZsb2F0aW5nXG4gICAgfVxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIGR1cmF0aW9uID0gMjUwXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgaXNOdW1iZXJEdXJhdGlvbiA9IHR5cGVvZiBkdXJhdGlvbiA9PT0gJ251bWJlcic7XG4gIGNvbnN0IGNsb3NlRHVyYXRpb24gPSAoaXNOdW1iZXJEdXJhdGlvbiA/IGR1cmF0aW9uIDogZHVyYXRpb24uY2xvc2UpIHx8IDA7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSBSZWFjdC51c2VTdGF0ZSgndW5tb3VudGVkJyk7XG4gIGNvbnN0IGlzTW91bnRlZCA9IHVzZURlbGF5VW5tb3VudChvcGVuLCBjbG9zZUR1cmF0aW9uKTtcbiAgaWYgKCFpc01vdW50ZWQgJiYgc3RhdHVzID09PSAnY2xvc2UnKSB7XG4gICAgc2V0U3RhdHVzKCd1bm1vdW50ZWQnKTtcbiAgfVxuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKCFmbG9hdGluZykgcmV0dXJuO1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBzZXRTdGF0dXMoJ2luaXRpYWwnKTtcbiAgICAgIGNvbnN0IGZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgc2V0U3RhdHVzKCdvcGVuJyk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHNldFN0YXR1cygnY2xvc2UnKTtcbiAgfSwgW29wZW4sIGZsb2F0aW5nXSk7XG4gIHJldHVybiB7XG4gICAgaXNNb3VudGVkLFxuICAgIHN0YXR1c1xuICB9O1xufVxuLyoqXG4gKiBQcm92aWRlcyBzdHlsZXMgdG8gYXBwbHkgQ1NTIHRyYW5zaXRpb25zIHRvIGEgZmxvYXRpbmcgZWxlbWVudCwgY29ycmVjdGx5XG4gKiBoYW5kbGluZyBwbGFjZW1lbnQtYXdhcmUgdHJhbnNpdGlvbnMuIFdyYXBwZXIgYXJvdW5kIGB1c2VUcmFuc2l0aW9uU3RhdHVzYC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VUcmFuc2l0aW9uI3VzZXRyYW5zaXRpb25zdHlsZXNcbiAqL1xuZnVuY3Rpb24gdXNlVHJhbnNpdGlvblN0eWxlcyhjb250ZXh0LCBwcm9wcykge1xuICBpZiAocHJvcHMgPT09IHZvaWQgMCkge1xuICAgIHByb3BzID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIGluaXRpYWw6IHVuc3RhYmxlX2luaXRpYWwgPSB7XG4gICAgICBvcGFjaXR5OiAwXG4gICAgfSxcbiAgICBvcGVuOiB1bnN0YWJsZV9vcGVuLFxuICAgIGNsb3NlOiB1bnN0YWJsZV9jbG9zZSxcbiAgICBjb21tb246IHVuc3RhYmxlX2NvbW1vbixcbiAgICBkdXJhdGlvbiA9IDI1MFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBsYWNlbWVudCA9IGNvbnRleHQucGxhY2VtZW50O1xuICBjb25zdCBzaWRlID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIGNvbnN0IGZuQXJncyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBzaWRlLFxuICAgIHBsYWNlbWVudFxuICB9KSwgW3NpZGUsIHBsYWNlbWVudF0pO1xuICBjb25zdCBpc051bWJlckR1cmF0aW9uID0gdHlwZW9mIGR1cmF0aW9uID09PSAnbnVtYmVyJztcbiAgY29uc3Qgb3BlbkR1cmF0aW9uID0gKGlzTnVtYmVyRHVyYXRpb24gPyBkdXJhdGlvbiA6IGR1cmF0aW9uLm9wZW4pIHx8IDA7XG4gIGNvbnN0IGNsb3NlRHVyYXRpb24gPSAoaXNOdW1iZXJEdXJhdGlvbiA/IGR1cmF0aW9uIDogZHVyYXRpb24uY2xvc2UpIHx8IDA7XG4gIGNvbnN0IFtzdHlsZXMsIHNldFN0eWxlc10gPSBSZWFjdC51c2VTdGF0ZSgoKSA9PiAoe1xuICAgIC4uLmV4ZWNXaXRoQXJnc09yUmV0dXJuKHVuc3RhYmxlX2NvbW1vbiwgZm5BcmdzKSxcbiAgICAuLi5leGVjV2l0aEFyZ3NPclJldHVybih1bnN0YWJsZV9pbml0aWFsLCBmbkFyZ3MpXG4gIH0pKTtcbiAgY29uc3Qge1xuICAgIGlzTW91bnRlZCxcbiAgICBzdGF0dXNcbiAgfSA9IHVzZVRyYW5zaXRpb25TdGF0dXMoY29udGV4dCwge1xuICAgIGR1cmF0aW9uXG4gIH0pO1xuICBjb25zdCBpbml0aWFsUmVmID0gdXNlTGF0ZXN0UmVmKHVuc3RhYmxlX2luaXRpYWwpO1xuICBjb25zdCBvcGVuUmVmID0gdXNlTGF0ZXN0UmVmKHVuc3RhYmxlX29wZW4pO1xuICBjb25zdCBjbG9zZVJlZiA9IHVzZUxhdGVzdFJlZih1bnN0YWJsZV9jbG9zZSk7XG4gIGNvbnN0IGNvbW1vblJlZiA9IHVzZUxhdGVzdFJlZih1bnN0YWJsZV9jb21tb24pO1xuICBpbmRleCgoKSA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFN0eWxlcyA9IGV4ZWNXaXRoQXJnc09yUmV0dXJuKGluaXRpYWxSZWYuY3VycmVudCwgZm5BcmdzKTtcbiAgICBjb25zdCBjbG9zZVN0eWxlcyA9IGV4ZWNXaXRoQXJnc09yUmV0dXJuKGNsb3NlUmVmLmN1cnJlbnQsIGZuQXJncyk7XG4gICAgY29uc3QgY29tbW9uU3R5bGVzID0gZXhlY1dpdGhBcmdzT3JSZXR1cm4oY29tbW9uUmVmLmN1cnJlbnQsIGZuQXJncyk7XG4gICAgY29uc3Qgb3BlblN0eWxlcyA9IGV4ZWNXaXRoQXJnc09yUmV0dXJuKG9wZW5SZWYuY3VycmVudCwgZm5BcmdzKSB8fCBPYmplY3Qua2V5cyhpbml0aWFsU3R5bGVzKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBhY2Nba2V5XSA9ICcnO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgaWYgKHN0YXR1cyA9PT0gJ2luaXRpYWwnKSB7XG4gICAgICBzZXRTdHlsZXMoc3R5bGVzID0+ICh7XG4gICAgICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogc3R5bGVzLnRyYW5zaXRpb25Qcm9wZXJ0eSxcbiAgICAgICAgLi4uY29tbW9uU3R5bGVzLFxuICAgICAgICAuLi5pbml0aWFsU3R5bGVzXG4gICAgICB9KSk7XG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09ICdvcGVuJykge1xuICAgICAgc2V0U3R5bGVzKHtcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiBPYmplY3Qua2V5cyhvcGVuU3R5bGVzKS5tYXAoY2FtZWxDYXNlVG9LZWJhYkNhc2UpLmpvaW4oJywnKSxcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBvcGVuRHVyYXRpb24gKyBcIm1zXCIsXG4gICAgICAgIC4uLmNvbW1vblN0eWxlcyxcbiAgICAgICAgLi4ub3BlblN0eWxlc1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09ICdjbG9zZScpIHtcbiAgICAgIGNvbnN0IHN0eWxlcyA9IGNsb3NlU3R5bGVzIHx8IGluaXRpYWxTdHlsZXM7XG4gICAgICBzZXRTdHlsZXMoe1xuICAgICAgICB0cmFuc2l0aW9uUHJvcGVydHk6IE9iamVjdC5rZXlzKHN0eWxlcykubWFwKGNhbWVsQ2FzZVRvS2ViYWJDYXNlKS5qb2luKCcsJyksXG4gICAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogY2xvc2VEdXJhdGlvbiArIFwibXNcIixcbiAgICAgICAgLi4uY29tbW9uU3R5bGVzLFxuICAgICAgICAuLi5zdHlsZXNcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2Nsb3NlRHVyYXRpb24sIGNsb3NlUmVmLCBpbml0aWFsUmVmLCBvcGVuUmVmLCBjb21tb25SZWYsIG9wZW5EdXJhdGlvbiwgc3RhdHVzLCBmbkFyZ3NdKTtcbiAgcmV0dXJuIHtcbiAgICBpc01vdW50ZWQsXG4gICAgc3R5bGVzXG4gIH07XG59XG5cbi8qKlxuICogUHJvdmlkZXMgYSBtYXRjaGluZyBjYWxsYmFjayB0aGF0IGNhbiBiZSB1c2VkIHRvIGZvY3VzIGFuIGl0ZW0gYXMgdGhlIHVzZXJcbiAqIHR5cGVzLCBvZnRlbiB1c2VkIGluIHRhbmRlbSB3aXRoIGB1c2VMaXN0TmF2aWdhdGlvbigpYC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VUeXBlYWhlYWRcbiAqL1xuZnVuY3Rpb24gdXNlVHlwZWFoZWFkKGNvbnRleHQsIHByb3BzKSB7XG4gIHZhciBfcmVmO1xuICBjb25zdCB7XG4gICAgb3BlbixcbiAgICBkYXRhUmVmXG4gIH0gPSBjb250ZXh0O1xuICBjb25zdCB7XG4gICAgbGlzdFJlZixcbiAgICBhY3RpdmVJbmRleCxcbiAgICBvbk1hdGNoOiB1bnN0YWJsZV9vbk1hdGNoLFxuICAgIG9uVHlwaW5nQ2hhbmdlOiB1bnN0YWJsZV9vblR5cGluZ0NoYW5nZSxcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBmaW5kTWF0Y2ggPSBudWxsLFxuICAgIHJlc2V0TXMgPSA3NTAsXG4gICAgaWdub3JlS2V5cyA9IFtdLFxuICAgIHNlbGVjdGVkSW5kZXggPSBudWxsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgdGltZW91dElkUmVmID0gUmVhY3QudXNlUmVmKCk7XG4gIGNvbnN0IHN0cmluZ1JlZiA9IFJlYWN0LnVzZVJlZignJyk7XG4gIGNvbnN0IHByZXZJbmRleFJlZiA9IFJlYWN0LnVzZVJlZigoX3JlZiA9IHNlbGVjdGVkSW5kZXggIT0gbnVsbCA/IHNlbGVjdGVkSW5kZXggOiBhY3RpdmVJbmRleCkgIT0gbnVsbCA/IF9yZWYgOiAtMSk7XG4gIGNvbnN0IG1hdGNoSW5kZXhSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IG9uTWF0Y2ggPSB1c2VFZmZlY3RFdmVudCh1bnN0YWJsZV9vbk1hdGNoKTtcbiAgY29uc3Qgb25UeXBpbmdDaGFuZ2UgPSB1c2VFZmZlY3RFdmVudCh1bnN0YWJsZV9vblR5cGluZ0NoYW5nZSk7XG4gIGNvbnN0IGZpbmRNYXRjaFJlZiA9IHVzZUxhdGVzdFJlZihmaW5kTWF0Y2gpO1xuICBjb25zdCBpZ25vcmVLZXlzUmVmID0gdXNlTGF0ZXN0UmVmKGlnbm9yZUtleXMpO1xuICBpbmRleCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWRSZWYuY3VycmVudCk7XG4gICAgICBtYXRjaEluZGV4UmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgc3RyaW5nUmVmLmN1cnJlbnQgPSAnJztcbiAgICB9XG4gIH0sIFtvcGVuXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICAvLyBTeW5jIGFycm93IGtleSBuYXZpZ2F0aW9uIGJ1dCBub3QgdHlwZWFoZWFkIG5hdmlnYXRpb24uXG4gICAgaWYgKG9wZW4gJiYgc3RyaW5nUmVmLmN1cnJlbnQgPT09ICcnKSB7XG4gICAgICB2YXIgX3JlZjI7XG4gICAgICBwcmV2SW5kZXhSZWYuY3VycmVudCA9IChfcmVmMiA9IHNlbGVjdGVkSW5kZXggIT0gbnVsbCA/IHNlbGVjdGVkSW5kZXggOiBhY3RpdmVJbmRleCkgIT0gbnVsbCA/IF9yZWYyIDogLTE7XG4gICAgfVxuICB9LCBbb3Blbiwgc2VsZWN0ZWRJbmRleCwgYWN0aXZlSW5kZXhdKTtcbiAgY29uc3Qgc2V0VHlwaW5nQ2hhbmdlID0gdXNlRWZmZWN0RXZlbnQodmFsdWUgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKCFkYXRhUmVmLmN1cnJlbnQudHlwaW5nKSB7XG4gICAgICAgIGRhdGFSZWYuY3VycmVudC50eXBpbmcgPSB2YWx1ZTtcbiAgICAgICAgb25UeXBpbmdDaGFuZ2UodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGF0YVJlZi5jdXJyZW50LnR5cGluZykge1xuICAgICAgICBkYXRhUmVmLmN1cnJlbnQudHlwaW5nID0gdmFsdWU7XG4gICAgICAgIG9uVHlwaW5nQ2hhbmdlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBjb25zdCBvbktleURvd24gPSB1c2VFZmZlY3RFdmVudChldmVudCA9PiB7XG4gICAgZnVuY3Rpb24gZ2V0TWF0Y2hpbmdJbmRleChsaXN0LCBvcmRlcmVkTGlzdCwgc3RyaW5nKSB7XG4gICAgICBjb25zdCBzdHIgPSBmaW5kTWF0Y2hSZWYuY3VycmVudCA/IGZpbmRNYXRjaFJlZi5jdXJyZW50KG9yZGVyZWRMaXN0LCBzdHJpbmcpIDogb3JkZXJlZExpc3QuZmluZCh0ZXh0ID0+ICh0ZXh0ID09IG51bGwgPyB2b2lkIDAgOiB0ZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihzdHJpbmcudG9Mb2NhbGVMb3dlckNhc2UoKSkpID09PSAwKTtcbiAgICAgIHJldHVybiBzdHIgPyBsaXN0LmluZGV4T2Yoc3RyKSA6IC0xO1xuICAgIH1cbiAgICBjb25zdCBsaXN0Q29udGVudCA9IGxpc3RSZWYuY3VycmVudDtcbiAgICBpZiAoc3RyaW5nUmVmLmN1cnJlbnQubGVuZ3RoID4gMCAmJiBzdHJpbmdSZWYuY3VycmVudFswXSAhPT0gJyAnKSB7XG4gICAgICBpZiAoZ2V0TWF0Y2hpbmdJbmRleChsaXN0Q29udGVudCwgbGlzdENvbnRlbnQsIHN0cmluZ1JlZi5jdXJyZW50KSA9PT0gLTEpIHtcbiAgICAgICAgc2V0VHlwaW5nQ2hhbmdlKGZhbHNlKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGxpc3RDb250ZW50ID09IG51bGwgfHwgaWdub3JlS2V5c1JlZi5jdXJyZW50LmluY2x1ZGVzKGV2ZW50LmtleSkgfHxcbiAgICAvLyBDaGFyYWN0ZXIga2V5LlxuICAgIGV2ZW50LmtleS5sZW5ndGggIT09IDEgfHxcbiAgICAvLyBNb2RpZmllciBrZXkuXG4gICAgZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmFsdEtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAob3BlbiAmJiBldmVudC5rZXkgIT09ICcgJykge1xuICAgICAgc3RvcEV2ZW50KGV2ZW50KTtcbiAgICAgIHNldFR5cGluZ0NoYW5nZSh0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYWlsIG91dCBpZiB0aGUgbGlzdCBjb250YWlucyBhIHdvcmQgbGlrZSBcImxsYW1hXCIgb3IgXCJhYXJvblwiLiBUT0RPOlxuICAgIC8vIGFsbG93IGl0IGluIHRoaXMgY2FzZSwgdG9vLlxuICAgIGNvbnN0IGFsbG93UmFwaWRTdWNjZXNzaW9uT2ZGaXJzdExldHRlciA9IGxpc3RDb250ZW50LmV2ZXJ5KHRleHQgPT4ge1xuICAgICAgdmFyIF90ZXh0JCwgX3RleHQkMjtcbiAgICAgIHJldHVybiB0ZXh0ID8gKChfdGV4dCQgPSB0ZXh0WzBdKSA9PSBudWxsID8gdm9pZCAwIDogX3RleHQkLnRvTG9jYWxlTG93ZXJDYXNlKCkpICE9PSAoKF90ZXh0JDIgPSB0ZXh0WzFdKSA9PSBudWxsID8gdm9pZCAwIDogX3RleHQkMi50b0xvY2FsZUxvd2VyQ2FzZSgpKSA6IHRydWU7XG4gICAgfSk7XG5cbiAgICAvLyBBbGxvd3MgdGhlIHVzZXIgdG8gY3ljbGUgdGhyb3VnaCBpdGVtcyB0aGF0IHN0YXJ0IHdpdGggdGhlIHNhbWUgbGV0dGVyXG4gICAgLy8gaW4gcmFwaWQgc3VjY2Vzc2lvbi5cbiAgICBpZiAoYWxsb3dSYXBpZFN1Y2Nlc3Npb25PZkZpcnN0TGV0dGVyICYmIHN0cmluZ1JlZi5jdXJyZW50ID09PSBldmVudC5rZXkpIHtcbiAgICAgIHN0cmluZ1JlZi5jdXJyZW50ID0gJyc7XG4gICAgICBwcmV2SW5kZXhSZWYuY3VycmVudCA9IG1hdGNoSW5kZXhSZWYuY3VycmVudDtcbiAgICB9XG4gICAgc3RyaW5nUmVmLmN1cnJlbnQgKz0gZXZlbnQua2V5O1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWRSZWYuY3VycmVudCk7XG4gICAgdGltZW91dElkUmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHN0cmluZ1JlZi5jdXJyZW50ID0gJyc7XG4gICAgICBwcmV2SW5kZXhSZWYuY3VycmVudCA9IG1hdGNoSW5kZXhSZWYuY3VycmVudDtcbiAgICAgIHNldFR5cGluZ0NoYW5nZShmYWxzZSk7XG4gICAgfSwgcmVzZXRNcyk7XG4gICAgY29uc3QgcHJldkluZGV4ID0gcHJldkluZGV4UmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgaW5kZXggPSBnZXRNYXRjaGluZ0luZGV4KGxpc3RDb250ZW50LCBbLi4ubGlzdENvbnRlbnQuc2xpY2UoKHByZXZJbmRleCB8fCAwKSArIDEpLCAuLi5saXN0Q29udGVudC5zbGljZSgwLCAocHJldkluZGV4IHx8IDApICsgMSldLCBzdHJpbmdSZWYuY3VycmVudCk7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgb25NYXRjaChpbmRleCk7XG4gICAgICBtYXRjaEluZGV4UmVmLmN1cnJlbnQgPSBpbmRleDtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICBzdHJpbmdSZWYuY3VycmVudCA9ICcnO1xuICAgICAgc2V0VHlwaW5nQ2hhbmdlKGZhbHNlKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCByZWZlcmVuY2UgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25LZXlEb3duXG4gIH0pLCBbb25LZXlEb3duXSk7XG4gIGNvbnN0IGZsb2F0aW5nID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIG9uS2V5VXAoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICAgICAgc2V0VHlwaW5nQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sIFtvbktleURvd24sIHNldFR5cGluZ0NoYW5nZV0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiBlbmFibGVkID8ge1xuICAgIHJlZmVyZW5jZSxcbiAgICBmbG9hdGluZ1xuICB9IDoge30sIFtlbmFibGVkLCByZWZlcmVuY2UsIGZsb2F0aW5nXSk7XG59XG5cbmZ1bmN0aW9uIGdldEFyZ3NXaXRoQ3VzdG9tRmxvYXRpbmdIZWlnaHQoc3RhdGUsIGhlaWdodCkge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHJlY3RzOiB7XG4gICAgICAuLi5zdGF0ZS5yZWN0cyxcbiAgICAgIGZsb2F0aW5nOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlY3RzLmZsb2F0aW5nLFxuICAgICAgICBoZWlnaHRcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4vKipcbiAqIFBvc2l0aW9ucyB0aGUgZmxvYXRpbmcgZWxlbWVudCBzdWNoIHRoYXQgYW4gaW5uZXIgZWxlbWVudCBpbnNpZGUgb2YgaXQgaXNcbiAqIGFuY2hvcmVkIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbm5lclxuICovXG5jb25zdCBpbm5lciA9IHByb3BzID0+ICh7XG4gIG5hbWU6ICdpbm5lcicsXG4gIG9wdGlvbnM6IHByb3BzLFxuICBhc3luYyBmbihzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGxpc3RSZWYsXG4gICAgICBvdmVyZmxvd1JlZixcbiAgICAgIG9uRmFsbGJhY2tDaGFuZ2UsXG4gICAgICBvZmZzZXQ6IGlubmVyT2Zmc2V0ID0gMCxcbiAgICAgIGluZGV4ID0gMCxcbiAgICAgIG1pbkl0ZW1zVmlzaWJsZSA9IDQsXG4gICAgICByZWZlcmVuY2VPdmVyZmxvd1RocmVzaG9sZCA9IDAsXG4gICAgICBzY3JvbGxSZWYsXG4gICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICB9ID0gZXZhbHVhdGUocHJvcHMsIHN0YXRlKTtcbiAgICBjb25zdCB7XG4gICAgICByZWN0cyxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIGZsb2F0aW5nXG4gICAgICB9XG4gICAgfSA9IHN0YXRlO1xuICAgIGNvbnN0IGl0ZW0gPSBsaXN0UmVmLmN1cnJlbnRbaW5kZXhdO1xuICAgIGNvbnN0IHNjcm9sbEVsID0gKHNjcm9sbFJlZiA9PSBudWxsID8gdm9pZCAwIDogc2Nyb2xsUmVmLmN1cnJlbnQpIHx8IGZsb2F0aW5nO1xuXG4gICAgLy8gVmFsaWQgY29tYmluYXRpb25zOlxuICAgIC8vIDEuIEZsb2F0aW5nIGVsZW1lbnQgaXMgdGhlIHNjcm9sbFJlZiBhbmQgaGFzIGEgYm9yZGVyIChkZWZhdWx0KVxuICAgIC8vIDIuIEZsb2F0aW5nIGVsZW1lbnQgaXMgbm90IHRoZSBzY3JvbGxSZWYsIGZsb2F0aW5nIGVsZW1lbnQgaGFzIGEgYm9yZGVyXG4gICAgLy8gMy4gRmxvYXRpbmcgZWxlbWVudCBpcyBub3QgdGhlIHNjcm9sbFJlZiwgc2Nyb2xsUmVmIGhhcyBhIGJvcmRlclxuICAgIC8vIEZsb2F0aW5nID4gey4uLmdldEZsb2F0aW5nUHJvcHMoKX0gd3JhcHBlciA+IHNjcm9sbFJlZiA+IGl0ZW1zIGlzIG5vdFxuICAgIC8vIGFsbG93ZWQgYXMgVm9pY2VPdmVyIGRvZXNuJ3Qgd29yay5cbiAgICBjb25zdCBjbGllbnRUb3AgPSBmbG9hdGluZy5jbGllbnRUb3AgfHwgc2Nyb2xsRWwuY2xpZW50VG9wO1xuICAgIGNvbnN0IGZsb2F0aW5nSXNCb3JkZXJlZCA9IGZsb2F0aW5nLmNsaWVudFRvcCAhPT0gMDtcbiAgICBjb25zdCBzY3JvbGxFbElzQm9yZGVyZWQgPSBzY3JvbGxFbC5jbGllbnRUb3AgIT09IDA7XG4gICAgY29uc3QgZmxvYXRpbmdJc1Njcm9sbEVsID0gZmxvYXRpbmcgPT09IHNjcm9sbEVsO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgIGlmICghc3RhdGUucGxhY2VtZW50LnN0YXJ0c1dpdGgoJ2JvdHRvbScpKSB7XG4gICAgICAgIHdhcm4oJ2BwbGFjZW1lbnRgIHNpZGUgbXVzdCBiZSBcImJvdHRvbVwiIHdoZW4gdXNpbmcgdGhlIGBpbm5lcmAnLCAnbWlkZGxld2FyZS4nKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFpdGVtKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IG5leHRBcmdzID0ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICAuLi4oYXdhaXQgb2Zmc2V0KC1pdGVtLm9mZnNldFRvcCAtIGZsb2F0aW5nLmNsaWVudFRvcCAtIHJlY3RzLnJlZmVyZW5jZS5oZWlnaHQgLyAyIC0gaXRlbS5vZmZzZXRIZWlnaHQgLyAyIC0gaW5uZXJPZmZzZXQpLmZuKHN0YXRlKSlcbiAgICB9O1xuICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coZ2V0QXJnc1dpdGhDdXN0b21GbG9hdGluZ0hlaWdodChuZXh0QXJncywgc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0ICsgY2xpZW50VG9wICsgZmxvYXRpbmcuY2xpZW50VG9wKSwgZGV0ZWN0T3ZlcmZsb3dPcHRpb25zKTtcbiAgICBjb25zdCByZWZPdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KG5leHRBcmdzLCB7XG4gICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnMsXG4gICAgICBlbGVtZW50Q29udGV4dDogJ3JlZmVyZW5jZSdcbiAgICB9KTtcbiAgICBjb25zdCBkaWZmWSA9IG1heCgwLCBvdmVyZmxvdy50b3ApO1xuICAgIGNvbnN0IG5leHRZID0gbmV4dEFyZ3MueSArIGRpZmZZO1xuICAgIGNvbnN0IGlzU2Nyb2xsYWJsZSA9IHNjcm9sbEVsLnNjcm9sbEhlaWdodCA+IHNjcm9sbEVsLmNsaWVudEhlaWdodDtcbiAgICBjb25zdCByb3VuZGVyID0gaXNTY3JvbGxhYmxlID8gdiA9PiB2IDogcm91bmQ7XG4gICAgY29uc3QgbWF4SGVpZ2h0ID0gcm91bmRlcihtYXgoMCwgc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0ICsgKGZsb2F0aW5nSXNCb3JkZXJlZCAmJiBmbG9hdGluZ0lzU2Nyb2xsRWwgfHwgc2Nyb2xsRWxJc0JvcmRlcmVkID8gY2xpZW50VG9wICogMiA6IDApIC0gZGlmZlkgLSBtYXgoMCwgb3ZlcmZsb3cuYm90dG9tKSkpO1xuICAgIHNjcm9sbEVsLnN0eWxlLm1heEhlaWdodCA9IG1heEhlaWdodCArIFwicHhcIjtcbiAgICBzY3JvbGxFbC5zY3JvbGxUb3AgPSBkaWZmWTtcblxuICAgIC8vIFRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UsIGZhbGxiYWNrIHRvIHN0YW5kYXJkIGFuY2hvcmVkIHBvc2l0aW9uaW5nXG4gICAgaWYgKG9uRmFsbGJhY2tDaGFuZ2UpIHtcbiAgICAgIGNvbnN0IHNob3VsZEZhbGxiYWNrID0gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0IDwgaXRlbS5vZmZzZXRIZWlnaHQgKiBtaW4obWluSXRlbXNWaXNpYmxlLCBsaXN0UmVmLmN1cnJlbnQubGVuZ3RoKSAtIDEgfHwgcmVmT3ZlcmZsb3cudG9wID49IC1yZWZlcmVuY2VPdmVyZmxvd1RocmVzaG9sZCB8fCByZWZPdmVyZmxvdy5ib3R0b20gPj0gLXJlZmVyZW5jZU92ZXJmbG93VGhyZXNob2xkO1xuICAgICAgUmVhY3RET00uZmx1c2hTeW5jKCgpID0+IG9uRmFsbGJhY2tDaGFuZ2Uoc2hvdWxkRmFsbGJhY2spKTtcbiAgICB9XG4gICAgaWYgKG92ZXJmbG93UmVmKSB7XG4gICAgICBvdmVyZmxvd1JlZi5jdXJyZW50ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coZ2V0QXJnc1dpdGhDdXN0b21GbG9hdGluZ0hlaWdodCh7XG4gICAgICAgIC4uLm5leHRBcmdzLFxuICAgICAgICB5OiBuZXh0WVxuICAgICAgfSwgc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0ICsgY2xpZW50VG9wICsgZmxvYXRpbmcuY2xpZW50VG9wKSwgZGV0ZWN0T3ZlcmZsb3dPcHRpb25zKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHk6IG5leHRZXG4gICAgfTtcbiAgfVxufSk7XG4vKipcbiAqIENoYW5nZXMgdGhlIGBpbm5lcmAgbWlkZGxld2FyZSdzIGBvZmZzZXRgIHVwb24gYSBgd2hlZWxgIGV2ZW50IHRvXG4gKiBleHBhbmQgdGhlIGZsb2F0aW5nIGVsZW1lbnQncyBoZWlnaHQsIHJldmVhbGluZyBtb3JlIGxpc3QgaXRlbXMuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaW5uZXJcbiAqL1xuZnVuY3Rpb24gdXNlSW5uZXJPZmZzZXQoY29udGV4dCwgcHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIG9wZW4sXG4gICAgZWxlbWVudHNcbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkID0gdHJ1ZSxcbiAgICBvdmVyZmxvd1JlZixcbiAgICBzY3JvbGxSZWYsXG4gICAgb25DaGFuZ2U6IHVuc3RhYmxlX29uQ2hhbmdlXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VFZmZlY3RFdmVudCh1bnN0YWJsZV9vbkNoYW5nZSk7XG4gIGNvbnN0IGNvbnRyb2xsZWRTY3JvbGxpbmdSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCBwcmV2U2Nyb2xsVG9wUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBpbml0aWFsT3ZlcmZsb3dSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm47XG4gICAgZnVuY3Rpb24gb25XaGVlbChlKSB7XG4gICAgICBpZiAoZS5jdHJsS2V5IHx8ICFlbCB8fCBvdmVyZmxvd1JlZi5jdXJyZW50ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZFkgPSBlLmRlbHRhWTtcbiAgICAgIGNvbnN0IGlzQXRUb3AgPSBvdmVyZmxvd1JlZi5jdXJyZW50LnRvcCA+PSAtMC41O1xuICAgICAgY29uc3QgaXNBdEJvdHRvbSA9IG92ZXJmbG93UmVmLmN1cnJlbnQuYm90dG9tID49IC0wLjU7XG4gICAgICBjb25zdCByZW1haW5pbmdTY3JvbGwgPSBlbC5zY3JvbGxIZWlnaHQgLSBlbC5jbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCBzaWduID0gZFkgPCAwID8gLTEgOiAxO1xuICAgICAgY29uc3QgbWV0aG9kID0gZFkgPCAwID8gJ21heCcgOiAnbWluJztcbiAgICAgIGlmIChlbC5zY3JvbGxIZWlnaHQgPD0gZWwuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICghaXNBdFRvcCAmJiBkWSA+IDAgfHwgIWlzQXRCb3R0b20gJiYgZFkgPCAwKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgUmVhY3RET00uZmx1c2hTeW5jKCgpID0+IHtcbiAgICAgICAgICBvbkNoYW5nZShkID0+IGQgKyBNYXRoW21ldGhvZF0oZFksIHJlbWFpbmluZ1Njcm9sbCAqIHNpZ24pKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKC9maXJlZm94L2kudGVzdChnZXRVc2VyQWdlbnQoKSkpIHtcbiAgICAgICAgLy8gTmVlZGVkIHRvIHByb3BhZ2F0ZSBzY3JvbGxpbmcgZHVyaW5nIG1vbWVudHVtIHNjcm9sbGluZyBwaGFzZSBvbmNlXG4gICAgICAgIC8vIGl0IGdldHMgbGltaXRlZCBieSB0aGUgYm91bmRhcnkuIFVYIGltcHJvdmVtZW50LCBub3QgY3JpdGljYWwuXG4gICAgICAgIGVsLnNjcm9sbFRvcCArPSBkWTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZWwgPSAoc2Nyb2xsUmVmID09IG51bGwgPyB2b2lkIDAgOiBzY3JvbGxSZWYuY3VycmVudCkgfHwgZWxlbWVudHMuZmxvYXRpbmc7XG4gICAgaWYgKG9wZW4gJiYgZWwpIHtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCk7XG5cbiAgICAgIC8vIFdhaXQgZm9yIHRoZSBwb3NpdGlvbiB0byBiZSByZWFkeS5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHByZXZTY3JvbGxUb3BSZWYuY3VycmVudCA9IGVsLnNjcm9sbFRvcDtcbiAgICAgICAgaWYgKG92ZXJmbG93UmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICAgIGluaXRpYWxPdmVyZmxvd1JlZi5jdXJyZW50ID0ge1xuICAgICAgICAgICAgLi4ub3ZlcmZsb3dSZWYuY3VycmVudFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldlNjcm9sbFRvcFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgaW5pdGlhbE92ZXJmbG93UmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uV2hlZWwpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtlbmFibGVkLCBvcGVuLCBlbGVtZW50cy5mbG9hdGluZywgb3ZlcmZsb3dSZWYsIHNjcm9sbFJlZiwgb25DaGFuZ2VdKTtcbiAgY29uc3QgZmxvYXRpbmcgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgb25LZXlEb3duKCkge1xuICAgICAgY29udHJvbGxlZFNjcm9sbGluZ1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9LFxuICAgIG9uV2hlZWwoKSB7XG4gICAgICBjb250cm9sbGVkU2Nyb2xsaW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9LFxuICAgIG9uUG9pbnRlck1vdmUoKSB7XG4gICAgICBjb250cm9sbGVkU2Nyb2xsaW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9LFxuICAgIG9uU2Nyb2xsKCkge1xuICAgICAgY29uc3QgZWwgPSAoc2Nyb2xsUmVmID09IG51bGwgPyB2b2lkIDAgOiBzY3JvbGxSZWYuY3VycmVudCkgfHwgZWxlbWVudHMuZmxvYXRpbmc7XG4gICAgICBpZiAoIW92ZXJmbG93UmVmLmN1cnJlbnQgfHwgIWVsIHx8ICFjb250cm9sbGVkU2Nyb2xsaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHByZXZTY3JvbGxUb3BSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzY3JvbGxEaWZmID0gZWwuc2Nyb2xsVG9wIC0gcHJldlNjcm9sbFRvcFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAob3ZlcmZsb3dSZWYuY3VycmVudC5ib3R0b20gPCAtMC41ICYmIHNjcm9sbERpZmYgPCAtMSB8fCBvdmVyZmxvd1JlZi5jdXJyZW50LnRvcCA8IC0wLjUgJiYgc2Nyb2xsRGlmZiA+IDEpIHtcbiAgICAgICAgICBSZWFjdERPTS5mbHVzaFN5bmMoKCkgPT4gb25DaGFuZ2UoZCA9PiBkICsgc2Nyb2xsRGlmZikpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFtGaXJlZm94XSBXYWl0IGZvciB0aGUgaGVpZ2h0IGNoYW5nZSB0byBoYXZlIGJlZW4gYXBwbGllZC5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHByZXZTY3JvbGxUb3BSZWYuY3VycmVudCA9IGVsLnNjcm9sbFRvcDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSksIFtlbGVtZW50cy5mbG9hdGluZywgb25DaGFuZ2UsIG92ZXJmbG93UmVmLCBzY3JvbGxSZWZdKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHtcbiAgICBmbG9hdGluZ1xuICB9IDoge30sIFtlbmFibGVkLCBmbG9hdGluZ10pO1xufVxuXG5mdW5jdGlvbiBpc1BvaW50SW5Qb2x5Z29uKHBvaW50LCBwb2x5Z29uKSB7XG4gIGNvbnN0IFt4LCB5XSA9IHBvaW50O1xuICBsZXQgaXNJbnNpZGUgPSBmYWxzZTtcbiAgY29uc3QgbGVuZ3RoID0gcG9seWdvbi5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwLCBqID0gbGVuZ3RoIC0gMTsgaSA8IGxlbmd0aDsgaiA9IGkrKykge1xuICAgIGNvbnN0IFt4aSwgeWldID0gcG9seWdvbltpXSB8fCBbMCwgMF07XG4gICAgY29uc3QgW3hqLCB5al0gPSBwb2x5Z29uW2pdIHx8IFswLCAwXTtcbiAgICBjb25zdCBpbnRlcnNlY3QgPSB5aSA+PSB5ICE9PSB5aiA+PSB5ICYmIHggPD0gKHhqIC0geGkpICogKHkgLSB5aSkgLyAoeWogLSB5aSkgKyB4aTtcbiAgICBpZiAoaW50ZXJzZWN0KSB7XG4gICAgICBpc0luc2lkZSA9ICFpc0luc2lkZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGlzSW5zaWRlO1xufVxuZnVuY3Rpb24gaXNJbnNpZGUocG9pbnQsIHJlY3QpIHtcbiAgcmV0dXJuIHBvaW50WzBdID49IHJlY3QueCAmJiBwb2ludFswXSA8PSByZWN0LnggKyByZWN0LndpZHRoICYmIHBvaW50WzFdID49IHJlY3QueSAmJiBwb2ludFsxXSA8PSByZWN0LnkgKyByZWN0LmhlaWdodDtcbn1cbi8qKlxuICogR2VuZXJhdGVzIGEgc2FmZSBwb2x5Z29uIGFyZWEgdGhhdCB0aGUgdXNlciBjYW4gdHJhdmVyc2Ugd2l0aG91dCBjbG9zaW5nIHRoZVxuICogZmxvYXRpbmcgZWxlbWVudCBvbmNlIGxlYXZpbmcgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3VzZUhvdmVyI3NhZmVwb2x5Z29uXG4gKi9cbmZ1bmN0aW9uIHNhZmVQb2x5Z29uKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgYnVmZmVyID0gMC41LFxuICAgIGJsb2NrUG9pbnRlckV2ZW50cyA9IGZhbHNlLFxuICAgIHJlcXVpcmVJbnRlbnQgPSB0cnVlXG4gIH0gPSBvcHRpb25zO1xuICBsZXQgdGltZW91dElkO1xuICBsZXQgaGFzTGFuZGVkID0gZmFsc2U7XG4gIGxldCBsYXN0WCA9IG51bGw7XG4gIGxldCBsYXN0WSA9IG51bGw7XG4gIGxldCBsYXN0Q3Vyc29yVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICBmdW5jdGlvbiBnZXRDdXJzb3JTcGVlZCh4LCB5KSB7XG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICBjb25zdCBlbGFwc2VkVGltZSA9IGN1cnJlbnRUaW1lIC0gbGFzdEN1cnNvclRpbWU7XG4gICAgaWYgKGxhc3RYID09PSBudWxsIHx8IGxhc3RZID09PSBudWxsIHx8IGVsYXBzZWRUaW1lID09PSAwKSB7XG4gICAgICBsYXN0WCA9IHg7XG4gICAgICBsYXN0WSA9IHk7XG4gICAgICBsYXN0Q3Vyc29yVGltZSA9IGN1cnJlbnRUaW1lO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRlbHRhWCA9IHggLSBsYXN0WDtcbiAgICBjb25zdCBkZWx0YVkgPSB5IC0gbGFzdFk7XG4gICAgY29uc3QgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZGVsdGFYICogZGVsdGFYICsgZGVsdGFZICogZGVsdGFZKTtcbiAgICBjb25zdCBzcGVlZCA9IGRpc3RhbmNlIC8gZWxhcHNlZFRpbWU7IC8vIHB4IC8gbXNcblxuICAgIGxhc3RYID0geDtcbiAgICBsYXN0WSA9IHk7XG4gICAgbGFzdEN1cnNvclRpbWUgPSBjdXJyZW50VGltZTtcbiAgICByZXR1cm4gc3BlZWQ7XG4gIH1cbiAgY29uc3QgZm4gPSBfcmVmID0+IHtcbiAgICBsZXQge1xuICAgICAgeCxcbiAgICAgIHksXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBlbGVtZW50cyxcbiAgICAgIG9uQ2xvc2UsXG4gICAgICBub2RlSWQsXG4gICAgICB0cmVlXG4gICAgfSA9IF9yZWY7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG9uTW91c2VNb3ZlKGV2ZW50KSB7XG4gICAgICBmdW5jdGlvbiBjbG9zZSgpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgIH1cbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgaWYgKCFlbGVtZW50cy5kb21SZWZlcmVuY2UgfHwgIWVsZW1lbnRzLmZsb2F0aW5nIHx8IHBsYWNlbWVudCA9PSBudWxsIHx8IHggPT0gbnVsbCB8fCB5ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qge1xuICAgICAgICBjbGllbnRYLFxuICAgICAgICBjbGllbnRZXG4gICAgICB9ID0gZXZlbnQ7XG4gICAgICBjb25zdCBjbGllbnRQb2ludCA9IFtjbGllbnRYLCBjbGllbnRZXTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChldmVudCk7XG4gICAgICBjb25zdCBpc0xlYXZlID0gZXZlbnQudHlwZSA9PT0gJ21vdXNlbGVhdmUnO1xuICAgICAgY29uc3QgaXNPdmVyRmxvYXRpbmdFbCA9IGNvbnRhaW5zKGVsZW1lbnRzLmZsb2F0aW5nLCB0YXJnZXQpO1xuICAgICAgY29uc3QgaXNPdmVyUmVmZXJlbmNlRWwgPSBjb250YWlucyhlbGVtZW50cy5kb21SZWZlcmVuY2UsIHRhcmdldCk7XG4gICAgICBjb25zdCByZWZSZWN0ID0gZWxlbWVudHMuZG9tUmVmZXJlbmNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcmVjdCA9IGVsZW1lbnRzLmZsb2F0aW5nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3Qgc2lkZSA9IHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICAgICAgY29uc3QgY3Vyc29yTGVhdmVGcm9tUmlnaHQgPSB4ID4gcmVjdC5yaWdodCAtIHJlY3Qud2lkdGggLyAyO1xuICAgICAgY29uc3QgY3Vyc29yTGVhdmVGcm9tQm90dG9tID0geSA+IHJlY3QuYm90dG9tIC0gcmVjdC5oZWlnaHQgLyAyO1xuICAgICAgY29uc3QgaXNPdmVyUmVmZXJlbmNlUmVjdCA9IGlzSW5zaWRlKGNsaWVudFBvaW50LCByZWZSZWN0KTtcbiAgICAgIGNvbnN0IGlzRmxvYXRpbmdXaWRlciA9IHJlY3Qud2lkdGggPiByZWZSZWN0LndpZHRoO1xuICAgICAgY29uc3QgaXNGbG9hdGluZ1RhbGxlciA9IHJlY3QuaGVpZ2h0ID4gcmVmUmVjdC5oZWlnaHQ7XG4gICAgICBjb25zdCBsZWZ0ID0gKGlzRmxvYXRpbmdXaWRlciA/IHJlZlJlY3QgOiByZWN0KS5sZWZ0O1xuICAgICAgY29uc3QgcmlnaHQgPSAoaXNGbG9hdGluZ1dpZGVyID8gcmVmUmVjdCA6IHJlY3QpLnJpZ2h0O1xuICAgICAgY29uc3QgdG9wID0gKGlzRmxvYXRpbmdUYWxsZXIgPyByZWZSZWN0IDogcmVjdCkudG9wO1xuICAgICAgY29uc3QgYm90dG9tID0gKGlzRmxvYXRpbmdUYWxsZXIgPyByZWZSZWN0IDogcmVjdCkuYm90dG9tO1xuICAgICAgaWYgKGlzT3ZlckZsb2F0aW5nRWwpIHtcbiAgICAgICAgaGFzTGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKCFpc0xlYXZlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNPdmVyUmVmZXJlbmNlRWwpIHtcbiAgICAgICAgaGFzTGFuZGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoaXNPdmVyUmVmZXJlbmNlRWwgJiYgIWlzTGVhdmUpIHtcbiAgICAgICAgaGFzTGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBQcmV2ZW50IG92ZXJsYXBwaW5nIGZsb2F0aW5nIGVsZW1lbnQgZnJvbSBiZWluZyBzdHVjayBpbiBhbiBvcGVuLWNsb3NlXG4gICAgICAvLyBsb29wOiBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzE5MTBcbiAgICAgIGlmIChpc0xlYXZlICYmIGlzRWxlbWVudChldmVudC5yZWxhdGVkVGFyZ2V0KSAmJiBjb250YWlucyhlbGVtZW50cy5mbG9hdGluZywgZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBhbnkgbmVzdGVkIGNoaWxkIGlzIG9wZW4sIGFib3J0LlxuICAgICAgaWYgKHRyZWUgJiYgZ2V0Q2hpbGRyZW4odHJlZS5ub2Rlc1JlZi5jdXJyZW50LCBub2RlSWQpLnNvbWUoX3JlZjIgPT4ge1xuICAgICAgICBsZXQge1xuICAgICAgICAgIGNvbnRleHRcbiAgICAgICAgfSA9IF9yZWYyO1xuICAgICAgICByZXR1cm4gY29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogY29udGV4dC5vcGVuO1xuICAgICAgfSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgcG9pbnRlciBpcyBsZWF2aW5nIGZyb20gdGhlIG9wcG9zaXRlIHNpZGUsIHRoZSBcImJ1ZmZlclwiIGxvZ2ljXG4gICAgICAvLyBjcmVhdGVzIGEgcG9pbnQgd2hlcmUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgcmVtYWlucyBvcGVuLCBidXQgc2hvdWxkIGJlXG4gICAgICAvLyBpZ25vcmVkLlxuICAgICAgLy8gQSBjb25zdGFudCBvZiAxIGhhbmRsZXMgZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcgZXJyb3JzLlxuICAgICAgaWYgKHNpZGUgPT09ICd0b3AnICYmIHkgPj0gcmVmUmVjdC5ib3R0b20gLSAxIHx8IHNpZGUgPT09ICdib3R0b20nICYmIHkgPD0gcmVmUmVjdC50b3AgKyAxIHx8IHNpZGUgPT09ICdsZWZ0JyAmJiB4ID49IHJlZlJlY3QucmlnaHQgLSAxIHx8IHNpZGUgPT09ICdyaWdodCcgJiYgeCA8PSByZWZSZWN0LmxlZnQgKyAxKSB7XG4gICAgICAgIHJldHVybiBjbG9zZSgpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZ25vcmUgd2hlbiB0aGUgY3Vyc29yIGlzIHdpdGhpbiB0aGUgcmVjdGFuZ3VsYXIgdHJvdWdoIGJldHdlZW4gdGhlXG4gICAgICAvLyB0d28gZWxlbWVudHMuIFNpbmNlIHRoZSB0cmlhbmdsZSBpcyBjcmVhdGVkIGZyb20gdGhlIGN1cnNvciBwb2ludCxcbiAgICAgIC8vIHdoaWNoIGNhbiBzdGFydCBiZXlvbmQgdGhlIHJlZiBlbGVtZW50J3MgZWRnZSwgdHJhdmVyc2luZyBiYWNrIGFuZFxuICAgICAgLy8gZm9ydGggZnJvbSB0aGUgcmVmIHRvIHRoZSBmbG9hdGluZyBlbGVtZW50IGNhbiBjYXVzZSBpdCB0byBjbG9zZS4gVGhpc1xuICAgICAgLy8gZW5zdXJlcyBpdCBhbHdheXMgcmVtYWlucyBvcGVuIGluIHRoYXQgY2FzZS5cbiAgICAgIGxldCByZWN0UG9seSA9IFtdO1xuICAgICAgc3dpdGNoIChzaWRlKSB7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgcmVjdFBvbHkgPSBbW2xlZnQsIHJlZlJlY3QudG9wICsgMV0sIFtsZWZ0LCByZWN0LmJvdHRvbSAtIDFdLCBbcmlnaHQsIHJlY3QuYm90dG9tIC0gMV0sIFtyaWdodCwgcmVmUmVjdC50b3AgKyAxXV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgcmVjdFBvbHkgPSBbW2xlZnQsIHJlY3QudG9wICsgMV0sIFtsZWZ0LCByZWZSZWN0LmJvdHRvbSAtIDFdLCBbcmlnaHQsIHJlZlJlY3QuYm90dG9tIC0gMV0sIFtyaWdodCwgcmVjdC50b3AgKyAxXV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIHJlY3RQb2x5ID0gW1tyZWN0LnJpZ2h0IC0gMSwgYm90dG9tXSwgW3JlY3QucmlnaHQgLSAxLCB0b3BdLCBbcmVmUmVjdC5sZWZ0ICsgMSwgdG9wXSwgW3JlZlJlY3QubGVmdCArIDEsIGJvdHRvbV1dO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgcmVjdFBvbHkgPSBbW3JlZlJlY3QucmlnaHQgLSAxLCBib3R0b21dLCBbcmVmUmVjdC5yaWdodCAtIDEsIHRvcF0sIFtyZWN0LmxlZnQgKyAxLCB0b3BdLCBbcmVjdC5sZWZ0ICsgMSwgYm90dG9tXV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBnZXRQb2x5Z29uKF9yZWYzKSB7XG4gICAgICAgIGxldCBbeCwgeV0gPSBfcmVmMztcbiAgICAgICAgc3dpdGNoIChzaWRlKSB7XG4gICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRPbmUgPSBbaXNGbG9hdGluZ1dpZGVyID8geCArIGJ1ZmZlciAvIDIgOiBjdXJzb3JMZWF2ZUZyb21SaWdodCA/IHggKyBidWZmZXIgKiA0IDogeCAtIGJ1ZmZlciAqIDQsIHkgKyBidWZmZXIgKyAxXTtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRUd28gPSBbaXNGbG9hdGluZ1dpZGVyID8geCAtIGJ1ZmZlciAvIDIgOiBjdXJzb3JMZWF2ZUZyb21SaWdodCA/IHggKyBidWZmZXIgKiA0IDogeCAtIGJ1ZmZlciAqIDQsIHkgKyBidWZmZXIgKyAxXTtcbiAgICAgICAgICAgICAgY29uc3QgY29tbW9uUG9pbnRzID0gW1tyZWN0LmxlZnQsIGN1cnNvckxlYXZlRnJvbVJpZ2h0ID8gcmVjdC5ib3R0b20gLSBidWZmZXIgOiBpc0Zsb2F0aW5nV2lkZXIgPyByZWN0LmJvdHRvbSAtIGJ1ZmZlciA6IHJlY3QudG9wXSwgW3JlY3QucmlnaHQsIGN1cnNvckxlYXZlRnJvbVJpZ2h0ID8gaXNGbG9hdGluZ1dpZGVyID8gcmVjdC5ib3R0b20gLSBidWZmZXIgOiByZWN0LnRvcCA6IHJlY3QuYm90dG9tIC0gYnVmZmVyXV07XG4gICAgICAgICAgICAgIHJldHVybiBbY3Vyc29yUG9pbnRPbmUsIGN1cnNvclBvaW50VHdvLCAuLi5jb21tb25Qb2ludHNdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvaW50T25lID0gW2lzRmxvYXRpbmdXaWRlciA/IHggKyBidWZmZXIgLyAyIDogY3Vyc29yTGVhdmVGcm9tUmlnaHQgPyB4ICsgYnVmZmVyICogNCA6IHggLSBidWZmZXIgKiA0LCB5IC0gYnVmZmVyXTtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRUd28gPSBbaXNGbG9hdGluZ1dpZGVyID8geCAtIGJ1ZmZlciAvIDIgOiBjdXJzb3JMZWF2ZUZyb21SaWdodCA/IHggKyBidWZmZXIgKiA0IDogeCAtIGJ1ZmZlciAqIDQsIHkgLSBidWZmZXJdO1xuICAgICAgICAgICAgICBjb25zdCBjb21tb25Qb2ludHMgPSBbW3JlY3QubGVmdCwgY3Vyc29yTGVhdmVGcm9tUmlnaHQgPyByZWN0LnRvcCArIGJ1ZmZlciA6IGlzRmxvYXRpbmdXaWRlciA/IHJlY3QudG9wICsgYnVmZmVyIDogcmVjdC5ib3R0b21dLCBbcmVjdC5yaWdodCwgY3Vyc29yTGVhdmVGcm9tUmlnaHQgPyBpc0Zsb2F0aW5nV2lkZXIgPyByZWN0LnRvcCArIGJ1ZmZlciA6IHJlY3QuYm90dG9tIDogcmVjdC50b3AgKyBidWZmZXJdXTtcbiAgICAgICAgICAgICAgcmV0dXJuIFtjdXJzb3JQb2ludE9uZSwgY3Vyc29yUG9pbnRUd28sIC4uLmNvbW1vblBvaW50c107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvaW50T25lID0gW3ggKyBidWZmZXIgKyAxLCBpc0Zsb2F0aW5nVGFsbGVyID8geSArIGJ1ZmZlciAvIDIgOiBjdXJzb3JMZWF2ZUZyb21Cb3R0b20gPyB5ICsgYnVmZmVyICogNCA6IHkgLSBidWZmZXIgKiA0XTtcbiAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9pbnRUd28gPSBbeCArIGJ1ZmZlciArIDEsIGlzRmxvYXRpbmdUYWxsZXIgPyB5IC0gYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbUJvdHRvbSA/IHkgKyBidWZmZXIgKiA0IDogeSAtIGJ1ZmZlciAqIDRdO1xuICAgICAgICAgICAgICBjb25zdCBjb21tb25Qb2ludHMgPSBbW2N1cnNvckxlYXZlRnJvbUJvdHRvbSA/IHJlY3QucmlnaHQgLSBidWZmZXIgOiBpc0Zsb2F0aW5nVGFsbGVyID8gcmVjdC5yaWdodCAtIGJ1ZmZlciA6IHJlY3QubGVmdCwgcmVjdC50b3BdLCBbY3Vyc29yTGVhdmVGcm9tQm90dG9tID8gaXNGbG9hdGluZ1RhbGxlciA/IHJlY3QucmlnaHQgLSBidWZmZXIgOiByZWN0LmxlZnQgOiByZWN0LnJpZ2h0IC0gYnVmZmVyLCByZWN0LmJvdHRvbV1dO1xuICAgICAgICAgICAgICByZXR1cm4gWy4uLmNvbW1vblBvaW50cywgY3Vyc29yUG9pbnRPbmUsIGN1cnNvclBvaW50VHdvXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvaW50T25lID0gW3ggLSBidWZmZXIsIGlzRmxvYXRpbmdUYWxsZXIgPyB5ICsgYnVmZmVyIC8gMiA6IGN1cnNvckxlYXZlRnJvbUJvdHRvbSA/IHkgKyBidWZmZXIgKiA0IDogeSAtIGJ1ZmZlciAqIDRdO1xuICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb2ludFR3byA9IFt4IC0gYnVmZmVyLCBpc0Zsb2F0aW5nVGFsbGVyID8geSAtIGJ1ZmZlciAvIDIgOiBjdXJzb3JMZWF2ZUZyb21Cb3R0b20gPyB5ICsgYnVmZmVyICogNCA6IHkgLSBidWZmZXIgKiA0XTtcbiAgICAgICAgICAgICAgY29uc3QgY29tbW9uUG9pbnRzID0gW1tjdXJzb3JMZWF2ZUZyb21Cb3R0b20gPyByZWN0LmxlZnQgKyBidWZmZXIgOiBpc0Zsb2F0aW5nVGFsbGVyID8gcmVjdC5sZWZ0ICsgYnVmZmVyIDogcmVjdC5yaWdodCwgcmVjdC50b3BdLCBbY3Vyc29yTGVhdmVGcm9tQm90dG9tID8gaXNGbG9hdGluZ1RhbGxlciA/IHJlY3QubGVmdCArIGJ1ZmZlciA6IHJlY3QucmlnaHQgOiByZWN0LmxlZnQgKyBidWZmZXIsIHJlY3QuYm90dG9tXV07XG4gICAgICAgICAgICAgIHJldHVybiBbY3Vyc29yUG9pbnRPbmUsIGN1cnNvclBvaW50VHdvLCAuLi5jb21tb25Qb2ludHNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNQb2ludEluUG9seWdvbihbY2xpZW50WCwgY2xpZW50WV0sIHJlY3RQb2x5KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaGFzTGFuZGVkICYmICFpc092ZXJSZWZlcmVuY2VSZWN0KSB7XG4gICAgICAgIHJldHVybiBjbG9zZSgpO1xuICAgICAgfVxuICAgICAgaWYgKCFpc0xlYXZlICYmIHJlcXVpcmVJbnRlbnQpIHtcbiAgICAgICAgY29uc3QgY3Vyc29yU3BlZWQgPSBnZXRDdXJzb3JTcGVlZChldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKTtcbiAgICAgICAgY29uc3QgY3Vyc29yU3BlZWRUaHJlc2hvbGQgPSAwLjE7XG4gICAgICAgIGlmIChjdXJzb3JTcGVlZCAhPT0gbnVsbCAmJiBjdXJzb3JTcGVlZCA8IGN1cnNvclNwZWVkVGhyZXNob2xkKSB7XG4gICAgICAgICAgcmV0dXJuIGNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaXNQb2ludEluUG9seWdvbihbY2xpZW50WCwgY2xpZW50WV0sIGdldFBvbHlnb24oW3gsIHldKSkpIHtcbiAgICAgICAgY2xvc2UoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWhhc0xhbmRlZCAmJiByZXF1aXJlSW50ZW50KSB7XG4gICAgICAgIHRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGNsb3NlLCA0MCk7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbiAgZm4uX19vcHRpb25zID0ge1xuICAgIGJsb2NrUG9pbnRlckV2ZW50c1xuICB9O1xuICByZXR1cm4gZm47XG59XG5cbmV4cG9ydCB7IENvbXBvc2l0ZSwgQ29tcG9zaXRlSXRlbSwgRmxvYXRpbmdBcnJvdywgRmxvYXRpbmdEZWxheUdyb3VwLCBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdMaXN0LCBGbG9hdGluZ05vZGUsIEZsb2F0aW5nT3ZlcmxheSwgRmxvYXRpbmdQb3J0YWwsIEZsb2F0aW5nVHJlZSwgaW5uZXIsIHNhZmVQb2x5Z29uLCB1c2VDbGljaywgdXNlQ2xpZW50UG9pbnQsIHVzZURlbGF5R3JvdXAsIHVzZURlbGF5R3JvdXBDb250ZXh0LCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZywgdXNlRmxvYXRpbmdOb2RlSWQsIHVzZUZsb2F0aW5nUGFyZW50Tm9kZUlkLCB1c2VGbG9hdGluZ1BvcnRhbE5vZGUsIHVzZUZsb2F0aW5nUm9vdENvbnRleHQsIHVzZUZsb2F0aW5nVHJlZSwgdXNlRm9jdXMsIHVzZUhvdmVyLCB1c2VJZCwgdXNlSW5uZXJPZmZzZXQsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdEl0ZW0sIHVzZUxpc3ROYXZpZ2F0aW9uLCB1c2VNZXJnZVJlZnMsIHVzZVJvbGUsIHVzZVRyYW5zaXRpb25TdGF0dXMsIHVzZVRyYW5zaXRpb25TdHlsZXMsIHVzZVR5cGVhaGVhZCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs":
 | 
						||
/*!********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+utils@0.2.10/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrcmVhY3RAMC4yNi4yOF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvcmVhY3QvZGlzdC9mbG9hdGluZy11aS5yZWFjdC51dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXFFOztBQUVyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixvRUFBWTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHFFQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFaVQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BmbG9hdGluZy11aStyZWFjdEAwLjI2LjI4X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS9yZWFjdC9kaXN0L2Zsb2F0aW5nLXVpLnJlYWN0LnV0aWxzLm1qcz9iNmI1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2hhZG93Um9vdCwgaXNIVE1MRWxlbWVudCB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscy9kb20nO1xuXG5mdW5jdGlvbiBhY3RpdmVFbGVtZW50KGRvYykge1xuICBsZXQgYWN0aXZlRWxlbWVudCA9IGRvYy5hY3RpdmVFbGVtZW50O1xuICB3aGlsZSAoKChfYWN0aXZlRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQpID09IG51bGwgfHwgKF9hY3RpdmVFbGVtZW50ID0gX2FjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hY3RpdmVFbGVtZW50LmFjdGl2ZUVsZW1lbnQpICE9IG51bGwpIHtcbiAgICB2YXIgX2FjdGl2ZUVsZW1lbnQ7XG4gICAgYWN0aXZlRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50O1xuICB9XG4gIHJldHVybiBhY3RpdmVFbGVtZW50O1xufVxuZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICBpZiAoIXBhcmVudCB8fCAhY2hpbGQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3Qgcm9vdE5vZGUgPSBjaGlsZC5nZXRSb290Tm9kZSA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQuZ2V0Um9vdE5vZGUoKTtcblxuICAvLyBGaXJzdCwgYXR0ZW1wdCB3aXRoIGZhc3RlciBuYXRpdmUgbWV0aG9kXG4gIGlmIChwYXJlbnQuY29udGFpbnMoY2hpbGQpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyB0aGVuIGZhbGxiYWNrIHRvIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB3aXRoIFNoYWRvdyBET00gc3VwcG9ydFxuICBpZiAocm9vdE5vZGUgJiYgaXNTaGFkb3dSb290KHJvb3ROb2RlKSkge1xuICAgIGxldCBuZXh0ID0gY2hpbGQ7XG4gICAgd2hpbGUgKG5leHQpIHtcbiAgICAgIGlmIChwYXJlbnQgPT09IG5leHQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBuZXh0ID0gbmV4dC5wYXJlbnROb2RlIHx8IG5leHQuaG9zdDtcbiAgICB9XG4gIH1cblxuICAvLyBHaXZlIHVwLCB0aGUgcmVzdWx0IGlzIGZhbHNlXG4gIHJldHVybiBmYWxzZTtcbn1cbi8vIEF2b2lkIENocm9tZSBEZXZUb29scyBibHVlIHdhcm5pbmcuXG5mdW5jdGlvbiBnZXRQbGF0Zm9ybSgpIHtcbiAgY29uc3QgdWFEYXRhID0gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE7XG4gIGlmICh1YURhdGEgIT0gbnVsbCAmJiB1YURhdGEucGxhdGZvcm0pIHtcbiAgICByZXR1cm4gdWFEYXRhLnBsYXRmb3JtO1xuICB9XG4gIHJldHVybiBuYXZpZ2F0b3IucGxhdGZvcm07XG59XG5mdW5jdGlvbiBnZXRVc2VyQWdlbnQoKSB7XG4gIGNvbnN0IHVhRGF0YSA9IG5hdmlnYXRvci51c2VyQWdlbnREYXRhO1xuICBpZiAodWFEYXRhICYmIEFycmF5LmlzQXJyYXkodWFEYXRhLmJyYW5kcykpIHtcbiAgICByZXR1cm4gdWFEYXRhLmJyYW5kcy5tYXAoX3JlZiA9PiB7XG4gICAgICBsZXQge1xuICAgICAgICBicmFuZCxcbiAgICAgICAgdmVyc2lvblxuICAgICAgfSA9IF9yZWY7XG4gICAgICByZXR1cm4gYnJhbmQgKyBcIi9cIiArIHZlcnNpb247XG4gICAgfSkuam9pbignICcpO1xuICB9XG4gIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50O1xufVxuXG4vLyBMaWNlbnNlOiBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUvcmVhY3Qtc3BlY3RydW0vYmxvYi9iMzVkNWMwMmZlOTAwYmFkY2NkMGNmMWE4ZjIzYmI1OTM0MTlmMjM4L3BhY2thZ2VzL0ByZWFjdC1hcmlhL3V0aWxzL3NyYy9pc1ZpcnR1YWxFdmVudC50c1xuZnVuY3Rpb24gaXNWaXJ0dWFsQ2xpY2soZXZlbnQpIHtcbiAgLy8gRklYTUU6IEZpcmVmb3ggaXMgbm93IGVtaXR0aW5nIGEgZGVwcmVjYXRpb24gd2FybmluZyBmb3IgYG1veklucHV0U291cmNlYC5cbiAgLy8gVHJ5IHRvIGZpbmQgYSB3b3JrYXJvdW5kIGZvciB0aGlzLiBgcmVhY3QtYXJpYWAgc291cmNlIHN0aWxsIGhhcyB0aGUgY2hlY2suXG4gIGlmIChldmVudC5tb3pJbnB1dFNvdXJjZSA9PT0gMCAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNBbmRyb2lkKCkgJiYgZXZlbnQucG9pbnRlclR5cGUpIHtcbiAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5idXR0b25zID09PSAxO1xuICB9XG4gIHJldHVybiBldmVudC5kZXRhaWwgPT09IDAgJiYgIWV2ZW50LnBvaW50ZXJUeXBlO1xufVxuZnVuY3Rpb24gaXNWaXJ0dWFsUG9pbnRlckV2ZW50KGV2ZW50KSB7XG4gIGlmIChpc0pTRE9NKCkpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuICFpc0FuZHJvaWQoKSAmJiBldmVudC53aWR0aCA9PT0gMCAmJiBldmVudC5oZWlnaHQgPT09IDAgfHwgaXNBbmRyb2lkKCkgJiYgZXZlbnQud2lkdGggPT09IDEgJiYgZXZlbnQuaGVpZ2h0ID09PSAxICYmIGV2ZW50LnByZXNzdXJlID09PSAwICYmIGV2ZW50LmRldGFpbCA9PT0gMCAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyB8fFxuICAvLyBpT1MgVm9pY2VPdmVyIHJldHVybnMgMC4zMzPigKIgZm9yIHdpZHRoL2hlaWdodC5cbiAgZXZlbnQud2lkdGggPCAxICYmIGV2ZW50LmhlaWdodCA8IDEgJiYgZXZlbnQucHJlc3N1cmUgPT09IDAgJiYgZXZlbnQuZGV0YWlsID09PSAwICYmIGV2ZW50LnBvaW50ZXJUeXBlID09PSAndG91Y2gnO1xufVxuZnVuY3Rpb24gaXNTYWZhcmkoKSB7XG4gIC8vIENocm9tZSBEZXZUb29scyBkb2VzIG5vdCBjb21wbGFpbiBhYm91dCBuYXZpZ2F0b3IudmVuZG9yXG4gIHJldHVybiAvYXBwbGUvaS50ZXN0KG5hdmlnYXRvci52ZW5kb3IpO1xufVxuZnVuY3Rpb24gaXNBbmRyb2lkKCkge1xuICBjb25zdCByZSA9IC9hbmRyb2lkL2k7XG4gIHJldHVybiByZS50ZXN0KGdldFBsYXRmb3JtKCkpIHx8IHJlLnRlc3QoZ2V0VXNlckFnZW50KCkpO1xufVxuZnVuY3Rpb24gaXNNYWMoKSB7XG4gIHJldHVybiBnZXRQbGF0Zm9ybSgpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnbWFjJykgJiYgIW5hdmlnYXRvci5tYXhUb3VjaFBvaW50cztcbn1cbmZ1bmN0aW9uIGlzSlNET00oKSB7XG4gIHJldHVybiBnZXRVc2VyQWdlbnQoKS5pbmNsdWRlcygnanNkb20vJyk7XG59XG5mdW5jdGlvbiBpc01vdXNlTGlrZVBvaW50ZXJUeXBlKHBvaW50ZXJUeXBlLCBzdHJpY3QpIHtcbiAgLy8gT24gc29tZSBMaW51eCBtYWNoaW5lcyB3aXRoIENocm9taXVtLCBtb3VzZSBpbnB1dHMgcmV0dXJuIGEgYHBvaW50ZXJUeXBlYFxuICAvLyBvZiBcInBlblwiOiBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzIwMTVcbiAgY29uc3QgdmFsdWVzID0gWydtb3VzZScsICdwZW4nXTtcbiAgaWYgKCFzdHJpY3QpIHtcbiAgICB2YWx1ZXMucHVzaCgnJywgdW5kZWZpbmVkKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzLmluY2x1ZGVzKHBvaW50ZXJUeXBlKTtcbn1cbmZ1bmN0aW9uIGlzUmVhY3RFdmVudChldmVudCkge1xuICByZXR1cm4gJ25hdGl2ZUV2ZW50JyBpbiBldmVudDtcbn1cbmZ1bmN0aW9uIGlzUm9vdEVsZW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCdodG1sLGJvZHknKTtcbn1cbmZ1bmN0aW9uIGdldERvY3VtZW50KG5vZGUpIHtcbiAgcmV0dXJuIChub2RlID09IG51bGwgPyB2b2lkIDAgOiBub2RlLm93bmVyRG9jdW1lbnQpIHx8IGRvY3VtZW50O1xufVxuZnVuY3Rpb24gaXNFdmVudFRhcmdldFdpdGhpbihldmVudCwgbm9kZSkge1xuICBpZiAobm9kZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgnY29tcG9zZWRQYXRoJyBpbiBldmVudCkge1xuICAgIHJldHVybiBldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyhub2RlKTtcbiAgfVxuXG4gIC8vIFRTIHRoaW5rcyBgZXZlbnRgIGlzIG9mIHR5cGUgbmV2ZXIgYXMgaXQgYXNzdW1lcyBhbGwgYnJvd3NlcnMgc3VwcG9ydCBjb21wb3NlZFBhdGgsIGJ1dCBicm93c2VycyB3aXRob3V0IHNoYWRvdyBkb20gZG9uJ3RcbiAgY29uc3QgZSA9IGV2ZW50O1xuICByZXR1cm4gZS50YXJnZXQgIT0gbnVsbCAmJiBub2RlLmNvbnRhaW5zKGUudGFyZ2V0KTtcbn1cbmZ1bmN0aW9uIGdldFRhcmdldChldmVudCkge1xuICBpZiAoJ2NvbXBvc2VkUGF0aCcgaW4gZXZlbnQpIHtcbiAgICByZXR1cm4gZXZlbnQuY29tcG9zZWRQYXRoKClbMF07XG4gIH1cblxuICAvLyBUUyB0aGlua3MgYGV2ZW50YCBpcyBvZiB0eXBlIG5ldmVyIGFzIGl0IGFzc3VtZXMgYWxsIGJyb3dzZXJzIHN1cHBvcnRcbiAgLy8gYGNvbXBvc2VkUGF0aCgpYCwgYnV0IGJyb3dzZXJzIHdpdGhvdXQgc2hhZG93IERPTSBkb24ndC5cbiAgcmV0dXJuIGV2ZW50LnRhcmdldDtcbn1cbmNvbnN0IFRZUEVBQkxFX1NFTEVDVE9SID0gXCJpbnB1dDpub3QoW3R5cGU9J2hpZGRlbiddKTpub3QoW2Rpc2FibGVkXSksXCIgKyBcIltjb250ZW50ZWRpdGFibGVdOm5vdChbY29udGVudGVkaXRhYmxlPSdmYWxzZSddKSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSlcIjtcbmZ1bmN0aW9uIGlzVHlwZWFibGVFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgJiYgZWxlbWVudC5tYXRjaGVzKFRZUEVBQkxFX1NFTEVDVE9SKTtcbn1cbmZ1bmN0aW9uIHN0b3BFdmVudChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbmZ1bmN0aW9uIGlzVHlwZWFibGVDb21ib2JveChlbGVtZW50KSB7XG4gIGlmICghZWxlbWVudCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ2NvbWJvYm94JyAmJiBpc1R5cGVhYmxlRWxlbWVudChlbGVtZW50KTtcbn1cblxuZXhwb3J0IHsgVFlQRUFCTEVfU0VMRUNUT1IsIGFjdGl2ZUVsZW1lbnQsIGNvbnRhaW5zLCBnZXREb2N1bWVudCwgZ2V0UGxhdGZvcm0sIGdldFRhcmdldCwgZ2V0VXNlckFnZW50LCBpc0FuZHJvaWQsIGlzRXZlbnRUYXJnZXRXaXRoaW4sIGlzSlNET00sIGlzTWFjLCBpc01vdXNlTGlrZVBvaW50ZXJUeXBlLCBpc1JlYWN0RXZlbnQsIGlzUm9vdEVsZW1lbnQsIGlzU2FmYXJpLCBpc1R5cGVhYmxlQ29tYm9ib3gsIGlzVHlwZWFibGVFbGVtZW50LCBpc1ZpcnR1YWxDbGljaywgaXNWaXJ0dWFsUG9pbnRlckV2ZW50LCBzdG9wRXZlbnQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs":
 | 
						||
/*!*********************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs ***!
 | 
						||
  \*********************************************************************************************************************/
 | 
						||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
 | 
						||
 | 
						||
"use strict";
 | 
						||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   getComputedStyle: function() { return /* binding */ getComputedStyle; },\n/* harmony export */   getContainingBlock: function() { return /* binding */ getContainingBlock; },\n/* harmony export */   getDocumentElement: function() { return /* binding */ getDocumentElement; },\n/* harmony export */   getFrameElement: function() { return /* binding */ getFrameElement; },\n/* harmony export */   getNearestOverflowAncestor: function() { return /* binding */ getNearestOverflowAncestor; },\n/* harmony export */   getNodeName: function() { return /* binding */ getNodeName; },\n/* harmony export */   getNodeScroll: function() { return /* binding */ getNodeScroll; },\n/* harmony export */   getOverflowAncestors: function() { return /* binding */ getOverflowAncestors; },\n/* harmony export */   getParentNode: function() { return /* binding */ getParentNode; },\n/* harmony export */   getWindow: function() { return /* binding */ getWindow; },\n/* harmony export */   isContainingBlock: function() { return /* binding */ isContainingBlock; },\n/* harmony export */   isElement: function() { return /* binding */ isElement; },\n/* harmony export */   isHTMLElement: function() { return /* binding */ isHTMLElement; },\n/* harmony export */   isLastTraversableNode: function() { return /* binding */ isLastTraversableNode; },\n/* harmony export */   isNode: function() { return /* binding */ isNode; },\n/* harmony export */   isOverflowElement: function() { return /* binding */ isOverflowElement; },\n/* harmony export */   isShadowRoot: function() { return /* binding */ isShadowRoot; },\n/* harmony export */   isTableElement: function() { return /* binding */ isTableElement; },\n/* harmony export */   isTopLayer: function() { return /* binding */ isTopLayer; },\n/* harmony export */   isWebKit: function() { return /* binding */ isWebKit; }\n/* harmony export */ });\nfunction hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\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) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\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  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.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}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrdXRpbHNAMC4yLjEwL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5kb20ubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFZ1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BmbG9hdGluZy11aSt1dGlsc0AwLjIuMTAvbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS91dGlscy9kaXN0L2Zsb2F0aW5nLXVpLnV0aWxzLmRvbS5tanM/Y2I0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBoYXNXaW5kb3coKSB7XG4gIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbn1cbmZ1bmN0aW9uIGdldE5vZGVOYW1lKG5vZGUpIHtcbiAgaWYgKGlzTm9kZShub2RlKSkge1xuICAgIHJldHVybiAobm9kZS5ub2RlTmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgfVxuICAvLyBNb2NrZWQgbm9kZXMgaW4gdGVzdGluZyBlbnZpcm9ubWVudHMgbWF5IG5vdCBiZSBpbnN0YW5jZXMgb2YgTm9kZS4gQnlcbiAgLy8gcmV0dXJuaW5nIGAjZG9jdW1lbnRgIGFuIGluZmluaXRlIGxvb3Agd29uJ3Qgb2NjdXIuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMjMxN1xuICByZXR1cm4gJyNkb2N1bWVudCc7XG59XG5mdW5jdGlvbiBnZXRXaW5kb3cobm9kZSkge1xuICB2YXIgX25vZGUkb3duZXJEb2N1bWVudDtcbiAgcmV0dXJuIChub2RlID09IG51bGwgfHwgKF9ub2RlJG93bmVyRG9jdW1lbnQgPSBub2RlLm93bmVyRG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB8fCB3aW5kb3c7XG59XG5mdW5jdGlvbiBnZXREb2N1bWVudEVsZW1lbnQobm9kZSkge1xuICB2YXIgX3JlZjtcbiAgcmV0dXJuIChfcmVmID0gKGlzTm9kZShub2RlKSA/IG5vZGUub3duZXJEb2N1bWVudCA6IG5vZGUuZG9jdW1lbnQpIHx8IHdpbmRvdy5kb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9yZWYuZG9jdW1lbnRFbGVtZW50O1xufVxuZnVuY3Rpb24gaXNOb2RlKHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgTm9kZSB8fCB2YWx1ZSBpbnN0YW5jZW9mIGdldFdpbmRvdyh2YWx1ZSkuTm9kZTtcbn1cbmZ1bmN0aW9uIGlzRWxlbWVudCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLkVsZW1lbnQ7XG59XG5mdW5jdGlvbiBpc0hUTUxFbGVtZW50KHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLkhUTUxFbGVtZW50O1xufVxuZnVuY3Rpb24gaXNTaGFkb3dSb290KHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkgfHwgdHlwZW9mIFNoYWRvd1Jvb3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLlNoYWRvd1Jvb3Q7XG59XG5jb25zdCBpbnZhbGlkT3ZlcmZsb3dEaXNwbGF5VmFsdWVzID0gLyojX19QVVJFX18qL25ldyBTZXQoWydpbmxpbmUnLCAnY29udGVudHMnXSk7XG5mdW5jdGlvbiBpc092ZXJmbG93RWxlbWVudChlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICBvdmVyZmxvdyxcbiAgICBvdmVyZmxvd1gsXG4gICAgb3ZlcmZsb3dZLFxuICAgIGRpc3BsYXlcbiAgfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIHJldHVybiAvYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW58Y2xpcC8udGVzdChvdmVyZmxvdyArIG92ZXJmbG93WSArIG92ZXJmbG93WCkgJiYgIWludmFsaWRPdmVyZmxvd0Rpc3BsYXlWYWx1ZXMuaGFzKGRpc3BsYXkpO1xufVxuY29uc3QgdGFibGVFbGVtZW50cyA9IC8qI19fUFVSRV9fKi9uZXcgU2V0KFsndGFibGUnLCAndGQnLCAndGgnXSk7XG5mdW5jdGlvbiBpc1RhYmxlRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiB0YWJsZUVsZW1lbnRzLmhhcyhnZXROb2RlTmFtZShlbGVtZW50KSk7XG59XG5jb25zdCB0b3BMYXllclNlbGVjdG9ycyA9IFsnOnBvcG92ZXItb3BlbicsICc6bW9kYWwnXTtcbmZ1bmN0aW9uIGlzVG9wTGF5ZXIoZWxlbWVudCkge1xuICByZXR1cm4gdG9wTGF5ZXJTZWxlY3RvcnMuc29tZShzZWxlY3RvciA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpO1xuICAgIH0gY2F0Y2ggKF9lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9KTtcbn1cbmNvbnN0IHRyYW5zZm9ybVByb3BlcnRpZXMgPSBbJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUnLCAnc2NhbGUnLCAncm90YXRlJywgJ3BlcnNwZWN0aXZlJ107XG5jb25zdCB3aWxsQ2hhbmdlVmFsdWVzID0gWyd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlJywgJ3NjYWxlJywgJ3JvdGF0ZScsICdwZXJzcGVjdGl2ZScsICdmaWx0ZXInXTtcbmNvbnN0IGNvbnRhaW5WYWx1ZXMgPSBbJ3BhaW50JywgJ2xheW91dCcsICdzdHJpY3QnLCAnY29udGVudCddO1xuZnVuY3Rpb24gaXNDb250YWluaW5nQmxvY2soZWxlbWVudE9yQ3NzKSB7XG4gIGNvbnN0IHdlYmtpdCA9IGlzV2ViS2l0KCk7XG4gIGNvbnN0IGNzcyA9IGlzRWxlbWVudChlbGVtZW50T3JDc3MpID8gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50T3JDc3MpIDogZWxlbWVudE9yQ3NzO1xuXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Db250YWluaW5nX2Jsb2NrI2lkZW50aWZ5aW5nX3RoZV9jb250YWluaW5nX2Jsb2NrXG4gIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdHJhbnNmb3Jtcy0yLyNpbmRpdmlkdWFsLXRyYW5zZm9ybXNcbiAgcmV0dXJuIHRyYW5zZm9ybVByb3BlcnRpZXMuc29tZSh2YWx1ZSA9PiBjc3NbdmFsdWVdID8gY3NzW3ZhbHVlXSAhPT0gJ25vbmUnIDogZmFsc2UpIHx8IChjc3MuY29udGFpbmVyVHlwZSA/IGNzcy5jb250YWluZXJUeXBlICE9PSAnbm9ybWFsJyA6IGZhbHNlKSB8fCAhd2Via2l0ICYmIChjc3MuYmFja2Ryb3BGaWx0ZXIgPyBjc3MuYmFja2Ryb3BGaWx0ZXIgIT09ICdub25lJyA6IGZhbHNlKSB8fCAhd2Via2l0ICYmIChjc3MuZmlsdGVyID8gY3NzLmZpbHRlciAhPT0gJ25vbmUnIDogZmFsc2UpIHx8IHdpbGxDaGFuZ2VWYWx1ZXMuc29tZSh2YWx1ZSA9PiAoY3NzLndpbGxDaGFuZ2UgfHwgJycpLmluY2x1ZGVzKHZhbHVlKSkgfHwgY29udGFpblZhbHVlcy5zb21lKHZhbHVlID0+IChjc3MuY29udGFpbiB8fCAnJykuaW5jbHVkZXModmFsdWUpKTtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKGN1cnJlbnROb2RlKSkge1xuICAgIGlmIChpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSkpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2UgaWYgKGlzVG9wTGF5ZXIoY3VycmVudE5vZGUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzV2ViS2l0KCkge1xuICBpZiAodHlwZW9mIENTUyA9PT0gJ3VuZGVmaW5lZCcgfHwgIUNTUy5zdXBwb3J0cykgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctd2Via2l0LWJhY2tkcm9wLWZpbHRlcicsICdub25lJyk7XG59XG5jb25zdCBsYXN0VHJhdmVyc2FibGVOb2RlTmFtZXMgPSAvKiNfX1BVUkVfXyovbmV3IFNldChbJ2h0bWwnLCAnYm9keScsICcjZG9jdW1lbnQnXSk7XG5mdW5jdGlvbiBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUobm9kZSkge1xuICByZXR1cm4gbGFzdFRyYXZlcnNhYmxlTm9kZU5hbWVzLmhhcyhnZXROb2RlTmFtZShub2RlKSk7XG59XG5mdW5jdGlvbiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldFdpbmRvdyhlbGVtZW50KS5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xufVxuZnVuY3Rpb24gZ2V0Tm9kZVNjcm9sbChlbGVtZW50KSB7XG4gIGlmIChpc0VsZW1lbnQoZWxlbWVudCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgICAgc2Nyb2xsVG9wOiBlbGVtZW50LnNjcm9sbFRvcFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBzY3JvbGxMZWZ0OiBlbGVtZW50LnNjcm9sbFgsXG4gICAgc2Nyb2xsVG9wOiBlbGVtZW50LnNjcm9sbFlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhcmVudE5vZGUobm9kZSkge1xuICBpZiAoZ2V0Tm9kZU5hbWUobm9kZSkgPT09ICdodG1sJykge1xuICAgIHJldHVybiBub2RlO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9XG4gIC8vIFN0ZXAgaW50byB0aGUgc2hhZG93IERPTSBvZiB0aGUgcGFyZW50IG9mIGEgc2xvdHRlZCBub2RlLlxuICBub2RlLmFzc2lnbmVkU2xvdCB8fFxuICAvLyBET00gRWxlbWVudCBkZXRlY3RlZC5cbiAgbm9kZS5wYXJlbnROb2RlIHx8XG4gIC8vIFNoYWRvd1Jvb3QgZGV0ZWN0ZWQuXG4gIGlzU2hhZG93Um9vdChub2RlKSAmJiBub2RlLmhvc3QgfHxcbiAgLy8gRmFsbGJhY2suXG4gIGdldERvY3VtZW50RWxlbWVudChub2RlKTtcbiAgcmV0dXJuIGlzU2hhZG93Um9vdChyZXN1bHQpID8gcmVzdWx0Lmhvc3QgOiByZXN1bHQ7XG59XG5mdW5jdGlvbiBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3Rvcihub2RlKSB7XG4gIGNvbnN0IHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKG5vZGUpO1xuICBpZiAoaXNMYXN0VHJhdmVyc2FibGVOb2RlKHBhcmVudE5vZGUpKSB7XG4gICAgcmV0dXJuIG5vZGUub3duZXJEb2N1bWVudCA/IG5vZGUub3duZXJEb2N1bWVudC5ib2R5IDogbm9kZS5ib2R5O1xuICB9XG4gIGlmIChpc0hUTUxFbGVtZW50KHBhcmVudE5vZGUpICYmIGlzT3ZlcmZsb3dFbGVtZW50KHBhcmVudE5vZGUpKSB7XG4gICAgcmV0dXJuIHBhcmVudE5vZGU7XG4gIH1cbiAgcmV0dXJuIGdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yKHBhcmVudE5vZGUpO1xufVxuZnVuY3Rpb24gZ2V0T3ZlcmZsb3dBbmNlc3RvcnMobm9kZSwgbGlzdCwgdHJhdmVyc2VJZnJhbWVzKSB7XG4gIHZhciBfbm9kZSRvd25lckRvY3VtZW50MjtcbiAgaWYgKGxpc3QgPT09IHZvaWQgMCkge1xuICAgIGxpc3QgPSBbXTtcbiAgfVxuICBpZiAodHJhdmVyc2VJZnJhbWVzID09PSB2b2lkIDApIHtcbiAgICB0cmF2ZXJzZUlmcmFtZXMgPSB0cnVlO1xuICB9XG4gIGNvbnN0IHNjcm9sbGFibGVBbmNlc3RvciA9IGdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yKG5vZGUpO1xuICBjb25zdCBpc0JvZHkgPSBzY3JvbGxhYmxlQW5jZXN0b3IgPT09ICgoX25vZGUkb3duZXJEb2N1bWVudDIgPSBub2RlLm93bmVyRG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRvd25lckRvY3VtZW50Mi5ib2R5KTtcbiAgY29uc3Qgd2luID0gZ2V0V2luZG93KHNjcm9sbGFibGVBbmNlc3Rvcik7XG4gIGlmIChpc0JvZHkpIHtcbiAgICBjb25zdCBmcmFtZUVsZW1lbnQgPSBnZXRGcmFtZUVsZW1lbnQod2luKTtcbiAgICByZXR1cm4gbGlzdC5jb25jYXQod2luLCB3aW4udmlzdWFsVmlld3BvcnQgfHwgW10sIGlzT3ZlcmZsb3dFbGVtZW50KHNjcm9sbGFibGVBbmNlc3RvcikgPyBzY3JvbGxhYmxlQW5jZXN0b3IgOiBbXSwgZnJhbWVFbGVtZW50ICYmIHRyYXZlcnNlSWZyYW1lcyA/IGdldE92ZXJmbG93QW5jZXN0b3JzKGZyYW1lRWxlbWVudCkgOiBbXSk7XG4gIH1cbiAgcmV0dXJuIGxpc3QuY29uY2F0KHNjcm9sbGFibGVBbmNlc3RvciwgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoc2Nyb2xsYWJsZUFuY2VzdG9yLCBbXSwgdHJhdmVyc2VJZnJhbWVzKSk7XG59XG5mdW5jdGlvbiBnZXRGcmFtZUVsZW1lbnQod2luKSB7XG4gIHJldHVybiB3aW4ucGFyZW50ICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZih3aW4ucGFyZW50KSA/IHdpbi5mcmFtZUVsZW1lbnQgOiBudWxsO1xufVxuXG5leHBvcnQgeyBnZXRDb21wdXRlZFN0eWxlLCBnZXRDb250YWluaW5nQmxvY2ssIGdldERvY3VtZW50RWxlbWVudCwgZ2V0RnJhbWVFbGVtZW50LCBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3RvciwgZ2V0Tm9kZU5hbWUsIGdldE5vZGVTY3JvbGwsIGdldE92ZXJmbG93QW5jZXN0b3JzLCBnZXRQYXJlbnROb2RlLCBnZXRXaW5kb3csIGlzQ29udGFpbmluZ0Jsb2NrLCBpc0VsZW1lbnQsIGlzSFRNTEVsZW1lbnQsIGlzTGFzdFRyYXZlcnNhYmxlTm9kZSwgaXNOb2RlLCBpc092ZXJmbG93RWxlbWVudCwgaXNTaGFkb3dSb290LCBpc1RhYmxlRWxlbWVudCwgaXNUb3BMYXllciwgaXNXZWJLaXQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs":
 | 
						||
/*!*****************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@floating-ui+utils@0.2.10/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}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(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}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZmxvYXRpbmctdWkrdXRpbHNAMC4yLjEwL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFeVciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BmbG9hdGluZy11aSt1dGlsc0AwLjIuMTAvbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS91dGlscy9kaXN0L2Zsb2F0aW5nLXVpLnV0aWxzLm1qcz9hM2VjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3VzdG9tIHBvc2l0aW9uaW5nIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3ZpcnR1YWwtZWxlbWVudHNcbiAqL1xuXG5jb25zdCBzaWRlcyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5jb25zdCBhbGlnbm1lbnRzID0gWydzdGFydCcsICdlbmQnXTtcbmNvbnN0IHBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovc2lkZXMucmVkdWNlKChhY2MsIHNpZGUpID0+IGFjYy5jb25jYXQoc2lkZSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1swXSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1sxXSksIFtdKTtcbmNvbnN0IG1pbiA9IE1hdGgubWluO1xuY29uc3QgbWF4ID0gTWF0aC5tYXg7XG5jb25zdCByb3VuZCA9IE1hdGgucm91bmQ7XG5jb25zdCBmbG9vciA9IE1hdGguZmxvb3I7XG5jb25zdCBjcmVhdGVDb29yZHMgPSB2ID0+ICh7XG4gIHg6IHYsXG4gIHk6IHZcbn0pO1xuY29uc3Qgb3Bwb3NpdGVTaWRlTWFwID0ge1xuICBsZWZ0OiAncmlnaHQnLFxuICByaWdodDogJ2xlZnQnLFxuICBib3R0b206ICd0b3AnLFxuICB0b3A6ICdib3R0b20nXG59O1xuY29uc3Qgb3Bwb3NpdGVBbGlnbm1lbnRNYXAgPSB7XG4gIHN0YXJ0OiAnZW5kJyxcbiAgZW5kOiAnc3RhcnQnXG59O1xuZnVuY3Rpb24gY2xhbXAoc3RhcnQsIHZhbHVlLCBlbmQpIHtcbiAgcmV0dXJuIG1heChzdGFydCwgbWluKHZhbHVlLCBlbmQpKTtcbn1cbmZ1bmN0aW9uIGV2YWx1YXRlKHZhbHVlLCBwYXJhbSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gdmFsdWUocGFyYW0pIDogdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRTaWRlKHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQXhpcyhheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneCcgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBeGlzTGVuZ3RoKGF4aXMpIHtcbiAgcmV0dXJuIGF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbn1cbmNvbnN0IHlBeGlzU2lkZXMgPSAvKiNfX1BVUkVfXyovbmV3IFNldChbJ3RvcCcsICdib3R0b20nXSk7XG5mdW5jdGlvbiBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHlBeGlzU2lkZXMuaGFzKGdldFNpZGUocGxhY2VtZW50KSkgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCkge1xuICByZXR1cm4gZ2V0T3Bwb3NpdGVBeGlzKGdldFNpZGVBeGlzKHBsYWNlbWVudCkpO1xufVxuZnVuY3Rpb24gZ2V0QWxpZ25tZW50U2lkZXMocGxhY2VtZW50LCByZWN0cywgcnRsKSB7XG4gIGlmIChydGwgPT09IHZvaWQgMCkge1xuICAgIHJ0bCA9IGZhbHNlO1xuICB9XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBjb25zdCBhbGlnbm1lbnRBeGlzID0gZ2V0QWxpZ25tZW50QXhpcyhwbGFjZW1lbnQpO1xuICBjb25zdCBsZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGFsaWdubWVudEF4aXMpO1xuICBsZXQgbWFpbkFsaWdubWVudFNpZGUgPSBhbGlnbm1lbnRBeGlzID09PSAneCcgPyBhbGlnbm1lbnQgPT09IChydGwgPyAnZW5kJyA6ICdzdGFydCcpID8gJ3JpZ2h0JyA6ICdsZWZ0JyA6IGFsaWdubWVudCA9PT0gJ3N0YXJ0JyA/ICdib3R0b20nIDogJ3RvcCc7XG4gIGlmIChyZWN0cy5yZWZlcmVuY2VbbGVuZ3RoXSA+IHJlY3RzLmZsb2F0aW5nW2xlbmd0aF0pIHtcbiAgICBtYWluQWxpZ25tZW50U2lkZSA9IGdldE9wcG9zaXRlUGxhY2VtZW50KG1haW5BbGlnbm1lbnRTaWRlKTtcbiAgfVxuICByZXR1cm4gW21haW5BbGlnbm1lbnRTaWRlLCBnZXRPcHBvc2l0ZVBsYWNlbWVudChtYWluQWxpZ25tZW50U2lkZSldO1xufVxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRQbGFjZW1lbnRzKHBsYWNlbWVudCkge1xuICBjb25zdCBvcHBvc2l0ZVBsYWNlbWVudCA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHJldHVybiBbZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQocGxhY2VtZW50KSwgb3Bwb3NpdGVQbGFjZW1lbnQsIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KG9wcG9zaXRlUGxhY2VtZW50KV07XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9zdGFydHxlbmQvZywgYWxpZ25tZW50ID0+IG9wcG9zaXRlQWxpZ25tZW50TWFwW2FsaWdubWVudF0pO1xufVxuY29uc3QgbHJQbGFjZW1lbnQgPSBbJ2xlZnQnLCAncmlnaHQnXTtcbmNvbnN0IHJsUGxhY2VtZW50ID0gWydyaWdodCcsICdsZWZ0J107XG5jb25zdCB0YlBsYWNlbWVudCA9IFsndG9wJywgJ2JvdHRvbSddO1xuY29uc3QgYnRQbGFjZW1lbnQgPSBbJ2JvdHRvbScsICd0b3AnXTtcbmZ1bmN0aW9uIGdldFNpZGVMaXN0KHNpZGUsIGlzU3RhcnQsIHJ0bCkge1xuICBzd2l0Y2ggKHNpZGUpIHtcbiAgICBjYXNlICd0b3AnOlxuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICBpZiAocnRsKSByZXR1cm4gaXNTdGFydCA/IHJsUGxhY2VtZW50IDogbHJQbGFjZW1lbnQ7XG4gICAgICByZXR1cm4gaXNTdGFydCA/IGxyUGxhY2VtZW50IDogcmxQbGFjZW1lbnQ7XG4gICAgY2FzZSAnbGVmdCc6XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgcmV0dXJuIGlzU3RhcnQgPyB0YlBsYWNlbWVudCA6IGJ0UGxhY2VtZW50O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gW107XG4gIH1cbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMocGxhY2VtZW50LCBmbGlwQWxpZ25tZW50LCBkaXJlY3Rpb24sIHJ0bCkge1xuICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQocGxhY2VtZW50KTtcbiAgbGV0IGxpc3QgPSBnZXRTaWRlTGlzdChnZXRTaWRlKHBsYWNlbWVudCksIGRpcmVjdGlvbiA9PT0gJ3N0YXJ0JywgcnRsKTtcbiAgaWYgKGFsaWdubWVudCkge1xuICAgIGxpc3QgPSBsaXN0Lm1hcChzaWRlID0+IHNpZGUgKyBcIi1cIiArIGFsaWdubWVudCk7XG4gICAgaWYgKGZsaXBBbGlnbm1lbnQpIHtcbiAgICAgIGxpc3QgPSBsaXN0LmNvbmNhdChsaXN0Lm1hcChnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbGlzdDtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL2xlZnR8cmlnaHR8Ym90dG9tfHRvcC9nLCBzaWRlID0+IG9wcG9zaXRlU2lkZU1hcFtzaWRlXSk7XG59XG5mdW5jdGlvbiBleHBhbmRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpIHtcbiAgcmV0dXJuIHtcbiAgICB0b3A6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgYm90dG9tOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgLi4ucGFkZGluZ1xuICB9O1xufVxuZnVuY3Rpb24gZ2V0UGFkZGluZ09iamVjdChwYWRkaW5nKSB7XG4gIHJldHVybiB0eXBlb2YgcGFkZGluZyAhPT0gJ251bWJlcicgPyBleHBhbmRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpIDoge1xuICAgIHRvcDogcGFkZGluZyxcbiAgICByaWdodDogcGFkZGluZyxcbiAgICBib3R0b206IHBhZGRpbmcsXG4gICAgbGVmdDogcGFkZGluZ1xuICB9O1xufVxuZnVuY3Rpb24gcmVjdFRvQ2xpZW50UmVjdChyZWN0KSB7XG4gIGNvbnN0IHtcbiAgICB4LFxuICAgIHksXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH0gPSByZWN0O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB0b3A6IHksXG4gICAgbGVmdDogeCxcbiAgICByaWdodDogeCArIHdpZHRoLFxuICAgIGJvdHRvbTogeSArIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuZXhwb3J0IHsgYWxpZ25tZW50cywgY2xhbXAsIGNyZWF0ZUNvb3JkcywgZXZhbHVhdGUsIGV4cGFuZFBhZGRpbmdPYmplY3QsIGZsb29yLCBnZXRBbGlnbm1lbnQsIGdldEFsaWdubWVudEF4aXMsIGdldEFsaWdubWVudFNpZGVzLCBnZXRBeGlzTGVuZ3RoLCBnZXRFeHBhbmRlZFBsYWNlbWVudHMsIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50LCBnZXRPcHBvc2l0ZUF4aXMsIGdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMsIGdldE9wcG9zaXRlUGxhY2VtZW50LCBnZXRQYWRkaW5nT2JqZWN0LCBnZXRTaWRlLCBnZXRTaWRlQXhpcywgbWF4LCBtaW4sIHBsYWNlbWVudHMsIHJlY3RUb0NsaWVudFJlY3QsIHJvdW5kLCBzaWRlcyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js":
 | 
						||
/*!************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.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 */   Disclosure: function() { return /* binding */ Ve; },\n/* harmony export */   DisclosureButton: function() { return /* binding */ Re; },\n/* harmony export */   DisclosurePanel: function() { return /* binding */ Ie; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+focus@3.21.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../hooks/use-transition.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-transition.js\");\n/* harmony import */ var _internal_close_provider_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../internal/close-provider.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/close-provider.js\");\n/* harmony import */ var _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internal/open-closed.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/open-closed.js\");\n/* harmony import */ var _utils_bugs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/bugs.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/bugs.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_start_transition_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/start-transition.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/start-transition.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/keyboard.js\");\n/* __next_internal_client_entry_do_not_use__ Disclosure,DisclosureButton,DisclosurePanel auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar de = ((l)=>(l[l.Open = 0] = \"Open\", l[l.Closed = 1] = \"Closed\", l))(de || {}), Te = ((n)=>(n[n.ToggleDisclosure = 0] = \"ToggleDisclosure\", n[n.CloseDisclosure = 1] = \"CloseDisclosure\", n[n.SetButtonId = 2] = \"SetButtonId\", n[n.SetPanelId = 3] = \"SetPanelId\", n[n.SetButtonElement = 4] = \"SetButtonElement\", n[n.SetPanelElement = 5] = \"SetPanelElement\", n))(Te || {});\nlet me = {\n    [0]: (e)=>({\n            ...e,\n            disclosureState: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(e.disclosureState, {\n                [0]: 1,\n                [1]: 0\n            })\n        }),\n    [1]: (e)=>e.disclosureState === 1 ? e : {\n            ...e,\n            disclosureState: 1\n        },\n    [2] (e, t) {\n        return e.buttonId === t.buttonId ? e : {\n            ...e,\n            buttonId: t.buttonId\n        };\n    },\n    [3] (e, t) {\n        return e.panelId === t.panelId ? e : {\n            ...e,\n            panelId: t.panelId\n        };\n    },\n    [4] (e, t) {\n        return e.buttonElement === t.element ? e : {\n            ...e,\n            buttonElement: t.element\n        };\n    },\n    [5] (e, t) {\n        return e.panelElement === t.element ? e : {\n            ...e,\n            panelElement: t.element\n        };\n    }\n}, _ = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\n_.displayName = \"DisclosureContext\";\nfunction M(e) {\n    let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_);\n    if (t === null) {\n        let l = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);\n        throw Error.captureStackTrace && Error.captureStackTrace(l, M), l;\n    }\n    return t;\n}\n_c = M;\nlet F = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nF.displayName = \"DisclosureAPIContext\";\nfunction J(e) {\n    let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(F);\n    if (t === null) {\n        let l = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);\n        throw Error.captureStackTrace && Error.captureStackTrace(l, J), l;\n    }\n    return t;\n}\n_c1 = J;\nlet H = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nH.displayName = \"DisclosurePanelContext\";\nfunction fe() {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(H);\n}\nfunction De(e, t) {\n    return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(t.type, me, e, t);\n}\n_c2 = De;\nlet ye = react__WEBPACK_IMPORTED_MODULE_0__.Fragment;\nfunction Pe(e, t) {\n    let { defaultOpen: l = !1, ...p } = e, a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), c = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(t, (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.optionalRef)((u)=>{\n        a.current = u;\n    }, e.as === void 0 || e.as === react__WEBPACK_IMPORTED_MODULE_0__.Fragment)), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(De, {\n        disclosureState: l ? 0 : 1,\n        buttonElement: null,\n        panelElement: null,\n        buttonId: null,\n        panelId: null\n    }), [{ disclosureState: o, buttonId: r }, f] = n, s = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((u)=>{\n        f({\n            type: 1\n        });\n        let d = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_4__.getOwnerDocument)(a);\n        if (!d || !r) return;\n        let T = (()=>u ? _utils_dom_js__WEBPACK_IMPORTED_MODULE_5__.isHTMLorSVGElement(u) ? u : \"current\" in u && _utils_dom_js__WEBPACK_IMPORTED_MODULE_5__.isHTMLorSVGElement(u.current) ? u.current : d.getElementById(r) : d.getElementById(r))();\n        T == null || T.focus();\n    }), E = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            close: s\n        }), [\n        s\n    ]), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: o === 0,\n            close: s\n        }), [\n        o,\n        s\n    ]), D = {\n        ref: c\n    }, S = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_.Provider, {\n        value: n\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(F.Provider, {\n        value: E\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_7__.CloseProvider, {\n        value: s\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.OpenClosedProvider, {\n        value: (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(o, {\n            [0]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.State.Open,\n            [1]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.State.Closed\n        })\n    }, S({\n        ourProps: D,\n        theirProps: p,\n        slot: m,\n        defaultTag: ye,\n        name: \"Disclosure\"\n    })))));\n}\n_c3 = Pe;\nlet Ee = \"button\";\nfunction Se(e, t) {\n    let l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: p = `headlessui-disclosure-button-${l}`, disabled: a = !1, autoFocus: c = !1, ...n } = e, [o, r] = M(\"Disclosure.Button\"), f = fe(), s = f === null ? !1 : f === o.panelId, E = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), m = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(E, t, (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((i)=>{\n        if (!s) return r({\n            type: 4,\n            element: i\n        });\n    }));\n    (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        if (!s) return r({\n            type: 2,\n            buttonId: p\n        }), ()=>{\n            r({\n                type: 2,\n                buttonId: null\n            });\n        };\n    }, [\n        p,\n        r,\n        s\n    ]);\n    let D = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((i)=>{\n        var g;\n        if (s) {\n            if (o.disclosureState === 1) return;\n            switch(i.key){\n                case _keyboard_js__WEBPACK_IMPORTED_MODULE_9__.Keys.Space:\n                case _keyboard_js__WEBPACK_IMPORTED_MODULE_9__.Keys.Enter:\n                    i.preventDefault(), i.stopPropagation(), r({\n                        type: 0\n                    }), (g = o.buttonElement) == null || g.focus();\n                    break;\n            }\n        } else switch(i.key){\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_9__.Keys.Space:\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_9__.Keys.Enter:\n                i.preventDefault(), i.stopPropagation(), r({\n                    type: 0\n                });\n                break;\n        }\n    }), S = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((i)=>{\n        switch(i.key){\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_9__.Keys.Space:\n                i.preventDefault();\n                break;\n        }\n    }), u = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((i)=>{\n        var g;\n        (0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_10__.isDisabledReactIssue7711)(i.currentTarget) || a || (s ? (r({\n            type: 0\n        }), (g = o.buttonElement) == null || g.focus()) : r({\n            type: 0\n        }));\n    }), { isFocusVisible: d, focusProps: T } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_11__.useFocusRing)({\n        autoFocus: c\n    }), { isHovered: b, hoverProps: h } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_12__.useHover)({\n        isDisabled: a\n    }), { pressed: U, pressProps: G } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_13__.useActivePress)({\n        disabled: a\n    }), X = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: o.disclosureState === 0,\n            hover: b,\n            active: U,\n            disabled: a,\n            focus: d,\n            autofocus: c\n        }), [\n        o,\n        b,\n        U,\n        d,\n        a,\n        c\n    ]), N = (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_14__.useResolveButtonType)(e, o.buttonElement), q = s ? (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.mergeProps)({\n        ref: m,\n        type: N,\n        disabled: a || void 0,\n        autoFocus: c,\n        onKeyDown: D,\n        onClick: u\n    }, T, h, G) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.mergeProps)({\n        ref: m,\n        id: p,\n        type: N,\n        \"aria-expanded\": o.disclosureState === 0,\n        \"aria-controls\": o.panelElement ? o.panelId : void 0,\n        disabled: a || void 0,\n        autoFocus: c,\n        onKeyDown: D,\n        onKeyUp: S,\n        onClick: u\n    }, T, h, G);\n    return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.useRender)()({\n        ourProps: q,\n        theirProps: n,\n        slot: X,\n        defaultTag: Ee,\n        name: \"Disclosure.Button\"\n    });\n}\n_c4 = Se;\nlet ge = \"div\", Ae = _utils_render_js__WEBPACK_IMPORTED_MODULE_6__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_6__.RenderFeatures.Static;\nfunction be(e, t) {\n    let l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: p = `headlessui-disclosure-panel-${l}`, transition: a = !1, ...c } = e, [n, o] = M(\"Disclosure.Panel\"), { close: r } = J(\"Disclosure.Panel\"), [f, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), E = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(t, (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_3__.useEvent)((b)=>{\n        (0,_utils_start_transition_js__WEBPACK_IMPORTED_MODULE_15__.startTransition)(()=>o({\n                type: 5,\n                element: b\n            }));\n    }), s);\n    (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(o({\n            type: 3,\n            panelId: p\n        }), ()=>{\n            o({\n                type: 3,\n                panelId: null\n            });\n        }), [\n        p,\n        o\n    ]);\n    let m = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.useOpenClosed)(), [D, S] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_16__.useTransition)(a, f, m !== null ? (m & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.State.Open : n.disclosureState === 0), u = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: n.disclosureState === 0,\n            close: r\n        }), [\n        n.disclosureState,\n        r\n    ]), d = {\n        ref: E,\n        id: p,\n        ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_16__.transitionDataAttributes)(S)\n    }, T = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_8__.ResetOpenClosedProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(H.Provider, {\n        value: n.panelId\n    }, T({\n        ourProps: d,\n        theirProps: c,\n        slot: u,\n        defaultTag: ge,\n        features: Ae,\n        visible: D,\n        name: \"Disclosure.Panel\"\n    })));\n}\nlet Ce = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.forwardRefWithAs)(Pe), Re = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.forwardRefWithAs)(Se), Ie = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_6__.forwardRefWithAs)(be), Ve = Object.assign(Ce, {\n    Button: Re,\n    Panel: Ie\n});\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"M\");\n$RefreshReg$(_c1, \"J\");\n$RefreshReg$(_c2, \"De\");\n$RefreshReg$(_c3, \"Pe\");\n$RefreshReg$(_c4, \"Se\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvZGlzY2xvc3VyZS9kaXNjbG9zdXJlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lHQUE4RDtBQUFvRDtBQUE2STtBQUFrRTtBQUFvRDtBQUE4QztBQUErRTtBQUE2RTtBQUE4RjtBQUFrRTtBQUFpSTtBQUFnRTtBQUFxQztBQUE2QztBQUF5RDtBQUE0RztBQUFtRTtBQUFzQztBQUFBLElBQUlrRSxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLGdCQUFnQixHQUFDLEVBQUUsR0FBQyxvQkFBbUJELENBQUMsQ0FBQ0EsRUFBRUUsZUFBZSxHQUFDLEVBQUUsR0FBQyxtQkFBa0JGLENBQUMsQ0FBQ0EsRUFBRUcsV0FBVyxHQUFDLEVBQUUsR0FBQyxlQUFjSCxDQUFDLENBQUNBLEVBQUVJLFVBQVUsR0FBQyxFQUFFLEdBQUMsY0FBYUosQ0FBQyxDQUFDQSxFQUFFSyxnQkFBZ0IsR0FBQyxFQUFFLEdBQUMsb0JBQW1CTCxDQUFDLENBQUNBLEVBQUVNLGVBQWUsR0FBQyxFQUFFLEdBQUMsbUJBQWtCTixDQUFBQSxDQUFDLEVBQUdELE1BQUksQ0FBQztBQUFHLElBQUlRLEtBQUc7SUFBQyxDQUFDLEVBQUUsRUFBQ0MsQ0FBQUEsSUFBSTtZQUFDLEdBQUdBLENBQUM7WUFB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Q1UsS0FBSUw7UUFBRWlCLElBQUdoQztRQUFFLEdBQUduRSxtRkFBRUEsQ0FBQ3dGLEVBQUU7SUFBQSxHQUFFVixJQUFFbkQsMkRBQUNBO0lBQUcscUJBQU96RCxnREFBZSxDQUFDc0MsNkVBQUVBLEVBQUMsb0JBQUt0QyxnREFBZSxDQUFDMEYsRUFBRThCLFFBQVEsRUFBQztRQUFDQyxPQUFNdEQsRUFBRVksT0FBTztJQUFBLEdBQUU2QixFQUFFO1FBQUNjLFVBQVNmO1FBQUVnQixZQUFXeEI7UUFBRXlCLE1BQUt4QjtRQUFFeUIsWUFBV21DO1FBQUdNLFVBQVNMO1FBQUdNLFNBQVFuRDtRQUFFVSxNQUFLO0lBQWtCO0FBQUk7QUFBQyxJQUFJMEMsS0FBR25ILGtFQUFDQSxDQUFDMEMsS0FBSTBFLEtBQUdwSCxrRUFBQ0EsQ0FBQzJFLEtBQUkwQyxLQUFHckgsa0VBQUNBLENBQUMrRyxLQUFJTyxLQUFHQyxPQUFPQyxNQUFNLENBQUNMLElBQUc7SUFBQ00sUUFBT0w7SUFBR00sT0FBTUw7QUFBRTtBQUF5RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2Rpc2Nsb3N1cmUvZGlzY2xvc3VyZS5qcz8xZjVmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydHt1c2VGb2N1c1JpbmcgYXMgen1mcm9tXCJAcmVhY3QtYXJpYS9mb2N1c1wiO2ltcG9ydHt1c2VIb3ZlciBhcyBRfWZyb21cIkByZWFjdC1hcmlhL2ludGVyYWN0aW9uc1wiO2ltcG9ydCB5LHtGcmFnbWVudCBhcyBrLGNyZWF0ZUNvbnRleHQgYXMgSSx1c2VDb250ZXh0IGFzIHgsdXNlRWZmZWN0IGFzIHcsdXNlTWVtbyBhcyBDLHVzZVJlZHVjZXIgYXMgWSx1c2VSZWYgYXMgSyx1c2VTdGF0ZSBhcyBafWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUFjdGl2ZVByZXNzIGFzIGVlfWZyb20nLi4vLi4vaG9va3MvdXNlLWFjdGl2ZS1wcmVzcy5qcyc7aW1wb3J0e3VzZUV2ZW50IGFzIFB9ZnJvbScuLi8uLi9ob29rcy91c2UtZXZlbnQuanMnO2ltcG9ydHt1c2VJZCBhcyBXfWZyb20nLi4vLi4vaG9va3MvdXNlLWlkLmpzJztpbXBvcnR7dXNlUmVzb2x2ZUJ1dHRvblR5cGUgYXMgdGV9ZnJvbScuLi8uLi9ob29rcy91c2UtcmVzb2x2ZS1idXR0b24tdHlwZS5qcyc7aW1wb3J0e29wdGlvbmFsUmVmIGFzIG5lLHVzZVN5bmNSZWZzIGFzIEx9ZnJvbScuLi8uLi9ob29rcy91c2Utc3luYy1yZWZzLmpzJztpbXBvcnR7dHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzIGFzIG9lLHVzZVRyYW5zaXRpb24gYXMgbGV9ZnJvbScuLi8uLi9ob29rcy91c2UtdHJhbnNpdGlvbi5qcyc7aW1wb3J0e0Nsb3NlUHJvdmlkZXIgYXMgcmV9ZnJvbScuLi8uLi9pbnRlcm5hbC9jbG9zZS1wcm92aWRlci5qcyc7aW1wb3J0e09wZW5DbG9zZWRQcm92aWRlciBhcyBzZSxSZXNldE9wZW5DbG9zZWRQcm92aWRlciBhcyB1ZSxTdGF0ZSBhcyBSLHVzZU9wZW5DbG9zZWQgYXMgaWV9ZnJvbScuLi8uLi9pbnRlcm5hbC9vcGVuLWNsb3NlZC5qcyc7aW1wb3J0e2lzRGlzYWJsZWRSZWFjdElzc3VlNzcxMSBhcyBhZX1mcm9tJy4uLy4uL3V0aWxzL2J1Z3MuanMnO2ltcG9ydCphcyBqIGZyb20nLi4vLi4vdXRpbHMvZG9tLmpzJztpbXBvcnR7bWF0Y2ggYXMgQn1mcm9tJy4uLy4uL3V0aWxzL21hdGNoLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBwZX1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgVixmb3J3YXJkUmVmV2l0aEFzIGFzIE8sbWVyZ2VQcm9wcyBhcyAkLHVzZVJlbmRlciBhcyB2fWZyb20nLi4vLi4vdXRpbHMvcmVuZGVyLmpzJztpbXBvcnR7c3RhcnRUcmFuc2l0aW9uIGFzIGNlfWZyb20nLi4vLi4vdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcyc7aW1wb3J0e0tleXMgYXMgQX1mcm9tJy4uL2tleWJvYXJkLmpzJzt2YXIgZGU9KGw9PihsW2wuT3Blbj0wXT1cIk9wZW5cIixsW2wuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIsbCkpKGRlfHx7fSksVGU9KG49PihuW24uVG9nZ2xlRGlzY2xvc3VyZT0wXT1cIlRvZ2dsZURpc2Nsb3N1cmVcIixuW24uQ2xvc2VEaXNjbG9zdXJlPTFdPVwiQ2xvc2VEaXNjbG9zdXJlXCIsbltuLlNldEJ1dHRvbklkPTJdPVwiU2V0QnV0dG9uSWRcIixuW24uU2V0UGFuZWxJZD0zXT1cIlNldFBhbmVsSWRcIixuW24uU2V0QnV0dG9uRWxlbWVudD00XT1cIlNldEJ1dHRvbkVsZW1lbnRcIixuW24uU2V0UGFuZWxFbGVtZW50PTVdPVwiU2V0UGFuZWxFbGVtZW50XCIsbikpKFRlfHx7fSk7bGV0IG1lPXtbMF06ZT0+KHsuLi5lLGRpc2Nsb3N1cmVTdGF0ZTpCKGUuZGlzY2xvc3VyZVN0YXRlLHtbMF06MSxbMV06MH0pfSksWzFdOmU9PmUuZGlzY2xvc3VyZVN0YXRlPT09MT9lOnsuLi5lLGRpc2Nsb3N1cmVTdGF0ZToxfSxbMl0oZSx0KXtyZXR1cm4gZS5idXR0b25JZD09PXQuYnV0dG9uSWQ/ZTp7Li4uZSxidXR0b25JZDp0LmJ1dHRvbklkfX0sWzNdKGUsdCl7cmV0dXJuIGUucGFuZWxJZD09PXQucGFuZWxJZD9lOnsuLi5lLHBhbmVsSWQ6dC5wYW5lbElkfX0sWzRdKGUsdCl7cmV0dXJuIGUuYnV0dG9uRWxlbWVudD09PXQuZWxlbWVudD9lOnsuLi5lLGJ1dHRvbkVsZW1lbnQ6dC5lbGVtZW50fX0sWzVdKGUsdCl7cmV0dXJuIGUucGFuZWxFbGVtZW50PT09dC5lbGVtZW50P2U6ey4uLmUscGFuZWxFbGVtZW50OnQuZWxlbWVudH19fSxfPUkobnVsbCk7Xy5kaXNwbGF5TmFtZT1cIkRpc2Nsb3N1cmVDb250ZXh0XCI7ZnVuY3Rpb24gTShlKXtsZXQgdD14KF8pO2lmKHQ9PT1udWxsKXtsZXQgbD1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPERpc2Nsb3N1cmUgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShsLE0pLGx9cmV0dXJuIHR9bGV0IEY9SShudWxsKTtGLmRpc3BsYXlOYW1lPVwiRGlzY2xvc3VyZUFQSUNvbnRleHRcIjtmdW5jdGlvbiBKKGUpe2xldCB0PXgoRik7aWYodD09PW51bGwpe2xldCBsPW5ldyBFcnJvcihgPCR7ZX0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8RGlzY2xvc3VyZSAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGwsSiksbH1yZXR1cm4gdH1sZXQgSD1JKG51bGwpO0guZGlzcGxheU5hbWU9XCJEaXNjbG9zdXJlUGFuZWxDb250ZXh0XCI7ZnVuY3Rpb24gZmUoKXtyZXR1cm4geChIKX1mdW5jdGlvbiBEZShlLHQpe3JldHVybiBCKHQudHlwZSxtZSxlLHQpfWxldCB5ZT1rO2Z1bmN0aW9uIFBlKGUsdCl7bGV0e2RlZmF1bHRPcGVuOmw9ITEsLi4ucH09ZSxhPUsobnVsbCksYz1MKHQsbmUodT0+e2EuY3VycmVudD11fSxlLmFzPT09dm9pZCAwfHxlLmFzPT09aykpLG49WShEZSx7ZGlzY2xvc3VyZVN0YXRlOmw/MDoxLGJ1dHRvbkVsZW1lbnQ6bnVsbCxwYW5lbEVsZW1lbnQ6bnVsbCxidXR0b25JZDpudWxsLHBhbmVsSWQ6bnVsbH0pLFt7ZGlzY2xvc3VyZVN0YXRlOm8sYnV0dG9uSWQ6cn0sZl09bixzPVAodT0+e2Yoe3R5cGU6MX0pO2xldCBkPXBlKGEpO2lmKCFkfHwhcilyZXR1cm47bGV0IFQ9KCgpPT51P2ouaXNIVE1Mb3JTVkdFbGVtZW50KHUpP3U6XCJjdXJyZW50XCJpbiB1JiZqLmlzSFRNTG9yU1ZHRWxlbWVudCh1LmN1cnJlbnQpP3UuY3VycmVudDpkLmdldEVsZW1lbnRCeUlkKHIpOmQuZ2V0RWxlbWVudEJ5SWQocikpKCk7VD09bnVsbHx8VC5mb2N1cygpfSksRT1DKCgpPT4oe2Nsb3NlOnN9KSxbc10pLG09QygoKT0+KHtvcGVuOm89PT0wLGNsb3NlOnN9KSxbbyxzXSksRD17cmVmOmN9LFM9digpO3JldHVybiB5LmNyZWF0ZUVsZW1lbnQoXy5Qcm92aWRlcix7dmFsdWU6bn0seS5jcmVhdGVFbGVtZW50KEYuUHJvdmlkZXIse3ZhbHVlOkV9LHkuY3JlYXRlRWxlbWVudChyZSx7dmFsdWU6c30seS5jcmVhdGVFbGVtZW50KHNlLHt2YWx1ZTpCKG8se1swXTpSLk9wZW4sWzFdOlIuQ2xvc2VkfSl9LFMoe291clByb3BzOkQsdGhlaXJQcm9wczpwLHNsb3Q6bSxkZWZhdWx0VGFnOnllLG5hbWU6XCJEaXNjbG9zdXJlXCJ9KSkpKSl9bGV0IEVlPVwiYnV0dG9uXCI7ZnVuY3Rpb24gU2UoZSx0KXtsZXQgbD1XKCkse2lkOnA9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1idXR0b24tJHtsfWAsZGlzYWJsZWQ6YT0hMSxhdXRvRm9jdXM6Yz0hMSwuLi5ufT1lLFtvLHJdPU0oXCJEaXNjbG9zdXJlLkJ1dHRvblwiKSxmPWZlKCkscz1mPT09bnVsbD8hMTpmPT09by5wYW5lbElkLEU9SyhudWxsKSxtPUwoRSx0LFAoaT0+e2lmKCFzKXJldHVybiByKHt0eXBlOjQsZWxlbWVudDppfSl9KSk7dygoKT0+e2lmKCFzKXJldHVybiByKHt0eXBlOjIsYnV0dG9uSWQ6cH0pLCgpPT57cih7dHlwZToyLGJ1dHRvbklkOm51bGx9KX19LFtwLHIsc10pO2xldCBEPVAoaT0+e3ZhciBnO2lmKHMpe2lmKG8uZGlzY2xvc3VyZVN0YXRlPT09MSlyZXR1cm47c3dpdGNoKGkua2V5KXtjYXNlIEEuU3BhY2U6Y2FzZSBBLkVudGVyOmkucHJldmVudERlZmF1bHQoKSxpLnN0b3BQcm9wYWdhdGlvbigpLHIoe3R5cGU6MH0pLChnPW8uYnV0dG9uRWxlbWVudCk9PW51bGx8fGcuZm9jdXMoKTticmVha319ZWxzZSBzd2l0Y2goaS5rZXkpe2Nhc2UgQS5TcGFjZTpjYXNlIEEuRW50ZXI6aS5wcmV2ZW50RGVmYXVsdCgpLGkuc3RvcFByb3BhZ2F0aW9uKCkscih7dHlwZTowfSk7YnJlYWt9fSksUz1QKGk9Pntzd2l0Y2goaS5rZXkpe2Nhc2UgQS5TcGFjZTppLnByZXZlbnREZWZhdWx0KCk7YnJlYWt9fSksdT1QKGk9Pnt2YXIgZzthZShpLmN1cnJlbnRUYXJnZXQpfHxhfHwocz8ocih7dHlwZTowfSksKGc9by5idXR0b25FbGVtZW50KT09bnVsbHx8Zy5mb2N1cygpKTpyKHt0eXBlOjB9KSl9KSx7aXNGb2N1c1Zpc2libGU6ZCxmb2N1c1Byb3BzOlR9PXooe2F1dG9Gb2N1czpjfSkse2lzSG92ZXJlZDpiLGhvdmVyUHJvcHM6aH09USh7aXNEaXNhYmxlZDphfSkse3ByZXNzZWQ6VSxwcmVzc1Byb3BzOkd9PWVlKHtkaXNhYmxlZDphfSksWD1DKCgpPT4oe29wZW46by5kaXNjbG9zdXJlU3RhdGU9PT0wLGhvdmVyOmIsYWN0aXZlOlUsZGlzYWJsZWQ6YSxmb2N1czpkLGF1dG9mb2N1czpjfSksW28sYixVLGQsYSxjXSksTj10ZShlLG8uYnV0dG9uRWxlbWVudCkscT1zPyQoe3JlZjptLHR5cGU6TixkaXNhYmxlZDphfHx2b2lkIDAsYXV0b0ZvY3VzOmMsb25LZXlEb3duOkQsb25DbGljazp1fSxULGgsRyk6JCh7cmVmOm0saWQ6cCx0eXBlOk4sXCJhcmlhLWV4cGFuZGVkXCI6by5kaXNjbG9zdXJlU3RhdGU9PT0wLFwiYXJpYS1jb250cm9sc1wiOm8ucGFuZWxFbGVtZW50P28ucGFuZWxJZDp2b2lkIDAsZGlzYWJsZWQ6YXx8dm9pZCAwLGF1dG9Gb2N1czpjLG9uS2V5RG93bjpELG9uS2V5VXA6UyxvbkNsaWNrOnV9LFQsaCxHKTtyZXR1cm4gdigpKHtvdXJQcm9wczpxLHRoZWlyUHJvcHM6bixzbG90OlgsZGVmYXVsdFRhZzpFZSxuYW1lOlwiRGlzY2xvc3VyZS5CdXR0b25cIn0pfWxldCBnZT1cImRpdlwiLEFlPVYuUmVuZGVyU3RyYXRlZ3l8Vi5TdGF0aWM7ZnVuY3Rpb24gYmUoZSx0KXtsZXQgbD1XKCkse2lkOnA9YGhlYWRsZXNzdWktZGlzY2xvc3VyZS1wYW5lbC0ke2x9YCx0cmFuc2l0aW9uOmE9ITEsLi4uY309ZSxbbixvXT1NKFwiRGlzY2xvc3VyZS5QYW5lbFwiKSx7Y2xvc2U6cn09SihcIkRpc2Nsb3N1cmUuUGFuZWxcIiksW2Ysc109WihudWxsKSxFPUwodCxQKGI9PntjZSgoKT0+byh7dHlwZTo1LGVsZW1lbnQ6Yn0pKX0pLHMpO3coKCk9PihvKHt0eXBlOjMscGFuZWxJZDpwfSksKCk9PntvKHt0eXBlOjMscGFuZWxJZDpudWxsfSl9KSxbcCxvXSk7bGV0IG09aWUoKSxbRCxTXT1sZShhLGYsbSE9PW51bGw/KG0mUi5PcGVuKT09PVIuT3BlbjpuLmRpc2Nsb3N1cmVTdGF0ZT09PTApLHU9QygoKT0+KHtvcGVuOm4uZGlzY2xvc3VyZVN0YXRlPT09MCxjbG9zZTpyfSksW24uZGlzY2xvc3VyZVN0YXRlLHJdKSxkPXtyZWY6RSxpZDpwLC4uLm9lKFMpfSxUPXYoKTtyZXR1cm4geS5jcmVhdGVFbGVtZW50KHVlLG51bGwseS5jcmVhdGVFbGVtZW50KEguUHJvdmlkZXIse3ZhbHVlOm4ucGFuZWxJZH0sVCh7b3VyUHJvcHM6ZCx0aGVpclByb3BzOmMsc2xvdDp1LGRlZmF1bHRUYWc6Z2UsZmVhdHVyZXM6QWUsdmlzaWJsZTpELG5hbWU6XCJEaXNjbG9zdXJlLlBhbmVsXCJ9KSkpfWxldCBDZT1PKFBlKSxSZT1PKFNlKSxJZT1PKGJlKSxWZT1PYmplY3QuYXNzaWduKENlLHtCdXR0b246UmUsUGFuZWw6SWV9KTtleHBvcnR7VmUgYXMgRGlzY2xvc3VyZSxSZSBhcyBEaXNjbG9zdXJlQnV0dG9uLEllIGFzIERpc2Nsb3N1cmVQYW5lbH07XG4iXSwibmFtZXMiOlsidXNlRm9jdXNSaW5nIiwieiIsInVzZUhvdmVyIiwiUSIsInkiLCJGcmFnbWVudCIsImsiLCJjcmVhdGVDb250ZXh0IiwiSSIsInVzZUNvbnRleHQiLCJ4IiwidXNlRWZmZWN0IiwidyIsInVzZU1lbW8iLCJDIiwidXNlUmVkdWNlciIsIlkiLCJ1c2VSZWYiLCJLIiwidXNlU3RhdGUiLCJaIiwidXNlQWN0aXZlUHJlc3MiLCJlZSIsInVzZUV2ZW50IiwiUCIsInVzZUlkIiwiVyIsInVzZVJlc29sdmVCdXR0b25UeXBlIiwidGUiLCJvcHRpb25hbFJlZiIsIm5lIiwidXNlU3luY1JlZnMiLCJMIiwidHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzIiwib2UiLCJ1c2VUcmFuc2l0aW9uIiwibGUiLCJDbG9zZVByb3ZpZGVyIiwicmUiLCJPcGVuQ2xvc2VkUHJvdmlkZXIiLCJzZSIsIlJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIiwidWUiLCJTdGF0ZSIsIlIiLCJ1c2VPcGVuQ2xvc2VkIiwiaWUiLCJpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTEiLCJhZSIsImoiLCJtYXRjaCIsIkIiLCJnZXRPd25lckRvY3VtZW50IiwicGUiLCJSZW5kZXJGZWF0dXJlcyIsIlYiLCJmb3J3YXJkUmVmV2l0aEFzIiwiTyIsIm1lcmdlUHJvcHMiLCIkIiwidXNlUmVuZGVyIiwidiIsInN0YXJ0VHJhbnNpdGlvbiIsImNlIiwiS2V5cyIsIkEiLCJkZSIsImwiLCJPcGVuIiwiQ2xvc2VkIiwiVGUiLCJuIiwiVG9nZ2xlRGlzY2xvc3VyZSIsIkNsb3NlRGlzY2xvc3VyZSIsIlNldEJ1dHRvbklkIiwiU2V0UGFuZWxJZCIsIlNldEJ1dHRvbkVsZW1lbnQiLCJTZXRQYW5lbEVsZW1lbnQiLCJtZSIsImUiLCJkaXNjbG9zdXJlU3RhdGUiLCJ0IiwiYnV0dG9uSWQiLCJwYW5lbElkIiwiYnV0dG9uRWxlbWVudCIsImVsZW1lbnQiLCJwYW5lbEVsZW1lbnQiLCJfIiwiZGlzcGxheU5hbWUiLCJNIiwiRXJyb3IiLCJjYXB0dXJlU3RhY2tUcmFjZSIsIkYiLCJKIiwiSCIsImZlIiwiRGUiLCJ0eXBlIiwieWUiLCJQZSIsImRlZmF1bHRPcGVuIiwicCIsImEiLCJjIiwidSIsImN1cnJlbnQiLCJhcyIsIm8iLCJyIiwiZiIsInMiLCJkIiwiVCIsImlzSFRNTG9yU1ZHRWxlbWVudCIsImdldEVsZW1lbnRCeUlkIiwiZm9jdXMiLCJFIiwiY2xvc2UiLCJtIiwib3BlbiIsIkQiLCJyZWYiLCJTIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJvdXJQcm9wcyIsInRoZWlyUHJvcHMiLCJzbG90IiwiZGVmYXVsdFRhZyIsIm5hbWUiLCJFZSIsIlNlIiwiaWQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImkiLCJnIiwia2V5IiwiU3BhY2UiLCJFbnRlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImlzRm9jdXNWaXNpYmxlIiwiZm9jdXNQcm9wcyIsImlzSG92ZXJlZCIsImIiLCJob3ZlclByb3BzIiwiaCIsImlzRGlzYWJsZWQiLCJwcmVzc2VkIiwiVSIsInByZXNzUHJvcHMiLCJHIiwiWCIsImhvdmVyIiwiYWN0aXZlIiwiYXV0b2ZvY3VzIiwiTiIsInEiLCJvbktleURvd24iLCJvbkNsaWNrIiwib25LZXlVcCIsImdlIiwiQWUiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsImJlIiwidHJhbnNpdGlvbiIsImZlYXR1cmVzIiwidmlzaWJsZSIsIkNlIiwiUmUiLCJJZSIsIlZlIiwiT2JqZWN0IiwiYXNzaWduIiwiQnV0dG9uIiwiUGFuZWwiLCJEaXNjbG9zdXJlIiwiRGlzY2xvc3VyZUJ1dHRvbiIsIkRpc2Nsb3N1cmVQYW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/disclosure/disclosure.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/keyboard.js":
 | 
						||
/*!***********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMva2V5Ym9hcmQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUlBLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsRUFBRUMsS0FBSyxHQUFDLEtBQUlELEVBQUVFLEtBQUssR0FBQyxTQUFRRixFQUFFRyxNQUFNLEdBQUMsVUFBU0gsRUFBRUksU0FBUyxHQUFDLGFBQVlKLEVBQUVLLE1BQU0sR0FBQyxVQUFTTCxFQUFFTSxTQUFTLEdBQUMsYUFBWU4sRUFBRU8sT0FBTyxHQUFDLFdBQVVQLEVBQUVRLFVBQVUsR0FBQyxjQUFhUixFQUFFUyxTQUFTLEdBQUMsYUFBWVQsRUFBRVUsSUFBSSxHQUFDLFFBQU9WLEVBQUVXLEdBQUcsR0FBQyxPQUFNWCxFQUFFWSxNQUFNLEdBQUMsVUFBU1osRUFBRWEsUUFBUSxHQUFDLFlBQVdiLEVBQUVjLEdBQUcsR0FBQyxPQUFNZCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL2tleWJvYXJkLmpzPzRjYzIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG89KHI9PihyLlNwYWNlPVwiIFwiLHIuRW50ZXI9XCJFbnRlclwiLHIuRXNjYXBlPVwiRXNjYXBlXCIsci5CYWNrc3BhY2U9XCJCYWNrc3BhY2VcIixyLkRlbGV0ZT1cIkRlbGV0ZVwiLHIuQXJyb3dMZWZ0PVwiQXJyb3dMZWZ0XCIsci5BcnJvd1VwPVwiQXJyb3dVcFwiLHIuQXJyb3dSaWdodD1cIkFycm93UmlnaHRcIixyLkFycm93RG93bj1cIkFycm93RG93blwiLHIuSG9tZT1cIkhvbWVcIixyLkVuZD1cIkVuZFwiLHIuUGFnZVVwPVwiUGFnZVVwXCIsci5QYWdlRG93bj1cIlBhZ2VEb3duXCIsci5UYWI9XCJUYWJcIixyKSkob3x8e30pO2V4cG9ydHtvIGFzIEtleXN9O1xuIl0sIm5hbWVzIjpbIm8iLCJyIiwiU3BhY2UiLCJFbnRlciIsIkVzY2FwZSIsIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkFycm93TGVmdCIsIkFycm93VXAiLCJBcnJvd1JpZ2h0IiwiQXJyb3dEb3duIiwiSG9tZSIsIkVuZCIsIlBhZ2VVcCIsIlBhZ2VEb3duIiwiVGFiIiwiS2V5cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/keyboard.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.js":
 | 
						||
/*!*******************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.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 */   PopoverContext: function() { return /* binding */ a; },\n/* harmony export */   usePopoverMachine: function() { return /* binding */ f; },\n/* harmony export */   usePopoverMachineContext: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_on_unmount_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/use-on-unmount.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js\");\n/* harmony import */ var _popover_machine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popover-machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine.js\");\n\n\n\nconst a = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction u(r) {\n    let o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(a);\n    if (o === null) {\n        let e = new Error(`<${r} /> is missing a parent <Popover /> component.`);\n        throw Error.captureStackTrace && Error.captureStackTrace(e, u), e;\n    }\n    return o;\n}\nfunction f({ id: r, __demoMode: o = !1 }) {\n    let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>_popover_machine_js__WEBPACK_IMPORTED_MODULE_1__.PopoverMachine.new({\n            id: r,\n            __demoMode: o\n        }), []);\n    return (0,_hooks_use_on_unmount_js__WEBPACK_IMPORTED_MODULE_2__.useOnUnmount)(()=>e.dispose()), e;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLW1hY2hpbmUtZ2x1ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBbUU7QUFBNkQ7QUFBc0Q7QUFBQSxNQUFNVSxrQkFBRVQsb0RBQUNBLENBQUM7QUFBTSxTQUFTVSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRVYsaURBQUNBLENBQUNPO0lBQUcsSUFBR0csTUFBSSxNQUFLO1FBQUMsSUFBSUMsSUFBRSxJQUFJQyxNQUFNLENBQUMsQ0FBQyxFQUFFSCxFQUFFLDhDQUE4QyxDQUFDO1FBQUUsTUFBTUcsTUFBTUMsaUJBQWlCLElBQUVELE1BQU1DLGlCQUFpQixDQUFDRixHQUFFSCxJQUFHRztJQUFDO0lBQUMsT0FBT0Q7QUFBQztBQUFDLFNBQVNJLEVBQUUsRUFBQ0MsSUFBR04sQ0FBQyxFQUFDTyxZQUFXTixJQUFFLENBQUMsQ0FBQyxFQUFDO0lBQUUsSUFBSUMsSUFBRVQsOENBQUNBLENBQUMsSUFBSUksK0RBQUNBLENBQUNXLEdBQUcsQ0FBQztZQUFDRixJQUFHTjtZQUFFTyxZQUFXTjtRQUFDLElBQUcsRUFBRTtJQUFFLE9BQU9OLHNFQUFDQSxDQUFDLElBQUlPLEVBQUVPLE9BQU8sS0FBSVA7QUFBQztBQUFrRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci1tYWNoaW5lLWdsdWUuanM/MmE0YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7Y3JlYXRlQ29udGV4dCBhcyB0LHVzZUNvbnRleHQgYXMgbix1c2VNZW1vIGFzIGl9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlT25Vbm1vdW50IGFzIGN9ZnJvbScuLi8uLi9ob29rcy91c2Utb24tdW5tb3VudC5qcyc7aW1wb3J0e1BvcG92ZXJNYWNoaW5lIGFzIHB9ZnJvbScuL3BvcG92ZXItbWFjaGluZS5qcyc7Y29uc3QgYT10KG51bGwpO2Z1bmN0aW9uIHUocil7bGV0IG89bihhKTtpZihvPT09bnVsbCl7bGV0IGU9bmV3IEVycm9yKGA8JHtyfSAvPiBpcyBtaXNzaW5nIGEgcGFyZW50IDxQb3BvdmVyIC8+IGNvbXBvbmVudC5gKTt0aHJvdyBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSYmRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoZSx1KSxlfXJldHVybiBvfWZ1bmN0aW9uIGYoe2lkOnIsX19kZW1vTW9kZTpvPSExfSl7bGV0IGU9aSgoKT0+cC5uZXcoe2lkOnIsX19kZW1vTW9kZTpvfSksW10pO3JldHVybiBjKCgpPT5lLmRpc3Bvc2UoKSksZX1leHBvcnR7YSBhcyBQb3BvdmVyQ29udGV4dCxmIGFzIHVzZVBvcG92ZXJNYWNoaW5lLHUgYXMgdXNlUG9wb3Zlck1hY2hpbmVDb250ZXh0fTtcbiJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidCIsInVzZUNvbnRleHQiLCJuIiwidXNlTWVtbyIsImkiLCJ1c2VPblVubW91bnQiLCJjIiwiUG9wb3Zlck1hY2hpbmUiLCJwIiwiYSIsInUiLCJyIiwibyIsImUiLCJFcnJvciIsImNhcHR1cmVTdGFja1RyYWNlIiwiZiIsImlkIiwiX19kZW1vTW9kZSIsIm5ldyIsImRpc3Bvc2UiLCJQb3BvdmVyQ29udGV4dCIsInVzZVBvcG92ZXJNYWNoaW5lIiwidXNlUG9wb3Zlck1hY2hpbmVDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine.js":
 | 
						||
/*!**************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine.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 */   ActionTypes: function() { return /* binding */ M; },\n/* harmony export */   PopoverMachine: function() { return /* binding */ i; },\n/* harmony export */   PopoverStates: function() { return /* binding */ I; }\n/* harmony export */ });\n/* harmony import */ var _machine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machine.js\");\n/* harmony import */ var _machines_stack_machine_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../machines/stack-machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machines/stack-machine.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js\");\nvar S = Object.defineProperty;\nvar f = (t, n, e)=>n in t ? S(t, n, {\n        enumerable: !0,\n        configurable: !0,\n        writable: !0,\n        value: e\n    }) : t[n] = e;\nvar p = (t, n, e)=>(f(t, typeof n != \"symbol\" ? n + \"\" : n, e), e);\n\n\n\n\n\nvar I = ((e)=>(e[e.Open = 0] = \"Open\", e[e.Closed = 1] = \"Closed\", e))(I || {}), M = ((l)=>(l[l.OpenPopover = 0] = \"OpenPopover\", l[l.ClosePopover = 1] = \"ClosePopover\", l[l.SetButton = 2] = \"SetButton\", l[l.SetButtonId = 3] = \"SetButtonId\", l[l.SetPanel = 4] = \"SetPanel\", l[l.SetPanelId = 5] = \"SetPanelId\", l))(M || {});\nlet T = {\n    [0]: (t)=>t.popoverState === 0 ? t : {\n            ...t,\n            popoverState: 0,\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, n) {\n        return t.button === n.button ? t : {\n            ...t,\n            button: n.button\n        };\n    },\n    [3] (t, n) {\n        return t.buttonId === n.buttonId ? t : {\n            ...t,\n            buttonId: n.buttonId\n        };\n    },\n    [4] (t, n) {\n        return t.panel === n.panel ? t : {\n            ...t,\n            panel: n.panel\n        };\n    },\n    [5] (t, n) {\n        return t.panelId === n.panelId ? t : {\n            ...t,\n            panelId: n.panelId\n        };\n    }\n};\nclass i extends _machine_js__WEBPACK_IMPORTED_MODULE_0__.Machine {\n    constructor(e){\n        super(e);\n        p(this, \"actions\", {\n            close: ()=>this.send({\n                    type: 1\n                }),\n            refocusableClose: (e)=>{\n                this.actions.close();\n                let o = (()=>e ? _utils_dom_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement(e) ? e : \"current\" in e && _utils_dom_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement(e.current) ? e.current : this.state.button : this.state.button)();\n                o == null || o.focus();\n            },\n            open: ()=>this.send({\n                    type: 0\n                }),\n            setButtonId: (e)=>this.send({\n                    type: 3,\n                    buttonId: e\n                }),\n            setButton: (e)=>this.send({\n                    type: 2,\n                    button: e\n                }),\n            setPanelId: (e)=>this.send({\n                    type: 5,\n                    panelId: e\n                }),\n            setPanel: (e)=>this.send({\n                    type: 4,\n                    panel: e\n                })\n        });\n        p(this, \"selectors\", {\n            isPortalled: (e)=>{\n                if (!e.button || !e.panel) return !1;\n                for (let r of document.querySelectorAll(\"body > *\"))if (Number(r == null ? void 0 : r.contains(e.button)) ^ Number(r == null ? void 0 : r.contains(e.panel))) return !0;\n                let o = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_2__.getFocusableElements)(), u = o.indexOf(e.button), a = (u + o.length - 1) % o.length, l = (u + 1) % o.length, d = o[a], c = o[l];\n                return !e.panel.contains(d) && !e.panel.contains(c);\n            }\n        });\n        {\n            let o = this.state.id, u = _machines_stack_machine_js__WEBPACK_IMPORTED_MODULE_3__.stackMachines.get(null);\n            this.on(0, ()=>u.actions.push(o)), this.on(1, ()=>u.actions.pop(o));\n        }\n    }\n    static new({ id: e, __demoMode: o = !1 }) {\n        return new i({\n            id: e,\n            __demoMode: o,\n            popoverState: o ? 0 : 1,\n            buttons: {\n                current: []\n            },\n            button: null,\n            buttonId: null,\n            panel: null,\n            panelId: null,\n            beforePanelSentinel: {\n                current: null\n            },\n            afterPanelSentinel: {\n                current: null\n            },\n            afterButtonSentinel: {\n                current: null\n            }\n        });\n    }\n    reduce(e, o) {\n        return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_4__.match)(o.type, T, e, o);\n    }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLW1hY2hpbmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxJQUFFQyxPQUFPQyxjQUFjO0FBQUMsSUFBSUMsSUFBRSxDQUFDQyxHQUFFQyxHQUFFQyxJQUFJRCxLQUFLRCxJQUFFSixFQUFFSSxHQUFFQyxHQUFFO1FBQUNFLFlBQVcsQ0FBQztRQUFFQyxjQUFhLENBQUM7UUFBRUMsVUFBUyxDQUFDO1FBQUVDLE9BQU1KO0lBQUMsS0FBR0YsQ0FBQyxDQUFDQyxFQUFFLEdBQUNDO0FBQUUsSUFBSUssSUFBRSxDQUFDUCxHQUFFQyxHQUFFQyxJQUFLSCxDQUFBQSxFQUFFQyxHQUFFLE9BQU9DLEtBQUcsV0FBU0EsSUFBRSxLQUFHQSxHQUFFQyxJQUFHQSxDQUFBQTtBQUE4QztBQUFnRTtBQUFxQztBQUF1RTtBQUE2QztBQUFBLElBQUllLElBQUUsQ0FBQ2YsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFZ0IsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPaEIsQ0FBQyxDQUFDQSxFQUFFaUIsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTakIsQ0FBQUEsQ0FBQyxFQUFHZSxLQUFHLENBQUMsSUFBR0csSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLFdBQVcsR0FBQyxFQUFFLEdBQUMsZUFBY0QsQ0FBQyxDQUFDQSxFQUFFRSxZQUFZLEdBQUMsRUFBRSxHQUFDLGdCQUFlRixDQUFDLENBQUNBLEVBQUVHLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUgsQ0FBQyxDQUFDQSxFQUFFSSxXQUFXLEdBQUMs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TyxJQUFJUCxFQUFFO1lBQUM2QixJQUFHOUQ7WUFBRTRCLFlBQVdZO1lBQUViLGNBQWFhLElBQUUsSUFBRTtZQUFFNEIsU0FBUTtnQkFBQzFCLFNBQVEsRUFBRTtZQUFBO1lBQUViLFFBQU87WUFBS0MsVUFBUztZQUFLQyxPQUFNO1lBQUtDLFNBQVE7WUFBS3FDLHFCQUFvQjtnQkFBQzNCLFNBQVE7WUFBSTtZQUFFNEIsb0JBQW1CO2dCQUFDNUIsU0FBUTtZQUFJO1lBQUU2QixxQkFBb0I7Z0JBQUM3QixTQUFRO1lBQUk7UUFBQztJQUFFO0lBQUM4QixPQUFPeEUsQ0FBQyxFQUFDd0MsQ0FBQyxFQUFDO1FBQUMsT0FBTzFCLHNEQUFDQSxDQUFDMEIsRUFBRUgsSUFBSSxFQUFDWCxHQUFFMUIsR0FBRXdDO0lBQUU7QUFBQztBQUFpRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci1tYWNoaW5lLmpzP2JhOWYiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIFM9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBmPSh0LG4sZSk9Pm4gaW4gdD9TKHQsbix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZX0pOnRbbl09ZTt2YXIgcD0odCxuLGUpPT4oZih0LHR5cGVvZiBuIT1cInN5bWJvbFwiP24rXCJcIjpuLGUpLGUpO2ltcG9ydHtNYWNoaW5lIGFzIG19ZnJvbScuLi8uLi9tYWNoaW5lLmpzJztpbXBvcnR7c3RhY2tNYWNoaW5lcyBhcyBQfWZyb20nLi4vLi4vbWFjaGluZXMvc3RhY2stbWFjaGluZS5qcyc7aW1wb3J0KmFzIHMgZnJvbScuLi8uLi91dGlscy9kb20uanMnO2ltcG9ydHtnZXRGb2N1c2FibGVFbGVtZW50cyBhcyBifWZyb20nLi4vLi4vdXRpbHMvZm9jdXMtbWFuYWdlbWVudC5qcyc7aW1wb3J0e21hdGNoIGFzIHl9ZnJvbScuLi8uLi91dGlscy9tYXRjaC5qcyc7dmFyIEk9KGU9PihlW2UuT3Blbj0wXT1cIk9wZW5cIixlW2UuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIsZSkpKEl8fHt9KSxNPShsPT4obFtsLk9wZW5Qb3BvdmVyPTBdPVwiT3BlblBvcG92ZXJcIixsW2wuQ2xvc2VQb3BvdmVyPTFdPVwiQ2xvc2VQb3BvdmVyXCIsbFtsLlNldEJ1dHRvbj0yXT1cIlNldEJ1dHRvblwiLGxbbC5TZXRCdXR0b25JZD0zXT1cIlNldEJ1dHRvbklkXCIsbFtsLlNldFBhbmVsPTRdPVwiU2V0UGFuZWxcIixsW2wuU2V0UGFuZWxJZD01XT1cIlNldFBhbmVsSWRcIixsKSkoTXx8e30pO2xldCBUPXtbMF06dD0+dC5wb3BvdmVyU3RhdGU9PT0wP3Q6ey4uLnQscG9wb3ZlclN0YXRlOjAsX19kZW1vTW9kZTohMX0sWzFdKHQpe3JldHVybiB0LnBvcG92ZXJTdGF0ZT09PTE/dDp7Li4udCxwb3BvdmVyU3RhdGU6MSxfX2RlbW9Nb2RlOiExfX0sWzJdKHQsbil7cmV0dXJuIHQuYnV0dG9uPT09bi5idXR0b24/dDp7Li4udCxidXR0b246bi5idXR0b259fSxbM10odCxuKXtyZXR1cm4gdC5idXR0b25JZD09PW4uYnV0dG9uSWQ/dDp7Li4udCxidXR0b25JZDpuLmJ1dHRvbklkfX0sWzRdKHQsbil7cmV0dXJuIHQucGFuZWw9PT1uLnBhbmVsP3Q6ey4uLnQscGFuZWw6bi5wYW5lbH19LFs1XSh0LG4pe3JldHVybiB0LnBhbmVsSWQ9PT1uLnBhbmVsSWQ/dDp7Li4udCxwYW5lbElkOm4ucGFuZWxJZH19fTtjbGFzcyBpIGV4dGVuZHMgbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtwKHRoaXMsXCJhY3Rpb25zXCIse2Nsb3NlOigpPT50aGlzLnNlbmQoe3R5cGU6MX0pLHJlZm9jdXNhYmxlQ2xvc2U6ZT0+e3RoaXMuYWN0aW9ucy5jbG9zZSgpO2xldCBvPSgoKT0+ZT9zLmlzSFRNTEVsZW1lbnQoZSk/ZTpcImN1cnJlbnRcImluIGUmJnMuaXNIVE1MRWxlbWVudChlLmN1cnJlbnQpP2UuY3VycmVudDp0aGlzLnN0YXRlLmJ1dHRvbjp0aGlzLnN0YXRlLmJ1dHRvbikoKTtvPT1udWxsfHxvLmZvY3VzKCl9LG9wZW46KCk9PnRoaXMuc2VuZCh7dHlwZTowfSksc2V0QnV0dG9uSWQ6ZT0+dGhpcy5zZW5kKHt0eXBlOjMsYnV0dG9uSWQ6ZX0pLHNldEJ1dHRvbjplPT50aGlzLnNlbmQoe3R5cGU6MixidXR0b246ZX0pLHNldFBhbmVsSWQ6ZT0+dGhpcy5zZW5kKHt0eXBlOjUscGFuZWxJZDplfSksc2V0UGFuZWw6ZT0+dGhpcy5zZW5kKHt0eXBlOjQscGFuZWw6ZX0pfSk7cCh0aGlzLFwic2VsZWN0b3JzXCIse2lzUG9ydGFsbGVkOmU9PntpZighZS5idXR0b258fCFlLnBhbmVsKXJldHVybiExO2ZvcihsZXQgciBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiYm9keSA+ICpcIikpaWYoTnVtYmVyKHI9PW51bGw/dm9pZCAwOnIuY29udGFpbnMoZS5idXR0b24pKV5OdW1iZXIocj09bnVsbD92b2lkIDA6ci5jb250YWlucyhlLnBhbmVsKSkpcmV0dXJuITA7bGV0IG89YigpLHU9by5pbmRleE9mKGUuYnV0dG9uKSxhPSh1K28ubGVuZ3RoLTEpJW8ubGVuZ3RoLGw9KHUrMSklby5sZW5ndGgsZD1vW2FdLGM9b1tsXTtyZXR1cm4hZS5wYW5lbC5jb250YWlucyhkKSYmIWUucGFuZWwuY29udGFpbnMoYyl9fSk7e2xldCBvPXRoaXMuc3RhdGUuaWQsdT1QLmdldChudWxsKTt0aGlzLm9uKDAsKCk9PnUuYWN0aW9ucy5wdXNoKG8pKSx0aGlzLm9uKDEsKCk9PnUuYWN0aW9ucy5wb3AobykpfX1zdGF0aWMgbmV3KHtpZDplLF9fZGVtb01vZGU6bz0hMX0pe3JldHVybiBuZXcgaSh7aWQ6ZSxfX2RlbW9Nb2RlOm8scG9wb3ZlclN0YXRlOm8/MDoxLGJ1dHRvbnM6e2N1cnJlbnQ6W119LGJ1dHRvbjpudWxsLGJ1dHRvbklkOm51bGwscGFuZWw6bnVsbCxwYW5lbElkOm51bGwsYmVmb3JlUGFuZWxTZW50aW5lbDp7Y3VycmVudDpudWxsfSxhZnRlclBhbmVsU2VudGluZWw6e2N1cnJlbnQ6bnVsbH0sYWZ0ZXJCdXR0b25TZW50aW5lbDp7Y3VycmVudDpudWxsfX0pfXJlZHVjZShlLG8pe3JldHVybiB5KG8udHlwZSxULGUsbyl9fWV4cG9ydHtNIGFzIEFjdGlvblR5cGVzLGkgYXMgUG9wb3Zlck1hY2hpbmUsSSBhcyBQb3BvdmVyU3RhdGVzfTtcbiJdLCJuYW1lcyI6WyJTIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJmIiwidCIsIm4iLCJlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidmFsdWUiLCJwIiwiTWFjaGluZSIsIm0iLCJzdGFja01hY2hpbmVzIiwiUCIsInMiLCJnZXRGb2N1c2FibGVFbGVtZW50cyIsImIiLCJtYXRjaCIsInkiLCJJIiwiT3BlbiIsIkNsb3NlZCIsIk0iLCJsIiwiT3BlblBvcG92ZXIiLCJDbG9zZVBvcG92ZXIiLCJTZXRCdXR0b24iLCJTZXRCdXR0b25JZCIsIlNldFBhbmVsIiwiU2V0UGFuZWxJZCIsIlQiLCJwb3BvdmVyU3RhdGUiLCJfX2RlbW9Nb2RlIiwiYnV0dG9uIiwiYnV0dG9uSWQiLCJwYW5lbCIsInBhbmVsSWQiLCJpIiwiY29uc3RydWN0b3IiLCJjbG9zZSIsInNlbmQiLCJ0eXBlIiwicmVmb2N1c2FibGVDbG9zZSIsImFjdGlvbnMiLCJvIiwiaXNIVE1MRWxlbWVudCIsImN1cnJlbnQiLCJzdGF0ZSIsImZvY3VzIiwib3BlbiIsInNldEJ1dHRvbklkIiwic2V0QnV0dG9uIiwic2V0UGFuZWxJZCIsInNldFBhbmVsIiwiaXNQb3J0YWxsZWQiLCJyIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiTnVtYmVyIiwiY29udGFpbnMiLCJ1IiwiaW5kZXhPZiIsImEiLCJsZW5ndGgiLCJkIiwiYyIsImlkIiwiZ2V0Iiwib24iLCJwdXNoIiwicG9wIiwibmV3IiwiYnV0dG9ucyIsImJlZm9yZVBhbmVsU2VudGluZWwiLCJhZnRlclBhbmVsU2VudGluZWwiLCJhZnRlckJ1dHRvblNlbnRpbmVsIiwicmVkdWNlIiwiQWN0aW9uVHlwZXMiLCJQb3BvdmVyTWFjaGluZSIsIlBvcG92ZXJTdGF0ZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover.js":
 | 
						||
/*!******************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ io; },\n/* harmony export */   PopoverBackdrop: function() { return /* binding */ _t; },\n/* harmony export */   PopoverButton: function() { return /* binding */ Ft; },\n/* harmony export */   PopoverGroup: function() { return /* binding */ Ct; },\n/* harmony export */   PopoverOverlay: function() { return /* binding */ Bt; },\n/* harmony export */   PopoverPanel: function() { return /* binding */ At; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+focus@3.21.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/focus/dist/useFocusRing.mjs\");\n/* harmony import */ var _react_aria_interactions__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @react-aria/interactions */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../hooks/use-active-press.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-active-press.js\");\n/* harmony import */ var _hooks_use_element_size_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../hooks/use-element-size.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event-listener.js\");\n/* harmony import */ var _hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../hooks/use-iso-morphic-effect.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n/* harmony import */ var _hooks_use_on_disappear_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../hooks/use-on-disappear.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js\");\n/* harmony import */ var _hooks_use_outside_click_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../hooks/use-outside-click.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-outside-click.js\");\n/* harmony import */ var _hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-owner.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-owner.js\");\n/* harmony import */ var _hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../hooks/use-resolve-button-type.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-root-containers.js\");\n/* harmony import */ var _hooks_use_scroll_lock_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../hooks/use-scroll-lock.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../hooks/use-tab-direction.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-tab-direction.js\");\n/* harmony import */ var _hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../hooks/use-transition.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-transition.js\");\n/* harmony import */ var _internal_close_provider_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../internal/close-provider.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/close-provider.js\");\n/* harmony import */ var _internal_floating_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../internal/floating.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/floating.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../internal/hidden.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../internal/open-closed.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/open-closed.js\");\n/* harmony import */ var _react_glue_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../react-glue.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/react-glue.js\");\n/* harmony import */ var _utils_bugs_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/bugs.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/bugs.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/match.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../utils/owner.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _keyboard_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../keyboard.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/portal/portal.js\");\n/* harmony import */ var _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./popover-machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine.js\");\n/* harmony import */ var _popover_machine_glue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popover-machine-glue.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.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\n\n\n\n\nlet ge = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nge.displayName = \"PopoverGroupContext\";\nfunction Ge() {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ge);\n}\n_c = Ge;\nlet fe = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfe.displayName = \"PopoverPanelContext\";\nfunction ut() {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(fe);\n}\nlet ct = \"div\";\nfunction dt(b, M) {\n    var k;\n    let F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { __demoMode: B = !1, ...d } = b, r = (0,_popover_machine_glue_js__WEBPACK_IMPORTED_MODULE_1__.usePopoverMachine)({\n        id: F,\n        __demoMode: B\n    }), g = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), t = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(M, (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.optionalRef)((n)=>{\n        g.current = n;\n    })), [_, f, o, O, E] = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_3__.useSlice)(r, (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((n)=>[\n            n.popoverState,\n            n.button,\n            n.panel,\n            n.buttonId,\n            n.panelId\n        ], [])), P = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_4__.useOwnerDocument)((k = g.current) != null ? k : f), A = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_5__.useLatestValue)(O), a = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_5__.useLatestValue)(E), i = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            buttonId: A,\n            panelId: a,\n            close: r.actions.close\n        }), [\n        A,\n        a,\n        r\n    ]), u = Ge(), l = u == null ? void 0 : u.registerPopover, v = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n        var n;\n        return (n = u == null ? void 0 : u.isFocusWithinPopoverGroup()) != null ? n : (P == null ? void 0 : P.activeElement) && ((f == null ? void 0 : f.contains(P.activeElement)) || (o == null ? void 0 : o.contains(P.activeElement)));\n    });\n    (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>l == null ? void 0 : l(i), [\n        l,\n        i\n    ]);\n    let [m, j] = (0,_portal_portal_js__WEBPACK_IMPORTED_MODULE_7__.useNestedPortals)(), $ = (0,_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.useMainTreeNode)(f), J = (0,_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.useRootContainers)({\n        mainTreeNode: $,\n        portals: m,\n        defaultContainers: [\n            {\n                get current () {\n                    return r.state.button;\n                }\n            },\n            {\n                get current () {\n                    return r.state.panel;\n                }\n            }\n        ]\n    });\n    (0,_hooks_use_event_listener_js__WEBPACK_IMPORTED_MODULE_9__.useEventListener)(P == null ? void 0 : P.defaultView, \"focus\", (n)=>{\n        var D, z, G, U, L, N;\n        n.target !== window && _utils_dom_js__WEBPACK_IMPORTED_MODULE_10__.isHTMLorSVGElement(n.target) && r.state.popoverState === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open && (v() || r.state.button && r.state.panel && (J.contains(n.target) || (z = (D = r.state.beforePanelSentinel.current) == null ? void 0 : D.contains) != null && z.call(D, n.target) || (U = (G = r.state.afterPanelSentinel.current) == null ? void 0 : G.contains) != null && U.call(G, n.target) || (N = (L = r.state.afterButtonSentinel.current) == null ? void 0 : L.contains) != null && N.call(L, n.target) || r.actions.close()));\n    }, !0);\n    let x = _ === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open;\n    (0,_hooks_use_outside_click_js__WEBPACK_IMPORTED_MODULE_12__.useOutsideClick)(x, J.resolveContainers, (n, D)=>{\n        r.actions.close(), (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.isFocusableElement)(D, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.FocusableMode.Loose) || (n.preventDefault(), f == null || f.focus());\n    });\n    let X = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: _ === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open,\n            close: r.actions.refocusableClose\n        }), [\n        _,\n        r\n    ]), te = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_3__.useSlice)(r, (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((n)=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_14__.match)(n.popoverState, {\n            [_popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.State.Open,\n            [_popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Closed]: _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.State.Closed\n        }), [])), q = {\n        ref: t\n    }, C = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_hooks_use_root_containers_js__WEBPACK_IMPORTED_MODULE_8__.MainTreeProvider, {\n        node: $\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_floating_js__WEBPACK_IMPORTED_MODULE_17__.FloatingProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(fe.Provider, {\n        value: null\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_popover_machine_glue_js__WEBPACK_IMPORTED_MODULE_1__.PopoverContext.Provider, {\n        value: r\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_18__.CloseProvider, {\n        value: r.actions.refocusableClose\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.OpenClosedProvider, {\n        value: te\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(j, null, C({\n        ourProps: q,\n        theirProps: d,\n        slot: X,\n        defaultTag: ct,\n        name: \"Popover\"\n    }))))))));\n}\nlet ft = \"button\";\nfunction Pt(b, M) {\n    let F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: B = `headlessui-popover-button-${F}`, disabled: d = !1, autoFocus: r = !1, ...g } = b, t = (0,_popover_machine_glue_js__WEBPACK_IMPORTED_MODULE_1__.usePopoverMachineContext)(\"Popover.Button\"), [_, f, o, O, E, P, A] = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_3__.useSlice)(t, (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>[\n            e.popoverState,\n            t.selectors.isPortalled(e),\n            e.button,\n            e.buttonId,\n            e.panel,\n            e.panelId,\n            e.afterButtonSentinel\n        ], [])), a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), i = `headlessui-focus-sentinel-${(0,react__WEBPACK_IMPORTED_MODULE_0__.useId)()}`, u = Ge(), l = u == null ? void 0 : u.closeOthers, m = ut() !== null;\n    (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        if (!m) return t.actions.setButtonId(B), ()=>t.actions.setButtonId(null);\n    }, [\n        m,\n        B,\n        t\n    ]);\n    let [j] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>Symbol()), $ = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(a, M, (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_17__.useFloatingReference)(), (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n        if (!m) {\n            if (e) t.state.buttons.current.push(j);\n            else {\n                let p = t.state.buttons.current.indexOf(j);\n                p !== -1 && t.state.buttons.current.splice(p, 1);\n            }\n            t.state.buttons.current.length > 1 && console.warn(\"You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported.\"), e && t.actions.setButton(e);\n        }\n    })), J = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(a, M), x = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_4__.useOwnerDocument)(a), X = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n        var p, h, S;\n        if (m) {\n            if (t.state.popoverState === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Closed) return;\n            switch(e.key){\n                case _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Space:\n                case _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Enter:\n                    e.preventDefault(), (h = (p = e.target).click) == null || h.call(p), t.actions.close(), (S = t.state.button) == null || S.focus();\n                    break;\n            }\n        } else switch(e.key){\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Space:\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Enter:\n                e.preventDefault(), e.stopPropagation(), t.state.popoverState === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Closed ? (l == null || l(t.state.buttonId), t.actions.open()) : t.actions.close();\n                break;\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Escape:\n                if (t.state.popoverState !== _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open) return l == null ? void 0 : l(t.state.buttonId);\n                if (!a.current || x != null && x.activeElement && !a.current.contains(x.activeElement)) return;\n                e.preventDefault(), e.stopPropagation(), t.actions.close();\n                break;\n        }\n    }), te = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n        m || e.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Space && e.preventDefault();\n    }), q = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n        var p, h;\n        (0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_20__.isDisabledReactIssue7711)(e.currentTarget) || d || (m ? (t.actions.close(), (p = t.state.button) == null || p.focus()) : (e.preventDefault(), e.stopPropagation(), t.state.popoverState === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Closed ? (l == null || l(t.state.buttonId), t.actions.open()) : t.actions.close(), (h = t.state.button) == null || h.focus()));\n    }), C = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((e)=>{\n        e.preventDefault(), e.stopPropagation();\n    }), { isFocusVisible: k, focusProps: n } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_21__.useFocusRing)({\n        autoFocus: r\n    }), { isHovered: D, hoverProps: z } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_22__.useHover)({\n        isDisabled: d\n    }), { pressed: G, pressProps: U } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_23__.useActivePress)({\n        disabled: d\n    }), L = _ === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open, N = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: L,\n            active: G || L,\n            disabled: d,\n            hover: D,\n            focus: k,\n            autofocus: r\n        }), [\n        L,\n        D,\n        k,\n        G,\n        d,\n        r\n    ]), ae = (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_24__.useResolveButtonType)(b, o), Pe = m ? (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.mergeProps)({\n        ref: J,\n        type: ae,\n        onKeyDown: X,\n        onClick: q,\n        disabled: d || void 0,\n        autoFocus: r\n    }, n, z, U) : (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.mergeProps)({\n        ref: $,\n        id: O,\n        type: ae,\n        \"aria-expanded\": _ === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open,\n        \"aria-controls\": E ? P : void 0,\n        disabled: d || void 0,\n        autoFocus: r,\n        onKeyDown: X,\n        onKeyUp: te,\n        onClick: q,\n        onMouseDown: C\n    }, n, z, U), se = (0,_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.useTabDirection)(), s = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n        if (!_utils_dom_js__WEBPACK_IMPORTED_MODULE_10__.isHTMLElement(t.state.panel)) return;\n        let e = t.state.panel;\n        function p() {\n            (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_14__.match)(se.current, {\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Forwards]: ()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)(e, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.First),\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Backwards]: ()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)(e, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.Last)\n            }) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.FocusResult.Error && (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)((0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.getFocusableElements)().filter((S)=>S.dataset.headlessuiFocusGuard !== \"true\"), (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_14__.match)(se.current, {\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Forwards]: _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.Next,\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Backwards]: _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.Previous\n            }), {\n                relativeTo: t.state.button\n            });\n        }\n        p();\n    }), R = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, R({\n        ourProps: Pe,\n        theirProps: g,\n        slot: N,\n        defaultTag: ft,\n        name: \"Popover.Button\"\n    }), L && !m && f && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__.Hidden, {\n        id: i,\n        ref: A,\n        features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__.HiddenFeatures.Focusable,\n        \"data-headlessui-focus-guard\": !0,\n        as: \"button\",\n        type: \"button\",\n        onFocus: s\n    }));\n}\n_c1 = Pt;\nlet vt = \"div\", mt = _utils_render_js__WEBPACK_IMPORTED_MODULE_16__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_16__.RenderFeatures.Static;\nfunction ke(b, M) {\n    let F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: B = `headlessui-popover-backdrop-${F}`, transition: d = !1, ...r } = b, g = (0,_popover_machine_glue_js__WEBPACK_IMPORTED_MODULE_1__.usePopoverMachineContext)(\"Popover.Backdrop\"), t = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_3__.useSlice)(g, (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((l)=>l.popoverState, [])), [_, f] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), o = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(M, f), O = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.useOpenClosed)(), [E, P] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_27__.useTransition)(d, _, O !== null ? (O & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.State.Open : t === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open), A = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((l)=>{\n        if ((0,_utils_bugs_js__WEBPACK_IMPORTED_MODULE_20__.isDisabledReactIssue7711)(l.currentTarget)) return l.preventDefault();\n        g.actions.close();\n    }), a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: t === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open\n        }), [\n        t\n    ]), i = {\n        ref: o,\n        id: B,\n        \"aria-hidden\": !0,\n        onClick: A,\n        ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_27__.transitionDataAttributes)(P)\n    };\n    return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.useRender)()({\n        ourProps: i,\n        theirProps: r,\n        slot: a,\n        defaultTag: vt,\n        features: mt,\n        visible: E,\n        name: \"Popover.Backdrop\"\n    });\n}\nlet Tt = \"div\", Et = _utils_render_js__WEBPACK_IMPORTED_MODULE_16__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_16__.RenderFeatures.Static;\nfunction bt(b, M) {\n    let F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: B = `headlessui-popover-panel-${F}`, focus: d = !1, anchor: r, portal: g = !1, modal: t = !1, transition: _ = !1, ...f } = b, o = (0,_popover_machine_glue_js__WEBPACK_IMPORTED_MODULE_1__.usePopoverMachineContext)(\"Popover.Panel\"), O = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_3__.useSlice)(o, o.selectors.isPortalled), [E, P, A, a, i] = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_3__.useSlice)(o, (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((s)=>[\n            s.popoverState,\n            s.button,\n            s.__demoMode,\n            s.beforePanelSentinel,\n            s.afterPanelSentinel\n        ], [])), u = `headlessui-focus-sentinel-before-${F}`, l = `headlessui-focus-sentinel-after-${F}`, v = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), m = (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_17__.useResolvedAnchor)(r), [j, $] = (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_17__.useFloatingPanel)(m), J = (0,_internal_floating_js__WEBPACK_IMPORTED_MODULE_17__.useFloatingPanelProps)();\n    m && (g = !0);\n    let [x, X] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), te = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(v, M, m ? j : null, o.actions.setPanel, X), q = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_4__.useOwnerDocument)(P), C = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_4__.useOwnerDocument)(v);\n    (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_28__.useIsoMorphicEffect)(()=>(o.actions.setPanelId(B), ()=>o.actions.setPanelId(null)), [\n        B,\n        o\n    ]);\n    let k = (0,_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.useOpenClosed)(), [n, D] = (0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_27__.useTransition)(_, x, k !== null ? (k & _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.State.Open) === _internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.State.Open : E === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open);\n    (0,_hooks_use_on_disappear_js__WEBPACK_IMPORTED_MODULE_29__.useOnDisappear)(n, P, o.actions.close), (0,_hooks_use_scroll_lock_js__WEBPACK_IMPORTED_MODULE_30__.useScrollLock)(A ? !1 : t && n, C);\n    let G = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((s)=>{\n        var R;\n        switch(s.key){\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_19__.Keys.Escape:\n                if (o.state.popoverState !== _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open || !v.current || C != null && C.activeElement && !v.current.contains(C.activeElement)) return;\n                s.preventDefault(), s.stopPropagation(), o.actions.close(), (R = o.state.button) == null || R.focus();\n                break;\n        }\n    });\n    (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        var s;\n        b.static || E === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Closed && ((s = b.unmount) == null || s) && o.actions.setPanel(null);\n    }, [\n        E,\n        b.unmount,\n        b.static,\n        o\n    ]), (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        if (A || !d || E !== _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open || !v.current) return;\n        let s = C == null ? void 0 : C.activeElement;\n        v.current.contains(s) || (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)(v.current, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.First);\n    }, [\n        A,\n        d,\n        v.current,\n        E\n    ]);\n    let U = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            open: E === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open,\n            close: o.actions.refocusableClose\n        }), [\n        E,\n        o\n    ]), L = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.mergeProps)(m ? J() : {}, {\n        ref: te,\n        id: B,\n        onKeyDown: G,\n        onBlur: d && E === _popover_machine_js__WEBPACK_IMPORTED_MODULE_11__.PopoverStates.Open ? (s)=>{\n            var e, p, h, S, w;\n            let R = s.relatedTarget;\n            R && v.current && ((e = v.current) != null && e.contains(R) || (o.actions.close(), ((h = (p = a.current) == null ? void 0 : p.contains) != null && h.call(p, R) || (w = (S = i.current) == null ? void 0 : S.contains) != null && w.call(S, R)) && R.focus({\n                preventScroll: !0\n            })));\n        } : void 0,\n        tabIndex: -1,\n        style: {\n            ...f.style,\n            ...$,\n            \"--button-width\": (0,_hooks_use_element_size_js__WEBPACK_IMPORTED_MODULE_31__.useElementSize)(P, !0).width\n        },\n        ...(0,_hooks_use_transition_js__WEBPACK_IMPORTED_MODULE_27__.transitionDataAttributes)(D)\n    }), N = (0,_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.useTabDirection)(), ae = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n        let s = v.current;\n        if (!s) return;\n        function R() {\n            (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_14__.match)(N.current, {\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Forwards]: ()=>{\n                    var p;\n                    (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)(s, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.First) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.FocusResult.Error && ((p = o.state.afterPanelSentinel.current) == null || p.focus());\n                },\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Backwards]: ()=>{\n                    var e;\n                    (e = o.state.button) == null || e.focus({\n                        preventScroll: !0\n                    });\n                }\n            });\n        }\n        R();\n    }), Pe = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n        let s = v.current;\n        if (!s) return;\n        function R() {\n            (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_14__.match)(N.current, {\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Forwards]: ()=>{\n                    if (!o.state.button) return;\n                    let e = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.getFocusableElements)(), p = e.indexOf(o.state.button), h = e.slice(0, p + 1), w = [\n                        ...e.slice(p + 1),\n                        ...h\n                    ];\n                    for (let ve of w.slice())if (ve.dataset.headlessuiFocusGuard === \"true\" || x != null && x.contains(ve)) {\n                        let Re = w.indexOf(ve);\n                        Re !== -1 && w.splice(Re, 1);\n                    }\n                    (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)(w, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.First, {\n                        sorted: !1\n                    });\n                },\n                [_hooks_use_tab_direction_js__WEBPACK_IMPORTED_MODULE_25__.Direction.Backwards]: ()=>{\n                    var p;\n                    (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.focusIn)(s, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.Focus.Previous) === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_13__.FocusResult.Error && ((p = o.state.button) == null || p.focus());\n                }\n            });\n        }\n        R();\n    }), se = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_open_closed_js__WEBPACK_IMPORTED_MODULE_15__.ResetOpenClosedProvider, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(fe.Provider, {\n        value: B\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_close_provider_js__WEBPACK_IMPORTED_MODULE_18__.CloseProvider, {\n        value: o.actions.refocusableClose\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_portal_portal_js__WEBPACK_IMPORTED_MODULE_7__.Portal, {\n        enabled: g ? b.static || n : !1,\n        ownerDocument: q\n    }, n && O && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__.Hidden, {\n        id: u,\n        ref: a,\n        features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__.HiddenFeatures.Focusable,\n        \"data-headlessui-focus-guard\": !0,\n        as: \"button\",\n        type: \"button\",\n        onFocus: ae\n    }), se({\n        ourProps: L,\n        theirProps: f,\n        slot: U,\n        defaultTag: Tt,\n        features: Et,\n        visible: n,\n        name: \"Popover.Panel\"\n    }), n && O && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__.Hidden, {\n        id: l,\n        ref: i,\n        features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_26__.HiddenFeatures.Focusable,\n        \"data-headlessui-focus-guard\": !0,\n        as: \"button\",\n        type: \"button\",\n        onFocus: Pe\n    })))));\n}\nlet yt = \"div\";\nfunction gt(b, M) {\n    let F = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), B = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_2__.useSyncRefs)(F, M), [d, r] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), g = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((a)=>{\n        r((i)=>{\n            let u = i.indexOf(a);\n            if (u !== -1) {\n                let l = i.slice();\n                return l.splice(u, 1), l;\n            }\n            return i;\n        });\n    }), t = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((a)=>(r((i)=>[\n                ...i,\n                a\n            ]), ()=>g(a))), _ = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)(()=>{\n        var u;\n        let a = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_32__.getOwnerDocument)(F);\n        if (!a) return !1;\n        let i = a.activeElement;\n        return (u = F.current) != null && u.contains(i) ? !0 : d.some((l)=>{\n            var v, m;\n            return ((v = a.getElementById(l.buttonId.current)) == null ? void 0 : v.contains(i)) || ((m = a.getElementById(l.panelId.current)) == null ? void 0 : m.contains(i));\n        });\n    }), f = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.useEvent)((a)=>{\n        for (let i of d)i.buttonId.current !== a && i.close();\n    }), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            registerPopover: t,\n            unregisterPopover: g,\n            isFocusWithinPopoverGroup: _,\n            closeOthers: f\n        }), [\n        t,\n        g,\n        _,\n        f\n    ]), O = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({}), []), E = b, P = {\n        ref: B\n    }, A = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.useRender)();\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(ge.Provider, {\n        value: o\n    }, A({\n        ourProps: P,\n        theirProps: E,\n        slot: O,\n        defaultTag: yt,\n        name: \"Popover.Group\"\n    })));\n}\nlet Rt = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.forwardRefWithAs)(dt), Ft = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.forwardRefWithAs)(Pt), Bt = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.forwardRefWithAs)(ke), _t = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.forwardRefWithAs)(ke), At = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.forwardRefWithAs)(bt), Ct = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_16__.forwardRefWithAs)(gt), io = Object.assign(Rt, {\n    Button: Ft,\n    Backdrop: _t,\n    Overlay: Bt,\n    Panel: At,\n    Group: Ct\n});\n\nvar _c, _c1;\n$RefreshReg$(_c, \"Ge\");\n$RefreshReg$(_c1, \"Pt\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvSUFBK0Q7QUFBcUQ7QUFBc0k7QUFBa0U7QUFBa0U7QUFBb0Q7QUFBc0U7QUFBK0M7QUFBNkU7QUFBa0U7QUFBa0U7QUFBb0U7QUFBNkQ7QUFBK0U7QUFBcUg7QUFBZ0U7QUFBNkU7QUFBbUY7QUFBOEY7QUFBa0U7QUFBcUs7QUFBd0U7QUFBaUk7QUFBK0M7QUFBZ0U7QUFBc0M7QUFBK0o7QUFBOEM7QUFBa0M7QUFBeUQ7QUFBZ0g7QUFBc0M7QUFBcUU7QUFBcUQ7QUFBbUg7QUFBQSxJQUFJZ0ksbUJBQUcxSCxvREFBRUEsQ0FBQztBQUFNMEgsR0FBR0MsV0FBVyxHQUFDO0FBQXNCLFNBQVNDO0lBQUssT0FBT3hILGlEQUFFQSxDQUFDc0g7QUFBRztLQUFsQkU7QUFBbUIsSUFBSUMsbUJBQUc3SCxvREFBRUEsQ0FBQztBQUFNNkgsR0FBR0YsV0FBVyxHQUFDO0FBQXNCLFNBQVNHO0lBQUssT0FBTzFILGlEQUFFQSxDQUFDeUg7QUFBRztBQUFDLElBQUlFLEtBQUc7QUFBTSxTQUFTQyxHQUFHQyxDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJQztJQUFFLElBQUlDLElBQUU5Ryw0Q0FBRUEsSUFBRyxFQUFDK0csWUFBV0MsSUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHQyxHQUFFLEdBQUNOLEdBQUVPLElBQUVqQiwyRUFBRUEsQ0FBQztRQUFDa0IsSUFBR0w7UUFBRUMsWUFBV0M7SUFBQyxJQUFHSSxJQUFFaEksNkNBQUVBLENBQUMsT0FBTWlJLElBQUU3RixvRUFBQ0EsQ0FBQ29GLEdBQUV0RixvRUFBRUEsQ0FBQ2dHLENBQUFBO1FBQUlGLEVBQUVHLE9BQU8sR0FBQ0Q7SUFBQyxLQUFJLENBQUNFLEdBQUVDLEdBQUVDLEdBQUVDLEdBQUVDLEVBQUUsR0FBQ2xFLHdEQUFDQSxDQUFDd0QsR0FBRXRJLGtEQUFFQSxDQUFDMEksQ0FBQUEsSUFBRztZQUFDQSxFQUFFTyxZQUFZO1lBQUNQLEVBQUVRLE1BQU07WUFBQ1IsRUFBRVMsS0FBSztZQUFDVCxFQUFFVSxRQUFRO1lBQUNWLEVBQUVXLE9BQU87U0FBQyxFQUFDLEVBQUUsSUFBR0MsSUFBRXhILHFFQUFFQSxDQUFDLENBQUNtRyxJQUFFTyxFQUFFRyxPQUFPLEtBQUcsT0FBS1YsSUFBRVksSUFBR1UsSUFBRS9ILDBFQUFFQSxDQUFDdUgsSUFBR1MsSUFBRWhJLDBFQUFFQSxDQUFDd0gsSUFBR1MsSUFBRW5KLDhDQUFDQSxDQUFDLElBQUs7WUFBQzhJLFVBQVNHO1lBQUVGLFNBQVFHO1lBQUVFLE9BQU1wQixFQUFFcUIsT0FBTyxDQUFDRCxLQUFLO1FBQUEsSUFBRztRQUFDSDtRQUFFQztRQUFFbEI7S0FBRSxHQUFFc0IsSUFBRWxDLE1BQUttQyxJQUFFRCxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFRSxlQUFlLEVBQUNDLElBQUUvSSw2REFBQ0EsQ0FBQztRQUFLLElBQUkwSDtRQUFFLE9BQU0sQ0FBQ0EsSUFBRWtCLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVJLHlCQUF5QixFQUFDLEtBQUksT0FBS3RCLElBQUUsQ0FBQ1ksS0FBRyxPQUFLLEtBQUssSUFBRUEsRUFBRVcsYUFBYSxLQUFJLEVBQUNwQixLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFcUIsUUFBUSxDQUFDWixFQUFFVyxhQUFhLE1BQUtuQixDQUFBQSxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFb0IsUUFBUSxDQUFDWixFQUFFVyxhQUFhLEVBQUM7SUFBRTtJQUFHN0osZ0RBQUVBLENBQUMsSUFBSXlKLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVKLElBQUc7UUFBQ0k7UUFBRUo7S0FBRTtJQUFFLElBQUcsQ0FBQ1UsR0FBRUMsRUFBRSxHQUFDckQsbUVBQUVBLElBQUdzRCxJQUFFakksOEVBQUVBLENBQUN5RyxJQUFHeUIsSUFBRWhJLGdGQUFFQSxDQUFDO1FBQUNpSSxjQUFhRjtRQUFFRyxTQUFRTDtRQUFFTSxtQkFBa0I7WUFBQztnQkFBQyxJQUFJOUIsV0FBUztvQkFBQyxPQUFPTCxFQUFFb0MsS0FBSyxDQUFDeEIsTUFBTTtnQkFBQTtZQUFDO1lBQUU7Z0JBQUMsSUFBSVAsV0FBUztvQkFBQyxPQUFPTCxFQUFFb0MsS0FBSyxDQUFDdkIsS0FBSztnQkFBQTtZQUFDO1NBQUU7SUFBQTtJQUFHakksOEVBQUVBLENBQUNvSSxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFcUIsV0FBVyxFQUFDLFNBQVFqQyxDQUFBQTtRQUFJLElBQUlrQyxHQUFFQyxHQUFFQyxHQUFFQyxHQUFFQyxHQUFFQztRQUFFdkMsRUFBRXdDLE1BQU0sS0FBR0MsVUFBUWxHLDhEQUFxQixDQUFDeUQsRUFBRXdDLE1BQU0sS0FBRzVDLEVBQUVvQyxLQUFLLENBQUN6QixZQUFZLEtBQUdoQywrREFBQ0EsQ0FBQ29FLElBQUksSUFBR3RCLENBQUFBLE9BQUt6QixFQUFFb0MsS0FBSyxDQUFDeEIsTUFBTSxJQUFFWixFQUFFb0MsS0FBSyxDQUFDdkIsS0FBSyxJQUFHbUIsQ0FBQUEsRUFBRUosUUFBUSxDQUFDeEIsRUFBRXdDLE1BQU0sS0FBRyxDQUFDTCxJQUFFLENBQUNELElBQUV0QyxFQUFFb0MsS0FBSyxDQUFDWSxtQkFBbUIsQ0FBQzNDLE9BQU8sS0FBRyxPQUFLLEtBQUssSUFBRWlDLEVBQUVWLFFBQVEsS0FBRyxRQUFNVyxFQUFFVSxJQUFJLENBQUNYLEdBQUVsQyxFQUFFd0MsTUFBTSxLQUFHLENBQUNILElBQUUsQ0FBQ0QsSUFBRXhDLEVBQUVvQyxLQUFLLENBQUNjLGtCQUFrQixDQUFDN0MsT0FBTyxLQUFHLE9BQUssS0FBSyxJQUFFbUMsRUFBRVosUUFBUSxLQUFHLFFBQU1hLEVBQUVRLElBQUksQ0FBQ1QsR0FBRXBDLEVBQUV3QyxNQUFNLEtBQUcsQ0FBQ0QsSUFBRSxDQUFDRCxJQUFFMUMsRUFBRW9DLEtBQUssQ0FBQ2UsbUJBQW1CLENBQUM5QyxPQUFPLEtBQUcsT0FBSyxLQUFLLElBQUVxQyxFQUFFZCxRQUFRLEtBQUcsUUFBTWUsRUFBRU0sSUFBSSxDQUFDUCxHQUFFdEMsRUFBRXdDLE1BQU0sS0FBRzVDLEVBQUVxQixPQUFPLENBQUNELEtBQUssRUFBQyxDQUFDO0lBQUUsR0FBRSxDQUFDO0lBQUcsSUFBSWdDLElBQUU5QyxNQUFJM0IsK0RBQUNBLENBQUNvRSxJQUFJO0lBQUN6Siw2RUFBRUEsQ0FBQzhKLEdBQUVwQixFQUFFcUIsaUJBQWlCLEVBQUMsQ0FBQ2pELEdBQUVrQztRQUFLdEMsRUFBRXFCLE9BQU8sQ0FBQ0QsS0FBSyxJQUFHN0QsK0VBQUVBLENBQUMrRSxHQUFFckYsc0VBQUVBLENBQUNxRyxLQUFLLEtBQUlsRCxDQUFBQSxFQUFFbUQsY0FBYyxJQUFHaEQsS0FBRyxRQUFNQSxFQUFFaUQsS0FBSyxFQUFDO0lBQUU7SUFBRyxJQUFJQyxJQUFFekwsOENBQUNBLENBQUMsSUFBSztZQUFDMEwsTUFBS3BELE1BQUkzQiwrREFBQ0EsQ0FBQ29FLElBQUk7WUFBQzNCLE9BQU1wQixFQUFFcUIsT0FBTyxDQUFDc0MsZ0JBQWdCO1FBQUEsSUFBRztRQUFDckQ7UUFBRU47S0FBRSxHQUFFNEQsS0FBR3BILHdEQUFDQSxDQUFDd0QsR0FBRXRJLGtEQUFFQSxDQUFDMEksQ0FBQUEsSUFBRzNDLHVEQUFFQSxDQUFDMkMsRUFBRU8sWUFBWSxFQUFDO1lBQUMsQ0FBQ2hDLCtEQUFDQSxDQUFDb0UsSUFBSSxDQUFDLEVBQUMzRyw0REFBQ0EsQ0FBQzJHLElBQUk7WUFBQyxDQUFDcEUsK0RBQUNBLENBQUNrRixNQUFNLENBQUMsRUFBQ3pILDREQUFDQSxDQUFDeUgsTUFBTTtRQUFBLElBQUcsRUFBRSxJQUFHQyxJQUFFO1FBQUNDLEtBQUk1RDtJQUFDLEdBQUU2RCxJQUFFN0YsNERBQUVBO0lBQUcscUJBQU83RyxnREFBZSxDQUFDc0MsMkVBQUVBLEVBQUM7UUFBQ3NLLE1BQUtuQztJQUFDLGlCQUFFekssZ0RBQWUsQ0FBQzRELG9FQUFFQSxFQUFDLG9CQUFLNUQsZ0RBQWUsQ0FBQytILEdBQUc4RSxRQUFRLEVBQUM7UUFBQ0MsT0FBTTtJQUFJLGlCQUFFOU0sZ0RBQWUsQ0FBQ3VILG9FQUFFQSxDQUFDc0YsUUFBUSxFQUFDO1FBQUNDLE9BQU1wRTtJQUFDLGlCQUFFMUksZ0RBQWUsQ0FBQzBELHVFQUFFQSxFQUFDO1FBQUNvSixPQUFNcEUsRUFBRXFCLE9BQU8sQ0FBQ3NDLGdCQUFnQjtJQUFBLGlCQUFFck0sZ0RBQWUsQ0FBQzBFLHlFQUFFQSxFQUFDO1FBQUNvSSxPQUFNUjtJQUFFLGlCQUFFdE0sZ0RBQWUsQ0FBQ3dLLEdBQUUsTUFBS2tDLEVBQUU7UUFBQ0ssVUFBU1A7UUFBRVEsWUFBV3ZFO1FBQUV3RSxNQUFLZDtRQUFFZSxZQUFXakY7UUFBR2tGLE1BQUs7SUFBUztBQUFTO0FBQUMsSUFBSUMsS0FBRztBQUFTLFNBQVNDLEdBQUdsRixDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJRSxJQUFFOUcsNENBQUVBLElBQUcsRUFBQ21ILElBQUdILElBQUUsQ0FBQywwQkFBMEIsRUFBRUYsRUFBRSxDQUFDLEVBQUNnRixVQUFTN0UsSUFBRSxDQUFDLENBQUMsRUFBQzhFLFdBQVU3RSxJQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUdFLEdBQUUsR0FBQ1QsR0FBRVUsSUFBRWxCLGtGQUFFQSxDQUFDLG1CQUFrQixDQUFDcUIsR0FBRUMsR0FBRUMsR0FBRUMsR0FBRUMsR0FBRU0sR0FBRUMsRUFBRSxHQUFDekUsd0RBQUNBLENBQUMyRCxHQUFFekksa0RBQUVBLENBQUNvTixDQUFBQSxJQUFHO1lBQUNBLEVBQUVuRSxZQUFZO1lBQUNSLEVBQUU0RSxTQUFTLENBQUNDLFdBQVcsQ0FBQ0Y7WUFBR0EsRUFBRWxFLE1BQU07WUFBQ2tFLEVBQUVoRSxRQUFRO1lBQUNnRSxFQUFFakUsS0FBSztZQUFDaUUsRUFBRS9ELE9BQU87WUFBQytELEVBQUUzQixtQkFBbUI7U0FBQyxFQUFDLEVBQUUsSUFBR2pDLElBQUVoSiw2Q0FBRUEsQ0FBQyxPQUFNaUosSUFBRSxDQUFDLDBCQUEwQixFQUFFckksNENBQUVBLEdBQUcsQ0FBQyxFQUFDd0ksSUFBRWxDLE1BQUttQyxJQUFFRCxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFMkQsV0FBVyxFQUFDcEQsSUFBRXZDLFNBQU87SUFBS3hILGdEQUFFQSxDQUFDO1FBQUssSUFBRyxDQUFDK0osR0FBRSxPQUFPMUIsRUFBRWtCLE9BQU8sQ0FBQzZELFdBQVcsQ0FBQ3BGLElBQUcsSUFBSUssRUFBRWtCLE9BQU8sQ0FBQzZELFdBQVcsQ0FBQztJQUFLLEdBQUU7UUFBQ3JEO1FBQUUvQjtRQUFFSztLQUFFO0lBQUUsSUFBRyxDQUFDMkIsRUFBRSxHQUFDMUosK0NBQUVBLENBQUMsSUFBSStNLFdBQVVwRCxJQUFFekgsb0VBQUNBLENBQUM0RyxHQUFFeEIsR0FBRWxFLDRFQUFFQSxJQUFHOUMsNkRBQUNBLENBQUNvTSxDQUFBQTtRQUFJLElBQUcsQ0FBQ2pELEdBQUU7WUFBQyxJQUFHaUQsR0FBRTNFLEVBQUVpQyxLQUFLLENBQUNnRCxPQUFPLENBQUMvRSxPQUFPLENBQUNnRixJQUFJLENBQUN2RDtpQkFBTztnQkFBQyxJQUFJd0QsSUFBRW5GLEVBQUVpQyxLQUFLLENBQUNnRCxPQUFPLENBQUMvRSxPQUFPLENBQUNrRixPQUFPLENBQUN6RDtnQkFBR3dELE1BQUksQ0FBQyxLQUFHbkYsRUFBRWlDLEtBQUssQ0FBQ2dELE9BQU8sQ0FBQy9FLE9BQU8sQ0FBQ21GLE1BQU0sQ0FBQ0YsR0FBRTtZQUFFO1lBQUNuRixFQUFFaUMsS0FBSyxDQUFDZ0QsT0FBTyxDQUFDL0UsT0FBTyxDQUFDb0YsTUFBTSxHQUFDLEtBQUdDLFFBQVFDLElBQUksQ0FBQywyRkFBMEZiLEtBQUczRSxFQUFFa0IsT0FBTyxDQUFDdUUsU0FBUyxDQUFDZDtRQUFFO0lBQUMsS0FBSTlDLElBQUUxSCxvRUFBQ0EsQ0FBQzRHLEdBQUV4QixJQUFHMEQsSUFBRTVKLHFFQUFFQSxDQUFDMEgsSUFBR3VDLElBQUUvSyw2REFBQ0EsQ0FBQ29NLENBQUFBO1FBQUksSUFBSVEsR0FBRU8sR0FBRUM7UUFBRSxJQUFHakUsR0FBRTtZQUFDLElBQUcxQixFQUFFaUMsS0FBSyxDQUFDekIsWUFBWSxLQUFHaEMsK0RBQUNBLENBQUNrRixNQUFNLEVBQUM7WUFBTyxPQUFPaUIsRUFBRWlCLEdBQUc7Z0JBQUUsS0FBSzFILCtDQUFDQSxDQUFDMkgsS0FBSztnQkFBQyxLQUFLM0gsK0NBQUNBLENBQUM0SCxLQUFLO29CQUFDbkIsRUFBRXZCLGNBQWMsSUFBRyxDQUFDc0MsSUFBRSxDQUFDUCxJQUFFUixFQUFFbEMsTUFBTSxFQUFFc0QsS0FBSyxLQUFHLFFBQU1MLEVBQUU1QyxJQUFJLENBQUNxQyxJQUFHbkYsRUFBRWtCLE9BQU8sQ0FBQ0QsS0FBSyxJQUFHLENBQUMwRSxJQUFFM0YsRUFBRWlDLEtBQUssQ0FBQ3hCLE1BQU0sS0FBRyxRQUFNa0YsRUFBRXRDLEtBQUs7b0JBQUc7WUFBSztRQUFDLE9BQU0sT0FBT3NCLEVBQUVpQixHQUFHO1lBQUUsS0FBSzFILCtDQUFDQSxDQUFDMkgsS0FBSztZQUFDLEtBQUszSCwrQ0FBQ0EsQ0FBQzRILEtBQUs7Z0JBQUNuQixFQUFFdkIsY0FBYyxJQUFHdUIsRUFBRXFCLGVBQWUsSUFBR2hHLEVBQUVpQyxLQUFLLENBQUN6QixZQUFZLEtBQUdoQywrREFBQ0EsQ0FBQ2tGLE1BQU0sR0FBRXRDLENBQUFBLEtBQUcsUUFBTUEsRUFBRXBCLEVBQUVpQyxLQUFLLENBQUN0QixRQUFRLEdBQUVYLEVBQUVrQixPQUFPLENBQUNxQyxJQUFJLEVBQUMsSUFBR3ZELEVBQUVrQixPQUFPLENBQUNELEtBQUs7Z0JBQUc7WUFBTSxLQUFLL0MsK0NBQUNBLENBQUMrSCxNQUFNO2dCQUFDLElBQUdqRyxFQUFFaUMsS0FBSyxDQUFDekIsWUFBWSxLQUFHaEMsK0RBQUNBLENBQUNvRSxJQUFJLEVBQUMsT0FBT3hCLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVwQixFQUFFaUMsS0FBSyxDQUFDdEIsUUFBUTtnQkFBRSxJQUFHLENBQUNJLEVBQUViLE9BQU8sSUFBRStDLEtBQUcsUUFBTUEsRUFBRXpCLGFBQWEsSUFBRSxDQUFDVCxFQUFFYixPQUFPLENBQUN1QixRQUFRLENBQUN3QixFQUFFekIsYUFBYSxHQUFFO2dCQUFPbUQsRUFBRXZCLGNBQWMsSUFBR3VCLEVBQUVxQixlQUFlLElBQUdoRyxFQUFFa0IsT0FBTyxDQUFDRCxLQUFLO2dCQUFHO1FBQUs7SUFBQyxJQUFHd0MsS0FBR2xMLDZEQUFDQSxDQUFDb00sQ0FBQUE7UUFBSWpELEtBQUdpRCxFQUFFaUIsR0FBRyxLQUFHMUgsK0NBQUNBLENBQUMySCxLQUFLLElBQUVsQixFQUFFdkIsY0FBYztJQUFFLElBQUdPLElBQUVwTCw2REFBQ0EsQ0FBQ29NLENBQUFBO1FBQUksSUFBSVEsR0FBRU87UUFBRW5KLHlFQUFFQSxDQUFDb0ksRUFBRXVCLGFBQWEsS0FBR3RHLEtBQUk4QixDQUFBQSxJQUFHMUIsQ0FBQUEsRUFBRWtCLE9BQU8sQ0FBQ0QsS0FBSyxJQUFHLENBQUNrRSxJQUFFbkYsRUFBRWlDLEtBQUssQ0FBQ3hCLE1BQU0sS0FBRyxRQUFNMEUsRUFBRTlCLEtBQUssRUFBQyxJQUFJc0IsQ0FBQUEsRUFBRXZCLGNBQWMsSUFBR3VCLEVBQUVxQixlQUFlLElBQUdoRyxFQUFFaUMsS0FBSyxDQUFDekIsWUFBWSxLQUFHaEMsK0RBQUNBLENBQUNrRixNQUFNLEdBQUV0QyxDQUFBQSxLQUFHLFFBQU1BLEVBQUVwQixFQUFFaUMsS0FBSyxDQUFDdEIsUUFBUSxHQUFFWCxFQUFFa0IsT0FBTyxDQUFDcUMsSUFBSSxFQUFDLElBQUd2RCxFQUFFa0IsT0FBTyxDQUFDRCxLQUFLLElBQUcsQ0FBQ3lFLElBQUUxRixFQUFFaUMsS0FBSyxDQUFDeEIsTUFBTSxLQUFHLFFBQU1pRixFQUFFckMsS0FBSyxFQUFDLENBQUM7SUFBRSxJQUFHUSxJQUFFdEwsNkRBQUNBLENBQUNvTSxDQUFBQTtRQUFJQSxFQUFFdkIsY0FBYyxJQUFHdUIsRUFBRXFCLGVBQWU7SUFBRSxJQUFHLEVBQUNHLGdCQUFlM0csQ0FBQyxFQUFDNEcsWUFBV25HLENBQUMsRUFBQyxHQUFDakosZ0VBQUVBLENBQUM7UUFBQzBOLFdBQVU3RTtJQUFDLElBQUcsRUFBQ3dHLFdBQVVsRSxDQUFDLEVBQUNtRSxZQUFXbEUsQ0FBQyxFQUFDLEdBQUNsTCxtRUFBRUEsQ0FBQztRQUFDcVAsWUFBVzNHO0lBQUMsSUFBRyxFQUFDNEcsU0FBUW5FLENBQUMsRUFBQ29FLFlBQVduRSxDQUFDLEVBQUMsR0FBQ25LLDJFQUFFQSxDQUFDO1FBQUNzTSxVQUFTN0U7SUFBQyxJQUFHMkMsSUFBRXBDLE1BQUkzQiwrREFBQ0EsQ0FBQ29FLElBQUksRUFBQ0osSUFBRTNLLDhDQUFDQSxDQUFDLElBQUs7WUFBQzBMLE1BQUtoQjtZQUFFbUUsUUFBT3JFLEtBQUdFO1lBQUVrQyxVQUFTN0U7WUFBRStHLE9BQU14RTtZQUFFa0IsT0FBTTdEO1lBQUVvSCxXQUFVL0c7UUFBQyxJQUFHO1FBQUMwQztRQUFFSjtRQUFFM0M7UUFBRTZDO1FBQUV6QztRQUFFQztLQUFFLEdBQUVnSCxLQUFHdE4sd0ZBQUVBLENBQUMrRixHQUFFZSxJQUFHeUcsS0FBR3BGLElBQUU1RCw2REFBRUEsQ0FBQztRQUFDOEYsS0FBSS9CO1FBQUVrRixNQUFLRjtRQUFHRyxXQUFVMUQ7UUFBRTJELFNBQVF0RDtRQUFFYyxVQUFTN0UsS0FBRyxLQUFLO1FBQUU4RSxXQUFVN0U7SUFBQyxHQUFFSSxHQUFFbUMsR0FBRUUsS0FBR3hFLDZEQUFFQSxDQUFDO1FBQUM4RixLQUFJaEM7UUFBRTlCLElBQUdRO1FBQUV5RyxNQUFLRjtRQUFHLGlCQUFnQjFHLE1BQUkzQiwrREFBQ0EsQ0FBQ29FLElBQUk7UUFBQyxpQkFBZ0JyQyxJQUFFTSxJQUFFLEtBQUs7UUFBRTRELFVBQVM3RSxLQUFHLEtBQUs7UUFBRThFLFdBQVU3RTtRQUFFbUgsV0FBVTFEO1FBQUU0RCxTQUFRekQ7UUFBR3dELFNBQVF0RDtRQUFFd0QsYUFBWXREO0lBQUMsR0FBRTVELEdBQUVtQyxHQUFFRSxJQUFHOEUsS0FBRzdNLDZFQUFFQSxJQUFHOE0sSUFBRTlPLDZEQUFDQSxDQUFDO1FBQUssSUFBRyxDQUFDaUUseURBQWdCLENBQUN3RCxFQUFFaUMsS0FBSyxDQUFDdkIsS0FBSyxHQUFFO1FBQU8sSUFBSWlFLElBQUUzRSxFQUFFaUMsS0FBSyxDQUFDdkIsS0FBSztRQUFDLFNBQVN5RTtZQUFJN0gsdURBQUVBLENBQUM4SixHQUFHbEgsT0FBTyxFQUFDO2dCQUFDLENBQUM3RixtRUFBQ0EsQ0FBQ2tOLFFBQVEsQ0FBQyxFQUFDLElBQUl2SyxvRUFBQ0EsQ0FBQzJILEdBQUVqSSw4REFBQ0EsQ0FBQzhLLEtBQUs7Z0JBQUUsQ0FBQ25OLG1FQUFDQSxDQUFDb04sU0FBUyxDQUFDLEVBQUMsSUFBSXpLLG9FQUFDQSxDQUFDMkgsR0FBRWpJLDhEQUFDQSxDQUFDZ0wsSUFBSTtZQUFDLE9BQUs5SyxvRUFBRUEsQ0FBQytLLEtBQUssSUFBRTNLLG9FQUFDQSxDQUFDRSxpRkFBRUEsR0FBRzBLLE1BQU0sQ0FBQ2pDLENBQUFBLElBQUdBLEVBQUVrQyxPQUFPLENBQUNDLG9CQUFvQixLQUFHLFNBQVF4Syx1REFBRUEsQ0FBQzhKLEdBQUdsSCxPQUFPLEVBQUM7Z0JBQUMsQ0FBQzdGLG1FQUFDQSxDQUFDa04sUUFBUSxDQUFDLEVBQUM3Syw4REFBQ0EsQ0FBQ3FMLElBQUk7Z0JBQUMsQ0FBQzFOLG1FQUFDQSxDQUFDb04sU0FBUyxDQUFDLEVBQUMvSyw4REFBQ0EsQ0FBQ3NMLFFBQVE7WUFBQSxJQUFHO2dCQUFDQyxZQUFXakksRUFBRWlDLEtBQUssQ0FBQ3hCLE1BQU07WUFBQTtRQUFFO1FBQUMwRTtJQUFHLElBQUcrQyxJQUFFbEssNERBQUVBO0lBQUcscUJBQU83RyxnREFBZSxDQUFDQSwyQ0FBVSxFQUFDLE1BQUsrUSxFQUFFO1FBQUNoRSxVQUFTNEM7UUFBRzNDLFlBQVdwRTtRQUFFcUUsTUFBSzVCO1FBQUU2QixZQUFXRTtRQUFHRCxNQUFLO0lBQWdCLElBQUcvQixLQUFHLENBQUNiLEtBQUd0QixtQkFBR2pKLGdEQUFlLENBQUNzRSx3REFBRUEsRUFBQztRQUFDcUUsSUFBR2tCO1FBQUU0QyxLQUFJOUM7UUFBRXNILFVBQVN6TSxnRUFBRUEsQ0FBQzBNLFNBQVM7UUFBQywrQkFBOEIsQ0FBQztRQUFFQyxJQUFHO1FBQVN2QixNQUFLO1FBQVN3QixTQUFRbEI7SUFBQztBQUFHO01BQXIyRjdDO0FBQXMyRixJQUFJZ0UsS0FBRyxPQUFNQyxLQUFHL0ssNkRBQUVBLENBQUNnTCxjQUFjLEdBQUNoTCw2REFBRUEsQ0FBQ2lMLE1BQU07QUFBQyxTQUFTQyxHQUFHdEosQ0FBQyxFQUFDQyxDQUFDO0lBQUUsSUFBSUUsSUFBRTlHLDRDQUFFQSxJQUFHLEVBQUNtSCxJQUFHSCxJQUFFLENBQUMsNEJBQTRCLEVBQUVGLEVBQUUsQ0FBQyxFQUFDb0osWUFBV2pKLElBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBR0MsR0FBRSxHQUFDUCxHQUFFUyxJQUFFakIsa0ZBQUVBLENBQUMscUJBQW9Ca0IsSUFBRTNELHdEQUFDQSxDQUFDMEQsR0FBRXhJLGtEQUFFQSxDQUFDNkosQ0FBQUEsSUFBR0EsRUFBRVosWUFBWSxFQUFDLEVBQUUsSUFBRyxDQUFDTCxHQUFFQyxFQUFFLEdBQUNuSSwrQ0FBRUEsQ0FBQyxPQUFNb0ksSUFBRWxHLG9FQUFDQSxDQUFDb0YsR0FBRWEsSUFBR0UsSUFBRW5FLHdFQUFFQSxJQUFHLENBQUNvRSxHQUFFTSxFQUFFLEdBQUNsRyx3RUFBRUEsQ0FBQ2lGLEdBQUVPLEdBQUVHLE1BQUksT0FBSyxDQUFDQSxJQUFFckUsNERBQUNBLENBQUMyRyxJQUFJLE1BQUkzRyw0REFBQ0EsQ0FBQzJHLElBQUksR0FBQzVDLE1BQUl4QiwrREFBQ0EsQ0FBQ29FLElBQUksR0FBRTlCLElBQUV2SSw2REFBQ0EsQ0FBQzZJLENBQUFBO1FBQUksSUFBRzdFLHlFQUFFQSxDQUFDNkUsRUFBRThFLGFBQWEsR0FBRSxPQUFPOUUsRUFBRWdDLGNBQWM7UUFBR3JELEVBQUVtQixPQUFPLENBQUNELEtBQUs7SUFBRSxJQUFHRixJQUFFbEosOENBQUNBLENBQUMsSUFBSztZQUFDMEwsTUFBS3ZELE1BQUl4QiwrREFBQ0EsQ0FBQ29FLElBQUk7UUFBQSxJQUFHO1FBQUM1QztLQUFFLEdBQUVnQixJQUFFO1FBQUM0QyxLQUFJdkQ7UUFBRVAsSUFBR0g7UUFBRSxlQUFjLENBQUM7UUFBRXNILFNBQVFuRztRQUFFLEdBQUdyRyxtRkFBRUEsQ0FBQ29HLEVBQUU7SUFBQTtJQUFFLE9BQU83Qyw0REFBRUEsR0FBRztRQUFDa0csVUFBU2xEO1FBQUVtRCxZQUFXdEU7UUFBRXVFLE1BQUtyRDtRQUFFc0QsWUFBV21FO1FBQUdKLFVBQVNLO1FBQUdLLFNBQVF2STtRQUFFK0QsTUFBSztJQUFrQjtBQUFFO0FBQUMsSUFBSXlFLEtBQUcsT0FBTUMsS0FBR3RMLDZEQUFFQSxDQUFDZ0wsY0FBYyxHQUFDaEwsNkRBQUVBLENBQUNpTCxNQUFNO0FBQUMsU0FBU00sR0FBRzNKLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlFLElBQUU5Ryw0Q0FBRUEsSUFBRyxFQUFDbUgsSUFBR0gsSUFBRSxDQUFDLHlCQUF5QixFQUFFRixFQUFFLENBQUMsRUFBQzRELE9BQU16RCxJQUFFLENBQUMsQ0FBQyxFQUFDc0osUUFBT3JKLENBQUMsRUFBQ3NKLFFBQU9wSixJQUFFLENBQUMsQ0FBQyxFQUFDcUosT0FBTXBKLElBQUUsQ0FBQyxDQUFDLEVBQUM2SSxZQUFXMUksSUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHQyxHQUFFLEdBQUNkLEdBQUVlLElBQUV2QixrRkFBRUEsQ0FBQyxrQkFBaUJ3QixJQUFFakUsd0RBQUNBLENBQUNnRSxHQUFFQSxFQUFFdUUsU0FBUyxDQUFDQyxXQUFXLEdBQUUsQ0FBQ3RFLEdBQUVNLEdBQUVDLEdBQUVDLEdBQUVDLEVBQUUsR0FBQzNFLHdEQUFDQSxDQUFDZ0UsR0FBRTlJLGtEQUFFQSxDQUFDOFAsQ0FBQUEsSUFBRztZQUFDQSxFQUFFN0csWUFBWTtZQUFDNkcsRUFBRTVHLE1BQU07WUFBQzRHLEVBQUUzSCxVQUFVO1lBQUMySCxFQUFFeEUsbUJBQW1CO1lBQUN3RSxFQUFFdEUsa0JBQWtCO1NBQUMsRUFBQyxFQUFFLElBQUc1QixJQUFFLENBQUMsaUNBQWlDLEVBQUUxQixFQUFFLENBQUMsRUFBQzJCLElBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTNCLEVBQUUsQ0FBQyxFQUFDNkIsSUFBRXZKLDZDQUFFQSxDQUFDLE9BQU0ySixJQUFFbkcseUVBQUVBLENBQUNzRSxJQUFHLENBQUM4QixHQUFFQyxFQUFFLEdBQUMzRyx3RUFBRUEsQ0FBQ3lHLElBQUdHLElBQUUxRyw2RUFBRUE7SUFBR3VHLEtBQUkzQixDQUFBQSxJQUFFLENBQUM7SUFBRyxJQUFHLENBQUNrRCxHQUFFSyxFQUFFLEdBQUNyTCwrQ0FBRUEsQ0FBQyxPQUFNd0wsS0FBR3RKLG9FQUFDQSxDQUFDbUgsR0FBRS9CLEdBQUVtQyxJQUFFQyxJQUFFLE1BQUt0QixFQUFFYSxPQUFPLENBQUNtSSxRQUFRLEVBQUMvRixJQUFHSyxJQUFFdEsscUVBQUVBLENBQUN3SCxJQUFHZ0QsSUFBRXhLLHFFQUFFQSxDQUFDaUk7SUFBR3pJLHNGQUFFQSxDQUFDLElBQUt3SCxDQUFBQSxFQUFFYSxPQUFPLENBQUNvSSxVQUFVLENBQUMzSixJQUFHLElBQUlVLEVBQUVhLE9BQU8sQ0FBQ29JLFVBQVUsQ0FBQyxLQUFJLEdBQUc7UUFBQzNKO1FBQUVVO0tBQUU7SUFBRSxJQUFJYixJQUFFckQsd0VBQUVBLElBQUcsQ0FBQzhELEdBQUVrQyxFQUFFLEdBQUN4SCx3RUFBRUEsQ0FBQ3dGLEdBQUU4QyxHQUFFekQsTUFBSSxPQUFLLENBQUNBLElBQUV2RCw0REFBQ0EsQ0FBQzJHLElBQUksTUFBSTNHLDREQUFDQSxDQUFDMkcsSUFBSSxHQUFDckMsTUFBSS9CLCtEQUFDQSxDQUFDb0UsSUFBSTtJQUFFM0osMkVBQUVBLENBQUNnSCxHQUFFWSxHQUFFUixFQUFFYSxPQUFPLENBQUNELEtBQUssR0FBRWxILHlFQUFFQSxDQUFDK0csSUFBRSxDQUFDLElBQUVkLEtBQUdDLEdBQUU0RDtJQUFHLElBQUl4QixJQUFFOUosNkRBQUNBLENBQUM4TyxDQUFBQTtRQUFJLElBQUlhO1FBQUUsT0FBT2IsRUFBRXpCLEdBQUc7WUFBRSxLQUFLMUgsK0NBQUNBLENBQUMrSCxNQUFNO2dCQUFDLElBQUc1RixFQUFFNEIsS0FBSyxDQUFDekIsWUFBWSxLQUFHaEMsK0RBQUNBLENBQUNvRSxJQUFJLElBQUUsQ0FBQ3RCLEVBQUVwQixPQUFPLElBQUUyRCxLQUFHLFFBQU1BLEVBQUVyQyxhQUFhLElBQUUsQ0FBQ0YsRUFBRXBCLE9BQU8sQ0FBQ3VCLFFBQVEsQ0FBQ29DLEVBQUVyQyxhQUFhLEdBQUU7Z0JBQU82RixFQUFFakUsY0FBYyxJQUFHaUUsRUFBRXJCLGVBQWUsSUFBRzNGLEVBQUVhLE9BQU8sQ0FBQ0QsS0FBSyxJQUFHLENBQUNpSCxJQUFFN0gsRUFBRTRCLEtBQUssQ0FBQ3hCLE1BQU0sS0FBRyxRQUFNeUgsRUFBRTdFLEtBQUs7Z0JBQUc7UUFBSztJQUFDO0lBQUcxTCxnREFBRUEsQ0FBQztRQUFLLElBQUkwUDtRQUFFL0gsRUFBRWlLLE1BQU0sSUFBRWhKLE1BQUkvQiwrREFBQ0EsQ0FBQ2tGLE1BQU0sSUFBRyxFQUFDMkQsSUFBRS9ILEVBQUVrSyxPQUFPLEtBQUcsUUFBTW5DLENBQUFBLEtBQUloSCxFQUFFYSxPQUFPLENBQUNtSSxRQUFRLENBQUM7SUFBSyxHQUFFO1FBQUM5STtRQUFFakIsRUFBRWtLLE9BQU87UUFBQ2xLLEVBQUVpSyxNQUFNO1FBQUNsSjtLQUFFLEdBQUUxSSxnREFBRUEsQ0FBQztRQUFLLElBQUdtSixLQUFHLENBQUNsQixLQUFHVyxNQUFJL0IsK0RBQUNBLENBQUNvRSxJQUFJLElBQUUsQ0FBQ3RCLEVBQUVwQixPQUFPLEVBQUM7UUFBTyxJQUFJbUgsSUFBRXhELEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVyQyxhQUFhO1FBQUNGLEVBQUVwQixPQUFPLENBQUN1QixRQUFRLENBQUM0RixNQUFJckssb0VBQUNBLENBQUNzRSxFQUFFcEIsT0FBTyxFQUFDeEQsOERBQUNBLENBQUM4SyxLQUFLO0lBQUMsR0FBRTtRQUFDMUc7UUFBRWxCO1FBQUUwQixFQUFFcEIsT0FBTztRQUFDSztLQUFFO0lBQUUsSUFBSStCLElBQUV6Syw4Q0FBQ0EsQ0FBQyxJQUFLO1lBQUMwTCxNQUFLaEQsTUFBSS9CLCtEQUFDQSxDQUFDb0UsSUFBSTtZQUFDM0IsT0FBTVosRUFBRWEsT0FBTyxDQUFDc0MsZ0JBQWdCO1FBQUEsSUFBRztRQUFDakQ7UUFBRUY7S0FBRSxHQUFFa0MsSUFBRXpFLDZEQUFFQSxDQUFDNEQsSUFBRUcsTUFBSSxDQUFDLEdBQUU7UUFBQytCLEtBQUlIO1FBQUczRCxJQUFHSDtRQUFFcUgsV0FBVTNFO1FBQUVvSCxRQUFPN0osS0FBR1csTUFBSS9CLCtEQUFDQSxDQUFDb0UsSUFBSSxHQUFDeUUsQ0FBQUE7WUFBSSxJQUFJMUMsR0FBRVEsR0FBRU8sR0FBRUMsR0FBRStEO1lBQUUsSUFBSXhCLElBQUViLEVBQUVzQyxhQUFhO1lBQUN6QixLQUFHNUcsRUFBRXBCLE9BQU8sSUFBRyxFQUFDeUUsSUFBRXJELEVBQUVwQixPQUFPLEtBQUcsUUFBTXlFLEVBQUVsRCxRQUFRLENBQUN5RyxNQUFLN0gsQ0FBQUEsRUFBRWEsT0FBTyxDQUFDRCxLQUFLLElBQUcsQ0FBQyxDQUFDeUUsSUFBRSxDQUFDUCxJQUFFcEUsRUFBRWIsT0FBTyxLQUFHLE9BQUssS0FBSyxJQUFFaUYsRUFBRTFELFFBQVEsS0FBRyxRQUFNaUUsRUFBRTVDLElBQUksQ0FBQ3FDLEdBQUUrQyxNQUFJLENBQUN3QixJQUFFLENBQUMvRCxJQUFFM0UsRUFBRWQsT0FBTyxLQUFHLE9BQUssS0FBSyxJQUFFeUYsRUFBRWxFLFFBQVEsS0FBRyxRQUFNaUksRUFBRTVHLElBQUksQ0FBQzZDLEdBQUV1QyxFQUFDLEtBQUlBLEVBQUU3RSxLQUFLLENBQUM7Z0JBQUN1RyxlQUFjLENBQUM7WUFBQyxFQUFDLENBQUM7UUFBRSxJQUFFLEtBQUs7UUFBRUMsVUFBUyxDQUFDO1FBQUVDLE9BQU07WUFBQyxHQUFHMUosRUFBRTBKLEtBQUs7WUFBQyxHQUFHbEksQ0FBQztZQUFDLGtCQUFpQnZKLDJFQUFFQSxDQUFDd0ksR0FBRSxDQUFDLEdBQUdrSixLQUFLO1FBQUE7UUFBRSxHQUFHdFAsbUZBQUVBLENBQUMwSCxFQUFFO0lBQUEsSUFBR0ssSUFBRWpJLDZFQUFFQSxJQUFHc00sS0FBR3RPLDZEQUFDQSxDQUFDO1FBQUssSUFBSThPLElBQUUvRixFQUFFcEIsT0FBTztRQUFDLElBQUcsQ0FBQ21ILEdBQUU7UUFBTyxTQUFTYTtZQUFJNUssdURBQUVBLENBQUNrRixFQUFFdEMsT0FBTyxFQUFDO2dCQUFDLENBQUM3RixtRUFBQ0EsQ0FBQ2tOLFFBQVEsQ0FBQyxFQUFDO29CQUFLLElBQUlwQztvQkFBRW5JLG9FQUFDQSxDQUFDcUssR0FBRTNLLDhEQUFDQSxDQUFDOEssS0FBSyxNQUFJNUssb0VBQUVBLENBQUMrSyxLQUFLLElBQUcsRUFBQ3hDLElBQUU5RSxFQUFFNEIsS0FBSyxDQUFDYyxrQkFBa0IsQ0FBQzdDLE9BQU8sS0FBRyxRQUFNaUYsRUFBRTlCLEtBQUssRUFBQztnQkFBRTtnQkFBRSxDQUFDaEosbUVBQUNBLENBQUNvTixTQUFTLENBQUMsRUFBQztvQkFBSyxJQUFJOUM7b0JBQUdBLENBQUFBLElBQUV0RSxFQUFFNEIsS0FBSyxDQUFDeEIsTUFBTSxLQUFHLFFBQU1rRSxFQUFFdEIsS0FBSyxDQUFDO3dCQUFDdUcsZUFBYyxDQUFDO29CQUFDO2dCQUFFO1lBQUM7UUFBRTtRQUFDMUI7SUFBRyxJQUFHcEIsS0FBR3ZPLDZEQUFDQSxDQUFDO1FBQUssSUFBSThPLElBQUUvRixFQUFFcEIsT0FBTztRQUFDLElBQUcsQ0FBQ21ILEdBQUU7UUFBTyxTQUFTYTtZQUFJNUssdURBQUVBLENBQUNrRixFQUFFdEMsT0FBTyxFQUFDO2dCQUFDLENBQUM3RixtRUFBQ0EsQ0FBQ2tOLFFBQVEsQ0FBQyxFQUFDO29CQUFLLElBQUcsQ0FBQ2xILEVBQUU0QixLQUFLLENBQUN4QixNQUFNLEVBQUM7b0JBQU8sSUFBSWtFLElBQUV6SCxpRkFBRUEsSUFBR2lJLElBQUVSLEVBQUVTLE9BQU8sQ0FBQy9FLEVBQUU0QixLQUFLLENBQUN4QixNQUFNLEdBQUVpRixJQUFFZixFQUFFcUYsS0FBSyxDQUFDLEdBQUU3RSxJQUFFLElBQUd1RSxJQUFFOzJCQUFJL0UsRUFBRXFGLEtBQUssQ0FBQzdFLElBQUU7MkJBQU1PO3FCQUFFO29CQUFDLEtBQUksSUFBSXVFLE1BQU1QLEVBQUVNLEtBQUssR0FBRyxJQUFHQyxHQUFHcEMsT0FBTyxDQUFDQyxvQkFBb0IsS0FBRyxVQUFRN0UsS0FBRyxRQUFNQSxFQUFFeEIsUUFBUSxDQUFDd0ksS0FBSTt3QkFBQyxJQUFJQyxLQUFHUixFQUFFdEUsT0FBTyxDQUFDNkU7d0JBQUlDLE9BQUssQ0FBQyxLQUFHUixFQUFFckUsTUFBTSxDQUFDNkUsSUFBRztvQkFBRTtvQkFBQ2xOLG9FQUFDQSxDQUFDME0sR0FBRWhOLDhEQUFDQSxDQUFDOEssS0FBSyxFQUFDO3dCQUFDMkMsUUFBTyxDQUFDO29CQUFDO2dCQUFFO2dCQUFFLENBQUM5UCxtRUFBQ0EsQ0FBQ29OLFNBQVMsQ0FBQyxFQUFDO29CQUFLLElBQUl0QztvQkFBRW5JLG9FQUFDQSxDQUFDcUssR0FBRTNLLDhEQUFDQSxDQUFDc0wsUUFBUSxNQUFJcEwsb0VBQUVBLENBQUMrSyxLQUFLLElBQUcsRUFBQ3hDLElBQUU5RSxFQUFFNEIsS0FBSyxDQUFDeEIsTUFBTSxLQUFHLFFBQU0wRSxFQUFFOUIsS0FBSyxFQUFDO2dCQUFFO1lBQUM7UUFBRTtRQUFDNkU7SUFBRyxJQUFHZCxLQUFHcEosNERBQUVBO0lBQUcscUJBQU83RyxnREFBZSxDQUFDNEUsOEVBQUVBLEVBQUMsb0JBQUs1RSxnREFBZSxDQUFDK0gsR0FBRzhFLFFBQVEsRUFBQztRQUFDQyxPQUFNdEU7SUFBQyxpQkFBRXhJLGdEQUFlLENBQUMwRCx1RUFBRUEsRUFBQztRQUFDb0osT0FBTTVELEVBQUVhLE9BQU8sQ0FBQ3NDLGdCQUFnQjtJQUFBLGlCQUFFck0sZ0RBQWUsQ0FBQ2lILHFEQUFFQSxFQUFDO1FBQUNnTSxTQUFRckssSUFBRVQsRUFBRWlLLE1BQU0sSUFBRXRKLElBQUUsQ0FBQztRQUFFb0ssZUFBYzFHO0lBQUMsR0FBRTFELEtBQUdLLG1CQUFHbkosZ0RBQWUsQ0FBQ3NFLHdEQUFFQSxFQUFDO1FBQUNxRSxJQUFHcUI7UUFBRXlDLEtBQUk3QztRQUFFcUgsVUFBU3pNLGdFQUFFQSxDQUFDME0sU0FBUztRQUFDLCtCQUE4QixDQUFDO1FBQUVDLElBQUc7UUFBU3ZCLE1BQUs7UUFBU3dCLFNBQVExQjtJQUFFLElBQUdPLEdBQUc7UUFBQ2xELFVBQVMzQjtRQUFFNEIsWUFBVy9EO1FBQUVnRSxNQUFLOUI7UUFBRStCLFlBQVcwRTtRQUFHWCxVQUFTWTtRQUFHRixTQUFRN0k7UUFBRXFFLE1BQUs7SUFBZSxJQUFHckUsS0FBR0ssbUJBQUduSixnREFBZSxDQUFDc0Usd0RBQUVBLEVBQUM7UUFBQ3FFLElBQUdzQjtRQUFFd0MsS0FBSTVDO1FBQUVvSCxVQUFTek0sZ0VBQUVBLENBQUMwTSxTQUFTO1FBQUMsK0JBQThCLENBQUM7UUFBRUMsSUFBRztRQUFTdkIsTUFBSztRQUFTd0IsU0FBUXpCO0lBQUU7QUFBTTtBQUFDLElBQUl3RCxLQUFHO0FBQU0sU0FBU0MsR0FBR2pMLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlFLElBQUUxSCw2Q0FBRUEsQ0FBQyxPQUFNNEgsSUFBRXhGLG9FQUFDQSxDQUFDc0YsR0FBRUYsSUFBRyxDQUFDSyxHQUFFQyxFQUFFLEdBQUM1SCwrQ0FBRUEsQ0FBQyxFQUFFLEdBQUU4SCxJQUFFeEgsNkRBQUNBLENBQUN3SSxDQUFBQTtRQUFJbEIsRUFBRW1CLENBQUFBO1lBQUksSUFBSUcsSUFBRUgsRUFBRW9FLE9BQU8sQ0FBQ3JFO1lBQUcsSUFBR0ksTUFBSSxDQUFDLEdBQUU7Z0JBQUMsSUFBSUMsSUFBRUosRUFBRWdKLEtBQUs7Z0JBQUcsT0FBTzVJLEVBQUVpRSxNQUFNLENBQUNsRSxHQUFFLElBQUdDO1lBQUM7WUFBQyxPQUFPSjtRQUFDO0lBQUUsSUFBR2hCLElBQUV6SCw2REFBQ0EsQ0FBQ3dJLENBQUFBLElBQUlsQixDQUFBQSxFQUFFbUIsQ0FBQUEsSUFBRzttQkFBSUE7Z0JBQUVEO2FBQUUsR0FBRSxJQUFJaEIsRUFBRWdCLEVBQUMsSUFBSVosSUFBRTVILDZEQUFDQSxDQUFDO1FBQUssSUFBSTRJO1FBQUUsSUFBSUosSUFBRXZELGtFQUFFQSxDQUFDaUM7UUFBRyxJQUFHLENBQUNzQixHQUFFLE9BQU0sQ0FBQztRQUFFLElBQUlDLElBQUVELEVBQUVTLGFBQWE7UUFBQyxPQUFNLENBQUNMLElBQUUxQixFQUFFUyxPQUFPLEtBQUcsUUFBTWlCLEVBQUVNLFFBQVEsQ0FBQ1QsS0FBRyxDQUFDLElBQUVwQixFQUFFNEssSUFBSSxDQUFDcEosQ0FBQUE7WUFBSSxJQUFJRSxHQUFFSTtZQUFFLE9BQU0sQ0FBQyxDQUFDSixJQUFFUCxFQUFFMEosY0FBYyxDQUFDckosRUFBRVQsUUFBUSxDQUFDVCxPQUFPLE1BQUksT0FBSyxLQUFLLElBQUVvQixFQUFFRyxRQUFRLENBQUNULEVBQUMsS0FBSyxFQUFDVSxJQUFFWCxFQUFFMEosY0FBYyxDQUFDckosRUFBRVIsT0FBTyxDQUFDVixPQUFPLE1BQUksT0FBSyxLQUFLLElBQUV3QixFQUFFRCxRQUFRLENBQUNULEVBQUM7UUFBRTtJQUFFLElBQUdaLElBQUU3SCw2REFBQ0EsQ0FBQ3dJLENBQUFBO1FBQUksS0FBSSxJQUFJQyxLQUFLcEIsRUFBRW9CLEVBQUVMLFFBQVEsQ0FBQ1QsT0FBTyxLQUFHYSxLQUFHQyxFQUFFQyxLQUFLO0lBQUUsSUFBR1osSUFBRXhJLDhDQUFDQSxDQUFDLElBQUs7WUFBQ3dKLGlCQUFnQnJCO1lBQUUwSyxtQkFBa0IzSztZQUFFd0IsMkJBQTBCcEI7WUFBRTJFLGFBQVkxRTtRQUFDLElBQUc7UUFBQ0o7UUFBRUQ7UUFBRUk7UUFBRUM7S0FBRSxHQUFFRSxJQUFFekksOENBQUNBLENBQUMsSUFBSyxFQUFDLElBQUcsRUFBRSxHQUFFMEksSUFBRWpCLEdBQUV1QixJQUFFO1FBQUMrQyxLQUFJakU7SUFBQyxHQUFFbUIsSUFBRTlDLDREQUFFQTtJQUFHLHFCQUFPN0csZ0RBQWUsQ0FBQ3NDLDJFQUFFQSxFQUFDLG9CQUFLdEMsZ0RBQWUsQ0FBQzRILEdBQUdpRixRQUFRLEVBQUM7UUFBQ0MsT0FBTTVEO0lBQUMsR0FBRVMsRUFBRTtRQUFDb0QsVUFBU3JEO1FBQUVzRCxZQUFXNUQ7UUFBRTZELE1BQUs5RDtRQUFFK0QsWUFBV2lHO1FBQUdoRyxNQUFLO0lBQWU7QUFBSTtBQUFDLElBQUlxRyxLQUFHL00sbUVBQUVBLENBQUN5QixLQUFJdUwsS0FBR2hOLG1FQUFFQSxDQUFDNEcsS0FBSXFHLEtBQUdqTixtRUFBRUEsQ0FBQ2dMLEtBQUlrQyxLQUFHbE4sbUVBQUVBLENBQUNnTCxLQUFJbUMsS0FBR25OLG1FQUFFQSxDQUFDcUwsS0FBSStCLEtBQUdwTixtRUFBRUEsQ0FBQzJNLEtBQUlVLEtBQUdDLE9BQU9DLE1BQU0sQ0FBQ1IsSUFBRztJQUFDUyxRQUFPUjtJQUFHUyxVQUFTUDtJQUFHUSxTQUFRVDtJQUFHVSxPQUFNUjtJQUFHUyxPQUFNUjtBQUFFO0FBQThIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmpzPzc1NmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7aW1wb3J0e3VzZUZvY3VzUmluZyBhcyBJZX1mcm9tXCJAcmVhY3QtYXJpYS9mb2N1c1wiO2ltcG9ydHt1c2VIb3ZlciBhcyBIZX1mcm9tXCJAcmVhY3QtYXJpYS9pbnRlcmFjdGlvbnNcIjtpbXBvcnQgVCx7Y3JlYXRlQ29udGV4dCBhcyBGZSx1c2VDYWxsYmFjayBhcyBvZSx1c2VDb250ZXh0IGFzIEJlLHVzZUVmZmVjdCBhcyBwZSx1c2VNZW1vIGFzIEssdXNlUmVmIGFzIGllLHVzZVN0YXRlIGFzIHVlfWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUFjdGl2ZVByZXNzIGFzIFVlfWZyb20nLi4vLi4vaG9va3MvdXNlLWFjdGl2ZS1wcmVzcy5qcyc7aW1wb3J0e3VzZUVsZW1lbnRTaXplIGFzIE5lfWZyb20nLi4vLi4vaG9va3MvdXNlLWVsZW1lbnQtc2l6ZS5qcyc7aW1wb3J0e3VzZUV2ZW50IGFzIHl9ZnJvbScuLi8uLi9ob29rcy91c2UtZXZlbnQuanMnO2ltcG9ydHt1c2VFdmVudExpc3RlbmVyIGFzIHdlfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LWxpc3RlbmVyLmpzJztpbXBvcnR7dXNlSWQgYXMgcmV9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIEtlfWZyb20nLi4vLi4vaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7aW1wb3J0e3VzZUxhdGVzdFZhbHVlIGFzIF9lfWZyb20nLi4vLi4vaG9va3MvdXNlLWxhdGVzdC12YWx1ZS5qcyc7aW1wb3J0e3VzZU9uRGlzYXBwZWFyIGFzIFdlfWZyb20nLi4vLi4vaG9va3MvdXNlLW9uLWRpc2FwcGVhci5qcyc7aW1wb3J0e3VzZU91dHNpZGVDbGljayBhcyBWZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1vdXRzaWRlLWNsaWNrLmpzJztpbXBvcnR7dXNlT3duZXJEb2N1bWVudCBhcyBjZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1vd25lci5qcyc7aW1wb3J0e3VzZVJlc29sdmVCdXR0b25UeXBlIGFzIGplfWZyb20nLi4vLi4vaG9va3MvdXNlLXJlc29sdmUtYnV0dG9uLXR5cGUuanMnO2ltcG9ydHtNYWluVHJlZVByb3ZpZGVyIGFzIEFlLHVzZU1haW5UcmVlTm9kZSBhcyAkZSx1c2VSb290Q29udGFpbmVycyBhcyBKZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yb290LWNvbnRhaW5lcnMuanMnO2ltcG9ydHt1c2VTY3JvbGxMb2NrIGFzIFhlfWZyb20nLi4vLi4vaG9va3MvdXNlLXNjcm9sbC1sb2NrLmpzJztpbXBvcnR7b3B0aW9uYWxSZWYgYXMgcWUsdXNlU3luY1JlZnMgYXMgWX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHtEaXJlY3Rpb24gYXMgSSx1c2VUYWJEaXJlY3Rpb24gYXMgQ2V9ZnJvbScuLi8uLi9ob29rcy91c2UtdGFiLWRpcmVjdGlvbi5qcyc7aW1wb3J0e3RyYW5zaXRpb25EYXRhQXR0cmlidXRlcyBhcyBPZSx1c2VUcmFuc2l0aW9uIGFzIHhlfWZyb20nLi4vLi4vaG9va3MvdXNlLXRyYW5zaXRpb24uanMnO2ltcG9ydHtDbG9zZVByb3ZpZGVyIGFzIERlfWZyb20nLi4vLi4vaW50ZXJuYWwvY2xvc2UtcHJvdmlkZXIuanMnO2ltcG9ydHtGbG9hdGluZ1Byb3ZpZGVyIGFzIHplLHVzZUZsb2F0aW5nUGFuZWwgYXMgWWUsdXNlRmxvYXRpbmdQYW5lbFByb3BzIGFzIFFlLHVzZUZsb2F0aW5nUmVmZXJlbmNlIGFzIFplLHVzZVJlc29sdmVkQW5jaG9yIGFzIGV0fWZyb20nLi4vLi4vaW50ZXJuYWwvZmxvYXRpbmcuanMnO2ltcG9ydHtIaWRkZW4gYXMgbWUsSGlkZGVuRmVhdHVyZXMgYXMgVGV9ZnJvbScuLi8uLi9pbnRlcm5hbC9oaWRkZW4uanMnO2ltcG9ydHtPcGVuQ2xvc2VkUHJvdmlkZXIgYXMgdHQsUmVzZXRPcGVuQ2xvc2VkUHJvdmlkZXIgYXMgb3QsU3RhdGUgYXMgUSx1c2VPcGVuQ2xvc2VkIGFzIExlfWZyb20nLi4vLi4vaW50ZXJuYWwvb3Blbi1jbG9zZWQuanMnO2ltcG9ydHt1c2VTbGljZSBhcyBafWZyb20nLi4vLi4vcmVhY3QtZ2x1ZS5qcyc7aW1wb3J0e2lzRGlzYWJsZWRSZWFjdElzc3VlNzcxMSBhcyBoZX1mcm9tJy4uLy4uL3V0aWxzL2J1Z3MuanMnO2ltcG9ydCphcyBNZSBmcm9tJy4uLy4uL3V0aWxzL2RvbS5qcyc7aW1wb3J0e0ZvY3VzIGFzIEgsRm9jdXNSZXN1bHQgYXMgRWUsRm9jdXNhYmxlTW9kZSBhcyBydCxmb2N1c0luIGFzIFcsZ2V0Rm9jdXNhYmxlRWxlbWVudHMgYXMgU2UsaXNGb2N1c2FibGVFbGVtZW50IGFzIG50fWZyb20nLi4vLi4vdXRpbHMvZm9jdXMtbWFuYWdlbWVudC5qcyc7aW1wb3J0e21hdGNoIGFzIG5lfWZyb20nLi4vLi4vdXRpbHMvbWF0Y2guanMnO2ltcG9ydCcuLi8uLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBsdH1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgZGUsZm9yd2FyZFJlZldpdGhBcyBhcyBlZSxtZXJnZVByb3BzIGFzIGJlLHVzZVJlbmRlciBhcyBsZX1mcm9tJy4uLy4uL3V0aWxzL3JlbmRlci5qcyc7aW1wb3J0e0tleXMgYXMgVn1mcm9tJy4uL2tleWJvYXJkLmpzJztpbXBvcnR7UG9ydGFsIGFzIGF0LHVzZU5lc3RlZFBvcnRhbHMgYXMgc3R9ZnJvbScuLi9wb3J0YWwvcG9ydGFsLmpzJztpbXBvcnR7UG9wb3ZlclN0YXRlcyBhcyBjfWZyb20nLi9wb3BvdmVyLW1hY2hpbmUuanMnO2ltcG9ydHtQb3BvdmVyQ29udGV4dCBhcyBwdCx1c2VQb3BvdmVyTWFjaGluZSBhcyBpdCx1c2VQb3BvdmVyTWFjaGluZUNvbnRleHQgYXMgeWV9ZnJvbScuL3BvcG92ZXItbWFjaGluZS1nbHVlLmpzJztsZXQgZ2U9RmUobnVsbCk7Z2UuZGlzcGxheU5hbWU9XCJQb3BvdmVyR3JvdXBDb250ZXh0XCI7ZnVuY3Rpb24gR2UoKXtyZXR1cm4gQmUoZ2UpfWxldCBmZT1GZShudWxsKTtmZS5kaXNwbGF5TmFtZT1cIlBvcG92ZXJQYW5lbENvbnRleHRcIjtmdW5jdGlvbiB1dCgpe3JldHVybiBCZShmZSl9bGV0IGN0PVwiZGl2XCI7ZnVuY3Rpb24gZHQoYixNKXt2YXIgaztsZXQgRj1yZSgpLHtfX2RlbW9Nb2RlOkI9ITEsLi4uZH09YixyPWl0KHtpZDpGLF9fZGVtb01vZGU6Qn0pLGc9aWUobnVsbCksdD1ZKE0scWUobj0+e2cuY3VycmVudD1ufSkpLFtfLGYsbyxPLEVdPVoocixvZShuPT5bbi5wb3BvdmVyU3RhdGUsbi5idXR0b24sbi5wYW5lbCxuLmJ1dHRvbklkLG4ucGFuZWxJZF0sW10pKSxQPWNlKChrPWcuY3VycmVudCkhPW51bGw/azpmKSxBPV9lKE8pLGE9X2UoRSksaT1LKCgpPT4oe2J1dHRvbklkOkEscGFuZWxJZDphLGNsb3NlOnIuYWN0aW9ucy5jbG9zZX0pLFtBLGEscl0pLHU9R2UoKSxsPXU9PW51bGw/dm9pZCAwOnUucmVnaXN0ZXJQb3BvdmVyLHY9eSgoKT0+e3ZhciBuO3JldHVybihuPXU9PW51bGw/dm9pZCAwOnUuaXNGb2N1c1dpdGhpblBvcG92ZXJHcm91cCgpKSE9bnVsbD9uOihQPT1udWxsP3ZvaWQgMDpQLmFjdGl2ZUVsZW1lbnQpJiYoKGY9PW51bGw/dm9pZCAwOmYuY29udGFpbnMoUC5hY3RpdmVFbGVtZW50KSl8fChvPT1udWxsP3ZvaWQgMDpvLmNvbnRhaW5zKFAuYWN0aXZlRWxlbWVudCkpKX0pO3BlKCgpPT5sPT1udWxsP3ZvaWQgMDpsKGkpLFtsLGldKTtsZXRbbSxqXT1zdCgpLCQ9JGUoZiksSj1KZSh7bWFpblRyZWVOb2RlOiQscG9ydGFsczptLGRlZmF1bHRDb250YWluZXJzOlt7Z2V0IGN1cnJlbnQoKXtyZXR1cm4gci5zdGF0ZS5idXR0b259fSx7Z2V0IGN1cnJlbnQoKXtyZXR1cm4gci5zdGF0ZS5wYW5lbH19XX0pO3dlKFA9PW51bGw/dm9pZCAwOlAuZGVmYXVsdFZpZXcsXCJmb2N1c1wiLG49Pnt2YXIgRCx6LEcsVSxMLE47bi50YXJnZXQhPT13aW5kb3cmJk1lLmlzSFRNTG9yU1ZHRWxlbWVudChuLnRhcmdldCkmJnIuc3RhdGUucG9wb3ZlclN0YXRlPT09Yy5PcGVuJiYodigpfHxyLnN0YXRlLmJ1dHRvbiYmci5zdGF0ZS5wYW5lbCYmKEouY29udGFpbnMobi50YXJnZXQpfHwoej0oRD1yLnN0YXRlLmJlZm9yZVBhbmVsU2VudGluZWwuY3VycmVudCk9PW51bGw/dm9pZCAwOkQuY29udGFpbnMpIT1udWxsJiZ6LmNhbGwoRCxuLnRhcmdldCl8fChVPShHPXIuc3RhdGUuYWZ0ZXJQYW5lbFNlbnRpbmVsLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpHLmNvbnRhaW5zKSE9bnVsbCYmVS5jYWxsKEcsbi50YXJnZXQpfHwoTj0oTD1yLnN0YXRlLmFmdGVyQnV0dG9uU2VudGluZWwuY3VycmVudCk9PW51bGw/dm9pZCAwOkwuY29udGFpbnMpIT1udWxsJiZOLmNhbGwoTCxuLnRhcmdldCl8fHIuYWN0aW9ucy5jbG9zZSgpKSl9LCEwKTtsZXQgeD1fPT09Yy5PcGVuO1ZlKHgsSi5yZXNvbHZlQ29udGFpbmVycywobixEKT0+e3IuYWN0aW9ucy5jbG9zZSgpLG50KEQscnQuTG9vc2UpfHwobi5wcmV2ZW50RGVmYXVsdCgpLGY9PW51bGx8fGYuZm9jdXMoKSl9KTtsZXQgWD1LKCgpPT4oe29wZW46Xz09PWMuT3BlbixjbG9zZTpyLmFjdGlvbnMucmVmb2N1c2FibGVDbG9zZX0pLFtfLHJdKSx0ZT1aKHIsb2Uobj0+bmUobi5wb3BvdmVyU3RhdGUse1tjLk9wZW5dOlEuT3BlbixbYy5DbG9zZWRdOlEuQ2xvc2VkfSksW10pKSxxPXtyZWY6dH0sQz1sZSgpO3JldHVybiBULmNyZWF0ZUVsZW1lbnQoQWUse25vZGU6JH0sVC5jcmVhdGVFbGVtZW50KHplLG51bGwsVC5jcmVhdGVFbGVtZW50KGZlLlByb3ZpZGVyLHt2YWx1ZTpudWxsfSxULmNyZWF0ZUVsZW1lbnQocHQuUHJvdmlkZXIse3ZhbHVlOnJ9LFQuY3JlYXRlRWxlbWVudChEZSx7dmFsdWU6ci5hY3Rpb25zLnJlZm9jdXNhYmxlQ2xvc2V9LFQuY3JlYXRlRWxlbWVudCh0dCx7dmFsdWU6dGV9LFQuY3JlYXRlRWxlbWVudChqLG51bGwsQyh7b3VyUHJvcHM6cSx0aGVpclByb3BzOmQsc2xvdDpYLGRlZmF1bHRUYWc6Y3QsbmFtZTpcIlBvcG92ZXJcIn0pKSkpKSkpKX1sZXQgZnQ9XCJidXR0b25cIjtmdW5jdGlvbiBQdChiLE0pe2xldCBGPXJlKCkse2lkOkI9YGhlYWRsZXNzdWktcG9wb3Zlci1idXR0b24tJHtGfWAsZGlzYWJsZWQ6ZD0hMSxhdXRvRm9jdXM6cj0hMSwuLi5nfT1iLHQ9eWUoXCJQb3BvdmVyLkJ1dHRvblwiKSxbXyxmLG8sTyxFLFAsQV09Wih0LG9lKGU9PltlLnBvcG92ZXJTdGF0ZSx0LnNlbGVjdG9ycy5pc1BvcnRhbGxlZChlKSxlLmJ1dHRvbixlLmJ1dHRvbklkLGUucGFuZWwsZS5wYW5lbElkLGUuYWZ0ZXJCdXR0b25TZW50aW5lbF0sW10pKSxhPWllKG51bGwpLGk9YGhlYWRsZXNzdWktZm9jdXMtc2VudGluZWwtJHtyZSgpfWAsdT1HZSgpLGw9dT09bnVsbD92b2lkIDA6dS5jbG9zZU90aGVycyxtPXV0KCkhPT1udWxsO3BlKCgpPT57aWYoIW0pcmV0dXJuIHQuYWN0aW9ucy5zZXRCdXR0b25JZChCKSwoKT0+dC5hY3Rpb25zLnNldEJ1dHRvbklkKG51bGwpfSxbbSxCLHRdKTtsZXRbal09dWUoKCk9PlN5bWJvbCgpKSwkPVkoYSxNLFplKCkseShlPT57aWYoIW0pe2lmKGUpdC5zdGF0ZS5idXR0b25zLmN1cnJlbnQucHVzaChqKTtlbHNle2xldCBwPXQuc3RhdGUuYnV0dG9ucy5jdXJyZW50LmluZGV4T2Yoaik7cCE9PS0xJiZ0LnN0YXRlLmJ1dHRvbnMuY3VycmVudC5zcGxpY2UocCwxKX10LnN0YXRlLmJ1dHRvbnMuY3VycmVudC5sZW5ndGg+MSYmY29uc29sZS53YXJuKFwiWW91IGFyZSBhbHJlYWR5IHVzaW5nIGEgPFBvcG92ZXIuQnV0dG9uIC8+IGJ1dCBvbmx5IDEgPFBvcG92ZXIuQnV0dG9uIC8+IGlzIHN1cHBvcnRlZC5cIiksZSYmdC5hY3Rpb25zLnNldEJ1dHRvbihlKX19KSksSj1ZKGEsTSkseD1jZShhKSxYPXkoZT0+e3ZhciBwLGgsUztpZihtKXtpZih0LnN0YXRlLnBvcG92ZXJTdGF0ZT09PWMuQ2xvc2VkKXJldHVybjtzd2l0Y2goZS5rZXkpe2Nhc2UgVi5TcGFjZTpjYXNlIFYuRW50ZXI6ZS5wcmV2ZW50RGVmYXVsdCgpLChoPShwPWUudGFyZ2V0KS5jbGljayk9PW51bGx8fGguY2FsbChwKSx0LmFjdGlvbnMuY2xvc2UoKSwoUz10LnN0YXRlLmJ1dHRvbik9PW51bGx8fFMuZm9jdXMoKTticmVha319ZWxzZSBzd2l0Y2goZS5rZXkpe2Nhc2UgVi5TcGFjZTpjYXNlIFYuRW50ZXI6ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdC5zdGF0ZS5wb3BvdmVyU3RhdGU9PT1jLkNsb3NlZD8obD09bnVsbHx8bCh0LnN0YXRlLmJ1dHRvbklkKSx0LmFjdGlvbnMub3BlbigpKTp0LmFjdGlvbnMuY2xvc2UoKTticmVhaztjYXNlIFYuRXNjYXBlOmlmKHQuc3RhdGUucG9wb3ZlclN0YXRlIT09Yy5PcGVuKXJldHVybiBsPT1udWxsP3ZvaWQgMDpsKHQuc3RhdGUuYnV0dG9uSWQpO2lmKCFhLmN1cnJlbnR8fHghPW51bGwmJnguYWN0aXZlRWxlbWVudCYmIWEuY3VycmVudC5jb250YWlucyh4LmFjdGl2ZUVsZW1lbnQpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0LmFjdGlvbnMuY2xvc2UoKTticmVha319KSx0ZT15KGU9PnttfHxlLmtleT09PVYuU3BhY2UmJmUucHJldmVudERlZmF1bHQoKX0pLHE9eShlPT57dmFyIHAsaDtoZShlLmN1cnJlbnRUYXJnZXQpfHxkfHwobT8odC5hY3Rpb25zLmNsb3NlKCksKHA9dC5zdGF0ZS5idXR0b24pPT1udWxsfHxwLmZvY3VzKCkpOihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0LnN0YXRlLnBvcG92ZXJTdGF0ZT09PWMuQ2xvc2VkPyhsPT1udWxsfHxsKHQuc3RhdGUuYnV0dG9uSWQpLHQuYWN0aW9ucy5vcGVuKCkpOnQuYWN0aW9ucy5jbG9zZSgpLChoPXQuc3RhdGUuYnV0dG9uKT09bnVsbHx8aC5mb2N1cygpKSl9KSxDPXkoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkse2lzRm9jdXNWaXNpYmxlOmssZm9jdXNQcm9wczpufT1JZSh7YXV0b0ZvY3VzOnJ9KSx7aXNIb3ZlcmVkOkQsaG92ZXJQcm9wczp6fT1IZSh7aXNEaXNhYmxlZDpkfSkse3ByZXNzZWQ6RyxwcmVzc1Byb3BzOlV9PVVlKHtkaXNhYmxlZDpkfSksTD1fPT09Yy5PcGVuLE49SygoKT0+KHtvcGVuOkwsYWN0aXZlOkd8fEwsZGlzYWJsZWQ6ZCxob3ZlcjpELGZvY3VzOmssYXV0b2ZvY3VzOnJ9KSxbTCxELGssRyxkLHJdKSxhZT1qZShiLG8pLFBlPW0/YmUoe3JlZjpKLHR5cGU6YWUsb25LZXlEb3duOlgsb25DbGljazpxLGRpc2FibGVkOmR8fHZvaWQgMCxhdXRvRm9jdXM6cn0sbix6LFUpOmJlKHtyZWY6JCxpZDpPLHR5cGU6YWUsXCJhcmlhLWV4cGFuZGVkXCI6Xz09PWMuT3BlbixcImFyaWEtY29udHJvbHNcIjpFP1A6dm9pZCAwLGRpc2FibGVkOmR8fHZvaWQgMCxhdXRvRm9jdXM6cixvbktleURvd246WCxvbktleVVwOnRlLG9uQ2xpY2s6cSxvbk1vdXNlRG93bjpDfSxuLHosVSksc2U9Q2UoKSxzPXkoKCk9PntpZighTWUuaXNIVE1MRWxlbWVudCh0LnN0YXRlLnBhbmVsKSlyZXR1cm47bGV0IGU9dC5zdGF0ZS5wYW5lbDtmdW5jdGlvbiBwKCl7bmUoc2UuY3VycmVudCx7W0kuRm9yd2FyZHNdOigpPT5XKGUsSC5GaXJzdCksW0kuQmFja3dhcmRzXTooKT0+VyhlLEguTGFzdCl9KT09PUVlLkVycm9yJiZXKFNlKCkuZmlsdGVyKFM9PlMuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNHdWFyZCE9PVwidHJ1ZVwiKSxuZShzZS5jdXJyZW50LHtbSS5Gb3J3YXJkc106SC5OZXh0LFtJLkJhY2t3YXJkc106SC5QcmV2aW91c30pLHtyZWxhdGl2ZVRvOnQuc3RhdGUuYnV0dG9ufSl9cCgpfSksUj1sZSgpO3JldHVybiBULmNyZWF0ZUVsZW1lbnQoVC5GcmFnbWVudCxudWxsLFIoe291clByb3BzOlBlLHRoZWlyUHJvcHM6ZyxzbG90Ok4sZGVmYXVsdFRhZzpmdCxuYW1lOlwiUG9wb3Zlci5CdXR0b25cIn0pLEwmJiFtJiZmJiZULmNyZWF0ZUVsZW1lbnQobWUse2lkOmkscmVmOkEsZmVhdHVyZXM6VGUuRm9jdXNhYmxlLFwiZGF0YS1oZWFkbGVzc3VpLWZvY3VzLWd1YXJkXCI6ITAsYXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsb25Gb2N1czpzfSkpfWxldCB2dD1cImRpdlwiLG10PWRlLlJlbmRlclN0cmF0ZWd5fGRlLlN0YXRpYztmdW5jdGlvbiBrZShiLE0pe2xldCBGPXJlKCkse2lkOkI9YGhlYWRsZXNzdWktcG9wb3Zlci1iYWNrZHJvcC0ke0Z9YCx0cmFuc2l0aW9uOmQ9ITEsLi4ucn09YixnPXllKFwiUG9wb3Zlci5CYWNrZHJvcFwiKSx0PVooZyxvZShsPT5sLnBvcG92ZXJTdGF0ZSxbXSkpLFtfLGZdPXVlKG51bGwpLG89WShNLGYpLE89TGUoKSxbRSxQXT14ZShkLF8sTyE9PW51bGw/KE8mUS5PcGVuKT09PVEuT3Blbjp0PT09Yy5PcGVuKSxBPXkobD0+e2lmKGhlKGwuY3VycmVudFRhcmdldCkpcmV0dXJuIGwucHJldmVudERlZmF1bHQoKTtnLmFjdGlvbnMuY2xvc2UoKX0pLGE9SygoKT0+KHtvcGVuOnQ9PT1jLk9wZW59KSxbdF0pLGk9e3JlZjpvLGlkOkIsXCJhcmlhLWhpZGRlblwiOiEwLG9uQ2xpY2s6QSwuLi5PZShQKX07cmV0dXJuIGxlKCkoe291clByb3BzOmksdGhlaXJQcm9wczpyLHNsb3Q6YSxkZWZhdWx0VGFnOnZ0LGZlYXR1cmVzOm10LHZpc2libGU6RSxuYW1lOlwiUG9wb3Zlci5CYWNrZHJvcFwifSl9bGV0IFR0PVwiZGl2XCIsRXQ9ZGUuUmVuZGVyU3RyYXRlZ3l8ZGUuU3RhdGljO2Z1bmN0aW9uIGJ0KGIsTSl7bGV0IEY9cmUoKSx7aWQ6Qj1gaGVhZGxlc3N1aS1wb3BvdmVyLXBhbmVsLSR7Rn1gLGZvY3VzOmQ9ITEsYW5jaG9yOnIscG9ydGFsOmc9ITEsbW9kYWw6dD0hMSx0cmFuc2l0aW9uOl89ITEsLi4uZn09YixvPXllKFwiUG9wb3Zlci5QYW5lbFwiKSxPPVoobyxvLnNlbGVjdG9ycy5pc1BvcnRhbGxlZCksW0UsUCxBLGEsaV09WihvLG9lKHM9PltzLnBvcG92ZXJTdGF0ZSxzLmJ1dHRvbixzLl9fZGVtb01vZGUscy5iZWZvcmVQYW5lbFNlbnRpbmVsLHMuYWZ0ZXJQYW5lbFNlbnRpbmVsXSxbXSkpLHU9YGhlYWRsZXNzdWktZm9jdXMtc2VudGluZWwtYmVmb3JlLSR7Rn1gLGw9YGhlYWRsZXNzdWktZm9jdXMtc2VudGluZWwtYWZ0ZXItJHtGfWAsdj1pZShudWxsKSxtPWV0KHIpLFtqLCRdPVllKG0pLEo9UWUoKTttJiYoZz0hMCk7bGV0W3gsWF09dWUobnVsbCksdGU9WSh2LE0sbT9qOm51bGwsby5hY3Rpb25zLnNldFBhbmVsLFgpLHE9Y2UoUCksQz1jZSh2KTtLZSgoKT0+KG8uYWN0aW9ucy5zZXRQYW5lbElkKEIpLCgpPT5vLmFjdGlvbnMuc2V0UGFuZWxJZChudWxsKSksW0Isb10pO2xldCBrPUxlKCksW24sRF09eGUoXyx4LGshPT1udWxsPyhrJlEuT3Blbik9PT1RLk9wZW46RT09PWMuT3Blbik7V2UobixQLG8uYWN0aW9ucy5jbG9zZSksWGUoQT8hMTp0JiZuLEMpO2xldCBHPXkocz0+e3ZhciBSO3N3aXRjaChzLmtleSl7Y2FzZSBWLkVzY2FwZTppZihvLnN0YXRlLnBvcG92ZXJTdGF0ZSE9PWMuT3Blbnx8IXYuY3VycmVudHx8QyE9bnVsbCYmQy5hY3RpdmVFbGVtZW50JiYhdi5jdXJyZW50LmNvbnRhaW5zKEMuYWN0aXZlRWxlbWVudCkpcmV0dXJuO3MucHJldmVudERlZmF1bHQoKSxzLnN0b3BQcm9wYWdhdGlvbigpLG8uYWN0aW9ucy5jbG9zZSgpLChSPW8uc3RhdGUuYnV0dG9uKT09bnVsbHx8Ui5mb2N1cygpO2JyZWFrfX0pO3BlKCgpPT57dmFyIHM7Yi5zdGF0aWN8fEU9PT1jLkNsb3NlZCYmKChzPWIudW5tb3VudCk9PW51bGx8fHMpJiZvLmFjdGlvbnMuc2V0UGFuZWwobnVsbCl9LFtFLGIudW5tb3VudCxiLnN0YXRpYyxvXSkscGUoKCk9PntpZihBfHwhZHx8RSE9PWMuT3Blbnx8IXYuY3VycmVudClyZXR1cm47bGV0IHM9Qz09bnVsbD92b2lkIDA6Qy5hY3RpdmVFbGVtZW50O3YuY3VycmVudC5jb250YWlucyhzKXx8Vyh2LmN1cnJlbnQsSC5GaXJzdCl9LFtBLGQsdi5jdXJyZW50LEVdKTtsZXQgVT1LKCgpPT4oe29wZW46RT09PWMuT3BlbixjbG9zZTpvLmFjdGlvbnMucmVmb2N1c2FibGVDbG9zZX0pLFtFLG9dKSxMPWJlKG0/SigpOnt9LHtyZWY6dGUsaWQ6QixvbktleURvd246RyxvbkJsdXI6ZCYmRT09PWMuT3Blbj9zPT57dmFyIGUscCxoLFMsdztsZXQgUj1zLnJlbGF0ZWRUYXJnZXQ7UiYmdi5jdXJyZW50JiYoKGU9di5jdXJyZW50KSE9bnVsbCYmZS5jb250YWlucyhSKXx8KG8uYWN0aW9ucy5jbG9zZSgpLCgoaD0ocD1hLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpwLmNvbnRhaW5zKSE9bnVsbCYmaC5jYWxsKHAsUil8fCh3PShTPWkuY3VycmVudCk9PW51bGw/dm9pZCAwOlMuY29udGFpbnMpIT1udWxsJiZ3LmNhbGwoUyxSKSkmJlIuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KSkpfTp2b2lkIDAsdGFiSW5kZXg6LTEsc3R5bGU6ey4uLmYuc3R5bGUsLi4uJCxcIi0tYnV0dG9uLXdpZHRoXCI6TmUoUCwhMCkud2lkdGh9LC4uLk9lKEQpfSksTj1DZSgpLGFlPXkoKCk9PntsZXQgcz12LmN1cnJlbnQ7aWYoIXMpcmV0dXJuO2Z1bmN0aW9uIFIoKXtuZShOLmN1cnJlbnQse1tJLkZvcndhcmRzXTooKT0+e3ZhciBwO1cocyxILkZpcnN0KT09PUVlLkVycm9yJiYoKHA9by5zdGF0ZS5hZnRlclBhbmVsU2VudGluZWwuY3VycmVudCk9PW51bGx8fHAuZm9jdXMoKSl9LFtJLkJhY2t3YXJkc106KCk9Pnt2YXIgZTsoZT1vLnN0YXRlLmJ1dHRvbik9PW51bGx8fGUuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX19KX1SKCl9KSxQZT15KCgpPT57bGV0IHM9di5jdXJyZW50O2lmKCFzKXJldHVybjtmdW5jdGlvbiBSKCl7bmUoTi5jdXJyZW50LHtbSS5Gb3J3YXJkc106KCk9PntpZighby5zdGF0ZS5idXR0b24pcmV0dXJuO2xldCBlPVNlKCkscD1lLmluZGV4T2Yoby5zdGF0ZS5idXR0b24pLGg9ZS5zbGljZSgwLHArMSksdz1bLi4uZS5zbGljZShwKzEpLC4uLmhdO2ZvcihsZXQgdmUgb2Ygdy5zbGljZSgpKWlmKHZlLmRhdGFzZXQuaGVhZGxlc3N1aUZvY3VzR3VhcmQ9PT1cInRydWVcInx8eCE9bnVsbCYmeC5jb250YWlucyh2ZSkpe2xldCBSZT13LmluZGV4T2YodmUpO1JlIT09LTEmJncuc3BsaWNlKFJlLDEpfVcodyxILkZpcnN0LHtzb3J0ZWQ6ITF9KX0sW0kuQmFja3dhcmRzXTooKT0+e3ZhciBwO1cocyxILlByZXZpb3VzKT09PUVlLkVycm9yJiYoKHA9by5zdGF0ZS5idXR0b24pPT1udWxsfHxwLmZvY3VzKCkpfX0pfVIoKX0pLHNlPWxlKCk7cmV0dXJuIFQuY3JlYXRlRWxlbWVudChvdCxudWxsLFQuY3JlYXRlRWxlbWVudChmZS5Qcm92aWRlcix7dmFsdWU6Qn0sVC5jcmVhdGVFbGVtZW50KERlLHt2YWx1ZTpvLmFjdGlvbnMucmVmb2N1c2FibGVDbG9zZX0sVC5jcmVhdGVFbGVtZW50KGF0LHtlbmFibGVkOmc/Yi5zdGF0aWN8fG46ITEsb3duZXJEb2N1bWVudDpxfSxuJiZPJiZULmNyZWF0ZUVsZW1lbnQobWUse2lkOnUscmVmOmEsZmVhdHVyZXM6VGUuRm9jdXNhYmxlLFwiZGF0YS1oZWFkbGVzc3VpLWZvY3VzLWd1YXJkXCI6ITAsYXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsb25Gb2N1czphZX0pLHNlKHtvdXJQcm9wczpMLHRoZWlyUHJvcHM6ZixzbG90OlUsZGVmYXVsdFRhZzpUdCxmZWF0dXJlczpFdCx2aXNpYmxlOm4sbmFtZTpcIlBvcG92ZXIuUGFuZWxcIn0pLG4mJk8mJlQuY3JlYXRlRWxlbWVudChtZSx7aWQ6bCxyZWY6aSxmZWF0dXJlczpUZS5Gb2N1c2FibGUsXCJkYXRhLWhlYWRsZXNzdWktZm9jdXMtZ3VhcmRcIjohMCxhczpcImJ1dHRvblwiLHR5cGU6XCJidXR0b25cIixvbkZvY3VzOlBlfSkpKSkpfWxldCB5dD1cImRpdlwiO2Z1bmN0aW9uIGd0KGIsTSl7bGV0IEY9aWUobnVsbCksQj1ZKEYsTSksW2Qscl09dWUoW10pLGc9eShhPT57cihpPT57bGV0IHU9aS5pbmRleE9mKGEpO2lmKHUhPT0tMSl7bGV0IGw9aS5zbGljZSgpO3JldHVybiBsLnNwbGljZSh1LDEpLGx9cmV0dXJuIGl9KX0pLHQ9eShhPT4ocihpPT5bLi4uaSxhXSksKCk9PmcoYSkpKSxfPXkoKCk9Pnt2YXIgdTtsZXQgYT1sdChGKTtpZighYSlyZXR1cm4hMTtsZXQgaT1hLmFjdGl2ZUVsZW1lbnQ7cmV0dXJuKHU9Ri5jdXJyZW50KSE9bnVsbCYmdS5jb250YWlucyhpKT8hMDpkLnNvbWUobD0+e3ZhciB2LG07cmV0dXJuKCh2PWEuZ2V0RWxlbWVudEJ5SWQobC5idXR0b25JZC5jdXJyZW50KSk9PW51bGw/dm9pZCAwOnYuY29udGFpbnMoaSkpfHwoKG09YS5nZXRFbGVtZW50QnlJZChsLnBhbmVsSWQuY3VycmVudCkpPT1udWxsP3ZvaWQgMDptLmNvbnRhaW5zKGkpKX0pfSksZj15KGE9Pntmb3IobGV0IGkgb2YgZClpLmJ1dHRvbklkLmN1cnJlbnQhPT1hJiZpLmNsb3NlKCl9KSxvPUsoKCk9Pih7cmVnaXN0ZXJQb3BvdmVyOnQsdW5yZWdpc3RlclBvcG92ZXI6Zyxpc0ZvY3VzV2l0aGluUG9wb3Zlckdyb3VwOl8sY2xvc2VPdGhlcnM6Zn0pLFt0LGcsXyxmXSksTz1LKCgpPT4oe30pLFtdKSxFPWIsUD17cmVmOkJ9LEE9bGUoKTtyZXR1cm4gVC5jcmVhdGVFbGVtZW50KEFlLG51bGwsVC5jcmVhdGVFbGVtZW50KGdlLlByb3ZpZGVyLHt2YWx1ZTpvfSxBKHtvdXJQcm9wczpQLHRoZWlyUHJvcHM6RSxzbG90Ok8sZGVmYXVsdFRhZzp5dCxuYW1lOlwiUG9wb3Zlci5Hcm91cFwifSkpKX1sZXQgUnQ9ZWUoZHQpLEZ0PWVlKFB0KSxCdD1lZShrZSksX3Q9ZWUoa2UpLEF0PWVlKGJ0KSxDdD1lZShndCksaW89T2JqZWN0LmFzc2lnbihSdCx7QnV0dG9uOkZ0LEJhY2tkcm9wOl90LE92ZXJsYXk6QnQsUGFuZWw6QXQsR3JvdXA6Q3R9KTtleHBvcnR7aW8gYXMgUG9wb3ZlcixfdCBhcyBQb3BvdmVyQmFja2Ryb3AsRnQgYXMgUG9wb3ZlckJ1dHRvbixDdCBhcyBQb3BvdmVyR3JvdXAsQnQgYXMgUG9wb3Zlck92ZXJsYXksQXQgYXMgUG9wb3ZlclBhbmVsfTtcbiJdLCJuYW1lcyI6WyJ1c2VGb2N1c1JpbmciLCJJZSIsInVzZUhvdmVyIiwiSGUiLCJUIiwiY3JlYXRlQ29udGV4dCIsIkZlIiwidXNlQ2FsbGJhY2siLCJvZSIsInVzZUNvbnRleHQiLCJCZSIsInVzZUVmZmVjdCIsInBlIiwidXNlTWVtbyIsIksiLCJ1c2VSZWYiLCJpZSIsInVzZVN0YXRlIiwidWUiLCJ1c2VBY3RpdmVQcmVzcyIsIlVlIiwidXNlRWxlbWVudFNpemUiLCJOZSIsInVzZUV2ZW50IiwieSIsInVzZUV2ZW50TGlzdGVuZXIiLCJ3ZSIsInVzZUlkIiwicmUiLCJ1c2VJc29Nb3JwaGljRWZmZWN0IiwiS2UiLCJ1c2VMYXRlc3RWYWx1ZSIsIl9lIiwidXNlT25EaXNhcHBlYXIiLCJXZSIsInVzZU91dHNpZGVDbGljayIsIlZlIiwidXNlT3duZXJEb2N1bWVudCIsImNlIiwidXNlUmVzb2x2ZUJ1dHRvblR5cGUiLCJqZSIsIk1haW5UcmVlUHJvdmlkZXIiLCJBZSIsInVzZU1haW5UcmVlTm9kZSIsIiRlIiwidXNlUm9vdENvbnRhaW5lcnMiLCJKZSIsInVzZVNjcm9sbExvY2siLCJYZSIsIm9wdGlvbmFsUmVmIiwicWUiLCJ1c2VTeW5jUmVmcyIsIlkiLCJEaXJlY3Rpb24iLCJJIiwidXNlVGFiRGlyZWN0aW9uIiwiQ2UiLCJ0cmFuc2l0aW9uRGF0YUF0dHJpYnV0ZXMiLCJPZSIsInVzZVRyYW5zaXRpb24iLCJ4ZSIsIkNsb3NlUHJvdmlkZXIiLCJEZSIsIkZsb2F0aW5nUHJvdmlkZXIiLCJ6ZSIsInVzZUZsb2F0aW5nUGFuZWwiLCJZZSIsInVzZUZsb2F0aW5nUGFuZWxQcm9wcyIsIlFlIiwidXNlRmxvYXRpbmdSZWZlcmVuY2UiLCJaZSIsInVzZVJlc29sdmVkQW5jaG9yIiwiZXQiLCJIaWRkZW4iLCJtZSIsIkhpZGRlbkZlYXR1cmVzIiwiVGUiLCJPcGVuQ2xvc2VkUHJvdmlkZXIiLCJ0dCIsIlJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyIiwib3QiLCJTdGF0ZSIsIlEiLCJ1c2VPcGVuQ2xvc2VkIiwiTGUiLCJ1c2VTbGljZSIsIloiLCJpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTEiLCJoZSIsIk1lIiwiRm9jdXMiLCJIIiwiRm9jdXNSZXN1bHQiLCJFZSIsIkZvY3VzYWJsZU1vZGUiLCJydCIsImZvY3VzSW4iLCJXIiwiZ2V0Rm9jdXNhYmxlRWxlbWVudHMiLCJTZSIsImlzRm9jdXNhYmxlRWxlbWVudCIsIm50IiwibWF0Y2giLCJuZSIsImdldE93bmVyRG9jdW1lbnQiLCJsdCIsIlJlbmRlckZlYXR1cmVzIiwiZGUiLCJmb3J3YXJkUmVmV2l0aEFzIiwiZWUiLCJtZXJnZVByb3BzIiwiYmUiLCJ1c2VSZW5kZXIiLCJsZSIsIktleXMiLCJWIiwiUG9ydGFsIiwiYXQiLCJ1c2VOZXN0ZWRQb3J0YWxzIiwic3QiLCJQb3BvdmVyU3RhdGVzIiwiYyIsIlBvcG92ZXJDb250ZXh0IiwicHQiLCJ1c2VQb3BvdmVyTWFjaGluZSIsIml0IiwidXNlUG9wb3Zlck1hY2hpbmVDb250ZXh0IiwieWUiLCJnZSIsImRpc3BsYXlOYW1lIiwiR2UiLCJmZSIsInV0IiwiY3QiLCJkdCIsImIiLCJNIiwiayIsIkYiLCJfX2RlbW9Nb2RlIiwiQiIsImQiLCJyIiwiaWQiLCJnIiwidCIsIm4iLCJjdXJyZW50IiwiXyIsImYiLCJvIiwiTyIsIkUiLCJwb3BvdmVyU3RhdGUiLCJidXR0b24iLCJwYW5lbCIsImJ1dHRvbklkIiwicGFuZWxJZCIsIlAiLCJBIiwiYSIsImkiLCJjbG9zZSIsImFjdGlvbnMiLCJ1IiwibCIsInJlZ2lzdGVyUG9wb3ZlciIsInYiLCJpc0ZvY3VzV2l0aGluUG9wb3Zlckdyb3VwIiwiYWN0aXZlRWxlbWVudCIsImNvbnRhaW5zIiwibSIsImoiLCIkIiwiSiIsIm1haW5UcmVlTm9kZSIsInBvcnRhbHMiLCJkZWZhdWx0Q29udGFpbmVycyIsInN0YXRlIiwiZGVmYXVsdFZpZXciLCJEIiwieiIsIkciLCJVIiwiTCIsIk4iLCJ0YXJnZXQiLCJ3aW5kb3ciLCJpc0hUTUxvclNWR0VsZW1lbnQiLCJPcGVuIiwiYmVmb3JlUGFuZWxTZW50aW5lbCIsImNhbGwiLCJhZnRlclBhbmVsU2VudGluZWwiLCJhZnRlckJ1dHRvblNlbnRpbmVsIiwieCIsInJlc29sdmVDb250YWluZXJzIiwiTG9vc2UiLCJwcmV2ZW50RGVmYXVsdCIsImZvY3VzIiwiWCIsIm9wZW4iLCJyZWZvY3VzYWJsZUNsb3NlIiwidGUiLCJDbG9zZWQiLCJxIiwicmVmIiwiQyIsImNyZWF0ZUVsZW1lbnQiLCJub2RlIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIm91clByb3BzIiwidGhlaXJQcm9wcyIsInNsb3QiLCJkZWZhdWx0VGFnIiwibmFtZSIsImZ0IiwiUHQiLCJkaXNhYmxlZCIsImF1dG9Gb2N1cyIsImUiLCJzZWxlY3RvcnMiLCJpc1BvcnRhbGxlZCIsImNsb3NlT3RoZXJzIiwic2V0QnV0dG9uSWQiLCJTeW1ib2wiLCJidXR0b25zIiwicHVzaCIsInAiLCJpbmRleE9mIiwic3BsaWNlIiwibGVuZ3RoIiwiY29uc29sZSIsIndhcm4iLCJzZXRCdXR0b24iLCJoIiwiUyIsImtleSIsIlNwYWNlIiwiRW50ZXIiLCJjbGljayIsInN0b3BQcm9wYWdhdGlvbiIsIkVzY2FwZSIsImN1cnJlbnRUYXJnZXQiLCJpc0ZvY3VzVmlzaWJsZSIsImZvY3VzUHJvcHMiLCJpc0hvdmVyZWQiLCJob3ZlclByb3BzIiwiaXNEaXNhYmxlZCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwiYWN0aXZlIiwiaG92ZXIiLCJhdXRvZm9jdXMiLCJhZSIsIlBlIiwidHlwZSIsIm9uS2V5RG93biIsIm9uQ2xpY2siLCJvbktleVVwIiwib25Nb3VzZURvd24iLCJzZSIsInMiLCJpc0hUTUxFbGVtZW50IiwiRm9yd2FyZHMiLCJGaXJzdCIsIkJhY2t3YXJkcyIsIkxhc3QiLCJFcnJvciIsImZpbHRlciIsImRhdGFzZXQiLCJoZWFkbGVzc3VpRm9jdXNHdWFyZCIsIk5leHQiLCJQcmV2aW91cyIsInJlbGF0aXZlVG8iLCJSIiwiRnJhZ21lbnQiLCJmZWF0dXJlcyIsIkZvY3VzYWJsZSIsImFzIiwib25Gb2N1cyIsInZ0IiwibXQiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsImtlIiwidHJhbnNpdGlvbiIsInZpc2libGUiLCJUdCIsIkV0IiwiYnQiLCJhbmNob3IiLCJwb3J0YWwiLCJtb2RhbCIsInNldFBhbmVsIiwic2V0UGFuZWxJZCIsInN0YXRpYyIsInVubW91bnQiLCJvbkJsdXIiLCJ3IiwicmVsYXRlZFRhcmdldCIsInByZXZlbnRTY3JvbGwiLCJ0YWJJbmRleCIsInN0eWxlIiwid2lkdGgiLCJzbGljZSIsInZlIiwiUmUiLCJzb3J0ZWQiLCJlbmFibGVkIiwib3duZXJEb2N1bWVudCIsInl0IiwiZ3QiLCJzb21lIiwiZ2V0RWxlbWVudEJ5SWQiLCJ1bnJlZ2lzdGVyUG9wb3ZlciIsIlJ0IiwiRnQiLCJCdCIsIl90IiwiQXQiLCJDdCIsImlvIiwiT2JqZWN0IiwiYXNzaWduIiwiQnV0dG9uIiwiQmFja2Ryb3AiLCJPdmVybGF5IiwiUGFuZWwiLCJHcm91cCIsIlBvcG92ZXIiLCJQb3BvdmVyQmFja2Ryb3AiLCJQb3BvdmVyQnV0dG9uIiwiUG9wb3Zlckdyb3VwIiwiUG9wb3Zlck92ZXJsYXkiLCJQb3BvdmVyUGFuZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/popover/popover.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/portal/portal.js":
 | 
						||
/*!****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ ne; },\n/* harmony export */   PortalGroup: function() { return /* binding */ q; },\n/* harmony export */   useNestedPortals: function() { return /* binding */ oe; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react-dom/index.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js\");\n/* harmony import */ var _hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-owner.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js\");\n/* harmony import */ var _hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-sync-refs.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/portal-force-root.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/env.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/env.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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\n\nfunction I(e) {\n    let l = (0,_internal_portal_force_root_js__WEBPACK_IMPORTED_MODULE_2__.usePortalRoot)(), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(H), [r, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>{\n        var i;\n        if (!l && o !== null) return (i = o.current) != null ? i : null;\n        if (_utils_env_js__WEBPACK_IMPORTED_MODULE_3__.env.isServer) return null;\n        let t = e == null ? void 0 : e.getElementById(\"headlessui-portal-root\");\n        if (t) return t;\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        r !== null && (e != null && e.body.contains(r) || e == null || e.body.appendChild(r));\n    }, [\n        r,\n        e\n    ]), (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        l || o !== null && u(o.current);\n    }, [\n        o,\n        u,\n        l\n    ]), r;\n}\n_c = I;\nlet M = react__WEBPACK_IMPORTED_MODULE_0__.Fragment, D = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_4__.forwardRefWithAs)(function(l, o) {\n    let { ownerDocument: r = null, ...u } = l, t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), a = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_5__.useSyncRefs)((0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_5__.optionalRef)((s)=>{\n        t.current = s;\n    }), o), i = (0,_hooks_use_owner_js__WEBPACK_IMPORTED_MODULE_6__.useOwnerDocument)(t), f = r != null ? r : i, p = I(f), [n] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>{\n        var s;\n        return _utils_env_js__WEBPACK_IMPORTED_MODULE_3__.env.isServer ? null : (s = f == null ? void 0 : f.createElement(\"div\")) != null ? s : null;\n    }), P = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(g), O = (0,_hooks_use_server_handoff_complete_js__WEBPACK_IMPORTED_MODULE_7__.useServerHandoffComplete)();\n    (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_8__.useIsoMorphicEffect)(()=>{\n        !p || !n || p.contains(n) || (n.setAttribute(\"data-headlessui-portal\", \"\"), p.appendChild(n));\n    }, [\n        p,\n        n\n    ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_8__.useIsoMorphicEffect)(()=>{\n        if (n && P) return P.register(n);\n    }, [\n        P,\n        n\n    ]), (0,_hooks_use_on_unmount_js__WEBPACK_IMPORTED_MODULE_9__.useOnUnmount)(()=>{\n        var s;\n        !p || !n || (_utils_dom_js__WEBPACK_IMPORTED_MODULE_10__.isNode(n) && p.contains(n) && p.removeChild(n), p.childNodes.length <= 0 && ((s = p.parentElement) == null || s.removeChild(p)));\n    });\n    let b = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_4__.useRender)();\n    return O ? !p || !n ? null : /*#__PURE__*/ (0,react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal)(b({\n        ourProps: {\n            ref: a\n        },\n        theirProps: u,\n        slot: {},\n        defaultTag: M,\n        name: \"Portal\"\n    }), n) : null;\n});\nfunction J(e, l) {\n    let o = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_5__.useSyncRefs)(l), { enabled: r = !0, ownerDocument: u, ...t } = e, a = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_4__.useRender)();\n    return r ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(D, {\n        ...t,\n        ownerDocument: u,\n        ref: o\n    }) : a({\n        ourProps: {\n            ref: o\n        },\n        theirProps: t,\n        slot: {},\n        defaultTag: M,\n        name: \"Portal\"\n    });\n}\n_c1 = J;\nlet X = react__WEBPACK_IMPORTED_MODULE_0__.Fragment, H = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction k(e, l) {\n    let { target: o, ...r } = e, t = {\n        ref: (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_5__.useSyncRefs)(l)\n    }, a = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_4__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(H.Provider, {\n        value: o\n    }, a({\n        ourProps: t,\n        theirProps: r,\n        defaultTag: X,\n        name: \"Popover.Group\"\n    }));\n}\nlet g = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction oe() {\n    let e = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(g), l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), o = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_11__.useEvent)((t)=>(l.current.push(t), e && e.register(t), ()=>r(t))), r = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_11__.useEvent)((t)=>{\n        let a = l.current.indexOf(t);\n        a !== -1 && l.current.splice(a, 1), e && e.unregister(t);\n    }), u = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            register: o,\n            unregister: r,\n            portals: l\n        }), [\n        o,\n        r,\n        l\n    ]);\n    return [\n        l,\n        (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>function({ children: a }) {\n                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(g.Provider, {\n                    value: u\n                }, a);\n            }, [\n            u\n        ])\n    ];\n}\nlet B = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_4__.forwardRefWithAs)(J), q = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_4__.forwardRefWithAs)(k), ne = Object.assign(B, {\n    Group: q\n});\n\nvar _c, _c1;\n$RefreshReg$(_c, \"I\");\n$RefreshReg$(_c1, \"J\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9ydGFsL3BvcnRhbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7eUZBQTBJO0FBQXlDO0FBQW9EO0FBQTRFO0FBQTZEO0FBQTREO0FBQXNGO0FBQTRFO0FBQW9FO0FBQXFDO0FBQXlDO0FBQXdFO0FBQUEsU0FBU3dDLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFViw2RUFBQ0EsSUFBR1csSUFBRXJDLGlEQUFDQSxDQUFDc0MsSUFBRyxDQUFDQyxHQUFFQyxFQUFFLEdBQUNoQywrQ0FBQ0EsQ0FBQztRQUFLLElBQUlpQztRQUFFLElBQUcsQ0FBQ0wsS0FBR0MsTUFBSSxNQUFLLE9BQU0sQ0FBQ0ksSUFBRUosRUFBRUssT0FBTyxLQUFHLE9BQUtELElBQUU7UUFBSyxJQUFHWiw4Q0FBQ0EsQ0FBQ2MsUUFBUSxFQUFDLE9BQU87UUFBSyxJQUFJQyxJQUFFVCxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFVSxjQUFjLENBQUM7UUFBMEIsSUFBR0QsR0FBRSxPQUFPQTtRQUFFLElBQUdULE1BQUksTUFBSyxPQUFPO1FBQUssSUFBSVcsSUFBRVgsRUFBRVksYUFBYSxDQUFDO1FBQU8sT0FBT0QsRUFBRUUsWUFBWSxDQUFDLE1BQUssMkJBQTBCYixFQUFFYyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0o7SUFBRTtJQUFHLE9BQU81QyxnREFBQ0EsQ0FBQztRQUFLcUMsTUFBSSxRQUFPSixDQUFBQSxLQUFHLFFBQU1BLEVBQUVjLElBQUksQ0FBQ0UsUUFBUSxDQUFDWixNQUFJSixLQUFHLFFBQU1BLEVBQUVjLElBQUksQ0FBQ0MsV0FBVyxDQUFDWCxFQUFDO0lBQUUsR0FBRTtRQUFD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SUFBSWlELElBQUUxRCxrRUFBQ0EsQ0FBQzRDLElBQUdlLElBQUUzRCxrRUFBQ0EsQ0FBQytDLElBQUdhLEtBQUdDLE9BQU9DLE1BQU0sQ0FBQ0osR0FBRTtJQUFDSyxPQUFNSjtBQUFDO0FBQWdFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvcG9ydGFsL3BvcnRhbC5qcz81Yjg5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydCBULHtGcmFnbWVudCBhcyBFLGNyZWF0ZUNvbnRleHQgYXMgQSx1c2VDb250ZXh0IGFzIGQsdXNlRWZmZWN0IGFzIEcsdXNlTWVtbyBhcyB4LHVzZVJlZiBhcyBMLHVzZVN0YXRlIGFzIGN9ZnJvbVwicmVhY3RcIjtpbXBvcnR7Y3JlYXRlUG9ydGFsIGFzIGh9ZnJvbVwicmVhY3QtZG9tXCI7aW1wb3J0e3VzZUV2ZW50IGFzIF99ZnJvbScuLi8uLi9ob29rcy91c2UtZXZlbnQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIEN9ZnJvbScuLi8uLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7dXNlT25Vbm1vdW50IGFzIEZ9ZnJvbScuLi8uLi9ob29rcy91c2Utb24tdW5tb3VudC5qcyc7aW1wb3J0e3VzZU93bmVyRG9jdW1lbnQgYXMgVX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1vd25lci5qcyc7aW1wb3J0e3VzZVNlcnZlckhhbmRvZmZDb21wbGV0ZSBhcyBOfWZyb20nLi4vLi4vaG9va3MvdXNlLXNlcnZlci1oYW5kb2ZmLWNvbXBsZXRlLmpzJztpbXBvcnR7b3B0aW9uYWxSZWYgYXMgUyx1c2VTeW5jUmVmcyBhcyBtfWZyb20nLi4vLi4vaG9va3MvdXNlLXN5bmMtcmVmcy5qcyc7aW1wb3J0e3VzZVBvcnRhbFJvb3QgYXMgV31mcm9tJy4uLy4uL2ludGVybmFsL3BvcnRhbC1mb3JjZS1yb290LmpzJztpbXBvcnQqYXMgaiBmcm9tJy4uLy4uL3V0aWxzL2RvbS5qcyc7aW1wb3J0e2VudiBhcyB2fWZyb20nLi4vLi4vdXRpbHMvZW52LmpzJztpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyB5LHVzZVJlbmRlciBhcyBSfWZyb20nLi4vLi4vdXRpbHMvcmVuZGVyLmpzJztmdW5jdGlvbiBJKGUpe2xldCBsPVcoKSxvPWQoSCksW3IsdV09YygoKT0+e3ZhciBpO2lmKCFsJiZvIT09bnVsbClyZXR1cm4oaT1vLmN1cnJlbnQpIT1udWxsP2k6bnVsbDtpZih2LmlzU2VydmVyKXJldHVybiBudWxsO2xldCB0PWU9PW51bGw/dm9pZCAwOmUuZ2V0RWxlbWVudEJ5SWQoXCJoZWFkbGVzc3VpLXBvcnRhbC1yb290XCIpO2lmKHQpcmV0dXJuIHQ7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7bGV0IGE9ZS5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3JldHVybiBhLnNldEF0dHJpYnV0ZShcImlkXCIsXCJoZWFkbGVzc3VpLXBvcnRhbC1yb290XCIpLGUuYm9keS5hcHBlbmRDaGlsZChhKX0pO3JldHVybiBHKCgpPT57ciE9PW51bGwmJihlIT1udWxsJiZlLmJvZHkuY29udGFpbnMocil8fGU9PW51bGx8fGUuYm9keS5hcHBlbmRDaGlsZChyKSl9LFtyLGVdKSxHKCgpPT57bHx8byE9PW51bGwmJnUoby5jdXJyZW50KX0sW28sdSxsXSkscn1sZXQgTT1FLEQ9eShmdW5jdGlvbihsLG8pe2xldHtvd25lckRvY3VtZW50OnI9bnVsbCwuLi51fT1sLHQ9TChudWxsKSxhPW0oUyhzPT57dC5jdXJyZW50PXN9KSxvKSxpPVUodCksZj1yIT1udWxsP3I6aSxwPUkoZiksW25dPWMoKCk9Pnt2YXIgcztyZXR1cm4gdi5pc1NlcnZlcj9udWxsOihzPWY9PW51bGw/dm9pZCAwOmYuY3JlYXRlRWxlbWVudChcImRpdlwiKSkhPW51bGw/czpudWxsfSksUD1kKGcpLE89TigpO0MoKCk9PnshcHx8IW58fHAuY29udGFpbnMobil8fChuLnNldEF0dHJpYnV0ZShcImRhdGEtaGVhZGxlc3N1aS1wb3J0YWxcIixcIlwiKSxwLmFwcGVuZENoaWxkKG4pKX0sW3Asbl0pLEMoKCk9PntpZihuJiZQKXJldHVybiBQLnJlZ2lzdGVyKG4pfSxbUCxuXSksRigoKT0+e3ZhciBzOyFwfHwhbnx8KGouaXNOb2RlKG4pJiZwLmNvbnRhaW5zKG4pJiZwLnJlbW92ZUNoaWxkKG4pLHAuY2hpbGROb2Rlcy5sZW5ndGg8PTAmJigocz1wLnBhcmVudEVsZW1lbnQpPT1udWxsfHxzLnJlbW92ZUNoaWxkKHApKSl9KTtsZXQgYj1SKCk7cmV0dXJuIE8/IXB8fCFuP251bGw6aChiKHtvdXJQcm9wczp7cmVmOmF9LHRoZWlyUHJvcHM6dSxzbG90Ont9LGRlZmF1bHRUYWc6TSxuYW1lOlwiUG9ydGFsXCJ9KSxuKTpudWxsfSk7ZnVuY3Rpb24gSihlLGwpe2xldCBvPW0obCkse2VuYWJsZWQ6cj0hMCxvd25lckRvY3VtZW50OnUsLi4udH09ZSxhPVIoKTtyZXR1cm4gcj9ULmNyZWF0ZUVsZW1lbnQoRCx7Li4udCxvd25lckRvY3VtZW50OnUscmVmOm99KTphKHtvdXJQcm9wczp7cmVmOm99LHRoZWlyUHJvcHM6dCxzbG90Ont9LGRlZmF1bHRUYWc6TSxuYW1lOlwiUG9ydGFsXCJ9KX1sZXQgWD1FLEg9QShudWxsKTtmdW5jdGlvbiBrKGUsbCl7bGV0e3RhcmdldDpvLC4uLnJ9PWUsdD17cmVmOm0obCl9LGE9UigpO3JldHVybiBULmNyZWF0ZUVsZW1lbnQoSC5Qcm92aWRlcix7dmFsdWU6b30sYSh7b3VyUHJvcHM6dCx0aGVpclByb3BzOnIsZGVmYXVsdFRhZzpYLG5hbWU6XCJQb3BvdmVyLkdyb3VwXCJ9KSl9bGV0IGc9QShudWxsKTtmdW5jdGlvbiBvZSgpe2xldCBlPWQoZyksbD1MKFtdKSxvPV8odD0+KGwuY3VycmVudC5wdXNoKHQpLGUmJmUucmVnaXN0ZXIodCksKCk9PnIodCkpKSxyPV8odD0+e2xldCBhPWwuY3VycmVudC5pbmRleE9mKHQpO2EhPT0tMSYmbC5jdXJyZW50LnNwbGljZShhLDEpLGUmJmUudW5yZWdpc3Rlcih0KX0pLHU9eCgoKT0+KHtyZWdpc3RlcjpvLHVucmVnaXN0ZXI6cixwb3J0YWxzOmx9KSxbbyxyLGxdKTtyZXR1cm5bbCx4KCgpPT5mdW5jdGlvbih7Y2hpbGRyZW46YX0pe3JldHVybiBULmNyZWF0ZUVsZW1lbnQoZy5Qcm92aWRlcix7dmFsdWU6dX0sYSl9LFt1XSldfWxldCBCPXkoSikscT15KGspLG5lPU9iamVjdC5hc3NpZ24oQix7R3JvdXA6cX0pO2V4cG9ydHtuZSBhcyBQb3J0YWwscSBhcyBQb3J0YWxHcm91cCxvZSBhcyB1c2VOZXN0ZWRQb3J0YWxzfTtcbiJdLCJuYW1lcyI6WyJUIiwiRnJhZ21lbnQiLCJFIiwiY3JlYXRlQ29udGV4dCIsIkEiLCJ1c2VDb250ZXh0IiwiZCIsInVzZUVmZmVjdCIsIkciLCJ1c2VNZW1vIiwieCIsInVzZVJlZiIsIkwiLCJ1c2VTdGF0ZSIsImMiLCJjcmVhdGVQb3J0YWwiLCJoIiwidXNlRXZlbnQiLCJfIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIkMiLCJ1c2VPblVubW91bnQiLCJGIiwidXNlT3duZXJEb2N1bWVudCIsIlUiLCJ1c2VTZXJ2ZXJIYW5kb2ZmQ29tcGxldGUiLCJOIiwib3B0aW9uYWxSZWYiLCJTIiwidXNlU3luY1JlZnMiLCJtIiwidXNlUG9ydGFsUm9vdCIsIlciLCJqIiwiZW52IiwidiIsImZvcndhcmRSZWZXaXRoQXMiLCJ5IiwidXNlUmVuZGVyIiwiUiIsIkkiLCJlIiwibCIsIm8iLCJIIiwiciIsInUiLCJpIiwiY3VycmVudCIsImlzU2VydmVyIiwidCIsImdldEVsZW1lbnRCeUlkIiwiYSIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJjb250YWlucyIsIk0iLCJEIiwib3duZXJEb2N1bWVudCIsInMiLCJmIiwicCIsIm4iLCJQIiwiZyIsIk8iLCJyZWdpc3RlciIsImlzTm9kZSIsInJlbW92ZUNoaWxkIiwiY2hpbGROb2RlcyIsImxlbmd0aCIsInBhcmVudEVsZW1lbnQiLCJiIiwib3VyUHJvcHMiLCJyZWYiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiSiIsImVuYWJsZWQiLCJYIiwiayIsInRhcmdldCIsIlByb3ZpZGVyIiwidmFsdWUiLCJvZSIsInB1c2giLCJpbmRleE9mIiwic3BsaWNlIiwidW5yZWdpc3RlciIsInBvcnRhbHMiLCJjaGlsZHJlbiIsIkIiLCJxIiwibmUiLCJPYmplY3QiLCJhc3NpZ24iLCJHcm91cCIsIlBvcnRhbCIsIlBvcnRhbEdyb3VwIiwidXNlTmVzdGVkUG9ydGFscyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/portal/portal.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/tabs/tabs.js":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ Tt; },\n/* harmony export */   TabGroup: function() { return /* binding */ Be; },\n/* harmony export */   TabList: function() { return /* binding */ We; },\n/* harmony export */   TabPanel: function() { return /* binding */ Ke; },\n/* harmony export */   TabPanels: function() { return /* binding */ je; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_focus__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @react-aria/focus */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+focus@3.21.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\");\n/* harmony import */ var _internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../internal/focus-sentinel.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js\");\n/* harmony import */ var _utils_render_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/render.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/render.js\");\n/* harmony import */ var _utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/stable-collection.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 Le = ((t)=>(t[t.Forwards = 0] = \"Forwards\", t[t.Backwards = 1] = \"Backwards\", t))(Le || {}), _e = ((l)=>(l[l.Less = -1] = \"Less\", l[l.Equal = 0] = \"Equal\", l[l.Greater = 1] = \"Greater\", l))(_e || {}), De = ((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))(De || {});\nlet Se = {\n    [0] (e, r) {\n        var d;\n        let t = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.tabs, (u)=>u.current), l = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(e.panels, (u)=>u.current), a = t.filter((u)=>{\n            var T;\n            return !((T = u.current) != null && T.hasAttribute(\"disabled\"));\n        }), n = {\n            ...e,\n            tabs: t,\n            panels: l\n        };\n        if (r.index < 0 || r.index > t.length - 1) {\n            let u = (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 T = (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(u, {\n                [0]: ()=>t.indexOf(a[0]),\n                [1]: ()=>t.indexOf(a[a.length - 1])\n            });\n            return {\n                ...n,\n                selectedIndex: T === -1 ? e.selectedIndex : T\n            };\n        }\n        let s = t.slice(0, r.index), b = [\n            ...t.slice(r.index),\n            ...s\n        ].find((u)=>a.includes(u));\n        if (!b) return n;\n        let f = (d = t.indexOf(b)) != null ? d : 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], l = (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 = l.indexOf(t), a === -1 && (a = e.selectedIndex)), {\n            ...e,\n            tabs: l,\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}, V = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nV.displayName = \"TabsDataContext\";\nfunction C(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, C), t;\n    }\n    return r;\n}\n_c = C;\nlet Q = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nQ.displayName = \"TabsActionsContext\";\nfunction Y(e) {\n    let r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Q);\n    if (r === null) {\n        let t = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);\n        throw Error.captureStackTrace && Error.captureStackTrace(t, Y), t;\n    }\n    return r;\n}\n_c1 = Y;\nfunction Fe(e, r) {\n    return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(r.type, Se, e, r);\n}\n_c2 = Fe;\nlet Ie = \"div\";\nfunction he(e, r) {\n    let { defaultIndex: t = 0, vertical: l = !1, manual: a = !1, onChange: n, selectedIndex: s = null, ...g } = e;\n    const b = l ? \"vertical\" : \"horizontal\", f = a ? \"manual\" : \"auto\";\n    let d = s !== null, u = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)({\n        isControlled: d\n    }), T = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(r), [p, c] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(Fe, {\n        info: u,\n        selectedIndex: s != null ? s : t,\n        tabs: [],\n        panels: []\n    }), h = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            selectedIndex: p.selectedIndex\n        }), [\n        p.selectedIndex\n    ]), m = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(n || (()=>{})), M = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(p.tabs), S = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            orientation: b,\n            activation: f,\n            ...p\n        }), [\n        b,\n        f,\n        p\n    ]), P = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((i)=>(c({\n            type: 1,\n            tab: i\n        }), ()=>c({\n                type: 2,\n                tab: i\n            }))), A = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((i)=>(c({\n            type: 3,\n            panel: i\n        }), ()=>c({\n                type: 4,\n                panel: i\n            }))), E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((i)=>{\n        _.current !== i && m.current(i), d || c({\n            type: 0,\n            index: i\n        });\n    }), _ = (0,_hooks_use_latest_value_js__WEBPACK_IMPORTED_MODULE_3__.useLatestValue)(d ? e.selectedIndex : p.selectedIndex), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            registerTab: P,\n            registerPanel: A,\n            change: E\n        }), []);\n    (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n        c({\n            type: 0,\n            index: s != null ? s : t\n        });\n    }, [\n        s\n    ]), (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>{\n        if (_.current === void 0 || p.tabs.length <= 0) return;\n        let i = (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.sortByDomNode)(p.tabs, (R)=>R.current);\n        i.some((R, X)=>p.tabs[X] !== R) && E(i.indexOf(p.tabs[_.current]));\n    });\n    let K = {\n        ref: T\n    }, J = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useRender)();\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_8__.StableCollection, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Q.Provider, {\n        value: D\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(V.Provider, {\n        value: S\n    }, S.tabs.length <= 0 && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_focus_sentinel_js__WEBPACK_IMPORTED_MODULE_9__.FocusSentinel, {\n        onFocus: ()=>{\n            var i, G;\n            for (let R of M.current)if (((i = R.current) == null ? void 0 : i.tabIndex) === 0) return (G = R.current) == null || G.focus(), !0;\n            return !1;\n        }\n    }), J({\n        ourProps: K,\n        theirProps: g,\n        slot: h,\n        defaultTag: Ie,\n        name: \"Tabs\"\n    }))));\n}\nlet ve = \"div\";\nfunction Ce(e, r) {\n    let { orientation: t, selectedIndex: l } = 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: l\n        }), [\n        l\n    ]), s = e, g = {\n        ref: a,\n        role: \"tablist\",\n        \"aria-orientation\": t\n    };\n    return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useRender)()({\n        ourProps: g,\n        theirProps: s,\n        slot: n,\n        defaultTag: ve,\n        name: \"Tabs.List\"\n    });\n}\n_c3 = Ce;\nlet Me = \"button\";\nfunction Ge(e, r) {\n    var ee, te;\n    let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: l = `headlessui-tabs-tab-${t}`, disabled: a = !1, autoFocus: n = !1, ...s } = e, { orientation: g, activation: b, selectedIndex: f, tabs: d, panels: u } = C(\"Tab\"), T = Y(\"Tab\"), p = C(\"Tab\"), [c, h] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), m = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), M = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(m, r, h);\n    (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>T.registerTab(m), [\n        T,\n        m\n    ]);\n    let S = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_8__.useStableCollectionIndex)(\"tabs\"), P = d.indexOf(m);\n    P === -1 && (P = S);\n    let A = P === f, E = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((o)=>{\n        var $;\n        let L = o();\n        if (L === _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.FocusResult.Success && b === \"auto\") {\n            let q = ($ = (0,_utils_owner_js__WEBPACK_IMPORTED_MODULE_10__.getOwnerDocument)(m)) == null ? void 0 : $.activeElement, re = p.tabs.findIndex((ce)=>ce.current === q);\n            re !== -1 && T.change(re);\n        }\n        return L;\n    }), _ = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((o)=>{\n        let L = d.map((q)=>q.current).filter(Boolean);\n        if (o.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Space || o.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Enter) {\n            o.preventDefault(), o.stopPropagation(), T.change(P);\n            return;\n        }\n        switch(o.key){\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.Home:\n            case _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.PageUp:\n                return o.preventDefault(), o.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(L, _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 o.preventDefault(), o.stopPropagation(), E(()=>(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(L, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Last));\n        }\n        if (E(()=>(0,_utils_match_js__WEBPACK_IMPORTED_MODULE_2__.match)(g, {\n                vertical () {\n                    return o.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowUp ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(L, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : o.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowDown ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(L, _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 o.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowLeft ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(L, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.Previous | _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.Focus.WrapAround) : o.key === _keyboard_js__WEBPACK_IMPORTED_MODULE_11__.Keys.ArrowRight ? (0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_1__.focusIn)(L, _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 o.preventDefault();\n    }), D = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), K = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)(()=>{\n        var o;\n        D.current || (D.current = !0, (o = m.current) == null || o.focus({\n            preventScroll: !0\n        }), T.change(P), (0,_utils_micro_task_js__WEBPACK_IMPORTED_MODULE_12__.microTask)(()=>{\n            D.current = !1;\n        }));\n    }), J = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_5__.useEvent)((o)=>{\n        o.preventDefault();\n    }), { isFocusVisible: i, focusProps: G } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)({\n        autoFocus: n\n    }), { isHovered: R, hoverProps: X } = (0,_react_aria_interactions__WEBPACK_IMPORTED_MODULE_14__.useHover)({\n        isDisabled: a\n    }), { pressed: Z, pressProps: ue } = (0,_hooks_use_active_press_js__WEBPACK_IMPORTED_MODULE_15__.useActivePress)({\n        disabled: a\n    }), Te = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            selected: A,\n            hover: R,\n            active: Z,\n            focus: i,\n            autofocus: n,\n            disabled: a\n        }), [\n        A,\n        R,\n        i,\n        Z,\n        n,\n        a\n    ]), de = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n        ref: M,\n        onKeyDown: _,\n        onMouseDown: J,\n        onClick: K,\n        id: l,\n        role: \"tab\",\n        type: (0,_hooks_use_resolve_button_type_js__WEBPACK_IMPORTED_MODULE_16__.useResolveButtonType)(e, c),\n        \"aria-controls\": (te = (ee = u[P]) == null ? void 0 : ee.current) == null ? void 0 : te.id,\n        \"aria-selected\": A,\n        tabIndex: A ? 0 : -1,\n        disabled: a || void 0,\n        autoFocus: n\n    }, G, X, ue);\n    return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useRender)()({\n        ourProps: de,\n        theirProps: s,\n        slot: Te,\n        defaultTag: Me,\n        name: \"Tabs.Tab\"\n    });\n}\n_c4 = Ge;\nlet Ue = \"div\";\nfunction He(e, r) {\n    let { selectedIndex: t } = C(\"Tab.Panels\"), l = (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 = e, s = {\n        ref: l\n    };\n    return (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useRender)()({\n        ourProps: s,\n        theirProps: n,\n        slot: a,\n        defaultTag: Ue,\n        name: \"Tabs.Panels\"\n    });\n}\n_c5 = He;\nlet we = \"div\", Oe = _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.RenderStrategy | _utils_render_js__WEBPACK_IMPORTED_MODULE_7__.RenderFeatures.Static;\nfunction Ne(e, r) {\n    var A, E, _, D;\n    let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), { id: l = `headlessui-tabs-panel-${t}`, tabIndex: a = 0, ...n } = e, { selectedIndex: s, tabs: g, panels: b } = C(\"Tab.Panel\"), f = Y(\"Tab.Panel\"), d = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), u = (0,_hooks_use_sync_refs_js__WEBPACK_IMPORTED_MODULE_4__.useSyncRefs)(d, r);\n    (0,_hooks_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_6__.useIsoMorphicEffect)(()=>f.registerPanel(d), [\n        f,\n        d\n    ]);\n    let T = (0,_utils_stable_collection_js__WEBPACK_IMPORTED_MODULE_8__.useStableCollectionIndex)(\"panels\"), p = b.indexOf(d);\n    p === -1 && (p = T);\n    let c = p === s, { isFocusVisible: h, focusProps: m } = (0,_react_aria_focus__WEBPACK_IMPORTED_MODULE_13__.useFocusRing)(), M = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            selected: c,\n            focus: h\n        }), [\n        c,\n        h\n    ]), S = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.mergeProps)({\n        ref: u,\n        id: l,\n        role: \"tabpanel\",\n        \"aria-labelledby\": (E = (A = g[p]) == null ? void 0 : A.current) == null ? void 0 : E.id,\n        tabIndex: c ? a : -1\n    }, m), P = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.useRender)();\n    return !c && ((_ = n.unmount) == null || _) && !((D = n.static) != null && D) ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_17__.Hidden, {\n        \"aria-hidden\": \"true\",\n        ...S\n    }) : P({\n        ourProps: S,\n        theirProps: n,\n        slot: M,\n        defaultTag: we,\n        features: Oe,\n        visible: c,\n        name: \"Tabs.Panel\"\n    });\n}\n_c6 = Ne;\nlet ke = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(Ge), Be = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(he), We = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(Ce), je = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(He), Ke = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_7__.forwardRefWithAs)(Ne), Tt = Object.assign(ke, {\n    Group: Be,\n    List: We,\n    Panels: je,\n    Panel: Ke\n});\n\nvar _c, _c1, _c2, _c3, _c4, _c5, _c6;\n$RefreshReg$(_c, \"C\");\n$RefreshReg$(_c1, \"Y\");\n$RefreshReg$(_c2, \"Fe\");\n$RefreshReg$(_c3, \"Ce\");\n$RefreshReg$(_c4, \"Ge\");\n$RefreshReg$(_c5, \"He\");\n$RefreshReg$(_c6, \"Ne\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2NvbXBvbmVudHMvdGFicy90YWJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzZGQUErRDtBQUFxRDtBQUFvSDtBQUFrRTtBQUFvRDtBQUErQztBQUE0RTtBQUFpRTtBQUErRTtBQUEyRDtBQUFrRTtBQUFtRDtBQUF5RztBQUE2QztBQUF1RDtBQUF5RDtBQUE4RztBQUFvRztBQUFzQztBQUFBLElBQUkrRCxLQUFHLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRCxDQUFDLENBQUNBLEVBQUVFLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUYsQ0FBQUEsQ0FBQyxFQUFHRCxNQUFJLENBQUMsSUFBR0ksS0FBRyxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxDQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLEtBQUssR0FBQyxFQUFFLEdBQUMsU0FBUUYsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUFBLENBQUMsRUFBR0QsTUFBSSxDQUFDLElBQUdLLEtBQUcsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxnQkFBZ0IsR0FBQyxFQUFFLEdBQUMsb0JBQW1CRCxDQUFDLENBQUNBLEVBQUVFLFdBQVcsR0FBQyxFQUFFLEdBQUMsZUFBY0YsQ0FBQyxDQUFDQSxFQUFFRyxhQUFhLEdBQUMsRUFBRSxHQUFDLGlCQUFnQkgsQ0FBQyxDQUFDQSxFQUFFSSxhQUFhLEdBQUMsRUFBRSxHQUFD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TSxDQUFDb0UsS0FBSSxFQUFDVyxJQUFFOUQsRUFBRXVKLE9BQU8sS0FBRyxRQUFNekYsQ0FBQUEsS0FBSSxDQUFFLEVBQUNDLElBQUUvRCxFQUFFd0osTUFBTSxLQUFHLFFBQU16RixDQUFBQSxrQkFBR3BJLGdEQUFlLENBQUM4Qix3REFBRUEsRUFBQztRQUFDLGVBQWM7UUFBTyxHQUFHOEYsQ0FBQztJQUFBLEtBQUdHLEVBQUU7UUFBQ3NCLFVBQVN6QjtRQUFFMEIsWUFBV2pGO1FBQUVrRixNQUFLNUI7UUFBRTZCLFlBQVcrRDtRQUFHTyxVQUFTTjtRQUFHTyxTQUFRdkc7UUFBRWlDLE1BQUs7SUFBWTtBQUFFO01BQTVwQmtFO0FBQTZwQixJQUFJSyxLQUFHaEwsa0VBQUNBLENBQUM4RyxLQUFJbUUsS0FBR2pMLGtFQUFDQSxDQUFDaUUsS0FBSWlILEtBQUdsTCxrRUFBQ0EsQ0FBQzJHLEtBQUl3RSxLQUFHbkwsa0VBQUNBLENBQUNzSyxLQUFJYyxLQUFHcEwsa0VBQUNBLENBQUMySyxLQUFJVSxLQUFHQyxPQUFPQyxNQUFNLENBQUNQLElBQUc7SUFBQ1EsT0FBTVA7SUFBR1EsTUFBS1A7SUFBR1EsUUFBT1A7SUFBR1EsT0FBTVA7QUFBRTtBQUFpRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9jb21wb25lbnRzL3RhYnMvdGFicy5qcz8xMGZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO2ltcG9ydHt1c2VGb2N1c1JpbmcgYXMgbmV9ZnJvbVwiQHJlYWN0LWFyaWEvZm9jdXNcIjtpbXBvcnR7dXNlSG92ZXIgYXMgZmV9ZnJvbVwiQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zXCI7aW1wb3J0IFUse2NyZWF0ZUNvbnRleHQgYXMgYWUsdXNlQ29udGV4dCBhcyBsZSx1c2VNZW1vIGFzIEYsdXNlUmVkdWNlciBhcyBiZSx1c2VSZWYgYXMgeix1c2VTdGF0ZSBhcyBtZX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VBY3RpdmVQcmVzcyBhcyBQZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMnO2ltcG9ydHt1c2VFdmVudCBhcyBJfWZyb20nLi4vLi4vaG9va3MvdXNlLWV2ZW50LmpzJztpbXBvcnR7dXNlSWQgYXMgb2V9ZnJvbScuLi8uLi9ob29rcy91c2UtaWQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIEJ9ZnJvbScuLi8uLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgV31mcm9tJy4uLy4uL2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VSZXNvbHZlQnV0dG9uVHlwZSBhcyB5ZX1mcm9tJy4uLy4uL2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzJztpbXBvcnR7dXNlU3luY1JlZnMgYXMgSH1mcm9tJy4uLy4uL2hvb2tzL3VzZS1zeW5jLXJlZnMuanMnO2ltcG9ydHtGb2N1c1NlbnRpbmVsIGFzIHhlfWZyb20nLi4vLi4vaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanMnO2ltcG9ydHtIaWRkZW4gYXMgZ2V9ZnJvbScuLi8uLi9pbnRlcm5hbC9oaWRkZW4uanMnO2ltcG9ydHtGb2N1cyBhcyB5LEZvY3VzUmVzdWx0IGFzIGosZm9jdXNJbiBhcyB2LHNvcnRCeURvbU5vZGUgYXMgd31mcm9tJy4uLy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHttYXRjaCBhcyBPfWZyb20nLi4vLi4vdXRpbHMvbWF0Y2guanMnO2ltcG9ydHttaWNyb1Rhc2sgYXMgQWV9ZnJvbScuLi8uLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7Z2V0T3duZXJEb2N1bWVudCBhcyBFZX1mcm9tJy4uLy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7UmVuZGVyRmVhdHVyZXMgYXMgc2UsZm9yd2FyZFJlZldpdGhBcyBhcyBOLG1lcmdlUHJvcHMgYXMgaWUsdXNlUmVuZGVyIGFzIGt9ZnJvbScuLi8uLi91dGlscy9yZW5kZXIuanMnO2ltcG9ydHtTdGFibGVDb2xsZWN0aW9uIGFzIFJlLHVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCBhcyBwZX1mcm9tJy4uLy4uL3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzJztpbXBvcnR7S2V5cyBhcyB4fWZyb20nLi4va2V5Ym9hcmQuanMnO3ZhciBMZT0odD0+KHRbdC5Gb3J3YXJkcz0wXT1cIkZvcndhcmRzXCIsdFt0LkJhY2t3YXJkcz0xXT1cIkJhY2t3YXJkc1wiLHQpKShMZXx8e30pLF9lPShsPT4obFtsLkxlc3M9LTFdPVwiTGVzc1wiLGxbbC5FcXVhbD0wXT1cIkVxdWFsXCIsbFtsLkdyZWF0ZXI9MV09XCJHcmVhdGVyXCIsbCkpKF9lfHx7fSksRGU9KG49PihuW24uU2V0U2VsZWN0ZWRJbmRleD0wXT1cIlNldFNlbGVjdGVkSW5kZXhcIixuW24uUmVnaXN0ZXJUYWI9MV09XCJSZWdpc3RlclRhYlwiLG5bbi5VbnJlZ2lzdGVyVGFiPTJdPVwiVW5yZWdpc3RlclRhYlwiLG5bbi5SZWdpc3RlclBhbmVsPTNdPVwiUmVnaXN0ZXJQYW5lbFwiLG5bbi5VbnJlZ2lzdGVyUGFuZWw9NF09XCJVbnJlZ2lzdGVyUGFuZWxcIixuKSkoRGV8fHt9KTtsZXQgU2U9e1swXShlLHIpe3ZhciBkO2xldCB0PXcoZS50YWJzLHU9PnUuY3VycmVudCksbD13KGUucGFuZWxzLHU9PnUuY3VycmVudCksYT10LmZpbHRlcih1PT57dmFyIFQ7cmV0dXJuISgoVD11LmN1cnJlbnQpIT1udWxsJiZULmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpKX0pLG49ey4uLmUsdGFiczp0LHBhbmVsczpsfTtpZihyLmluZGV4PDB8fHIuaW5kZXg+dC5sZW5ndGgtMSl7bGV0IHU9TyhNYXRoLnNpZ24oci5pbmRleC1lLnNlbGVjdGVkSW5kZXgpLHtbLTFdOigpPT4xLFswXTooKT0+TyhNYXRoLnNpZ24oci5pbmRleCkse1stMV06KCk9PjAsWzBdOigpPT4wLFsxXTooKT0+MX0pLFsxXTooKT0+MH0pO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbjtsZXQgVD1PKHUse1swXTooKT0+dC5pbmRleE9mKGFbMF0pLFsxXTooKT0+dC5pbmRleE9mKGFbYS5sZW5ndGgtMV0pfSk7cmV0dXJuey4uLm4sc2VsZWN0ZWRJbmRleDpUPT09LTE/ZS5zZWxlY3RlZEluZGV4OlR9fWxldCBzPXQuc2xpY2UoMCxyLmluZGV4KSxiPVsuLi50LnNsaWNlKHIuaW5kZXgpLC4uLnNdLmZpbmQodT0+YS5pbmNsdWRlcyh1KSk7aWYoIWIpcmV0dXJuIG47bGV0IGY9KGQ9dC5pbmRleE9mKGIpKSE9bnVsbD9kOmUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZj09PS0xJiYoZj1lLnNlbGVjdGVkSW5kZXgpLHsuLi5uLHNlbGVjdGVkSW5kZXg6Zn19LFsxXShlLHIpe2lmKGUudGFicy5pbmNsdWRlcyhyLnRhYikpcmV0dXJuIGU7bGV0IHQ9ZS50YWJzW2Uuc2VsZWN0ZWRJbmRleF0sbD13KFsuLi5lLnRhYnMsci50YWJdLG49Pm4uY3VycmVudCksYT1lLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGUuaW5mby5jdXJyZW50LmlzQ29udHJvbGxlZHx8KGE9bC5pbmRleE9mKHQpLGE9PT0tMSYmKGE9ZS5zZWxlY3RlZEluZGV4KSksey4uLmUsdGFiczpsLHNlbGVjdGVkSW5kZXg6YX19LFsyXShlLHIpe3JldHVybnsuLi5lLHRhYnM6ZS50YWJzLmZpbHRlcih0PT50IT09ci50YWIpfX0sWzNdKGUscil7cmV0dXJuIGUucGFuZWxzLmluY2x1ZGVzKHIucGFuZWwpP2U6ey4uLmUscGFuZWxzOncoWy4uLmUucGFuZWxzLHIucGFuZWxdLHQ9PnQuY3VycmVudCl9fSxbNF0oZSxyKXtyZXR1cm57Li4uZSxwYW5lbHM6ZS5wYW5lbHMuZmlsdGVyKHQ9PnQhPT1yLnBhbmVsKX19fSxWPWFlKG51bGwpO1YuZGlzcGxheU5hbWU9XCJUYWJzRGF0YUNvbnRleHRcIjtmdW5jdGlvbiBDKGUpe2xldCByPWxlKFYpO2lmKHI9PT1udWxsKXtsZXQgdD1uZXcgRXJyb3IoYDwke2V9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPFRhYi5Hcm91cCAvPiBjb21wb25lbnQuYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsQyksdH1yZXR1cm4gcn1sZXQgUT1hZShudWxsKTtRLmRpc3BsYXlOYW1lPVwiVGFic0FjdGlvbnNDb250ZXh0XCI7ZnVuY3Rpb24gWShlKXtsZXQgcj1sZShRKTtpZihyPT09bnVsbCl7bGV0IHQ9bmV3IEVycm9yKGA8JHtlfSAvPiBpcyBtaXNzaW5nIGEgcGFyZW50IDxUYWIuR3JvdXAgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0LFkpLHR9cmV0dXJuIHJ9ZnVuY3Rpb24gRmUoZSxyKXtyZXR1cm4gTyhyLnR5cGUsU2UsZSxyKX1sZXQgSWU9XCJkaXZcIjtmdW5jdGlvbiBoZShlLHIpe2xldHtkZWZhdWx0SW5kZXg6dD0wLHZlcnRpY2FsOmw9ITEsbWFudWFsOmE9ITEsb25DaGFuZ2U6bixzZWxlY3RlZEluZGV4OnM9bnVsbCwuLi5nfT1lO2NvbnN0IGI9bD9cInZlcnRpY2FsXCI6XCJob3Jpem9udGFsXCIsZj1hP1wibWFudWFsXCI6XCJhdXRvXCI7bGV0IGQ9cyE9PW51bGwsdT1XKHtpc0NvbnRyb2xsZWQ6ZH0pLFQ9SChyKSxbcCxjXT1iZShGZSx7aW5mbzp1LHNlbGVjdGVkSW5kZXg6cyE9bnVsbD9zOnQsdGFiczpbXSxwYW5lbHM6W119KSxoPUYoKCk9Pih7c2VsZWN0ZWRJbmRleDpwLnNlbGVjdGVkSW5kZXh9KSxbcC5zZWxlY3RlZEluZGV4XSksbT1XKG58fCgoKT0+e30pKSxNPVcocC50YWJzKSxTPUYoKCk9Pih7b3JpZW50YXRpb246YixhY3RpdmF0aW9uOmYsLi4ucH0pLFtiLGYscF0pLFA9SShpPT4oYyh7dHlwZToxLHRhYjppfSksKCk9PmMoe3R5cGU6Mix0YWI6aX0pKSksQT1JKGk9PihjKHt0eXBlOjMscGFuZWw6aX0pLCgpPT5jKHt0eXBlOjQscGFuZWw6aX0pKSksRT1JKGk9PntfLmN1cnJlbnQhPT1pJiZtLmN1cnJlbnQoaSksZHx8Yyh7dHlwZTowLGluZGV4Oml9KX0pLF89VyhkP2Uuc2VsZWN0ZWRJbmRleDpwLnNlbGVjdGVkSW5kZXgpLEQ9RigoKT0+KHtyZWdpc3RlclRhYjpQLHJlZ2lzdGVyUGFuZWw6QSxjaGFuZ2U6RX0pLFtdKTtCKCgpPT57Yyh7dHlwZTowLGluZGV4OnMhPW51bGw/czp0fSl9LFtzXSksQigoKT0+e2lmKF8uY3VycmVudD09PXZvaWQgMHx8cC50YWJzLmxlbmd0aDw9MClyZXR1cm47bGV0IGk9dyhwLnRhYnMsUj0+Ui5jdXJyZW50KTtpLnNvbWUoKFIsWCk9PnAudGFic1tYXSE9PVIpJiZFKGkuaW5kZXhPZihwLnRhYnNbXy5jdXJyZW50XSkpfSk7bGV0IEs9e3JlZjpUfSxKPWsoKTtyZXR1cm4gVS5jcmVhdGVFbGVtZW50KFJlLG51bGwsVS5jcmVhdGVFbGVtZW50KFEuUHJvdmlkZXIse3ZhbHVlOkR9LFUuY3JlYXRlRWxlbWVudChWLlByb3ZpZGVyLHt2YWx1ZTpTfSxTLnRhYnMubGVuZ3RoPD0wJiZVLmNyZWF0ZUVsZW1lbnQoeGUse29uRm9jdXM6KCk9Pnt2YXIgaSxHO2ZvcihsZXQgUiBvZiBNLmN1cnJlbnQpaWYoKChpPVIuY3VycmVudCk9PW51bGw/dm9pZCAwOmkudGFiSW5kZXgpPT09MClyZXR1cm4oRz1SLmN1cnJlbnQpPT1udWxsfHxHLmZvY3VzKCksITA7cmV0dXJuITF9fSksSih7b3VyUHJvcHM6Syx0aGVpclByb3BzOmcsc2xvdDpoLGRlZmF1bHRUYWc6SWUsbmFtZTpcIlRhYnNcIn0pKSkpfWxldCB2ZT1cImRpdlwiO2Z1bmN0aW9uIENlKGUscil7bGV0e29yaWVudGF0aW9uOnQsc2VsZWN0ZWRJbmRleDpsfT1DKFwiVGFiLkxpc3RcIiksYT1IKHIpLG49RigoKT0+KHtzZWxlY3RlZEluZGV4Omx9KSxbbF0pLHM9ZSxnPXtyZWY6YSxyb2xlOlwidGFibGlzdFwiLFwiYXJpYS1vcmllbnRhdGlvblwiOnR9O3JldHVybiBrKCkoe291clByb3BzOmcsdGhlaXJQcm9wczpzLHNsb3Q6bixkZWZhdWx0VGFnOnZlLG5hbWU6XCJUYWJzLkxpc3RcIn0pfWxldCBNZT1cImJ1dHRvblwiO2Z1bmN0aW9uIEdlKGUscil7dmFyIGVlLHRlO2xldCB0PW9lKCkse2lkOmw9YGhlYWRsZXNzdWktdGFicy10YWItJHt0fWAsZGlzYWJsZWQ6YT0hMSxhdXRvRm9jdXM6bj0hMSwuLi5zfT1lLHtvcmllbnRhdGlvbjpnLGFjdGl2YXRpb246YixzZWxlY3RlZEluZGV4OmYsdGFiczpkLHBhbmVsczp1fT1DKFwiVGFiXCIpLFQ9WShcIlRhYlwiKSxwPUMoXCJUYWJcIiksW2MsaF09bWUobnVsbCksbT16KG51bGwpLE09SChtLHIsaCk7QigoKT0+VC5yZWdpc3RlclRhYihtKSxbVCxtXSk7bGV0IFM9cGUoXCJ0YWJzXCIpLFA9ZC5pbmRleE9mKG0pO1A9PT0tMSYmKFA9Uyk7bGV0IEE9UD09PWYsRT1JKG89Pnt2YXIgJDtsZXQgTD1vKCk7aWYoTD09PWouU3VjY2VzcyYmYj09PVwiYXV0b1wiKXtsZXQgcT0oJD1FZShtKSk9PW51bGw/dm9pZCAwOiQuYWN0aXZlRWxlbWVudCxyZT1wLnRhYnMuZmluZEluZGV4KGNlPT5jZS5jdXJyZW50PT09cSk7cmUhPT0tMSYmVC5jaGFuZ2UocmUpfXJldHVybiBMfSksXz1JKG89PntsZXQgTD1kLm1hcChxPT5xLmN1cnJlbnQpLmZpbHRlcihCb29sZWFuKTtpZihvLmtleT09PXguU3BhY2V8fG8ua2V5PT09eC5FbnRlcil7by5wcmV2ZW50RGVmYXVsdCgpLG8uc3RvcFByb3BhZ2F0aW9uKCksVC5jaGFuZ2UoUCk7cmV0dXJufXN3aXRjaChvLmtleSl7Y2FzZSB4LkhvbWU6Y2FzZSB4LlBhZ2VVcDpyZXR1cm4gby5wcmV2ZW50RGVmYXVsdCgpLG8uc3RvcFByb3BhZ2F0aW9uKCksRSgoKT0+dihMLHkuRmlyc3QpKTtjYXNlIHguRW5kOmNhc2UgeC5QYWdlRG93bjpyZXR1cm4gby5wcmV2ZW50RGVmYXVsdCgpLG8uc3RvcFByb3BhZ2F0aW9uKCksRSgoKT0+dihMLHkuTGFzdCkpfWlmKEUoKCk9Pk8oZyx7dmVydGljYWwoKXtyZXR1cm4gby5rZXk9PT14LkFycm93VXA/dihMLHkuUHJldmlvdXN8eS5XcmFwQXJvdW5kKTpvLmtleT09PXguQXJyb3dEb3duP3YoTCx5Lk5leHR8eS5XcmFwQXJvdW5kKTpqLkVycm9yfSxob3Jpem9udGFsKCl7cmV0dXJuIG8ua2V5PT09eC5BcnJvd0xlZnQ/dihMLHkuUHJldmlvdXN8eS5XcmFwQXJvdW5kKTpvLmtleT09PXguQXJyb3dSaWdodD92KEwseS5OZXh0fHkuV3JhcEFyb3VuZCk6ai5FcnJvcn19KSk9PT1qLlN1Y2Nlc3MpcmV0dXJuIG8ucHJldmVudERlZmF1bHQoKX0pLEQ9eighMSksSz1JKCgpPT57dmFyIG87RC5jdXJyZW50fHwoRC5jdXJyZW50PSEwLChvPW0uY3VycmVudCk9PW51bGx8fG8uZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KSxULmNoYW5nZShQKSxBZSgoKT0+e0QuY3VycmVudD0hMX0pKX0pLEo9SShvPT57by5wcmV2ZW50RGVmYXVsdCgpfSkse2lzRm9jdXNWaXNpYmxlOmksZm9jdXNQcm9wczpHfT1uZSh7YXV0b0ZvY3VzOm59KSx7aXNIb3ZlcmVkOlIsaG92ZXJQcm9wczpYfT1mZSh7aXNEaXNhYmxlZDphfSkse3ByZXNzZWQ6WixwcmVzc1Byb3BzOnVlfT1QZSh7ZGlzYWJsZWQ6YX0pLFRlPUYoKCk9Pih7c2VsZWN0ZWQ6QSxob3ZlcjpSLGFjdGl2ZTpaLGZvY3VzOmksYXV0b2ZvY3VzOm4sZGlzYWJsZWQ6YX0pLFtBLFIsaSxaLG4sYV0pLGRlPWllKHtyZWY6TSxvbktleURvd246Xyxvbk1vdXNlRG93bjpKLG9uQ2xpY2s6SyxpZDpsLHJvbGU6XCJ0YWJcIix0eXBlOnllKGUsYyksXCJhcmlhLWNvbnRyb2xzXCI6KHRlPShlZT11W1BdKT09bnVsbD92b2lkIDA6ZWUuY3VycmVudCk9PW51bGw/dm9pZCAwOnRlLmlkLFwiYXJpYS1zZWxlY3RlZFwiOkEsdGFiSW5kZXg6QT8wOi0xLGRpc2FibGVkOmF8fHZvaWQgMCxhdXRvRm9jdXM6bn0sRyxYLHVlKTtyZXR1cm4gaygpKHtvdXJQcm9wczpkZSx0aGVpclByb3BzOnMsc2xvdDpUZSxkZWZhdWx0VGFnOk1lLG5hbWU6XCJUYWJzLlRhYlwifSl9bGV0IFVlPVwiZGl2XCI7ZnVuY3Rpb24gSGUoZSxyKXtsZXR7c2VsZWN0ZWRJbmRleDp0fT1DKFwiVGFiLlBhbmVsc1wiKSxsPUgociksYT1GKCgpPT4oe3NlbGVjdGVkSW5kZXg6dH0pLFt0XSksbj1lLHM9e3JlZjpsfTtyZXR1cm4gaygpKHtvdXJQcm9wczpzLHRoZWlyUHJvcHM6bixzbG90OmEsZGVmYXVsdFRhZzpVZSxuYW1lOlwiVGFicy5QYW5lbHNcIn0pfWxldCB3ZT1cImRpdlwiLE9lPXNlLlJlbmRlclN0cmF0ZWd5fHNlLlN0YXRpYztmdW5jdGlvbiBOZShlLHIpe3ZhciBBLEUsXyxEO2xldCB0PW9lKCkse2lkOmw9YGhlYWRsZXNzdWktdGFicy1wYW5lbC0ke3R9YCx0YWJJbmRleDphPTAsLi4ubn09ZSx7c2VsZWN0ZWRJbmRleDpzLHRhYnM6ZyxwYW5lbHM6Yn09QyhcIlRhYi5QYW5lbFwiKSxmPVkoXCJUYWIuUGFuZWxcIiksZD16KG51bGwpLHU9SChkLHIpO0IoKCk9PmYucmVnaXN0ZXJQYW5lbChkKSxbZixkXSk7bGV0IFQ9cGUoXCJwYW5lbHNcIikscD1iLmluZGV4T2YoZCk7cD09PS0xJiYocD1UKTtsZXQgYz1wPT09cyx7aXNGb2N1c1Zpc2libGU6aCxmb2N1c1Byb3BzOm19PW5lKCksTT1GKCgpPT4oe3NlbGVjdGVkOmMsZm9jdXM6aH0pLFtjLGhdKSxTPWllKHtyZWY6dSxpZDpsLHJvbGU6XCJ0YWJwYW5lbFwiLFwiYXJpYS1sYWJlbGxlZGJ5XCI6KEU9KEE9Z1twXSk9PW51bGw/dm9pZCAwOkEuY3VycmVudCk9PW51bGw/dm9pZCAwOkUuaWQsdGFiSW5kZXg6Yz9hOi0xfSxtKSxQPWsoKTtyZXR1cm4hYyYmKChfPW4udW5tb3VudCk9PW51bGx8fF8pJiYhKChEPW4uc3RhdGljKSE9bnVsbCYmRCk/VS5jcmVhdGVFbGVtZW50KGdlLHtcImFyaWEtaGlkZGVuXCI6XCJ0cnVlXCIsLi4uU30pOlAoe291clByb3BzOlMsdGhlaXJQcm9wczpuLHNsb3Q6TSxkZWZhdWx0VGFnOndlLGZlYXR1cmVzOk9lLHZpc2libGU6YyxuYW1lOlwiVGFicy5QYW5lbFwifSl9bGV0IGtlPU4oR2UpLEJlPU4oaGUpLFdlPU4oQ2UpLGplPU4oSGUpLEtlPU4oTmUpLFR0PU9iamVjdC5hc3NpZ24oa2Use0dyb3VwOkJlLExpc3Q6V2UsUGFuZWxzOmplLFBhbmVsOktlfSk7ZXhwb3J0e1R0IGFzIFRhYixCZSBhcyBUYWJHcm91cCxXZSBhcyBUYWJMaXN0LEtlIGFzIFRhYlBhbmVsLGplIGFzIFRhYlBhbmVsc307XG4iXSwibmFtZXMiOlsidXNlRm9jdXNSaW5nIiwibmUiLCJ1c2VIb3ZlciIsImZlIiwiVSIsImNyZWF0ZUNvbnRleHQiLCJhZSIsInVzZUNvbnRleHQiLCJsZSIsInVzZU1lbW8iLCJGIiwidXNlUmVkdWNlciIsImJlIiwidXNlUmVmIiwieiIsInVzZVN0YXRlIiwibWUiLCJ1c2VBY3RpdmVQcmVzcyIsIlBlIiwidXNlRXZlbnQiLCJJIiwidXNlSWQiLCJvZSIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJCIiwidXNlTGF0ZXN0VmFsdWUiLCJXIiwidXNlUmVzb2x2ZUJ1dHRvblR5cGUiLCJ5ZSIsInVzZVN5bmNSZWZzIiwiSCIsIkZvY3VzU2VudGluZWwiLCJ4ZSIsIkhpZGRlbiIsImdlIiwiRm9jdXMiLCJ5IiwiRm9jdXNSZXN1bHQiLCJqIiwiZm9jdXNJbiIsInYiLCJzb3J0QnlEb21Ob2RlIiwidyIsIm1hdGNoIiwiTyIsIm1pY3JvVGFzayIsIkFlIiwiZ2V0T3duZXJEb2N1bWVudCIsIkVlIiwiUmVuZGVyRmVhdHVyZXMiLCJzZSIsImZvcndhcmRSZWZXaXRoQXMiLCJOIiwibWVyZ2VQcm9wcyIsImllIiwidXNlUmVuZGVyIiwiayIsIlN0YWJsZUNvbGxlY3Rpb24iLCJSZSIsInVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCIsInBlIiwiS2V5cyIsIngiLCJMZSIsInQiLCJGb3J3YXJkcyIsIkJhY2t3YXJkcyIsIl9lIiwibCIsIkxlc3MiLCJFcXVhbCIsIkdyZWF0ZXIiLCJEZSIsIm4iLCJTZXRTZWxlY3RlZEluZGV4IiwiUmVnaXN0ZXJUYWIiLCJVbnJlZ2lzdGVyVGFiIiwiUmVnaXN0ZXJQYW5lbCIsIlVucmVnaXN0ZXJQYW5lbCIsIlNlIiwiZSIsInIiLCJkIiwidGFicyIsInUiLCJjdXJyZW50IiwicGFuZWxzIiwiYSIsImZpbHRlciIsIlQiLCJoYXNBdHRyaWJ1dGUiLCJpbmRleCIsImxlbmd0aCIsIk1hdGgiLCJzaWduIiwic2VsZWN0ZWRJbmRleCIsImluZGV4T2YiLCJzIiwic2xpY2UiLCJiIiwiZmluZCIsImluY2x1ZGVzIiwiZiIsInRhYiIsImluZm8iLCJpc0NvbnRyb2xsZWQiLCJwYW5lbCIsIlYiLCJkaXNwbGF5TmFtZSIsIkMiLCJFcnJvciIsImNhcHR1cmVTdGFja1RyYWNlIiwiUSIsIlkiLCJGZSIsInR5cGUiLCJJZSIsImhlIiwiZGVmYXVsdEluZGV4IiwidmVydGljYWwiLCJtYW51YWwiLCJvbkNoYW5nZSIsImciLCJwIiwiYyIsImgiLCJtIiwiTSIsIlMiLCJvcmllbnRhdGlvbiIsImFjdGl2YXRpb24iLCJQIiwiaSIsIkEiLCJFIiwiXyIsIkQiLCJyZWdpc3RlclRhYiIsInJlZ2lzdGVyUGFuZWwiLCJjaGFuZ2UiLCJSIiwic29tZSIsIlgiLCJLIiwicmVmIiwiSiIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsInZhbHVlIiwib25Gb2N1cyIsIkciLCJ0YWJJbmRleCIsImZvY3VzIiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwidmUiLCJDZSIsInJvbGUiLCJNZSIsIkdlIiwiZWUiLCJ0ZSIsImlkIiwiZGlzYWJsZWQiLCJhdXRvRm9jdXMiLCJvIiwiJCIsIkwiLCJTdWNjZXNzIiwicSIsImFjdGl2ZUVsZW1lbnQiLCJyZSIsImZpbmRJbmRleCIsImNlIiwibWFwIiwiQm9vbGVhbiIsImtleSIsIlNwYWNlIiwiRW50ZXIiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIkhvbWUiLCJQYWdlVXAiLCJGaXJzdCIsIkVuZCIsIlBhZ2VEb3duIiwiTGFzdCIsIkFycm93VXAiLCJQcmV2aW91cyIsIldyYXBBcm91bmQiLCJBcnJvd0Rvd24iLCJOZXh0IiwiaG9yaXpvbnRhbCIsIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJwcmV2ZW50U2Nyb2xsIiwiaXNGb2N1c1Zpc2libGUiLCJmb2N1c1Byb3BzIiwiaXNIb3ZlcmVkIiwiaG92ZXJQcm9wcyIsImlzRGlzYWJsZWQiLCJwcmVzc2VkIiwiWiIsInByZXNzUHJvcHMiLCJ1ZSIsIlRlIiwic2VsZWN0ZWQiLCJob3ZlciIsImFjdGl2ZSIsImF1dG9mb2N1cyIsImRlIiwib25LZXlEb3duIiwib25Nb3VzZURvd24iLCJvbkNsaWNrIiwiVWUiLCJIZSIsIndlIiwiT2UiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsIk5lIiwidW5tb3VudCIsInN0YXRpYyIsImZlYXR1cmVzIiwidmlzaWJsZSIsImtlIiwiQmUiLCJXZSIsImplIiwiS2UiLCJUdCIsIk9iamVjdCIsImFzc2lnbiIsIkdyb3VwIiwiTGlzdCIsIlBhbmVscyIsIlBhbmVsIiwiVGFiIiwiVGFiR3JvdXAiLCJUYWJMaXN0IiwiVGFiUGFuZWwiLCJUYWJQYW5lbHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/components/tabs/tabs.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js":
 | 
						||
/*!****************************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 ({ doc: e }) {\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 ({ doc: e, d: o }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L2FkanVzdC1zY3JvbGxiYXItcGFkZGluZy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FBU0E7SUFBSSxJQUFJQztJQUFFLE9BQU07UUFBQ0MsUUFBTyxFQUFDQyxLQUFJQyxDQUFDLEVBQUM7WUFBRSxJQUFJQztZQUFFLElBQUlDLElBQUVGLEVBQUVHLGVBQWUsRUFBQ0MsSUFBRSxDQUFDSCxJQUFFRCxFQUFFSyxXQUFXLEtBQUcsT0FBS0osSUFBRUs7WUFBT1QsSUFBRVUsS0FBS0MsR0FBRyxDQUFDLEdBQUVKLEVBQUVLLFVBQVUsR0FBQ1AsRUFBRVEsV0FBVztRQUFDO1FBQUVDLE9BQU0sRUFBQ1osS0FBSUMsQ0FBQyxFQUFDSixHQUFFTSxDQUFDLEVBQUM7WUFBRSxJQUFJRSxJQUFFSixFQUFFRyxlQUFlLEVBQUNGLElBQUVNLEtBQUtDLEdBQUcsQ0FBQyxHQUFFSixFQUFFTSxXQUFXLEdBQUNOLEVBQUVRLFdBQVcsR0FBRUMsSUFBRU4sS0FBS0MsR0FBRyxDQUFDLEdBQUVYLElBQUVJO1lBQUdDLEVBQUVZLEtBQUssQ0FBQ1YsR0FBRSxnQkFBZSxDQUFDLEVBQUVTLEVBQUUsRUFBRSxDQUFDO1FBQUM7SUFBQztBQUFDO0FBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L2FkanVzdC1zY3JvbGxiYXItcGFkZGluZy5qcz8wNjdlIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGQoKXtsZXQgcjtyZXR1cm57YmVmb3JlKHtkb2M6ZX0pe3ZhciBsO2xldCBvPWUuZG9jdW1lbnRFbGVtZW50LHQ9KGw9ZS5kZWZhdWx0VmlldykhPW51bGw/bDp3aW5kb3c7cj1NYXRoLm1heCgwLHQuaW5uZXJXaWR0aC1vLmNsaWVudFdpZHRoKX0sYWZ0ZXIoe2RvYzplLGQ6b30pe2xldCB0PWUuZG9jdW1lbnRFbGVtZW50LGw9TWF0aC5tYXgoMCx0LmNsaWVudFdpZHRoLXQub2Zmc2V0V2lkdGgpLG49TWF0aC5tYXgoMCxyLWwpO28uc3R5bGUodCxcInBhZGRpbmdSaWdodFwiLGAke259cHhgKX19fWV4cG9ydHtkIGFzIGFkanVzdFNjcm9sbGJhclBhZGRpbmd9O1xuIl0sIm5hbWVzIjpbImQiLCJyIiwiYmVmb3JlIiwiZG9jIiwiZSIsImwiLCJvIiwiZG9jdW1lbnRFbGVtZW50IiwidCIsImRlZmF1bHRWaWV3Iiwid2luZG93IiwiTWF0aCIsIm1heCIsImlubmVyV2lkdGgiLCJjbGllbnRXaWR0aCIsImFmdGVyIiwib2Zmc2V0V2lkdGgiLCJuIiwic3R5bGUiLCJhZGp1c3RTY3JvbGxiYXJQYWRkaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js":
 | 
						||
/*!**********************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ w; }\n/* harmony export */ });\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/disposables.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/platform.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/platform.js\");\n\n\n\nfunction w() {\n    return (0,_utils_platform_js__WEBPACK_IMPORTED_MODULE_0__.isIOS)() ? {\n        before ({ doc: n, d: l, meta: f }) {\n            function i(a) {\n                return f.containers.flatMap((r)=>r()).some((r)=>r.contains(a));\n            }\n            l.microTask(()=>{\n                var c;\n                if (window.getComputedStyle(n.documentElement).scrollBehavior !== \"auto\") {\n                    let t = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables)();\n                    t.style(n.documentElement, \"scrollBehavior\", \"auto\"), l.add(()=>l.microTask(()=>t.dispose()));\n                }\n                let a = (c = window.scrollY) != null ? c : window.pageYOffset, r = null;\n                l.addEventListener(n, \"click\", (t)=>{\n                    if (_utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLorSVGElement(t.target)) try {\n                        let e = t.target.closest(\"a\");\n                        if (!e) return;\n                        let { hash: m } = new URL(e.href), s = n.querySelector(m);\n                        _utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLorSVGElement(s) && !i(s) && (r = s);\n                    } catch  {}\n                }, !0), l.addEventListener(n, \"touchstart\", (t)=>{\n                    if (_utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLorSVGElement(t.target) && _utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.hasInlineStyle(t.target)) if (i(t.target)) {\n                        let e = t.target;\n                        for(; e.parentElement && i(e.parentElement);)e = e.parentElement;\n                        l.style(e, \"overscrollBehavior\", \"contain\");\n                    } else l.style(t.target, \"touchAction\", \"none\");\n                }), l.addEventListener(n, \"touchmove\", (t)=>{\n                    if (_utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLorSVGElement(t.target)) {\n                        if (_utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLInputElement(t.target)) return;\n                        if (i(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                }), l.add(()=>{\n                    var e;\n                    let t = (e = window.scrollY) != null ? e : window.pageYOffset;\n                    a !== t && window.scrollTo(0, a), r && r.isConnected && (r.scrollIntoView({\n                        block: \"nearest\"\n                    }), r = null);\n                });\n            });\n        }\n    } : {};\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L2hhbmRsZS1pb3MtbG9ja2luZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXlEO0FBQXFDO0FBQWdEO0FBQUEsU0FBU0s7SUFBSSxPQUFPRCx5REFBQ0EsS0FBRztRQUFDRSxRQUFPLEVBQUNDLEtBQUlDLENBQUMsRUFBQ0MsR0FBRUMsQ0FBQyxFQUFDQyxNQUFLQyxDQUFDLEVBQUM7WUFBRSxTQUFTQyxFQUFFQyxDQUFDO2dCQUFFLE9BQU9GLEVBQUVHLFVBQVUsQ0FBQ0MsT0FBTyxDQUFDQyxDQUFBQSxJQUFHQSxLQUFLQyxJQUFJLENBQUNELENBQUFBLElBQUdBLEVBQUVFLFFBQVEsQ0FBQ0w7WUFBRztZQUFDSixFQUFFVSxTQUFTLENBQUM7Z0JBQUssSUFBSUM7Z0JBQUUsSUFBR0MsT0FBT0MsZ0JBQWdCLENBQUNmLEVBQUVnQixlQUFlLEVBQUVDLGNBQWMsS0FBRyxRQUFPO29CQUFDLElBQUlDLElBQUV6QixrRUFBQ0E7b0JBQUd5QixFQUFFQyxLQUFLLENBQUNuQixFQUFFZ0IsZUFBZSxFQUFDLGtCQUFpQixTQUFRZCxFQUFFa0IsR0FBRyxDQUFDLElBQUlsQixFQUFFVSxTQUFTLENBQUMsSUFBSU0sRUFBRUcsT0FBTztnQkFBSTtnQkFBQyxJQUFJZixJQUFFLENBQUNPLElBQUVDLE9BQU9RLE9BQU8sS0FBRyxPQUFLVCxJQUFFQyxPQUFPUyxXQUFXLEVBQUNkLElBQUU7Z0JBQUtQLEVBQUVzQixnQkFBZ0IsQ0FBQ3hCLEdBQUUsU0FBUWtCLENBQUFBO29CQUFJLElBQUd4Qiw2REFBb0IsQ0FBQ3dCLEVBQUVRLE1BQU0sR0FBRSxJQUFHO3dCQUFDLElBQUlDLElBQUVULEVBQUVRLE1BQU0sQ0FBQ0UsT0FBTyxDQUFDO3dCQUFLLElBQUcsQ0FBQ0QsR0FBRTt3QkFBTyxJQUFHLEVBQUNFLE1BQUtDLENBQUMsRUFBQyxHQUFDLElBQUlDLElBQUlKLEVBQUVLLElBQUksR0FBRUMsSUFBRWpDLEVBQUVrQyxhQUFhLENBQUNKO3dCQUFHcEMsNkRBQW9CLENBQUN1QyxNQUFJLENBQUM1QixFQUFFNEIsTUFBS3hCLENBQUFBLElBQUV3QixDQUFBQTtvQkFBRSxFQUFDLE9BQUssQ0FBQztnQkFBQyxHQUFFLENBQUMsSUFBRy9CLEVBQUVzQixnQkFBZ0IsQ0FBQ3hCLEdBQUUsY0FBYWtCLENBQUFBO29CQUFJLElBQUd4Qiw2REFBb0IsQ0FBQ3dCLEVBQUVRLE1BQU0sS0FBR2hDLHlEQUFnQixDQUFDd0IsRUFBRVEsTUFBTSxHQUFFLElBQUdyQixFQUFFYSxFQUFFUSxNQUFNLEdBQUU7d0JBQUMsSUFBSUMsSUFBRVQsRUFBRVEsTUFBTTt3QkFBQyxNQUFLQyxFQUFFUyxhQUFhLElBQUUvQixFQUFFc0IsRUFBRVMsYUFBYSxHQUFHVCxJQUFFQSxFQUFFUyxhQUFhO3dCQUFDbEMsRUFBRWlCLEtBQUssQ0FBQ1EsR0FBRSxzQkFBcUI7b0JBQVUsT0FBTXpCLEVBQUVpQixLQUFLLENBQUNELEVBQUVRLE1BQU0sRUFBQyxlQUFjO2dCQUFPLElBQUd4QixFQUFFc0IsZ0JBQWdCLENBQUN4QixHQUFFLGFBQVlrQixDQUFBQTtvQkFBSSxJQUFHeEIsNkRBQW9CLENBQUN3QixFQUFFUSxNQUFNLEdBQUU7d0JBQUMsSUFBR2hDLDZEQUFvQixDQUFDd0IsRUFBRVEsTUFBTSxHQUFFO3dCQUFPLElBQUdyQixFQUFFYSxFQUFFUSxNQUFNLEdBQUU7NEJBQUMsSUFBSUMsSUFBRVQsRUFBRVEsTUFBTTs0QkFBQyxNQUFLQyxFQUFFUyxhQUFhLElBQUVULEVBQUVXLE9BQU8sQ0FBQ0MsZ0JBQWdCLEtBQUcsTUFBSSxDQUFFWixDQUFBQSxFQUFFYSxZQUFZLEdBQUNiLEVBQUVjLFlBQVksSUFBRWQsRUFBRWUsV0FBVyxHQUFDZixFQUFFZ0IsV0FBVyxHQUFHaEIsSUFBRUEsRUFBRVMsYUFBYTs0QkFBQ1QsRUFBRVcsT0FBTyxDQUFDQyxnQkFBZ0IsS0FBRyxNQUFJckIsRUFBRTBCLGNBQWM7d0JBQUUsT0FBTTFCLEVBQUUwQixjQUFjO29CQUFFO2dCQUFDLEdBQUU7b0JBQUNDLFNBQVEsQ0FBQztnQkFBQyxJQUFHM0MsRUFBRWtCLEdBQUcsQ0FBQztvQkFBSyxJQUFJTztvQkFBRSxJQUFJVCxJQUFFLENBQUNTLElBQUViLE9BQU9RLE9BQU8sS0FBRyxPQUFLSyxJQUFFYixPQUFPUyxXQUFXO29CQUFDakIsTUFBSVksS0FBR0osT0FBT2dDLFFBQVEsQ0FBQyxHQUFFeEMsSUFBR0csS0FBR0EsRUFBRXNDLFdBQVcsSUFBR3RDLENBQUFBLEVBQUV1QyxjQUFjLENBQUM7d0JBQUNDLE9BQU07b0JBQVMsSUFBR3hDLElBQUUsSUFBRztnQkFBRTtZQUFFO1FBQUU7SUFBQyxJQUFFLENBQUM7QUFBQztBQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy9kb2N1bWVudC1vdmVyZmxvdy9oYW5kbGUtaW9zLWxvY2tpbmcuanM/NmFjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7ZGlzcG9zYWJsZXMgYXMgdX1mcm9tJy4uLy4uL3V0aWxzL2Rpc3Bvc2FibGVzLmpzJztpbXBvcnQqYXMgbyBmcm9tJy4uLy4uL3V0aWxzL2RvbS5qcyc7aW1wb3J0e2lzSU9TIGFzIHB9ZnJvbScuLi8uLi91dGlscy9wbGF0Zm9ybS5qcyc7ZnVuY3Rpb24gdygpe3JldHVybiBwKCk/e2JlZm9yZSh7ZG9jOm4sZDpsLG1ldGE6Zn0pe2Z1bmN0aW9uIGkoYSl7cmV0dXJuIGYuY29udGFpbmVycy5mbGF0TWFwKHI9PnIoKSkuc29tZShyPT5yLmNvbnRhaW5zKGEpKX1sLm1pY3JvVGFzaygoKT0+e3ZhciBjO2lmKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG4uZG9jdW1lbnRFbGVtZW50KS5zY3JvbGxCZWhhdmlvciE9PVwiYXV0b1wiKXtsZXQgdD11KCk7dC5zdHlsZShuLmRvY3VtZW50RWxlbWVudCxcInNjcm9sbEJlaGF2aW9yXCIsXCJhdXRvXCIpLGwuYWRkKCgpPT5sLm1pY3JvVGFzaygoKT0+dC5kaXNwb3NlKCkpKX1sZXQgYT0oYz13aW5kb3cuc2Nyb2xsWSkhPW51bGw/Yzp3aW5kb3cucGFnZVlPZmZzZXQscj1udWxsO2wuYWRkRXZlbnRMaXN0ZW5lcihuLFwiY2xpY2tcIix0PT57aWYoby5pc0hUTUxvclNWR0VsZW1lbnQodC50YXJnZXQpKXRyeXtsZXQgZT10LnRhcmdldC5jbG9zZXN0KFwiYVwiKTtpZighZSlyZXR1cm47bGV0e2hhc2g6bX09bmV3IFVSTChlLmhyZWYpLHM9bi5xdWVyeVNlbGVjdG9yKG0pO28uaXNIVE1Mb3JTVkdFbGVtZW50KHMpJiYhaShzKSYmKHI9cyl9Y2F0Y2h7fX0sITApLGwuYWRkRXZlbnRMaXN0ZW5lcihuLFwidG91Y2hzdGFydFwiLHQ9PntpZihvLmlzSFRNTG9yU1ZHRWxlbWVudCh0LnRhcmdldCkmJm8uaGFzSW5saW5lU3R5bGUodC50YXJnZXQpKWlmKGkodC50YXJnZXQpKXtsZXQgZT10LnRhcmdldDtmb3IoO2UucGFyZW50RWxlbWVudCYmaShlLnBhcmVudEVsZW1lbnQpOyllPWUucGFyZW50RWxlbWVudDtsLnN0eWxlKGUsXCJvdmVyc2Nyb2xsQmVoYXZpb3JcIixcImNvbnRhaW5cIil9ZWxzZSBsLnN0eWxlKHQudGFyZ2V0LFwidG91Y2hBY3Rpb25cIixcIm5vbmVcIil9KSxsLmFkZEV2ZW50TGlzdGVuZXIobixcInRvdWNobW92ZVwiLHQ9PntpZihvLmlzSFRNTG9yU1ZHRWxlbWVudCh0LnRhcmdldCkpe2lmKG8uaXNIVE1MSW5wdXRFbGVtZW50KHQudGFyZ2V0KSlyZXR1cm47aWYoaSh0LnRhcmdldCkpe2xldCBlPXQudGFyZ2V0O2Zvcig7ZS5wYXJlbnRFbGVtZW50JiZlLmRhdGFzZXQuaGVhZGxlc3N1aVBvcnRhbCE9PVwiXCImJiEoZS5zY3JvbGxIZWlnaHQ+ZS5jbGllbnRIZWlnaHR8fGUuc2Nyb2xsV2lkdGg+ZS5jbGllbnRXaWR0aCk7KWU9ZS5wYXJlbnRFbGVtZW50O2UuZGF0YXNldC5oZWFkbGVzc3VpUG9ydGFsPT09XCJcIiYmdC5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgdC5wcmV2ZW50RGVmYXVsdCgpfX0se3Bhc3NpdmU6ITF9KSxsLmFkZCgoKT0+e3ZhciBlO2xldCB0PShlPXdpbmRvdy5zY3JvbGxZKSE9bnVsbD9lOndpbmRvdy5wYWdlWU9mZnNldDthIT09dCYmd2luZG93LnNjcm9sbFRvKDAsYSksciYmci5pc0Nvbm5lY3RlZCYmKHIuc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOlwibmVhcmVzdFwifSkscj1udWxsKX0pfSl9fTp7fX1leHBvcnR7dyBhcyBoYW5kbGVJT1NMb2NraW5nfTtcbiJdLCJuYW1lcyI6WyJkaXNwb3NhYmxlcyIsInUiLCJvIiwiaXNJT1MiLCJwIiwidyIsImJlZm9yZSIsImRvYyIsIm4iLCJkIiwibCIsIm1ldGEiLCJmIiwiaSIsImEiLCJjb250YWluZXJzIiwiZmxhdE1hcCIsInIiLCJzb21lIiwiY29udGFpbnMiLCJtaWNyb1Rhc2siLCJjIiwid2luZG93IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImRvY3VtZW50RWxlbWVudCIsInNjcm9sbEJlaGF2aW9yIiwidCIsInN0eWxlIiwiYWRkIiwiZGlzcG9zZSIsInNjcm9sbFkiLCJwYWdlWU9mZnNldCIsImFkZEV2ZW50TGlzdGVuZXIiLCJpc0hUTUxvclNWR0VsZW1lbnQiLCJ0YXJnZXQiLCJlIiwiY2xvc2VzdCIsImhhc2giLCJtIiwiVVJMIiwiaHJlZiIsInMiLCJxdWVyeVNlbGVjdG9yIiwiaGFzSW5saW5lU3R5bGUiLCJwYXJlbnRFbGVtZW50IiwiaXNIVE1MSW5wdXRFbGVtZW50IiwiZGF0YXNldCIsImhlYWRsZXNzdWlQb3J0YWwiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwicHJldmVudERlZmF1bHQiLCJwYXNzaXZlIiwic2Nyb2xsVG8iLCJpc0Nvbm5lY3RlZCIsInNjcm9sbEludG9WaWV3IiwiYmxvY2siLCJoYW5kbGVJT1NMb2NraW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js":
 | 
						||
/*!******************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 ({ doc: e, d: n, meta: t }) {\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(({ before: r })=>r == null ? void 0 : r(o)), c.forEach(({ after: r })=>r == null ? void 0 : r(o));\n    },\n    SCROLL_ALLOW ({ d: e }) {\n        e.dispose();\n    },\n    TEARDOWN ({ doc: e }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L292ZXJmbG93LXN0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5RDtBQUFtRDtBQUF1RTtBQUEyRDtBQUFvRDtBQUFBLFNBQVNVLEVBQUVDLENBQUM7SUFBRSxJQUFJQyxJQUFFLENBQUM7SUFBRSxLQUFJLElBQUlDLEtBQUtGLEVBQUVHLE9BQU9DLE1BQU0sQ0FBQ0gsR0FBRUMsRUFBRUQ7SUFBSSxPQUFPQTtBQUFDO0FBQUMsSUFBSUksSUFBRWIsNERBQUNBLENBQUMsSUFBSSxJQUFJYyxLQUFJO0lBQUNDLE1BQUtQLENBQUMsRUFBQ0MsQ0FBQztRQUFFLElBQUlPO1FBQUUsSUFBSU4sSUFBRSxDQUFDTSxJQUFFLElBQUksQ0FBQ0MsR0FBRyxDQUFDVCxFQUFDLEtBQUksT0FBS1EsSUFBRTtZQUFDRSxLQUFJVjtZQUFFVyxPQUFNO1lBQUVmLEdBQUVOLGtFQUFDQTtZQUFHc0IsTUFBSyxJQUFJQztRQUFHO1FBQUUsT0FBT1gsRUFBRVMsS0FBSyxJQUFHVCxFQUFFVSxJQUFJLENBQUNFLEdBQUcsQ0FBQ2IsSUFBRyxJQUFJLENBQUNjLEdBQUcsQ0FBQ2YsR0FBRUUsSUFBRyxJQUFJO0lBQUE7SUFBRWMsS0FBSWhCLENBQUMsRUFBQ0MsQ0FBQztRQUFFLElBQUlDLElBQUUsSUFBSSxDQUFDTyxHQUFHLENBQUNUO1FBQUcsT0FBT0UsS0FBSUEsQ0FBQUEsRUFBRVMsS0FBSyxJQUFHVCxFQUFFVSxJQUFJLENBQUNLLE1BQU0sQ0FBQ2hCLEVBQUMsR0FBRyxJQUFJO0lBQUE7SUFBRWlCLGdCQUFlLEVBQUNSLEtBQUlWLENBQUMsRUFBQ0osR0FBRUssQ0FBQyxFQUFDVyxNQUFLVixDQUFDLEVBQUM7UUFBRSxJQUFJTSxJQUFFO1lBQUNFLEtBQUlWO1lBQUVKLEdBQUVLO1lBQUVXLE1BQUtiLEVBQUVHO1FBQUUsR0FBRWlCLElBQUU7WUFBQ3ZCLHdFQUFDQTtZQUFHRixvRkFBQ0E7WUFBR0ksaUVBQUNBO1NBQUc7UUFBQ3FCLEVBQUVDLE9BQU8sQ0FBQyxDQUFDLEVBQUNDLFFBQU9DLENBQUMsRUFBQyxHQUFHQSxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFZCxLQUFJVyxFQUFFQyxPQUFPLENBQUMsQ0FBQyxFQUFDRyxPQUFNRCxDQUFDLEVBQUMsR0FBR0EsS0FBRyxPQUFLLEtBQUssSUFBRUEsRUFBRWQ7SUFBRztJQUFFZ0IsY0FBYSxFQUFDNUIsR0FBRUksQ0FBQyxFQUFDO1FBQUVBLEVBQUV5QixPQUFPO0lBQUU7SUFBRUMsVUFBUyxFQUFDaEIsS0FBSVYsQ0FBQyxFQUFDO1FBQUUsSUFBSSxDQUFDaUIsTUFBTSxDQUFDakI7SUFBRTtBQUFDO0FBQUdLLEVBQUVzQixTQUFTLENBQUM7SUFBSyxJQUFJM0IsSUFBRUssRUFBRXVCLFdBQVcsSUFBRzNCLElBQUUsSUFBSUs7SUFBSSxLQUFJLElBQUcsQ0FBQ0osRUFBRSxJQUFHRixFQUFFQyxFQUFFYyxHQUFHLENBQUNiLEdBQUVBLEVBQUUyQixlQUFlLENBQUNDLEtBQUssQ0FBQ0MsUUFBUTtJQUFFLEtBQUksSUFBSTdCLEtBQUtGLEVBQUVnQyxNQUFNLEdBQUc7UUFBQyxJQUFJeEIsSUFBRVAsRUFBRVEsR0FBRyxDQUFDUCxFQUFFUSxHQUFHLE1BQUksVUFBU1MsSUFBRWpCLEVBQUVTLEtBQUssS0FBRztRQUFHUSxDQUFBQSxLQUFHLENBQUNYLEtBQUcsQ0FBQ1csS0FBR1gsQ0FBQUEsS0FBSUgsRUFBRTRCLFFBQVEsQ0FBQy9CLEVBQUVTLEtBQUssR0FBQyxJQUFFLG1CQUFpQixnQkFBZVQsSUFBR0EsRUFBRVMsS0FBSyxLQUFHLEtBQUdOLEVBQUU0QixRQUFRLENBQUMsWUFBVy9CO0lBQUU7QUFBQztBQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy9kb2N1bWVudC1vdmVyZmxvdy9vdmVyZmxvdy1zdG9yZS5qcz8xMDNmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtkaXNwb3NhYmxlcyBhcyBzfWZyb20nLi4vLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydHtjcmVhdGVTdG9yZSBhcyBpfWZyb20nLi4vLi4vdXRpbHMvc3RvcmUuanMnO2ltcG9ydHthZGp1c3RTY3JvbGxiYXJQYWRkaW5nIGFzIGx9ZnJvbScuL2FkanVzdC1zY3JvbGxiYXItcGFkZGluZy5qcyc7aW1wb3J0e2hhbmRsZUlPU0xvY2tpbmcgYXMgZH1mcm9tJy4vaGFuZGxlLWlvcy1sb2NraW5nLmpzJztpbXBvcnR7cHJldmVudFNjcm9sbCBhcyBwfWZyb20nLi9wcmV2ZW50LXNjcm9sbC5qcyc7ZnVuY3Rpb24gbShlKXtsZXQgbj17fTtmb3IobGV0IHQgb2YgZSlPYmplY3QuYXNzaWduKG4sdChuKSk7cmV0dXJuIG59bGV0IGE9aSgoKT0+bmV3IE1hcCx7UFVTSChlLG4pe3ZhciBvO2xldCB0PShvPXRoaXMuZ2V0KGUpKSE9bnVsbD9vOntkb2M6ZSxjb3VudDowLGQ6cygpLG1ldGE6bmV3IFNldH07cmV0dXJuIHQuY291bnQrKyx0Lm1ldGEuYWRkKG4pLHRoaXMuc2V0KGUsdCksdGhpc30sUE9QKGUsbil7bGV0IHQ9dGhpcy5nZXQoZSk7cmV0dXJuIHQmJih0LmNvdW50LS0sdC5tZXRhLmRlbGV0ZShuKSksdGhpc30sU0NST0xMX1BSRVZFTlQoe2RvYzplLGQ6bixtZXRhOnR9KXtsZXQgbz17ZG9jOmUsZDpuLG1ldGE6bSh0KX0sYz1bZCgpLGwoKSxwKCldO2MuZm9yRWFjaCgoe2JlZm9yZTpyfSk9PnI9PW51bGw/dm9pZCAwOnIobykpLGMuZm9yRWFjaCgoe2FmdGVyOnJ9KT0+cj09bnVsbD92b2lkIDA6cihvKSl9LFNDUk9MTF9BTExPVyh7ZDplfSl7ZS5kaXNwb3NlKCl9LFRFQVJET1dOKHtkb2M6ZX0pe3RoaXMuZGVsZXRlKGUpfX0pO2Euc3Vic2NyaWJlKCgpPT57bGV0IGU9YS5nZXRTbmFwc2hvdCgpLG49bmV3IE1hcDtmb3IobGV0W3Rdb2YgZSluLnNldCh0LHQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93KTtmb3IobGV0IHQgb2YgZS52YWx1ZXMoKSl7bGV0IG89bi5nZXQodC5kb2MpPT09XCJoaWRkZW5cIixjPXQuY291bnQhPT0wOyhjJiYhb3x8IWMmJm8pJiZhLmRpc3BhdGNoKHQuY291bnQ+MD9cIlNDUk9MTF9QUkVWRU5UXCI6XCJTQ1JPTExfQUxMT1dcIix0KSx0LmNvdW50PT09MCYmYS5kaXNwYXRjaChcIlRFQVJET1dOXCIsdCl9fSk7ZXhwb3J0e2EgYXMgb3ZlcmZsb3dzfTtcbiJdLCJuYW1lcyI6WyJkaXNwb3NhYmxlcyIsInMiLCJjcmVhdGVTdG9yZSIsImkiLCJhZGp1c3RTY3JvbGxiYXJQYWRkaW5nIiwibCIsImhhbmRsZUlPU0xvY2tpbmciLCJkIiwicHJldmVudFNjcm9sbCIsInAiLCJtIiwiZSIsIm4iLCJ0IiwiT2JqZWN0IiwiYXNzaWduIiwiYSIsIk1hcCIsIlBVU0giLCJvIiwiZ2V0IiwiZG9jIiwiY291bnQiLCJtZXRhIiwiU2V0IiwiYWRkIiwic2V0IiwiUE9QIiwiZGVsZXRlIiwiU0NST0xMX1BSRVZFTlQiLCJjIiwiZm9yRWFjaCIsImJlZm9yZSIsInIiLCJhZnRlciIsIlNDUk9MTF9BTExPVyIsImRpc3Bvc2UiLCJURUFSRE9XTiIsInN1YnNjcmliZSIsImdldFNuYXBzaG90IiwiZG9jdW1lbnRFbGVtZW50Iiwic3R5bGUiLCJvdmVyZmxvdyIsInZhbHVlcyIsImRpc3BhdGNoIiwib3ZlcmZsb3dzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js":
 | 
						||
/*!******************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 ({ doc: e, d: o }) {\n            o.style(e.documentElement, \"overflow\", \"hidden\");\n        }\n    };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L3ByZXZlbnQtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQTtJQUFJLE9BQU07UUFBQ0MsUUFBTyxFQUFDQyxLQUFJQyxDQUFDLEVBQUNDLEdBQUVDLENBQUMsRUFBQztZQUFFQSxFQUFFQyxLQUFLLENBQUNILEVBQUVJLGVBQWUsRUFBQyxZQUFXO1FBQVM7SUFBQztBQUFDO0FBQTRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L3ByZXZlbnQtc2Nyb2xsLmpzP2QxN2EiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gcigpe3JldHVybntiZWZvcmUoe2RvYzplLGQ6b30pe28uc3R5bGUoZS5kb2N1bWVudEVsZW1lbnQsXCJvdmVyZmxvd1wiLFwiaGlkZGVuXCIpfX19ZXhwb3J0e3IgYXMgcHJldmVudFNjcm9sbH07XG4iXSwibmFtZXMiOlsiciIsImJlZm9yZSIsImRvYyIsImUiLCJkIiwibyIsInN0eWxlIiwiZG9jdW1lbnRFbGVtZW50IiwicHJldmVudFNjcm9sbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js":
 | 
						||
/*!*************************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js\");\n\n\n\nfunction a(r, e, n = ()=>({\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL2RvY3VtZW50LW92ZXJmbG93L3VzZS1kb2N1bWVudC1vdmVyZmxvdy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW9EO0FBQW1FO0FBQWdEO0FBQUEsU0FBU00sRUFBRUMsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLElBQUUsSUFBSztRQUFDQyxZQUFXLEVBQUU7SUFBQSxFQUFFO0lBQUUsSUFBSUMsSUFBRVYsNkRBQUNBLENBQUNJLHlEQUFDQSxHQUFFTyxJQUFFSixJQUFFRyxFQUFFRSxHQUFHLENBQUNMLEtBQUcsS0FBSyxHQUFFTSxJQUFFRixJQUFFQSxFQUFFRyxLQUFLLEdBQUMsSUFBRSxDQUFDO0lBQUUsT0FBT1osK0VBQUNBLENBQUM7UUFBSyxJQUFHLENBQUUsRUFBQ0ssS0FBRyxDQUFDRCxDQUFBQSxHQUFHLE9BQU9GLHlEQUFDQSxDQUFDVyxRQUFRLENBQUMsUUFBT1IsR0FBRUMsSUFBRyxJQUFJSix5REFBQ0EsQ0FBQ1csUUFBUSxDQUFDLE9BQU1SLEdBQUVDO0lBQUUsR0FBRTtRQUFDRjtRQUFFQztLQUFFLEdBQUVNO0FBQUM7QUFBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvZG9jdW1lbnQtb3ZlcmZsb3cvdXNlLWRvY3VtZW50LW92ZXJmbG93LmpzPzQwZTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVN0b3JlIGFzIHN9ZnJvbScuLi8uLi9ob29rcy91c2Utc3RvcmUuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHV9ZnJvbScuLi91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnR7b3ZlcmZsb3dzIGFzIHR9ZnJvbScuL292ZXJmbG93LXN0b3JlLmpzJztmdW5jdGlvbiBhKHIsZSxuPSgpPT4oe2NvbnRhaW5lcnM6W119KSl7bGV0IGY9cyh0KSxvPWU/Zi5nZXQoZSk6dm9pZCAwLGk9bz9vLmNvdW50PjA6ITE7cmV0dXJuIHUoKCk9PntpZighKCFlfHwhcikpcmV0dXJuIHQuZGlzcGF0Y2goXCJQVVNIXCIsZSxuKSwoKT0+dC5kaXNwYXRjaChcIlBPUFwiLGUsbil9LFtyLGVdKSxpfWV4cG9ydHthIGFzIHVzZURvY3VtZW50T3ZlcmZsb3dMb2NrZWRFZmZlY3R9O1xuIl0sIm5hbWVzIjpbInVzZVN0b3JlIiwicyIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ1Iiwib3ZlcmZsb3dzIiwidCIsImEiLCJyIiwiZSIsIm4iLCJjb250YWluZXJzIiwiZiIsIm8iLCJnZXQiLCJpIiwiY291bnQiLCJkaXNwYXRjaCIsInVzZURvY3VtZW50T3ZlcmZsb3dMb2NrZWRFZmZlY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-active-press.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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({ disabled: e = !1 } = {}) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1hY3RpdmUtcHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNkM7QUFBcUQ7QUFBc0Q7QUFBMEM7QUFBQSxTQUFTVSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRUUsS0FBSyxHQUFDLEdBQUVDLElBQUVILEVBQUVJLE1BQU0sR0FBQztJQUFFLE9BQU07UUFBQ0MsS0FBSUwsRUFBRU0sT0FBTyxHQUFDSDtRQUFFSSxPQUFNUCxFQUFFUSxPQUFPLEdBQUNQO1FBQUVRLFFBQU9ULEVBQUVNLE9BQU8sR0FBQ0g7UUFBRU8sTUFBS1YsRUFBRVEsT0FBTyxHQUFDUDtJQUFDO0FBQUM7S0FBL0dGO0FBQWdILFNBQVNZLEVBQUVYLENBQUMsRUFBQ0MsQ0FBQztJQUFFLE9BQU0sQ0FBRSxFQUFDRCxLQUFHLENBQUNDLEtBQUdELEVBQUVPLEtBQUssR0FBQ04sRUFBRVMsSUFBSSxJQUFFVixFQUFFVSxJQUFJLEdBQUNULEVBQUVNLEtBQUssSUFBRVAsRUFBRVMsTUFBTSxHQUFDUixFQUFFSSxHQUFHLElBQUVMLEVBQUVLLEdBQUcsR0FBQ0osRUFBRVEsTUFBTTtBQUFDO01BQXRGRTtBQUF1RixTQUFTQyxFQUFFLEVBQUNDLFVBQVNiLElBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBQyxDQUFDLENBQUM7SUFBRSxJQUFJQyxJQUFFWCw2Q0FBQ0EsQ0FBQyxPQUFNLENBQUNhLEdBQUVXLEVBQUUsR0FBQ3RCLCtDQUFDQSxDQUFDLENBQUMsSUFBR3VCLElBQUVuQixtRUFBQ0EsSUFBR29CLElBQUVsQix1REFBQ0EsQ0FBQztRQUFLRyxFQUFFZ0IsT0FBTyxHQUFDLE1BQUtILEVBQUUsQ0FBQyxJQUFHQyxFQUFFRyxPQUFPO0lBQUUsSUFBR0MsSUFBRXJCLHVEQUFDQSxDQUFDc0IsQ0FBQUE7UUFBSSxJQUFHTCxFQUFFRyxPQUFPLElBQUdqQixFQUFFZ0IsT0FBTyxLQUFHLE1BQUs7WUFBQ2hCLEVBQUVnQixPQUFPLEdBQUNHLEVBQUVDLGFBQWEsRUFBQ1AsRUFBRSxDQUFDO1lBQUc7Z0JBQUMsSUFBSVEsSUFBRTVCLGlFQUFDQSxDQUFDMEIsRUFBRUMsYUFBYTtnQkFBRU4sRUFBRVEsZ0JBQWdCLENBQUNELEdBQUUsYUFBWU4sR0FBRSxDQUFDLElBQUdELEVBQUVRLGdCQUFnQixDQUFDRCxHQUFFLGVBQWNFLENBQUFBO29CQUFJLElBQUd2QixFQUFFZ0IsT0FBTyxFQUFDO3dCQUFDLElBQUlRLElBQUUxQixFQUFFeUI7d0JBQUdWLEVBQUVILEVBQUVjLEdBQUV4QixFQUFFZ0IsT0FBTyxDQUFDUyxxQkFBcUI7b0JBQUk7Z0JBQUMsR0FBRSxDQUFDLElBQUdYLEVBQUVRLGdCQUFnQixDQUFDRCxHQUFFLGlCQUFnQk4sR0FBRSxDQUFDO1lBQUU7UUFBQztJQUFDO0lBQUcsT0FBTTtRQUFDVyxTQUFReEI7UUFBRXlCLFlBQVc1QixJQUFFLENBQUMsSUFBRTtZQUFDNkIsZUFBY1Y7WUFBRVcsYUFBWWQ7WUFBRWUsU0FBUWY7UUFBQztJQUFDO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWFjdGl2ZS1wcmVzcy5qcz9jOTY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VSZWYgYXMgYSx1c2VTdGF0ZSBhcyBtfWZyb21cInJlYWN0XCI7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgZH1mcm9tJy4uL3V0aWxzL293bmVyLmpzJztpbXBvcnR7dXNlRGlzcG9zYWJsZXMgYXMgZ31mcm9tJy4vdXNlLWRpc3Bvc2FibGVzLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgdX1mcm9tJy4vdXNlLWV2ZW50LmpzJztmdW5jdGlvbiBFKGUpe2xldCB0PWUud2lkdGgvMixuPWUuaGVpZ2h0LzI7cmV0dXJue3RvcDplLmNsaWVudFktbixyaWdodDplLmNsaWVudFgrdCxib3R0b206ZS5jbGllbnRZK24sbGVmdDplLmNsaWVudFgtdH19ZnVuY3Rpb24gUChlLHQpe3JldHVybiEoIWV8fCF0fHxlLnJpZ2h0PHQubGVmdHx8ZS5sZWZ0PnQucmlnaHR8fGUuYm90dG9tPHQudG9wfHxlLnRvcD50LmJvdHRvbSl9ZnVuY3Rpb24gdyh7ZGlzYWJsZWQ6ZT0hMX09e30pe2xldCB0PWEobnVsbCksW24sbF09bSghMSkscj1nKCksbz11KCgpPT57dC5jdXJyZW50PW51bGwsbCghMSksci5kaXNwb3NlKCl9KSxmPXUocz0+e2lmKHIuZGlzcG9zZSgpLHQuY3VycmVudD09PW51bGwpe3QuY3VycmVudD1zLmN1cnJlbnRUYXJnZXQsbCghMCk7e2xldCBpPWQocy5jdXJyZW50VGFyZ2V0KTtyLmFkZEV2ZW50TGlzdGVuZXIoaSxcInBvaW50ZXJ1cFwiLG8sITEpLHIuYWRkRXZlbnRMaXN0ZW5lcihpLFwicG9pbnRlcm1vdmVcIixjPT57aWYodC5jdXJyZW50KXtsZXQgcD1FKGMpO2woUChwLHQuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkpfX0sITEpLHIuYWRkRXZlbnRMaXN0ZW5lcihpLFwicG9pbnRlcmNhbmNlbFwiLG8sITEpfX19KTtyZXR1cm57cHJlc3NlZDpuLHByZXNzUHJvcHM6ZT97fTp7b25Qb2ludGVyRG93bjpmLG9uUG9pbnRlclVwOm8sb25DbGljazpvfX19ZXhwb3J0e3cgYXMgdXNlQWN0aXZlUHJlc3N9O1xuIl0sIm5hbWVzIjpbInVzZVJlZiIsImEiLCJ1c2VTdGF0ZSIsIm0iLCJnZXRPd25lckRvY3VtZW50IiwiZCIsInVzZURpc3Bvc2FibGVzIiwiZyIsInVzZUV2ZW50IiwidSIsIkUiLCJlIiwidCIsIndpZHRoIiwibiIsImhlaWdodCIsInRvcCIsImNsaWVudFkiLCJyaWdodCIsImNsaWVudFgiLCJib3R0b20iLCJsZWZ0IiwiUCIsInciLCJkaXNhYmxlZCIsImwiLCJyIiwibyIsImN1cnJlbnQiLCJkaXNwb3NlIiwiZiIsInMiLCJjdXJyZW50VGFyZ2V0IiwiaSIsImFkZEV2ZW50TGlzdGVuZXIiLCJjIiwicCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInByZXNzZWQiLCJwcmVzc1Byb3BzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlclVwIiwib25DbGljayIsInVzZUFjdGl2ZVByZXNzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-active-press.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-disposables.js":
 | 
						||
/*!*************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0Q7QUFBc0Q7QUFBQSxTQUFTTTtJQUFJLElBQUcsQ0FBQ0MsRUFBRSxHQUFDSiwrQ0FBQ0EsQ0FBQ0UsOERBQUNBO0lBQUUsT0FBT0osZ0RBQUNBLENBQUMsSUFBSSxJQUFJTSxFQUFFQyxPQUFPLElBQUc7UUFBQ0Q7S0FBRSxHQUFFQTtBQUFDO0FBQTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcz9kZWE3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgcyx1c2VTdGF0ZSBhcyBvfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIHR9ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7ZnVuY3Rpb24gcCgpe2xldFtlXT1vKHQpO3JldHVybiBzKCgpPT4oKT0+ZS5kaXNwb3NlKCksW2VdKSxlfWV4cG9ydHtwIGFzIHVzZURpc3Bvc2FibGVzfTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJzIiwidXNlU3RhdGUiLCJvIiwiZGlzcG9zYWJsZXMiLCJ0IiwicCIsImUiLCJkaXNwb3NlIiwidXNlRGlzcG9zYWJsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-disposables.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-document-event.js":
 | 
						||
/*!****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1kb2N1bWVudC1ldmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFBdUQ7QUFBQSxTQUFTSSxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsSUFBSUMsSUFBRU4sb0VBQUNBLENBQUNJO0lBQUdOLGdEQUFDQSxDQUFDO1FBQUssSUFBRyxDQUFDSSxHQUFFO1FBQU8sU0FBU0ssRUFBRUMsQ0FBQztZQUFFRixFQUFFRyxPQUFPLENBQUNEO1FBQUU7UUFBQyxPQUFPRSxTQUFTQyxnQkFBZ0IsQ0FBQ1IsR0FBRUksR0FBRUYsSUFBRyxJQUFJSyxTQUFTRSxtQkFBbUIsQ0FBQ1QsR0FBRUksR0FBRUY7SUFBRSxHQUFFO1FBQUNIO1FBQUVDO1FBQUVFO0tBQUU7QUFBQztBQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZG9jdW1lbnQtZXZlbnQuanM/NTM0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGN9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgYX1mcm9tJy4vdXNlLWxhdGVzdC12YWx1ZS5qcyc7ZnVuY3Rpb24gaSh0LGUsbyxuKXtsZXQgdT1hKG8pO2MoKCk9PntpZighdClyZXR1cm47ZnVuY3Rpb24gcihtKXt1LmN1cnJlbnQobSl9cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZSxyLG4pLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGUscixuKX0sW3QsZSxuXSl9ZXhwb3J0e2kgYXMgdXNlRG9jdW1lbnRFdmVudH07XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwiYyIsInVzZUxhdGVzdFZhbHVlIiwiYSIsImkiLCJ0IiwiZSIsIm8iLCJuIiwidSIsInIiLCJtIiwiY3VycmVudCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ1c2VEb2N1bWVudEV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-document-event.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-element-size.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ d; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\nfunction f(e) {\n    if (e === null) return {\n        width: 0,\n        height: 0\n    };\n    let { width: t, height: r } = e.getBoundingClientRect();\n    return {\n        width: t,\n        height: r\n    };\n}\nfunction d(e, t = !1) {\n    let [r, u] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(()=>({}), {}), i = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>f(e), [\n        e,\n        r\n    ]);\n    return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_1__.useIsoMorphicEffect)(()=>{\n        if (!e) return;\n        let n = new ResizeObserver(u);\n        return n.observe(e), ()=>{\n            n.disconnect();\n        };\n    }, [\n        e\n    ]), t ? {\n        width: `${i.width}px`,\n        height: `${i.height}px`\n    } : i;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1lbGVtZW50LXNpemUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdEO0FBQWtFO0FBQUEsU0FBU00sRUFBRUMsQ0FBQztJQUFFLElBQUdBLE1BQUksTUFBSyxPQUFNO1FBQUNDLE9BQU07UUFBRUMsUUFBTztJQUFDO0lBQUUsSUFBRyxFQUFDRCxPQUFNRSxDQUFDLEVBQUNELFFBQU9FLENBQUMsRUFBQyxHQUFDSixFQUFFSyxxQkFBcUI7SUFBRyxPQUFNO1FBQUNKLE9BQU1FO1FBQUVELFFBQU9FO0lBQUM7QUFBQztBQUFDLFNBQVNFLEVBQUVOLENBQUMsRUFBQ0csSUFBRSxDQUFDLENBQUM7SUFBRSxJQUFHLENBQUNDLEdBQUVHLEVBQUUsR0FBQ1gsaURBQUNBLENBQUMsSUFBSyxFQUFDLElBQUcsQ0FBQyxJQUFHWSxJQUFFZCw4Q0FBQ0EsQ0FBQyxJQUFJSyxFQUFFQyxJQUFHO1FBQUNBO1FBQUVJO0tBQUU7SUFBRSxPQUFPTiwrRUFBQ0EsQ0FBQztRQUFLLElBQUcsQ0FBQ0UsR0FBRTtRQUFPLElBQUlTLElBQUUsSUFBSUMsZUFBZUg7UUFBRyxPQUFPRSxFQUFFRSxPQUFPLENBQUNYLElBQUc7WUFBS1MsRUFBRUcsVUFBVTtRQUFFO0lBQUMsR0FBRTtRQUFDWjtLQUFFLEdBQUVHLElBQUU7UUFBQ0YsT0FBTSxDQUFDLEVBQUVPLEVBQUVQLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFBQ0MsUUFBTyxDQUFDLEVBQUVNLEVBQUVOLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFBQSxJQUFFTTtBQUFDO0FBQTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1lbGVtZW50LXNpemUuanM/NzQxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlTWVtbyBhcyBvLHVzZVJlZHVjZXIgYXMgaH1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHN9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGYoZSl7aWYoZT09PW51bGwpcmV0dXJue3dpZHRoOjAsaGVpZ2h0OjB9O2xldHt3aWR0aDp0LGhlaWdodDpyfT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybnt3aWR0aDp0LGhlaWdodDpyfX1mdW5jdGlvbiBkKGUsdD0hMSl7bGV0W3IsdV09aCgoKT0+KHt9KSx7fSksaT1vKCgpPT5mKGUpLFtlLHJdKTtyZXR1cm4gcygoKT0+e2lmKCFlKXJldHVybjtsZXQgbj1uZXcgUmVzaXplT2JzZXJ2ZXIodSk7cmV0dXJuIG4ub2JzZXJ2ZShlKSwoKT0+e24uZGlzY29ubmVjdCgpfX0sW2VdKSx0P3t3aWR0aDpgJHtpLndpZHRofXB4YCxoZWlnaHQ6YCR7aS5oZWlnaHR9cHhgfTppfWV4cG9ydHtkIGFzIHVzZUVsZW1lbnRTaXplfTtcbiJdLCJuYW1lcyI6WyJ1c2VNZW1vIiwibyIsInVzZVJlZHVjZXIiLCJoIiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsInMiLCJmIiwiZSIsIndpZHRoIiwiaGVpZ2h0IiwidCIsInIiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJkIiwidSIsImkiLCJuIiwiUmVzaXplT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsInVzZUVsZW1lbnRTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-element-size.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event-listener.js":
 | 
						||
/*!****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1ldmVudC1saXN0ZW5lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFBdUQ7QUFBQSxTQUFTSSxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsSUFBSUMsSUFBRU4sb0VBQUNBLENBQUNJO0lBQUdOLGdEQUFDQSxDQUFDO1FBQUtJLElBQUVBLEtBQUcsT0FBS0EsSUFBRUs7UUFBTyxTQUFTQyxFQUFFQyxDQUFDO1lBQUVILEVBQUVJLE9BQU8sQ0FBQ0Q7UUFBRTtRQUFDLE9BQU9QLEVBQUVTLGdCQUFnQixDQUFDUixHQUFFSyxHQUFFSCxJQUFHLElBQUlILEVBQUVVLG1CQUFtQixDQUFDVCxHQUFFSyxHQUFFSDtJQUFFLEdBQUU7UUFBQ0g7UUFBRUM7UUFBRUU7S0FBRTtBQUFDO0tBQXRKSjtBQUFxTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQtbGlzdGVuZXIuanM/ZDc5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGR9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgc31mcm9tJy4vdXNlLWxhdGVzdC12YWx1ZS5qcyc7ZnVuY3Rpb24gRShuLGUsYSx0KXtsZXQgaT1zKGEpO2QoKCk9PntuPW4hPW51bGw/bjp3aW5kb3c7ZnVuY3Rpb24gcihvKXtpLmN1cnJlbnQobyl9cmV0dXJuIG4uYWRkRXZlbnRMaXN0ZW5lcihlLHIsdCksKCk9Pm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHIsdCl9LFtuLGUsdF0pfWV4cG9ydHtFIGFzIHVzZUV2ZW50TGlzdGVuZXJ9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImQiLCJ1c2VMYXRlc3RWYWx1ZSIsInMiLCJFIiwibiIsImUiLCJhIiwidCIsImkiLCJ3aW5kb3ciLCJyIiwibyIsImN1cnJlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVzZUV2ZW50TGlzdGVuZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event-listener.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event.js":
 | 
						||
/*!*******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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((...r)=>e.current(...r), [\n        e\n    ]);\n};\n_s(o, \"epj4qY15NHsef74wNqHIp5fdZmg=\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1ldmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXFCO0FBQXVEO0FBQUEsSUFBSUcsSUFBRSxTQUFTQyxDQUFDOztJQUFFLElBQUlDLElBQUVILG9FQUFDQSxDQUFDRTtJQUFHLE9BQU9KLDhDQUFhLENBQUMsQ0FBQyxHQUFHTyxJQUFJRixFQUFFRyxPQUFPLElBQUlELElBQUc7UUFBQ0Y7S0FBRTtBQUFDO0dBQTFFRjtBQUFrRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtZXZlbnQuanM/ZjU1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYSBmcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBufWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztsZXQgbz1mdW5jdGlvbih0KXtsZXQgZT1uKHQpO3JldHVybiBhLnVzZUNhbGxiYWNrKCguLi5yKT0+ZS5jdXJyZW50KC4uLnIpLFtlXSl9O2V4cG9ydHtvIGFzIHVzZUV2ZW50fTtcbiJdLCJuYW1lcyI6WyJhIiwidXNlTGF0ZXN0VmFsdWUiLCJuIiwibyIsInQiLCJlIiwidXNlQ2FsbGJhY2siLCJyIiwiY3VycmVudCIsInVzZUV2ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-flags.js":
 | 
						||
/*!*******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n\nfunction c(u = 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1mbGFncy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrRDtBQUFBLFNBQVNJLEVBQUVDLElBQUUsQ0FBQztJQUFFLElBQUcsQ0FBQ0MsR0FBRUMsRUFBRSxHQUFDSiwrQ0FBQ0EsQ0FBQ0UsSUFBR0csSUFBRVAsa0RBQUNBLENBQUNRLENBQUFBLElBQUdGLEVBQUVFLElBQUc7UUFBQ0g7S0FBRSxHQUFFSSxJQUFFVCxrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUksQ0FBQUEsSUFBR0EsSUFBRUYsSUFBRztRQUFDSDtLQUFFLEdBQUVNLElBQUVYLGtEQUFDQSxDQUFDUSxDQUFBQSxJQUFHLENBQUNILElBQUVHLENBQUFBLE1BQUtBLEdBQUU7UUFBQ0g7S0FBRSxHQUFFTyxJQUFFWixrREFBQ0EsQ0FBQ1EsQ0FBQUEsSUFBR0YsRUFBRUksQ0FBQUEsSUFBR0EsSUFBRSxDQUFDRixJQUFHO1FBQUNGO0tBQUUsR0FBRU8sSUFBRWIsa0RBQUNBLENBQUNRLENBQUFBLElBQUdGLEVBQUVJLENBQUFBLElBQUdBLElBQUVGLElBQUc7UUFBQ0Y7S0FBRTtJQUFFLE9BQU07UUFBQ1EsT0FBTVQ7UUFBRVUsU0FBUVI7UUFBRVMsU0FBUVA7UUFBRVEsU0FBUU47UUFBRU8sWUFBV047UUFBRU8sWUFBV047SUFBQztBQUFDO0FBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1mbGFncy5qcz8wOWZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VDYWxsYmFjayBhcyByLHVzZVN0YXRlIGFzIGJ9ZnJvbVwicmVhY3RcIjtmdW5jdGlvbiBjKHU9MCl7bGV0W3QsbF09Yih1KSxnPXIoZT0+bChlKSxbdF0pLHM9cihlPT5sKGE9PmF8ZSksW3RdKSxtPXIoZT0+KHQmZSk9PT1lLFt0XSksbj1yKGU9PmwoYT0+YSZ+ZSksW2xdKSxGPXIoZT0+bChhPT5hXmUpLFtsXSk7cmV0dXJue2ZsYWdzOnQsc2V0RmxhZzpnLGFkZEZsYWc6cyxoYXNGbGFnOm0scmVtb3ZlRmxhZzpuLHRvZ2dsZUZsYWc6Rn19ZXhwb3J0e2MgYXMgdXNlRmxhZ3N9O1xuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwiciIsInVzZVN0YXRlIiwiYiIsImMiLCJ1IiwidCIsImwiLCJnIiwiZSIsInMiLCJhIiwibSIsIm4iLCJGIiwiZmxhZ3MiLCJzZXRGbGFnIiwiYWRkRmxhZyIsImhhc0ZsYWciLCJyZW1vdmVGbGFnIiwidG9nZ2xlRmxhZyIsInVzZUZsYWdzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-flags.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErQjtBQUFrRTtBQUFBLFNBQVNJO0lBQUksSUFBSUMsSUFBRUosNkNBQUNBLENBQUMsQ0FBQztJQUFHLE9BQU9FLCtFQUFDQSxDQUFDLElBQUtFLENBQUFBLEVBQUVDLE9BQU8sR0FBQyxDQUFDLEdBQUU7WUFBS0QsRUFBRUMsT0FBTyxHQUFDLENBQUM7UUFBQyxJQUFHLEVBQUUsR0FBRUQ7QUFBQztBQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtbW91bnRlZC5qcz8xNWI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VSZWYgYXMgcn1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIHR9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIGYoKXtsZXQgZT1yKCExKTtyZXR1cm4gdCgoKT0+KGUuY3VycmVudD0hMCwoKT0+e2UuY3VycmVudD0hMX0pLFtdKSxlfWV4cG9ydHtmIGFzIHVzZUlzTW91bnRlZH07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwiciIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJ0IiwiZiIsImUiLCJjdXJyZW50IiwidXNlSXNNb3VudGVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ I; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _machines_stack_machine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../machines/stack-machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machines/stack-machine.js\");\n/* harmony import */ var _react_glue_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../react-glue.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/react-glue.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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n\n\n\n\nfunction I(o, s) {\n    let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)(), r = _machines_stack_machine_js__WEBPACK_IMPORTED_MODULE_1__.stackMachines.get(s), [i, c] = (0,_react_glue_js__WEBPACK_IMPORTED_MODULE_2__.useSlice)(r, (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>[\n            r.selectors.isTop(e, t),\n            r.selectors.inStack(e, t)\n        ], [\n        r,\n        t\n    ]));\n    return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__.useIsoMorphicEffect)(()=>{\n        if (o) return r.actions.push(t), ()=>r.actions.pop(t);\n    }, [\n        r,\n        o,\n        t\n    ]), o ? c ? i : !0 : !1;\n}\n_c = I;\n\nvar _c;\n$RefreshReg$(_c, \"I\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pcy10b3AtbGF5ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBK0M7QUFBNkQ7QUFBNEM7QUFBa0U7QUFBQSxTQUFTVSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJQyxJQUFFViw0Q0FBQ0EsSUFBR1csSUFBRVQscUVBQUNBLENBQUNVLEdBQUcsQ0FBQ0gsSUFBRyxDQUFDSSxHQUFFQyxFQUFFLEdBQUNWLHdEQUFDQSxDQUFDTyxHQUFFYixrREFBQ0EsQ0FBQ2lCLENBQUFBLElBQUc7WUFBQ0osRUFBRUssU0FBUyxDQUFDQyxLQUFLLENBQUNGLEdBQUVMO1lBQUdDLEVBQUVLLFNBQVMsQ0FBQ0UsT0FBTyxDQUFDSCxHQUFFTDtTQUFHLEVBQUM7UUFBQ0M7UUFBRUQ7S0FBRTtJQUFHLE9BQU9KLCtFQUFDQSxDQUFDO1FBQUssSUFBR0UsR0FBRSxPQUFPRyxFQUFFUSxPQUFPLENBQUNDLElBQUksQ0FBQ1YsSUFBRyxJQUFJQyxFQUFFUSxPQUFPLENBQUNFLEdBQUcsQ0FBQ1g7SUFBRSxHQUFFO1FBQUNDO1FBQUVIO1FBQUVFO0tBQUUsR0FBRUYsSUFBRU0sSUFBRUQsSUFBRSxDQUFDLElBQUUsQ0FBQztBQUFDO0tBQTNMTjtBQUF1TiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtaXMtdG9wLWxheWVyLmpzPzZiYzMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUNhbGxiYWNrIGFzIG4sdXNlSWQgYXMgdX1mcm9tXCJyZWFjdFwiO2ltcG9ydHtzdGFja01hY2hpbmVzIGFzIHB9ZnJvbScuLi9tYWNoaW5lcy9zdGFjay1tYWNoaW5lLmpzJztpbXBvcnR7dXNlU2xpY2UgYXMgZn1mcm9tJy4uL3JlYWN0LWdsdWUuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIGF9ZnJvbScuL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMnO2Z1bmN0aW9uIEkobyxzKXtsZXQgdD11KCkscj1wLmdldChzKSxbaSxjXT1mKHIsbihlPT5bci5zZWxlY3RvcnMuaXNUb3AoZSx0KSxyLnNlbGVjdG9ycy5pblN0YWNrKGUsdCldLFtyLHRdKSk7cmV0dXJuIGEoKCk9PntpZihvKXJldHVybiByLmFjdGlvbnMucHVzaCh0KSwoKT0+ci5hY3Rpb25zLnBvcCh0KX0sW3Isbyx0XSksbz9jP2k6ITA6ITF9ZXhwb3J0e0kgYXMgdXNlSXNUb3BMYXllcn07XG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJuIiwidXNlSWQiLCJ1Iiwic3RhY2tNYWNoaW5lcyIsInAiLCJ1c2VTbGljZSIsImYiLCJ1c2VJc29Nb3JwaGljRWZmZWN0IiwiYSIsIkkiLCJvIiwicyIsInQiLCJyIiwiZ2V0IiwiaSIsImMiLCJlIiwic2VsZWN0b3JzIiwiaXNUb3AiLCJpblN0YWNrIiwiYWN0aW9ucyIsInB1c2giLCJwb3AiLCJ1c2VJc1RvcExheWVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js":
 | 
						||
/*!********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1pc28tbW9ycGhpYy1lZmZlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXVEO0FBQXNDO0FBQUEsSUFBSU0sSUFBRSxDQUFDQyxHQUFFQztJQUFLSCw4Q0FBQ0EsQ0FBQ0ksUUFBUSxHQUFDUixnREFBQ0EsQ0FBQ00sR0FBRUMsS0FBR0wsc0RBQUNBLENBQUNJLEdBQUVDO0FBQUU7QUFBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcz84YjYwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgZix1c2VMYXlvdXRFZmZlY3QgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHtlbnYgYXMgaX1mcm9tJy4uL3V0aWxzL2Vudi5qcyc7bGV0IG49KGUsdCk9PntpLmlzU2VydmVyP2YoZSx0KTpjKGUsdCl9O2V4cG9ydHtuIGFzIHVzZUlzb01vcnBoaWNFZmZlY3R9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjIiwiZW52IiwiaSIsIm4iLCJlIiwidCIsImlzU2VydmVyIiwidXNlSXNvTW9ycGhpY0VmZmVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-latest-value.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1sYXRlc3QtdmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStCO0FBQWtFO0FBQUEsU0FBU0ksRUFBRUMsQ0FBQztJQUFFLElBQUlDLElBQUVMLDZDQUFDQSxDQUFDSTtJQUFHLE9BQU9GLCtFQUFDQSxDQUFDO1FBQUtHLEVBQUVDLE9BQU8sR0FBQ0Y7SUFBQyxHQUFFO1FBQUNBO0tBQUUsR0FBRUM7QUFBQztBQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2UtbGF0ZXN0LXZhbHVlLmpzPzE0ZTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZVJlZiBhcyB0fWZyb21cInJlYWN0XCI7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgb31mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7ZnVuY3Rpb24gcyhlKXtsZXQgcj10KGUpO3JldHVybiBvKCgpPT57ci5jdXJyZW50PWV9LFtlXSkscn1leHBvcnR7cyBhcyB1c2VMYXRlc3RWYWx1ZX07XG4iXSwibmFtZXMiOlsidXNlUmVmIiwidCIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJvIiwicyIsImUiLCJyIiwiY3VycmVudCIsInVzZUxhdGVzdFZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-latest-value.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ p; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/disposables.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-latest-value.js\");\n\n\n\n\nfunction p(s, n, o) {\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 && o();\n    });\n    (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        if (!s) return;\n        let t = n === null ? null : _utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLElement(n) ? n : n.current;\n        if (!t) return;\n        let e = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_3__.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vbi1kaXNhcHBlYXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBa0M7QUFBc0Q7QUFBa0M7QUFBdUQ7QUFBQSxTQUFTTyxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDLElBQUVMLG9FQUFDQSxDQUFDTSxDQUFBQTtRQUFJLElBQUlDLElBQUVELEVBQUVFLHFCQUFxQjtRQUFHRCxFQUFFRSxDQUFDLEtBQUcsS0FBR0YsRUFBRUcsQ0FBQyxLQUFHLEtBQUdILEVBQUVJLEtBQUssS0FBRyxLQUFHSixFQUFFSyxNQUFNLEtBQUcsS0FBR1I7SUFBRztJQUFHVCxnREFBQ0EsQ0FBQztRQUFLLElBQUcsQ0FBQ08sR0FBRTtRQUFPLElBQUlJLElBQUVILE1BQUksT0FBSyxPQUFLTCx3REFBZSxDQUFDSyxLQUFHQSxJQUFFQSxFQUFFVyxPQUFPO1FBQUMsSUFBRyxDQUFDUixHQUFFO1FBQU8sSUFBSUMsSUFBRVYsa0VBQUNBO1FBQUcsSUFBRyxPQUFPa0Isa0JBQWdCLGFBQVk7WUFBQyxJQUFJQyxJQUFFLElBQUlELGVBQWUsSUFBSVYsRUFBRVMsT0FBTyxDQUFDUjtZQUFJVSxFQUFFQyxPQUFPLENBQUNYLElBQUdDLEVBQUVXLEdBQUcsQ0FBQyxJQUFJRixFQUFFRyxVQUFVO1FBQUc7UUFBQyxJQUFHLE9BQU9DLHdCQUFzQixhQUFZO1lBQUMsSUFBSUosSUFBRSxJQUFJSSxxQkFBcUIsSUFBSWYsRUFBRVMsT0FBTyxDQUFDUjtZQUFJVSxFQUFFQyxPQUFPLENBQUNYLElBQUdDLEVBQUVXLEdBQUcsQ0FBQyxJQUFJRixFQUFFRyxVQUFVO1FBQUc7UUFBQyxPQUFNLElBQUlaLEVBQUVjLE9BQU87SUFBRSxHQUFFO1FBQUNsQjtRQUFFRTtRQUFFSDtLQUFFO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLW9uLWRpc2FwcGVhci5qcz85NzU1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgbH1mcm9tXCJyZWFjdFwiO2ltcG9ydHtkaXNwb3NhYmxlcyBhcyB1fWZyb20nLi4vdXRpbHMvZGlzcG9zYWJsZXMuanMnO2ltcG9ydCphcyBjIGZyb20nLi4vdXRpbHMvZG9tLmpzJztpbXBvcnR7dXNlTGF0ZXN0VmFsdWUgYXMgZH1mcm9tJy4vdXNlLWxhdGVzdC12YWx1ZS5qcyc7ZnVuY3Rpb24gcChzLG4sbyl7bGV0IGk9ZCh0PT57bGV0IGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLng9PT0wJiZlLnk9PT0wJiZlLndpZHRoPT09MCYmZS5oZWlnaHQ9PT0wJiZvKCl9KTtsKCgpPT57aWYoIXMpcmV0dXJuO2xldCB0PW49PT1udWxsP251bGw6Yy5pc0hUTUxFbGVtZW50KG4pP246bi5jdXJyZW50O2lmKCF0KXJldHVybjtsZXQgZT11KCk7aWYodHlwZW9mIFJlc2l6ZU9ic2VydmVyIT1cInVuZGVmaW5lZFwiKXtsZXQgcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9PmkuY3VycmVudCh0KSk7ci5vYnNlcnZlKHQpLGUuYWRkKCgpPT5yLmRpc2Nvbm5lY3QoKSl9aWYodHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyIT1cInVuZGVmaW5lZFwiKXtsZXQgcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKCk9PmkuY3VycmVudCh0KSk7ci5vYnNlcnZlKHQpLGUuYWRkKCgpPT5yLmRpc2Nvbm5lY3QoKSl9cmV0dXJuKCk9PmUuZGlzcG9zZSgpfSxbbixpLHNdKX1leHBvcnR7cCBhcyB1c2VPbkRpc2FwcGVhcn07XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwibCIsImRpc3Bvc2FibGVzIiwidSIsImMiLCJ1c2VMYXRlc3RWYWx1ZSIsImQiLCJwIiwicyIsIm4iLCJvIiwiaSIsInQiLCJlIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJ3aWR0aCIsImhlaWdodCIsImlzSFRNTEVsZW1lbnQiLCJjdXJyZW50IiwiUmVzaXplT2JzZXJ2ZXIiLCJyIiwib2JzZXJ2ZSIsImFkZCIsImRpc2Nvbm5lY3QiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsImRpc3Bvc2UiLCJ1c2VPbkRpc2FwcGVhciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vbi11bm1vdW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBOEM7QUFBbUQ7QUFBMEM7QUFBQSxTQUFTUSxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUgsdURBQUNBLENBQUNFLElBQUdFLElBQUVSLDZDQUFDQSxDQUFDLENBQUM7SUFBR0YsZ0RBQUNBLENBQUMsSUFBS1UsQ0FBQUEsRUFBRUMsT0FBTyxHQUFDLENBQUMsR0FBRTtZQUFLRCxFQUFFQyxPQUFPLEdBQUMsQ0FBQyxHQUFFUCwrREFBQ0EsQ0FBQztnQkFBS00sRUFBRUMsT0FBTyxJQUFFRjtZQUFHO1FBQUUsSUFBRztRQUFDQTtLQUFFO0FBQUM7QUFBMkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLW9uLXVubW91bnQuanM/NGQ1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIHUsdXNlUmVmIGFzIG59ZnJvbVwicmVhY3RcIjtpbXBvcnR7bWljcm9UYXNrIGFzIG99ZnJvbScuLi91dGlscy9taWNyby10YXNrLmpzJztpbXBvcnR7dXNlRXZlbnQgYXMgZn1mcm9tJy4vdXNlLWV2ZW50LmpzJztmdW5jdGlvbiBjKHQpe2xldCByPWYodCksZT1uKCExKTt1KCgpPT4oZS5jdXJyZW50PSExLCgpPT57ZS5jdXJyZW50PSEwLG8oKCk9PntlLmN1cnJlbnQmJnIoKX0pfSksW3JdKX1leHBvcnR7YyBhcyB1c2VPblVubW91bnR9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInUiLCJ1c2VSZWYiLCJuIiwibWljcm9UYXNrIiwibyIsInVzZUV2ZW50IiwiZiIsImMiLCJ0IiwiciIsImUiLCJjdXJyZW50IiwidXNlT25Vbm1vdW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-outside-click.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ k; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/focus-management.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/focus-management.js\");\n/* harmony import */ var _utils_platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/platform.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/platform.js\");\n/* harmony import */ var _use_document_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-document-event.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-document-event.js\");\n/* harmony import */ var _use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-latest-value.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-window-event.js\");\n\n\n\n\n\n\n\nconst C = 30;\nfunction k(o, f, h) {\n    let m = (0,_use_latest_value_js__WEBPACK_IMPORTED_MODULE_1__.useLatestValue)(h), s = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(e, c) {\n        if (e.defaultPrevented) return;\n        let r = c(e);\n        if (r === null || !r.getRootNode().contains(r) || !r.isConnected) return;\n        let M = function u(n) {\n            return typeof n == \"function\" ? u(n()) : Array.isArray(n) || n instanceof Set ? n : [\n                n\n            ];\n        }(f);\n        for (let u of M)if (u !== null && (u.contains(r) || e.composed && e.composedPath().includes(u))) return;\n        return !(0,_utils_focus_management_js__WEBPACK_IMPORTED_MODULE_2__.isFocusableElement)(r, _utils_focus_management_js__WEBPACK_IMPORTED_MODULE_2__.FocusableMode.Loose) && r.tabIndex !== -1 && e.preventDefault(), m.current(e, r);\n    }, [\n        m,\n        f\n    ]), i = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n    (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_3__.useDocumentEvent)(o, \"pointerdown\", (t)=>{\n        var e, c;\n        (0,_utils_platform_js__WEBPACK_IMPORTED_MODULE_4__.isMobile)() || (i.current = ((c = (e = t.composedPath) == null ? void 0 : e.call(t)) == null ? void 0 : c[0]) || t.target);\n    }, !0), (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_3__.useDocumentEvent)(o, \"pointerup\", (t)=>{\n        if ((0,_utils_platform_js__WEBPACK_IMPORTED_MODULE_4__.isMobile)() || !i.current) return;\n        let e = i.current;\n        return i.current = null, s(t, ()=>e);\n    }, !0);\n    let l = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)({\n        x: 0,\n        y: 0\n    });\n    (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_3__.useDocumentEvent)(o, \"touchstart\", (t)=>{\n        l.current.x = t.touches[0].clientX, l.current.y = t.touches[0].clientY;\n    }, !0), (0,_use_document_event_js__WEBPACK_IMPORTED_MODULE_3__.useDocumentEvent)(o, \"touchend\", (t)=>{\n        let e = {\n            x: t.changedTouches[0].clientX,\n            y: t.changedTouches[0].clientY\n        };\n        if (!(Math.abs(e.x - l.current.x) >= C || Math.abs(e.y - l.current.y) >= C)) return s(t, ()=>_utils_dom_js__WEBPACK_IMPORTED_MODULE_5__.isHTMLorSVGElement(t.target) ? t.target : null);\n    }, !0), (0,_use_window_event_js__WEBPACK_IMPORTED_MODULE_6__.useWindowEvent)(o, \"blur\", (t)=>s(t, ()=>_utils_dom_js__WEBPACK_IMPORTED_MODULE_5__.isHTMLIframeElement(window.document.activeElement) ? window.document.activeElement : null), !0);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vdXRzaWRlLWNsaWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQWdEO0FBQWtDO0FBQXFGO0FBQWdEO0FBQTJEO0FBQXVEO0FBQXVEO0FBQUEsTUFBTWlCLElBQUU7QUFBRyxTQUFTQyxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDLElBQUVSLG9FQUFDQSxDQUFDTyxJQUFHRSxJQUFFdEIsa0RBQUNBLENBQUMsU0FBU3VCLENBQUMsRUFBQ0MsQ0FBQztRQUFFLElBQUdELEVBQUVFLGdCQUFnQixFQUFDO1FBQU8sSUFBSUMsSUFBRUYsRUFBRUQ7UUFBRyxJQUFHRyxNQUFJLFFBQU0sQ0FBQ0EsRUFBRUMsV0FBVyxHQUFHQyxRQUFRLENBQUNGLE1BQUksQ0FBQ0EsRUFBRUcsV0FBVyxFQUFDO1FBQU8sSUFBSUMsSUFBRSxTQUFTQyxFQUFFQyxDQUFDO1lBQUUsT0FBTyxPQUFPQSxLQUFHLGFBQVdELEVBQUVDLE9BQUtDLE1BQU1DLE9BQU8sQ0FBQ0YsTUFBSUEsYUFBYUcsTUFBSUgsSUFBRTtnQkFBQ0E7YUFBRTtRQUFBLEVBQUViO1FBQUcsS0FBSSxJQUFJWSxLQUFLRCxFQUFFLElBQUdDLE1BQUksUUFBT0EsQ0FBQUEsRUFBRUgsUUFBUSxDQUFDRixNQUFJSCxFQUFFYSxRQUFRLElBQUViLEVBQUVjLFlBQVksR0FBR0MsUUFBUSxDQUFDUCxFQUFDLEdBQUc7UUFBTyxPQUFNLENBQUN4Qiw4RUFBQ0EsQ0FBQ21CLEdBQUVyQixxRUFBQ0EsQ0FBQ2tDLEtBQUssS0FBR2IsRUFBRWMsUUFBUSxLQUFHLENBQUMsS0FBR2pCLEVBQUVrQixjQUFjLElBQUdwQixFQUFFcUIsT0FBTyxDQUFDbkIsR0FBRUc7SUFBRSxHQUFFO1FBQUNMO1FBQUVGO0tBQUUsR0FBRXdCLElBQUV6Qyw2Q0FBQ0EsQ0FBQztJQUFNUyx3RUFBQ0EsQ0FBQ08sR0FBRSxlQUFjMEIsQ0FBQUE7UUFBSSxJQUFJckIsR0FBRUM7UUFBRWYsNERBQUNBLE1BQUtrQyxDQUFBQSxFQUFFRCxPQUFPLEdBQUMsQ0FBQyxDQUFDbEIsSUFBRSxDQUFDRCxJQUFFcUIsRUFBRVAsWUFBWSxLQUFHLE9BQUssS0FBSyxJQUFFZCxFQUFFc0IsSUFBSSxDQUFDRCxFQUFDLEtBQUksT0FBSyxLQUFLLElBQUVwQixDQUFDLENBQUMsRUFBRSxLQUFHb0IsRUFBRUUsTUFBTTtJQUFDLEdBQUUsQ0FBQyxJQUFHbkMsd0VBQUNBLENBQUNPLEdBQUUsYUFBWTBCLENBQUFBO1FBQUksSUFBR25DLDREQUFDQSxNQUFJLENBQUNrQyxFQUFFRCxPQUFPLEVBQUM7UUFBTyxJQUFJbkIsSUFBRW9CLEVBQUVELE9BQU87UUFBQyxPQUFPQyxFQUFFRCxPQUFPLEdBQUMsTUFBS3BCLEVBQUVzQixHQUFFLElBQUlyQjtJQUFFLEdBQUUsQ0FBQztJQUFHLElBQUl3QixJQUFFN0MsNkNBQUNBLENBQUM7UUFBQ2EsR0FBRTtRQUFFUixHQUFFO0lBQUM7SUFBR0ksd0VBQUNBLENBQUNPLEdBQUUsY0FBYTBCLENBQUFBO1FBQUlHLEVBQUVMLE9BQU8sQ0FBQzNCLENBQUMsR0FBQzZCLEVBQUVJLE9BQU8sQ0FBQyxFQUFFLENBQUNDLE9BQU8sRUFBQ0YsRUFBRUwsT0FBTyxDQUFDbkMsQ0FBQyxHQUFDcUMsRUFBRUksT0FBTyxDQUFDLEVBQUUsQ0FBQ0UsT0FBTztJQUFBLEdBQUUsQ0FBQyxJQUFHdkMsd0VBQUNBLENBQUNPLEdBQUUsWUFBVzBCLENBQUFBO1FBQUksSUFBSXJCLElBQUU7WUFBQ1IsR0FBRTZCLEVBQUVPLGNBQWMsQ0FBQyxFQUFFLENBQUNGLE9BQU87WUFBQzFDLEdBQUVxQyxFQUFFTyxjQUFjLENBQUMsRUFBRSxDQUFDRCxPQUFPO1FBQUE7UUFBRSxJQUFHLENBQUVFLENBQUFBLEtBQUtDLEdBQUcsQ0FBQzlCLEVBQUVSLENBQUMsR0FBQ2dDLEVBQUVMLE9BQU8sQ0FBQzNCLENBQUMsS0FBR0MsS0FBR29DLEtBQUtDLEdBQUcsQ0FBQzlCLEVBQUVoQixDQUFDLEdBQUN3QyxFQUFFTCxPQUFPLENBQUNuQyxDQUFDLEtBQUdTLENBQUFBLEdBQUcsT0FBT00sRUFBRXNCLEdBQUUsSUFBSXpDLDZEQUFvQixDQUFDeUMsRUFBRUUsTUFBTSxJQUFFRixFQUFFRSxNQUFNLEdBQUM7SUFBSyxHQUFFLENBQUMsSUFBRy9CLG9FQUFDQSxDQUFDRyxHQUFFLFFBQU8wQixDQUFBQSxJQUFHdEIsRUFBRXNCLEdBQUUsSUFBSXpDLDhEQUFxQixDQUFDcUQsT0FBT0MsUUFBUSxDQUFDQyxhQUFhLElBQUVGLE9BQU9DLFFBQVEsQ0FBQ0MsYUFBYSxHQUFDLE9BQU0sQ0FBQztBQUFFO0FBQThCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vdXRzaWRlLWNsaWNrLmpzPzkzZmMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZUNhbGxiYWNrIGFzIFQsdXNlUmVmIGFzIEV9ZnJvbVwicmVhY3RcIjtpbXBvcnQqYXMgZCBmcm9tJy4uL3V0aWxzL2RvbS5qcyc7aW1wb3J0e0ZvY3VzYWJsZU1vZGUgYXMgZyxpc0ZvY3VzYWJsZUVsZW1lbnQgYXMgeX1mcm9tJy4uL3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMnO2ltcG9ydHtpc01vYmlsZSBhcyBwfWZyb20nLi4vdXRpbHMvcGxhdGZvcm0uanMnO2ltcG9ydHt1c2VEb2N1bWVudEV2ZW50IGFzIGF9ZnJvbScuL3VzZS1kb2N1bWVudC1ldmVudC5qcyc7aW1wb3J0e3VzZUxhdGVzdFZhbHVlIGFzIEx9ZnJvbScuL3VzZS1sYXRlc3QtdmFsdWUuanMnO2ltcG9ydHt1c2VXaW5kb3dFdmVudCBhcyB4fWZyb20nLi91c2Utd2luZG93LWV2ZW50LmpzJztjb25zdCBDPTMwO2Z1bmN0aW9uIGsobyxmLGgpe2xldCBtPUwoaCkscz1UKGZ1bmN0aW9uKGUsYyl7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtsZXQgcj1jKGUpO2lmKHI9PT1udWxsfHwhci5nZXRSb290Tm9kZSgpLmNvbnRhaW5zKHIpfHwhci5pc0Nvbm5lY3RlZClyZXR1cm47bGV0IE09ZnVuY3Rpb24gdShuKXtyZXR1cm4gdHlwZW9mIG49PVwiZnVuY3Rpb25cIj91KG4oKSk6QXJyYXkuaXNBcnJheShuKXx8biBpbnN0YW5jZW9mIFNldD9uOltuXX0oZik7Zm9yKGxldCB1IG9mIE0paWYodSE9PW51bGwmJih1LmNvbnRhaW5zKHIpfHxlLmNvbXBvc2VkJiZlLmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHUpKSlyZXR1cm47cmV0dXJuIXkocixnLkxvb3NlKSYmci50YWJJbmRleCE9PS0xJiZlLnByZXZlbnREZWZhdWx0KCksbS5jdXJyZW50KGUscil9LFttLGZdKSxpPUUobnVsbCk7YShvLFwicG9pbnRlcmRvd25cIix0PT57dmFyIGUsYztwKCl8fChpLmN1cnJlbnQ9KChjPShlPXQuY29tcG9zZWRQYXRoKT09bnVsbD92b2lkIDA6ZS5jYWxsKHQpKT09bnVsbD92b2lkIDA6Y1swXSl8fHQudGFyZ2V0KX0sITApLGEobyxcInBvaW50ZXJ1cFwiLHQ9PntpZihwKCl8fCFpLmN1cnJlbnQpcmV0dXJuO2xldCBlPWkuY3VycmVudDtyZXR1cm4gaS5jdXJyZW50PW51bGwscyh0LCgpPT5lKX0sITApO2xldCBsPUUoe3g6MCx5OjB9KTthKG8sXCJ0b3VjaHN0YXJ0XCIsdD0+e2wuY3VycmVudC54PXQudG91Y2hlc1swXS5jbGllbnRYLGwuY3VycmVudC55PXQudG91Y2hlc1swXS5jbGllbnRZfSwhMCksYShvLFwidG91Y2hlbmRcIix0PT57bGV0IGU9e3g6dC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYLHk6dC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZfTtpZighKE1hdGguYWJzKGUueC1sLmN1cnJlbnQueCk+PUN8fE1hdGguYWJzKGUueS1sLmN1cnJlbnQueSk+PUMpKXJldHVybiBzKHQsKCk9PmQuaXNIVE1Mb3JTVkdFbGVtZW50KHQudGFyZ2V0KT90LnRhcmdldDpudWxsKX0sITApLHgobyxcImJsdXJcIix0PT5zKHQsKCk9PmQuaXNIVE1MSWZyYW1lRWxlbWVudCh3aW5kb3cuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk/d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ6bnVsbCksITApfWV4cG9ydHtrIGFzIHVzZU91dHNpZGVDbGlja307XG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJUIiwidXNlUmVmIiwiRSIsImQiLCJGb2N1c2FibGVNb2RlIiwiZyIsImlzRm9jdXNhYmxlRWxlbWVudCIsInkiLCJpc01vYmlsZSIsInAiLCJ1c2VEb2N1bWVudEV2ZW50IiwiYSIsInVzZUxhdGVzdFZhbHVlIiwiTCIsInVzZVdpbmRvd0V2ZW50IiwieCIsIkMiLCJrIiwibyIsImYiLCJoIiwibSIsInMiLCJlIiwiYyIsImRlZmF1bHRQcmV2ZW50ZWQiLCJyIiwiZ2V0Um9vdE5vZGUiLCJjb250YWlucyIsImlzQ29ubmVjdGVkIiwiTSIsInUiLCJuIiwiQXJyYXkiLCJpc0FycmF5IiwiU2V0IiwiY29tcG9zZWQiLCJjb21wb3NlZFBhdGgiLCJpbmNsdWRlcyIsIkxvb3NlIiwidGFiSW5kZXgiLCJwcmV2ZW50RGVmYXVsdCIsImN1cnJlbnQiLCJpIiwidCIsImNhbGwiLCJ0YXJnZXQiLCJsIiwidG91Y2hlcyIsImNsaWVudFgiLCJjbGllbnRZIiwiY2hhbmdlZFRvdWNoZXMiLCJNYXRoIiwiYWJzIiwiaXNIVE1Mb3JTVkdFbGVtZW50IiwiaXNIVE1MSWZyYW1lRWxlbWVudCIsIndpbmRvdyIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsInVzZU91dHNpZGVDbGljayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-outside-click.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-owner.js":
 | 
						||
/*!*******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js\");\n\n\nfunction n(...e) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1vd25lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0M7QUFBcUQ7QUFBQSxTQUFTSSxFQUFFLEdBQUdDLENBQUM7SUFBRSxPQUFPSiw4Q0FBQ0EsQ0FBQyxJQUFJRSxpRUFBQ0EsSUFBSUUsSUFBRztXQUFJQTtLQUFFO0FBQUM7QUFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLW93bmVyLmpzP2E1YzIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZU1lbW8gYXMgdH1mcm9tXCJyZWFjdFwiO2ltcG9ydHtnZXRPd25lckRvY3VtZW50IGFzIG99ZnJvbScuLi91dGlscy9vd25lci5qcyc7ZnVuY3Rpb24gbiguLi5lKXtyZXR1cm4gdCgoKT0+byguLi5lKSxbLi4uZV0pfWV4cG9ydHtuIGFzIHVzZU93bmVyRG9jdW1lbnR9O1xuIl0sIm5hbWVzIjpbInVzZU1lbW8iLCJ0IiwiZ2V0T3duZXJEb2N1bWVudCIsIm8iLCJuIiwiZSIsInVzZU93bmVyRG9jdW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-owner.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js":
 | 
						||
/*!*********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ e; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n\nfunction e(t, u) {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{\n        var n;\n        if (t.type) return t.type;\n        let r = (n = t.as) != null ? n : \"button\";\n        if (typeof r == \"string\" && r.toLowerCase() === \"button\" || (u == null ? void 0 : u.tagName) === \"BUTTON\" && !u.hasAttribute(\"type\")) return \"button\";\n    }, [\n        t.type,\n        t.as,\n        u\n    ]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWdDO0FBQUEsU0FBU0UsRUFBRUMsQ0FBQyxFQUFDQyxDQUFDO0lBQUUsT0FBT0gsOENBQUNBLENBQUM7UUFBSyxJQUFJSTtRQUFFLElBQUdGLEVBQUVHLElBQUksRUFBQyxPQUFPSCxFQUFFRyxJQUFJO1FBQUMsSUFBSUMsSUFBRSxDQUFDRixJQUFFRixFQUFFSyxFQUFFLEtBQUcsT0FBS0gsSUFBRTtRQUFTLElBQUcsT0FBT0UsS0FBRyxZQUFVQSxFQUFFRSxXQUFXLE9BQUssWUFBVSxDQUFDTCxLQUFHLE9BQUssS0FBSyxJQUFFQSxFQUFFTSxPQUFPLE1BQUksWUFBVSxDQUFDTixFQUFFTyxZQUFZLENBQUMsU0FBUSxPQUFNO0lBQVEsR0FBRTtRQUFDUixFQUFFRyxJQUFJO1FBQUNILEVBQUVLLEVBQUU7UUFBQ0o7S0FBRTtBQUFDO0FBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yZXNvbHZlLWJ1dHRvbi10eXBlLmpzPzg1YjIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZU1lbW8gYXMgYX1mcm9tXCJyZWFjdFwiO2Z1bmN0aW9uIGUodCx1KXtyZXR1cm4gYSgoKT0+e3ZhciBuO2lmKHQudHlwZSlyZXR1cm4gdC50eXBlO2xldCByPShuPXQuYXMpIT1udWxsP246XCJidXR0b25cIjtpZih0eXBlb2Ygcj09XCJzdHJpbmdcIiYmci50b0xvd2VyQ2FzZSgpPT09XCJidXR0b25cInx8KHU9PW51bGw/dm9pZCAwOnUudGFnTmFtZSk9PT1cIkJVVFRPTlwiJiYhdS5oYXNBdHRyaWJ1dGUoXCJ0eXBlXCIpKXJldHVyblwiYnV0dG9uXCJ9LFt0LnR5cGUsdC5hcyx1XSl9ZXhwb3J0e2UgYXMgdXNlUmVzb2x2ZUJ1dHRvblR5cGV9O1xuIl0sIm5hbWVzIjpbInVzZU1lbW8iLCJhIiwiZSIsInQiLCJ1IiwibiIsInR5cGUiLCJyIiwiYXMiLCJ0b0xvd2VyQ2FzZSIsInRhZ05hbWUiLCJoYXNBdHRyaWJ1dGUiLCJ1c2VSZXNvbHZlQnV0dG9uVHlwZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-root-containers.js":
 | 
						||
/*!*****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ P; },\n/* harmony export */   useMainTreeNode: function() { return /* binding */ y; },\n/* harmony export */   useRootContainers: function() { return /* binding */ H; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _internal_hidden_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internal/hidden.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/hidden.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _utils_owner_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/owner.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-owner.js\");\n\n\n\n\n\n\nfunction H({ defaultContainers: r = [], portals: n, mainTreeNode: o } = {}) {\n    let l = (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 r)e !== null && (_utils_dom_js__WEBPACK_IMPORTED_MODULE_3__.isElement(e) ? t.push(e) : \"current\" in e && _utils_dom_js__WEBPACK_IMPORTED_MODULE_3__.isElement(e.current) && 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 = l == null ? void 0 : l.querySelectorAll(\"html > *, body > *\")) != null ? i : [])e !== document.body && e !== document.head && _utils_dom_js__WEBPACK_IMPORTED_MODULE_3__.isElement(e) && 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((d)=>e.contains(d)) || 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 = H;\nlet a = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction P({ children: r, node: n }) {\n    let [o, l] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), u = y(n != null ? n : o);\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(a.Provider, {\n        value: u\n    }, r, u === null && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_internal_hidden_js__WEBPACK_IMPORTED_MODULE_4__.Hidden, {\n        features: _internal_hidden_js__WEBPACK_IMPORTED_MODULE_4__.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_5__.getOwnerDocument)(t)) == null ? void 0 : i.querySelectorAll(\"html > *, body > *\")) != null ? c : [])if (e !== document.body && e !== document.head && _utils_dom_js__WEBPACK_IMPORTED_MODULE_3__.isElement(e) && e != null && e.contains(t)) {\n                    l(e);\n                    break;\n                }\n            }\n        }\n    }));\n}\n_c1 = P;\nfunction y(r = null) {\n    var n;\n    return (n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(a)) != null ? n : r;\n}\n\nvar _c, _c1;\n$RefreshReg$(_c, \"H\");\n$RefreshReg$(_c1, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1yb290LWNvbnRhaW5lcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQXVFO0FBQW1FO0FBQWtDO0FBQXFEO0FBQTBDO0FBQWtEO0FBQUEsU0FBU2tCLEVBQUUsRUFBQ0MsbUJBQWtCQyxJQUFFLEVBQUUsRUFBQ0MsU0FBUUMsQ0FBQyxFQUFDQyxjQUFhQyxDQUFDLEVBQUMsR0FBQyxDQUFDLENBQUM7SUFBRSxJQUFJQyxJQUFFUiwrREFBQ0EsQ0FBQ08sSUFBR0UsSUFBRVgsdURBQUNBLENBQUM7UUFBSyxJQUFJWSxHQUFFQztRQUFFLElBQUlDLElBQUUsRUFBRTtRQUFDLEtBQUksSUFBSUMsS0FBS1YsRUFBRVUsTUFBSSxRQUFPbkIsQ0FBQUEsb0RBQVcsQ0FBQ21CLEtBQUdELEVBQUVHLElBQUksQ0FBQ0YsS0FBRyxhQUFZQSxLQUFHbkIsb0RBQVcsQ0FBQ21CLEVBQUVHLE9BQU8sS0FBR0osRUFBRUcsSUFBSSxDQUFDRixFQUFFRyxPQUFPO1FBQUcsSUFBR1gsS0FBRyxRQUFNQSxFQUFFVyxPQUFPLEVBQUMsS0FBSSxJQUFJSCxLQUFLUixFQUFFVyxPQUFPLENBQUNKLEVBQUVHLElBQUksQ0FBQ0Y7UUFBRyxLQUFJLElBQUlBLEtBQUksQ0FBQ0gsSUFBRUYsS0FBRyxPQUFLLEtBQUssSUFBRUEsRUFBRVMsZ0JBQWdCLENBQUMscUJBQW9CLEtBQUksT0FBS1AsSUFBRSxFQUFFLENBQUNHLE1BQUlLLFNBQVNDLElBQUksSUFBRU4sTUFBSUssU0FBU0UsSUFBSSxJQUFFMUIsb0RBQVcsQ0FBQ21CLE1BQUlBLEVBQUVRLEVBQUUsS0FBRyw0QkFBMkJkLENBQUFBLEtBQUlNLENBQUFBLEVBQUVTLFFBQVEsQ0FBQ2YsTUFBSU0sRUFBRVMsUUFBUSxDQUFDLENBQUNYLElBQUVKLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVnQixXQUFXLEVBQUMsS0FBSSxPQUFLLEtBQUssSUFBRVosRUFBRWEsSUFBSSxNQUFJWixFQUFFYSxJQUFJLENBQUNDLENBQUFBLElBQUdiLEVBQUVTLFFBQVEsQ0FBQ0ksT0FBS2QsRUFBRUcsSUFBSSxDQUFDRixFQUFDO1FBQUcsT0FBT0Q7SUFBQztJQUFHLE9BQU07UUFBQ2UsbUJBQWtCbEI7UUFBRWEsVUFBU3hCLHVEQUFDQSxDQUFDYyxDQUFBQSxJQUFHSCxJQUFJZ0IsSUFBSSxDQUFDZixDQUFBQSxJQUFHQSxFQUFFWSxRQUFRLENBQUNWO0lBQUk7QUFBQztLQUF6bkJYO0FBQTBuQixJQUFJMkIsa0JBQUUzQyxvREFBQ0EsQ0FBQztBQUFNLFNBQVM0QyxFQUFFLEVBQUNDLFVBQVMzQixDQUFDLEVBQUM0QixNQUFLMUIsQ0FBQyxFQUFDO0lBQUUsSUFBRyxDQUFDRSxHQUFFQyxFQUFFLEdBQUNuQiwrQ0FBQ0EsQ0FBQyxPQUFNb0IsSUFBRXVCLEVBQUUzQixLQUFHLE9BQUtBLElBQUVFO0lBQUcscUJBQU94QixnREFBZSxDQUFDNkMsRUFBRU0sUUFBUSxFQUFDO1FBQUNDLE9BQU0xQjtJQUFDLEdBQUVOLEdBQUVNLE1BQUksc0JBQU0xQixnREFBZSxDQUFDUSx1REFBQ0EsRUFBQztRQUFDNkMsVUFBUzNDLCtEQUFDQSxDQUFDSCxNQUFNO1FBQUMrQyxLQUFJekIsQ0FBQUE7WUFBSSxJQUFJRixHQUFFQztZQUFFLElBQUdDLEdBQUU7Z0JBQUMsS0FBSSxJQUFJQyxLQUFJLENBQUNGLElBQUUsQ0FBQ0QsSUFBRWQsaUVBQUNBLENBQUNnQixFQUFDLEtBQUksT0FBSyxLQUFLLElBQUVGLEVBQUVPLGdCQUFnQixDQUFDLHFCQUFvQixLQUFJLE9BQUtOLElBQUUsRUFBRSxDQUFDLElBQUdFLE1BQUlLLFNBQVNDLElBQUksSUFBRU4sTUFBSUssU0FBU0UsSUFBSSxJQUFFMUIsb0RBQVcsQ0FBQ21CLE1BQUlBLEtBQUcsUUFBTUEsRUFBRVMsUUFBUSxDQUFDVixJQUFHO29CQUFDSixFQUFFSztvQkFBRztnQkFBSztZQUFDO1FBQUM7SUFBQztBQUFHO01BQXZXZ0I7QUFBd1csU0FBU0csRUFBRTdCLElBQUUsSUFBSTtJQUFFLElBQUlFO0lBQUUsT0FBTSxDQUFDQSxJQUFFbEIsaURBQUNBLENBQUN5QyxFQUFDLEtBQUksT0FBS3ZCLElBQUVGO0FBQUM7QUFBMkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXJvb3QtY29udGFpbmVycy5qcz84Nzk5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzLHtjcmVhdGVDb250ZXh0IGFzIEUsdXNlQ29udGV4dCBhcyBoLHVzZVN0YXRlIGFzIHB9ZnJvbVwicmVhY3RcIjtpbXBvcnR7SGlkZGVuIGFzIGIsSGlkZGVuRmVhdHVyZXMgYXMgTX1mcm9tJy4uL2ludGVybmFsL2hpZGRlbi5qcyc7aW1wb3J0KmFzIGYgZnJvbScuLi91dGlscy9kb20uanMnO2ltcG9ydHtnZXRPd25lckRvY3VtZW50IGFzIHZ9ZnJvbScuLi91dGlscy9vd25lci5qcyc7aW1wb3J0e3VzZUV2ZW50IGFzIG19ZnJvbScuL3VzZS1ldmVudC5qcyc7aW1wb3J0e3VzZU93bmVyRG9jdW1lbnQgYXMgeH1mcm9tJy4vdXNlLW93bmVyLmpzJztmdW5jdGlvbiBIKHtkZWZhdWx0Q29udGFpbmVyczpyPVtdLHBvcnRhbHM6bixtYWluVHJlZU5vZGU6b309e30pe2xldCBsPXgobyksdT1tKCgpPT57dmFyIGksYztsZXQgdD1bXTtmb3IobGV0IGUgb2YgcillIT09bnVsbCYmKGYuaXNFbGVtZW50KGUpP3QucHVzaChlKTpcImN1cnJlbnRcImluIGUmJmYuaXNFbGVtZW50KGUuY3VycmVudCkmJnQucHVzaChlLmN1cnJlbnQpKTtpZihuIT1udWxsJiZuLmN1cnJlbnQpZm9yKGxldCBlIG9mIG4uY3VycmVudCl0LnB1c2goZSk7Zm9yKGxldCBlIG9mKGk9bD09bnVsbD92b2lkIDA6bC5xdWVyeVNlbGVjdG9yQWxsKFwiaHRtbCA+ICosIGJvZHkgPiAqXCIpKSE9bnVsbD9pOltdKWUhPT1kb2N1bWVudC5ib2R5JiZlIT09ZG9jdW1lbnQuaGVhZCYmZi5pc0VsZW1lbnQoZSkmJmUuaWQhPT1cImhlYWRsZXNzdWktcG9ydGFsLXJvb3RcIiYmKG8mJihlLmNvbnRhaW5zKG8pfHxlLmNvbnRhaW5zKChjPW89PW51bGw/dm9pZCAwOm8uZ2V0Um9vdE5vZGUoKSk9PW51bGw/dm9pZCAwOmMuaG9zdCkpfHx0LnNvbWUoZD0+ZS5jb250YWlucyhkKSl8fHQucHVzaChlKSk7cmV0dXJuIHR9KTtyZXR1cm57cmVzb2x2ZUNvbnRhaW5lcnM6dSxjb250YWluczptKHQ9PnUoKS5zb21lKGk9PmkuY29udGFpbnModCkpKX19bGV0IGE9RShudWxsKTtmdW5jdGlvbiBQKHtjaGlsZHJlbjpyLG5vZGU6bn0pe2xldFtvLGxdPXAobnVsbCksdT15KG4hPW51bGw/bjpvKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGEuUHJvdmlkZXIse3ZhbHVlOnV9LHIsdT09PW51bGwmJnMuY3JlYXRlRWxlbWVudChiLHtmZWF0dXJlczpNLkhpZGRlbixyZWY6dD0+e3ZhciBpLGM7aWYodCl7Zm9yKGxldCBlIG9mKGM9KGk9dih0KSk9PW51bGw/dm9pZCAwOmkucXVlcnlTZWxlY3RvckFsbChcImh0bWwgPiAqLCBib2R5ID4gKlwiKSkhPW51bGw/YzpbXSlpZihlIT09ZG9jdW1lbnQuYm9keSYmZSE9PWRvY3VtZW50LmhlYWQmJmYuaXNFbGVtZW50KGUpJiZlIT1udWxsJiZlLmNvbnRhaW5zKHQpKXtsKGUpO2JyZWFrfX19fSkpfWZ1bmN0aW9uIHkocj1udWxsKXt2YXIgbjtyZXR1cm4obj1oKGEpKSE9bnVsbD9uOnJ9ZXhwb3J0e1AgYXMgTWFpblRyZWVQcm92aWRlcix5IGFzIHVzZU1haW5UcmVlTm9kZSxIIGFzIHVzZVJvb3RDb250YWluZXJzfTtcbiJdLCJuYW1lcyI6WyJzIiwiY3JlYXRlQ29udGV4dCIsIkUiLCJ1c2VDb250ZXh0IiwiaCIsInVzZVN0YXRlIiwicCIsIkhpZGRlbiIsImIiLCJIaWRkZW5GZWF0dXJlcyIsIk0iLCJmIiwiZ2V0T3duZXJEb2N1bWVudCIsInYiLCJ1c2VFdmVudCIsIm0iLCJ1c2VPd25lckRvY3VtZW50IiwieCIsIkgiLCJkZWZhdWx0Q29udGFpbmVycyIsInIiLCJwb3J0YWxzIiwibiIsIm1haW5UcmVlTm9kZSIsIm8iLCJsIiwidSIsImkiLCJjIiwidCIsImUiLCJpc0VsZW1lbnQiLCJwdXNoIiwiY3VycmVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJkb2N1bWVudCIsImJvZHkiLCJoZWFkIiwiaWQiLCJjb250YWlucyIsImdldFJvb3ROb2RlIiwiaG9zdCIsInNvbWUiLCJkIiwicmVzb2x2ZUNvbnRhaW5lcnMiLCJhIiwiUCIsImNoaWxkcmVuIiwibm9kZSIsInkiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImZlYXR1cmVzIiwicmVmIiwiTWFpblRyZWVQcm92aWRlciIsInVzZU1haW5UcmVlTm9kZSIsInVzZVJvb3RDb250YWluZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-root-containers.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js":
 | 
						||
/*!*************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js\");\n\n\nfunction f(e, c, n = ()=>[\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zY3JvbGwtbG9jay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBK0Y7QUFBc0Q7QUFBQSxTQUFTSSxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsSUFBRSxJQUFJO1FBQUNDLFNBQVNDLElBQUk7S0FBQztJQUFFLElBQUlDLElBQUVQLG1FQUFDQSxDQUFDRSxHQUFFO0lBQWVKLDRHQUFDQSxDQUFDUyxHQUFFSixHQUFFSyxDQUFBQTtRQUFJLElBQUlDO1FBQUUsT0FBTTtZQUFDQyxZQUFXO21CQUFJLENBQUNELElBQUVELEVBQUVFLFVBQVUsS0FBRyxPQUFLRCxJQUFFLEVBQUU7Z0JBQUNMO2FBQUU7UUFBQTtJQUFDO0FBQUU7QUFBNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXNjcm9sbC1sb2NrLmpzP2U0OGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3VzZURvY3VtZW50T3ZlcmZsb3dMb2NrZWRFZmZlY3QgYXMgbH1mcm9tJy4vZG9jdW1lbnQtb3ZlcmZsb3cvdXNlLWRvY3VtZW50LW92ZXJmbG93LmpzJztpbXBvcnR7dXNlSXNUb3BMYXllciBhcyBtfWZyb20nLi91c2UtaXMtdG9wLWxheWVyLmpzJztmdW5jdGlvbiBmKGUsYyxuPSgpPT5bZG9jdW1lbnQuYm9keV0pe2xldCByPW0oZSxcInNjcm9sbC1sb2NrXCIpO2wocixjLHQ9Pnt2YXIgbztyZXR1cm57Y29udGFpbmVyczpbLi4uKG89dC5jb250YWluZXJzKSE9bnVsbD9vOltdLG5dfX0pfWV4cG9ydHtmIGFzIHVzZVNjcm9sbExvY2t9O1xuIl0sIm5hbWVzIjpbInVzZURvY3VtZW50T3ZlcmZsb3dMb2NrZWRFZmZlY3QiLCJsIiwidXNlSXNUb3BMYXllciIsIm0iLCJmIiwiZSIsImMiLCJuIiwiZG9jdW1lbnQiLCJib2R5IiwiciIsInQiLCJvIiwiY29udGFpbmVycyIsInVzZVNjcm9sbExvY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js":
 | 
						||
/*!*************************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zZXJ2ZXItaGFuZG9mZi1jb21wbGV0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF3QjtBQUFzQztBQUFBLFNBQVNHO0lBQUksSUFBSUMsSUFBRSxPQUFPQyxZQUFVO0lBQVksT0FBTSxtTkFBMEJMLEdBQUMsQ0FBQ00sQ0FBQUEsSUFBR0EsRUFBRUMsb0JBQW9CLEVBQUVQLHlMQUFDQSxFQUFFLElBQUksS0FBSyxHQUFFLElBQUksQ0FBQyxHQUFFLElBQUksQ0FBQ0ksS0FBRyxDQUFDO0FBQUM7QUFBQyxTQUFTSTs7SUFBSSxJQUFJSixJQUFFRCxLQUFJLENBQUNNLEdBQUVDLEVBQUUsR0FBQ1YsMkNBQVUsQ0FBQ0UsOENBQUNBLENBQUNVLGlCQUFpQjtJQUFFLE9BQU9ILEtBQUdQLDhDQUFDQSxDQUFDVSxpQkFBaUIsS0FBRyxDQUFDLEtBQUdGLEVBQUUsQ0FBQyxJQUFHViw0Q0FBVyxDQUFDO1FBQUtTLE1BQUksQ0FBQyxLQUFHQyxFQUFFLENBQUM7SUFBRSxHQUFFO1FBQUNEO0tBQUUsR0FBRVQsNENBQVcsQ0FBQyxJQUFJRSw4Q0FBQ0EsQ0FBQ1ksT0FBTyxJQUFHLEVBQUUsR0FBRVYsSUFBRSxDQUFDLElBQUVLO0FBQUM7R0FBektEO0FBQWdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zZXJ2ZXItaGFuZG9mZi1jb21wbGV0ZS5qcz8zODNkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCphcyB0IGZyb21cInJlYWN0XCI7aW1wb3J0e2VudiBhcyBmfWZyb20nLi4vdXRpbHMvZW52LmpzJztmdW5jdGlvbiBzKCl7bGV0IHI9dHlwZW9mIGRvY3VtZW50PT1cInVuZGVmaW5lZFwiO3JldHVyblwidXNlU3luY0V4dGVybmFsU3RvcmVcImluIHQ/KG89Pm8udXNlU3luY0V4dGVybmFsU3RvcmUpKHQpKCgpPT4oKT0+e30sKCk9PiExLCgpPT4hcik6ITF9ZnVuY3Rpb24gbCgpe2xldCByPXMoKSxbZSxuXT10LnVzZVN0YXRlKGYuaXNIYW5kb2ZmQ29tcGxldGUpO3JldHVybiBlJiZmLmlzSGFuZG9mZkNvbXBsZXRlPT09ITEmJm4oITEpLHQudXNlRWZmZWN0KCgpPT57ZSE9PSEwJiZuKCEwKX0sW2VdKSx0LnVzZUVmZmVjdCgoKT0+Zi5oYW5kb2ZmKCksW10pLHI/ITE6ZX1leHBvcnR7bCBhcyB1c2VTZXJ2ZXJIYW5kb2ZmQ29tcGxldGV9O1xuIl0sIm5hbWVzIjpbInQiLCJlbnYiLCJmIiwicyIsInIiLCJkb2N1bWVudCIsIm8iLCJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsImwiLCJlIiwibiIsInVzZVN0YXRlIiwiaXNIYW5kb2ZmQ29tcGxldGUiLCJ1c2VFZmZlY3QiLCJoYW5kb2ZmIiwidXNlU2VydmVySGFuZG9mZkNvbXBsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-store.js":
 | 
						||
/*!*******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2QztBQUFBLFNBQVNFLEVBQUVDLENBQUM7SUFBRSxPQUFPRiwyREFBQ0EsQ0FBQ0UsRUFBRUMsU0FBUyxFQUFDRCxFQUFFRSxXQUFXLEVBQUNGLEVBQUVFLFdBQVc7QUFBQztBQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9ob29rcy91c2Utc3RvcmUuanM/ZWZlNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlU3luY0V4dGVybmFsU3RvcmUgYXMgZX1mcm9tXCJyZWFjdFwiO2Z1bmN0aW9uIG8odCl7cmV0dXJuIGUodC5zdWJzY3JpYmUsdC5nZXRTbmFwc2hvdCx0LmdldFNuYXBzaG90KX1leHBvcnR7byBhcyB1c2VTdG9yZX07XG4iXSwibmFtZXMiOlsidXNlU3luY0V4dGVybmFsU3RvcmUiLCJlIiwibyIsInQiLCJzdWJzY3JpYmUiLCJnZXRTbmFwc2hvdCIsInVzZVN0b3JlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-store.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js":
 | 
						||
/*!***********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event.js\");\n\n\nlet u = Symbol();\nfunction T(t, n = !0) {\n    return Object.assign(t, {\n        [u]: n\n    });\n}\n_c = T;\nfunction y(...t) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QztBQUEwQztBQUFBLElBQUlNLElBQUVDO0FBQVMsU0FBU0MsRUFBRUMsQ0FBQyxFQUFDQyxJQUFFLENBQUMsQ0FBQztJQUFFLE9BQU9DLE9BQU9DLE1BQU0sQ0FBQ0gsR0FBRTtRQUFDLENBQUNILEVBQUUsRUFBQ0k7SUFBQztBQUFFO0tBQXpDRjtBQUEwQyxTQUFTSyxFQUFFLEdBQUdKLENBQUM7SUFBRSxJQUFJQyxJQUFFUCw2Q0FBQ0EsQ0FBQ007SUFBR1IsZ0RBQUNBLENBQUM7UUFBS1MsRUFBRUksT0FBTyxHQUFDTDtJQUFDLEdBQUU7UUFBQ0E7S0FBRTtJQUFFLElBQUlNLElBQUVWLHVEQUFDQSxDQUFDVyxDQUFBQTtRQUFJLEtBQUksSUFBSUMsS0FBS1AsRUFBRUksT0FBTyxDQUFDRyxLQUFHLFFBQU8sUUFBT0EsS0FBRyxhQUFXQSxFQUFFRCxLQUFHQyxFQUFFSCxPQUFPLEdBQUNFLENBQUFBO0lBQUU7SUFBRyxPQUFPUCxFQUFFUyxLQUFLLENBQUNGLENBQUFBLElBQUdBLEtBQUcsUUFBT0EsQ0FBQUEsS0FBRyxPQUFLLEtBQUssSUFBRUEsQ0FBQyxDQUFDVixFQUFFLEtBQUcsS0FBSyxJQUFFUztBQUFDO0FBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS1zeW5jLXJlZnMuanM/OWZlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlRWZmZWN0IGFzIGwsdXNlUmVmIGFzIGl9ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlRXZlbnQgYXMgcn1mcm9tJy4vdXNlLWV2ZW50LmpzJztsZXQgdT1TeW1ib2woKTtmdW5jdGlvbiBUKHQsbj0hMCl7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx7W3VdOm59KX1mdW5jdGlvbiB5KC4uLnQpe2xldCBuPWkodCk7bCgoKT0+e24uY3VycmVudD10fSxbdF0pO2xldCBjPXIoZT0+e2ZvcihsZXQgbyBvZiBuLmN1cnJlbnQpbyE9bnVsbCYmKHR5cGVvZiBvPT1cImZ1bmN0aW9uXCI/byhlKTpvLmN1cnJlbnQ9ZSl9KTtyZXR1cm4gdC5ldmVyeShlPT5lPT1udWxsfHwoZT09bnVsbD92b2lkIDA6ZVt1XSkpP3ZvaWQgMDpjfWV4cG9ydHtUIGFzIG9wdGlvbmFsUmVmLHkgYXMgdXNlU3luY1JlZnN9O1xuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsImwiLCJ1c2VSZWYiLCJpIiwidXNlRXZlbnQiLCJyIiwidSIsIlN5bWJvbCIsIlQiLCJ0IiwibiIsIk9iamVjdCIsImFzc2lnbiIsInkiLCJjdXJyZW50IiwiYyIsImUiLCJvIiwiZXZlcnkiLCJvcHRpb25hbFJlZiIsInVzZVN5bmNSZWZzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-tab-direction.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10YWItZGlyZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBK0I7QUFBdUQ7QUFBQSxJQUFJSSxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRCxDQUFDLENBQUNBLEVBQUVFLFNBQVMsR0FBQyxFQUFFLEdBQUMsYUFBWUYsQ0FBQUEsQ0FBQyxFQUFHRCxLQUFHLENBQUM7QUFBRyxTQUFTSTtJQUFJLElBQUlDLElBQUVSLDZDQUFDQSxDQUFDO0lBQUcsT0FBT0Usb0VBQUNBLENBQUMsQ0FBQyxHQUFFLFdBQVVFLENBQUFBO1FBQUlBLEVBQUVLLEdBQUcsS0FBRyxTQUFRRCxDQUFBQSxFQUFFRSxPQUFPLEdBQUNOLEVBQUVPLFFBQVEsR0FBQyxJQUFFO0lBQUUsR0FBRSxDQUFDLElBQUdIO0FBQUM7QUFBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXRhYi1kaXJlY3Rpb24uanM/OWFiZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlUmVmIGFzIG99ZnJvbVwicmVhY3RcIjtpbXBvcnR7dXNlV2luZG93RXZlbnQgYXMgdH1mcm9tJy4vdXNlLXdpbmRvdy1ldmVudC5qcyc7dmFyIGE9KHI9PihyW3IuRm9yd2FyZHM9MF09XCJGb3J3YXJkc1wiLHJbci5CYWNrd2FyZHM9MV09XCJCYWNrd2FyZHNcIixyKSkoYXx8e30pO2Z1bmN0aW9uIHUoKXtsZXQgZT1vKDApO3JldHVybiB0KCEwLFwia2V5ZG93blwiLHI9PntyLmtleT09PVwiVGFiXCImJihlLmN1cnJlbnQ9ci5zaGlmdEtleT8xOjApfSwhMCksZX1leHBvcnR7YSBhcyBEaXJlY3Rpb24sdSBhcyB1c2VUYWJEaXJlY3Rpb259O1xuIl0sIm5hbWVzIjpbInVzZVJlZiIsIm8iLCJ1c2VXaW5kb3dFdmVudCIsInQiLCJhIiwiciIsIkZvcndhcmRzIiwiQmFja3dhcmRzIiwidSIsImUiLCJrZXkiLCJjdXJyZW50Iiwic2hpZnRLZXkiLCJEaXJlY3Rpb24iLCJ1c2VUYWJEaXJlY3Rpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-tab-direction.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-transition.js":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ R; },\n/* harmony export */   useTransition: function() { return /* binding */ x; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _use_disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-disposables.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js\");\nvar T, b;\n\n\n\n\n\ntypeof process != \"undefined\" && typeof globalThis != \"undefined\" && typeof Element != \"undefined\" && ((T = process == null ? void 0 : process.env) == null ? void 0 : T[\"NODE_ENV\"]) === \"test\" && typeof ((b = Element == null ? void 0 : Element.prototype) == null ? void 0 : b.getAnimations) == \"undefined\" && (Element.prototype.getAnimations = function() {\n    return console.warn([\n        \"Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.\",\n        \"Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.\",\n        \"\",\n        \"Example usage:\",\n        \"```js\",\n        \"import { mockAnimationsApi } from 'jsdom-testing-mocks'\",\n        \"mockAnimationsApi()\",\n        \"```\"\n    ].join(`\n`)), [];\n});\nvar L = ((r)=>(r[r.None = 0] = \"None\", r[r.Closed = 1] = \"Closed\", r[r.Enter = 2] = \"Enter\", r[r.Leave = 4] = \"Leave\", r))(L || {});\nfunction R(t) {\n    let n = {};\n    for(let e in t)t[e] === !0 && (n[`data-${e}`] = \"\");\n    return n;\n}\n_c = R;\nfunction x(t, n, e, i) {\n    let [r, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(e), { hasFlag: s, addFlag: a, removeFlag: l } = (0,_use_flags_js__WEBPACK_IMPORTED_MODULE_1__.useFlags)(t && r ? 3 : 0), u = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), f = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1), E = (0,_use_disposables_js__WEBPACK_IMPORTED_MODULE_2__.useDisposables)();\n    return (0,_use_iso_morphic_effect_js__WEBPACK_IMPORTED_MODULE_3__.useIsoMorphicEffect)(()=>{\n        var d;\n        if (t) {\n            if (e && o(!0), !n) {\n                e && a(3);\n                return;\n            }\n            return (d = i == null ? void 0 : i.start) == null || d.call(i, e), C(n, {\n                inFlight: u,\n                prepare () {\n                    f.current ? f.current = !1 : f.current = u.current, u.current = !0, !f.current && (e ? (a(3), l(4)) : (a(4), l(2)));\n                },\n                run () {\n                    f.current ? e ? (l(3), a(4)) : (l(4), a(3)) : e ? l(1) : a(1);\n                },\n                done () {\n                    var p;\n                    f.current && typeof n.getAnimations == \"function\" && n.getAnimations().length > 0 || (u.current = !1, l(7), e || o(!1), (p = i == null ? void 0 : i.end) == null || p.call(i, e));\n                }\n            });\n        }\n    }, [\n        t,\n        e,\n        n,\n        E\n    ]), t ? [\n        r,\n        {\n            closed: s(1),\n            enter: s(2),\n            leave: s(4),\n            transition: s(2) || s(4)\n        }\n    ] : [\n        e,\n        {\n            closed: void 0,\n            enter: void 0,\n            leave: void 0,\n            transition: void 0\n        }\n    ];\n}\nfunction C(t, { prepare: n, run: e, done: i, inFlight: r }) {\n    let o = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n    return j(t, {\n        prepare: n,\n        inFlight: r\n    }), o.nextFrame(()=>{\n        e(), o.requestAnimationFrame(()=>{\n            o.add(M(t, i));\n        });\n    }), o.dispose;\n}\n_c1 = C;\nfunction M(t, n) {\n    var o, s;\n    let e = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_4__.disposables)();\n    if (!t) return e.dispose;\n    let i = !1;\n    e.add(()=>{\n        i = !0;\n    });\n    let r = (s = (o = t.getAnimations) == null ? void 0 : o.call(t).filter((a)=>a instanceof CSSTransition)) != null ? s : [];\n    return r.length === 0 ? (n(), e.dispose) : (Promise.allSettled(r.map((a)=>a.finished)).then(()=>{\n        i || n();\n    }), e.dispose);\n}\n_c2 = M;\nfunction j(t, { inFlight: n, prepare: e }) {\n    if (n != null && n.current) {\n        e();\n        return;\n    }\n    let i = t.style.transition;\n    t.style.transition = \"none\", e(), t.offsetHeight, t.style.transition = i;\n}\n\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"R\");\n$RefreshReg$(_c1, \"C\");\n$RefreshReg$(_c2, \"M\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS10cmFuc2l0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBSUEsR0FBRUM7QUFBK0M7QUFBc0Q7QUFBc0Q7QUFBMEM7QUFBa0U7QUFBQSxPQUFPYSxPQUFPQSxJQUFFLGVBQWEsT0FBT0MsY0FBWSxlQUFhLE9BQU9DLFdBQVMsZUFBYSxDQUFDLENBQUNoQixJQUFFYyxPQUFPQSxJQUFFLE9BQUssS0FBSyxJQUFFQSxPQUFPQSxDQUFDRyxHQUFHLEtBQUcsT0FBSyxLQUFLLElBQUVqQixDQUFDLENBQUMsV0FBVyxNQUFJLFVBQVEsT0FBTyxFQUFDQyxJQUFFZSxXQUFTLE9BQUssS0FBSyxJQUFFQSxRQUFRRSxTQUFTLEtBQUcsT0FBSyxLQUFLLElBQUVqQixFQUFFa0IsYUFBYSxLQUFHLGVBQWNILENBQUFBLFFBQVFFLFNBQVMsQ0FBQ0MsYUFBYSxHQUFDO0lBQVcsT0FBT0MsUUFBUUMsSUFBSSxDQUFDO1FBQUM7UUFBK0U7UUFBMEY7UUFBRztRQUFpQjtRQUFRO1FBQTBEO1FBQXNCO0tBQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUM7QUFDcDNCLENBQUMsSUFBRyxFQUFFO0FBQUE7QUFBRyxJQUFJQyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQyxDQUFDQSxFQUFFRyxLQUFLLEdBQUMsRUFBRSxHQUFDLFNBQVFILENBQUMsQ0FBQ0EsRUFBRUksS0FBSyxHQUFDLEVBQUUsR0FBQyxTQUFRSixDQUFBQSxD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QVksRUFBQzdDLEVBQUU0QyxLQUFLLENBQUNkLFVBQVUsR0FBQzFCO0FBQUM7QUFBMEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXRyYW5zaXRpb24uanM/MDM1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgVCxiO2ltcG9ydHt1c2VSZWYgYXMgYyx1c2VTdGF0ZSBhcyBTfWZyb21cInJlYWN0XCI7aW1wb3J0e2Rpc3Bvc2FibGVzIGFzIG19ZnJvbScuLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e3VzZURpc3Bvc2FibGVzIGFzIGd9ZnJvbScuL3VzZS1kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e3VzZUZsYWdzIGFzIHl9ZnJvbScuL3VzZS1mbGFncy5qcyc7aW1wb3J0e3VzZUlzb01vcnBoaWNFZmZlY3QgYXMgQX1mcm9tJy4vdXNlLWlzby1tb3JwaGljLWVmZmVjdC5qcyc7dHlwZW9mIHByb2Nlc3MhPVwidW5kZWZpbmVkXCImJnR5cGVvZiBnbG9iYWxUaGlzIT1cInVuZGVmaW5lZFwiJiZ0eXBlb2YgRWxlbWVudCE9XCJ1bmRlZmluZWRcIiYmKChUPXByb2Nlc3M9PW51bGw/dm9pZCAwOnByb2Nlc3MuZW52KT09bnVsbD92b2lkIDA6VFtcIk5PREVfRU5WXCJdKT09PVwidGVzdFwiJiZ0eXBlb2YoKGI9RWxlbWVudD09bnVsbD92b2lkIDA6RWxlbWVudC5wcm90b3R5cGUpPT1udWxsP3ZvaWQgMDpiLmdldEFuaW1hdGlvbnMpPT1cInVuZGVmaW5lZFwiJiYoRWxlbWVudC5wcm90b3R5cGUuZ2V0QW5pbWF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oW1wiSGVhZGxlc3MgVUkgaGFzIHBvbHlmaWxsZWQgYEVsZW1lbnQucHJvdG90eXBlLmdldEFuaW1hdGlvbnNgIGZvciB5b3VyIHRlc3RzLlwiLFwiUGxlYXNlIGluc3RhbGwgYSBwcm9wZXIgcG9seWZpbGwgZS5nLiBganNkb20tdGVzdGluZy1tb2Nrc2AsIHRvIHNpbGVuY2UgdGhlc2Ugd2FybmluZ3MuXCIsXCJcIixcIkV4YW1wbGUgdXNhZ2U6XCIsXCJgYGBqc1wiLFwiaW1wb3J0IHsgbW9ja0FuaW1hdGlvbnNBcGkgfSBmcm9tICdqc2RvbS10ZXN0aW5nLW1vY2tzJ1wiLFwibW9ja0FuaW1hdGlvbnNBcGkoKVwiLFwiYGBgXCJdLmpvaW4oYFxuYCkpLFtdfSk7dmFyIEw9KHI9PihyW3IuTm9uZT0wXT1cIk5vbmVcIixyW3IuQ2xvc2VkPTFdPVwiQ2xvc2VkXCIscltyLkVudGVyPTJdPVwiRW50ZXJcIixyW3IuTGVhdmU9NF09XCJMZWF2ZVwiLHIpKShMfHx7fSk7ZnVuY3Rpb24gUih0KXtsZXQgbj17fTtmb3IobGV0IGUgaW4gdCl0W2VdPT09ITAmJihuW2BkYXRhLSR7ZX1gXT1cIlwiKTtyZXR1cm4gbn1mdW5jdGlvbiB4KHQsbixlLGkpe2xldFtyLG9dPVMoZSkse2hhc0ZsYWc6cyxhZGRGbGFnOmEscmVtb3ZlRmxhZzpsfT15KHQmJnI/MzowKSx1PWMoITEpLGY9YyghMSksRT1nKCk7cmV0dXJuIEEoKCk9Pnt2YXIgZDtpZih0KXtpZihlJiZvKCEwKSwhbil7ZSYmYSgzKTtyZXR1cm59cmV0dXJuKGQ9aT09bnVsbD92b2lkIDA6aS5zdGFydCk9PW51bGx8fGQuY2FsbChpLGUpLEMobix7aW5GbGlnaHQ6dSxwcmVwYXJlKCl7Zi5jdXJyZW50P2YuY3VycmVudD0hMTpmLmN1cnJlbnQ9dS5jdXJyZW50LHUuY3VycmVudD0hMCwhZi5jdXJyZW50JiYoZT8oYSgzKSxsKDQpKTooYSg0KSxsKDIpKSl9LHJ1bigpe2YuY3VycmVudD9lPyhsKDMpLGEoNCkpOihsKDQpLGEoMykpOmU/bCgxKTphKDEpfSxkb25lKCl7dmFyIHA7Zi5jdXJyZW50JiZ0eXBlb2Ygbi5nZXRBbmltYXRpb25zPT1cImZ1bmN0aW9uXCImJm4uZ2V0QW5pbWF0aW9ucygpLmxlbmd0aD4wfHwodS5jdXJyZW50PSExLGwoNyksZXx8byghMSksKHA9aT09bnVsbD92b2lkIDA6aS5lbmQpPT1udWxsfHxwLmNhbGwoaSxlKSl9fSl9fSxbdCxlLG4sRV0pLHQ/W3Ise2Nsb3NlZDpzKDEpLGVudGVyOnMoMiksbGVhdmU6cyg0KSx0cmFuc2l0aW9uOnMoMil8fHMoNCl9XTpbZSx7Y2xvc2VkOnZvaWQgMCxlbnRlcjp2b2lkIDAsbGVhdmU6dm9pZCAwLHRyYW5zaXRpb246dm9pZCAwfV19ZnVuY3Rpb24gQyh0LHtwcmVwYXJlOm4scnVuOmUsZG9uZTppLGluRmxpZ2h0OnJ9KXtsZXQgbz1tKCk7cmV0dXJuIGoodCx7cHJlcGFyZTpuLGluRmxpZ2h0OnJ9KSxvLm5leHRGcmFtZSgoKT0+e2UoKSxvLnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e28uYWRkKE0odCxpKSl9KX0pLG8uZGlzcG9zZX1mdW5jdGlvbiBNKHQsbil7dmFyIG8scztsZXQgZT1tKCk7aWYoIXQpcmV0dXJuIGUuZGlzcG9zZTtsZXQgaT0hMTtlLmFkZCgoKT0+e2k9ITB9KTtsZXQgcj0ocz0obz10LmdldEFuaW1hdGlvbnMpPT1udWxsP3ZvaWQgMDpvLmNhbGwodCkuZmlsdGVyKGE9PmEgaW5zdGFuY2VvZiBDU1NUcmFuc2l0aW9uKSkhPW51bGw/czpbXTtyZXR1cm4gci5sZW5ndGg9PT0wPyhuKCksZS5kaXNwb3NlKTooUHJvbWlzZS5hbGxTZXR0bGVkKHIubWFwKGE9PmEuZmluaXNoZWQpKS50aGVuKCgpPT57aXx8bigpfSksZS5kaXNwb3NlKX1mdW5jdGlvbiBqKHQse2luRmxpZ2h0Om4scHJlcGFyZTplfSl7aWYobiE9bnVsbCYmbi5jdXJyZW50KXtlKCk7cmV0dXJufWxldCBpPXQuc3R5bGUudHJhbnNpdGlvbjt0LnN0eWxlLnRyYW5zaXRpb249XCJub25lXCIsZSgpLHQub2Zmc2V0SGVpZ2h0LHQuc3R5bGUudHJhbnNpdGlvbj1pfWV4cG9ydHtSIGFzIHRyYW5zaXRpb25EYXRhQXR0cmlidXRlcyx4IGFzIHVzZVRyYW5zaXRpb259O1xuIl0sIm5hbWVzIjpbIlQiLCJiIiwidXNlUmVmIiwiYyIsInVzZVN0YXRlIiwiUyIsImRpc3Bvc2FibGVzIiwibSIsInVzZURpc3Bvc2FibGVzIiwiZyIsInVzZUZsYWdzIiwieSIsInVzZUlzb01vcnBoaWNFZmZlY3QiLCJBIiwicHJvY2VzcyIsImdsb2JhbFRoaXMiLCJFbGVtZW50IiwiZW52IiwicHJvdG90eXBlIiwiZ2V0QW5pbWF0aW9ucyIsImNvbnNvbGUiLCJ3YXJuIiwiam9pbiIsIkwiLCJyIiwiTm9uZSIsIkNsb3NlZCIsIkVudGVyIiwiTGVhdmUiLCJSIiwidCIsIm4iLCJlIiwieCIsImkiLCJvIiwiaGFzRmxhZyIsInMiLCJhZGRGbGFnIiwiYSIsInJlbW92ZUZsYWciLCJsIiwidSIsImYiLCJFIiwiZCIsInN0YXJ0IiwiY2FsbCIsIkMiLCJpbkZsaWdodCIsInByZXBhcmUiLCJjdXJyZW50IiwicnVuIiwiZG9uZSIsInAiLCJsZW5ndGgiLCJlbmQiLCJjbG9zZWQiLCJlbnRlciIsImxlYXZlIiwidHJhbnNpdGlvbiIsImoiLCJuZXh0RnJhbWUiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJhZGQiLCJNIiwiZGlzcG9zZSIsImZpbHRlciIsIkNTU1RyYW5zaXRpb24iLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsIm1hcCIsImZpbmlzaGVkIiwidGhlbiIsInN0eWxlIiwib2Zmc2V0SGVpZ2h0IiwidHJhbnNpdGlvbkRhdGFBdHRyaWJ1dGVzIiwidXNlVHJhbnNpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-transition.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-window-event.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2hvb2tzL3VzZS13aW5kb3ctZXZlbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWtDO0FBQXVEO0FBQUEsU0FBU0ksRUFBRUMsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDLElBQUVOLG9FQUFDQSxDQUFDSTtJQUFHTixnREFBQ0EsQ0FBQztRQUFLLElBQUcsQ0FBQ0ksR0FBRTtRQUFPLFNBQVNLLEVBQUVDLENBQUM7WUFBRUYsRUFBRUcsT0FBTyxDQUFDRDtRQUFFO1FBQUMsT0FBT0UsT0FBT0MsZ0JBQWdCLENBQUNSLEdBQUVJLEdBQUVGLElBQUcsSUFBSUssT0FBT0UsbUJBQW1CLENBQUNULEdBQUVJLEdBQUVGO0lBQUUsR0FBRTtRQUFDSDtRQUFFQztRQUFFRTtLQUFFO0FBQUM7QUFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaG9va3MvdXNlLXdpbmRvdy1ldmVudC5qcz8yNzYyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHt1c2VFZmZlY3QgYXMgYX1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VMYXRlc3RWYWx1ZSBhcyBmfWZyb20nLi91c2UtbGF0ZXN0LXZhbHVlLmpzJztmdW5jdGlvbiBzKHQsZSxvLG4pe2xldCBpPWYobyk7YSgoKT0+e2lmKCF0KXJldHVybjtmdW5jdGlvbiByKGQpe2kuY3VycmVudChkKX1yZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSxyLG4pLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHIsbil9LFt0LGUsbl0pfWV4cG9ydHtzIGFzIHVzZVdpbmRvd0V2ZW50fTtcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJhIiwidXNlTGF0ZXN0VmFsdWUiLCJmIiwicyIsInQiLCJlIiwibyIsIm4iLCJpIiwiciIsImQiLCJjdXJyZW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ1c2VXaW5kb3dFdmVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-window-event.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/close-provider.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ C; },\n/* harmony export */   useClose: function() { return /* binding */ u; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* __next_internal_client_entry_do_not_use__ CloseProvider,useClose auto */ \nlet e = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(()=>{});\nfunction u() {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(e);\n}\nfunction C({ value: t, children: o }) {\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(e.Provider, {\n        value: t\n    }, o);\n}\n_c = C;\n\nvar _c;\n$RefreshReg$(_c, \"C\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs0RUFBc0U7QUFBQSxJQUFJSyxrQkFBRUgsb0RBQUNBLENBQUMsS0FBSztBQUFHLFNBQVNJO0lBQUksT0FBT0YsaURBQUNBLENBQUNDO0FBQUU7QUFBQyxTQUFTRSxFQUFFLEVBQUNDLE9BQU1DLENBQUMsRUFBQ0MsVUFBU0MsQ0FBQyxFQUFDO0lBQUUscUJBQU9YLGdEQUFlLENBQUNLLEVBQUVRLFFBQVEsRUFBQztRQUFDTCxPQUFNQztJQUFDLEdBQUVFO0FBQUU7S0FBdEVKO0FBQWdIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Nsb3NlLXByb3ZpZGVyLmpzPzc3NmIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7aW1wb3J0IHIse2NyZWF0ZUNvbnRleHQgYXMgbix1c2VDb250ZXh0IGFzIGl9ZnJvbVwicmVhY3RcIjtsZXQgZT1uKCgpPT57fSk7ZnVuY3Rpb24gdSgpe3JldHVybiBpKGUpfWZ1bmN0aW9uIEMoe3ZhbHVlOnQsY2hpbGRyZW46b30pe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoZS5Qcm92aWRlcix7dmFsdWU6dH0sbyl9ZXhwb3J0e0MgYXMgQ2xvc2VQcm92aWRlcix1IGFzIHVzZUNsb3NlfTtcbiJdLCJuYW1lcyI6WyJyIiwiY3JlYXRlQ29udGV4dCIsIm4iLCJ1c2VDb250ZXh0IiwiaSIsImUiLCJ1IiwiQyIsInZhbHVlIiwidCIsImNoaWxkcmVuIiwibyIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsIkNsb3NlUHJvdmlkZXIiLCJ1c2VDbG9zZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/close-provider.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/floating.js":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ Ae; },\n/* harmony export */   useFloatingPanel: function() { return /* binding */ Re; },\n/* harmony export */   useFloatingPanelProps: function() { return /* binding */ Te; },\n/* harmony export */   useFloatingReference: function() { return /* binding */ Fe; },\n/* harmony export */   useFloatingReferenceProps: function() { return /* binding */ be; },\n/* harmony export */   useResolvedAnchor: function() { return /* binding */ ye; }\n/* harmony export */ });\n/* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@floating-ui+react@0.26.28_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@floating-ui+react-dom@2.1.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\");\n/* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @floating-ui/react */ \"(app-pages-browser)/./node_modules/.pnpm/@floating-ui+dom@1.7.3/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _hooks_use_disposables_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../hooks/use-disposables.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-disposables.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-event.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js\");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n\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 $ = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\n$.displayName = \"PlacementContext\";\nfunction ye(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 Fe() {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y).setReference;\n}\n_c = Fe;\nfunction be() {\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y).getReferenceProps;\n}\nfunction Te() {\n    let { getFloatingProps: e, slot: t } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y);\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...n)=>Object.assign({}, e(...n), {\n            \"data-anchor\": t.anchor\n        }), [\n        e,\n        t\n    ]);\n}\n_c1 = Te;\nfunction Re(e = null) {\n    e === !1 && (e = null), typeof e == \"string\" && (e = {\n        to: e\n    });\n    let t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)($), n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>e, [\n        JSON.stringify(e, (l, o)=>{\n            var u;\n            return (u = o == null ? void 0 : o.outerHTML) != null ? u : o;\n        })\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 r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(y);\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>[\n            r.setFloating,\n            e ? r.styles : {}\n        ], [\n        r.setFloating,\n        e,\n        r.styles\n    ]);\n}\n_c2 = Re;\nlet D = 4;\nfunction Ae({ children: e, enabled: t = !0 }) {\n    let [n, r] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), [l, o] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0), u = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null), [f, s] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n    ce(f);\n    let i = t && n !== null && f !== null, { to: F = \"bottom\", gap: E = 0, offset: A = 0, padding: c = 0, inner: h } = ge(n, f), [a, p = \"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: S, context: g } = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.useFloating)({\n        open: i,\n        placement: a === \"selection\" ? p === \"center\" ? \"bottom\" : `bottom-${p}` : p === \"center\" ? `${a}` : `${a}-${p}`,\n        strategy: \"absolute\",\n        transform: !1,\n        middleware: [\n            (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.offset)({\n                mainAxis: a === \"selection\" ? 0 : E,\n                crossAxis: A\n            }),\n            (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.shift)({\n                padding: c\n            }),\n            a !== \"selection\" && (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.flip)({\n                padding: c\n            }),\n            a === \"selection\" && h ? (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.inner)({\n                ...h,\n                padding: c,\n                overflowRef: u,\n                offset: l,\n                minItemsVisible: D,\n                referenceOverflowThreshold: c,\n                onFallbackChange (P) {\n                    var L, N;\n                    if (!P) return;\n                    let d = g.elements.floating;\n                    if (!d) return;\n                    let M = parseFloat(getComputedStyle(d).scrollPaddingBottom) || 0, I = Math.min(D, d.childElementCount), W = 0, B = 0;\n                    for (let m of (N = (L = g.elements.floating) == null ? void 0 : L.childNodes) != null ? N : [])if (_utils_dom_js__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement(m)) {\n                        let x = m.offsetTop, k = x + m.clientHeight + M, H = d.scrollTop, U = H + d.clientHeight;\n                        if (x >= H && k <= U) I--;\n                        else {\n                            B = Math.max(0, Math.min(k, U) - Math.max(x, H)), W = m.clientHeight;\n                            break;\n                        }\n                    }\n                    I >= 1 && o((m)=>{\n                        let x = W * I - B + M;\n                        return m >= x ? m : x;\n                    });\n                }\n            }) : null,\n            (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_3__.size)({\n                padding: c,\n                apply ({ availableWidth: P, availableHeight: d, elements: M }) {\n                    Object.assign(M.floating.style, {\n                        overflow: \"auto\",\n                        maxWidth: `${P}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_5__.autoUpdate\n    }), [w = a, V = p] = g.placement.split(\"-\");\n    a === \"selection\" && (w = \"selection\");\n    let G = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n            anchor: [\n                w,\n                V\n            ].filter(Boolean).join(\" \")\n        }), [\n        w,\n        V\n    ]), K = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_2__.useInnerOffset)(g, {\n        overflowRef: u,\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_6__.useEvent)((P)=>{\n        s(P), b.setFloating(P);\n    });\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement($.Provider, {\n        value: r\n    }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(y.Provider, {\n        value: {\n            setFloating: Y,\n            setReference: b.setReference,\n            styles: S,\n            getReferenceProps: Q,\n            getFloatingProps: X,\n            slot: G\n        }\n    }, e));\n}\n_c3 = Ae;\nfunction ce(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, r = parseFloat(n);\n            if (isNaN(r)) return;\n            let l = parseInt(n);\n            isNaN(l) || r !== l && (e.style.maxHeight = `${Math.ceil(r)}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 ge(e, t) {\n    var o, u, f;\n    let n = O((o = e == null ? void 0 : e.gap) != null ? o : \"var(--anchor-gap, 0)\", t), r = O((u = e == null ? void 0 : e.offset) != null ? u : \"var(--anchor-offset, 0)\", t), l = O((f = e == null ? void 0 : e.padding) != null ? f : \"var(--anchor-padding, 0)\", t);\n    return {\n        ...e,\n        gap: n,\n        offset: r,\n        padding: l\n    };\n}\nfunction O(e, t, n = void 0) {\n    let r = (0,_hooks_use_disposables_js__WEBPACK_IMPORTED_MODULE_7__.useDisposables)(), l = (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_6__.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                (E)=>{\n                    let A = q(s);\n                    {\n                        let c = A.map((h)=>window.getComputedStyle(i).getPropertyValue(h));\n                        r.requestAnimationFrame(function h() {\n                            r.nextFrame(h);\n                            let a = !1;\n                            for (let [b, S] of A.entries()){\n                                let g = window.getComputedStyle(i).getPropertyValue(S);\n                                if (c[b] !== g) {\n                                    c[b] = g, a = !0;\n                                    break;\n                                }\n                            }\n                            if (!a) return;\n                            let p = J(s, i);\n                            F !== p && (E(p), F = p);\n                        });\n                    }\n                    return r.dispose;\n                }\n            ];\n        }\n        return [\n            n,\n            null\n        ];\n    }), o = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>l(e, t)[0], [\n        e,\n        t\n    ]), [u = o, f] = (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] = l(e, t);\n        if (f(s), !!i) return i(f);\n    }, [\n        e,\n        t\n    ]), u;\n}\n_c4 = O;\nfunction q(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 r = t[1].slice(0, n).trim(), l = t[1].slice(n + 1).trim();\n        return l ? [\n            r,\n            ...q(l)\n        ] : [\n            r\n        ];\n    }\n    return [];\n}\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 r = parseFloat(window.getComputedStyle(n).marginTop) || 0;\n    return t.removeChild(n), r;\n}\n_c5 = J;\n\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"Fe\");\n$RefreshReg$(_c1, \"Te\");\n$RefreshReg$(_c2, \"Re\");\n$RefreshReg$(_c3, \"Ae\");\n$RefreshReg$(_c4, \"O\");\n$RefreshReg$(_c5, \"J\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Zsb2F0aW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXdLO0FBQXdCO0FBQWdIO0FBQThEO0FBQWlEO0FBQXlFO0FBQW1DO0FBQUEsSUFBSXNDLGtCQUFFbEIsb0RBQUNBLENBQUM7SUFBQ21CLFFBQU8sS0FBSztJQUFFQyxjQUFhLEtBQUs7SUFBRUMsYUFBWSxLQUFLO0lBQUVDLG1CQUFrQixJQUFLLEVBQUM7SUFBR0Msa0JBQWlCLElBQUssRUFBQztJQUFHQyxNQUFLLENBQUM7QUFBQztBQUFHTixFQUFFTyxXQUFXLEdBQUM7QUFBa0IsSUFBSUMsa0JBQUUxQixvREFBQ0EsQ0FBQztBQUFNMEIsRUFBRUQsV0FBVyxHQUFDO0FBQW1CLFNBQVNFLEdBQUdDLENBQUM7SUFBRSxPQUFPdEIsOENBQUNBLENBQUMsSUFBSXNCLElBQUUsT0FBT0EsS0FBRyxXQUFTO1lBQUNDLElBQUdEO1FBQUMsSUFBRUEsSUFBRSxNQUFLO1FBQUNBO0tBQUU7QUFBQztBQUFDLFNBQVNFO0lBQUssT0FBTzFCLGlEQUFDQSxDQUFDYyxHQUFHRSxZQUFZO0FBQUE7S0FBN0JVO0FBQThCLFNBQVNDO0lBQUssT0FBTzNCLGlEQUFDQSxDQUFDYyxHQUFHSSxpQkFBaUI7QUFBQTtBQUFDLFNBQVNVO0lBQUssSUFBRyxFQUFDVCxrQkFBaUJLLENBQUMsRUFBQ0osTUFBS1MsQ0FBQyxFQUFDLEdBQUM3QixpREFBQ0EsQ0FBQ2M7SUFBRyxPQUFPaEIsa0RBQUVBLENBQUMsQ0FBQyxHQUFHZ0MsSUFBSUMsT0FBT0MsTUFBTSxDQUFDLENBQUMsR0FBRVIsS0FBS00sSUFBRztZQUFDLGVBQWNELEVBQUVJ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LGNBQWEvSCxHQUFFO0lBQWEsSUFBSWlCLElBQUU0QyxXQUFXMkMsT0FBTzFDLGdCQUFnQixDQUFDeEQsR0FBRzBILFNBQVMsS0FBRztJQUFFLE9BQU8zSCxFQUFFNEgsV0FBVyxDQUFDM0gsSUFBR1c7QUFBQztNQUFuUGdHO0FBQXlaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2Zsb2F0aW5nLmpzPzJhY2UiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e2F1dG9VcGRhdGUgYXMgWixmbGlwIGFzIGVlLGlubmVyIGFzIHRlLG9mZnNldCBhcyBuZSxzaGlmdCBhcyByZSxzaXplIGFzIGxlLHVzZUZsb2F0aW5nIGFzIG9lLHVzZUlubmVyT2Zmc2V0IGFzIGllLHVzZUludGVyYWN0aW9ucyBhcyBzZX1mcm9tXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtpbXBvcnQqYXMgaiBmcm9tXCJyZWFjdFwiO2ltcG9ydHtjcmVhdGVDb250ZXh0IGFzIF8sdXNlQ2FsbGJhY2sgYXMgYWUsdXNlQ29udGV4dCBhcyBULHVzZU1lbW8gYXMgUix1c2VSZWYgYXMgdWUsdXNlU3RhdGUgYXMgdn1mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VEaXNwb3NhYmxlcyBhcyBmZX1mcm9tJy4uL2hvb2tzL3VzZS1kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e3VzZUV2ZW50IGFzIHp9ZnJvbScuLi9ob29rcy91c2UtZXZlbnQuanMnO2ltcG9ydHt1c2VJc29Nb3JwaGljRWZmZWN0IGFzIEN9ZnJvbScuLi9ob29rcy91c2UtaXNvLW1vcnBoaWMtZWZmZWN0LmpzJztpbXBvcnQqYXMgcGUgZnJvbScuLi91dGlscy9kb20uanMnO2xldCB5PV8oe3N0eWxlczp2b2lkIDAsc2V0UmVmZXJlbmNlOigpPT57fSxzZXRGbG9hdGluZzooKT0+e30sZ2V0UmVmZXJlbmNlUHJvcHM6KCk9Pih7fSksZ2V0RmxvYXRpbmdQcm9wczooKT0+KHt9KSxzbG90Ont9fSk7eS5kaXNwbGF5TmFtZT1cIkZsb2F0aW5nQ29udGV4dFwiO2xldCAkPV8obnVsbCk7JC5kaXNwbGF5TmFtZT1cIlBsYWNlbWVudENvbnRleHRcIjtmdW5jdGlvbiB5ZShlKXtyZXR1cm4gUigoKT0+ZT90eXBlb2YgZT09XCJzdHJpbmdcIj97dG86ZX06ZTpudWxsLFtlXSl9ZnVuY3Rpb24gRmUoKXtyZXR1cm4gVCh5KS5zZXRSZWZlcmVuY2V9ZnVuY3Rpb24gYmUoKXtyZXR1cm4gVCh5KS5nZXRSZWZlcmVuY2VQcm9wc31mdW5jdGlvbiBUZSgpe2xldHtnZXRGbG9hdGluZ1Byb3BzOmUsc2xvdDp0fT1UKHkpO3JldHVybiBhZSgoLi4ubik9Pk9iamVjdC5hc3NpZ24oe30sZSguLi5uKSx7XCJkYXRhLWFuY2hvclwiOnQuYW5jaG9yfSksW2UsdF0pfWZ1bmN0aW9uIFJlKGU9bnVsbCl7ZT09PSExJiYoZT1udWxsKSx0eXBlb2YgZT09XCJzdHJpbmdcIiYmKGU9e3RvOmV9KTtsZXQgdD1UKCQpLG49UigoKT0+ZSxbSlNPTi5zdHJpbmdpZnkoZSwobCxvKT0+e3ZhciB1O3JldHVybih1PW89PW51bGw/dm9pZCAwOm8ub3V0ZXJIVE1MKSE9bnVsbD91Om99KV0pO0MoKCk9Pnt0PT1udWxsfHx0KG4hPW51bGw/bjpudWxsKX0sW3Qsbl0pO2xldCByPVQoeSk7cmV0dXJuIFIoKCk9PltyLnNldEZsb2F0aW5nLGU/ci5zdHlsZXM6e31dLFtyLnNldEZsb2F0aW5nLGUsci5zdHlsZXNdKX1sZXQgRD00O2Z1bmN0aW9uIEFlKHtjaGlsZHJlbjplLGVuYWJsZWQ6dD0hMH0pe2xldFtuLHJdPXYobnVsbCksW2wsb109digwKSx1PXVlKG51bGwpLFtmLHNdPXYobnVsbCk7Y2UoZik7bGV0IGk9dCYmbiE9PW51bGwmJmYhPT1udWxsLHt0bzpGPVwiYm90dG9tXCIsZ2FwOkU9MCxvZmZzZXQ6QT0wLHBhZGRpbmc6Yz0wLGlubmVyOmh9PWdlKG4sZiksW2EscD1cImNlbnRlclwiXT1GLnNwbGl0KFwiIFwiKTtDKCgpPT57aSYmbygwKX0sW2ldKTtsZXR7cmVmczpiLGZsb2F0aW5nU3R5bGVzOlMsY29udGV4dDpnfT1vZSh7b3BlbjppLHBsYWNlbWVudDphPT09XCJzZWxlY3Rpb25cIj9wPT09XCJjZW50ZXJcIj9cImJvdHRvbVwiOmBib3R0b20tJHtwfWA6cD09PVwiY2VudGVyXCI/YCR7YX1gOmAke2F9LSR7cH1gLHN0cmF0ZWd5OlwiYWJzb2x1dGVcIix0cmFuc2Zvcm06ITEsbWlkZGxld2FyZTpbbmUoe21haW5BeGlzOmE9PT1cInNlbGVjdGlvblwiPzA6RSxjcm9zc0F4aXM6QX0pLHJlKHtwYWRkaW5nOmN9KSxhIT09XCJzZWxlY3Rpb25cIiYmZWUoe3BhZGRpbmc6Y30pLGE9PT1cInNlbGVjdGlvblwiJiZoP3RlKHsuLi5oLHBhZGRpbmc6YyxvdmVyZmxvd1JlZjp1LG9mZnNldDpsLG1pbkl0ZW1zVmlzaWJsZTpELHJlZmVyZW5jZU92ZXJmbG93VGhyZXNob2xkOmMsb25GYWxsYmFja0NoYW5nZShQKXt2YXIgTCxOO2lmKCFQKXJldHVybjtsZXQgZD1nLmVsZW1lbnRzLmZsb2F0aW5nO2lmKCFkKXJldHVybjtsZXQgTT1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZCkuc2Nyb2xsUGFkZGluZ0JvdHRvbSl8fDAsST1NYXRoLm1pbihELGQuY2hpbGRFbGVtZW50Q291bnQpLFc9MCxCPTA7Zm9yKGxldCBtIG9mKE49KEw9Zy5lbGVtZW50cy5mbG9hdGluZyk9PW51bGw/dm9pZCAwOkwuY2hpbGROb2RlcykhPW51bGw/TjpbXSlpZihwZS5pc0hUTUxFbGVtZW50KG0pKXtsZXQgeD1tLm9mZnNldFRvcCxrPXgrbS5jbGllbnRIZWlnaHQrTSxIPWQuc2Nyb2xsVG9wLFU9SCtkLmNsaWVudEhlaWdodDtpZih4Pj1IJiZrPD1VKUktLTtlbHNle0I9TWF0aC5tYXgoMCxNYXRoLm1pbihrLFUpLU1hdGgubWF4KHgsSCkpLFc9bS5jbGllbnRIZWlnaHQ7YnJlYWt9fUk+PTEmJm8obT0+e2xldCB4PVcqSS1CK007cmV0dXJuIG0+PXg/bTp4fSl9fSk6bnVsbCxsZSh7cGFkZGluZzpjLGFwcGx5KHthdmFpbGFibGVXaWR0aDpQLGF2YWlsYWJsZUhlaWdodDpkLGVsZW1lbnRzOk19KXtPYmplY3QuYXNzaWduKE0uZmxvYXRpbmcuc3R5bGUse292ZXJmbG93OlwiYXV0b1wiLG1heFdpZHRoOmAke1B9cHhgLG1heEhlaWdodDpgbWluKHZhcigtLWFuY2hvci1tYXgtaGVpZ2h0LCAxMDB2aCksICR7ZH1weClgfSl9fSldLmZpbHRlcihCb29sZWFuKSx3aGlsZUVsZW1lbnRzTW91bnRlZDpafSksW3c9YSxWPXBdPWcucGxhY2VtZW50LnNwbGl0KFwiLVwiKTthPT09XCJzZWxlY3Rpb25cIiYmKHc9XCJzZWxlY3Rpb25cIik7bGV0IEc9UigoKT0+KHthbmNob3I6W3csVl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpfSksW3csVl0pLEs9aWUoZyx7b3ZlcmZsb3dSZWY6dSxvbkNoYW5nZTpvfSkse2dldFJlZmVyZW5jZVByb3BzOlEsZ2V0RmxvYXRpbmdQcm9wczpYfT1zZShbS10pLFk9eihQPT57cyhQKSxiLnNldEZsb2F0aW5nKFApfSk7cmV0dXJuIGouY3JlYXRlRWxlbWVudCgkLlByb3ZpZGVyLHt2YWx1ZTpyfSxqLmNyZWF0ZUVsZW1lbnQoeS5Qcm92aWRlcix7dmFsdWU6e3NldEZsb2F0aW5nOlksc2V0UmVmZXJlbmNlOmIuc2V0UmVmZXJlbmNlLHN0eWxlczpTLGdldFJlZmVyZW5jZVByb3BzOlEsZ2V0RmxvYXRpbmdQcm9wczpYLHNsb3Q6R319LGUpKX1mdW5jdGlvbiBjZShlKXtDKCgpPT57aWYoIWUpcmV0dXJuO2xldCB0PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57bGV0IG49d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkubWF4SGVpZ2h0LHI9cGFyc2VGbG9hdChuKTtpZihpc05hTihyKSlyZXR1cm47bGV0IGw9cGFyc2VJbnQobik7aXNOYU4obCl8fHIhPT1sJiYoZS5zdHlsZS5tYXhIZWlnaHQ9YCR7TWF0aC5jZWlsKHIpfXB4YCl9KTtyZXR1cm4gdC5vYnNlcnZlKGUse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOltcInN0eWxlXCJdfSksKCk9Pnt0LmRpc2Nvbm5lY3QoKX19LFtlXSl9ZnVuY3Rpb24gZ2UoZSx0KXt2YXIgbyx1LGY7bGV0IG49Tygobz1lPT1udWxsP3ZvaWQgMDplLmdhcCkhPW51bGw/bzpcInZhcigtLWFuY2hvci1nYXAsIDApXCIsdCkscj1PKCh1PWU9PW51bGw/dm9pZCAwOmUub2Zmc2V0KSE9bnVsbD91OlwidmFyKC0tYW5jaG9yLW9mZnNldCwgMClcIix0KSxsPU8oKGY9ZT09bnVsbD92b2lkIDA6ZS5wYWRkaW5nKSE9bnVsbD9mOlwidmFyKC0tYW5jaG9yLXBhZGRpbmcsIDApXCIsdCk7cmV0dXJuey4uLmUsZ2FwOm4sb2Zmc2V0OnIscGFkZGluZzpsfX1mdW5jdGlvbiBPKGUsdCxuPXZvaWQgMCl7bGV0IHI9ZmUoKSxsPXooKHMsaSk9PntpZihzPT1udWxsKXJldHVybltuLG51bGxdO2lmKHR5cGVvZiBzPT1cIm51bWJlclwiKXJldHVybltzLG51bGxdO2lmKHR5cGVvZiBzPT1cInN0cmluZ1wiKXtpZighaSlyZXR1cm5bbixudWxsXTtsZXQgRj1KKHMsaSk7cmV0dXJuW0YsRT0+e2xldCBBPXEocyk7e2xldCBjPUEubWFwKGg9PndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGkpLmdldFByb3BlcnR5VmFsdWUoaCkpO3IucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIGgoKXtyLm5leHRGcmFtZShoKTtsZXQgYT0hMTtmb3IobGV0W2IsU11vZiBBLmVudHJpZXMoKSl7bGV0IGc9d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSkuZ2V0UHJvcGVydHlWYWx1ZShTKTtpZihjW2JdIT09Zyl7Y1tiXT1nLGE9ITA7YnJlYWt9fWlmKCFhKXJldHVybjtsZXQgcD1KKHMsaSk7RiE9PXAmJihFKHApLEY9cCl9KX1yZXR1cm4gci5kaXNwb3NlfV19cmV0dXJuW24sbnVsbF19KSxvPVIoKCk9PmwoZSx0KVswXSxbZSx0XSksW3U9byxmXT12KCk7cmV0dXJuIEMoKCk9PntsZXRbcyxpXT1sKGUsdCk7aWYoZihzKSwhIWkpcmV0dXJuIGkoZil9LFtlLHRdKSx1fWZ1bmN0aW9uIHEoZSl7bGV0IHQ9L3ZhclxcKCguKilcXCkvLmV4ZWMoZSk7aWYodCl7bGV0IG49dFsxXS5pbmRleE9mKFwiLFwiKTtpZihuPT09LTEpcmV0dXJuW3RbMV1dO2xldCByPXRbMV0uc2xpY2UoMCxuKS50cmltKCksbD10WzFdLnNsaWNlKG4rMSkudHJpbSgpO3JldHVybiBsP1tyLC4uLnEobCldOltyXX1yZXR1cm5bXX1mdW5jdGlvbiBKKGUsdCl7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0LmFwcGVuZENoaWxkKG4pLG4uc3R5bGUuc2V0UHJvcGVydHkoXCJtYXJnaW4tdG9wXCIsXCIwcHhcIixcImltcG9ydGFudFwiKSxuLnN0eWxlLnNldFByb3BlcnR5KFwibWFyZ2luLXRvcFwiLGUsXCJpbXBvcnRhbnRcIik7bGV0IHI9cGFyc2VGbG9hdCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShuKS5tYXJnaW5Ub3ApfHwwO3JldHVybiB0LnJlbW92ZUNoaWxkKG4pLHJ9ZXhwb3J0e0FlIGFzIEZsb2F0aW5nUHJvdmlkZXIsUmUgYXMgdXNlRmxvYXRpbmdQYW5lbCxUZSBhcyB1c2VGbG9hdGluZ1BhbmVsUHJvcHMsRmUgYXMgdXNlRmxvYXRpbmdSZWZlcmVuY2UsYmUgYXMgdXNlRmxvYXRpbmdSZWZlcmVuY2VQcm9wcyx5ZSBhcyB1c2VSZXNvbHZlZEFuY2hvcn07XG4iXSwibmFtZXMiOlsiYXV0b1VwZGF0ZSIsIloiLCJmbGlwIiwiZWUiLCJpbm5lciIsInRlIiwib2Zmc2V0IiwibmUiLCJzaGlmdCIsInJlIiwic2l6ZSIsImxlIiwidXNlRmxvYXRpbmciLCJvZSIsInVzZUlubmVyT2Zmc2V0IiwiaWUiLCJ1c2VJbnRlcmFjdGlvbnMiLCJzZSIsImoiLCJjcmVhdGVDb250ZXh0IiwiXyIsInVzZUNhbGxiYWNrIiwiYWUiLCJ1c2VDb250ZXh0IiwiVCIsInVzZU1lbW8iLCJSIiwidXNlUmVmIiwidWUiLCJ1c2VTdGF0ZSIsInYiLCJ1c2VEaXNwb3NhYmxlcyIsImZlIiwidXNlRXZlbnQiLCJ6IiwidXNlSXNvTW9ycGhpY0VmZmVjdCIsIkMiLCJwZSIsInkiLCJzdHlsZXMiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsInNsb3QiLCJkaXNwbGF5TmFtZSIsIiQiLCJ5ZSIsImUiLCJ0byIsIkZlIiwiYmUiLCJUZSIsInQiLCJuIiwiT2JqZWN0IiwiYXNzaWduIiwiYW5jaG9yIiwiUmUiLCJKU09OIiwic3RyaW5naWZ5IiwibCIsIm8iLCJ1Iiwib3V0ZXJIVE1MIiwiciIsIkQiLCJBZSIsImNoaWxkcmVuIiwiZW5hYmxlZCIsImYiLCJzIiwiY2UiLCJpIiwiRiIsImdhcCIsIkUiLCJBIiwicGFkZGluZyIsImMiLCJoIiwiZ2UiLCJhIiwicCIsInNwbGl0IiwicmVmcyIsImIiLCJmbG9hdGluZ1N0eWxlcyIsIlMiLCJjb250ZXh0IiwiZyIsIm9wZW4iLCJwbGFjZW1lbnQiLCJzdHJhdGVneSIsInRyYW5zZm9ybSIsIm1pZGRsZXdhcmUiLCJtYWluQXhpcyIsImNyb3NzQXhpcyIsIm92ZXJmbG93UmVmIiwibWluSXRlbXNWaXNpYmxlIiwicmVmZXJlbmNlT3ZlcmZsb3dUaHJlc2hvbGQiLCJvbkZhbGxiYWNrQ2hhbmdlIiwiUCIsIkwiLCJOIiwiZCIsImVsZW1lbnRzIiwiZmxvYXRpbmciLCJNIiwicGFyc2VGbG9hdCIsImdldENvbXB1dGVkU3R5bGUiLCJzY3JvbGxQYWRkaW5nQm90dG9tIiwiSSIsIk1hdGgiLCJtaW4iLCJjaGlsZEVsZW1lbnRDb3VudCIsIlciLCJCIiwibSIsImNoaWxkTm9kZXMiLCJpc0hUTUxFbGVtZW50IiwieCIsIm9mZnNldFRvcCIsImsiLCJjbGllbnRIZWlnaHQiLCJIIiwic2Nyb2xsVG9wIiwiVSIsIm1heCIsImFwcGx5IiwiYXZhaWxhYmxlV2lkdGgiLCJhdmFpbGFibGVIZWlnaHQiLCJzdHlsZSIsIm92ZXJmbG93IiwibWF4V2lkdGgiLCJtYXhIZWlnaHQiLCJmaWx0ZXIiLCJCb29sZWFuIiwid2hpbGVFbGVtZW50c01vdW50ZWQiLCJ3IiwiViIsIkciLCJqb2luIiwiSyIsIm9uQ2hhbmdlIiwiUSIsIlgiLCJZIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJNdXRhdGlvbk9ic2VydmVyIiwid2luZG93IiwiaXNOYU4iLCJwYXJzZUludCIsImNlaWwiLCJvYnNlcnZlIiwiYXR0cmlidXRlcyIsImF0dHJpYnV0ZUZpbHRlciIsImRpc2Nvbm5lY3QiLCJPIiwiSiIsInEiLCJtYXAiLCJnZXRQcm9wZXJ0eVZhbHVlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibmV4dEZyYW1lIiwiZW50cmllcyIsImRpc3Bvc2UiLCJleGVjIiwiaW5kZXhPZiIsInNsaWNlIiwidHJpbSIsImRvY3VtZW50IiwiYXBwZW5kQ2hpbGQiLCJzZXRQcm9wZXJ0eSIsIm1hcmdpblRvcCIsInJlbW92ZUNoaWxkIiwiRmxvYXRpbmdQcm92aWRlciIsInVzZUZsb2F0aW5nUGFuZWwiLCJ1c2VGbG9hdGluZ1BhbmVsUHJvcHMiLCJ1c2VGbG9hdGluZ1JlZmVyZW5jZSIsInVzZUZsb2F0aW5nUmVmZXJlbmNlUHJvcHMiLCJ1c2VSZXNvbHZlZEFuY2hvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/floating.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/focus-sentinel.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/hidden.js\");\n\n\n\nfunction b({ onFocus: n }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2ZvY3VzLXNlbnRpbmVsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBb0M7QUFBMEQ7QUFBeUQ7QUFBQSxTQUFTUyxFQUFFLEVBQUNDLFNBQVFDLENBQUMsRUFBQztJQUFFLElBQUcsQ0FBQ0MsR0FBRUMsRUFBRSxHQUFDWCwrQ0FBQ0EsQ0FBQyxDQUFDLElBQUdZLElBQUVWLHNFQUFDQTtJQUFHLE9BQU9RLGtCQUFFWixnREFBZSxDQUFDTSw4Q0FBQ0EsRUFBQztRQUFDVSxJQUFHO1FBQVNDLE1BQUs7UUFBU0MsVUFBU1Ysc0RBQUNBLENBQUNXLFNBQVM7UUFBQ1QsU0FBUVUsQ0FBQUE7WUFBSUEsRUFBRUMsY0FBYztZQUFHLElBQUlDLEdBQUVDLElBQUU7WUFBRyxTQUFTQztnQkFBSSxJQUFHRCxPQUFLLEdBQUU7b0JBQUNELEtBQUdHLHFCQUFxQkg7b0JBQUc7Z0JBQU07Z0JBQUMsSUFBR1gsS0FBSTtvQkFBQyxJQUFHYyxxQkFBcUJILElBQUcsQ0FBQ1IsRUFBRVksT0FBTyxFQUFDO29CQUFPYixFQUFFLENBQUM7b0JBQUc7Z0JBQU07Z0JBQUNTLElBQUVLLHNCQUFzQkg7WUFBRTtZQUFDRixJQUFFSyxzQkFBc0JIO1FBQUU7SUFBQyxLQUFHO0FBQUk7QUFBNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvZm9jdXMtc2VudGluZWwuanM/N2Q1YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcyx7dXNlU3RhdGUgYXMgY31mcm9tXCJyZWFjdFwiO2ltcG9ydHt1c2VJc01vdW50ZWQgYXMgbX1mcm9tJy4uL2hvb2tzL3VzZS1pcy1tb3VudGVkLmpzJztpbXBvcnR7SGlkZGVuIGFzIGYsSGlkZGVuRmVhdHVyZXMgYXMgbH1mcm9tJy4vaGlkZGVuLmpzJztmdW5jdGlvbiBiKHtvbkZvY3VzOm59KXtsZXRbcixvXT1jKCEwKSx1PW0oKTtyZXR1cm4gcj9zLmNyZWF0ZUVsZW1lbnQoZix7YXM6XCJidXR0b25cIix0eXBlOlwiYnV0dG9uXCIsZmVhdHVyZXM6bC5Gb2N1c2FibGUsb25Gb2N1czphPT57YS5wcmV2ZW50RGVmYXVsdCgpO2xldCBlLGk9NTA7ZnVuY3Rpb24gdCgpe2lmKGktLTw9MCl7ZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSk7cmV0dXJufWlmKG4oKSl7aWYoY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSksIXUuY3VycmVudClyZXR1cm47byghMSk7cmV0dXJufWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX0pOm51bGx9ZXhwb3J0e2IgYXMgRm9jdXNTZW50aW5lbH07XG4iXSwibmFtZXMiOlsicyIsInVzZVN0YXRlIiwiYyIsInVzZUlzTW91bnRlZCIsIm0iLCJIaWRkZW4iLCJmIiwiSGlkZGVuRmVhdHVyZXMiLCJsIiwiYiIsIm9uRm9jdXMiLCJuIiwiciIsIm8iLCJ1IiwiY3JlYXRlRWxlbWVudCIsImFzIiwidHlwZSIsImZlYXR1cmVzIiwiRm9jdXNhYmxlIiwiYSIsInByZXZlbnREZWZhdWx0IiwiZSIsImkiLCJ0IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJjdXJyZW50IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiRm9jdXNTZW50aW5lbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/focus-sentinel.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/hidden.js":
 | 
						||
/*!*******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ f; },\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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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__.useRender)()({\n        ourProps: o,\n        theirProps: e,\n        slot: {},\n        defaultTag: a,\n        name: \"Hidden\"\n    });\n}\nlet f = (0,_utils_render_js__WEBPACK_IMPORTED_MODULE_0__.forwardRefWithAs)(l);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL2hpZGRlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBcUU7QUFBQSxJQUFJSSxJQUFFO0FBQU8sSUFBSUMsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxTQUFTLEdBQUMsRUFBRSxHQUFDLGFBQVlGLENBQUMsQ0FBQ0EsRUFBRUcsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTSCxDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNLLEVBQUVDLENBQUMsRUFBQ0MsQ0FBQztJQUFFLElBQUlDO0lBQUUsSUFBRyxFQUFDQyxVQUFTQyxJQUFFLENBQUMsRUFBQyxHQUFHVCxHQUFFLEdBQUNLLEdBQUVLLElBQUU7UUFBQ0MsS0FBSUw7UUFBRSxlQUFjLENBQUNHLElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxDQUFDRixJQUFFUCxDQUFDLENBQUMsY0FBYyxLQUFHLE9BQUtPLElBQUUsS0FBSztRQUFFSyxRQUFPLENBQUNILElBQUUsT0FBSyxJQUFFLENBQUMsSUFBRSxLQUFLO1FBQUVJLE9BQU07WUFBQ0MsVUFBUztZQUFRQyxLQUFJO1lBQUVDLE1BQUs7WUFBRUMsT0FBTTtZQUFFQyxRQUFPO1lBQUVDLFNBQVE7WUFBRUMsUUFBTyxDQUFDO1lBQUVDLFVBQVM7WUFBU0MsTUFBSztZQUFtQkMsWUFBVztZQUFTQyxhQUFZO1lBQUksR0FBRyxDQUFDZixJQUFFLE9BQUssS0FBRyxDQUFDQSxJQUFFLE9BQUssS0FBRztnQkFBQ2dCLFNBQVE7WUFBTSxDQUFDO1FBQUE7SUFBQztJQUFFLE9BQU81QiwyREFBQ0EsR0FBRztRQUFDNkIsVUFBU2hCO1FBQUVpQixZQUFXM0I7UUFBRTRCLE1BQUssQ0FBQztRQUFFQyxZQUFXL0I7UUFBRWdDLE1BQUs7SUFBUTtBQUFFO0FBQUMsSUFBSUMsSUFBRXBDLGtFQUFDQSxDQUFDUztBQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9oaWRkZW4uanM/MzlkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7Zm9yd2FyZFJlZldpdGhBcyBhcyBpLHVzZVJlbmRlciBhcyBwfWZyb20nLi4vdXRpbHMvcmVuZGVyLmpzJztsZXQgYT1cInNwYW5cIjt2YXIgcz0oZT0+KGVbZS5Ob25lPTFdPVwiTm9uZVwiLGVbZS5Gb2N1c2FibGU9Ml09XCJGb2N1c2FibGVcIixlW2UuSGlkZGVuPTRdPVwiSGlkZGVuXCIsZSkpKHN8fHt9KTtmdW5jdGlvbiBsKHQscil7dmFyIG47bGV0e2ZlYXR1cmVzOmQ9MSwuLi5lfT10LG89e3JlZjpyLFwiYXJpYS1oaWRkZW5cIjooZCYyKT09PTI/ITA6KG49ZVtcImFyaWEtaGlkZGVuXCJdKSE9bnVsbD9uOnZvaWQgMCxoaWRkZW46KGQmNCk9PT00PyEwOnZvaWQgMCxzdHlsZTp7cG9zaXRpb246XCJmaXhlZFwiLHRvcDoxLGxlZnQ6MSx3aWR0aDoxLGhlaWdodDowLHBhZGRpbmc6MCxtYXJnaW46LTEsb3ZlcmZsb3c6XCJoaWRkZW5cIixjbGlwOlwicmVjdCgwLCAwLCAwLCAwKVwiLHdoaXRlU3BhY2U6XCJub3dyYXBcIixib3JkZXJXaWR0aDpcIjBcIiwuLi4oZCY0KT09PTQmJihkJjIpIT09MiYme2Rpc3BsYXk6XCJub25lXCJ9fX07cmV0dXJuIHAoKSh7b3VyUHJvcHM6byx0aGVpclByb3BzOmUsc2xvdDp7fSxkZWZhdWx0VGFnOmEsbmFtZTpcIkhpZGRlblwifSl9bGV0IGY9aShsKTtleHBvcnR7ZiBhcyBIaWRkZW4scyBhcyBIaWRkZW5GZWF0dXJlc307XG4iXSwibmFtZXMiOlsiZm9yd2FyZFJlZldpdGhBcyIsImkiLCJ1c2VSZW5kZXIiLCJwIiwiYSIsInMiLCJlIiwiTm9uZSIsIkZvY3VzYWJsZSIsIkhpZGRlbiIsImwiLCJ0IiwiciIsIm4iLCJmZWF0dXJlcyIsImQiLCJvIiwicmVmIiwiaGlkZGVuIiwic3R5bGUiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInBhZGRpbmciLCJtYXJnaW4iLCJvdmVyZmxvdyIsImNsaXAiLCJ3aGl0ZVNwYWNlIiwiYm9yZGVyV2lkdGgiLCJkaXNwbGF5Iiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJuYW1lIiwiZiIsIkhpZGRlbkZlYXR1cmVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/hidden.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/open-closed.js":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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({ value: o, children: t }) {\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(n.Provider, {\n        value: o\n    }, t);\n}\nfunction s({ children: o }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL29wZW4tY2xvc2VkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlEO0FBQUEsSUFBSUssa0JBQUVILG9EQUFDQSxDQUFDO0FBQU1HLEVBQUVDLFdBQVcsR0FBQztBQUFvQixJQUFJQyxJQUFFLENBQUNDLENBQUFBLElBQUlBLENBQUFBLENBQUMsQ0FBQ0EsRUFBRUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxRQUFPRCxDQUFDLENBQUNBLEVBQUVFLE1BQU0sR0FBQyxFQUFFLEdBQUMsVUFBU0YsQ0FBQyxDQUFDQSxFQUFFRyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVILENBQUMsQ0FBQ0EsRUFBRUksT0FBTyxHQUFDLEVBQUUsR0FBQyxXQUFVSixDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNNO0lBQUksT0FBT1QsaURBQUNBLENBQUNDO0FBQUU7QUFBQyxTQUFTUyxFQUFFLEVBQUNDLE9BQU1DLENBQUMsRUFBQ0MsVUFBU0MsQ0FBQyxFQUFDO0lBQUUscUJBQU9sQixnREFBZSxDQUFDSyxFQUFFZSxRQUFRLEVBQUM7UUFBQ0wsT0FBTUM7SUFBQyxHQUFFRTtBQUFFO0FBQUMsU0FBU0csRUFBRSxFQUFDSixVQUFTRCxDQUFDLEVBQUM7SUFBRSxxQkFBT2hCLGdEQUFlLENBQUNLLEVBQUVlLFFBQVEsRUFBQztRQUFDTCxPQUFNO0lBQUksR0FBRUM7QUFBRTtBQUE0RiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9pbnRlcm5hbC9vcGVuLWNsb3NlZC5qcz82NjU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByLHtjcmVhdGVDb250ZXh0IGFzIGwsdXNlQ29udGV4dCBhcyBkfWZyb21cInJlYWN0XCI7bGV0IG49bChudWxsKTtuLmRpc3BsYXlOYW1lPVwiT3BlbkNsb3NlZENvbnRleHRcIjt2YXIgaT0oZT0+KGVbZS5PcGVuPTFdPVwiT3BlblwiLGVbZS5DbG9zZWQ9Ml09XCJDbG9zZWRcIixlW2UuQ2xvc2luZz00XT1cIkNsb3NpbmdcIixlW2UuT3BlbmluZz04XT1cIk9wZW5pbmdcIixlKSkoaXx8e30pO2Z1bmN0aW9uIHUoKXtyZXR1cm4gZChuKX1mdW5jdGlvbiBjKHt2YWx1ZTpvLGNoaWxkcmVuOnR9KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG4uUHJvdmlkZXIse3ZhbHVlOm99LHQpfWZ1bmN0aW9uIHMoe2NoaWxkcmVuOm99KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG4uUHJvdmlkZXIse3ZhbHVlOm51bGx9LG8pfWV4cG9ydHtjIGFzIE9wZW5DbG9zZWRQcm92aWRlcixzIGFzIFJlc2V0T3BlbkNsb3NlZFByb3ZpZGVyLGkgYXMgU3RhdGUsdSBhcyB1c2VPcGVuQ2xvc2VkfTtcbiJdLCJuYW1lcyI6WyJyIiwiY3JlYXRlQ29udGV4dCIsImwiLCJ1c2VDb250ZXh0IiwiZCIsIm4iLCJkaXNwbGF5TmFtZSIsImkiLCJlIiwiT3BlbiIsIkNsb3NlZCIsIkNsb3NpbmciLCJPcGVuaW5nIiwidSIsImMiLCJ2YWx1ZSIsIm8iLCJjaGlsZHJlbiIsInQiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJzIiwiT3BlbkNsb3NlZFByb3ZpZGVyIiwiUmVzZXRPcGVuQ2xvc2VkUHJvdmlkZXIiLCJTdGF0ZSIsInVzZU9wZW5DbG9zZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/open-closed.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/portal-force-root.js":
 | 
						||
/*!******************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L2ludGVybmFsL3BvcnRhbC1mb3JjZS1yb290LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUFBLElBQUlLLGtCQUFFSCxvREFBQ0EsQ0FBQyxDQUFDO0FBQUcsU0FBU0k7SUFBSSxPQUFPRixpREFBQ0EsQ0FBQ0M7QUFBRTtBQUFDLFNBQVNFLEVBQUVDLENBQUM7SUFBRSxxQkFBT1IsZ0RBQWUsQ0FBQ0ssRUFBRUssUUFBUSxFQUFDO1FBQUNDLE9BQU1ILEVBQUVJLEtBQUs7SUFBQSxHQUFFSixFQUFFSyxRQUFRO0FBQUM7QUFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvaW50ZXJuYWwvcG9ydGFsLWZvcmNlLXJvb3QuanM/NTM0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdCx7Y3JlYXRlQ29udGV4dCBhcyByLHVzZUNvbnRleHQgYXMgY31mcm9tXCJyZWFjdFwiO2xldCBlPXIoITEpO2Z1bmN0aW9uIGEoKXtyZXR1cm4gYyhlKX1mdW5jdGlvbiBsKG8pe3JldHVybiB0LmNyZWF0ZUVsZW1lbnQoZS5Qcm92aWRlcix7dmFsdWU6by5mb3JjZX0sby5jaGlsZHJlbil9ZXhwb3J0e2wgYXMgRm9yY2VQb3J0YWxSb290LGEgYXMgdXNlUG9ydGFsUm9vdH07XG4iXSwibmFtZXMiOlsidCIsImNyZWF0ZUNvbnRleHQiLCJyIiwidXNlQ29udGV4dCIsImMiLCJlIiwiYSIsImwiLCJvIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJmb3JjZSIsImNoaWxkcmVuIiwiRm9yY2VQb3J0YWxSb290IiwidXNlUG9ydGFsUm9vdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/internal/portal-force-root.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machine.js":
 | 
						||
/*!***********************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machine.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 */   Machine: function() { return /* binding */ x; },\n/* harmony export */   batch: function() { return /* binding */ R; },\n/* harmony export */   shallowEqual: function() { return /* binding */ j; }\n/* harmony export */ });\n/* harmony import */ var _utils_default_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/default-map.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/default-map.js\");\n/* harmony import */ var _utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/disposables.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _utils_env_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/env.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/env.js\");\nvar h = Object.defineProperty;\nvar v = (t, e, r)=>e in t ? h(t, e, {\n        enumerable: !0,\n        configurable: !0,\n        writable: !0,\n        value: r\n    }) : t[e] = r;\nvar S = (t, e, r)=>(v(t, typeof e != \"symbol\" ? e + \"\" : e, r), r), b = (t, e, r)=>{\n    if (!e.has(t)) throw TypeError(\"Cannot \" + r);\n};\nvar i = (t, e, r)=>(b(t, e, \"read from private field\"), r ? r.call(t) : e.get(t)), c = (t, e, r)=>{\n    if (e.has(t)) throw TypeError(\"Cannot add the same private member more than once\");\n    e instanceof WeakSet ? e.add(t) : e.set(t, r);\n}, u = (t, e, r, s)=>(b(t, e, \"write to private field\"), s ? s.call(t, r) : e.set(t, r), r);\nvar n, a, o;\n\n\n\nclass x {\n    constructor(e){\n        c(this, n, {});\n        c(this, a, new _utils_default_map_js__WEBPACK_IMPORTED_MODULE_0__.DefaultMap(()=>new Set));\n        c(this, o, new Set);\n        S(this, \"disposables\", (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables)());\n        u(this, n, e), _utils_env_js__WEBPACK_IMPORTED_MODULE_2__.env.isServer && this.disposables.microTask(()=>{\n            this.dispose();\n        });\n    }\n    dispose() {\n        this.disposables.dispose();\n    }\n    get state() {\n        return i(this, n);\n    }\n    subscribe(e, r) {\n        if (_utils_env_js__WEBPACK_IMPORTED_MODULE_2__.env.isServer) return ()=>{};\n        let s = {\n            selector: e,\n            callback: r,\n            current: e(i(this, n))\n        };\n        return i(this, o).add(s), this.disposables.add(()=>{\n            i(this, o).delete(s);\n        });\n    }\n    on(e, r) {\n        return _utils_env_js__WEBPACK_IMPORTED_MODULE_2__.env.isServer ? ()=>{} : (i(this, a).get(e).add(r), this.disposables.add(()=>{\n            i(this, a).get(e).delete(r);\n        }));\n    }\n    send(e) {\n        let r = this.reduce(i(this, n), e);\n        if (r !== i(this, n)) {\n            u(this, n, r);\n            for (let s of i(this, o)){\n                let l = s.selector(i(this, n));\n                j(s.current, l) || (s.current = l, s.callback(l));\n            }\n            for (let s of i(this, a).get(e.type))s(i(this, n), e);\n        }\n    }\n}\nn = new WeakMap, a = new WeakMap, o = new WeakMap;\nfunction j(t, e) {\n    return Object.is(t, e) ? !0 : typeof t != \"object\" || t === null || typeof e != \"object\" || e === null ? !1 : Array.isArray(t) && Array.isArray(e) ? t.length !== e.length ? !1 : f(t[Symbol.iterator](), e[Symbol.iterator]()) : t instanceof Map && e instanceof Map || t instanceof Set && e instanceof Set ? t.size !== e.size ? !1 : f(t.entries(), e.entries()) : y(t) && y(e) ? f(Object.entries(t)[Symbol.iterator](), Object.entries(e)[Symbol.iterator]()) : !1;\n}\nfunction f(t, e) {\n    do {\n        let r = t.next(), s = e.next();\n        if (r.done && s.done) return !0;\n        if (r.done || s.done || !Object.is(r.value, s.value)) return !1;\n    }while (!0);\n}\nfunction y(t) {\n    if (Object.prototype.toString.call(t) !== \"[object Object]\") return !1;\n    let e = Object.getPrototypeOf(t);\n    return e === null || Object.getPrototypeOf(e) === null;\n}\nfunction R(t) {\n    let [e, r] = t(), s = (0,_utils_disposables_js__WEBPACK_IMPORTED_MODULE_1__.disposables)();\n    return (...l)=>{\n        e(...l), s.dispose(), s.microTask(r);\n    };\n}\n_c = R;\n\nvar _c;\n$RefreshReg$(_c, \"R\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L21hY2hpbmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBSUEsSUFBRUMsT0FBT0MsY0FBYztBQUFDLElBQUlDLElBQUUsQ0FBQ0MsR0FBRUMsR0FBRUMsSUFBSUQsS0FBS0QsSUFBRUosRUFBRUksR0FBRUMsR0FBRTtRQUFDRSxZQUFXLENBQUM7UUFBRUMsY0FBYSxDQUFDO1FBQUVDLFVBQVMsQ0FBQztRQUFFQyxPQUFNSjtJQUFDLEtBQUdGLENBQUMsQ0FBQ0MsRUFBRSxHQUFDQztBQUFFLElBQUlLLElBQUUsQ0FBQ1AsR0FBRUMsR0FBRUMsSUFBS0gsQ0FBQUEsRUFBRUMsR0FBRSxPQUFPQyxLQUFHLFdBQVNBLElBQUUsS0FBR0EsR0FBRUMsSUFBR0EsQ0FBQUEsR0FBR00sSUFBRSxDQUFDUixHQUFFQyxHQUFFQztJQUFLLElBQUcsQ0FBQ0QsRUFBRVEsR0FBRyxDQUFDVCxJQUFHLE1BQU1VLFVBQVUsWUFBVVI7QUFBRTtBQUFFLElBQUlTLElBQUUsQ0FBQ1gsR0FBRUMsR0FBRUMsSUFBS00sQ0FBQUEsRUFBRVIsR0FBRUMsR0FBRSw0QkFBMkJDLElBQUVBLEVBQUVVLElBQUksQ0FBQ1osS0FBR0MsRUFBRVksR0FBRyxDQUFDYixFQUFDLEdBQUdjLElBQUUsQ0FBQ2QsR0FBRUMsR0FBRUM7SUFBSyxJQUFHRCxFQUFFUSxHQUFHLENBQUNULElBQUcsTUFBTVUsVUFBVTtJQUFxRFQsYUFBYWMsVUFBUWQsRUFBRWUsR0FBRyxDQUFDaEIsS0FBR0MsRUFBRWdCLEdBQUcsQ0FBQ2pCLEdBQUVFO0FBQUUsR0FBRWdCLElBQUUsQ0FBQ2xCLEdBQUVDLEdBQUVDLEdBQUVpQixJQUFLWCxDQUFBQSxF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LE9BQU9rRSxjQUFjLENBQUM5RCxPQUFLO0FBQUk7QUFBQyxTQUFTK0QsRUFBRWhFLENBQUM7SUFBRSxJQUFHLENBQUNDLEdBQUVDLEVBQUUsR0FBQ0YsS0FBSW1CLElBQUVPLGtFQUFDQTtJQUFHLE9BQU0sQ0FBQyxHQUFHa0I7UUFBSzNDLEtBQUsyQyxJQUFHekIsRUFBRWUsT0FBTyxJQUFHZixFQUFFYyxTQUFTLENBQUMvQjtJQUFFO0FBQUM7S0FBMUU4RDtBQUE2SCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9tYWNoaW5lLmpzPzU5NmQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGg9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciB2PSh0LGUscik9PmUgaW4gdD9oKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOnRbZV09cjt2YXIgUz0odCxlLHIpPT4odih0LHR5cGVvZiBlIT1cInN5bWJvbFwiP2UrXCJcIjplLHIpLHIpLGI9KHQsZSxyKT0+e2lmKCFlLmhhcyh0KSl0aHJvdyBUeXBlRXJyb3IoXCJDYW5ub3QgXCIrcil9O3ZhciBpPSh0LGUscik9PihiKHQsZSxcInJlYWQgZnJvbSBwcml2YXRlIGZpZWxkXCIpLHI/ci5jYWxsKHQpOmUuZ2V0KHQpKSxjPSh0LGUscik9PntpZihlLmhhcyh0KSl0aHJvdyBUeXBlRXJyb3IoXCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlXCIpO2UgaW5zdGFuY2VvZiBXZWFrU2V0P2UuYWRkKHQpOmUuc2V0KHQscil9LHU9KHQsZSxyLHMpPT4oYih0LGUsXCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkXCIpLHM/cy5jYWxsKHQscik6ZS5zZXQodCxyKSxyKTt2YXIgbixhLG87aW1wb3J0e0RlZmF1bHRNYXAgYXMgbX1mcm9tJy4vdXRpbHMvZGVmYXVsdC1tYXAuanMnO2ltcG9ydHtkaXNwb3NhYmxlcyBhcyBwfWZyb20nLi91dGlscy9kaXNwb3NhYmxlcy5qcyc7aW1wb3J0e2VudiBhcyBkfWZyb20nLi91dGlscy9lbnYuanMnO2NsYXNzIHh7Y29uc3RydWN0b3IoZSl7Yyh0aGlzLG4se30pO2ModGhpcyxhLG5ldyBtKCgpPT5uZXcgU2V0KSk7Yyh0aGlzLG8sbmV3IFNldCk7Uyh0aGlzLFwiZGlzcG9zYWJsZXNcIixwKCkpO3UodGhpcyxuLGUpLGQuaXNTZXJ2ZXImJnRoaXMuZGlzcG9zYWJsZXMubWljcm9UYXNrKCgpPT57dGhpcy5kaXNwb3NlKCl9KX1kaXNwb3NlKCl7dGhpcy5kaXNwb3NhYmxlcy5kaXNwb3NlKCl9Z2V0IHN0YXRlKCl7cmV0dXJuIGkodGhpcyxuKX1zdWJzY3JpYmUoZSxyKXtpZihkLmlzU2VydmVyKXJldHVybigpPT57fTtsZXQgcz17c2VsZWN0b3I6ZSxjYWxsYmFjazpyLGN1cnJlbnQ6ZShpKHRoaXMsbikpfTtyZXR1cm4gaSh0aGlzLG8pLmFkZChzKSx0aGlzLmRpc3Bvc2FibGVzLmFkZCgoKT0+e2kodGhpcyxvKS5kZWxldGUocyl9KX1vbihlLHIpe3JldHVybiBkLmlzU2VydmVyPygpPT57fTooaSh0aGlzLGEpLmdldChlKS5hZGQociksdGhpcy5kaXNwb3NhYmxlcy5hZGQoKCk9PntpKHRoaXMsYSkuZ2V0KGUpLmRlbGV0ZShyKX0pKX1zZW5kKGUpe2xldCByPXRoaXMucmVkdWNlKGkodGhpcyxuKSxlKTtpZihyIT09aSh0aGlzLG4pKXt1KHRoaXMsbixyKTtmb3IobGV0IHMgb2YgaSh0aGlzLG8pKXtsZXQgbD1zLnNlbGVjdG9yKGkodGhpcyxuKSk7aihzLmN1cnJlbnQsbCl8fChzLmN1cnJlbnQ9bCxzLmNhbGxiYWNrKGwpKX1mb3IobGV0IHMgb2YgaSh0aGlzLGEpLmdldChlLnR5cGUpKXMoaSh0aGlzLG4pLGUpfX19bj1uZXcgV2Vha01hcCxhPW5ldyBXZWFrTWFwLG89bmV3IFdlYWtNYXA7ZnVuY3Rpb24gaih0LGUpe3JldHVybiBPYmplY3QuaXModCxlKT8hMDp0eXBlb2YgdCE9XCJvYmplY3RcInx8dD09PW51bGx8fHR5cGVvZiBlIT1cIm9iamVjdFwifHxlPT09bnVsbD8hMTpBcnJheS5pc0FycmF5KHQpJiZBcnJheS5pc0FycmF5KGUpP3QubGVuZ3RoIT09ZS5sZW5ndGg/ITE6Zih0W1N5bWJvbC5pdGVyYXRvcl0oKSxlW1N5bWJvbC5pdGVyYXRvcl0oKSk6dCBpbnN0YW5jZW9mIE1hcCYmZSBpbnN0YW5jZW9mIE1hcHx8dCBpbnN0YW5jZW9mIFNldCYmZSBpbnN0YW5jZW9mIFNldD90LnNpemUhPT1lLnNpemU/ITE6Zih0LmVudHJpZXMoKSxlLmVudHJpZXMoKSk6eSh0KSYmeShlKT9mKE9iamVjdC5lbnRyaWVzKHQpW1N5bWJvbC5pdGVyYXRvcl0oKSxPYmplY3QuZW50cmllcyhlKVtTeW1ib2wuaXRlcmF0b3JdKCkpOiExfWZ1bmN0aW9uIGYodCxlKXtkb3tsZXQgcj10Lm5leHQoKSxzPWUubmV4dCgpO2lmKHIuZG9uZSYmcy5kb25lKXJldHVybiEwO2lmKHIuZG9uZXx8cy5kb25lfHwhT2JqZWN0LmlzKHIudmFsdWUscy52YWx1ZSkpcmV0dXJuITF9d2hpbGUoITApfWZ1bmN0aW9uIHkodCl7aWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpIT09XCJbb2JqZWN0IE9iamVjdF1cIilyZXR1cm4hMTtsZXQgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7cmV0dXJuIGU9PT1udWxsfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsfWZ1bmN0aW9uIFIodCl7bGV0W2Uscl09dCgpLHM9cCgpO3JldHVybiguLi5sKT0+e2UoLi4ubCkscy5kaXNwb3NlKCkscy5taWNyb1Rhc2socil9fWV4cG9ydHt4IGFzIE1hY2hpbmUsUiBhcyBiYXRjaCxqIGFzIHNoYWxsb3dFcXVhbH07XG4iXSwibmFtZXMiOlsiaCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwidiIsInQiLCJlIiwiciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwiUyIsImIiLCJoYXMiLCJUeXBlRXJyb3IiLCJpIiwiY2FsbCIsImdldCIsImMiLCJXZWFrU2V0IiwiYWRkIiwic2V0IiwidSIsInMiLCJuIiwiYSIsIm8iLCJEZWZhdWx0TWFwIiwibSIsImRpc3Bvc2FibGVzIiwicCIsImVudiIsImQiLCJ4IiwiY29uc3RydWN0b3IiLCJTZXQiLCJpc1NlcnZlciIsIm1pY3JvVGFzayIsImRpc3Bvc2UiLCJzdGF0ZSIsInN1YnNjcmliZSIsInNlbGVjdG9yIiwiY2FsbGJhY2siLCJjdXJyZW50IiwiZGVsZXRlIiwib24iLCJzZW5kIiwicmVkdWNlIiwibCIsImoiLCJ0eXBlIiwiV2Vha01hcCIsImlzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiZiIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiTWFwIiwic2l6ZSIsImVudHJpZXMiLCJ5IiwibmV4dCIsImRvbmUiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImdldFByb3RvdHlwZU9mIiwiUiIsIk1hY2hpbmUiLCJiYXRjaCIsInNoYWxsb3dFcXVhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machine.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machines/stack-machine.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machines/stack-machine.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 */   ActionTypes: function() { return /* binding */ k; },\n/* harmony export */   stackMachines: function() { return /* binding */ x; }\n/* harmony export */ });\n/* harmony import */ var _machine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machine.js\");\n/* harmony import */ var _utils_default_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/default-map.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/default-map.js\");\n/* harmony import */ var _utils_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/match.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js\");\nvar a = Object.defineProperty;\nvar r = (e, c, t)=>c in e ? a(e, c, {\n        enumerable: !0,\n        configurable: !0,\n        writable: !0,\n        value: t\n    }) : e[c] = t;\nvar p = (e, c, t)=>(r(e, typeof c != \"symbol\" ? c + \"\" : c, t), t);\n\n\n\nvar k = ((t)=>(t[t.Push = 0] = \"Push\", t[t.Pop = 1] = \"Pop\", t))(k || {});\nlet y = {\n    [0] (e, c) {\n        let t = c.id, s = e.stack, i = e.stack.indexOf(t);\n        if (i !== -1) {\n            let n = e.stack.slice();\n            return n.splice(i, 1), n.push(t), s = n, {\n                ...e,\n                stack: s\n            };\n        }\n        return {\n            ...e,\n            stack: [\n                ...e.stack,\n                t\n            ]\n        };\n    },\n    [1] (e, c) {\n        let t = c.id, s = e.stack.indexOf(t);\n        if (s === -1) return e;\n        let i = e.stack.slice();\n        return i.splice(s, 1), {\n            ...e,\n            stack: i\n        };\n    }\n};\nclass o extends _machine_js__WEBPACK_IMPORTED_MODULE_0__.Machine {\n    constructor(){\n        super(...arguments);\n        p(this, \"actions\", {\n            push: (t)=>this.send({\n                    type: 0,\n                    id: t\n                }),\n            pop: (t)=>this.send({\n                    type: 1,\n                    id: t\n                })\n        });\n        p(this, \"selectors\", {\n            isTop: (t, s)=>t.stack[t.stack.length - 1] === s,\n            inStack: (t, s)=>t.stack.includes(s)\n        });\n    }\n    static new() {\n        return new o({\n            stack: []\n        });\n    }\n    reduce(t, s) {\n        return (0,_utils_match_js__WEBPACK_IMPORTED_MODULE_1__.match)(s.type, y, t, s);\n    }\n}\nconst x = new _utils_default_map_js__WEBPACK_IMPORTED_MODULE_2__.DefaultMap(()=>o.new());\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L21hY2hpbmVzL3N0YWNrLW1hY2hpbmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJQSxJQUFFQyxPQUFPQyxjQUFjO0FBQUMsSUFBSUMsSUFBRSxDQUFDQyxHQUFFQyxHQUFFQyxJQUFJRCxLQUFLRCxJQUFFSixFQUFFSSxHQUFFQyxHQUFFO1FBQUNFLFlBQVcsQ0FBQztRQUFFQyxjQUFhLENBQUM7UUFBRUMsVUFBUyxDQUFDO1FBQUVDLE9BQU1KO0lBQUMsS0FBR0YsQ0FBQyxDQUFDQyxFQUFFLEdBQUNDO0FBQUUsSUFBSUssSUFBRSxDQUFDUCxHQUFFQyxHQUFFQyxJQUFLSCxDQUFBQSxFQUFFQyxHQUFFLE9BQU9DLEtBQUcsV0FBU0EsSUFBRSxLQUFHQSxHQUFFQyxJQUFHQSxDQUFBQTtBQUEyQztBQUFxRDtBQUEwQztBQUFBLElBQUlZLElBQUUsQ0FBQ1osQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFYSxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9iLENBQUMsQ0FBQ0EsRUFBRWMsR0FBRyxHQUFDLEVBQUUsR0FBQyxPQUFNZCxDQUFBQSxDQUFDLEVBQUdZLEtBQUcsQ0FBQztBQUFHLElBQUlHLElBQUU7SUFBQyxDQUFDLEVBQUUsRUFBQ2pCLENBQUMsRUFBQ0MsQ0FBQztRQUFFLElBQUlDLElBQUVELEVBQUVpQixFQUFFLEVBQUNDLElBQUVuQixFQUFFb0IsS0FBSyxFQUFDQyxJQUFFckIsRUFBRW9CLEtBQUssQ0FBQ0UsT0FBTyxDQUFDcEI7UUFBRyxJQUFHbUIsTUFBSSxDQUFDLEdBQUU7WUFBQyxJQUFJRSxJQUFFdkIsRUFBRW9CLEtBQUssQ0FBQ0ksS0FBSztZQUFHLE9BQU9ELEVBQUVFLE1BQU0sQ0FBQ0osR0FBRSxJQUFHRSxFQUFFRyxJQUFJLENBQUN4QixJQUFHaUIsSUFBRUksR0FBRTtnQkFBQyxHQUFHdkIsQ0FBQztnQkFBQ29CLE9BQU1EO1lBQUM7UUFBQztRQUFDLE9BQU07WUFBQyxHQUFHbkIsQ0FBQztZQUFDb0IsT0FBTTttQkFBSXBCLEVBQUVvQixLQUFLO2dCQUFDbEI7YUFBRTtRQUFBO0lBQUM7SUFBRSxDQUFDLEVBQUUsRUFBQ0YsQ0FBQyxFQUFDQyxDQUFDO1FBQUUsSUFBSUMsSUFBRUQsRUFBRWlCLEVBQUUsRUFBQ0MsSUFBRW5CLEVBQUVvQixLQUFLLENBQUNFLE9BQU8sQ0FBQ3BCO1FBQUcsSUFBR2lCLE1BQUksQ0FBQyxHQUFFLE9BQU9uQjtRQUFFLElBQUlxQixJQUFFckIsRUFBRW9CLEtBQUssQ0FBQ0ksS0FBSztRQUFHLE9BQU9ILEVBQUVJLE1BQU0sQ0FBQ04sR0FBRSxJQUFHO1lBQUMsR0FBR25CLENBQUM7WUFBQ29CLE9BQU1DO1FBQUM7SUFBQztBQUFDO0FBQUUsTUFBTU0sVUFBVWxCLGdEQUFDQTtJQUFDbUIsYUFBYTtRQUFDLEtBQUssSUFBSUM7UUFBV3RCLEVBQUUsSUFBSSxFQUFDLFdBQVU7WUFBQ21CLE1BQUt4QixDQUFBQSxJQUFHLElBQUksQ0FBQzRCLElBQUksQ0FBQztvQkFBQ0MsTUFBSztvQkFBRWIsSUFBR2hCO2dCQUFDO1lBQUc4QixLQUFJOUIsQ0FBQUEsSUFBRyxJQUFJLENBQUM0QixJQUFJLENBQUM7b0JBQUNDLE1BQUs7b0JBQUViLElBQUdoQjtnQkFBQztRQUFFO1FBQUdLLEVBQUUsSUFBSSxFQUFDLGFBQVk7WUFBQzBCLE9BQU0sQ0FBQy9CLEdBQUVpQixJQUFJakIsRUFBRWtCLEtBQUssQ0FBQ2xCLEVBQUVrQixLQUFLLENBQUNjLE1BQU0sR0FBQyxFQUFFLEtBQUdmO1lBQUVnQixTQUFRLENBQUNqQyxHQUFFaUIsSUFBSWpCLEVBQUVrQixLQUFLLENBQUNnQixRQUFRLENBQUNqQjtRQUFFO0lBQUU7SUFBQyxPQUFPa0IsTUFBSztRQUFDLE9BQU8sSUFBSVYsRUFBRTtZQUFDUCxPQUFNLEVBQUU7UUFBQTtJQUFFO0lBQUNrQixPQUFPcEMsQ0FBQyxFQUFDaUIsQ0FBQyxFQUFDO1FBQUMsT0FBT04sc0RBQUNBLENBQUNNLEVBQUVZLElBQUksRUFBQ2QsR0FBRWYsR0FBRWlCO0lBQUU7QUFBQztBQUFDLE1BQU1vQixJQUFFLElBQUk1Qiw2REFBQ0EsQ0FBQyxJQUFJZ0IsRUFBRVUsR0FBRztBQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC9tYWNoaW5lcy9zdGFjay1tYWNoaW5lLmpzPzE3NGYiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGE9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciByPShlLGMsdCk9PmMgaW4gZT9hKGUsYyx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pOmVbY109dDt2YXIgcD0oZSxjLHQpPT4ocihlLHR5cGVvZiBjIT1cInN5bWJvbFwiP2MrXCJcIjpjLHQpLHQpO2ltcG9ydHtNYWNoaW5lIGFzIGR9ZnJvbScuLi9tYWNoaW5lLmpzJztpbXBvcnR7RGVmYXVsdE1hcCBhcyBsfWZyb20nLi4vdXRpbHMvZGVmYXVsdC1tYXAuanMnO2ltcG9ydHttYXRjaCBhcyB1fWZyb20nLi4vdXRpbHMvbWF0Y2guanMnO3ZhciBrPSh0PT4odFt0LlB1c2g9MF09XCJQdXNoXCIsdFt0LlBvcD0xXT1cIlBvcFwiLHQpKShrfHx7fSk7bGV0IHk9e1swXShlLGMpe2xldCB0PWMuaWQscz1lLnN0YWNrLGk9ZS5zdGFjay5pbmRleE9mKHQpO2lmKGkhPT0tMSl7bGV0IG49ZS5zdGFjay5zbGljZSgpO3JldHVybiBuLnNwbGljZShpLDEpLG4ucHVzaCh0KSxzPW4sey4uLmUsc3RhY2s6c319cmV0dXJuey4uLmUsc3RhY2s6Wy4uLmUuc3RhY2ssdF19fSxbMV0oZSxjKXtsZXQgdD1jLmlkLHM9ZS5zdGFjay5pbmRleE9mKHQpO2lmKHM9PT0tMSlyZXR1cm4gZTtsZXQgaT1lLnN0YWNrLnNsaWNlKCk7cmV0dXJuIGkuc3BsaWNlKHMsMSksey4uLmUsc3RhY2s6aX19fTtjbGFzcyBvIGV4dGVuZHMgZHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7cCh0aGlzLFwiYWN0aW9uc1wiLHtwdXNoOnQ9PnRoaXMuc2VuZCh7dHlwZTowLGlkOnR9KSxwb3A6dD0+dGhpcy5zZW5kKHt0eXBlOjEsaWQ6dH0pfSk7cCh0aGlzLFwic2VsZWN0b3JzXCIse2lzVG9wOih0LHMpPT50LnN0YWNrW3Quc3RhY2subGVuZ3RoLTFdPT09cyxpblN0YWNrOih0LHMpPT50LnN0YWNrLmluY2x1ZGVzKHMpfSl9c3RhdGljIG5ldygpe3JldHVybiBuZXcgbyh7c3RhY2s6W119KX1yZWR1Y2UodCxzKXtyZXR1cm4gdShzLnR5cGUseSx0LHMpfX1jb25zdCB4PW5ldyBsKCgpPT5vLm5ldygpKTtleHBvcnR7ayBhcyBBY3Rpb25UeXBlcyx4IGFzIHN0YWNrTWFjaGluZXN9O1xuIl0sIm5hbWVzIjpbImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsInIiLCJlIiwiYyIsInQiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ2YWx1ZSIsInAiLCJNYWNoaW5lIiwiZCIsIkRlZmF1bHRNYXAiLCJsIiwibWF0Y2giLCJ1IiwiayIsIlB1c2giLCJQb3AiLCJ5IiwiaWQiLCJzIiwic3RhY2siLCJpIiwiaW5kZXhPZiIsIm4iLCJzbGljZSIsInNwbGljZSIsInB1c2giLCJvIiwiY29uc3RydWN0b3IiLCJhcmd1bWVudHMiLCJzZW5kIiwidHlwZSIsInBvcCIsImlzVG9wIiwibGVuZ3RoIiwiaW5TdGFjayIsImluY2x1ZGVzIiwibmV3IiwicmVkdWNlIiwieCIsIkFjdGlvblR5cGVzIiwic3RhY2tNYWNoaW5lcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machines/stack-machine.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/react-glue.js":
 | 
						||
/*!**************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/react-glue.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 */   useSlice: function() { return /* binding */ S; }\n/* harmony export */ });\n/* harmony import */ var use_sync_external_store_with_selector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sync-external-store/with-selector */ \"(app-pages-browser)/./node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/with-selector.js\");\n/* harmony import */ var _hooks_use_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hooks/use-event.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/hooks/use-event.js\");\n/* harmony import */ var _machine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./machine.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/machine.js\");\n\n\n\nfunction S(e, n, r = _machine_js__WEBPACK_IMPORTED_MODULE_1__.shallowEqual) {\n    return (0,use_sync_external_store_with_selector__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStoreWithSelector)((0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)((i)=>e.subscribe(s, i)), (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>e.state), (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(()=>e.state), (0,_hooks_use_event_js__WEBPACK_IMPORTED_MODULE_2__.useEvent)(n), r);\n}\n_c = S;\nfunction s(e) {\n    return e;\n}\n\nvar _c;\n$RefreshReg$(_c, \"S\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3JlYWN0LWdsdWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF5RjtBQUFnRDtBQUE0QztBQUFBLFNBQVNNLEVBQUVDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxJQUFFSixxREFBQztJQUFFLE9BQU9KLHVHQUFDQSxDQUFDRSw2REFBQ0EsQ0FBQ08sQ0FBQUEsSUFBR0gsRUFBRUksU0FBUyxDQUFDQyxHQUFFRixLQUFJUCw2REFBQ0EsQ0FBQyxJQUFJSSxFQUFFTSxLQUFLLEdBQUVWLDZEQUFDQSxDQUFDLElBQUlJLEVBQUVNLEtBQUssR0FBRVYsNkRBQUNBLENBQUNLLElBQUdDO0FBQUU7S0FBaEZIO0FBQWlGLFNBQVNNLEVBQUVMLENBQUM7SUFBRSxPQUFPQTtBQUFDO0FBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3JlYWN0LWdsdWUuanM/MGI3YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7dXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IgYXMgYX1mcm9tXCJ1c2Utc3luYy1leHRlcm5hbC1zdG9yZS93aXRoLXNlbGVjdG9yXCI7aW1wb3J0e3VzZUV2ZW50IGFzIHR9ZnJvbScuL2hvb2tzL3VzZS1ldmVudC5qcyc7aW1wb3J0e3NoYWxsb3dFcXVhbCBhcyBvfWZyb20nLi9tYWNoaW5lLmpzJztmdW5jdGlvbiBTKGUsbixyPW8pe3JldHVybiBhKHQoaT0+ZS5zdWJzY3JpYmUocyxpKSksdCgoKT0+ZS5zdGF0ZSksdCgoKT0+ZS5zdGF0ZSksdChuKSxyKX1mdW5jdGlvbiBzKGUpe3JldHVybiBlfWV4cG9ydHtTIGFzIHVzZVNsaWNlfTtcbiJdLCJuYW1lcyI6WyJ1c2VTeW5jRXh0ZXJuYWxTdG9yZVdpdGhTZWxlY3RvciIsImEiLCJ1c2VFdmVudCIsInQiLCJzaGFsbG93RXF1YWwiLCJvIiwiUyIsImUiLCJuIiwiciIsImkiLCJzdWJzY3JpYmUiLCJzIiwic3RhdGUiLCJ1c2VTbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/react-glue.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/bugs.js":
 | 
						||
/*!**************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ s; }\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n\nfunction s(l) {\n    let e = l.parentElement, t = null;\n    for(; e && !_dom_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLFieldSetElement(e);)_dom_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLLegendElement(e) && (t = e), e = e.parentElement;\n    let i = (e == null ? void 0 : e.getAttribute(\"disabled\")) === \"\";\n    return i && r(t) ? !1 : i;\n}\nfunction r(l) {\n    if (!l) return !1;\n    let e = l.previousElementSibling;\n    for(; e !== null;){\n        if (_dom_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLLegendElement(e)) return !1;\n        e = e.previousElementSibling;\n    }\n    return !0;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2J1Z3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMkI7QUFBQSxTQUFTQyxFQUFFQyxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRUUsYUFBYSxFQUFDQyxJQUFFO0lBQUssTUFBS0YsS0FBRyxDQUFDSCwwREFBdUIsQ0FBQ0csSUFBSUgsd0RBQXFCLENBQUNHLE1BQUtFLENBQUFBLElBQUVGLENBQUFBLEdBQUdBLElBQUVBLEVBQUVDLGFBQWE7SUFBQyxJQUFJSSxJQUFFLENBQUNMLEtBQUcsT0FBSyxLQUFLLElBQUVBLEVBQUVNLFlBQVksQ0FBQyxXQUFVLE1BQUs7SUFBRyxPQUFPRCxLQUFHRSxFQUFFTCxLQUFHLENBQUMsSUFBRUc7QUFBQztBQUFDLFNBQVNFLEVBQUVSLENBQUM7SUFBRSxJQUFHLENBQUNBLEdBQUUsT0FBTSxDQUFDO0lBQUUsSUFBSUMsSUFBRUQsRUFBRVMsc0JBQXNCO0lBQUMsTUFBS1IsTUFBSSxNQUFNO1FBQUMsSUFBR0gsd0RBQXFCLENBQUNHLElBQUcsT0FBTSxDQUFDO1FBQUVBLElBQUVBLEVBQUVRLHNCQUFzQjtJQUFBO0lBQUMsT0FBTSxDQUFDO0FBQUM7QUFBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvYnVncy5qcz84YjEzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCphcyBuIGZyb20nLi9kb20uanMnO2Z1bmN0aW9uIHMobCl7bGV0IGU9bC5wYXJlbnRFbGVtZW50LHQ9bnVsbDtmb3IoO2UmJiFuLmlzSFRNTEZpZWxkU2V0RWxlbWVudChlKTspbi5pc0hUTUxMZWdlbmRFbGVtZW50KGUpJiYodD1lKSxlPWUucGFyZW50RWxlbWVudDtsZXQgaT0oZT09bnVsbD92b2lkIDA6ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKSk9PT1cIlwiO3JldHVybiBpJiZyKHQpPyExOml9ZnVuY3Rpb24gcihsKXtpZighbClyZXR1cm4hMTtsZXQgZT1sLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7Zm9yKDtlIT09bnVsbDspe2lmKG4uaXNIVE1MTGVnZW5kRWxlbWVudChlKSlyZXR1cm4hMTtlPWUucHJldmlvdXNFbGVtZW50U2libGluZ31yZXR1cm4hMH1leHBvcnR7cyBhcyBpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTF9O1xuIl0sIm5hbWVzIjpbIm4iLCJzIiwibCIsImUiLCJwYXJlbnRFbGVtZW50IiwidCIsImlzSFRNTEZpZWxkU2V0RWxlbWVudCIsImlzSFRNTExlZ2VuZEVsZW1lbnQiLCJpIiwiZ2V0QXR0cmlidXRlIiwiciIsInByZXZpb3VzRWxlbWVudFNpYmxpbmciLCJpc0Rpc2FibGVkUmVhY3RJc3N1ZTc3MTEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/bugs.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/class-names.js":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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(...r) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2NsYXNzLW5hbWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFLEdBQUdDLENBQUM7SUFBRSxPQUFPQyxNQUFNQyxJQUFJLENBQUMsSUFBSUMsSUFBSUgsRUFBRUksT0FBTyxDQUFDQyxDQUFBQSxJQUFHLE9BQU9BLEtBQUcsV0FBU0EsRUFBRUMsS0FBSyxDQUFDLE9BQUssRUFBRSxJQUFJQyxNQUFNLENBQUNDLFNBQVNDLElBQUksQ0FBQztBQUFJO0FBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2NsYXNzLW5hbWVzLmpzPzUzOWMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdCguLi5yKXtyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHIuZmxhdE1hcChuPT50eXBlb2Ygbj09XCJzdHJpbmdcIj9uLnNwbGl0KFwiIFwiKTpbXSkpKS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIil9ZXhwb3J0e3QgYXMgY2xhc3NOYW1lc307XG4iXSwibmFtZXMiOlsidCIsInIiLCJBcnJheSIsImZyb20iLCJTZXQiLCJmbGF0TWFwIiwibiIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJjbGFzc05hbWVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/class-names.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/default-map.js":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2RlZmF1bHQtbWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxVQUFVQztJQUFJQyxZQUFZQyxDQUFDLENBQUM7UUFBQyxLQUFLO1FBQUcsSUFBSSxDQUFDQyxPQUFPLEdBQUNEO0lBQUM7SUFBQ0UsSUFBSUYsQ0FBQyxFQUFDO1FBQUMsSUFBSUcsSUFBRSxLQUFLLENBQUNELElBQUlGO1FBQUcsT0FBT0csTUFBSSxLQUFLLEtBQUlBLENBQUFBLElBQUUsSUFBSSxDQUFDRixPQUFPLENBQUNELElBQUcsSUFBSSxDQUFDSSxHQUFHLENBQUNKLEdBQUVHLEVBQUMsR0FBR0E7SUFBQztBQUFDO0FBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2RlZmF1bHQtbWFwLmpzP2I3YTEiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgYSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpO3RoaXMuZmFjdG9yeT10fWdldCh0KXtsZXQgZT1zdXBlci5nZXQodCk7cmV0dXJuIGU9PT12b2lkIDAmJihlPXRoaXMuZmFjdG9yeSh0KSx0aGlzLnNldCh0LGUpKSxlfX1leHBvcnR7YSBhcyBEZWZhdWx0TWFwfTtcbiJdLCJuYW1lcyI6WyJhIiwiTWFwIiwiY29uc3RydWN0b3IiLCJ0IiwiZmFjdG9yeSIsImdldCIsImUiLCJzZXQiLCJEZWZhdWx0TWFwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/default-map.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/micro-task.js\");\n\nfunction o() {\n    let s = [], r = {\n        addEventListener (e, t, n, i) {\n            return e.addEventListener(t, n, i), r.add(()=>e.removeEventListener(t, n, i));\n        },\n        requestAnimationFrame (...e) {\n            let t = requestAnimationFrame(...e);\n            return r.add(()=>cancelAnimationFrame(t));\n        },\n        nextFrame (...e) {\n            return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e));\n        },\n        setTimeout (...e) {\n            let t = setTimeout(...e);\n            return r.add(()=>clearTimeout(t));\n        },\n        microTask (...e) {\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, n) {\n            let i = e.style.getPropertyValue(t);\n            return Object.assign(e.style, {\n                [t]: n\n            }), this.add(()=>{\n                Object.assign(e.style, {\n                    [t]: i\n                });\n            });\n        },\n        group (e) {\n            let t = o();\n            return e(t), this.add(()=>t.dispose());\n        },\n        add (e) {\n            return s.includes(e) || s.push(e), ()=>{\n                let t = s.indexOf(e);\n                if (t >= 0) for (let n of s.splice(t, 1))n();\n            };\n        },\n        dispose () {\n            for (let e of s.splice(0))e();\n        }\n    };\n    return r;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Rpc3Bvc2FibGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQUEsU0FBU0U7SUFBSSxJQUFJQyxJQUFFLEVBQUUsRUFBQ0MsSUFBRTtRQUFDQyxrQkFBaUJDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7WUFBRSxPQUFPSCxFQUFFRCxnQkFBZ0IsQ0FBQ0UsR0FBRUMsR0FBRUMsSUFBR0wsRUFBRU0sR0FBRyxDQUFDLElBQUlKLEVBQUVLLG1CQUFtQixDQUFDSixHQUFFQyxHQUFFQztRQUFHO1FBQUVHLHVCQUFzQixHQUFHTixDQUFDO1lBQUUsSUFBSUMsSUFBRUsseUJBQXlCTjtZQUFHLE9BQU9GLEVBQUVNLEdBQUcsQ0FBQyxJQUFJRyxxQkFBcUJOO1FBQUc7UUFBRU8sV0FBVSxHQUFHUixDQUFDO1lBQUUsT0FBT0YsRUFBRVEscUJBQXFCLENBQUMsSUFBSVIsRUFBRVEscUJBQXFCLElBQUlOO1FBQUc7UUFBRVMsWUFBVyxHQUFHVCxDQUFDO1lBQUUsSUFBSUMsSUFBRVEsY0FBY1Q7WUFBRyxPQUFPRixFQUFFTSxHQUFHLENBQUMsSUFBSU0sYUFBYVQ7UUFBRztRQUFFUCxXQUFVLEdBQUdNLENBQUM7WUFBRSxJQUFJQyxJQUFFO2dCQUFDVSxTQUFRLENBQUM7WUFBQztZQUFFLE9BQU9oQix5REFBQ0EsQ0FBQztnQkFBS00sRUFBRVUsT0FBTyxJQUFFWCxDQUFDLENBQUMsRUFBRTtZQUFFLElBQUdGLEVBQUVNLEdBQUcsQ0FBQztnQkFBS0gsRUFBRVUsT0FBTyxHQUFDLENBQUM7WUFBQztRQUFFO1FBQUVDLE9BQU1aLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO1lBQUUsSUFBSUMsSUFBRUgsRUFBRVksS0FBSyxDQUFDQyxnQkFBZ0IsQ0FBQ1o7WUFBRyxPQUFPYSxPQUFPQyxNQUFNLENBQUNmLEVBQUVZLEtBQUssRUFBQztnQkFBQyxDQUFDWCxFQUFFLEVBQUNDO1lBQUMsSUFBRyxJQUFJLENBQUNFLEdBQUcsQ0FBQztnQkFBS1UsT0FBT0MsTUFBTSxDQUFDZixFQUFFWSxLQUFLLEVBQUM7b0JBQUMsQ0FBQ1gsRUFBRSxFQUFDRTtnQkFBQztZQUFFO1FBQUU7UUFBRWEsT0FBTWhCLENBQUM7WUFBRSxJQUFJQyxJQUFFTDtZQUFJLE9BQU9JLEVBQUVDLElBQUcsSUFBSSxDQUFDRyxHQUFHLENBQUMsSUFBSUgsRUFBRWdCLE9BQU87UUFBRztRQUFFYixLQUFJSixDQUFDO1lBQUUsT0FBT0gsRUFBRXFCLFFBQVEsQ0FBQ2xCLE1BQUlILEVBQUVzQixJQUFJLENBQUNuQixJQUFHO2dCQUFLLElBQUlDLElBQUVKLEVBQUV1QixPQUFPLENBQUNwQjtnQkFBRyxJQUFHQyxLQUFHLEdBQUUsS0FBSSxJQUFJQyxLQUFLTCxFQUFFd0IsTUFBTSxDQUFDcEIsR0FBRSxHQUFHQztZQUFHO1FBQUM7UUFBRWU7WUFBVSxLQUFJLElBQUlqQixLQUFLSCxFQUFFd0IsTUFBTSxDQUFDLEdBQUdyQjtRQUFHO0lBQUM7SUFBRSxPQUFPRjtBQUFDO0FBQTBCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Rpc3Bvc2FibGVzLmpzP2ZhODciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e21pY3JvVGFzayBhcyBhfWZyb20nLi9taWNyby10YXNrLmpzJztmdW5jdGlvbiBvKCl7bGV0IHM9W10scj17YWRkRXZlbnRMaXN0ZW5lcihlLHQsbixpKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKHQsbixpKSxyLmFkZCgoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbixpKSl9LHJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5lKXtsZXQgdD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoLi4uZSk7cmV0dXJuIHIuYWRkKCgpPT5jYW5jZWxBbmltYXRpb25GcmFtZSh0KSl9LG5leHRGcmFtZSguLi5lKXtyZXR1cm4gci5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLmUpKX0sc2V0VGltZW91dCguLi5lKXtsZXQgdD1zZXRUaW1lb3V0KC4uLmUpO3JldHVybiByLmFkZCgoKT0+Y2xlYXJUaW1lb3V0KHQpKX0sbWljcm9UYXNrKC4uLmUpe2xldCB0PXtjdXJyZW50OiEwfTtyZXR1cm4gYSgoKT0+e3QuY3VycmVudCYmZVswXSgpfSksci5hZGQoKCk9Pnt0LmN1cnJlbnQ9ITF9KX0sc3R5bGUoZSx0LG4pe2xldCBpPWUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSh0KTtyZXR1cm4gT2JqZWN0LmFzc2lnbihlLnN0eWxlLHtbdF06bn0pLHRoaXMuYWRkKCgpPT57T2JqZWN0LmFzc2lnbihlLnN0eWxlLHtbdF06aX0pfSl9LGdyb3VwKGUpe2xldCB0PW8oKTtyZXR1cm4gZSh0KSx0aGlzLmFkZCgoKT0+dC5kaXNwb3NlKCkpfSxhZGQoZSl7cmV0dXJuIHMuaW5jbHVkZXMoZSl8fHMucHVzaChlKSwoKT0+e2xldCB0PXMuaW5kZXhPZihlKTtpZih0Pj0wKWZvcihsZXQgbiBvZiBzLnNwbGljZSh0LDEpKW4oKX19LGRpc3Bvc2UoKXtmb3IobGV0IGUgb2Ygcy5zcGxpY2UoMCkpZSgpfX07cmV0dXJuIHJ9ZXhwb3J0e28gYXMgZGlzcG9zYWJsZXN9O1xuIl0sIm5hbWVzIjpbIm1pY3JvVGFzayIsImEiLCJvIiwicyIsInIiLCJhZGRFdmVudExpc3RlbmVyIiwiZSIsInQiLCJuIiwiaSIsImFkZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIm5leHRGcmFtZSIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50Iiwic3R5bGUiLCJnZXRQcm9wZXJ0eVZhbHVlIiwiT2JqZWN0IiwiYXNzaWduIiwiZ3JvdXAiLCJkaXNwb3NlIiwiaW5jbHVkZXMiLCJwdXNoIiwiaW5kZXhPZiIsInNwbGljZSIsImRpc3Bvc2FibGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js":
 | 
						||
/*!*************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.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 */   hasInlineStyle: function() { return /* binding */ r; },\n/* harmony export */   isElement: function() { return /* binding */ t; },\n/* harmony export */   isHTMLElement: function() { return /* binding */ n; },\n/* harmony export */   isHTMLFieldSetElement: function() { return /* binding */ a; },\n/* harmony export */   isHTMLIframeElement: function() { return /* binding */ u; },\n/* harmony export */   isHTMLInputElement: function() { return /* binding */ l; },\n/* harmony export */   isHTMLLabelElement: function() { return /* binding */ m; },\n/* harmony export */   isHTMLLegendElement: function() { return /* binding */ E; },\n/* harmony export */   isHTMLTextAreaElement: function() { return /* binding */ s; },\n/* harmony export */   isHTMLorSVGElement: function() { return /* binding */ i; },\n/* harmony export */   isInteractiveElement: function() { return /* binding */ L; },\n/* harmony export */   isNode: function() { return /* binding */ o; }\n/* harmony export */ });\nfunction o(e) {\n    return typeof e != \"object\" || e === null ? !1 : \"nodeType\" in e;\n}\nfunction t(e) {\n    return o(e) && \"tagName\" in e;\n}\nfunction n(e) {\n    return t(e) && \"accessKey\" in e;\n}\nfunction i(e) {\n    return t(e) && \"tabIndex\" in e;\n}\nfunction r(e) {\n    return t(e) && \"style\" in e;\n}\nfunction u(e) {\n    return n(e) && e.nodeName === \"IFRAME\";\n}\nfunction l(e) {\n    return n(e) && e.nodeName === \"INPUT\";\n}\nfunction s(e) {\n    return n(e) && e.nodeName === \"TEXTAREA\";\n}\nfunction m(e) {\n    return n(e) && e.nodeName === \"LABEL\";\n}\nfunction a(e) {\n    return n(e) && e.nodeName === \"FIELDSET\";\n}\nfunction E(e) {\n    return n(e) && e.nodeName === \"LEGEND\";\n}\n_c = E;\nfunction L(e) {\n    return t(e) ? e.matches('a[href],audio[controls],button,details,embed,iframe,img[usemap],input:not([type=\"hidden\"]),label,select,textarea,video[controls]') : !1;\n}\n_c1 = L;\n\nvar _c, _c1;\n$RefreshReg$(_c, \"E\");\n$RefreshReg$(_c1, \"L\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2RvbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDO0lBQUUsT0FBTyxPQUFPQSxLQUFHLFlBQVVBLE1BQUksT0FBSyxDQUFDLElBQUUsY0FBYUE7QUFBQztBQUFDLFNBQVNDLEVBQUVELENBQUM7SUFBRSxPQUFPRCxFQUFFQyxNQUFJLGFBQVlBO0FBQUM7QUFBQyxTQUFTRSxFQUFFRixDQUFDO0lBQUUsT0FBT0MsRUFBRUQsTUFBSSxlQUFjQTtBQUFDO0FBQUMsU0FBU0csRUFBRUgsQ0FBQztJQUFFLE9BQU9DLEVBQUVELE1BQUksY0FBYUE7QUFBQztBQUFDLFNBQVNJLEVBQUVKLENBQUM7SUFBRSxPQUFPQyxFQUFFRCxNQUFJLFdBQVVBO0FBQUM7QUFBQyxTQUFTSyxFQUFFTCxDQUFDO0lBQUUsT0FBT0UsRUFBRUYsTUFBSUEsRUFBRU0sUUFBUSxLQUFHO0FBQVE7QUFBQyxTQUFTQyxFQUFFUCxDQUFDO0lBQUUsT0FBT0UsRUFBRUYsTUFBSUEsRUFBRU0sUUFBUSxLQUFHO0FBQU87QUFBQyxTQUFTRSxFQUFFUixDQUFDO0lBQUUsT0FBT0UsRUFBRUYsTUFBSUEsRUFBRU0sUUFBUSxLQUFHO0FBQVU7QUFBQyxTQUFTRyxFQUFFVCxDQUFDO0lBQUUsT0FBT0UsRUFBRUYsTUFBSUEsRUFBRU0sUUFBUSxLQUFHO0FBQU87QUFBQyxTQUFTSSxFQUFFVixDQUFDO0lBQUUsT0FBT0UsRUFBRUYsTUFBSUEsRUFBRU0sUUFBUSxLQUFHO0FBQVU7QUFBQyxTQUFTSyxFQUFFWCxDQUFDO0lBQUUsT0FBT0UsRUFBRUYsTUFBSUEsRUFBRU0sUUFBUSxLQUFHO0FBQVE7S0FBdkNLO0FBQXdDLFNBQVNDLEVBQUVaLENBQUM7SUFBRSxPQUFPQyxFQUFFRCxLQUFHQSxFQUFFYSxPQUFPLENBQUMsc0lBQW9JLENBQUM7QUFBQztNQUFqS0Q7QUFBc2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZG9tLmpzPzM4YzUiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gbyhlKXtyZXR1cm4gdHlwZW9mIGUhPVwib2JqZWN0XCJ8fGU9PT1udWxsPyExOlwibm9kZVR5cGVcImluIGV9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbyhlKSYmXCJ0YWdOYW1lXCJpbiBlfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIHQoZSkmJlwiYWNjZXNzS2V5XCJpbiBlfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHQoZSkmJlwidGFiSW5kZXhcImluIGV9ZnVuY3Rpb24gcihlKXtyZXR1cm4gdChlKSYmXCJzdHlsZVwiaW4gZX1mdW5jdGlvbiB1KGUpe3JldHVybiBuKGUpJiZlLm5vZGVOYW1lPT09XCJJRlJBTUVcIn1mdW5jdGlvbiBsKGUpe3JldHVybiBuKGUpJiZlLm5vZGVOYW1lPT09XCJJTlBVVFwifWZ1bmN0aW9uIHMoZSl7cmV0dXJuIG4oZSkmJmUubm9kZU5hbWU9PT1cIlRFWFRBUkVBXCJ9ZnVuY3Rpb24gbShlKXtyZXR1cm4gbihlKSYmZS5ub2RlTmFtZT09PVwiTEFCRUxcIn1mdW5jdGlvbiBhKGUpe3JldHVybiBuKGUpJiZlLm5vZGVOYW1lPT09XCJGSUVMRFNFVFwifWZ1bmN0aW9uIEUoZSl7cmV0dXJuIG4oZSkmJmUubm9kZU5hbWU9PT1cIkxFR0VORFwifWZ1bmN0aW9uIEwoZSl7cmV0dXJuIHQoZSk/ZS5tYXRjaGVzKCdhW2hyZWZdLGF1ZGlvW2NvbnRyb2xzXSxidXR0b24sZGV0YWlscyxlbWJlZCxpZnJhbWUsaW1nW3VzZW1hcF0saW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKSxsYWJlbCxzZWxlY3QsdGV4dGFyZWEsdmlkZW9bY29udHJvbHNdJyk6ITF9ZXhwb3J0e3IgYXMgaGFzSW5saW5lU3R5bGUsdCBhcyBpc0VsZW1lbnQsbiBhcyBpc0hUTUxFbGVtZW50LGEgYXMgaXNIVE1MRmllbGRTZXRFbGVtZW50LHUgYXMgaXNIVE1MSWZyYW1lRWxlbWVudCxsIGFzIGlzSFRNTElucHV0RWxlbWVudCxtIGFzIGlzSFRNTExhYmVsRWxlbWVudCxFIGFzIGlzSFRNTExlZ2VuZEVsZW1lbnQscyBhcyBpc0hUTUxUZXh0QXJlYUVsZW1lbnQsaSBhcyBpc0hUTUxvclNWR0VsZW1lbnQsTCBhcyBpc0ludGVyYWN0aXZlRWxlbWVudCxvIGFzIGlzTm9kZX07XG4iXSwibmFtZXMiOlsibyIsImUiLCJ0IiwibiIsImkiLCJyIiwidSIsIm5vZGVOYW1lIiwibCIsInMiLCJtIiwiYSIsIkUiLCJMIiwibWF0Y2hlcyIsImhhc0lubGluZVN0eWxlIiwiaXNFbGVtZW50IiwiaXNIVE1MRWxlbWVudCIsImlzSFRNTEZpZWxkU2V0RWxlbWVudCIsImlzSFRNTElmcmFtZUVsZW1lbnQiLCJpc0hUTUxJbnB1dEVsZW1lbnQiLCJpc0hUTUxMYWJlbEVsZW1lbnQiLCJpc0hUTUxMZWdlbmRFbGVtZW50IiwiaXNIVE1MVGV4dEFyZWFFbGVtZW50IiwiaXNIVE1Mb3JTVkdFbGVtZW50IiwiaXNJbnRlcmFjdGl2ZUVsZW1lbnQiLCJpc05vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/env.js":
 | 
						||
/*!*************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2Vudi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBSUEsSUFBRUMsT0FBT0MsY0FBYztBQUFDLElBQUlDLElBQUUsQ0FBQ0MsR0FBRUMsR0FBRUMsSUFBSUQsS0FBS0QsSUFBRUosRUFBRUksR0FBRUMsR0FBRTtRQUFDRSxZQUFXLENBQUM7UUFBRUMsY0FBYSxDQUFDO1FBQUVDLFVBQVMsQ0FBQztRQUFFQyxPQUFNSjtJQUFDLEtBQUdGLENBQUMsQ0FBQ0MsRUFBRSxHQUFDQztBQUFFLElBQUlLLElBQUUsQ0FBQ1AsR0FBRUMsR0FBRUMsSUFBS0gsQ0FBQUEsRUFBRUMsR0FBRSxPQUFPQyxLQUFHLFdBQVNBLElBQUUsS0FBR0EsR0FBRUMsSUFBR0EsQ0FBQUE7QUFBRyxNQUFNTTtJQUFFQyxhQUFhO1FBQUNGLEVBQUUsSUFBSSxFQUFDLFdBQVUsSUFBSSxDQUFDRyxNQUFNO1FBQUlILEVBQUUsSUFBSSxFQUFDLGdCQUFlO1FBQVdBLEVBQUUsSUFBSSxFQUFDLGFBQVk7SUFBRTtJQUFDSSxJQUFJVixDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUNXLE9BQU8sS0FBR1gsS0FBSSxLQUFJLENBQUNZLFlBQVksR0FBQyxXQUFVLElBQUksQ0FBQ0MsU0FBUyxHQUFDLEdBQUUsSUFBSSxDQUFDRixPQUFPLEdBQUNYLENBQUFBO0lBQUU7SUFBQ2MsUUFBTztRQUFDLElBQUksQ0FBQ0osR0FBRyxDQUFDLElBQUksQ0FBQ0QsTUFBTTtJQUFHO0lBQUNNLFNBQVE7UUFBQyxPQUFNLEVBQUUsSUFBSSxDQUFDRixTQUFTO0lBQUE7SUFBQyxJQUFJRyxXQUFVO1FBQUMsT0FBTyxJQUFJLENBQUNMLE9BQU8sS0FBRztJQUFRO0lBQUMsSUFBSU0sV0FBVTtRQUFDLE9BQU8sSUFBSSxDQUFDTixPQUFPLEtBQUc7SUFBUTtJQUFDRixTQUFRO1FBQUMsT0FBTyxPQUFPUyxVQUFRLGVBQWEsT0FBT0MsWUFBVSxjQUFZLFdBQVM7SUFBUTtJQUFDQyxVQUFTO1FBQUMsSUFBSSxDQUFDUixZQUFZLEtBQUcsYUFBWSxLQUFJLENBQUNBLFlBQVksR0FBQyxVQUFTO0lBQUU7SUFBQyxJQUFJUyxvQkFBbUI7UUFBQyxPQUFPLElBQUksQ0FBQ1QsWUFBWSxLQUFHO0lBQVU7QUFBQztBQUFDLElBQUlVLElBQUUsSUFBSWY7QUFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvZW52LmpzP2UwODAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBkPSh0LGUsbik9PmUgaW4gdD9pKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOnRbZV09bjt2YXIgcj0odCxlLG4pPT4oZCh0LHR5cGVvZiBlIT1cInN5bWJvbFwiP2UrXCJcIjplLG4pLG4pO2NsYXNzIG97Y29uc3RydWN0b3IoKXtyKHRoaXMsXCJjdXJyZW50XCIsdGhpcy5kZXRlY3QoKSk7cih0aGlzLFwiaGFuZG9mZlN0YXRlXCIsXCJwZW5kaW5nXCIpO3IodGhpcyxcImN1cnJlbnRJZFwiLDApfXNldChlKXt0aGlzLmN1cnJlbnQhPT1lJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJwZW5kaW5nXCIsdGhpcy5jdXJyZW50SWQ9MCx0aGlzLmN1cnJlbnQ9ZSl9cmVzZXQoKXt0aGlzLnNldCh0aGlzLmRldGVjdCgpKX1uZXh0SWQoKXtyZXR1cm4rK3RoaXMuY3VycmVudElkfWdldCBpc1NlcnZlcigpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cInNlcnZlclwifWdldCBpc0NsaWVudCgpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT1cImNsaWVudFwifWRldGVjdCgpe3JldHVybiB0eXBlb2Ygd2luZG93PT1cInVuZGVmaW5lZFwifHx0eXBlb2YgZG9jdW1lbnQ9PVwidW5kZWZpbmVkXCI/XCJzZXJ2ZXJcIjpcImNsaWVudFwifWhhbmRvZmYoKXt0aGlzLmhhbmRvZmZTdGF0ZT09PVwicGVuZGluZ1wiJiYodGhpcy5oYW5kb2ZmU3RhdGU9XCJjb21wbGV0ZVwiKX1nZXQgaXNIYW5kb2ZmQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5oYW5kb2ZmU3RhdGU9PT1cImNvbXBsZXRlXCJ9fWxldCBzPW5ldyBvO2V4cG9ydHtzIGFzIGVudn07XG4iXSwibmFtZXMiOlsiaSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZCIsInQiLCJlIiwibiIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwiciIsIm8iLCJjb25zdHJ1Y3RvciIsImRldGVjdCIsInNldCIsImN1cnJlbnQiLCJoYW5kb2ZmU3RhdGUiLCJjdXJyZW50SWQiLCJyZXNldCIsIm5leHRJZCIsImlzU2VydmVyIiwiaXNDbGllbnQiLCJ3aW5kb3ciLCJkb2N1bWVudCIsImhhbmRvZmYiLCJpc0hhbmRvZmZDb21wbGV0ZSIsInMiLCJlbnYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/env.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/focus-management.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ T; },\n/* harmony export */   FocusResult: function() { return /* binding */ y; },\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 */ g; },\n/* harmony export */   focusableSelector: function() { return /* binding */ f; },\n/* harmony export */   getAutoFocusableElements: function() { return /* binding */ O; },\n/* harmony export */   getFocusableElements: function() { return /* binding */ b; },\n/* harmony export */   isFocusableElement: function() { return /* binding */ A; },\n/* harmony export */   restoreFocusIfNecessary: function() { return /* binding */ V; },\n/* harmony export */   sortByDomNode: function() { return /* binding */ P; }\n/* harmony export */ });\n/* harmony import */ var _disposables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./disposables.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/disposables.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dom.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/dom.js\");\n/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./match.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js\");\n\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(\",\"), F = [\n    \"[data-autofocus]\"\n].map((e)=>`${e}:not([tabindex='-1'])`).join(\",\");\nvar T = ((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))(T || {}), y = ((o)=>(o[o.Error = 0] = \"Error\", o[o.Overflow = 1] = \"Overflow\", o[o.Success = 2] = \"Success\", o[o.Underflow = 3] = \"Underflow\", o))(y || {}), S = ((t)=>(t[t.Previous = -1] = \"Previous\", t[t.Next = 1] = \"Next\", t))(S || {});\nfunction b(e = 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 O(e = 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}\n_c = O;\nvar h = ((t)=>(t[t.Strict = 0] = \"Strict\", t[t.Loose = 1] = \"Loose\", t))(h || {});\nfunction A(e, r = 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 l = e;\n            for(; l !== null;){\n                if (l.matches(f)) return !0;\n                l = l.parentElement;\n            }\n            return !1;\n        }\n    });\n}\n_c1 = A;\nfunction V(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 && _dom_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLorSVGElement(r.activeElement) && !A(r.activeElement, 0) && I(e);\n    });\n}\n_c2 = V;\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 _(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}\nfunction P(e, r = (t)=>t) {\n    return e.slice().sort((t, l)=>{\n        let o = r(t), c = r(l);\n        if (o === null || c === null) return 0;\n        let u = o.compareDocumentPosition(c);\n        return u & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : u & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;\n    });\n}\n_c4 = P;\nfunction j(e, r) {\n    return g(b(), r, {\n        relativeTo: e\n    });\n}\nfunction g(e, r, { sorted: t = !0, relativeTo: l = null, skipElements: o = [] } = {}) {\n    let c = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, u = Array.isArray(e) ? t ? P(e) : e : r & 64 ? O(e) : b(e);\n    o.length > 0 && u.length > 1 && (u = u.filter((s)=>!o.some((a)=>a != null && \"current\" in a ? (a == null ? void 0 : a.current) === s : a === s))), l = l != null ? l : 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, u.indexOf(l)) - 1;\n        if (r & 4) return Math.max(0, u.indexOf(l)) + 1;\n        if (r & 8) return u.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 = u.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 = u[s], i == null || i.focus(M), m += n;\n    }while (i !== c.activeElement);\n    return r & 6 && _(i) && i.select(), 2;\n}\n\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"O\");\n$RefreshReg$(_c1, \"A\");\n$RefreshReg$(_c2, \"V\");\n$RefreshReg$(_c3, \"I\");\n$RefreshReg$(_c4, \"P\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUErQztBQUEyQjtBQUFtQztBQUE4QztBQUFBLElBQUlPLElBQUU7SUFBQztJQUF5QjtJQUFhO0lBQVU7SUFBYTtJQUF5QjtJQUFTO0lBQXdCO0lBQXlCO0NBQTJCLENBQUNDLEdBQUcsQ0FBQ0MsQ0FBQUEsSUFBRyxDQUFDLEVBQUVBLEVBQUUscUJBQXFCLENBQUMsRUFBRUMsSUFBSSxDQUFDLE1BQUtDLElBQUU7SUFBQztDQUFtQixDQUFDSCxHQUFHLENBQUNDLENBQUFBLElBQUcsQ0FBQyxFQUFFQSxFQUFFLHFCQUFxQixDQUFDLEVBQUVDLElBQUksQ0FBQztBQUFLLElBQUlFLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxLQUFLLEdBQUMsRUFBRSxHQUFDLFNBQVFELENBQUMsQ0FBQ0EsRUFBRUUsUUFBUSxHQUFDLEVBQUUsR0FBQyxZQUFXRixDQUFDLENBQUNBLEVBQUVHLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0gsQ0FBQyxDQUFDQSxFQUFFSSxJQUFJLEdBQUMsRUFBRSxHQUFDLFFBQU9KLENBQUMsQ0FBQ0EsRUFBRUssVUFBVSxHQUFDLEdBQUcsR0FBQyxjQUFhTCxDQUFDLENBQUNBLEVBQUVNLFFBQVEsR0FBQyxHQUFHLEdBQUMsWUFBV04sQ0FBQyxDQUFDQSxFQUFFTyxTQUFTLEdBQUMsR0FBRyxHQUFDLGFBQVlQLENBQUFBLENBQUMsRUFBR0QsS0FBRyxDQUFDLElBQUdTLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxF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QWdFLE1BQUtzRSxJQUFFLENBQUM7UUFBSyxJQUFHekQsSUFBRSxHQUFFLE9BQU87UUFBRSxJQUFHQSxJQUFFLEdBQUUsT0FBT0MsS0FBS3lELEdBQUcsQ0FBQyxHQUFFbkIsRUFBRW9CLE9BQU8sQ0FBQy9DLE1BQUk7UUFBRSxJQUFHWixJQUFFLEdBQUUsT0FBT0MsS0FBS3lELEdBQUcsQ0FBQyxHQUFFbkIsRUFBRW9CLE9BQU8sQ0FBQy9DLE1BQUk7UUFBRSxJQUFHWixJQUFFLEdBQUUsT0FBT3VDLEVBQUVXLE1BQU0sR0FBQztRQUFFLE1BQU0sSUFBSS9ELE1BQU07SUFBZ0UsTUFBS3lFLElBQUU1RCxJQUFFLEtBQUc7UUFBQ2dDLGVBQWMsQ0FBQztJQUFDLElBQUUsQ0FBQyxHQUFFNkIsSUFBRSxHQUFFQyxJQUFFdkIsRUFBRVcsTUFBTSxFQUFDYTtJQUFFLEdBQUU7UUFBQyxJQUFHRixLQUFHQyxLQUFHRCxJQUFFQyxLQUFHLEdBQUUsT0FBTztRQUFFLElBQUlULElBQUVJLElBQUVJO1FBQUUsSUFBRzdELElBQUUsSUFBR3FELElBQUUsQ0FBQ0EsSUFBRVMsQ0FBQUEsSUFBR0E7YUFBTTtZQUFDLElBQUdULElBQUUsR0FBRSxPQUFPO1lBQUUsSUFBR0EsS0FBR1MsR0FBRSxPQUFPO1FBQUM7UUFBQ0MsSUFBRXhCLENBQUMsQ0FBQ2MsRUFBRSxFQUFDVSxLQUFHLFFBQU1BLEVBQUVoQyxLQUFLLENBQUM2QixJQUFHQyxLQUFHcEY7SUFBQyxRQUFPc0YsTUFBSXpCLEVBQUVyQixhQUFhLEVBQUU7SUFBQSxPQUFPakIsSUFBRSxLQUFHa0MsRUFBRTZCLE1BQUlBLEVBQUVDLE1BQU0sSUFBRztBQUFDO0FBQTZQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL2ZvY3VzLW1hbmFnZW1lbnQuanM/NTc4NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7ZGlzcG9zYWJsZXMgYXMgTn1mcm9tJy4vZGlzcG9zYWJsZXMuanMnO2ltcG9ydCphcyBwIGZyb20nLi9kb20uanMnO2ltcG9ydHttYXRjaCBhcyBMfWZyb20nLi9tYXRjaC5qcyc7aW1wb3J0e2dldE93bmVyRG9jdW1lbnQgYXMgRX1mcm9tJy4vb3duZXIuanMnO2xldCBmPVtcIltjb250ZW50RWRpdGFibGU9dHJ1ZV1cIixcIlt0YWJpbmRleF1cIixcImFbaHJlZl1cIixcImFyZWFbaHJlZl1cIixcImJ1dHRvbjpub3QoW2Rpc2FibGVkXSlcIixcImlmcmFtZVwiLFwiaW5wdXQ6bm90KFtkaXNhYmxlZF0pXCIsXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pXCIsXCJ0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSlcIl0ubWFwKGU9PmAke2V9Om5vdChbdGFiaW5kZXg9Jy0xJ10pYCkuam9pbihcIixcIiksRj1bXCJbZGF0YS1hdXRvZm9jdXNdXCJdLm1hcChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSctMSddKWApLmpvaW4oXCIsXCIpO3ZhciBUPShuPT4obltuLkZpcnN0PTFdPVwiRmlyc3RcIixuW24uUHJldmlvdXM9Ml09XCJQcmV2aW91c1wiLG5bbi5OZXh0PTRdPVwiTmV4dFwiLG5bbi5MYXN0PThdPVwiTGFzdFwiLG5bbi5XcmFwQXJvdW5kPTE2XT1cIldyYXBBcm91bmRcIixuW24uTm9TY3JvbGw9MzJdPVwiTm9TY3JvbGxcIixuW24uQXV0b0ZvY3VzPTY0XT1cIkF1dG9Gb2N1c1wiLG4pKShUfHx7fSkseT0obz0+KG9bby5FcnJvcj0wXT1cIkVycm9yXCIsb1tvLk92ZXJmbG93PTFdPVwiT3ZlcmZsb3dcIixvW28uU3VjY2Vzcz0yXT1cIlN1Y2Nlc3NcIixvW28uVW5kZXJmbG93PTNdPVwiVW5kZXJmbG93XCIsbykpKHl8fHt9KSxTPSh0PT4odFt0LlByZXZpb3VzPS0xXT1cIlByZXZpb3VzXCIsdFt0Lk5leHQ9MV09XCJOZXh0XCIsdCkpKFN8fHt9KTtmdW5jdGlvbiBiKGU9ZG9jdW1lbnQuYm9keSl7cmV0dXJuIGU9PW51bGw/W106QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoZikpLnNvcnQoKHIsdCk9Pk1hdGguc2lnbigoci50YWJJbmRleHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLSh0LnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpKX1mdW5jdGlvbiBPKGU9ZG9jdW1lbnQuYm9keSl7cmV0dXJuIGU9PW51bGw/W106QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoRikpLnNvcnQoKHIsdCk9Pk1hdGguc2lnbigoci50YWJJbmRleHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLSh0LnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpKX12YXIgaD0odD0+KHRbdC5TdHJpY3Q9MF09XCJTdHJpY3RcIix0W3QuTG9vc2U9MV09XCJMb29zZVwiLHQpKShofHx7fSk7ZnVuY3Rpb24gQShlLHI9MCl7dmFyIHQ7cmV0dXJuIGU9PT0oKHQ9RShlKSk9PW51bGw/dm9pZCAwOnQuYm9keSk/ITE6TChyLHtbMF0oKXtyZXR1cm4gZS5tYXRjaGVzKGYpfSxbMV0oKXtsZXQgbD1lO2Zvcig7bCE9PW51bGw7KXtpZihsLm1hdGNoZXMoZikpcmV0dXJuITA7bD1sLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9fSl9ZnVuY3Rpb24gVihlKXtsZXQgcj1FKGUpO04oKS5uZXh0RnJhbWUoKCk9PntyJiZwLmlzSFRNTG9yU1ZHRWxlbWVudChyLmFjdGl2ZUVsZW1lbnQpJiYhQShyLmFjdGl2ZUVsZW1lbnQsMCkmJkkoZSl9KX12YXIgSD0odD0+KHRbdC5LZXlib2FyZD0wXT1cIktleWJvYXJkXCIsdFt0Lk1vdXNlPTFdPVwiTW91c2VcIix0KSkoSHx8e30pO3R5cGVvZiB3aW5kb3chPVwidW5kZWZpbmVkXCImJnR5cGVvZiBkb2N1bWVudCE9XCJ1bmRlZmluZWRcIiYmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsZT0+e2UubWV0YUtleXx8ZS5hbHRLZXl8fGUuY3RybEtleXx8KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU9XCJcIil9LCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixlPT57ZS5kZXRhaWw9PT0xP2RlbGV0ZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNWaXNpYmxlOmUuZGV0YWlsPT09MCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU9XCJcIil9LCEwKSk7ZnVuY3Rpb24gSShlKXtlPT1udWxsfHxlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9bGV0IHc9W1widGV4dGFyZWFcIixcImlucHV0XCJdLmpvaW4oXCIsXCIpO2Z1bmN0aW9uIF8oZSl7dmFyIHIsdDtyZXR1cm4odD0ocj1lPT1udWxsP3ZvaWQgMDplLm1hdGNoZXMpPT1udWxsP3ZvaWQgMDpyLmNhbGwoZSx3KSkhPW51bGw/dDohMX1mdW5jdGlvbiBQKGUscj10PT50KXtyZXR1cm4gZS5zbGljZSgpLnNvcnQoKHQsbCk9PntsZXQgbz1yKHQpLGM9cihsKTtpZihvPT09bnVsbHx8Yz09PW51bGwpcmV0dXJuIDA7bGV0IHU9by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjKTtyZXR1cm4gdSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMTp1Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPzE6MH0pfWZ1bmN0aW9uIGooZSxyKXtyZXR1cm4gZyhiKCkscix7cmVsYXRpdmVUbzplfSl9ZnVuY3Rpb24gZyhlLHIse3NvcnRlZDp0PSEwLHJlbGF0aXZlVG86bD1udWxsLHNraXBFbGVtZW50czpvPVtdfT17fSl7bGV0IGM9QXJyYXkuaXNBcnJheShlKT9lLmxlbmd0aD4wP2VbMF0ub3duZXJEb2N1bWVudDpkb2N1bWVudDplLm93bmVyRG9jdW1lbnQsdT1BcnJheS5pc0FycmF5KGUpP3Q/UChlKTplOnImNjQ/TyhlKTpiKGUpO28ubGVuZ3RoPjAmJnUubGVuZ3RoPjEmJih1PXUuZmlsdGVyKHM9PiFvLnNvbWUoYT0+YSE9bnVsbCYmXCJjdXJyZW50XCJpbiBhPyhhPT1udWxsP3ZvaWQgMDphLmN1cnJlbnQpPT09czphPT09cykpKSxsPWwhPW51bGw/bDpjLmFjdGl2ZUVsZW1lbnQ7bGV0IG49KCgpPT57aWYociY1KXJldHVybiAxO2lmKHImMTApcmV0dXJuLTE7dGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBGb2N1cy5GaXJzdCwgRm9jdXMuUHJldmlvdXMsIEZvY3VzLk5leHQgb3IgRm9jdXMuTGFzdFwiKX0pKCkseD0oKCk9PntpZihyJjEpcmV0dXJuIDA7aWYociYyKXJldHVybiBNYXRoLm1heCgwLHUuaW5kZXhPZihsKSktMTtpZihyJjQpcmV0dXJuIE1hdGgubWF4KDAsdS5pbmRleE9mKGwpKSsxO2lmKHImOClyZXR1cm4gdS5sZW5ndGgtMTt0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIEZvY3VzLkZpcnN0LCBGb2N1cy5QcmV2aW91cywgRm9jdXMuTmV4dCBvciBGb2N1cy5MYXN0XCIpfSkoKSxNPXImMzI/e3ByZXZlbnRTY3JvbGw6ITB9Ont9LG09MCxkPXUubGVuZ3RoLGk7ZG97aWYobT49ZHx8bStkPD0wKXJldHVybiAwO2xldCBzPXgrbTtpZihyJjE2KXM9KHMrZCklZDtlbHNle2lmKHM8MClyZXR1cm4gMztpZihzPj1kKXJldHVybiAxfWk9dVtzXSxpPT1udWxsfHxpLmZvY3VzKE0pLG0rPW59d2hpbGUoaSE9PWMuYWN0aXZlRWxlbWVudCk7cmV0dXJuIHImNiYmXyhpKSYmaS5zZWxlY3QoKSwyfWV4cG9ydHtUIGFzIEZvY3VzLHkgYXMgRm9jdXNSZXN1bHQsaCBhcyBGb2N1c2FibGVNb2RlLEkgYXMgZm9jdXNFbGVtZW50LGogYXMgZm9jdXNGcm9tLGcgYXMgZm9jdXNJbixmIGFzIGZvY3VzYWJsZVNlbGVjdG9yLE8gYXMgZ2V0QXV0b0ZvY3VzYWJsZUVsZW1lbnRzLGIgYXMgZ2V0Rm9jdXNhYmxlRWxlbWVudHMsQSBhcyBpc0ZvY3VzYWJsZUVsZW1lbnQsViBhcyByZXN0b3JlRm9jdXNJZk5lY2Vzc2FyeSxQIGFzIHNvcnRCeURvbU5vZGV9O1xuIl0sIm5hbWVzIjpbImRpc3Bvc2FibGVzIiwiTiIsInAiLCJtYXRjaCIsIkwiLCJnZXRPd25lckRvY3VtZW50IiwiRSIsImYiLCJtYXAiLCJlIiwiam9pbiIsIkYiLCJUIiwibiIsIkZpcnN0IiwiUHJldmlvdXMiLCJOZXh0IiwiTGFzdCIsIldyYXBBcm91bmQiLCJOb1Njcm9sbCIsIkF1dG9Gb2N1cyIsInkiLCJvIiwiRXJyb3IiLCJPdmVyZmxvdyIsIlN1Y2Nlc3MiLCJVbmRlcmZsb3ciLCJTIiwidCIsImIiLCJkb2N1bWVudCIsImJvZHkiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwic29ydCIsInIiLCJNYXRoIiwic2lnbiIsInRhYkluZGV4IiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsIk8iLCJoIiwiU3RyaWN0IiwiTG9vc2UiLCJBIiwibWF0Y2hlcyIsImwiLCJwYXJlbnRFbGVtZW50IiwiViIsIm5leHRGcmFtZSIsImlzSFRNTG9yU1ZHRWxlbWVudCIsImFjdGl2ZUVsZW1lbnQiLCJJIiwiSCIsIktleWJvYXJkIiwiTW91c2UiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwibWV0YUtleSIsImFsdEtleSIsImN0cmxLZXkiLCJkb2N1bWVudEVsZW1lbnQiLCJkYXRhc2V0IiwiaGVhZGxlc3N1aUZvY3VzVmlzaWJsZSIsImRldGFpbCIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsInciLCJfIiwiY2FsbCIsIlAiLCJzbGljZSIsImMiLCJ1IiwiY29tcGFyZURvY3VtZW50UG9zaXRpb24iLCJOb2RlIiwiRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIiwiRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIiwiaiIsImciLCJyZWxhdGl2ZVRvIiwic29ydGVkIiwic2tpcEVsZW1lbnRzIiwiaXNBcnJheSIsImxlbmd0aCIsIm93bmVyRG9jdW1lbnQiLCJmaWx0ZXIiLCJzIiwic29tZSIsImEiLCJjdXJyZW50IiwieCIsIm1heCIsImluZGV4T2YiLCJNIiwibSIsImQiLCJpIiwic2VsZWN0IiwiRm9jdXMiLCJGb2N1c1Jlc3VsdCIsIkZvY3VzYWJsZU1vZGUiLCJmb2N1c0VsZW1lbnQiLCJmb2N1c0Zyb20iLCJmb2N1c0luIiwiZm9jdXNhYmxlU2VsZWN0b3IiLCJnZXRBdXRvRm9jdXNhYmxlRWxlbWVudHMiLCJnZXRGb2N1c2FibGVFbGVtZW50cyIsImlzRm9jdXNhYmxlRWxlbWVudCIsInJlc3RvcmVGb2N1c0lmTmVjZXNzYXJ5Iiwic29ydEJ5RG9tTm9kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/focus-management.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js":
 | 
						||
/*!***************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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, ...a) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21hdGNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDLEVBQUNDLENBQUMsRUFBQyxHQUFHQyxDQUFDO0lBQUUsSUFBR0YsS0FBS0MsR0FBRTtRQUFDLElBQUlFLElBQUVGLENBQUMsQ0FBQ0QsRUFBRTtRQUFDLE9BQU8sT0FBT0csS0FBRyxhQUFXQSxLQUFLRCxLQUFHQztJQUFDO0lBQUMsSUFBSUMsSUFBRSxJQUFJQyxNQUFNLENBQUMsaUJBQWlCLEVBQUVMLEVBQUUsOERBQThELEVBQUVNLE9BQU9DLElBQUksQ0FBQ04sR0FBR08sR0FBRyxDQUFDTCxDQUFBQSxJQUFHLENBQUMsQ0FBQyxFQUFFQSxFQUFFLENBQUMsQ0FBQyxFQUFFTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFBRSxNQUFNSixNQUFNSyxpQkFBaUIsSUFBRUwsTUFBTUssaUJBQWlCLENBQUNOLEdBQUVMLElBQUdLO0FBQUM7QUFBb0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvbWF0Y2guanM/MDA0ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiB1KHIsbiwuLi5hKXtpZihyIGluIG4pe2xldCBlPW5bcl07cmV0dXJuIHR5cGVvZiBlPT1cImZ1bmN0aW9uXCI/ZSguLi5hKTplfWxldCB0PW5ldyBFcnJvcihgVHJpZWQgdG8gaGFuZGxlIFwiJHtyfVwiIGJ1dCB0aGVyZSBpcyBubyBoYW5kbGVyIGRlZmluZWQuIE9ubHkgZGVmaW5lZCBoYW5kbGVycyBhcmU6ICR7T2JqZWN0LmtleXMobikubWFwKGU9PmBcIiR7ZX1cImApLmpvaW4oXCIsIFwiKX0uYCk7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHQsdSksdH1leHBvcnR7dSBhcyBtYXRjaH07XG4iXSwibmFtZXMiOlsidSIsInIiLCJuIiwiYSIsImUiLCJ0IiwiRXJyb3IiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiam9pbiIsImNhcHR1cmVTdGFja1RyYWNlIiwibWF0Y2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/micro-task.js":
 | 
						||
/*!********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL21pY3JvLXRhc2suanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLEVBQUVDLENBQUM7SUFBRSxPQUFPQyxrQkFBZ0IsYUFBV0EsZUFBZUQsS0FBR0UsUUFBUUMsT0FBTyxHQUFHQyxJQUFJLENBQUNKLEdBQUdLLEtBQUssQ0FBQ0MsQ0FBQUEsSUFBR0MsV0FBVztZQUFLLE1BQU1EO1FBQUM7QUFBRztBQUF3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9taWNyby10YXNrLmpzPzMyOWIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gdChlKXt0eXBlb2YgcXVldWVNaWNyb3Rhc2s9PVwiZnVuY3Rpb25cIj9xdWV1ZU1pY3JvdGFzayhlKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKGUpLmNhdGNoKG89PnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBvfSkpfWV4cG9ydHt0IGFzIG1pY3JvVGFza307XG4iXSwibmFtZXMiOlsidCIsImUiLCJxdWV1ZU1pY3JvdGFzayIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImNhdGNoIiwibyIsInNldFRpbWVvdXQiLCJtaWNyb1Rhc2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/micro-task.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js":
 | 
						||
/*!***************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ o; }\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ \"(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/env.js\");\n\nfunction o(n) {\n    var e, r;\n    return _env_js__WEBPACK_IMPORTED_MODULE_0__.env.isServer ? null : n ? \"ownerDocument\" in n ? n.ownerDocument : \"current\" in n ? (r = (e = n.current) == null ? void 0 : e.ownerDocument) != null ? r : document : null : document;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL293bmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQUEsU0FBU0UsRUFBRUMsQ0FBQztJQUFFLElBQUlDLEdBQUVDO0lBQUUsT0FBT0osd0NBQUNBLENBQUNLLFFBQVEsR0FBQyxPQUFLSCxJQUFFLG1CQUFrQkEsSUFBRUEsRUFBRUksYUFBYSxHQUFDLGFBQVlKLElBQUUsQ0FBQ0UsSUFBRSxDQUFDRCxJQUFFRCxFQUFFSyxPQUFPLEtBQUcsT0FBSyxLQUFLLElBQUVKLEVBQUVHLGFBQWEsS0FBRyxPQUFLRixJQUFFSSxXQUFTLE9BQUtBO0FBQVE7QUFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvb3duZXIuanM/MmQwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7ZW52IGFzIHR9ZnJvbScuL2Vudi5qcyc7ZnVuY3Rpb24gbyhuKXt2YXIgZSxyO3JldHVybiB0LmlzU2VydmVyP251bGw6bj9cIm93bmVyRG9jdW1lbnRcImluIG4/bi5vd25lckRvY3VtZW50OlwiY3VycmVudFwiaW4gbj8ocj0oZT1uLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDplLm93bmVyRG9jdW1lbnQpIT1udWxsP3I6ZG9jdW1lbnQ6bnVsbDpkb2N1bWVudH1leHBvcnR7byBhcyBnZXRPd25lckRvY3VtZW50fTtcbiJdLCJuYW1lcyI6WyJlbnYiLCJ0IiwibyIsIm4iLCJlIiwiciIsImlzU2VydmVyIiwib3duZXJEb2N1bWVudCIsImN1cnJlbnQiLCJkb2N1bWVudCIsImdldE93bmVyRG9jdW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/owner.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/platform.js":
 | 
						||
/*!******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBO0lBQUksT0FBTSxXQUFXQyxJQUFJLENBQUNDLE9BQU9DLFNBQVMsQ0FBQ0MsUUFBUSxLQUFHLFFBQVFILElBQUksQ0FBQ0MsT0FBT0MsU0FBUyxDQUFDQyxRQUFRLEtBQUdGLE9BQU9DLFNBQVMsQ0FBQ0UsY0FBYyxHQUFDO0FBQUM7QUFBQyxTQUFTQztJQUFJLE9BQU0sWUFBWUwsSUFBSSxDQUFDQyxPQUFPQyxTQUFTLENBQUNJLFNBQVM7QUFBQztBQUFDLFNBQVNDO0lBQUksT0FBT1IsT0FBS007QUFBRztBQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlYWRsZXNzdWkrcmVhY3RAMi4yLjdfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlYWRsZXNzdWkvcmVhY3QvZGlzdC91dGlscy9wbGF0Zm9ybS5qcz8wZDliIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHQoKXtyZXR1cm4vaVBob25lL2dpLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl8fC9NYWMvZ2kudGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSYmd2luZG93Lm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIGkoKXtyZXR1cm4vQW5kcm9pZC9naS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KX1mdW5jdGlvbiBuKCl7cmV0dXJuIHQoKXx8aSgpfWV4cG9ydHtpIGFzIGlzQW5kcm9pZCx0IGFzIGlzSU9TLG4gYXMgaXNNb2JpbGV9O1xuIl0sIm5hbWVzIjpbInQiLCJ0ZXN0Iiwid2luZG93IiwibmF2aWdhdG9yIiwicGxhdGZvcm0iLCJtYXhUb3VjaFBvaW50cyIsImkiLCJ1c2VyQWdlbnQiLCJuIiwiaXNBbmRyb2lkIiwiaXNJT1MiLCJpc01vYmlsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/platform.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/render.js":
 | 
						||
/*!****************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ O; },\n/* harmony export */   RenderStrategy: function() { return /* binding */ A; },\n/* harmony export */   compact: function() { return /* binding */ m; },\n/* harmony export */   forwardRefWithAs: function() { return /* binding */ K; },\n/* harmony export */   mergeProps: function() { return /* binding */ _; },\n/* harmony export */   useRender: function() { return /* binding */ L; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/match.js\");\n\n\n\nvar O = ((a)=>(a[a.None = 0] = \"None\", a[a.RenderStrategy = 1] = \"RenderStrategy\", a[a.Static = 2] = \"Static\", a))(O || {}), A = ((e)=>(e[e.Unmount = 0] = \"Unmount\", e[e.Hidden = 1] = \"Hidden\", e))(A || {});\nfunction L() {\n    let n = U();\n    return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((r)=>C({\n            mergeRefs: n,\n            ...r\n        }), [\n        n\n    ]);\n}\n_c = L;\nfunction C({ ourProps: n, theirProps: r, slot: e, defaultTag: a, features: s, visible: t = !0, name: l, mergeRefs: i }) {\n    i = i != null ? i : $;\n    let o = P(r, n);\n    if (t) return F(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 F(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 F({\n                    ...u,\n                    hidden: !0,\n                    style: {\n                        display: \"none\"\n                    }\n                }, e, a, l, i);\n            }\n        });\n    }\n    return F(o, e, a, l, i);\n}\n_c1 = C;\nfunction F(n, r = {}, e, a, s) {\n    let { as: t = e, children: l, refName: i = \"ref\", ...o } = h(n, [\n        \"unmount\",\n        \"static\"\n    ]), y = n.ref !== void 0 ? {\n        [i]: n.ref\n    } : {}, f = typeof l == \"function\" ? l(r) : l;\n    \"className\" in o && o.className && typeof o.className == \"function\" && (o.className = o.className(r)), o[\"aria-labelledby\"] && o[\"aria-labelledby\"] === o.id && (o[\"aria-labelledby\"] = void 0);\n    let u = {};\n    if (r) {\n        let d = !1, p = [];\n        for (let [c, T] of Object.entries(r))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\" ? (...R)=>(0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p(...R), o.className) : (0,_class_names_js__WEBPACK_IMPORTED_MODULE_2__.classNames)(p, o.className), T = c ? {\n            className: c\n        } : {}, g = P(f.props, m(h(o, [\n            \"ref\"\n        ])));\n        for(let R in u)R in g && delete u[R];\n        return /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(f, Object.assign({}, g, u, y, {\n            ref: s(H(f), 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}\n_c2 = F;\nfunction U() {\n    let n = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]), r = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n        for (let a of n.current)a != null && (typeof a == \"function\" ? a(e) : a.current = e);\n    }, []);\n    return (...e)=>{\n        if (!e.every((a)=>a == null)) return n.current = e, r;\n    };\n}\n_c3 = U;\nfunction $(...n) {\n    return n.every((r)=>r == null) ? void 0 : (r)=>{\n        for (let e of n)e != null && (typeof e == \"function\" ? e(r) : e.current = r);\n    };\n}\nfunction P(...n) {\n    var a;\n    if (n.length === 0) return {};\n    if (n.length === 1) return n[0];\n    let r = {}, e = {};\n    for (let s of n)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : r[t] = s[t];\n    if (r.disabled || r[\"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(r, {\n        [s] (t, ...l) {\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 r;\n}\n_c4 = P;\nfunction _(...n) {\n    var a;\n    if (n.length === 0) return {};\n    if (n.length === 1) return n[0];\n    let r = {}, e = {};\n    for (let s of n)for(let t in s)t.startsWith(\"on\") && typeof s[t] == \"function\" ? ((a = e[t]) != null || (e[t] = []), e[t].push(s[t])) : r[t] = s[t];\n    for(let s in e)Object.assign(r, {\n        [s] (...t) {\n            let l = e[s];\n            for (let i of l)i == null || i(...t);\n        }\n    });\n    return r;\n}\nfunction K(n) {\n    var r;\n    return Object.assign(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(n), {\n        displayName: (r = n.displayName) != null ? r : n.name\n    });\n}\n_c5 = K;\nfunction m(n) {\n    let r = Object.assign({}, n);\n    for(let e in r)r[e] === void 0 && delete r[e];\n    return r;\n}\nfunction h(n, r = []) {\n    let e = Object.assign({}, n);\n    for (let a of r)a in e && delete e[a];\n    return e;\n}\nfunction H(n) {\n    return react__WEBPACK_IMPORTED_MODULE_0__.version.split(\".\")[0] >= \"19\" ? n.props.ref : n.ref;\n}\n_c6 = H;\n\nvar _c, _c1, _c2, _c3, _c4, _c5, _c6;\n$RefreshReg$(_c, \"L\");\n$RefreshReg$(_c1, \"C\");\n$RefreshReg$(_c2, \"F\");\n$RefreshReg$(_c3, \"U\");\n$RefreshReg$(_c4, \"P\");\n$RefreshReg$(_c5, \"K\");\n$RefreshReg$(_c6, \"H\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBMEk7QUFBOEM7QUFBbUM7QUFBQSxJQUFJbUIsSUFBRSxDQUFDQyxDQUFBQSxJQUFJQSxDQUFBQSxDQUFDLENBQUNBLEVBQUVDLElBQUksR0FBQyxFQUFFLEdBQUMsUUFBT0QsQ0FBQyxDQUFDQSxFQUFFRSxjQUFjLEdBQUMsRUFBRSxHQUFDLGtCQUFpQkYsQ0FBQyxDQUFDQSxFQUFFRyxNQUFNLEdBQUMsRUFBRSxHQUFDLFVBQVNILENBQUFBLENBQUMsRUFBR0QsS0FBRyxDQUFDLElBQUdLLElBQUUsQ0FBQ0MsQ0FBQUEsSUFBSUEsQ0FBQUEsQ0FBQyxDQUFDQSxFQUFFQyxPQUFPLEdBQUMsRUFBRSxHQUFDLFdBQVVELENBQUMsQ0FBQ0EsRUFBRUUsTUFBTSxHQUFDLEVBQUUsR0FBQyxVQUFTRixDQUFBQSxDQUFDLEVBQUdELEtBQUcsQ0FBQztBQUFHLFNBQVNJO0lBQUksSUFBSUMsSUFBRUM7SUFBSSxPQUFPbEIsa0RBQUNBLENBQUNtQixDQUFBQSxJQUFHQyxFQUFFO1lBQUNDLFdBQVVKO1lBQUUsR0FBR0UsQ0FBQztRQUFBLElBQUc7UUFBQ0Y7S0FBRTtBQUFDO0tBQXBERDtBQUFxRCxTQUFTSSxFQUFFLEVBQUNFLFVBQVNMLENBQUMsRUFBQ00sWUFBV0osQ0FBQyxFQUFDSyxNQUFLWCxDQUFDLEVBQUNZLFlBQVdqQixDQUFDLEVBQUNrQixVQUFTQyxDQUFDLEVBQUNDLFNBQVFDLElBQUUsQ0FBQyxDQUFDLEVBQUNDLE1BQUtDLENBQUMsRUFBQ1YsV0FBVVcsQ0FBQyxFQUFDO0lBQUVBLElBQUVBLEtBQUcsT0FBS0EsSUFB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LElBQUlKLEtBQUtNLEVBQUVBLENBQUMsQ0FBQ04sRUFBRSxLQUFHLEtBQUssS0FBRyxPQUFPTSxDQUFDLENBQUNOLEVBQUU7SUFBQyxPQUFPTTtBQUFDO0FBQUMsU0FBUzZCLEVBQUUvQixDQUFDLEVBQUNFLElBQUUsRUFBRTtJQUFFLElBQUlOLElBQUUyQyxPQUFPaUIsTUFBTSxDQUFDLENBQUMsR0FBRXhEO0lBQUcsS0FBSSxJQUFJVCxLQUFLVyxFQUFFWCxLQUFLSyxLQUFHLE9BQU9BLENBQUMsQ0FBQ0wsRUFBRTtJQUFDLE9BQU9LO0FBQUM7QUFBQyxTQUFTNkQsRUFBRXpELENBQUM7SUFBRSxPQUFPN0IsMENBQVMsQ0FBQ3FHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFFLE9BQUt4RSxFQUFFc0QsS0FBSyxDQUFDdEIsR0FBRyxHQUFDaEMsRUFBRWdDLEdBQUc7QUFBQTtNQUEzRHlCO0FBQThLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3JlbmRlci5qcz8zZDYxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFLHtGcmFnbWVudCBhcyBiLGNsb25lRWxlbWVudCBhcyBqLGNyZWF0ZUVsZW1lbnQgYXMgdixmb3J3YXJkUmVmIGFzIFMsaXNWYWxpZEVsZW1lbnQgYXMgdyx1c2VDYWxsYmFjayBhcyB4LHVzZVJlZiBhcyBrfWZyb21cInJlYWN0XCI7aW1wb3J0e2NsYXNzTmFtZXMgYXMgTn1mcm9tJy4vY2xhc3MtbmFtZXMuanMnO2ltcG9ydHttYXRjaCBhcyBNfWZyb20nLi9tYXRjaC5qcyc7dmFyIE89KGE9PihhW2EuTm9uZT0wXT1cIk5vbmVcIixhW2EuUmVuZGVyU3RyYXRlZ3k9MV09XCJSZW5kZXJTdHJhdGVneVwiLGFbYS5TdGF0aWM9Ml09XCJTdGF0aWNcIixhKSkoT3x8e30pLEE9KGU9PihlW2UuVW5tb3VudD0wXT1cIlVubW91bnRcIixlW2UuSGlkZGVuPTFdPVwiSGlkZGVuXCIsZSkpKEF8fHt9KTtmdW5jdGlvbiBMKCl7bGV0IG49VSgpO3JldHVybiB4KHI9PkMoe21lcmdlUmVmczpuLC4uLnJ9KSxbbl0pfWZ1bmN0aW9uIEMoe291clByb3BzOm4sdGhlaXJQcm9wczpyLHNsb3Q6ZSxkZWZhdWx0VGFnOmEsZmVhdHVyZXM6cyx2aXNpYmxlOnQ9ITAsbmFtZTpsLG1lcmdlUmVmczppfSl7aT1pIT1udWxsP2k6JDtsZXQgbz1QKHIsbik7aWYodClyZXR1cm4gRihvLGUsYSxsLGkpO2xldCB5PXMhPW51bGw/czowO2lmKHkmMil7bGV0e3N0YXRpYzpmPSExLC4uLnV9PW87aWYoZilyZXR1cm4gRih1LGUsYSxsLGkpfWlmKHkmMSl7bGV0e3VubW91bnQ6Zj0hMCwuLi51fT1vO3JldHVybiBNKGY/MDoxLHtbMF0oKXtyZXR1cm4gbnVsbH0sWzFdKCl7cmV0dXJuIEYoey4uLnUsaGlkZGVuOiEwLHN0eWxlOntkaXNwbGF5Olwibm9uZVwifX0sZSxhLGwsaSl9fSl9cmV0dXJuIEYobyxlLGEsbCxpKX1mdW5jdGlvbiBGKG4scj17fSxlLGEscyl7bGV0e2FzOnQ9ZSxjaGlsZHJlbjpsLHJlZk5hbWU6aT1cInJlZlwiLC4uLm99PWgobixbXCJ1bm1vdW50XCIsXCJzdGF0aWNcIl0pLHk9bi5yZWYhPT12b2lkIDA/e1tpXTpuLnJlZn06e30sZj10eXBlb2YgbD09XCJmdW5jdGlvblwiP2wocik6bDtcImNsYXNzTmFtZVwiaW4gbyYmby5jbGFzc05hbWUmJnR5cGVvZiBvLmNsYXNzTmFtZT09XCJmdW5jdGlvblwiJiYoby5jbGFzc05hbWU9by5jbGFzc05hbWUocikpLG9bXCJhcmlhLWxhYmVsbGVkYnlcIl0mJm9bXCJhcmlhLWxhYmVsbGVkYnlcIl09PT1vLmlkJiYob1tcImFyaWEtbGFiZWxsZWRieVwiXT12b2lkIDApO2xldCB1PXt9O2lmKHIpe2xldCBkPSExLHA9W107Zm9yKGxldFtjLFRdb2YgT2JqZWN0LmVudHJpZXMocikpdHlwZW9mIFQ9PVwiYm9vbGVhblwiJiYoZD0hMCksVD09PSEwJiZwLnB1c2goYy5yZXBsYWNlKC8oW0EtWl0pL2csZz0+YC0ke2cudG9Mb3dlckNhc2UoKX1gKSk7aWYoZCl7dVtcImRhdGEtaGVhZGxlc3N1aS1zdGF0ZVwiXT1wLmpvaW4oXCIgXCIpO2ZvcihsZXQgYyBvZiBwKXVbYGRhdGEtJHtjfWBdPVwiXCJ9fWlmKHQ9PT1iJiYoT2JqZWN0LmtleXMobShvKSkubGVuZ3RoPjB8fE9iamVjdC5rZXlzKG0odSkpLmxlbmd0aD4wKSlpZighdyhmKXx8QXJyYXkuaXNBcnJheShmKSYmZi5sZW5ndGg+MSl7aWYoT2JqZWN0LmtleXMobShvKSkubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKFsnUGFzc2luZyBwcm9wcyBvbiBcIkZyYWdtZW50XCIhJyxcIlwiLGBUaGUgY3VycmVudCBjb21wb25lbnQgPCR7YX0gLz4gaXMgcmVuZGVyaW5nIGEgXCJGcmFnbWVudFwiLmAsXCJIb3dldmVyIHdlIG5lZWQgdG8gcGFzc3Rocm91Z2ggdGhlIGZvbGxvd2luZyBwcm9wczpcIixPYmplY3Qua2V5cyhtKG8pKS5jb25jYXQoT2JqZWN0LmtleXMobSh1KSkpLm1hcChkPT5gICAtICR7ZH1gKS5qb2luKGBcbmApLFwiXCIsXCJZb3UgY2FuIGFwcGx5IGEgZmV3IHNvbHV0aW9uczpcIixbJ0FkZCBhbiBgYXM9XCIuLi5cImAgcHJvcCwgdG8gZW5zdXJlIHRoYXQgd2UgcmVuZGVyIGFuIGFjdHVhbCBlbGVtZW50IGluc3RlYWQgb2YgYSBcIkZyYWdtZW50XCIuJyxcIlJlbmRlciBhIHNpbmdsZSBlbGVtZW50IGFzIHRoZSBjaGlsZCBzbyB0aGF0IHdlIGNhbiBmb3J3YXJkIHRoZSBwcm9wcyBvbnRvIHRoYXQgZWxlbWVudC5cIl0ubWFwKGQ9PmAgIC0gJHtkfWApLmpvaW4oYFxuYCldLmpvaW4oYFxuYCkpfWVsc2V7bGV0IGQ9Zi5wcm9wcyxwPWQ9PW51bGw/dm9pZCAwOmQuY2xhc3NOYW1lLGM9dHlwZW9mIHA9PVwiZnVuY3Rpb25cIj8oLi4uUik9Pk4ocCguLi5SKSxvLmNsYXNzTmFtZSk6TihwLG8uY2xhc3NOYW1lKSxUPWM/e2NsYXNzTmFtZTpjfTp7fSxnPVAoZi5wcm9wcyxtKGgobyxbXCJyZWZcIl0pKSk7Zm9yKGxldCBSIGluIHUpUiBpbiBnJiZkZWxldGUgdVtSXTtyZXR1cm4gaihmLE9iamVjdC5hc3NpZ24oe30sZyx1LHkse3JlZjpzKEgoZikseS5yZWYpfSxUKSl9cmV0dXJuIHYodCxPYmplY3QuYXNzaWduKHt9LGgobyxbXCJyZWZcIl0pLHQhPT1iJiZ5LHQhPT1iJiZ1KSxmKX1mdW5jdGlvbiBVKCl7bGV0IG49ayhbXSkscj14KGU9Pntmb3IobGV0IGEgb2Ygbi5jdXJyZW50KWEhPW51bGwmJih0eXBlb2YgYT09XCJmdW5jdGlvblwiP2EoZSk6YS5jdXJyZW50PWUpfSxbXSk7cmV0dXJuKC4uLmUpPT57aWYoIWUuZXZlcnkoYT0+YT09bnVsbCkpcmV0dXJuIG4uY3VycmVudD1lLHJ9fWZ1bmN0aW9uICQoLi4ubil7cmV0dXJuIG4uZXZlcnkocj0+cj09bnVsbCk/dm9pZCAwOnI9Pntmb3IobGV0IGUgb2YgbillIT1udWxsJiYodHlwZW9mIGU9PVwiZnVuY3Rpb25cIj9lKHIpOmUuY3VycmVudD1yKX19ZnVuY3Rpb24gUCguLi5uKXt2YXIgYTtpZihuLmxlbmd0aD09PTApcmV0dXJue307aWYobi5sZW5ndGg9PT0xKXJldHVybiBuWzBdO2xldCByPXt9LGU9e307Zm9yKGxldCBzIG9mIG4pZm9yKGxldCB0IGluIHMpdC5zdGFydHNXaXRoKFwib25cIikmJnR5cGVvZiBzW3RdPT1cImZ1bmN0aW9uXCI/KChhPWVbdF0pIT1udWxsfHwoZVt0XT1bXSksZVt0XS5wdXNoKHNbdF0pKTpyW3RdPXNbdF07aWYoci5kaXNhYmxlZHx8cltcImFyaWEtZGlzYWJsZWRcIl0pZm9yKGxldCBzIGluIGUpL14ob24oPzpDbGlja3xQb2ludGVyfE1vdXNlfEtleSkoPzpEb3dufFVwfFByZXNzKT8pJC8udGVzdChzKSYmKGVbc109W3Q9Pnt2YXIgbDtyZXR1cm4obD10PT1udWxsP3ZvaWQgMDp0LnByZXZlbnREZWZhdWx0KT09bnVsbD92b2lkIDA6bC5jYWxsKHQpfV0pO2ZvcihsZXQgcyBpbiBlKU9iamVjdC5hc3NpZ24ocix7W3NdKHQsLi4ubCl7bGV0IGk9ZVtzXTtmb3IobGV0IG8gb2YgaSl7aWYoKHQgaW5zdGFuY2VvZiBFdmVudHx8KHQ9PW51bGw/dm9pZCAwOnQubmF0aXZlRXZlbnQpaW5zdGFuY2VvZiBFdmVudCkmJnQuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47byh0LC4uLmwpfX19KTtyZXR1cm4gcn1mdW5jdGlvbiBfKC4uLm4pe3ZhciBhO2lmKG4ubGVuZ3RoPT09MClyZXR1cm57fTtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07bGV0IHI9e30sZT17fTtmb3IobGV0IHMgb2Ygbilmb3IobGV0IHQgaW4gcyl0LnN0YXJ0c1dpdGgoXCJvblwiKSYmdHlwZW9mIHNbdF09PVwiZnVuY3Rpb25cIj8oKGE9ZVt0XSkhPW51bGx8fChlW3RdPVtdKSxlW3RdLnB1c2goc1t0XSkpOnJbdF09c1t0XTtmb3IobGV0IHMgaW4gZSlPYmplY3QuYXNzaWduKHIse1tzXSguLi50KXtsZXQgbD1lW3NdO2ZvcihsZXQgaSBvZiBsKWk9PW51bGx8fGkoLi4udCl9fSk7cmV0dXJuIHJ9ZnVuY3Rpb24gSyhuKXt2YXIgcjtyZXR1cm4gT2JqZWN0LmFzc2lnbihTKG4pLHtkaXNwbGF5TmFtZToocj1uLmRpc3BsYXlOYW1lKSE9bnVsbD9yOm4ubmFtZX0pfWZ1bmN0aW9uIG0obil7bGV0IHI9T2JqZWN0LmFzc2lnbih7fSxuKTtmb3IobGV0IGUgaW4gcilyW2VdPT09dm9pZCAwJiZkZWxldGUgcltlXTtyZXR1cm4gcn1mdW5jdGlvbiBoKG4scj1bXSl7bGV0IGU9T2JqZWN0LmFzc2lnbih7fSxuKTtmb3IobGV0IGEgb2YgcilhIGluIGUmJmRlbGV0ZSBlW2FdO3JldHVybiBlfWZ1bmN0aW9uIEgobil7cmV0dXJuIEUudmVyc2lvbi5zcGxpdChcIi5cIilbMF0+PVwiMTlcIj9uLnByb3BzLnJlZjpuLnJlZn1leHBvcnR7TyBhcyBSZW5kZXJGZWF0dXJlcyxBIGFzIFJlbmRlclN0cmF0ZWd5LG0gYXMgY29tcGFjdCxLIGFzIGZvcndhcmRSZWZXaXRoQXMsXyBhcyBtZXJnZVByb3BzLEwgYXMgdXNlUmVuZGVyfTtcbiJdLCJuYW1lcyI6WyJFIiwiRnJhZ21lbnQiLCJiIiwiY2xvbmVFbGVtZW50IiwiaiIsImNyZWF0ZUVsZW1lbnQiLCJ2IiwiZm9yd2FyZFJlZiIsIlMiLCJpc1ZhbGlkRWxlbWVudCIsInciLCJ1c2VDYWxsYmFjayIsIngiLCJ1c2VSZWYiLCJrIiwiY2xhc3NOYW1lcyIsIk4iLCJtYXRjaCIsIk0iLCJPIiwiYSIsIk5vbmUiLCJSZW5kZXJTdHJhdGVneSIsIlN0YXRpYyIsIkEiLCJlIiwiVW5tb3VudCIsIkhpZGRlbiIsIkwiLCJuIiwiVSIsInIiLCJDIiwibWVyZ2VSZWZzIiwib3VyUHJvcHMiLCJ0aGVpclByb3BzIiwic2xvdCIsImRlZmF1bHRUYWciLCJmZWF0dXJlcyIsInMiLCJ2aXNpYmxlIiwidCIsIm5hbWUiLCJsIiwiaSIsIiQiLCJvIiwiUCIsIkYiLCJ5Iiwic3RhdGljIiwiZiIsInUiLCJ1bm1vdW50IiwiaGlkZGVuIiwic3R5bGUiLCJkaXNwbGF5IiwiYXMiLCJjaGlsZHJlbiIsInJlZk5hbWUiLCJoIiwicmVmIiwiY2xhc3NOYW1lIiwiaWQiLCJkIiwicCIsImMiLCJUIiwiT2JqZWN0IiwiZW50cmllcyIsInB1c2giLCJyZXBsYWNlIiwiZyIsInRvTG93ZXJDYXNlIiwiam9pbiIsImtleXMiLCJtIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJjb25jYXQiLCJtYXAiLCJwcm9wcyIsIlIiLCJhc3NpZ24iLCJIIiwiY3VycmVudCIsImV2ZXJ5Iiwic3RhcnRzV2l0aCIsImRpc2FibGVkIiwidGVzdCIsInByZXZlbnREZWZhdWx0IiwiY2FsbCIsIkV2ZW50IiwibmF0aXZlRXZlbnQiLCJkZWZhdWx0UHJldmVudGVkIiwiXyIsIksiLCJkaXNwbGF5TmFtZSIsInZlcnNpb24iLCJzcGxpdCIsIlJlbmRlckZlYXR1cmVzIiwiY29tcGFjdCIsImZvcndhcmRSZWZXaXRoQXMiLCJtZXJnZVByb3BzIiwidXNlUmVuZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/render.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/stable-collection.js":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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({ children: o }) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBd0I7QUFBQSxNQUFNQyxrQkFBRUQsZ0RBQWUsQ0FBQztBQUFNLFNBQVNHO0lBQUksT0FBTTtRQUFDQyxRQUFPLElBQUlDO1FBQUlDLEtBQUlDLENBQUMsRUFBQ0MsQ0FBQztZQUFFLElBQUlDO1lBQUUsSUFBSUMsSUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDQztZQUFHRyxLQUFJQSxDQUFBQSxJQUFFLElBQUlMLEtBQUksSUFBSSxDQUFDRCxNQUFNLENBQUNPLEdBQUcsQ0FBQ0osR0FBRUcsRUFBQztZQUFHLElBQUlFLElBQUUsQ0FBQ0gsSUFBRUMsRUFBRUosR0FBRyxDQUFDRSxFQUFDLEtBQUksT0FBS0MsSUFBRTtZQUFFQyxFQUFFQyxHQUFHLENBQUNILEdBQUVJLElBQUU7WUFBRyxJQUFJQyxJQUFFQyxNQUFNQyxJQUFJLENBQUNMLEVBQUVNLElBQUksSUFBSUMsT0FBTyxDQUFDVDtZQUFHLFNBQVNVO2dCQUFJLElBQUlDLElBQUVULEVBQUVKLEdBQUcsQ0FBQ0U7Z0JBQUdXLElBQUUsSUFBRVQsRUFBRUMsR0FBRyxDQUFDSCxHQUFFVyxJQUFFLEtBQUdULEVBQUVVLE1BQU0sQ0FBQ1o7WUFBRTtZQUFDLE9BQU07Z0JBQUNLO2dCQUFFSzthQUFFO1FBQUE7SUFBQztBQUFDO0FBQUMsU0FBU0csRUFBRSxFQUFDQyxVQUFTZixDQUFDLEVBQUM7O0lBQUUsSUFBSUMsSUFBRVIseUNBQVEsQ0FBQ0c7SUFBSyxxQkFBT0gsZ0RBQWUsQ0FBQ0MsRUFBRXdCLFFBQVEsRUFBQztRQUFDQyxPQUFNbEI7SUFBQyxHQUFFRDtBQUFFO0dBQWxGYztBQUFtRixTQUFTTSxFQUFFcEIsQ0FBQzs7SUFBRSxJQUFJQyxJQUFFUiw2Q0FBWSxDQUFDQztJQUFHLElBQUcsQ0FBQ08sR0FBRSxNQUFNLElBQUlxQixNQUFNO0lBQXdELElBQUluQixJQUFFVix3Q0FBTyxJQUFHLENBQUNZLEdBQUVDLEVBQUUsR0FBQ0wsRUFBRXVCLE9BQU8sQ0FBQ3pCLEdBQUcsQ0FBQ0MsR0FBRUc7SUFBRyxPQUFPViw0Q0FBVyxDQUFDLElBQUlhLEdBQUUsRUFBRSxHQUFFRDtBQUFDO0lBQWhMZTs7UUFBK0czQix3Q0FBTzhCO1FBQVA5Qix3Q0FBTzhCOzs7S0FBdEhIO0FBQTZPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YWJsZS1jb2xsZWN0aW9uLmpzPzlhMzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KmFzIGwgZnJvbVwicmVhY3RcIjtjb25zdCBzPWwuY3JlYXRlQ29udGV4dChudWxsKTtmdW5jdGlvbiBhKCl7cmV0dXJue2dyb3VwczpuZXcgTWFwLGdldChvLGUpe3ZhciBpO2xldCB0PXRoaXMuZ3JvdXBzLmdldChvKTt0fHwodD1uZXcgTWFwLHRoaXMuZ3JvdXBzLnNldChvLHQpKTtsZXQgbj0oaT10LmdldChlKSkhPW51bGw/aTowO3Quc2V0KGUsbisxKTtsZXQgcj1BcnJheS5mcm9tKHQua2V5cygpKS5pbmRleE9mKGUpO2Z1bmN0aW9uIHUoKXtsZXQgYz10LmdldChlKTtjPjE/dC5zZXQoZSxjLTEpOnQuZGVsZXRlKGUpfXJldHVybltyLHVdfX19ZnVuY3Rpb24gZih7Y2hpbGRyZW46b30pe2xldCBlPWwudXNlUmVmKGEoKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTplfSxvKX1mdW5jdGlvbiBDKG8pe2xldCBlPWwudXNlQ29udGV4dChzKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCB3cmFwIHlvdXIgY29tcG9uZW50IGluIGEgPFN0YWJsZUNvbGxlY3Rpb24+XCIpO2xldCB0PWwudXNlSWQoKSxbbixyXT1lLmN1cnJlbnQuZ2V0KG8sdCk7cmV0dXJuIGwudXNlRWZmZWN0KCgpPT5yLFtdKSxufWV4cG9ydHtmIGFzIFN0YWJsZUNvbGxlY3Rpb24sQyBhcyB1c2VTdGFibGVDb2xsZWN0aW9uSW5kZXh9O1xuIl0sIm5hbWVzIjpbImwiLCJzIiwiY3JlYXRlQ29udGV4dCIsImEiLCJncm91cHMiLCJNYXAiLCJnZXQiLCJvIiwiZSIsImkiLCJ0Iiwic2V0IiwibiIsInIiLCJBcnJheSIsImZyb20iLCJrZXlzIiwiaW5kZXhPZiIsInUiLCJjIiwiZGVsZXRlIiwiZiIsImNoaWxkcmVuIiwidXNlUmVmIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJDIiwidXNlQ29udGV4dCIsIkVycm9yIiwidXNlSWQiLCJjdXJyZW50IiwidXNlRWZmZWN0IiwiU3RhYmxlQ29sbGVjdGlvbiIsInVzZVN0YWJsZUNvbGxlY3Rpb25JbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/stable-collection.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/start-transition.js":
 | 
						||
/*!**************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/start-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 */   startTransition: function() { return /* binding */ a; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\nvar t;\n\nlet a = (t = react__WEBPACK_IMPORTED_MODULE_0__.startTransition) != null ? t : function(i) {\n    i();\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0YXJ0LXRyYW5zaXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFJQTtBQUF1QjtBQUFBLElBQUlFLElBQUUsQ0FBQ0YsSUFBRUMsa0RBQWlCLEtBQUcsT0FBS0QsSUFBRSxTQUFTSSxDQUFDO0lBQUVBO0FBQUc7QUFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvc3RhcnQtdHJhbnNpdGlvbi5qcz9hMmJmIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0O2ltcG9ydCByIGZyb21cInJlYWN0XCI7bGV0IGE9KHQ9ci5zdGFydFRyYW5zaXRpb24pIT1udWxsP3Q6ZnVuY3Rpb24oaSl7aSgpfTtleHBvcnR7YSBhcyBzdGFydFRyYW5zaXRpb259O1xuIl0sIm5hbWVzIjpbInQiLCJyIiwiYSIsInN0YXJ0VHJhbnNpdGlvbiIsImkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/start-transition.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/store.js":
 | 
						||
/*!***************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/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, ...s) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVhZGxlc3N1aStyZWFjdEAyLjIuN19yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AaGVhZGxlc3N1aS9yZWFjdC9kaXN0L3V0aWxzL3N0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxFQUFFQyxDQUFDLEVBQUNDLENBQUM7SUFBRSxJQUFJQyxJQUFFRixLQUFJRyxJQUFFLElBQUlDO0lBQUksT0FBTTtRQUFDQztZQUFjLE9BQU9IO1FBQUM7UUFBRUksV0FBVUMsQ0FBQztZQUFFLE9BQU9KLEVBQUVLLEdBQUcsQ0FBQ0QsSUFBRyxJQUFJSixFQUFFTSxNQUFNLENBQUNGO1FBQUU7UUFBRUcsVUFBU0gsQ0FBQyxFQUFDLEdBQUdJLENBQUM7WUFBRSxJQUFJQyxJQUFFWCxDQUFDLENBQUNNLEVBQUUsQ0FBQ00sSUFBSSxDQUFDWCxNQUFLUztZQUFHQyxLQUFJVixDQUFBQSxJQUFFVSxHQUFFVCxFQUFFVyxPQUFPLENBQUNDLENBQUFBLElBQUdBLElBQUc7UUFBRTtJQUFDO0FBQUM7QUFBMEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0BoZWFkbGVzc3VpK3JlYWN0QDIuMi43X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZWFkbGVzc3VpL3JlYWN0L2Rpc3QvdXRpbHMvc3RvcmUuanM/NjUzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBhKG8scil7bGV0IHQ9bygpLG49bmV3IFNldDtyZXR1cm57Z2V0U25hcHNob3QoKXtyZXR1cm4gdH0sc3Vic2NyaWJlKGUpe3JldHVybiBuLmFkZChlKSwoKT0+bi5kZWxldGUoZSl9LGRpc3BhdGNoKGUsLi4ucyl7bGV0IGk9cltlXS5jYWxsKHQsLi4ucyk7aSYmKHQ9aSxuLmZvckVhY2goYz0+YygpKSl9fX1leHBvcnR7YSBhcyBjcmVhdGVTdG9yZX07XG4iXSwibmFtZXMiOlsiYSIsIm8iLCJyIiwidCIsIm4iLCJTZXQiLCJnZXRTbmFwc2hvdCIsInN1YnNjcmliZSIsImUiLCJhZGQiLCJkZWxldGUiLCJkaXNwYXRjaCIsInMiLCJpIiwiY2FsbCIsImZvckVhY2giLCJjIiwiY3JlYXRlU3RvcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@headlessui+react@2.2.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@headlessui/react/dist/utils/store.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js":
 | 
						||
/*!**************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js ***!
 | 
						||
  \**************************************************************************************************************************/
 | 
						||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
 | 
						||
 | 
						||
"use strict";
 | 
						||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n\nfunction MinusIcon({ title, titleId, ...props }, svgRef) {\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n        xmlns: \"http://www.w3.org/2000/svg\",\n        fill: \"none\",\n        viewBox: \"0 0 24 24\",\n        strokeWidth: 1.5,\n        stroke: \"currentColor\",\n        \"aria-hidden\": \"true\",\n        \"data-slot\": \"icon\",\n        ref: svgRef,\n        \"aria-labelledby\": titleId\n    }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n        id: titleId\n    }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n        d: \"M5 12h14\"\n    }));\n}\n_c = MinusIcon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(MinusIcon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"MinusIcon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVyb2ljb25zK3JlYWN0QDIuMi4wX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9NaW51c0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7QUFBK0I7QUFDL0IsU0FBU0MsVUFBVSxFQUNqQkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixFQUFFQyxNQUFNO0lBQ1AsT0FBTyxXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE9BQU9PLE9BQU9DLE1BQU0sQ0FBQztRQUMzREMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsYUFBYTtRQUNiQyxRQUFRO1FBQ1IsZUFBZTtRQUNmLGFBQWE7UUFDYkMsS0FBS1Q7UUFDTCxtQkFBbUJGO0lBQ3JCLEdBQUdDLFFBQVFGLFFBQVEsV0FBVyxHQUFFRixnREFBbUIsQ0FBQyxTQUFTO1FBQzNEZSxJQUFJWjtJQUNOLEdBQUdELFNBQVMsTUFBTSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFFBQVE7UUFDekRnQixlQUFlO1FBQ2ZDLGdCQUFnQjtRQUNoQkMsR0FBRztJQUNMO0FBQ0Y7S0F0QlNqQjtBQXVCVCxNQUFNa0IsYUFBYSxXQUFXLEdBQUduQiw2Q0FBZ0IsQ0FBQ0M7O0FBQ2xELCtEQUFla0IsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQGhlcm9pY29ucytyZWFjdEAyLjIuMF9yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZS9lc20vTWludXNJY29uLmpzP2MzYjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBNaW51c0ljb24oe1xuICB0aXRsZSxcbiAgdGl0bGVJZCxcbiAgLi4ucHJvcHNcbn0sIHN2Z1JlZikge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwgT2JqZWN0LmFzc2lnbih7XG4gICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICBmaWxsOiBcIm5vbmVcIixcbiAgICB2aWV3Qm94OiBcIjAgMCAyNCAyNFwiLFxuICAgIHN0cm9rZVdpZHRoOiAxLjUsXG4gICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICBkOiBcIk01IDEyaDE0XCJcbiAgfSkpO1xufVxuY29uc3QgRm9yd2FyZFJlZiA9IC8qI19fUFVSRV9fKi8gUmVhY3QuZm9yd2FyZFJlZihNaW51c0ljb24pO1xuZXhwb3J0IGRlZmF1bHQgRm9yd2FyZFJlZjsiXSwibmFtZXMiOlsiUmVhY3QiLCJNaW51c0ljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJyZWYiLCJpZCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/MinusIcon.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js":
 | 
						||
/*!*************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js ***!
 | 
						||
  \*************************************************************************************************************************/
 | 
						||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
 | 
						||
 | 
						||
"use strict";
 | 
						||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n\nfunction PlusIcon({ title, titleId, ...props }, svgRef) {\n    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n        xmlns: \"http://www.w3.org/2000/svg\",\n        fill: \"none\",\n        viewBox: \"0 0 24 24\",\n        strokeWidth: 1.5,\n        stroke: \"currentColor\",\n        \"aria-hidden\": \"true\",\n        \"data-slot\": \"icon\",\n        ref: svgRef,\n        \"aria-labelledby\": titleId\n    }, props), title ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n        id: titleId\n    }, title) : null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\",\n        d: \"M12 4.5v15m7.5-7.5h-15\"\n    }));\n}\n_c = PlusIcon;\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(PlusIcon);\n_c1 = ForwardRef;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForwardRef);\nvar _c, _c1;\n$RefreshReg$(_c, \"PlusIcon\");\n$RefreshReg$(_c1, \"ForwardRef\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVyb2ljb25zK3JlYWN0QDIuMi4wX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9QbHVzSWNvbi5qcyIsIm1hcHBpbmdzIjoiOztBQUErQjtBQUMvQixTQUFTQyxTQUFTLEVBQ2hCQyxLQUFLLEVBQ0xDLE9BQU8sRUFDUCxHQUFHQyxPQUNKLEVBQUVDLE1BQU07SUFDUCxPQUFPLFdBQVcsR0FBRUwsZ0RBQW1CLENBQUMsT0FBT08sT0FBT0MsTUFBTSxDQUFDO1FBQzNEQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxhQUFhO1FBQ2JDLFFBQVE7UUFDUixlQUFlO1FBQ2YsYUFBYTtRQUNiQyxLQUFLVDtRQUNMLG1CQUFtQkY7SUFDckIsR0FBR0MsUUFBUUYsUUFBUSxXQUFXLEdBQUVGLGdEQUFtQixDQUFDLFNBQVM7UUFDM0RlLElBQUlaO0lBQ04sR0FBR0QsU0FBUyxNQUFNLFdBQVcsR0FBRUYsZ0RBQW1CLENBQUMsUUFBUTtRQUN6RGdCLGVBQWU7UUFDZkMsZ0JBQWdCO1FBQ2hCQyxHQUFHO0lBQ0w7QUFDRjtLQXRCU2pCO0FBdUJULE1BQU1rQixhQUFhLFdBQVcsR0FBR25CLDZDQUFnQixDQUFDQzs7QUFDbEQsK0RBQWVrQixVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AaGVyb2ljb25zK3JlYWN0QDIuMi4wX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lL2VzbS9QbHVzSWNvbi5qcz9mNjZjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gUGx1c0ljb24oe1xuICB0aXRsZSxcbiAgdGl0bGVJZCxcbiAgLi4ucHJvcHNcbn0sIHN2Z1JlZikge1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwgT2JqZWN0LmFzc2lnbih7XG4gICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICBmaWxsOiBcIm5vbmVcIixcbiAgICB2aWV3Qm94OiBcIjAgMCAyNCAyNFwiLFxuICAgIHN0cm9rZVdpZHRoOiAxLjUsXG4gICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICBkOiBcIk0xMiA0LjV2MTVtNy41LTcuNWgtMTVcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKFBsdXNJY29uKTtcbmV4cG9ydCBkZWZhdWx0IEZvcndhcmRSZWY7Il0sIm5hbWVzIjpbIlJlYWN0IiwiUGx1c0ljb24iLCJ0aXRsZSIsInRpdGxlSWQiLCJwcm9wcyIsInN2Z1JlZiIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJyZWYiLCJpZCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJGb3J3YXJkUmVmIiwiZm9yd2FyZFJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@heroicons+react@2.2.0_react@18.3.1/node_modules/@heroicons/react/24/outline/esm/PlusIcon.js\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+focus@3.21.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/focus/dist/useFocusRing.mjs":
 | 
						||
/*!******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+focus@3.21.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStmb2N1c0AzLjIxLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvZm9jdXMvZGlzdC91c2VGb2N1c1JpbmcubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWtOO0FBQ3BHOzs7O0FBSTlHLDZEQUE2RDtBQUM3RCxVQUFVLHlFQUF5RTtBQUNuRixvQkFBb0IseUNBQWE7QUFDakM7QUFDQSx5Q0FBeUMsb0VBQXFCO0FBQzlELEtBQUs7QUFDTCxzQ0FBc0MsMkNBQWU7QUFDckQscURBQXFELDJDQUFlO0FBQ3BFLDBCQUEwQiw4Q0FBa0I7QUFDNUMsNEJBQTRCLDhDQUFrQjtBQUM5QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLFFBQVEsNkVBQThCO0FBQ3RDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0wsVUFBVSx5QkFBeUIsTUFBTSw4REFBZTtBQUN4RDtBQUNBO0FBQ0EsS0FBSztBQUNMLFVBQVUscUNBQXFDLE1BQU0sb0VBQXFCO0FBQzFFO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHbUU7QUFDbkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK2ZvY3VzQDMuMjEuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9mb2N1cy9kaXN0L3VzZUZvY3VzUmluZy5tanM/NzEzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzRm9jdXNWaXNpYmxlIGFzICRpc1dFNSRpc0ZvY3VzVmlzaWJsZSwgdXNlRm9jdXNWaXNpYmxlTGlzdGVuZXIgYXMgJGlzV0U1JHVzZUZvY3VzVmlzaWJsZUxpc3RlbmVyLCB1c2VGb2N1cyBhcyAkaXNXRTUkdXNlRm9jdXMsIHVzZUZvY3VzV2l0aGluIGFzICRpc1dFNSR1c2VGb2N1c1dpdGhpbn0gZnJvbSBcIkByZWFjdC1hcmlhL2ludGVyYWN0aW9uc1wiO1xuaW1wb3J0IHt1c2VSZWYgYXMgJGlzV0U1JHVzZVJlZiwgdXNlU3RhdGUgYXMgJGlzV0U1JHVzZVN0YXRlLCB1c2VDYWxsYmFjayBhcyAkaXNXRTUkdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuXG5cblxuZnVuY3Rpb24gJGY3ZGNlZmZjNWFkNzc2OGIkZXhwb3J0JDRlMzI4ZjYxYzUzODY4N2YocHJvcHMgPSB7fSkge1xuICAgIGxldCB7IGF1dG9Gb2N1czogYXV0b0ZvY3VzID0gZmFsc2UsIGlzVGV4dElucHV0OiBpc1RleHRJbnB1dCwgd2l0aGluOiB3aXRoaW4gfSA9IHByb3BzO1xuICAgIGxldCBzdGF0ZSA9ICgwLCAkaXNXRTUkdXNlUmVmKSh7XG4gICAgICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgICAgIGlzRm9jdXNWaXNpYmxlOiBhdXRvRm9jdXMgfHwgKDAsICRpc1dFNSRpc0ZvY3VzVmlzaWJsZSkoKVxuICAgIH0pO1xuICAgIGxldCBbaXNGb2N1c2VkLCBzZXRGb2N1c2VkXSA9ICgwLCAkaXNXRTUkdXNlU3RhdGUpKGZhbHNlKTtcbiAgICBsZXQgW2lzRm9jdXNWaXNpYmxlU3RhdGUsIHNldEZvY3VzVmlzaWJsZV0gPSAoMCwgJGlzV0U1JHVzZVN0YXRlKSgoKT0+c3RhdGUuY3VycmVudC5pc0ZvY3VzZWQgJiYgc3RhdGUuY3VycmVudC5pc0ZvY3VzVmlzaWJsZSk7XG4gICAgbGV0IHVwZGF0ZVN0YXRlID0gKDAsICRpc1dFNSR1c2VDYWxsYmFjaykoKCk9PnNldEZvY3VzVmlzaWJsZShzdGF0ZS5jdXJyZW50LmlzRm9jdXNlZCAmJiBzdGF0ZS5jdXJyZW50LmlzRm9jdXNWaXNpYmxlKSwgW10pO1xuICAgIGxldCBvbkZvY3VzQ2hhbmdlID0gKDAsICRpc1dFNSR1c2VDYWxsYmFjaykoKGlzRm9jdXNlZCk9PntcbiAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gICAgICAgIHNldEZvY3VzZWQoaXNGb2N1c2VkKTtcbiAgICAgICAgdXBkYXRlU3RhdGUoKTtcbiAgICB9LCBbXG4gICAgICAgIHVwZGF0ZVN0YXRlXG4gICAgXSk7XG4gICAgKDAsICRpc1dFNSR1c2VGb2N1c1Zpc2libGVMaXN0ZW5lcikoKGlzRm9jdXNWaXNpYmxlKT0+e1xuICAgICAgICBzdGF0ZS5jdXJyZW50LmlzRm9jdXNWaXNpYmxlID0gaXNGb2N1c1Zpc2libGU7XG4gICAgICAgIHVwZGF0ZVN0YXRlKCk7XG4gICAgfSwgW10sIHtcbiAgICAgICAgaXNUZXh0SW5wdXQ6IGlzVGV4dElucHV0XG4gICAgfSk7XG4gICAgbGV0IHsgZm9jdXNQcm9wczogZm9jdXNQcm9wcyB9ID0gKDAsICRpc1dFNSR1c2VGb2N1cykoe1xuICAgICAgICBpc0Rpc2FibGVkOiB3aXRoaW4sXG4gICAgICAgIG9uRm9jdXNDaGFuZ2U6IG9uRm9jdXNDaGFuZ2VcbiAgICB9KTtcbiAgICBsZXQgeyBmb2N1c1dpdGhpblByb3BzOiBmb2N1c1dpdGhpblByb3BzIH0gPSAoMCwgJGlzV0U1JHVzZUZvY3VzV2l0aGluKSh7XG4gICAgICAgIGlzRGlzYWJsZWQ6ICF3aXRoaW4sXG4gICAgICAgIG9uRm9jdXNXaXRoaW5DaGFuZ2U6IG9uRm9jdXNDaGFuZ2VcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBpc0ZvY3VzZWQ6IGlzRm9jdXNlZCxcbiAgICAgICAgaXNGb2N1c1Zpc2libGU6IGlzRm9jdXNWaXNpYmxlU3RhdGUsXG4gICAgICAgIGZvY3VzUHJvcHM6IHdpdGhpbiA/IGZvY3VzV2l0aGluUHJvcHMgOiBmb2N1c1Byb3BzXG4gICAgfTtcbn1cblxuXG5leHBvcnQgeyRmN2RjZWZmYzVhZDc3NjhiJGV4cG9ydCQ0ZTMyOGY2MWM1Mzg2ODdmIGFzIHVzZUZvY3VzUmluZ307XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VGb2N1c1JpbmcubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+focus@3.21.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/focus/dist/useFocusRing.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocus.mjs":
 | 
						||
/*!****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/DOMFunctions.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        const activeElement = ownerDocument ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getActiveElement)(ownerDocument) : (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getActiveElement)();\n        if (e.target === e.currentTarget && activeElement === (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.getEventTarget)(e.nativeEvent)) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUZvY3VzLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUErRjtBQUN2QztBQUM0Rzs7QUFFcEs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0EsVUFBVSxpR0FBaUc7QUFDM0csdUJBQXVCLDhDQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2REFBeUM7QUFDMUUsd0JBQXdCLDhDQUFrQjtBQUMxQztBQUNBO0FBQ0Esa0NBQWtDLCtEQUF1QjtBQUN6RCxrREFBa0QsK0RBQXVCLHVCQUF1QiwrREFBdUI7QUFDdkgsa0VBQWtFLDZEQUFxQjtBQUN2RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0Q7QUFDL0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK2ludGVyYWN0aW9uc0AzLjI1LjRfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXMubWpzPzZjN2IiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VTeW50aGV0aWNCbHVyRXZlbnQgYXMgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2N9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHt1c2VDYWxsYmFjayBhcyAkaGYwbGokdXNlQ2FsbGJhY2t9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtnZXRPd25lckRvY3VtZW50IGFzICRoZjBsaiRnZXRPd25lckRvY3VtZW50LCBnZXRBY3RpdmVFbGVtZW50IGFzICRoZjBsaiRnZXRBY3RpdmVFbGVtZW50LCBnZXRFdmVudFRhcmdldCBhcyAkaGYwbGokZ2V0RXZlbnRUYXJnZXR9IGZyb20gXCJAcmVhY3QtYXJpYS91dGlsc1wiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG5cbmZ1bmN0aW9uICRhMWVhNTlkNjgyNzBmMGRkJGV4cG9ydCRmODE2OGQ4ZGQ4ZmQ2NmU2KHByb3BzKSB7XG4gICAgbGV0IHsgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCwgb25Gb2N1czogb25Gb2N1c1Byb3AsIG9uQmx1cjogb25CbHVyUHJvcCwgb25Gb2N1c0NoYW5nZTogb25Gb2N1c0NoYW5nZSB9ID0gcHJvcHM7XG4gICAgY29uc3Qgb25CbHVyID0gKDAsICRoZjBsaiR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gZS5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgICAgICBpZiAob25CbHVyUHJvcCkgb25CbHVyUHJvcChlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzQ2hhbmdlKSBvbkZvY3VzQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkJsdXJQcm9wLFxuICAgICAgICBvbkZvY3VzQ2hhbmdlXG4gICAgXSk7XG4gICAgY29uc3Qgb25TeW50aGV0aWNGb2N1cyA9ICgwLCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNzE1YzY4MmQwOWQ2MzljYykob25CbHVyKTtcbiAgICBjb25zdCBvbkZvY3VzID0gKDAsICRoZjBsaiR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIC8vIERvdWJsZSBjaGVjayB0aGF0IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYWN0dWFsbHkgbWF0Y2hlcyBlLnRhcmdldCBpbiBjYXNlIGEgcHJldmlvdXNseSBjaGFpbmVkXG4gICAgICAgIC8vIGZvY3VzIGhhbmRsZXIgYWxyZWFkeSBtb3ZlZCBmb2N1cyBzb21ld2hlcmUgZWxzZS5cbiAgICAgICAgY29uc3Qgb3duZXJEb2N1bWVudCA9ICgwLCAkaGYwbGokZ2V0T3duZXJEb2N1bWVudCkoZS50YXJnZXQpO1xuICAgICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gb3duZXJEb2N1bWVudCA/ICgwLCAkaGYwbGokZ2V0QWN0aXZlRWxlbWVudCkob3duZXJEb2N1bWVudCkgOiAoMCwgJGhmMGxqJGdldEFjdGl2ZUVsZW1lbnQpKCk7XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gZS5jdXJyZW50VGFyZ2V0ICYmIGFjdGl2ZUVsZW1lbnQgPT09ICgwLCAkaGYwbGokZ2V0RXZlbnRUYXJnZXQpKGUubmF0aXZlRXZlbnQpKSB7XG4gICAgICAgICAgICBpZiAob25Gb2N1c1Byb3ApIG9uRm9jdXNQcm9wKGUpO1xuICAgICAgICAgICAgaWYgKG9uRm9jdXNDaGFuZ2UpIG9uRm9jdXNDaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICBvblN5bnRoZXRpY0ZvY3VzKGUpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvbkZvY3VzQ2hhbmdlLFxuICAgICAgICBvbkZvY3VzUHJvcCxcbiAgICAgICAgb25TeW50aGV0aWNGb2N1c1xuICAgIF0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGZvY3VzUHJvcHM6IHtcbiAgICAgICAgICAgIG9uRm9jdXM6ICFpc0Rpc2FibGVkICYmIChvbkZvY3VzUHJvcCB8fCBvbkZvY3VzQ2hhbmdlIHx8IG9uQmx1clByb3ApID8gb25Gb2N1cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG9uQmx1cjogIWlzRGlzYWJsZWQgJiYgKG9uQmx1clByb3AgfHwgb25Gb2N1c0NoYW5nZSkgPyBvbkJsdXIgOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH07XG59XG5cblxuZXhwb3J0IHskYTFlYTU5ZDY4MjcwZjBkZCRleHBvcnQkZjgxNjhkOGRkOGZkNjZlNiBhcyB1c2VGb2N1c307XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VGb2N1cy5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocus.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocusVisible.mjs":
 | 
						||
/*!***********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 _utils_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/utils.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @react-aria/ssr */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+ssr@3.9.10_react@18.3.1/node_modules/@react-aria/ssr/dist/SSRProvider.mjs\");\n\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\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 || (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_3__.ignoreFocusEvent) || !e.isTrusted) 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    if (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_3__.ignoreFocusEvent) return;\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' || typeof document === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.getOwnerWindow)(element))) return;\n    const windowObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.getOwnerWindow)(element);\n    const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.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 if (false) {}\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_4__.getOwnerWindow)(element);\n    const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.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 if (false) {}\n    $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n    const documentObject = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.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_5__.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    let document1 = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.getOwnerDocument)(e === null || e === void 0 ? void 0 : e.target);\n    const IHTMLInputElement = typeof window !== 'undefined' ? (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.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_4__.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_4__.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_4__.getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n    // For keyboard events that occur on a non-input element that will move focus into input element (aka ArrowLeft going from Datepicker button to the main input group)\n    // we need to rely on the user passing isTextInput into here. This way we can skip toggling focus visiblity for said input element\n    isTextInput = isTextInput || document1.activeElement instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(document1.activeElement.type) || document1.activeElement instanceof IHTMLTextAreaElement || document1.activeElement instanceof IHTMLElement && document1.activeElement.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            // We want to early return for any keyboard events that occur inside text inputs EXCEPT for Tab and Escape\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUZvY3VzVmlzaWJsZS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMEY7QUFDNkY7QUFDdEc7QUFDckI7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLG9EQUFZO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBcUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RCx3REFBeUM7QUFDckc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdEQUF5QztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEhBQThILDZEQUFxQjtBQUNuSiw2QkFBNkIsNkRBQXFCO0FBQ2xELCtCQUErQiwrREFBdUI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sU0FBUyxLQUErQixFQUFFLEVBSTNDO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDZCQUE2Qiw2REFBcUI7QUFDbEQsK0JBQStCLCtEQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFNBQVMsS0FBK0IsRUFBRSxFQUkzQztBQUNMO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiwrREFBdUI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsMkNBQWU7QUFDckQsUUFBUSw0Q0FBZ0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsZUFBZSxxREFBZTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwrREFBdUI7QUFDL0Msa0VBQWtFLDZEQUFxQjtBQUN2RixxRUFBcUUsNkRBQXFCO0FBQzFGLDZEQUE2RCw2REFBcUI7QUFDbEYsK0RBQStELDZEQUFxQjtBQUNwRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdELFVBQVUsaURBQWlEO0FBQzNELHFEQUFxRCwyQ0FBZTtBQUNwRTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR21pQjtBQUNuaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK2ludGVyYWN0aW9uc0AzLjI1LjRfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXNWaXNpYmxlLm1qcz8wNWY3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aWdub3JlRm9jdXNFdmVudCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkZmRhN2RhNzNhYjVkNGM0OH0gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQge2lzTWFjIGFzICQyOEFuUiRpc01hYywgaXNWaXJ0dWFsQ2xpY2sgYXMgJDI4QW5SJGlzVmlydHVhbENsaWNrLCBnZXRPd25lcldpbmRvdyBhcyAkMjhBblIkZ2V0T3duZXJXaW5kb3csIGdldE93bmVyRG9jdW1lbnQgYXMgJDI4QW5SJGdldE93bmVyRG9jdW1lbnR9IGZyb20gXCJAcmVhY3QtYXJpYS91dGlsc1wiO1xuaW1wb3J0IHt1c2VTdGF0ZSBhcyAkMjhBblIkdXNlU3RhdGUsIHVzZUVmZmVjdCBhcyAkMjhBblIkdXNlRWZmZWN0fSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7dXNlSXNTU1IgYXMgJDI4QW5SJHVzZUlzU1NSfSBmcm9tIFwiQHJlYWN0LWFyaWEvc3NyXCI7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqLyAvLyBQb3J0aW9ucyBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgYXJlIGJhc2VkIG9uIGNvZGUgZnJvbSByZWFjdC5cbi8vIE9yaWdpbmFsIGxpY2Vuc2luZyBmb3IgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQgaW4gdGhlXG4vLyBOT1RJQ0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvdHJlZS9jYzdjMWFlY2U0NmE2YjY5YjQxOTU4ZDczMWUwZmQyN2M5NGJmYzZjL3BhY2thZ2VzL3JlYWN0LWludGVyYWN0aW9uc1xuXG5cblxuXG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9IG51bGw7XG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzID0gbmV3IFNldCgpO1xubGV0ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3ID0gbmV3IE1hcCgpOyAvLyBXZSB1c2UgYSBtYXAgaGVyZSB0byBzdXBwb3J0IHNldHRpbmcgZXZlbnQgbGlzdGVuZXJzIGFjcm9zcyBtdWx0aXBsZSBkb2N1bWVudCBvYmplY3RzLlxubGV0ICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gZmFsc2U7XG5sZXQgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0JsdXJyZWRXaW5kb3dSZWNlbnRseSA9IGZhbHNlO1xuLy8gT25seSBUYWIgb3IgRXNjIGtleXMgd2lsbCBtYWtlIGZvY3VzIHZpc2libGUgb24gdGV4dCBpbnB1dCBlbGVtZW50c1xuY29uc3QgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJEZPQ1VTX1ZJU0lCTEVfSU5QVVRfS0VZUyA9IHtcbiAgICBUYWI6IHRydWUsXG4gICAgRXNjYXBlOiB0cnVlXG59O1xuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycyhtb2RhbGl0eSwgZSkge1xuICAgIGZvciAobGV0IGhhbmRsZXIgb2YgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzKWhhbmRsZXIobW9kYWxpdHksIGUpO1xufVxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGEgS2V5Ym9hcmRFdmVudCBpcyB1bm1vZGlmaWVkIGFuZCBjb3VsZCBtYWtlIGtleWJvYXJkIGZvY3VzIHN0eWxlcyB2aXNpYmxlLlxuICovIGZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc1ZhbGlkS2V5KGUpIHtcbiAgICAvLyBDb250cm9sIGFuZCBTaGlmdCBrZXlzIHRyaWdnZXIgd2hlbiBuYXZpZ2F0aW5nIGJhY2sgdG8gdGhlIHRhYiB3aXRoIGtleWJvYXJkLlxuICAgIHJldHVybiAhKGUubWV0YUtleSB8fCAhKDAsICQyOEFuUiRpc01hYykoKSAmJiBlLmFsdEtleSB8fCBlLmN0cmxLZXkgfHwgZS5rZXkgPT09ICdDb250cm9sJyB8fCBlLmtleSA9PT0gJ1NoaWZ0JyB8fCBlLmtleSA9PT0gJ01ldGEnKTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50KGUpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IHRydWU7XG4gICAgaWYgKCQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc1ZhbGlkS2V5KGUpKSB7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSAna2V5Ym9hcmQnO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKCdrZXlib2FyZCcsIGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQoZSkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSAncG9pbnRlcic7XG4gICAgaWYgKGUudHlwZSA9PT0gJ21vdXNlZG93bicgfHwgZS50eXBlID09PSAncG9pbnRlcmRvd24nKSB7XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNFdmVudEJlZm9yZUZvY3VzID0gdHJ1ZTtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycygncG9pbnRlcicsIGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVDbGlja0V2ZW50KGUpIHtcbiAgICBpZiAoKDAsICQyOEFuUiRpc1ZpcnR1YWxDbGljaykoZSkpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY3VycmVudE1vZGFsaXR5ID0gJ3ZpcnR1YWwnO1xuICAgIH1cbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50KGUpIHtcbiAgICAvLyBGaXJlZm94IGZpcmVzIHR3byBleHRyYSBmb2N1cyBldmVudHMgd2hlbiB0aGUgdXNlciBmaXJzdCBjbGlja3MgaW50byBhbiBpZnJhbWU6XG4gICAgLy8gZmlyc3Qgb24gdGhlIHdpbmRvdywgdGhlbiBvbiB0aGUgZG9jdW1lbnQuIFdlIGlnbm9yZSB0aGVzZSBldmVudHMgc28gdGhleSBkb24ndFxuICAgIC8vIGNhdXNlIGtleWJvYXJkIGZvY3VzIHJpbmdzIHRvIGFwcGVhci5cbiAgICBpZiAoZS50YXJnZXQgPT09IHdpbmRvdyB8fCBlLnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgKDAsICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCRmZGE3ZGE3M2FiNWQ0YzQ4KSB8fCAhZS5pc1RydXN0ZWQpIHJldHVybjtcbiAgICAvLyBJZiBhIGZvY3VzIGV2ZW50IG9jY3VycyB3aXRob3V0IGEgcHJlY2VkaW5nIGtleWJvYXJkIG9yIHBvaW50ZXIgZXZlbnQsIHN3aXRjaCB0byB2aXJ0dWFsIG1vZGFsaXR5LlxuICAgIC8vIFRoaXMgb2NjdXJzLCBmb3IgZXhhbXBsZSwgd2hlbiBuYXZpZ2F0aW5nIGEgZm9ybSB3aXRoIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgb24gaU9TLlxuICAgIGlmICghJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgJiYgISQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNCbHVycmVkV2luZG93UmVjZW50bHkpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSA9ICd2aXJ0dWFsJztcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHRyaWdnZXJDaGFuZ2VIYW5kbGVycygndmlydHVhbCcsIGUpO1xuICAgIH1cbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzRXZlbnRCZWZvcmVGb2N1cyA9IGZhbHNlO1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYXNCbHVycmVkV2luZG93UmVjZW50bHkgPSBmYWxzZTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyKCkge1xuICAgIGlmICgwLCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkZmRhN2RhNzNhYjVkNGM0OCkgcmV0dXJuO1xuICAgIC8vIFdoZW4gdGhlIHdpbmRvdyBpcyBibHVycmVkLCByZXNldCBzdGF0ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiB0YWJiaW5nIG91dCBvZiB0aGUgd2luZG93LFxuICAgIC8vIGZvciBleGFtcGxlLCBzaW5jZSBhIHN1YnNlcXVlbnQgZm9jdXMgZXZlbnQgd29uJ3QgYmUgZmlyZWQuXG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSBmYWxzZTtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFzQmx1cnJlZFdpbmRvd1JlY2VudGx5ID0gdHJ1ZTtcbn1cbi8qKlxuICogU2V0dXAgZ2xvYmFsIGV2ZW50IGxpc3RlbmVycyB0byBjb250cm9sIHdoZW4ga2V5Ym9hcmQgZm9jdXMgc3R5bGUgc2hvdWxkIGJlIHZpc2libGUuXG4gKi8gZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHNldHVwR2xvYmFsRm9jdXNFdmVudHMoZWxlbWVudCkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8ICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LmdldCgoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KSkpIHJldHVybjtcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgLy8gUHJvZ3JhbW1hdGljIGZvY3VzKCkgY2FsbHMgc2hvdWxkbid0IGFmZmVjdCB0aGUgY3VycmVudCBpbnB1dCBtb2RhbGl0eS5cbiAgICAvLyBIb3dldmVyLCB3ZSBuZWVkIHRvIGRldGVjdCBvdGhlciBjYXNlcyB3aGVuIGEgZm9jdXMgZXZlbnQgb2NjdXJzIHdpdGhvdXRcbiAgICAvLyBhIHByZWNlZGluZyB1c2VyIGV2ZW50IChlLmcuIHNjcmVlbiByZWFkZXIgZm9jdXMpLiBPdmVycmlkaW5nIHRoZSBmb2N1c1xuICAgIC8vIG1ldGhvZCBvbiBIVE1MRWxlbWVudC5wcm90b3R5cGUgaXMgYSBiaXQgaGFja3ksIGJ1dCB3b3Jrcy5cbiAgICBsZXQgZm9jdXMgPSB3aW5kb3dPYmplY3QuSFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzO1xuICAgIHdpbmRvd09iamVjdC5IVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhc0V2ZW50QmVmb3JlRm9jdXMgPSB0cnVlO1xuICAgICAgICBmb2N1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVLZXlib2FyZEV2ZW50LCB0cnVlKTtcbiAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVDbGlja0V2ZW50LCB0cnVlKTtcbiAgICAvLyBSZWdpc3RlciBmb2N1cyBldmVudHMgb24gdGhlIHdpbmRvdyBzbyB0aGV5IGFyZSBzdXJlIHRvIGhhcHBlblxuICAgIC8vIGJlZm9yZSBSZWFjdCdzIGV2ZW50IGxpc3RlbmVycyAocmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnQpLlxuICAgIHdpbmRvd09iamVjdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50LCB0cnVlKTtcbiAgICB3aW5kb3dPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyLCBmYWxzZSk7XG4gICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICd0ZXN0Jykge1xuICAgICAgICBkb2N1bWVudE9iamVjdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICB9XG4gICAgLy8gQWRkIHVubW91bnQgaGFuZGxlclxuICAgIHdpbmRvd09iamVjdC5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoKT0+e1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdGVhckRvd25XaW5kb3dGb2N1c1RyYWNraW5nKGVsZW1lbnQpO1xuICAgIH0sIHtcbiAgICAgICAgb25jZTogdHJ1ZVxuICAgIH0pO1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRkOTAyNDNiNThkYWVjZGE3LnNldCh3aW5kb3dPYmplY3QsIHtcbiAgICAgICAgZm9jdXM6IGZvY3VzXG4gICAgfSk7XG59XG5jb25zdCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdGVhckRvd25XaW5kb3dGb2N1c1RyYWNraW5nID0gKGVsZW1lbnQsIGxvYWRMaXN0ZW5lcik9PntcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDI4QW5SJGdldE93bmVyV2luZG93KShlbGVtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudE9iamVjdCA9ICgwLCAkMjhBblIkZ2V0T3duZXJEb2N1bWVudCkoZWxlbWVudCk7XG4gICAgaWYgKGxvYWRMaXN0ZW5lcikgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGxvYWRMaXN0ZW5lcik7XG4gICAgaWYgKCEkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZDkwMjQzYjU4ZGFlY2RhNy5oYXMod2luZG93T2JqZWN0KSkgcmV0dXJuO1xuICAgIHdpbmRvd09iamVjdC5IVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMgPSAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZDkwMjQzYjU4ZGFlY2RhNy5nZXQod2luZG93T2JqZWN0KS5mb2N1cztcbiAgICBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUtleWJvYXJkRXZlbnQsIHRydWUpO1xuICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUtleWJvYXJkRXZlbnQsIHRydWUpO1xuICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZUNsaWNrRXZlbnQsIHRydWUpO1xuICAgIHdpbmRvd09iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVGb2N1c0V2ZW50LCB0cnVlKTtcbiAgICB3aW5kb3dPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVXaW5kb3dCbHVyLCBmYWxzZSk7XG4gICAgaWYgKHR5cGVvZiBQb2ludGVyRXZlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRoYW5kbGVQb2ludGVyRXZlbnQsIHRydWUpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICd0ZXN0Jykge1xuICAgICAgICBkb2N1bWVudE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgICAgZG9jdW1lbnRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGhhbmRsZVBvaW50ZXJFdmVudCwgdHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkaGFuZGxlUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICB9XG4gICAgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGQ5MDI0M2I1OGRhZWNkYTcuZGVsZXRlKHdpbmRvd09iamVjdCk7XG59O1xuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDJmMTg4ODExMmY1NThhN2QoZWxlbWVudCkge1xuICAgIGNvbnN0IGRvY3VtZW50T2JqZWN0ID0gKDAsICQyOEFuUiRnZXRPd25lckRvY3VtZW50KShlbGVtZW50KTtcbiAgICBsZXQgbG9hZExpc3RlbmVyO1xuICAgIGlmIChkb2N1bWVudE9iamVjdC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRzZXR1cEdsb2JhbEZvY3VzRXZlbnRzKGVsZW1lbnQpO1xuICAgIGVsc2Uge1xuICAgICAgICBsb2FkTGlzdGVuZXIgPSAoKT0+e1xuICAgICAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJHNldHVwR2xvYmFsRm9jdXNFdmVudHMoZWxlbWVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGRvY3VtZW50T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsb2FkTGlzdGVuZXIpO1xuICAgIH1cbiAgICByZXR1cm4gKCk9PiQ1MDdmYWJlMTBlNzFjNmZiJHZhciR0ZWFyRG93bldpbmRvd0ZvY3VzVHJhY2tpbmcoZWxlbWVudCwgbG9hZExpc3RlbmVyKTtcbn1cbi8vIFNlcnZlci1zaWRlIHJlbmRlcmluZyBkb2VzIG5vdCBoYXZlIHRoZSBkb2N1bWVudCBvYmplY3QgZGVmaW5lZFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtZ2xvYmFsc1xuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQyZjE4ODgxMTJmNTU4YTdkKCk7XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkYjliM2RmZGRhYjE3ZGIyNygpIHtcbiAgICByZXR1cm4gJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSAhPT0gJ3BvaW50ZXInO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDYzMGZmNjUzYzVhZGE2YTkoKSB7XG4gICAgcmV0dXJuICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHk7XG59XG5mdW5jdGlvbiAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkODM5N2RkZmM1MDRmZGI5YShtb2RhbGl0eSkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkgPSBtb2RhbGl0eTtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkdHJpZ2dlckNoYW5nZUhhbmRsZXJzKG1vZGFsaXR5LCBudWxsKTtcbn1cbmZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ5OGUyMGVjOTJmNjE0Y2ZlKCkge1xuICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRzZXR1cEdsb2JhbEZvY3VzRXZlbnRzKCk7XG4gICAgbGV0IFttb2RhbGl0eSwgc2V0TW9kYWxpdHldID0gKDAsICQyOEFuUiR1c2VTdGF0ZSkoJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGN1cnJlbnRNb2RhbGl0eSk7XG4gICAgKDAsICQyOEFuUiR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGxldCBoYW5kbGVyID0gKCk9PntcbiAgICAgICAgICAgIHNldE1vZGFsaXR5KCQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjdXJyZW50TW9kYWxpdHkpO1xuICAgICAgICB9O1xuICAgICAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkY2hhbmdlSGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjaGFuZ2VIYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiAoMCwgJDI4QW5SJHVzZUlzU1NSKSgpID8gbnVsbCA6IG1vZGFsaXR5O1xufVxuY29uc3QgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJG5vblRleHRJbnB1dFR5cGVzID0gbmV3IFNldChbXG4gICAgJ2NoZWNrYm94JyxcbiAgICAncmFkaW8nLFxuICAgICdyYW5nZScsXG4gICAgJ2NvbG9yJyxcbiAgICAnZmlsZScsXG4gICAgJ2ltYWdlJyxcbiAgICAnYnV0dG9uJyxcbiAgICAnc3VibWl0JyxcbiAgICAncmVzZXQnXG5dKTtcbi8qKlxuICogSWYgdGhpcyBpcyBhdHRhY2hlZCB0byB0ZXh0IGlucHV0IGNvbXBvbmVudCwgcmV0dXJuIGlmIHRoZSBldmVudCBpcyBhIGZvY3VzIGV2ZW50IChUYWIvRXNjYXBlIGtleXMgcHJlc3NlZCkgc28gdGhhdFxuICogZm9jdXMgdmlzaWJsZSBzdHlsZSBjYW4gYmUgcHJvcGVybHkgc2V0LlxuICovIGZ1bmN0aW9uICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRpc0tleWJvYXJkRm9jdXNFdmVudChpc1RleHRJbnB1dCwgbW9kYWxpdHksIGUpIHtcbiAgICBsZXQgZG9jdW1lbnQxID0gKDAsICQyOEFuUiRnZXRPd25lckRvY3VtZW50KShlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGFyZ2V0KTtcbiAgICBjb25zdCBJSFRNTElucHV0RWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTElucHV0RWxlbWVudCA6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgSUhUTUxUZXh0QXJlYUVsZW1lbnQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/ICgwLCAkMjhBblIkZ2V0T3duZXJXaW5kb3cpKGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50YXJnZXQpLkhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIGNvbnN0IElIVE1MRWxlbWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuSFRNTEVsZW1lbnQgOiBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBJS2V5Ym9hcmRFdmVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKDAsICQyOEFuUiRnZXRPd25lcldpbmRvdykoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRhcmdldCkuS2V5Ym9hcmRFdmVudCA6IEtleWJvYXJkRXZlbnQ7XG4gICAgLy8gRm9yIGtleWJvYXJkIGV2ZW50cyB0aGF0IG9jY3VyIG9uIGEgbm9uLWlucHV0IGVsZW1lbnQgdGhhdCB3aWxsIG1vdmUgZm9jdXMgaW50byBpbnB1dCBlbGVtZW50IChha2EgQXJyb3dMZWZ0IGdvaW5nIGZyb20gRGF0ZXBpY2tlciBidXR0b24gdG8gdGhlIG1haW4gaW5wdXQgZ3JvdXApXG4gICAgLy8gd2UgbmVlZCB0byByZWx5IG9uIHRoZSB1c2VyIHBhc3NpbmcgaXNUZXh0SW5wdXQgaW50byBoZXJlLiBUaGlzIHdheSB3ZSBjYW4gc2tpcCB0b2dnbGluZyBmb2N1cyB2aXNpYmxpdHkgZm9yIHNhaWQgaW5wdXQgZWxlbWVudFxuICAgIGlzVGV4dElucHV0ID0gaXNUZXh0SW5wdXQgfHwgZG9jdW1lbnQxLmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBJSFRNTElucHV0RWxlbWVudCAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJG5vblRleHRJbnB1dFR5cGVzLmhhcyhkb2N1bWVudDEuYWN0aXZlRWxlbWVudC50eXBlKSB8fCBkb2N1bWVudDEuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIElIVE1MVGV4dEFyZWFFbGVtZW50IHx8IGRvY3VtZW50MS5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSUhUTUxFbGVtZW50ICYmIGRvY3VtZW50MS5hY3RpdmVFbGVtZW50LmlzQ29udGVudEVkaXRhYmxlO1xuICAgIHJldHVybiAhKGlzVGV4dElucHV0ICYmIG1vZGFsaXR5ID09PSAna2V5Ym9hcmQnICYmIGUgaW5zdGFuY2VvZiBJS2V5Ym9hcmRFdmVudCAmJiAhJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJEZPQ1VTX1ZJU0lCTEVfSU5QVVRfS0VZU1tlLmtleV0pO1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGZmZDllNTAyMWMxZmIyZDYocHJvcHMgPSB7fSkge1xuICAgIGxldCB7IGlzVGV4dElucHV0OiBpc1RleHRJbnB1dCwgYXV0b0ZvY3VzOiBhdXRvRm9jdXMgfSA9IHByb3BzO1xuICAgIGxldCBbaXNGb2N1c1Zpc2libGVTdGF0ZSwgc2V0Rm9jdXNWaXNpYmxlXSA9ICgwLCAkMjhBblIkdXNlU3RhdGUpKGF1dG9Gb2N1cyB8fCAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkYjliM2RmZGRhYjE3ZGIyNygpKTtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZWM3MWI0YjgzYWMwOGVjMygoaXNGb2N1c1Zpc2libGUpPT57XG4gICAgICAgIHNldEZvY3VzVmlzaWJsZShpc0ZvY3VzVmlzaWJsZSk7XG4gICAgfSwgW1xuICAgICAgICBpc1RleHRJbnB1dFxuICAgIF0sIHtcbiAgICAgICAgaXNUZXh0SW5wdXQ6IGlzVGV4dElucHV0XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNGb2N1c1Zpc2libGU6IGlzRm9jdXNWaXNpYmxlU3RhdGVcbiAgICB9O1xufVxuZnVuY3Rpb24gJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGVjNzFiNGI4M2FjMDhlYzMoZm4sIGRlcHMsIG9wdHMpIHtcbiAgICAkNTA3ZmFiZTEwZTcxYzZmYiR2YXIkc2V0dXBHbG9iYWxGb2N1c0V2ZW50cygpO1xuICAgICgwLCAkMjhBblIkdXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBsZXQgaGFuZGxlciA9IChtb2RhbGl0eSwgZSk9PntcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZWFybHkgcmV0dXJuIGZvciBhbnkga2V5Ym9hcmQgZXZlbnRzIHRoYXQgb2NjdXIgaW5zaWRlIHRleHQgaW5wdXRzIEVYQ0VQVCBmb3IgVGFiIGFuZCBFc2NhcGVcbiAgICAgICAgICAgIGlmICghJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGlzS2V5Ym9hcmRGb2N1c0V2ZW50KCEhKG9wdHMgPT09IG51bGwgfHwgb3B0cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0cy5pc1RleHRJbnB1dCksIG1vZGFsaXR5LCBlKSkgcmV0dXJuO1xuICAgICAgICAgICAgZm4oJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcoKSk7XG4gICAgICAgIH07XG4gICAgICAgICQ1MDdmYWJlMTBlNzFjNmZiJHZhciRjaGFuZ2VIYW5kbGVycy5hZGQoaGFuZGxlcik7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgJDUwN2ZhYmUxMGU3MWM2ZmIkdmFyJGNoYW5nZUhhbmRsZXJzLmRlbGV0ZShoYW5kbGVyKTtcbiAgICAgICAgfTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgZGVwcyk7XG59XG5cblxuZXhwb3J0IHskNTA3ZmFiZTEwZTcxYzZmYiRleHBvcnQkZDkwMjQzYjU4ZGFlY2RhNyBhcyBoYXNTZXR1cEdsb2JhbExpc3RlbmVycywgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JDJmMTg4ODExMmY1NThhN2QgYXMgYWRkV2luZG93Rm9jdXNUcmFja2luZywgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGI5YjNkZmRkYWIxN2RiMjcgYXMgaXNGb2N1c1Zpc2libGUsICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ2MzBmZjY1M2M1YWRhNmE5IGFzIGdldEludGVyYWN0aW9uTW9kYWxpdHksICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ4Mzk3ZGRmYzUwNGZkYjlhIGFzIHNldEludGVyYWN0aW9uTW9kYWxpdHksICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCQ5OGUyMGVjOTJmNjE0Y2ZlIGFzIHVzZUludGVyYWN0aW9uTW9kYWxpdHksICQ1MDdmYWJlMTBlNzFjNmZiJGV4cG9ydCRmZmQ5ZTUwMjFjMWZiMmQ2IGFzIHVzZUZvY3VzVmlzaWJsZSwgJDUwN2ZhYmUxMGU3MWM2ZmIkZXhwb3J0JGVjNzFiNGI4M2FjMDhlYzMgYXMgdXNlRm9jdXNWaXNpYmxlTGlzdGVuZXJ9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlRm9jdXNWaXNpYmxlLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocusVisible.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocusWithin.mjs":
 | 
						||
/*!**********************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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_2__ = __webpack_require__(/*! ./utils.mjs */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/DOMFunctions.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 $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 { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.useGlobalListeners)();\n    let onBlur = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n        // Ignore events bubbling through portals.\n        if (!e.currentTarget.contains(e.target)) return;\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            removeAllGlobalListeners();\n            if (onBlurWithin) onBlurWithin(e);\n            if (onFocusWithinChange) onFocusWithinChange(false);\n        }\n    }, [\n        onBlurWithin,\n        onFocusWithinChange,\n        state,\n        removeAllGlobalListeners\n    ]);\n    let onSyntheticFocus = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_2__.useSyntheticBlurEvent)(onBlur);\n    let onFocus = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((e)=>{\n        // Ignore events bubbling through portals.\n        if (!e.currentTarget.contains(e.target)) return;\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_3__.getOwnerDocument)(e.target);\n        const activeElement = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.getActiveElement)(ownerDocument);\n        if (!state.current.isFocusWithin && activeElement === (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.getEventTarget)(e.nativeEvent)) {\n            if (onFocusWithin) onFocusWithin(e);\n            if (onFocusWithinChange) onFocusWithinChange(true);\n            state.current.isFocusWithin = true;\n            onSyntheticFocus(e);\n            // Browsers don't fire blur events when elements are removed from the DOM.\n            // However, if a focus event occurs outside the element we're tracking, we\n            // can manually fire onBlur.\n            let currentTarget = e.currentTarget;\n            addGlobalListener(ownerDocument, 'focus', (e)=>{\n                if (state.current.isFocusWithin && !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.nodeContains)(currentTarget, e.target)) {\n                    let nativeEvent = new ownerDocument.defaultView.FocusEvent('blur', {\n                        relatedTarget: e.target\n                    });\n                    (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_2__.setEventTarget)(nativeEvent, currentTarget);\n                    let event = (0, _utils_mjs__WEBPACK_IMPORTED_MODULE_2__.createSyntheticEvent)(nativeEvent);\n                    onBlur(event);\n                }\n            }, {\n                capture: true\n            });\n        }\n    }, [\n        onFocusWithin,\n        onFocusWithinChange,\n        onSyntheticFocus,\n        addGlobalListener,\n        onBlur\n    ]);\n    if (isDisabled) return {\n        focusWithinProps: {\n            // These cannot be 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUZvY3VzV2l0aGluLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBOE47QUFDN0k7QUFDeUs7O0FBRTFQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBLFVBQVUsNkhBQTZIO0FBQ3ZJLG9CQUFvQix5Q0FBYTtBQUNqQztBQUNBLEtBQUs7QUFDTCxVQUFVLDJGQUEyRixNQUFNLGlFQUF5QjtBQUNwSSxxQkFBcUIsOENBQWtCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw2REFBeUM7QUFDeEUsc0JBQXNCLDhDQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQywrREFBdUI7QUFDekQsa0NBQWtDLCtEQUF1QjtBQUN6RCxrRUFBa0UsNkRBQXFCO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCwyREFBbUI7QUFDM0U7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQix3QkFBd0Isc0RBQXlDO0FBQ2pFLG9DQUFvQyw0REFBd0M7QUFDNUU7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWE7QUFDYjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHcUU7QUFDckUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK2ludGVyYWN0aW9uc0AzLjI1LjRfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL2Rpc3QvdXNlRm9jdXNXaXRoaW4ubWpzP2YzMWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVTeW50aGV0aWNFdmVudCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNTI1YmM0OTIxZDU2ZDRhLCBzZXRFdmVudFRhcmdldCBhcyAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkYzJiN2FiZTVkNjFlYzY5NiwgdXNlU3ludGhldGljQmx1ckV2ZW50IGFzICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCQ3MTVjNjgyZDA5ZDYzOWNjfSBmcm9tIFwiLi91dGlscy5tanNcIjtcbmltcG9ydCB7dXNlUmVmIGFzICQzYjlRMCR1c2VSZWYsIHVzZUNhbGxiYWNrIGFzICQzYjlRMCR1c2VDYWxsYmFja30gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZUdsb2JhbExpc3RlbmVycyBhcyAkM2I5UTAkdXNlR2xvYmFsTGlzdGVuZXJzLCBnZXRPd25lckRvY3VtZW50IGFzICQzYjlRMCRnZXRPd25lckRvY3VtZW50LCBnZXRBY3RpdmVFbGVtZW50IGFzICQzYjlRMCRnZXRBY3RpdmVFbGVtZW50LCBnZXRFdmVudFRhcmdldCBhcyAkM2I5UTAkZ2V0RXZlbnRUYXJnZXQsIG5vZGVDb250YWlucyBhcyAkM2I5UTAkbm9kZUNvbnRhaW5zfSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIC8vIFBvcnRpb25zIG9mIHRoZSBjb2RlIGluIHRoaXMgZmlsZSBhcmUgYmFzZWQgb24gY29kZSBmcm9tIHJlYWN0LlxuLy8gT3JpZ2luYWwgbGljZW5zaW5nIGZvciB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGVcbi8vIE5PVElDRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL2NjN2MxYWVjZTQ2YTZiNjliNDE5NThkNzMxZTBmZDI3Yzk0YmZjNmMvcGFja2FnZXMvcmVhY3QtaW50ZXJhY3Rpb25zXG5cblxuXG5mdW5jdGlvbiAkOWFiOTQyNjJiZDAwNDdjNyRleHBvcnQkNDIwZTY4MjczMTY1ZjRlYyhwcm9wcykge1xuICAgIGxldCB7IGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsIG9uQmx1cldpdGhpbjogb25CbHVyV2l0aGluLCBvbkZvY3VzV2l0aGluOiBvbkZvY3VzV2l0aGluLCBvbkZvY3VzV2l0aGluQ2hhbmdlOiBvbkZvY3VzV2l0aGluQ2hhbmdlIH0gPSBwcm9wcztcbiAgICBsZXQgc3RhdGUgPSAoMCwgJDNiOVEwJHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzV2l0aGluOiBmYWxzZVxuICAgIH0pO1xuICAgIGxldCB7IGFkZEdsb2JhbExpc3RlbmVyOiBhZGRHbG9iYWxMaXN0ZW5lciwgcmVtb3ZlQWxsR2xvYmFsTGlzdGVuZXJzOiByZW1vdmVBbGxHbG9iYWxMaXN0ZW5lcnMgfSA9ICgwLCAkM2I5UTAkdXNlR2xvYmFsTGlzdGVuZXJzKSgpO1xuICAgIGxldCBvbkJsdXIgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gSWdub3JlIGV2ZW50cyBidWJibGluZyB0aHJvdWdoIHBvcnRhbHMuXG4gICAgICAgIGlmICghZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgcmV0dXJuO1xuICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgb25CbHVyV2l0aGluIGFuZCB0aGVuIGltbWVkaWF0ZWx5IG9uRm9jdXNXaXRoaW4gYWdhaW5cbiAgICAgICAgLy8gd2hlbiBtb3ZpbmcgZm9jdXMgaW5zaWRlIHRoZSBlbGVtZW50LiBPbmx5IHRyaWdnZXIgaWYgdGhlIGN1cnJlbnRUYXJnZXQgZG9lc24ndFxuICAgICAgICAvLyBpbmNsdWRlIHRoZSByZWxhdGVkVGFyZ2V0ICh3aGVyZSBmb2N1cyBpcyBtb3ZpbmcpLlxuICAgICAgICBpZiAoc3RhdGUuY3VycmVudC5pc0ZvY3VzV2l0aGluICYmICFlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzV2l0aGluID0gZmFsc2U7XG4gICAgICAgICAgICByZW1vdmVBbGxHbG9iYWxMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIGlmIChvbkJsdXJXaXRoaW4pIG9uQmx1cldpdGhpbihlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzV2l0aGluQ2hhbmdlKSBvbkZvY3VzV2l0aGluQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25CbHVyV2l0aGluLFxuICAgICAgICBvbkZvY3VzV2l0aGluQ2hhbmdlLFxuICAgICAgICBzdGF0ZSxcbiAgICAgICAgcmVtb3ZlQWxsR2xvYmFsTGlzdGVuZXJzXG4gICAgXSk7XG4gICAgbGV0IG9uU3ludGhldGljRm9jdXMgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MpKG9uQmx1cik7XG4gICAgbGV0IG9uRm9jdXMgPSAoMCwgJDNiOVEwJHVzZUNhbGxiYWNrKSgoZSk9PntcbiAgICAgICAgLy8gSWdub3JlIGV2ZW50cyBidWJibGluZyB0aHJvdWdoIHBvcnRhbHMuXG4gICAgICAgIGlmICghZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgcmV0dXJuO1xuICAgICAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFjdHVhbGx5IG1hdGNoZXMgZS50YXJnZXQgaW4gY2FzZSBhIHByZXZpb3VzbHkgY2hhaW5lZFxuICAgICAgICAvLyBmb2N1cyBoYW5kbGVyIGFscmVhZHkgbW92ZWQgZm9jdXMgc29tZXdoZXJlIGVsc2UuXG4gICAgICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSAoMCwgJDNiOVEwJGdldE93bmVyRG9jdW1lbnQpKGUudGFyZ2V0KTtcbiAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9ICgwLCAkM2I5UTAkZ2V0QWN0aXZlRWxlbWVudCkob3duZXJEb2N1bWVudCk7XG4gICAgICAgIGlmICghc3RhdGUuY3VycmVudC5pc0ZvY3VzV2l0aGluICYmIGFjdGl2ZUVsZW1lbnQgPT09ICgwLCAkM2I5UTAkZ2V0RXZlbnRUYXJnZXQpKGUubmF0aXZlRXZlbnQpKSB7XG4gICAgICAgICAgICBpZiAob25Gb2N1c1dpdGhpbikgb25Gb2N1c1dpdGhpbihlKTtcbiAgICAgICAgICAgIGlmIChvbkZvY3VzV2l0aGluQ2hhbmdlKSBvbkZvY3VzV2l0aGluQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgc3RhdGUuY3VycmVudC5pc0ZvY3VzV2l0aGluID0gdHJ1ZTtcbiAgICAgICAgICAgIG9uU3ludGhldGljRm9jdXMoZSk7XG4gICAgICAgICAgICAvLyBCcm93c2VycyBkb24ndCBmaXJlIGJsdXIgZXZlbnRzIHdoZW4gZWxlbWVudHMgYXJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAgICAgICAgLy8gSG93ZXZlciwgaWYgYSBmb2N1cyBldmVudCBvY2N1cnMgb3V0c2lkZSB0aGUgZWxlbWVudCB3ZSdyZSB0cmFja2luZywgd2VcbiAgICAgICAgICAgIC8vIGNhbiBtYW51YWxseSBmaXJlIG9uQmx1ci5cbiAgICAgICAgICAgIGxldCBjdXJyZW50VGFyZ2V0ID0gZS5jdXJyZW50VGFyZ2V0O1xuICAgICAgICAgICAgYWRkR2xvYmFsTGlzdGVuZXIob3duZXJEb2N1bWVudCwgJ2ZvY3VzJywgKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlLmN1cnJlbnQuaXNGb2N1c1dpdGhpbiAmJiAhKDAsICQzYjlRMCRub2RlQ29udGFpbnMpKGN1cnJlbnRUYXJnZXQsIGUudGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmF0aXZlRXZlbnQgPSBuZXcgb3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5Gb2N1c0V2ZW50KCdibHVyJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogZS50YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICgwLCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkYzJiN2FiZTVkNjFlYzY5NikobmF0aXZlRXZlbnQsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZXZlbnQgPSAoMCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDUyNWJjNDkyMWQ1NmQ0YSkobmF0aXZlRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBvbkJsdXIoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBjYXB0dXJlOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgb25Gb2N1c1dpdGhpbixcbiAgICAgICAgb25Gb2N1c1dpdGhpbkNoYW5nZSxcbiAgICAgICAgb25TeW50aGV0aWNGb2N1cyxcbiAgICAgICAgYWRkR2xvYmFsTGlzdGVuZXIsXG4gICAgICAgIG9uQmx1clxuICAgIF0pO1xuICAgIGlmIChpc0Rpc2FibGVkKSByZXR1cm4ge1xuICAgICAgICBmb2N1c1dpdGhpblByb3BzOiB7XG4gICAgICAgICAgICAvLyBUaGVzZSBjYW5ub3QgYmUgbnVsbCwgdGhhdCB3b3VsZCBjb25mbGljdCBpbiBtZXJnZVByb3BzXG4gICAgICAgICAgICBvbkZvY3VzOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmb2N1c1dpdGhpblByb3BzOiB7XG4gICAgICAgICAgICBvbkZvY3VzOiBvbkZvY3VzLFxuICAgICAgICAgICAgb25CbHVyOiBvbkJsdXJcbiAgICAgICAgfVxuICAgIH07XG59XG5cblxuZXhwb3J0IHskOWFiOTQyNjJiZDAwNDdjNyRleHBvcnQkNDIwZTY4MjczMTY1ZjRlYyBhcyB1c2VGb2N1c1dpdGhpbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VGb2N1c1dpdGhpbi5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useFocusWithin.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useHover.mjs":
 | 
						||
/*!****************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/DOMFunctions.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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\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 ($6179b936705e76d3$var$hoverCount === 0) {\n        if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n        else if (false) {}\n    }\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 if (false) {}\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 { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__.useGlobalListeners)();\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            // When an element that is hovered over is removed, no pointerleave event is fired by the browser,\n            // even though the originally hovered target may have shrunk in size so it is no longer hovered.\n            // However, a pointerover event will be fired on the new target the mouse is over.\n            // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.\n            addGlobalListener((0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_2__.getOwnerDocument)(event.target), 'pointerover', (e)=>{\n                if (state.isHovered && state.target && !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.nodeContains)(state.target, e.target)) triggerHoverEnd(e, e.pointerType);\n            }, {\n                capture: true\n            });\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            let target = state.target;\n            state.pointerType = '';\n            state.target = null;\n            if (pointerType === 'touch' || !state.isHovered || !target) return;\n            state.isHovered = false;\n            removeAllGlobalListeners();\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 if (false) {}\n        return {\n            hoverProps: hoverProps,\n            triggerHoverEnd: triggerHoverEnd\n        };\n    }, [\n        onHoverStart,\n        onHoverChange,\n        onHoverEnd,\n        isDisabled,\n        state,\n        addGlobalListener,\n        removeAllGlobalListeners\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUhvdmVyLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFvSztBQUMvQjs7QUFFckk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixLQUErQixFQUFFLEVBQWdHO0FBQ2xKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixLQUErQixFQUFFLEVBQW1HO0FBQ3JKO0FBQ0E7QUFDQTtBQUNBLFVBQVUsMkdBQTJHO0FBQ3JILHNDQUFzQywyQ0FBZTtBQUNyRCxvQkFBb0IseUNBQWE7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsUUFBUSw0Q0FBZ0I7QUFDeEIsVUFBVSwyRkFBMkYsTUFBTSxpRUFBeUI7QUFDcEksVUFBVSwyREFBMkQsTUFBTSwwQ0FBYztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQywrREFBdUI7QUFDekQsNERBQTRELDJEQUFtQjtBQUMvRSxhQUFhO0FBQ2I7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLFNBQVMsS0FBK0IsRUFBRSxFQVczQztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRDQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRytEO0FBQy9EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3VzZUhvdmVyLm1qcz9kZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlR2xvYmFsTGlzdGVuZXJzIGFzICRBV3huVCR1c2VHbG9iYWxMaXN0ZW5lcnMsIGdldE93bmVyRG9jdW1lbnQgYXMgJEFXeG5UJGdldE93bmVyRG9jdW1lbnQsIG5vZGVDb250YWlucyBhcyAkQVd4blQkbm9kZUNvbnRhaW5zfSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcbmltcG9ydCB7dXNlU3RhdGUgYXMgJEFXeG5UJHVzZVN0YXRlLCB1c2VSZWYgYXMgJEFXeG5UJHVzZVJlZiwgdXNlRWZmZWN0IGFzICRBV3huVCR1c2VFZmZlY3QsIHVzZU1lbW8gYXMgJEFXeG5UJHVzZU1lbW99IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gUG9ydGlvbnMgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSBiYXNlZCBvbiBjb2RlIGZyb20gcmVhY3QuXG4vLyBPcmlnaW5hbCBsaWNlbnNpbmcgZm9yIHRoZSBmb2xsb3dpbmcgY2FuIGJlIGZvdW5kIGluIHRoZVxuLy8gTk9USUNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvY2M3YzFhZWNlNDZhNmI2OWI0MTk1OGQ3MzFlMGZkMjdjOTRiZmM2Yy9wYWNrYWdlcy9yZWFjdC1pbnRlcmFjdGlvbnNcblxuXG4vLyBpT1MgZmlyZXMgb25Qb2ludGVyRW50ZXIgdHdpY2U6IG9uY2Ugd2l0aCBwb2ludGVyVHlwZT1cInRvdWNoXCIgYW5kIGFnYWluIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiLlxuLy8gV2Ugd2FudCB0byBpZ25vcmUgdGhlc2UgZW11bGF0ZWQgZXZlbnRzIHNvIHRoZXkgZG8gbm90IHRyaWdnZXIgaG92ZXIgYmVoYXZpb3IuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDYwOS5cbmxldCAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IGZhbHNlO1xubGV0ICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRob3ZlckNvdW50ID0gMDtcbmZ1bmN0aW9uICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCkge1xuICAgICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gdHJ1ZTtcbiAgICAvLyBDbGVhciBnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzIGFmdGVyIGEgc2hvcnQgdGltZW91dC4gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyXG4gICAgLy8gd2l0aCBwb2ludGVyVHlwZT1cIm1vdXNlXCIgaW1tZWRpYXRlbHkgYWZ0ZXIgb25Qb2ludGVyVXAgYW5kIGJlZm9yZSBvbkZvY3VzLiBPbiBvdGhlclxuICAgIC8vIGRldmljZXMgdGhhdCBkb24ndCBoYXZlIHRoaXMgcXVpcmssIHdlIGRvbid0IHdhbnQgdG8gaWdub3JlIGEgbW91c2UgaG92ZXIgc29tZXRpbWUgaW5cbiAgICAvLyB0aGUgZGlzdGFudCBmdXR1cmUgYmVjYXVzZSBhIHVzZXIgcHJldmlvdXNseSB0b3VjaGVkIHRoZSBlbGVtZW50LlxuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbiAgICB9LCA1MCk7XG59XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaGFuZGxlR2xvYmFsUG9pbnRlckV2ZW50KGUpIHtcbiAgICBpZiAoZS5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJykgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJHNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMoKTtcbn1cbmZ1bmN0aW9uICQ2MTc5YjkzNjcwNWU3NmQzJHZhciRzZXR1cEdsb2JhbFRvdWNoRXZlbnRzKCkge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgaWYgKCQ2MTc5YjkzNjcwNWU3NmQzJHZhciRob3ZlckNvdW50ID09PSAwKSB7XG4gICAgICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcpIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJHNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMpO1xuICAgIH1cbiAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudCsrO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICAkNjE3OWI5MzY3MDVlNzZkMyR2YXIkaG92ZXJDb3VudC0tO1xuICAgICAgICBpZiAoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhvdmVyQ291bnQgPiAwKSByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgUG9pbnRlckV2ZW50ICE9PSAndW5kZWZpbmVkJykgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudCk7XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcpIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJHNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMpO1xuICAgIH07XG59XG5mdW5jdGlvbiAkNjE3OWI5MzY3MDVlNzZkMyRleHBvcnQkYWU3ODBkYWYyOWU2ZDQ1Nihwcm9wcykge1xuICAgIGxldCB7IG9uSG92ZXJTdGFydDogb25Ib3ZlclN0YXJ0LCBvbkhvdmVyQ2hhbmdlOiBvbkhvdmVyQ2hhbmdlLCBvbkhvdmVyRW5kOiBvbkhvdmVyRW5kLCBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkIH0gPSBwcm9wcztcbiAgICBsZXQgW2lzSG92ZXJlZCwgc2V0SG92ZXJlZF0gPSAoMCwgJEFXeG5UJHVzZVN0YXRlKShmYWxzZSk7XG4gICAgbGV0IHN0YXRlID0gKDAsICRBV3huVCR1c2VSZWYpKHtcbiAgICAgICAgaXNIb3ZlcmVkOiBmYWxzZSxcbiAgICAgICAgaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50czogZmFsc2UsXG4gICAgICAgIHBvaW50ZXJUeXBlOiAnJyxcbiAgICAgICAgdGFyZ2V0OiBudWxsXG4gICAgfSkuY3VycmVudDtcbiAgICAoMCwgJEFXeG5UJHVzZUVmZmVjdCkoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJHNldHVwR2xvYmFsVG91Y2hFdmVudHMsIFtdKTtcbiAgICBsZXQgeyBhZGRHbG9iYWxMaXN0ZW5lcjogYWRkR2xvYmFsTGlzdGVuZXIsIHJlbW92ZUFsbEdsb2JhbExpc3RlbmVyczogcmVtb3ZlQWxsR2xvYmFsTGlzdGVuZXJzIH0gPSAoMCwgJEFXeG5UJHVzZUdsb2JhbExpc3RlbmVycykoKTtcbiAgICBsZXQgeyBob3ZlclByb3BzOiBob3ZlclByb3BzLCB0cmlnZ2VySG92ZXJFbmQ6IHRyaWdnZXJIb3ZlckVuZCB9ID0gKDAsICRBV3huVCR1c2VNZW1vKSgoKT0+e1xuICAgICAgICBsZXQgdHJpZ2dlckhvdmVyU3RhcnQgPSAoZXZlbnQsIHBvaW50ZXJUeXBlKT0+e1xuICAgICAgICAgICAgc3RhdGUucG9pbnRlclR5cGUgPSBwb2ludGVyVHlwZTtcbiAgICAgICAgICAgIGlmIChpc0Rpc2FibGVkIHx8IHBvaW50ZXJUeXBlID09PSAndG91Y2gnIHx8IHN0YXRlLmlzSG92ZXJlZCB8fCAhZXZlbnQuY3VycmVudFRhcmdldC5jb250YWlucyhldmVudC50YXJnZXQpKSByZXR1cm47XG4gICAgICAgICAgICBzdGF0ZS5pc0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICAgICAgbGV0IHRhcmdldCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICBzdGF0ZS50YXJnZXQgPSB0YXJnZXQ7XG4gICAgICAgICAgICAvLyBXaGVuIGFuIGVsZW1lbnQgdGhhdCBpcyBob3ZlcmVkIG92ZXIgaXMgcmVtb3ZlZCwgbm8gcG9pbnRlcmxlYXZlIGV2ZW50IGlzIGZpcmVkIGJ5IHRoZSBicm93c2VyLFxuICAgICAgICAgICAgLy8gZXZlbiB0aG91Z2ggdGhlIG9yaWdpbmFsbHkgaG92ZXJlZCB0YXJnZXQgbWF5IGhhdmUgc2hydW5rIGluIHNpemUgc28gaXQgaXMgbm8gbG9uZ2VyIGhvdmVyZWQuXG4gICAgICAgICAgICAvLyBIb3dldmVyLCBhIHBvaW50ZXJvdmVyIGV2ZW50IHdpbGwgYmUgZmlyZWQgb24gdGhlIG5ldyB0YXJnZXQgdGhlIG1vdXNlIGlzIG92ZXIuXG4gICAgICAgICAgICAvLyBJbiBDaHJvbWUgdGhpcyBoYXBwZW5zIGltbWVkaWF0ZWx5LiBJbiBTYWZhcmkgYW5kIEZpcmVmb3gsIGl0IGhhcHBlbnMgdXBvbiBtb3ZpbmcgdGhlIG1vdXNlIG9uZSBwaXhlbC5cbiAgICAgICAgICAgIGFkZEdsb2JhbExpc3RlbmVyKCgwLCAkQVd4blQkZ2V0T3duZXJEb2N1bWVudCkoZXZlbnQudGFyZ2V0KSwgJ3BvaW50ZXJvdmVyJywgKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlLmlzSG92ZXJlZCAmJiBzdGF0ZS50YXJnZXQgJiYgISgwLCAkQVd4blQkbm9kZUNvbnRhaW5zKShzdGF0ZS50YXJnZXQsIGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsIGUucG9pbnRlclR5cGUpO1xuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGNhcHR1cmU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG9uSG92ZXJTdGFydCkgb25Ib3ZlclN0YXJ0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaG92ZXJzdGFydCcsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgICAgICAgICAgICAgcG9pbnRlclR5cGU6IHBvaW50ZXJUeXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyQ2hhbmdlKSBvbkhvdmVyQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgc2V0SG92ZXJlZCh0cnVlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHRyaWdnZXJIb3ZlckVuZCA9IChldmVudCwgcG9pbnRlclR5cGUpPT57XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gc3RhdGUudGFyZ2V0O1xuICAgICAgICAgICAgc3RhdGUucG9pbnRlclR5cGUgPSAnJztcbiAgICAgICAgICAgIHN0YXRlLnRhcmdldCA9IG51bGw7XG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHwgIXN0YXRlLmlzSG92ZXJlZCB8fCAhdGFyZ2V0KSByZXR1cm47XG4gICAgICAgICAgICBzdGF0ZS5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJlbW92ZUFsbEdsb2JhbExpc3RlbmVycygpO1xuICAgICAgICAgICAgaWYgKG9uSG92ZXJFbmQpIG9uSG92ZXJFbmQoe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdob3ZlcmVuZCcsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgICAgICAgICAgICAgcG9pbnRlclR5cGU6IHBvaW50ZXJUeXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChvbkhvdmVyQ2hhbmdlKSBvbkhvdmVyQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldEhvdmVyZWQoZmFsc2UpO1xuICAgICAgICB9O1xuICAgICAgICBsZXQgaG92ZXJQcm9wcyA9IHt9O1xuICAgICAgICBpZiAodHlwZW9mIFBvaW50ZXJFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGhvdmVyUHJvcHMub25Qb2ludGVyRW50ZXIgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoJDYxNzliOTM2NzA1ZTc2ZDMkdmFyJGdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJykgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHRyaWdnZXJIb3ZlclN0YXJ0KGUsIGUucG9pbnRlclR5cGUpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGhvdmVyUHJvcHMub25Qb2ludGVyTGVhdmUgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsIGUucG9pbnRlclR5cGUpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnKSB7XG4gICAgICAgICAgICBob3ZlclByb3BzLm9uVG91Y2hTdGFydCA9ICgpPT57XG4gICAgICAgICAgICAgICAgc3RhdGUuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlRW50ZXIgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgISQ2MTc5YjkzNjcwNWU3NmQzJHZhciRnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKSB0cmlnZ2VySG92ZXJTdGFydChlLCAnbW91c2UnKTtcbiAgICAgICAgICAgICAgICBzdGF0ZS5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaG92ZXJQcm9wcy5vbk1vdXNlTGVhdmUgPSAoZSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSkgdHJpZ2dlckhvdmVyRW5kKGUsICdtb3VzZScpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG92ZXJQcm9wczogaG92ZXJQcm9wcyxcbiAgICAgICAgICAgIHRyaWdnZXJIb3ZlckVuZDogdHJpZ2dlckhvdmVyRW5kXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvbkhvdmVyU3RhcnQsXG4gICAgICAgIG9uSG92ZXJDaGFuZ2UsXG4gICAgICAgIG9uSG92ZXJFbmQsXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIHN0YXRlLFxuICAgICAgICBhZGRHbG9iYWxMaXN0ZW5lcixcbiAgICAgICAgcmVtb3ZlQWxsR2xvYmFsTGlzdGVuZXJzXG4gICAgXSk7XG4gICAgKDAsICRBV3huVCR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIENhbGwgdGhlIHRyaWdnZXJIb3ZlckVuZCBhcyBzb29uIGFzIGlzRGlzYWJsZWQgY2hhbmdlcyB0byB0cnVlXG4gICAgICAgIC8vIFNhZmUgdG8gY2FsbCB0cmlnZ2VySG92ZXJFbmQsIGl0IHdpbGwgZWFybHkgcmV0dXJuIGlmIHdlIGFyZW4ndCBjdXJyZW50bHkgaG92ZXJpbmdcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHRyaWdnZXJIb3ZlckVuZCh7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBzdGF0ZS50YXJnZXRcbiAgICAgICAgfSwgc3RhdGUucG9pbnRlclR5cGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXG4gICAgICAgIGlzRGlzYWJsZWRcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBob3ZlclByb3BzOiBob3ZlclByb3BzLFxuICAgICAgICBpc0hvdmVyZWQ6IGlzSG92ZXJlZFxuICAgIH07XG59XG5cblxuZXhwb3J0IHskNjE3OWI5MzY3MDVlNzZkMyRleHBvcnQkYWU3ODBkYWYyOWU2ZDQ1NiBhcyB1c2VIb3Zlcn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VIb3Zlci5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/useHover.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/utils.mjs":
 | 
						||
/*!*************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */   createSyntheticEvent: function() { return /* binding */ $8a9cb279dc87e130$export$525bc4921d56d4a; },\n/* harmony export */   ignoreFocusEvent: function() { return /* binding */ $8a9cb279dc87e130$export$fda7da73ab5d4c48; },\n/* harmony export */   preventFocus: function() { return /* binding */ $8a9cb279dc87e130$export$cabe61c495ee3649; },\n/* harmony export */   setEventTarget: function() { return /* binding */ $8a9cb279dc87e130$export$c2b7abe5d61ec696; },\n/* harmony export */   useSyntheticBlurEvent: function() { return /* binding */ $8a9cb279dc87e130$export$715c682d09d639cc; }\n/* harmony export */ });\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useEffectEvent.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isFocusable.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var _react_aria_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @react-aria/utils */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ \n\nfunction $8a9cb279dc87e130$export$525bc4921d56d4a(nativeEvent) {\n    let event = nativeEvent;\n    event.nativeEvent = nativeEvent;\n    event.isDefaultPrevented = ()=>event.defaultPrevented;\n    // cancelBubble is technically deprecated in the spec, but still supported in all browsers.\n    event.isPropagationStopped = ()=>event.cancelBubble;\n    event.persist = ()=>{};\n    return event;\n}\nfunction $8a9cb279dc87e130$export$c2b7abe5d61ec696(event, target) {\n    Object.defineProperty(event, 'target', {\n        value: target\n    });\n    Object.defineProperty(event, 'currentTarget', {\n        value: target\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    (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) {\n                    // For backward compatibility, dispatch a (fake) React synthetic event.\n                    let event = $8a9cb279dc87e130$export$525bc4921d56d4a(e);\n                    dispatchBlur(event);\n                }\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}\nlet $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;\nfunction $8a9cb279dc87e130$export$cabe61c495ee3649(target) {\n    // The browser will focus the nearest focusable ancestor of our target.\n    while(target && !(0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_3__.isFocusable)(target))target = target.parentElement;\n    let window = (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_4__.getOwnerWindow)(target);\n    let activeElement = window.document.activeElement;\n    if (!activeElement || activeElement === target) return;\n    $8a9cb279dc87e130$export$fda7da73ab5d4c48 = true;\n    let isRefocusing = false;\n    let onBlur = (e)=>{\n        if (e.target === activeElement || isRefocusing) e.stopImmediatePropagation();\n    };\n    let onFocusOut = (e)=>{\n        if (e.target === activeElement || isRefocusing) {\n            e.stopImmediatePropagation();\n            // If there was no focusable ancestor, we don't expect a focus event.\n            // Re-focus the original active element here.\n            if (!target && !isRefocusing) {\n                isRefocusing = true;\n                (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_5__.focusWithoutScrolling)(activeElement);\n                cleanup();\n            }\n        }\n    };\n    let onFocus = (e)=>{\n        if (e.target === target || isRefocusing) e.stopImmediatePropagation();\n    };\n    let onFocusIn = (e)=>{\n        if (e.target === target || isRefocusing) {\n            e.stopImmediatePropagation();\n            if (!isRefocusing) {\n                isRefocusing = true;\n                (0, _react_aria_utils__WEBPACK_IMPORTED_MODULE_5__.focusWithoutScrolling)(activeElement);\n                cleanup();\n            }\n        }\n    };\n    window.addEventListener('blur', onBlur, true);\n    window.addEventListener('focusout', onFocusOut, true);\n    window.addEventListener('focusin', onFocusIn, true);\n    window.addEventListener('focus', onFocus, true);\n    let cleanup = ()=>{\n        cancelAnimationFrame(raf);\n        window.removeEventListener('blur', onBlur, true);\n        window.removeEventListener('focusout', onFocusOut, true);\n        window.removeEventListener('focusin', onFocusIn, true);\n        window.removeEventListener('focus', onFocus, true);\n        $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;\n        isRefocusing = false;\n    };\n    let raf = requestAnimationFrame(cleanup);\n    return cleanup;\n}\n\n\n\n//# sourceMappingURL=utils.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3V0aWxzLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUF3UDtBQUN2Szs7QUFFakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsdUJBQXVCLHlDQUFhO0FBQ3BDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxRQUFRLDhEQUFzQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCwyQkFBMkIsNkRBQXFCO0FBQ2hEO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZUFBZSw4Q0FBa0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLDBEQUFrQjtBQUMzQyxxQkFBcUIsNkRBQXFCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isb0VBQTRCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixvRUFBNEI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR3FVO0FBQ3JVIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStpbnRlcmFjdGlvbnNAMy4yNS40X3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9kaXN0L3V0aWxzLm1qcz9mNWYwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0IGFzICQ2ZGZJZSR1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdEV2ZW50IGFzICQ2ZGZJZSR1c2VFZmZlY3RFdmVudCwgaXNGb2N1c2FibGUgYXMgJDZkZkllJGlzRm9jdXNhYmxlLCBnZXRPd25lcldpbmRvdyBhcyAkNmRmSWUkZ2V0T3duZXJXaW5kb3csIGZvY3VzV2l0aG91dFNjcm9sbGluZyBhcyAkNmRmSWUkZm9jdXNXaXRob3V0U2Nyb2xsaW5nfSBmcm9tIFwiQHJlYWN0LWFyaWEvdXRpbHNcIjtcbmltcG9ydCB7dXNlUmVmIGFzICQ2ZGZJZSR1c2VSZWYsIHVzZUNhbGxiYWNrIGFzICQ2ZGZJZSR1c2VDYWxsYmFja30gZnJvbSBcInJlYWN0XCI7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqLyBcblxuZnVuY3Rpb24gJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDUyNWJjNDkyMWQ1NmQ0YShuYXRpdmVFdmVudCkge1xuICAgIGxldCBldmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgIGV2ZW50Lm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkID0gKCk9PmV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQ7XG4gICAgLy8gY2FuY2VsQnViYmxlIGlzIHRlY2huaWNhbGx5IGRlcHJlY2F0ZWQgaW4gdGhlIHNwZWMsIGJ1dCBzdGlsbCBzdXBwb3J0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICAgIGV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkID0gKCk9PmV2ZW50LmNhbmNlbEJ1YmJsZTtcbiAgICBldmVudC5wZXJzaXN0ID0gKCk9Pnt9O1xuICAgIHJldHVybiBldmVudDtcbn1cbmZ1bmN0aW9uICQ4YTljYjI3OWRjODdlMTMwJGV4cG9ydCRjMmI3YWJlNWQ2MWVjNjk2KGV2ZW50LCB0YXJnZXQpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsICd0YXJnZXQnLCB7XG4gICAgICAgIHZhbHVlOiB0YXJnZXRcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsICdjdXJyZW50VGFyZ2V0Jywge1xuICAgICAgICB2YWx1ZTogdGFyZ2V0XG4gICAgfSk7XG59XG5mdW5jdGlvbiAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNzE1YzY4MmQwOWQ2MzljYyhvbkJsdXIpIHtcbiAgICBsZXQgc3RhdGVSZWYgPSAoMCwgJDZkZkllJHVzZVJlZikoe1xuICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICBvYnNlcnZlcjogbnVsbFxuICAgIH0pO1xuICAgIC8vIENsZWFuIHVwIE11dGF0aW9uT2JzZXJ2ZXIgb24gdW5tb3VudC4gU2VlIGJlbG93LlxuICAgICgwLCAkNmRmSWUkdXNlTGF5b3V0RWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHN0YXRlUmVmLmN1cnJlbnQ7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLm9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgIHN0YXRlLm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgbGV0IGRpc3BhdGNoQmx1ciA9ICgwLCAkNmRmSWUkdXNlRWZmZWN0RXZlbnQpKChlKT0+e1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZSk7XG4gICAgfSk7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGEgUmVhY3Qgb25Gb2N1cyBldmVudC5cbiAgICByZXR1cm4gKDAsICQ2ZGZJZSR1c2VDYWxsYmFjaykoKGUpPT57XG4gICAgICAgIC8vIFJlYWN0IGRvZXMgbm90IGZpcmUgb25CbHVyIHdoZW4gYW4gZWxlbWVudCBpcyBkaXNhYmxlZC4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy85MTQyXG4gICAgICAgIC8vIE1vc3QgYnJvd3NlcnMgZmlyZSBhIG5hdGl2ZSBmb2N1c291dCBldmVudCBpbiB0aGlzIGNhc2UsIGV4Y2VwdCBmb3IgRmlyZWZveC4gSW4gdGhhdCBjYXNlLCB3ZSB1c2UgYVxuICAgICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIHRvIHdhdGNoIGZvciB0aGUgZGlzYWJsZWQgYXR0cmlidXRlLCBhbmQgZGlzcGF0Y2ggdGhlc2UgZXZlbnRzIG91cnNlbHZlcy5cbiAgICAgICAgLy8gRm9yIGJyb3dzZXJzIHRoYXQgZG8sIGZvY3Vzb3V0IGZpcmVzIGJlZm9yZSB0aGUgTXV0YXRpb25PYnNlcnZlciwgc28gb25CbHVyIHNob3VsZCBub3QgZmlyZSB0d2ljZS5cbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHwgZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCB8fCBlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50LmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICBsZXQgb25CbHVySGFuZGxlciA9IChlKT0+e1xuICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZGlzcGF0Y2ggYSAoZmFrZSkgUmVhY3Qgc3ludGhldGljIGV2ZW50LlxuICAgICAgICAgICAgICAgICAgICBsZXQgZXZlbnQgPSAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNTI1YmM0OTIxZDU2ZDRhKGUpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaEJsdXIoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBXZSBubyBsb25nZXIgbmVlZCB0aGUgTXV0YXRpb25PYnNlcnZlciBvbmNlIHRoZSB0YXJnZXQgaXMgYmx1cnJlZC5cbiAgICAgICAgICAgICAgICBpZiAoc3RhdGVSZWYuY3VycmVudC5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVSZWYuY3VycmVudC5vYnNlcnZlciA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIG9uQmx1ckhhbmRsZXIsIHtcbiAgICAgICAgICAgICAgICBvbmNlOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZVJlZi5jdXJyZW50LmlzRm9jdXNlZCAmJiB0YXJnZXQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9zdGF0ZVJlZl9jdXJyZW50X29ic2VydmVyO1xuICAgICAgICAgICAgICAgICAgICAoX3N0YXRlUmVmX2N1cnJlbnRfb2JzZXJ2ZXIgPSBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyKSA9PT0gbnVsbCB8fCBfc3RhdGVSZWZfY3VycmVudF9vYnNlcnZlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3N0YXRlUmVmX2N1cnJlbnRfb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVsYXRlZFRhcmdldEVsID0gdGFyZ2V0ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID8gbnVsbCA6IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBGb2N1c0V2ZW50KCdibHVyJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldEVsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEZvY3VzRXZlbnQoJ2ZvY3Vzb3V0Jywge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHJlbGF0ZWRUYXJnZXRFbFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50Lm9ic2VydmVyLm9ic2VydmUodGFyZ2V0LCB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2Rpc2FibGVkJ1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaEJsdXJcbiAgICBdKTtcbn1cbmxldCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkZmRhN2RhNzNhYjVkNGM0OCA9IGZhbHNlO1xuZnVuY3Rpb24gJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JGNhYmU2MWM0OTVlZTM2NDkodGFyZ2V0KSB7XG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCBmb2N1cyB0aGUgbmVhcmVzdCBmb2N1c2FibGUgYW5jZXN0b3Igb2Ygb3VyIHRhcmdldC5cbiAgICB3aGlsZSh0YXJnZXQgJiYgISgwLCAkNmRmSWUkaXNGb2N1c2FibGUpKHRhcmdldCkpdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudEVsZW1lbnQ7XG4gICAgbGV0IHdpbmRvdyA9ICgwLCAkNmRmSWUkZ2V0T3duZXJXaW5kb3cpKHRhcmdldCk7XG4gICAgbGV0IGFjdGl2ZUVsZW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgYWN0aXZlRWxlbWVudCA9PT0gdGFyZ2V0KSByZXR1cm47XG4gICAgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JGZkYTdkYTczYWI1ZDRjNDggPSB0cnVlO1xuICAgIGxldCBpc1JlZm9jdXNpbmcgPSBmYWxzZTtcbiAgICBsZXQgb25CbHVyID0gKGUpPT57XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gYWN0aXZlRWxlbWVudCB8fCBpc1JlZm9jdXNpbmcpIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBsZXQgb25Gb2N1c091dCA9IChlKT0+e1xuICAgICAgICBpZiAoZS50YXJnZXQgPT09IGFjdGl2ZUVsZW1lbnQgfHwgaXNSZWZvY3VzaW5nKSB7XG4gICAgICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgLy8gSWYgdGhlcmUgd2FzIG5vIGZvY3VzYWJsZSBhbmNlc3Rvciwgd2UgZG9uJ3QgZXhwZWN0IGEgZm9jdXMgZXZlbnQuXG4gICAgICAgICAgICAvLyBSZS1mb2N1cyB0aGUgb3JpZ2luYWwgYWN0aXZlIGVsZW1lbnQgaGVyZS5cbiAgICAgICAgICAgIGlmICghdGFyZ2V0ICYmICFpc1JlZm9jdXNpbmcpIHtcbiAgICAgICAgICAgICAgICBpc1JlZm9jdXNpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICgwLCAkNmRmSWUkZm9jdXNXaXRob3V0U2Nyb2xsaW5nKShhY3RpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGxldCBvbkZvY3VzID0gKGUpPT57XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gdGFyZ2V0IHx8IGlzUmVmb2N1c2luZykgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuICAgIGxldCBvbkZvY3VzSW4gPSAoZSk9PntcbiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSB0YXJnZXQgfHwgaXNSZWZvY3VzaW5nKSB7XG4gICAgICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKCFpc1JlZm9jdXNpbmcpIHtcbiAgICAgICAgICAgICAgICBpc1JlZm9jdXNpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICgwLCAkNmRmSWUkZm9jdXNXaXRob3V0U2Nyb2xsaW5nKShhY3RpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgb25CbHVyLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBvbkZvY3VzT3V0LCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIG9uRm9jdXNJbiwgdHJ1ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgb25Gb2N1cywgdHJ1ZSk7XG4gICAgbGV0IGNsZWFudXAgPSAoKT0+e1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIG9uQmx1ciwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIG9uRm9jdXNPdXQsIHRydWUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIG9uRm9jdXNJbiwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIG9uRm9jdXMsIHRydWUpO1xuICAgICAgICAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkZmRhN2RhNzNhYjVkNGM0OCA9IGZhbHNlO1xuICAgICAgICBpc1JlZm9jdXNpbmcgPSBmYWxzZTtcbiAgICB9O1xuICAgIGxldCByYWYgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2xlYW51cCk7XG4gICAgcmV0dXJuIGNsZWFudXA7XG59XG5cblxuZXhwb3J0IHskOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkNTI1YmM0OTIxZDU2ZDRhIGFzIGNyZWF0ZVN5bnRoZXRpY0V2ZW50LCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkYzJiN2FiZTVkNjFlYzY5NiBhcyBzZXRFdmVudFRhcmdldCwgJDhhOWNiMjc5ZGM4N2UxMzAkZXhwb3J0JDcxNWM2ODJkMDlkNjM5Y2MgYXMgdXNlU3ludGhldGljQmx1ckV2ZW50LCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkZmRhN2RhNzNhYjVkNGM0OCBhcyBpZ25vcmVGb2N1c0V2ZW50LCAkOGE5Y2IyNzlkYzg3ZTEzMCRleHBvcnQkY2FiZTYxYzQ5NWVlMzY0OSBhcyBwcmV2ZW50Rm9jdXN9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+interactions@3.25.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/interactions/dist/utils.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+ssr@3.9.10_react@18.3.1/node_modules/@react-aria/ssr/dist/SSRProvider.mjs":
 | 
						||
/*!******************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+ssr@3.9.10_react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 && \"development\" !== 'production') 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    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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYStzc3JAMy45LjEwX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvc3NyL2Rpc3QvU1NSUHJvdmlkZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBZ007O0FBRWhNO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxrQ0FBWTtBQUN2RSw2REFBNkQsa0NBQVk7QUFDekU7QUFDQTtBQUNBLGtCQUFrQiw2Q0FBaUI7QUFDbkM7QUFDQSxnQ0FBZ0MsMkNBQWU7QUFDL0Msb0JBQW9CLDBDQUFjO0FBQ2xDO0FBQ0E7QUFDQSwyRUFBMkUsV0FBVyxHQUFHLFFBQVE7QUFDakc7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsa0RBQXNCO0FBQzlCO0FBQ0EsS0FBSztBQUNMLDZCQUE2QixrQ0FBWTtBQUN6QztBQUNBLEtBQUssb0JBQW9CLGtDQUFZO0FBQ3JDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixrQ0FBWTtBQUMvQixZQUFZLEtBQXdFO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxrQ0FBWSxvQkFBb0Isa0NBQVk7QUFDN0U7QUFDQSw2QkFBNkIsa0NBQVk7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsNkNBQWlCO0FBQ25DLGtCQUFrQix5Q0FBYTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0RixrQ0FBWTtBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDZDQUFpQjtBQUNuQztBQUNBO0FBQ0EsNEZBQTRGLGFBQW9CO0FBQ2hIO0FBQ0EsaUVBQWlFLGFBQW9CLGNBQWMsQ0FBWSxnQkFBZ0IsV0FBVztBQUMxSSwyQkFBMkIsT0FBTyxHQUFHLFFBQVE7QUFDN0M7QUFDQTtBQUNBLGlCQUFpQixrQ0FBWTtBQUM3Qix1QkFBdUIsMkNBQWU7QUFDdEMsMkJBQTJCLGFBQW9CLDBDQUEwQyw0Q0FBNEM7QUFDckksMkJBQTJCLE9BQU8sR0FBRyxHQUFHO0FBQ3hDO0FBQ0EsNkRBQTZELGtDQUFZO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGtDQUFZLHFEQUFxRCxrQ0FBWTtBQUNoRztBQUNBLGVBQWUsNkNBQWlCO0FBQ2hDOzs7QUFHb0w7QUFDcEwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3NzckAzLjkuMTBfcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS9zc3IvZGlzdC9TU1JQcm92aWRlci5tanM/OTgwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJDY3MGdCJHJlYWN0LCB7dXNlQ29udGV4dCBhcyAkNjcwZ0IkdXNlQ29udGV4dCwgdXNlU3RhdGUgYXMgJDY3MGdCJHVzZVN0YXRlLCB1c2VNZW1vIGFzICQ2NzBnQiR1c2VNZW1vLCB1c2VMYXlvdXRFZmZlY3QgYXMgJDY3MGdCJHVzZUxheW91dEVmZmVjdCwgdXNlUmVmIGFzICQ2NzBnQiR1c2VSZWZ9IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gLy8gV2UgbXVzdCBhdm9pZCBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgd2l0aCBAcmVhY3QtYXJpYS91dGlscywgYW5kIHRoaXMgdXNlTGF5b3V0RWZmZWN0IGlzXG4vLyBndWFyZGVkIGJ5IGEgY2hlY2sgdGhhdCBpdCBvbmx5IHJ1bnMgb24gdGhlIGNsaWVudCBzaWRlLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ1bGVzZGlyL3VzZUxheW91dEVmZmVjdFJ1bGVcblxuLy8gRGVmYXVsdCBjb250ZXh0IHZhbHVlIHRvIHVzZSBpbiBjYXNlIHRoZXJlIGlzIG5vIFNTUlByb3ZpZGVyLiBUaGlzIGlzIGZpbmUgZm9yXG4vLyBjbGllbnQtb25seSBhcHBzLiBJbiBvcmRlciB0byBzdXBwb3J0IG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBBcmlhIHBvdGVudGlhbGx5XG4vLyBiZWluZyBvbiB0aGUgcGFnZSBhdCBvbmNlLCB0aGUgcHJlZml4IGlzIHNldCB0byBhIHJhbmRvbSBudW1iZXIuIFNTUlByb3ZpZGVyXG4vLyB3aWxsIHJlc2V0IHRoaXMgdG8gemVybyBmb3IgY29uc2lzdGVuY3kgYmV0d2VlbiBzZXJ2ZXIgYW5kIGNsaWVudCwgc28gaW4gdGhlXG4vLyBTU1IgY2FzZSBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgQXJpYSBpcyBub3Qgc3VwcG9ydGVkLlxuY29uc3QgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ID0ge1xuICAgIHByZWZpeDogU3RyaW5nKE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwKSksXG4gICAgY3VycmVudDogMFxufTtcbmNvbnN0ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRTU1JDb250ZXh0ID0gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVDb250ZXh0KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCk7XG5jb25zdCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkSXNTU1JDb250ZXh0ID0gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVDb250ZXh0KGZhbHNlKTtcbi8vIFRoaXMgaXMgb25seSB1c2VkIGluIFJlYWN0IDwgMTguXG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkTGVnYWN5U1NSUHJvdmlkZXIocHJvcHMpIHtcbiAgICBsZXQgY3VyID0gKDAsICQ2NzBnQiR1c2VDb250ZXh0KSgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCk7XG4gICAgbGV0IGNvdW50ZXIgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcihjdXIgPT09ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCk7XG4gICAgbGV0IFtpc1NTUiwgc2V0SXNTU1JdID0gKDAsICQ2NzBnQiR1c2VTdGF0ZSkodHJ1ZSk7XG4gICAgbGV0IHZhbHVlID0gKDAsICQ2NzBnQiR1c2VNZW1vKSgoKT0+KHtcbiAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IFNTUlByb3ZpZGVyLCBzdGFydCB3aXRoIGFuIGVtcHR5IHN0cmluZyBwcmVmaXgsIG90aGVyd2lzZVxuICAgICAgICAgICAgLy8gYXBwZW5kIGFuZCBpbmNyZW1lbnQgdGhlIGNvdW50ZXIuXG4gICAgICAgICAgICBwcmVmaXg6IGN1ciA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ID8gJycgOiBgJHtjdXIucHJlZml4fS0ke2NvdW50ZXJ9YCxcbiAgICAgICAgICAgIGN1cnJlbnQ6IDBcbiAgICAgICAgfSksIFtcbiAgICAgICAgY3VyLFxuICAgICAgICBjb3VudGVyXG4gICAgXSk7XG4gICAgLy8gSWYgb24gdGhlIGNsaWVudCwgYW5kIHRoZSBjb21wb25lbnQgd2FzIGluaXRpYWxseSBzZXJ2ZXIgcmVuZGVyZWQsXG4gICAgLy8gdGhlbiBzY2hlZHVsZSBhIGxheW91dCBlZmZlY3QgdG8gdXBkYXRlIHRoZSBjb21wb25lbnQgYWZ0ZXIgaHlkcmF0aW9uLlxuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSAvLyBUaGlzIGlmIHN0YXRlbWVudCB0ZWNobmljYWxseSBicmVha3MgdGhlIHJ1bGVzIG9mIGhvb2tzLCBidXQgaXMgc2FmZVxuICAgIC8vIGJlY2F1c2UgdGhlIGNvbmRpdGlvbiBuZXZlciBjaGFuZ2VzIGFmdGVyIG1vdW50aW5nLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICgwLCAkNjcwZ0IkdXNlTGF5b3V0RWZmZWN0KSgoKT0+e1xuICAgICAgICBzZXRJc1NTUihmYWxzZSk7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCAkNjcwZ0IkcmVhY3QpLmNyZWF0ZUVsZW1lbnQoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJFNTUkNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgfSwgLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRJc1NTUkNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgdmFsdWU6IGlzU1NSXG4gICAgfSwgcHJvcHMuY2hpbGRyZW4pKTtcbn1cbmxldCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkd2FybmVkQWJvdXRTU1JQcm92aWRlciA9IGZhbHNlO1xuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDlmOGFjOTZhZjRiMWIyYWUocHJvcHMpIHtcbiAgICBpZiAodHlwZW9mICgwLCAkNjcwZ0IkcmVhY3QpWyd1c2VJZCddID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Rlc3QnICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgISRiNWUyNTdkNTY5Njg4YWM2JHZhciR3YXJuZWRBYm91dFNTUlByb3ZpZGVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0luIFJlYWN0IDE4LCBTU1JQcm92aWRlciBpcyBub3QgbmVjZXNzYXJ5IGFuZCBpcyBhIG5vb3AuIFlvdSBjYW4gcmVtb3ZlIGl0IGZyb20geW91ciBhcHAuJyk7XG4gICAgICAgICAgICAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkd2FybmVkQWJvdXRTU1JQcm92aWRlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsICQ2NzBnQiRyZWFjdCkuY3JlYXRlRWxlbWVudCgoMCwgJDY3MGdCJHJlYWN0KS5GcmFnbWVudCwgbnVsbCwgcHJvcHMuY2hpbGRyZW4pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgJDY3MGdCJHJlYWN0KS5jcmVhdGVFbGVtZW50KCRiNWUyNTdkNTY5Njg4YWM2JHZhciRMZWdhY3lTU1JQcm92aWRlciwgcHJvcHMpO1xufVxubGV0ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRjYW5Vc2VET00gPSBCb29sZWFuKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5sZXQgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcyA9IG5ldyBXZWFrTWFwKCk7XG5mdW5jdGlvbiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcihpc0Rpc2FibGVkID0gZmFsc2UpIHtcbiAgICBsZXQgY3R4ID0gKDAsICQ2NzBnQiR1c2VDb250ZXh0KSgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCk7XG4gICAgbGV0IHJlZiA9ICgwLCAkNjcwZ0IkdXNlUmVmKShudWxsKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnVsZXNkaXIvcHVyZS1yZW5kZXJcbiAgICBpZiAocmVmLmN1cnJlbnQgPT09IG51bGwgJiYgIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgdmFyIF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRF9SZWFjdEN1cnJlbnRPd25lciwgX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuICAgICAgICAvLyBJbiBzdHJpY3QgbW9kZSwgUmVhY3QgcmVuZGVycyBjb21wb25lbnRzIHR3aWNlLCBhbmQgdGhlIHJlZiB3aWxsIGJlIHJlc2V0IHRvIG51bGwgb24gdGhlIHNlY29uZCByZW5kZXIuXG4gICAgICAgIC8vIFRoaXMgbWVhbnMgb3VyIGlkIGNvdW50ZXIgd2lsbCBiZSBpbmNyZW1lbnRlZCB0d2ljZSBpbnN0ZWFkIG9mIG9uY2UuIFRoaXMgaXMgYSBwcm9ibGVtIGJlY2F1c2Ugb24gdGhlXG4gICAgICAgIC8vIHNlcnZlciwgY29tcG9uZW50cyBhcmUgb25seSByZW5kZXJlZCBvbmNlIGFuZCBzbyBpZHMgZ2VuZXJhdGVkIG9uIHRoZSBzZXJ2ZXIgd29uJ3QgbWF0Y2ggdGhlIGNsaWVudC5cbiAgICAgICAgLy8gSW4gUmVhY3QgMTgsIHVzZUlkIHdhcyBpbnRyb2R1Y2VkIHRvIHNvbHZlIHRoaXMsIGJ1dCBpdCBpcyBub3QgYXZhaWxhYmxlIGluIG9sZGVyIHZlcnNpb25zLiBTbyB0byBzb2x2ZSB0aGlzXG4gICAgICAgIC8vIHdlIG5lZWQgdG8gdXNlIHNvbWUgUmVhY3QgaW50ZXJuYWxzIHRvIGFjY2VzcyB0aGUgdW5kZXJseWluZyBGaWJlciBpbnN0YW5jZSwgd2hpY2ggaXMgc3RhYmxlIGJldHdlZW4gcmVuZGVycy5cbiAgICAgICAgLy8gVGhpcyBpcyBleHBvc2VkIGFzIFJlYWN0Q3VycmVudE93bmVyIGluIGRldmVsb3BtZW50LCB3aGljaCBpcyBhbGwgd2UgbmVlZCBzaW5jZSBTdHJpY3RNb2RlIG9ubHkgcnVucyBpbiBkZXZlbG9wbWVudC5cbiAgICAgICAgLy8gVG8gZW5zdXJlIHRoYXQgd2Ugb25seSBpbmNyZW1lbnQgdGhlIGdsb2JhbCBjb3VudGVyIG9uY2UsIHdlIHN0b3JlIHRoZSBzdGFydGluZyBpZCBmb3IgdGhpcyBjb21wb25lbnQgaW5cbiAgICAgICAgLy8gYSB3ZWFrIG1hcCBhc3NvY2lhdGVkIHdpdGggdGhlIEZpYmVyLiBPbiB0aGUgc2Vjb25kIHJlbmRlciwgd2UgcmVzZXQgdGhlIGdsb2JhbCBjb3VudGVyIHRvIHRoaXMgdmFsdWUuXG4gICAgICAgIC8vIFNpbmNlIFJlYWN0IHJ1bnMgdGhlIHNlY29uZCByZW5kZXIgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGZpcnN0LCB0aGlzIGlzIHNhZmUuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgbGV0IGN1cnJlbnRPd25lciA9IChfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSAoMCwgJDY3MGdCJHJlYWN0KS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCkgPT09IG51bGwgfHwgX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEID09PSB2b2lkIDAgPyB2b2lkIDAgOiAoX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEX1JlYWN0Q3VycmVudE93bmVyID0gX1JlYWN0X19fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELlJlYWN0Q3VycmVudE93bmVyKSA9PT0gbnVsbCB8fCBfUmVhY3RfX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURfUmVhY3RDdXJyZW50T3duZXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9SZWFjdF9fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRF9SZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuICAgICAgICBpZiAoY3VycmVudE93bmVyKSB7XG4gICAgICAgICAgICBsZXQgcHJldkNvbXBvbmVudFZhbHVlID0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcy5nZXQoY3VycmVudE93bmVyKTtcbiAgICAgICAgICAgIGlmIChwcmV2Q29tcG9uZW50VmFsdWUgPT0gbnVsbCkgLy8gT24gdGhlIGZpcnN0IHJlbmRlciwgYW5kIGZpcnN0IGNhbGwgdG8gdXNlSWQsIHN0b3JlIHRoZSBpZCBhbmQgc3RhdGUgaW4gb3VyIHdlYWsgbWFwLlxuICAgICAgICAgICAgJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNvbXBvbmVudElkcy5zZXQoY3VycmVudE93bmVyLCB7XG4gICAgICAgICAgICAgICAgaWQ6IGN0eC5jdXJyZW50LFxuICAgICAgICAgICAgICAgIHN0YXRlOiBjdXJyZW50T3duZXIubWVtb2l6ZWRTdGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbHNlIGlmIChjdXJyZW50T3duZXIubWVtb2l6ZWRTdGF0ZSAhPT0gcHJldkNvbXBvbmVudFZhbHVlLnN0YXRlKSB7XG4gICAgICAgICAgICAgICAgLy8gT24gdGhlIHNlY29uZCByZW5kZXIsIHRoZSBtZW1vaXplZFN0YXRlIGdldHMgcmVzZXQgYnkgUmVhY3QuXG4gICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGNvdW50ZXIsIGFuZCByZW1vdmUgZnJvbSB0aGUgd2VhayBtYXAgc28gd2UgZG9uJ3RcbiAgICAgICAgICAgICAgICAvLyBkbyB0aGlzIGZvciBzdWJzZXF1ZW50IHVzZUlkIGNhbGxzLlxuICAgICAgICAgICAgICAgIGN0eC5jdXJyZW50ID0gcHJldkNvbXBvbmVudFZhbHVlLmlkO1xuICAgICAgICAgICAgICAgICRiNWUyNTdkNTY5Njg4YWM2JHZhciRjb21wb25lbnRJZHMuZGVsZXRlKGN1cnJlbnRPd25lcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ1bGVzZGlyL3B1cmUtcmVuZGVyXG4gICAgICAgIHJlZi5jdXJyZW50ID0gKytjdHguY3VycmVudDtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ1bGVzZGlyL3B1cmUtcmVuZGVyXG4gICAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJHVzZUxlZ2FjeVNTUlNhZmVJZChkZWZhdWx0SWQpIHtcbiAgICBsZXQgY3R4ID0gKDAsICQ2NzBnQiR1c2VDb250ZXh0KSgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkU1NSQ29udGV4dCk7XG4gICAgLy8gSWYgd2UgYXJlIHJlbmRlcmluZyBpbiBhIG5vbi1ET00gZW52aXJvbm1lbnQsIGFuZCB0aGVyZSdzIG5vIFNTUlByb3ZpZGVyLFxuICAgIC8vIHByb3ZpZGUgYSB3YXJuaW5nIHRvIGhpbnQgdG8gdGhlIGRldmVsb3BlciB0byBhZGQgb25lLlxuICAgIGlmIChjdHggPT09ICRiNWUyNTdkNTY5Njg4YWM2JHZhciRkZWZhdWx0Q29udGV4dCAmJiAhJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGNhblVzZURPTSAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSBjb25zb2xlLndhcm4oJ1doZW4gc2VydmVyIHJlbmRlcmluZywgeW91IG11c3Qgd3JhcCB5b3VyIGFwcGxpY2F0aW9uIGluIGFuIDxTU1JQcm92aWRlcj4gdG8gZW5zdXJlIGNvbnNpc3RlbnQgaWRzIGFyZSBnZW5lcmF0ZWQgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIuJyk7XG4gICAgbGV0IGNvdW50ZXIgPSAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlQ291bnRlcighIWRlZmF1bHRJZCk7XG4gICAgbGV0IHByZWZpeCA9IGN0eCA9PT0gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0ICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgPyAncmVhY3QtYXJpYScgOiBgcmVhY3QtYXJpYSR7Y3R4LnByZWZpeH1gO1xuICAgIHJldHVybiBkZWZhdWx0SWQgfHwgYCR7cHJlZml4fS0ke2NvdW50ZXJ9YDtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VNb2Rlcm5TU1JTYWZlSWQoZGVmYXVsdElkKSB7XG4gICAgbGV0IGlkID0gKDAsICQ2NzBnQiRyZWFjdCkudXNlSWQoKTtcbiAgICBsZXQgW2RpZFNTUl0gPSAoMCwgJDY3MGdCJHVzZVN0YXRlKSgkYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkNTM1YmQ2Y2E3ZjkwYTI3MygpKTtcbiAgICBsZXQgcHJlZml4ID0gZGlkU1NSIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgPyAncmVhY3QtYXJpYScgOiBgcmVhY3QtYXJpYSR7JGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGRlZmF1bHRDb250ZXh0LnByZWZpeH1gO1xuICAgIHJldHVybiBkZWZhdWx0SWQgfHwgYCR7cHJlZml4fS0ke2lkfWA7XG59XG5jb25zdCAkYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkNjE5NTAwOTU5ZmM0OGIyNiA9IHR5cGVvZiAoMCwgJDY3MGdCJHJlYWN0KVsndXNlSWQnXSA9PT0gJ2Z1bmN0aW9uJyA/ICRiNWUyNTdkNTY5Njg4YWM2JHZhciR1c2VNb2Rlcm5TU1JTYWZlSWQgOiAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkdXNlTGVnYWN5U1NSU2FmZUlkO1xuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJGdldFNuYXBzaG90KCkge1xuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciRnZXRTZXJ2ZXJTbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmZ1bmN0aW9uICRiNWUyNTdkNTY5Njg4YWM2JHZhciRzdWJzY3JpYmUob25TdG9yZUNoYW5nZSkge1xuICAgIC8vIG5vb3BcbiAgICByZXR1cm4gKCk9Pnt9O1xufVxuZnVuY3Rpb24gJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDUzNWJkNmNhN2Y5MGEyNzMoKSB7XG4gICAgLy8gSW4gUmVhY3QgMTgsIHdlIGNhbiB1c2UgdXNlU3luY0V4dGVybmFsU3RvcmUgdG8gZGV0ZWN0IGlmIHdlJ3JlIHNlcnZlciByZW5kZXJpbmcgb3IgaHlkcmF0aW5nLlxuICAgIGlmICh0eXBlb2YgKDAsICQ2NzBnQiRyZWFjdClbJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJ10gPT09ICdmdW5jdGlvbicpIHJldHVybiAoMCwgJDY3MGdCJHJlYWN0KVsndXNlU3luY0V4dGVybmFsU3RvcmUnXSgkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkc3Vic2NyaWJlLCAkYjVlMjU3ZDU2OTY4OGFjNiR2YXIkZ2V0U25hcHNob3QsICRiNWUyNTdkNTY5Njg4YWM2JHZhciRnZXRTZXJ2ZXJTbmFwc2hvdCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgcmV0dXJuICgwLCAkNjcwZ0IkdXNlQ29udGV4dCkoJGI1ZTI1N2Q1Njk2ODhhYzYkdmFyJElzU1NSQ29udGV4dCk7XG59XG5cblxuZXhwb3J0IHskYjVlMjU3ZDU2OTY4OGFjNiRleHBvcnQkOWY4YWM5NmFmNGIxYjJhZSBhcyBTU1JQcm92aWRlciwgJGI1ZTI1N2Q1Njk2ODhhYzYkZXhwb3J0JDUzNWJkNmNhN2Y5MGEyNzMgYXMgdXNlSXNTU1IsICRiNWUyNTdkNTY5Njg4YWM2JGV4cG9ydCQ2MTk1MDA5NTlmYzQ4YjI2IGFzIHVzZVNTUlNhZmVJZH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1TU1JQcm92aWRlci5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+ssr@3.9.10_react@18.3.1/node_modules/@react-aria/ssr/dist/SSRProvider.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/DOMFunctions.mjs":
 | 
						||
/*!******************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/DOMFunctions.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 */   getActiveElement: function() { return /* binding */ $d4ee10de306f2510$export$cd4e5573fbe2b576; },\n/* harmony export */   getEventTarget: function() { return /* binding */ $d4ee10de306f2510$export$e58f029f0fbfdb29; },\n/* harmony export */   nodeContains: function() { return /* binding */ $d4ee10de306f2510$export$4282f70798064fe0; }\n/* harmony export */ });\n/* harmony import */ var _domHelpers_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./domHelpers.mjs */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n/* harmony import */ var _react_stately_flags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @react-stately/flags */ \"(app-pages-browser)/./node_modules/.pnpm/@react-stately+flags@3.1.2/node_modules/@react-stately/flags/dist/import.mjs\");\n\n\n\n// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n\n\nfunction $d4ee10de306f2510$export$4282f70798064fe0(node, otherNode) {\n    if (!(0, _react_stately_flags__WEBPACK_IMPORTED_MODULE_0__.shadowDOM)()) return otherNode && node ? node.contains(otherNode) : false;\n    if (!node || !otherNode) return false;\n    let currentNode = otherNode;\n    while(currentNode !== null){\n        if (currentNode === node) return true;\n        if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted\n        currentNode = currentNode.assignedSlot.parentNode;\n        else if ((0, _domHelpers_mjs__WEBPACK_IMPORTED_MODULE_1__.isShadowRoot)(currentNode)) // Element is in shadow root\n        currentNode = currentNode.host;\n        else currentNode = currentNode.parentNode;\n    }\n    return false;\n}\nconst $d4ee10de306f2510$export$cd4e5573fbe2b576 = (doc = document)=>{\n    var _activeElement_shadowRoot;\n    if (!(0, _react_stately_flags__WEBPACK_IMPORTED_MODULE_0__.shadowDOM)()) return doc.activeElement;\n    let activeElement = doc.activeElement;\n    while(activeElement && 'shadowRoot' in activeElement && ((_activeElement_shadowRoot = activeElement.shadowRoot) === null || _activeElement_shadowRoot === void 0 ? void 0 : _activeElement_shadowRoot.activeElement))activeElement = activeElement.shadowRoot.activeElement;\n    return activeElement;\n};\nfunction $d4ee10de306f2510$export$e58f029f0fbfdb29(event) {\n    if ((0, _react_stately_flags__WEBPACK_IMPORTED_MODULE_0__.shadowDOM)() && event.target.shadowRoot) {\n        if (event.composedPath) return event.composedPath()[0];\n    }\n    return event.target;\n}\n\n\n\n//# sourceMappingURL=DOMFunctions.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9ET01GdW5jdGlvbnMubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTJGO0FBQ3hCOztBQUVuRTs7O0FBR0E7QUFDQSxhQUFhLDJEQUFnQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIseURBQXlDO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwyREFBZ0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksMkRBQWdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0w7QUFDL0wiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3V0aWxzQDMuMzAuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L0RPTUZ1bmN0aW9ucy5tanM/YjIwNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzU2hhZG93Um9vdCBhcyAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYWY1MWYwZjA2YzBmMzI4YX0gZnJvbSBcIi4vZG9tSGVscGVycy5tanNcIjtcbmltcG9ydCB7c2hhZG93RE9NIGFzICRsY1N1NSRzaGFkb3dET019IGZyb20gXCJAcmVhY3Qtc3RhdGVseS9mbGFnc1wiO1xuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdGFic3Rlci9ibG9iL2E4OWZjNWQ3ZTMzMmQ0OGY2OGQwM2IxY2E2ZTM0NDQ4OWQxYzM4OTgvc3JjL1NoYWRvd2RvbWl6ZS9ET01GdW5jdGlvbnMudHMjTDE2XG5cblxuZnVuY3Rpb24gJGQ0ZWUxMGRlMzA2ZjI1MTAkZXhwb3J0JDQyODJmNzA3OTgwNjRmZTAobm9kZSwgb3RoZXJOb2RlKSB7XG4gICAgaWYgKCEoMCwgJGxjU3U1JHNoYWRvd0RPTSkoKSkgcmV0dXJuIG90aGVyTm9kZSAmJiBub2RlID8gbm9kZS5jb250YWlucyhvdGhlck5vZGUpIDogZmFsc2U7XG4gICAgaWYgKCFub2RlIHx8ICFvdGhlck5vZGUpIHJldHVybiBmYWxzZTtcbiAgICBsZXQgY3VycmVudE5vZGUgPSBvdGhlck5vZGU7XG4gICAgd2hpbGUoY3VycmVudE5vZGUgIT09IG51bGwpe1xuICAgICAgICBpZiAoY3VycmVudE5vZGUgPT09IG5vZGUpIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoY3VycmVudE5vZGUudGFnTmFtZSA9PT0gJ1NMT1QnICYmIGN1cnJlbnROb2RlLmFzc2lnbmVkU2xvdCkgLy8gRWxlbWVudCBpcyBzbG90dGVkXG4gICAgICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUuYXNzaWduZWRTbG90LnBhcmVudE5vZGU7XG4gICAgICAgIGVsc2UgaWYgKCgwLCAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYWY1MWYwZjA2YzBmMzI4YSkoY3VycmVudE5vZGUpKSAvLyBFbGVtZW50IGlzIGluIHNoYWRvdyByb290XG4gICAgICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUuaG9zdDtcbiAgICAgICAgZWxzZSBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnBhcmVudE5vZGU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmNvbnN0ICRkNGVlMTBkZTMwNmYyNTEwJGV4cG9ydCRjZDRlNTU3M2ZiZTJiNTc2ID0gKGRvYyA9IGRvY3VtZW50KT0+e1xuICAgIHZhciBfYWN0aXZlRWxlbWVudF9zaGFkb3dSb290O1xuICAgIGlmICghKDAsICRsY1N1NSRzaGFkb3dET00pKCkpIHJldHVybiBkb2MuYWN0aXZlRWxlbWVudDtcbiAgICBsZXQgYWN0aXZlRWxlbWVudCA9IGRvYy5hY3RpdmVFbGVtZW50O1xuICAgIHdoaWxlKGFjdGl2ZUVsZW1lbnQgJiYgJ3NoYWRvd1Jvb3QnIGluIGFjdGl2ZUVsZW1lbnQgJiYgKChfYWN0aXZlRWxlbWVudF9zaGFkb3dSb290ID0gYWN0aXZlRWxlbWVudC5zaGFkb3dSb290KSA9PT0gbnVsbCB8fCBfYWN0aXZlRWxlbWVudF9zaGFkb3dSb290ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYWN0aXZlRWxlbWVudF9zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQpKWFjdGl2ZUVsZW1lbnQgPSBhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDtcbiAgICByZXR1cm4gYWN0aXZlRWxlbWVudDtcbn07XG5mdW5jdGlvbiAkZDRlZTEwZGUzMDZmMjUxMCRleHBvcnQkZTU4ZjAyOWYwZmJmZGIyOShldmVudCkge1xuICAgIGlmICgoMCwgJGxjU3U1JHNoYWRvd0RPTSkoKSAmJiBldmVudC50YXJnZXQuc2hhZG93Um9vdCkge1xuICAgICAgICBpZiAoZXZlbnQuY29tcG9zZWRQYXRoKSByZXR1cm4gZXZlbnQuY29tcG9zZWRQYXRoKClbMF07XG4gICAgfVxuICAgIHJldHVybiBldmVudC50YXJnZXQ7XG59XG5cblxuZXhwb3J0IHskZDRlZTEwZGUzMDZmMjUxMCRleHBvcnQkNDI4MmY3MDc5ODA2NGZlMCBhcyBub2RlQ29udGFpbnMsICRkNGVlMTBkZTMwNmYyNTEwJGV4cG9ydCRjZDRlNTU3M2ZiZTJiNTc2IGFzIGdldEFjdGl2ZUVsZW1lbnQsICRkNGVlMTBkZTMwNmYyNTEwJGV4cG9ydCRlNThmMDI5ZjBmYmZkYjI5IGFzIGdldEV2ZW50VGFyZ2V0fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURPTUZ1bmN0aW9ucy5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/DOMFunctions.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs":
 | 
						||
/*!****************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */   isShadowRoot: function() { return /* binding */ $431fbd86ca7dc216$export$af51f0f06c0f328a; }\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 * Type guard that checks if a value is a Node. Verifies the presence and type of the nodeType property.\n */ function $431fbd86ca7dc216$var$isNode(value) {\n    return value !== null && typeof value === 'object' && 'nodeType' in value && typeof value.nodeType === 'number';\n}\nfunction $431fbd86ca7dc216$export$af51f0f06c0f328a(node) {\n    return $431fbd86ca7dc216$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && 'host' in node;\n}\n\n\n\n//# sourceMappingURL=domHelpers.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9kb21IZWxwZXJzLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHK0w7QUFDL0wiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3V0aWxzQDMuMzAuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2RvbUhlbHBlcnMubWpzP2M5NTgiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgJDQzMWZiZDg2Y2E3ZGMyMTYkZXhwb3J0JGIyMDRhZjE1ODA0MmZiYWMgPSAoZWwpPT57XG4gICAgdmFyIF9lbF9vd25lckRvY3VtZW50O1xuICAgIHJldHVybiAoX2VsX293bmVyRG9jdW1lbnQgPSBlbCA9PT0gbnVsbCB8fCBlbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZWwub3duZXJEb2N1bWVudCkgIT09IG51bGwgJiYgX2VsX293bmVyRG9jdW1lbnQgIT09IHZvaWQgMCA/IF9lbF9vd25lckRvY3VtZW50IDogZG9jdW1lbnQ7XG59O1xuY29uc3QgJDQzMWZiZDg2Y2E3ZGMyMTYkZXhwb3J0JGYyMWExZmZhZTI2MDE0NWEgPSAoZWwpPT57XG4gICAgaWYgKGVsICYmICd3aW5kb3cnIGluIGVsICYmIGVsLndpbmRvdyA9PT0gZWwpIHJldHVybiBlbDtcbiAgICBjb25zdCBkb2MgPSAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYjIwNGFmMTU4MDQyZmJhYyhlbCk7XG4gICAgcmV0dXJuIGRvYy5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG59O1xuLyoqXG4gKiBUeXBlIGd1YXJkIHRoYXQgY2hlY2tzIGlmIGEgdmFsdWUgaXMgYSBOb2RlLiBWZXJpZmllcyB0aGUgcHJlc2VuY2UgYW5kIHR5cGUgb2YgdGhlIG5vZGVUeXBlIHByb3BlcnR5LlxuICovIGZ1bmN0aW9uICQ0MzFmYmQ4NmNhN2RjMjE2JHZhciRpc05vZGUodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnbm9kZVR5cGUnIGluIHZhbHVlICYmIHR5cGVvZiB2YWx1ZS5ub2RlVHlwZSA9PT0gJ251bWJlcic7XG59XG5mdW5jdGlvbiAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkYWY1MWYwZjA2YzBmMzI4YShub2RlKSB7XG4gICAgcmV0dXJuICQ0MzFmYmQ4NmNhN2RjMjE2JHZhciRpc05vZGUobm9kZSkgJiYgbm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFICYmICdob3N0JyBpbiBub2RlO1xufVxuXG5cbmV4cG9ydCB7JDQzMWZiZDg2Y2E3ZGMyMTYkZXhwb3J0JGIyMDRhZjE1ODA0MmZiYWMgYXMgZ2V0T3duZXJEb2N1bWVudCwgJDQzMWZiZDg2Y2E3ZGMyMTYkZXhwb3J0JGYyMWExZmZhZTI2MDE0NWEgYXMgZ2V0T3duZXJXaW5kb3csICQ0MzFmYmQ4NmNhN2RjMjE2JGV4cG9ydCRhZjUxZjBmMDZjMGYzMjhhIGFzIGlzU2hhZG93Um9vdH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kb21IZWxwZXJzLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs":
 | 
						||
/*!***************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/focusWithoutScrolling.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 */   focusWithoutScrolling: function() { return /* binding */ $7215afc6de606d6b$export$de79e2c695e052f3; }\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 $7215afc6de606d6b$export$de79e2c695e052f3(element) {\n    if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({\n        preventScroll: true\n    });\n    else {\n        let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);\n        element.focus();\n        $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);\n    }\n}\nlet $7215afc6de606d6b$var$supportsPreventScrollCached = null;\nfunction $7215afc6de606d6b$var$supportsPreventScroll() {\n    if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {\n        $7215afc6de606d6b$var$supportsPreventScrollCached = false;\n        try {\n            let focusElem = document.createElement('div');\n            focusElem.focus({\n                get preventScroll () {\n                    $7215afc6de606d6b$var$supportsPreventScrollCached = true;\n                    return true;\n                }\n            });\n        } catch  {\n        // Ignore\n        }\n    }\n    return $7215afc6de606d6b$var$supportsPreventScrollCached;\n}\nfunction $7215afc6de606d6b$var$getScrollableElements(element) {\n    let parent = element.parentNode;\n    let scrollableElements = [];\n    let rootScrollingElement = document.scrollingElement || document.documentElement;\n    while(parent instanceof HTMLElement && parent !== rootScrollingElement){\n        if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({\n            element: parent,\n            scrollTop: parent.scrollTop,\n            scrollLeft: parent.scrollLeft\n        });\n        parent = parent.parentNode;\n    }\n    if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({\n        element: rootScrollingElement,\n        scrollTop: rootScrollingElement.scrollTop,\n        scrollLeft: rootScrollingElement.scrollLeft\n    });\n    return scrollableElements;\n}\nfunction $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {\n    for (let { element: element, scrollTop: scrollTop, scrollLeft: scrollLeft } of scrollableElements){\n        element.scrollTop = scrollTop;\n        element.scrollLeft = scrollLeft;\n    }\n}\n\n\n\n//# sourceMappingURL=focusWithoutScrolling.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9mb2N1c1dpdGhvdXRTY3JvbGxpbmcubWpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlFQUFpRTtBQUNoRjtBQUNBO0FBQ0E7QUFDQTs7O0FBRzRFO0FBQzVFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9mb2N1c1dpdGhvdXRTY3JvbGxpbmcubWpzPzMwYTkiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIGZ1bmN0aW9uICQ3MjE1YWZjNmRlNjA2ZDZiJGV4cG9ydCRkZTc5ZTJjNjk1ZTA1MmYzKGVsZW1lbnQpIHtcbiAgICBpZiAoJDcyMTVhZmM2ZGU2MDZkNmIkdmFyJHN1cHBvcnRzUHJldmVudFNjcm9sbCgpKSBlbGVtZW50LmZvY3VzKHtcbiAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZVxuICAgIH0pO1xuICAgIGVsc2Uge1xuICAgICAgICBsZXQgc2Nyb2xsYWJsZUVsZW1lbnRzID0gJDcyMTVhZmM2ZGU2MDZkNmIkdmFyJGdldFNjcm9sbGFibGVFbGVtZW50cyhlbGVtZW50KTtcbiAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICAkNzIxNWFmYzZkZTYwNmQ2YiR2YXIkcmVzdG9yZVNjcm9sbFBvc2l0aW9uKHNjcm9sbGFibGVFbGVtZW50cyk7XG4gICAgfVxufVxubGV0ICQ3MjE1YWZjNmRlNjA2ZDZiJHZhciRzdXBwb3J0c1ByZXZlbnRTY3JvbGxDYWNoZWQgPSBudWxsO1xuZnVuY3Rpb24gJDcyMTVhZmM2ZGU2MDZkNmIkdmFyJHN1cHBvcnRzUHJldmVudFNjcm9sbCgpIHtcbiAgICBpZiAoJDcyMTVhZmM2ZGU2MDZkNmIkdmFyJHN1cHBvcnRzUHJldmVudFNjcm9sbENhY2hlZCA9PSBudWxsKSB7XG4gICAgICAgICQ3MjE1YWZjNmRlNjA2ZDZiJHZhciRzdXBwb3J0c1ByZXZlbnRTY3JvbGxDYWNoZWQgPSBmYWxzZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCBmb2N1c0VsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGZvY3VzRWxlbS5mb2N1cyh7XG4gICAgICAgICAgICAgICAgZ2V0IHByZXZlbnRTY3JvbGwgKCkge1xuICAgICAgICAgICAgICAgICAgICAkNzIxNWFmYzZkZTYwNmQ2YiR2YXIkc3VwcG9ydHNQcmV2ZW50U2Nyb2xsQ2FjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggIHtcbiAgICAgICAgLy8gSWdub3JlXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICQ3MjE1YWZjNmRlNjA2ZDZiJHZhciRzdXBwb3J0c1ByZXZlbnRTY3JvbGxDYWNoZWQ7XG59XG5mdW5jdGlvbiAkNzIxNWFmYzZkZTYwNmQ2YiR2YXIkZ2V0U2Nyb2xsYWJsZUVsZW1lbnRzKGVsZW1lbnQpIHtcbiAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuICAgIGxldCBzY3JvbGxhYmxlRWxlbWVudHMgPSBbXTtcbiAgICBsZXQgcm9vdFNjcm9sbGluZ0VsZW1lbnQgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB3aGlsZShwYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBwYXJlbnQgIT09IHJvb3RTY3JvbGxpbmdFbGVtZW50KXtcbiAgICAgICAgaWYgKHBhcmVudC5vZmZzZXRIZWlnaHQgPCBwYXJlbnQuc2Nyb2xsSGVpZ2h0IHx8IHBhcmVudC5vZmZzZXRXaWR0aCA8IHBhcmVudC5zY3JvbGxXaWR0aCkgc2Nyb2xsYWJsZUVsZW1lbnRzLnB1c2goe1xuICAgICAgICAgICAgZWxlbWVudDogcGFyZW50LFxuICAgICAgICAgICAgc2Nyb2xsVG9wOiBwYXJlbnQuc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsTGVmdDogcGFyZW50LnNjcm9sbExlZnRcbiAgICAgICAgfSk7XG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnROb2RlO1xuICAgIH1cbiAgICBpZiAocm9vdFNjcm9sbGluZ0VsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgc2Nyb2xsYWJsZUVsZW1lbnRzLnB1c2goe1xuICAgICAgICBlbGVtZW50OiByb290U2Nyb2xsaW5nRWxlbWVudCxcbiAgICAgICAgc2Nyb2xsVG9wOiByb290U2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AsXG4gICAgICAgIHNjcm9sbExlZnQ6IHJvb3RTY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnRcbiAgICB9KTtcbiAgICByZXR1cm4gc2Nyb2xsYWJsZUVsZW1lbnRzO1xufVxuZnVuY3Rpb24gJDcyMTVhZmM2ZGU2MDZkNmIkdmFyJHJlc3RvcmVTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlRWxlbWVudHMpIHtcbiAgICBmb3IgKGxldCB7IGVsZW1lbnQ6IGVsZW1lbnQsIHNjcm9sbFRvcDogc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0OiBzY3JvbGxMZWZ0IH0gb2Ygc2Nyb2xsYWJsZUVsZW1lbnRzKXtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IHNjcm9sbExlZnQ7XG4gICAgfVxufVxuXG5cbmV4cG9ydCB7JDcyMTVhZmM2ZGU2MDZkNmIkZXhwb3J0JGRlNzllMmM2OTVlMDUyZjMgYXMgZm9jdXNXaXRob3V0U2Nyb2xsaW5nfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvY3VzV2l0aG91dFNjcm9sbGluZy5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isElementVisible.mjs":
 | 
						||
/*!**********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isElementVisible.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 */   isElementVisible: function() { return /* binding */ $7d2416ea0959daaa$export$e989c0fffaa6b27a; }\n/* harmony export */ });\n/* harmony import */ var _domHelpers_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./domHelpers.mjs */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/domHelpers.mjs\");\n\n\n/*\n * Copyright 2021 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 $7d2416ea0959daaa$var$supportsCheckVisibility = typeof Element !== 'undefined' && 'checkVisibility' in Element.prototype;\nfunction $7d2416ea0959daaa$var$isStyleVisible(element) {\n    const windowObject = (0, _domHelpers_mjs__WEBPACK_IMPORTED_MODULE_0__.getOwnerWindow)(element);\n    if (!(element instanceof windowObject.HTMLElement) && !(element instanceof windowObject.SVGElement)) return false;\n    let { display: display, visibility: visibility } = element.style;\n    let isVisible = display !== 'none' && visibility !== 'hidden' && visibility !== 'collapse';\n    if (isVisible) {\n        const { getComputedStyle: getComputedStyle } = element.ownerDocument.defaultView;\n        let { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);\n        isVisible = computedDisplay !== 'none' && computedVisibility !== 'hidden' && computedVisibility !== 'collapse';\n    }\n    return isVisible;\n}\nfunction $7d2416ea0959daaa$var$isAttributeVisible(element, childElement) {\n    return !element.hasAttribute('hidden') && // Ignore HiddenSelect when tree walking.\n    !element.hasAttribute('data-react-aria-prevent-focus') && (element.nodeName === 'DETAILS' && childElement && childElement.nodeName !== 'SUMMARY' ? element.hasAttribute('open') : true);\n}\nfunction $7d2416ea0959daaa$export$e989c0fffaa6b27a(element, childElement) {\n    if ($7d2416ea0959daaa$var$supportsCheckVisibility) return element.checkVisibility();\n    return element.nodeName !== '#comment' && $7d2416ea0959daaa$var$isStyleVisible(element) && $7d2416ea0959daaa$var$isAttributeVisible(element, childElement) && (!element.parentElement || $7d2416ea0959daaa$export$e989c0fffaa6b27a(element.parentElement, element));\n}\n\n\n\n//# sourceMappingURL=isElementVisible.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9pc0VsZW1lbnRWaXNpYmxlLm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2Rjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsMkRBQXlDO0FBQ3RFO0FBQ0EsVUFBVSwyQ0FBMkM7QUFDckQ7QUFDQTtBQUNBLGdCQUFnQixxQ0FBcUM7QUFDckQsY0FBYywyREFBMkQ7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHdUU7QUFDdkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3V0aWxzQDMuMzAuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2lzRWxlbWVudFZpc2libGUubWpzPzM3YzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRPd25lcldpbmRvdyBhcyAkNDMxZmJkODZjYTdkYzIxNiRleHBvcnQkZjIxYTFmZmFlMjYwMTQ1YX0gZnJvbSBcIi4vZG9tSGVscGVycy5tanNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDIxIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuY29uc3QgJDdkMjQxNmVhMDk1OWRhYWEkdmFyJHN1cHBvcnRzQ2hlY2tWaXNpYmlsaXR5ID0gdHlwZW9mIEVsZW1lbnQgIT09ICd1bmRlZmluZWQnICYmICdjaGVja1Zpc2liaWxpdHknIGluIEVsZW1lbnQucHJvdG90eXBlO1xuZnVuY3Rpb24gJDdkMjQxNmVhMDk1OWRhYWEkdmFyJGlzU3R5bGVWaXNpYmxlKGVsZW1lbnQpIHtcbiAgICBjb25zdCB3aW5kb3dPYmplY3QgPSAoMCwgJDQzMWZiZDg2Y2E3ZGMyMTYkZXhwb3J0JGYyMWExZmZhZTI2MDE0NWEpKGVsZW1lbnQpO1xuICAgIGlmICghKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW5kb3dPYmplY3QuSFRNTEVsZW1lbnQpICYmICEoZWxlbWVudCBpbnN0YW5jZW9mIHdpbmRvd09iamVjdC5TVkdFbGVtZW50KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCB7IGRpc3BsYXk6IGRpc3BsYXksIHZpc2liaWxpdHk6IHZpc2liaWxpdHkgfSA9IGVsZW1lbnQuc3R5bGU7XG4gICAgbGV0IGlzVmlzaWJsZSA9IGRpc3BsYXkgIT09ICdub25lJyAmJiB2aXNpYmlsaXR5ICE9PSAnaGlkZGVuJyAmJiB2aXNpYmlsaXR5ICE9PSAnY29sbGFwc2UnO1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgY29uc3QgeyBnZXRDb21wdXRlZFN0eWxlOiBnZXRDb21wdXRlZFN0eWxlIH0gPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgICAgIGxldCB7IGRpc3BsYXk6IGNvbXB1dGVkRGlzcGxheSwgdmlzaWJpbGl0eTogY29tcHV0ZWRWaXNpYmlsaXR5IH0gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgICAgICBpc1Zpc2libGUgPSBjb21wdXRlZERpc3BsYXkgIT09ICdub25lJyAmJiBjb21wdXRlZFZpc2liaWxpdHkgIT09ICdoaWRkZW4nICYmIGNvbXB1dGVkVmlzaWJpbGl0eSAhPT0gJ2NvbGxhcHNlJztcbiAgICB9XG4gICAgcmV0dXJuIGlzVmlzaWJsZTtcbn1cbmZ1bmN0aW9uICQ3ZDI0MTZlYTA5NTlkYWFhJHZhciRpc0F0dHJpYnV0ZVZpc2libGUoZWxlbWVudCwgY2hpbGRFbGVtZW50KSB7XG4gICAgcmV0dXJuICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnaGlkZGVuJykgJiYgLy8gSWdub3JlIEhpZGRlblNlbGVjdCB3aGVuIHRyZWUgd2Fsa2luZy5cbiAgICAhZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtcmVhY3QtYXJpYS1wcmV2ZW50LWZvY3VzJykgJiYgKGVsZW1lbnQubm9kZU5hbWUgPT09ICdERVRBSUxTJyAmJiBjaGlsZEVsZW1lbnQgJiYgY2hpbGRFbGVtZW50Lm5vZGVOYW1lICE9PSAnU1VNTUFSWScgPyBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnb3BlbicpIDogdHJ1ZSk7XG59XG5mdW5jdGlvbiAkN2QyNDE2ZWEwOTU5ZGFhYSRleHBvcnQkZTk4OWMwZmZmYWE2YjI3YShlbGVtZW50LCBjaGlsZEVsZW1lbnQpIHtcbiAgICBpZiAoJDdkMjQxNmVhMDk1OWRhYWEkdmFyJHN1cHBvcnRzQ2hlY2tWaXNpYmlsaXR5KSByZXR1cm4gZWxlbWVudC5jaGVja1Zpc2liaWxpdHkoKTtcbiAgICByZXR1cm4gZWxlbWVudC5ub2RlTmFtZSAhPT0gJyNjb21tZW50JyAmJiAkN2QyNDE2ZWEwOTU5ZGFhYSR2YXIkaXNTdHlsZVZpc2libGUoZWxlbWVudCkgJiYgJDdkMjQxNmVhMDk1OWRhYWEkdmFyJGlzQXR0cmlidXRlVmlzaWJsZShlbGVtZW50LCBjaGlsZEVsZW1lbnQpICYmICghZWxlbWVudC5wYXJlbnRFbGVtZW50IHx8ICQ3ZDI0MTZlYTA5NTlkYWFhJGV4cG9ydCRlOTg5YzBmZmZhYTZiMjdhKGVsZW1lbnQucGFyZW50RWxlbWVudCwgZWxlbWVudCkpO1xufVxuXG5cbmV4cG9ydCB7JDdkMjQxNmVhMDk1OWRhYWEkZXhwb3J0JGU5ODljMGZmZmFhNmIyN2EgYXMgaXNFbGVtZW50VmlzaWJsZX07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0VsZW1lbnRWaXNpYmxlLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isElementVisible.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isFocusable.mjs":
 | 
						||
/*!*****************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isFocusable.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 */   isFocusable: function() { return /* binding */ $b4b717babfbb907b$export$4c063cf1350e6fed; },\n/* harmony export */   isTabbable: function() { return /* binding */ $b4b717babfbb907b$export$bebd5a1431fec25d; }\n/* harmony export */ });\n/* harmony import */ var _isElementVisible_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isElementVisible.mjs */ \"(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isElementVisible.mjs\");\n\n\n/*\n * Copyright 2025 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 $b4b717babfbb907b$var$focusableElements = [\n    'input:not([disabled]):not([type=hidden])',\n    'select:not([disabled])',\n    'textarea:not([disabled])',\n    'button:not([disabled])',\n    'a[href]',\n    'area[href]',\n    'summary',\n    'iframe',\n    'object',\n    'embed',\n    'audio[controls]',\n    'video[controls]',\n    '[contenteditable]:not([contenteditable^=\"false\"])',\n    'permission'\n];\nconst $b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(':not([hidden]),') + ',[tabindex]:not([disabled]):not([hidden])';\n$b4b717babfbb907b$var$focusableElements.push('[tabindex]:not([tabindex=\"-1\"]):not([disabled])');\nconst $b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(':not([hidden]):not([tabindex=\"-1\"]),');\nfunction $b4b717babfbb907b$export$4c063cf1350e6fed(element) {\n    return element.matches($b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR) && (0, _isElementVisible_mjs__WEBPACK_IMPORTED_MODULE_0__.isElementVisible)(element) && !$b4b717babfbb907b$var$isInert(element);\n}\nfunction $b4b717babfbb907b$export$bebd5a1431fec25d(element) {\n    return element.matches($b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR) && (0, _isElementVisible_mjs__WEBPACK_IMPORTED_MODULE_0__.isElementVisible)(element) && !$b4b717babfbb907b$var$isInert(element);\n}\nfunction $b4b717babfbb907b$var$isInert(element) {\n    let node = element;\n    while(node != null){\n        if (node instanceof node.ownerDocument.defaultView.HTMLElement && node.inert) return true;\n        node = node.parentElement;\n    }\n    return false;\n}\n\n\n\n//# sourceMappingURL=isFocusable.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9pc0ZvY3VzYWJsZS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFHOztBQUVyRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9GQUFvRixtRUFBeUM7QUFDN0g7QUFDQTtBQUNBLG1GQUFtRixtRUFBeUM7QUFDNUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHMkg7QUFDM0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3V0aWxzQDMuMzAuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L2lzRm9jdXNhYmxlLm1qcz9hMTg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNFbGVtZW50VmlzaWJsZSBhcyAkN2QyNDE2ZWEwOTU5ZGFhYSRleHBvcnQkZTk4OWMwZmZmYWE2YjI3YX0gZnJvbSBcIi4vaXNFbGVtZW50VmlzaWJsZS5tanNcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDI1IEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIFxuY29uc3QgJGI0YjcxN2JhYmZiYjkwN2IkdmFyJGZvY3VzYWJsZUVsZW1lbnRzID0gW1xuICAgICdpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0eXBlPWhpZGRlbl0pJyxcbiAgICAnc2VsZWN0Om5vdChbZGlzYWJsZWRdKScsXG4gICAgJ3RleHRhcmVhOm5vdChbZGlzYWJsZWRdKScsXG4gICAgJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSknLFxuICAgICdhW2hyZWZdJyxcbiAgICAnYXJlYVtocmVmXScsXG4gICAgJ3N1bW1hcnknLFxuICAgICdpZnJhbWUnLFxuICAgICdvYmplY3QnLFxuICAgICdlbWJlZCcsXG4gICAgJ2F1ZGlvW2NvbnRyb2xzXScsXG4gICAgJ3ZpZGVvW2NvbnRyb2xzXScsXG4gICAgJ1tjb250ZW50ZWRpdGFibGVdOm5vdChbY29udGVudGVkaXRhYmxlXj1cImZhbHNlXCJdKScsXG4gICAgJ3Blcm1pc3Npb24nXG5dO1xuY29uc3QgJGI0YjcxN2JhYmZiYjkwN2IkdmFyJEZPQ1VTQUJMRV9FTEVNRU5UX1NFTEVDVE9SID0gJGI0YjcxN2JhYmZiYjkwN2IkdmFyJGZvY3VzYWJsZUVsZW1lbnRzLmpvaW4oJzpub3QoW2hpZGRlbl0pLCcpICsgJyxbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2hpZGRlbl0pJztcbiRiNGI3MTdiYWJmYmI5MDdiJHZhciRmb2N1c2FibGVFbGVtZW50cy5wdXNoKCdbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSk6bm90KFtkaXNhYmxlZF0pJyk7XG5jb25zdCAkYjRiNzE3YmFiZmJiOTA3YiR2YXIkVEFCQkFCTEVfRUxFTUVOVF9TRUxFQ1RPUiA9ICRiNGI3MTdiYWJmYmI5MDdiJHZhciRmb2N1c2FibGVFbGVtZW50cy5qb2luKCc6bm90KFtoaWRkZW5dKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCcpO1xuZnVuY3Rpb24gJGI0YjcxN2JhYmZiYjkwN2IkZXhwb3J0JDRjMDYzY2YxMzUwZTZmZWQoZWxlbWVudCkge1xuICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXMoJGI0YjcxN2JhYmZiYjkwN2IkdmFyJEZPQ1VTQUJMRV9FTEVNRU5UX1NFTEVDVE9SKSAmJiAoMCwgJDdkMjQxNmVhMDk1OWRhYWEkZXhwb3J0JGU5ODljMGZmZmFhNmIyN2EpKGVsZW1lbnQpICYmICEkYjRiNzE3YmFiZmJiOTA3YiR2YXIkaXNJbmVydChlbGVtZW50KTtcbn1cbmZ1bmN0aW9uICRiNGI3MTdiYWJmYmI5MDdiJGV4cG9ydCRiZWJkNWExNDMxZmVjMjVkKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCRiNGI3MTdiYWJmYmI5MDdiJHZhciRUQUJCQUJMRV9FTEVNRU5UX1NFTEVDVE9SKSAmJiAoMCwgJDdkMjQxNmVhMDk1OWRhYWEkZXhwb3J0JGU5ODljMGZmZmFhNmIyN2EpKGVsZW1lbnQpICYmICEkYjRiNzE3YmFiZmJiOTA3YiR2YXIkaXNJbmVydChlbGVtZW50KTtcbn1cbmZ1bmN0aW9uICRiNGI3MTdiYWJmYmI5MDdiJHZhciRpc0luZXJ0KGVsZW1lbnQpIHtcbiAgICBsZXQgbm9kZSA9IGVsZW1lbnQ7XG4gICAgd2hpbGUobm9kZSAhPSBudWxsKXtcbiAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBub2RlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuSFRNTEVsZW1lbnQgJiYgbm9kZS5pbmVydCkgcmV0dXJuIHRydWU7XG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuXG5leHBvcnQgeyRiNGI3MTdiYWJmYmI5MDdiJGV4cG9ydCQ0YzA2M2NmMTM1MGU2ZmVkIGFzIGlzRm9jdXNhYmxlLCAkYjRiNzE3YmFiZmJiOTA3YiRleHBvcnQkYmViZDVhMTQzMWZlYzI1ZCBhcyBpc1RhYmJhYmxlfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzRm9jdXNhYmxlLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isFocusable.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs":
 | 
						||
/*!********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9pc1ZpcnR1YWxFdmVudC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXNGOztBQUV0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxvREFBeUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG9EQUF5QztBQUN6RDs7O0FBR3lJO0FBQ3pJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9pc1ZpcnR1YWxFdmVudC5tanM/MDdjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzQW5kcm9pZCBhcyAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYTExYjAwNTk5MDBjZWVjOH0gZnJvbSBcIi4vcGxhdGZvcm0ubWpzXCI7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqLyBcbmZ1bmN0aW9uICQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQ2MDI3ODg3MTQ1NzYyMmRlKGV2ZW50KSB7XG4gICAgLy8gSkFXUy9OVkRBIHdpdGggRmlyZWZveC5cbiAgICBpZiAoZXZlbnQubW96SW5wdXRTb3VyY2UgPT09IDAgJiYgZXZlbnQuaXNUcnVzdGVkKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBBbmRyb2lkIFRhbGtCYWNrJ3MgZGV0YWlsIHZhbHVlIHZhcmllcyBkZXBlbmRpbmcgb24gdGhlIGV2ZW50IGxpc3RlbmVyIHByb3ZpZGluZyB0aGUgZXZlbnQgc28gd2UgaGF2ZSBzcGVjaWZpYyBsb2dpYyBoZXJlIGluc3RlYWRcbiAgICAvLyBJZiBwb2ludGVyVHlwZSBpcyBkZWZpbmVkLCBldmVudCBpcyBmcm9tIGEgY2xpY2sgbGlzdGVuZXIuIEZvciBldmVudHMgZnJvbSBtb3VzZWRvd24gbGlzdGVuZXIsIGRldGFpbCA9PT0gMCBpcyBhIHN1ZmZpY2llbnQgY2hlY2tcbiAgICAvLyB0byBkZXRlY3QgVGFsa0JhY2sgdmlydHVhbCBjbGlja3MuXG4gICAgaWYgKCgwLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkYTExYjAwNTk5MDBjZWVjOCkoKSAmJiBldmVudC5wb2ludGVyVHlwZSkgcmV0dXJuIGV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgZXZlbnQuYnV0dG9ucyA9PT0gMTtcbiAgICByZXR1cm4gZXZlbnQuZGV0YWlsID09PSAwICYmICFldmVudC5wb2ludGVyVHlwZTtcbn1cbmZ1bmN0aW9uICQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQyOWJmMWI1ZjJjNTZjZjYzKGV2ZW50KSB7XG4gICAgLy8gSWYgdGhlIHBvaW50ZXIgc2l6ZSBpcyB6ZXJvLCB0aGVuIHdlIGFzc3VtZSBpdCdzIGZyb20gYSBzY3JlZW4gcmVhZGVyLlxuICAgIC8vIEFuZHJvaWQgVGFsa0JhY2sgZG91YmxlIHRhcCB3aWxsIHNvbWV0aW1lcyByZXR1cm4gYSBldmVudCB3aXRoIHdpZHRoIGFuZCBoZWlnaHQgb2YgMVxuICAgIC8vIGFuZCBwb2ludGVyVHlwZSA9PT0gJ21vdXNlJyBzbyB3ZSBuZWVkIHRvIGNoZWNrIGZvciBhIHNwZWNpZmljIGNvbWJpbmF0aW9uIG9mIGV2ZW50IGF0dHJpYnV0ZXMuXG4gICAgLy8gQ2Fubm90IHVzZSBcImV2ZW50LnByZXNzdXJlID09PSAwXCIgYXMgdGhlIHNvbGUgY2hlY2sgZHVlIHRvIFNhZmFyaSBwb2ludGVyIGV2ZW50cyBhbHdheXMgcmV0dXJuaW5nIHByZXNzdXJlID09PSAwXG4gICAgLy8gaW5zdGVhZCBvZiAuNSwgc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMTYuIGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbW91c2UnIGlzIHRvIGRpc3Rpbmd1c2hcbiAgICAvLyBUYWxrYmFjayBkb3VibGUgdGFwIGZyb20gV2luZG93cyBGaXJlZm94IHRvdWNoIHNjcmVlbiBwcmVzc1xuICAgIHJldHVybiAhKDAsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRhMTFiMDA1OTkwMGNlZWM4KSgpICYmIGV2ZW50LndpZHRoID09PSAwICYmIGV2ZW50LmhlaWdodCA9PT0gMCB8fCBldmVudC53aWR0aCA9PT0gMSAmJiBldmVudC5oZWlnaHQgPT09IDEgJiYgZXZlbnQucHJlc3N1cmUgPT09IDAgJiYgZXZlbnQuZGV0YWlsID09PSAwICYmIGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbW91c2UnO1xufVxuXG5cbmV4cG9ydCB7JDZhN2RiODU0MzI0NDhmN2YkZXhwb3J0JDYwMjc4ODcxNDU3NjIyZGUgYXMgaXNWaXJ0dWFsQ2xpY2ssICQ2YTdkYjg1NDMyNDQ4ZjdmJGV4cG9ydCQyOWJmMWI1ZjJjNTZjZjYzIGFzIGlzVmlydHVhbFBvaW50ZXJFdmVudH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc1ZpcnR1YWxFdmVudC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/platform.mjs":
 | 
						||
/*!**************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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    let brands = (_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands;\n    return Array.isArray(brands) && 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    if (false) {}\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC9wbGF0Zm9ybS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUErQixFQUFFLEVBQVU7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7OztBQUdvZjtBQUNyZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQHJlYWN0LWFyaWErdXRpbHNAMy4zMC4wX3JlYWN0LWRvbUAxOC4zLjFfcmVhY3RAMTguMy4xX19yZWFjdEAxOC4zLjEvbm9kZV9tb2R1bGVzL0ByZWFjdC1hcmlhL3V0aWxzL2Rpc3QvcGxhdGZvcm0ubWpzPzUxNTciXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIwIEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovIGZ1bmN0aW9uICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KHJlKSB7XG4gICAgdmFyIF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGE7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHdpbmRvdy5uYXZpZ2F0b3IgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBicmFuZHMgPSAoX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YSA9IHdpbmRvdy5uYXZpZ2F0b3JbJ3VzZXJBZ2VudERhdGEnXSkgPT09IG51bGwgfHwgX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3dpbmRvd19uYXZpZ2F0b3JfdXNlckFnZW50RGF0YS5icmFuZHM7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYnJhbmRzKSAmJiBicmFuZHMuc29tZSgoYnJhbmQpPT5yZS50ZXN0KGJyYW5kLmJyYW5kKSkgfHwgcmUudGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7XG59XG5mdW5jdGlvbiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFBsYXRmb3JtKHJlKSB7XG4gICAgdmFyIF93aW5kb3dfbmF2aWdhdG9yX3VzZXJBZ2VudERhdGE7XG4gICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IgIT0gbnVsbCA/IHJlLnRlc3QoKChfd2luZG93X25hdmlnYXRvcl91c2VyQWdlbnREYXRhID0gd2luZG93Lm5hdmlnYXRvclsndXNlckFnZW50RGF0YSddKSA9PT0gbnVsbCB8fCBfd2luZG93X25hdmlnYXRvcl91c2VyQWdlbnREYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfd2luZG93X25hdmlnYXRvcl91c2VyQWdlbnREYXRhLnBsYXRmb3JtKSB8fCB3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSA6IGZhbHNlO1xufVxuZnVuY3Rpb24gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJGNhY2hlZChmbikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnKSByZXR1cm4gZm47XG4gICAgbGV0IHJlcyA9IG51bGw7XG4gICAgcmV0dXJuICgpPT57XG4gICAgICAgIGlmIChyZXMgPT0gbnVsbCkgcmVzID0gZm4oKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xufVxuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDlhYzEwMGU0MDYxM2VhMTAgPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFBsYXRmb3JtKC9eTWFjL2kpO1xufSk7XG5jb25zdCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkMTg2YzY5NjRjYTE3ZDk5ID0gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJGNhY2hlZChmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RQbGF0Zm9ybSgvXmlQaG9uZS9pKTtcbn0pO1xuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDdiZWYwNDljZTkyZTQyMjQgPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkdGVzdFBsYXRmb3JtKC9eaVBhZC9pKSB8fCAvLyBpUGFkT1MgMTMgbGllcyBhbmQgc2F5cyBpdCdzIGEgTWFjLCBidXQgd2UgY2FuIGRpc3Rpbmd1aXNoIGJ5IGRldGVjdGluZyB0b3VjaCBzdXBwb3J0LlxuICAgICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ5YWMxMDBlNDA2MTNlYTEwKCkgJiYgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID4gMTtcbn0pO1xuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGZlZGIzNjljYjcwMjA3ZjEgPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkMTg2YzY5NjRjYTE3ZDk5KCkgfHwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDdiZWYwNDljZTkyZTQyMjQoKTtcbn0pO1xuY29uc3QgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGUxODY1YzNiZWRjZDgyMmIgPSAkYzg3MzExNDI0ZWEzMGEwNSR2YXIkY2FjaGVkKGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkOWFjMTAwZTQwNjEzZWExMCgpIHx8ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRmZWRiMzY5Y2I3MDIwN2YxKCk7XG59KTtcbmNvbnN0ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ3ODU1MTA0MzU4MmE2YTk4ID0gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJGNhY2hlZChmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RVc2VyQWdlbnQoL0FwcGxlV2ViS2l0L2kpICYmICEkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNjQ0NmExODZkMDllMzc5ZSgpO1xufSk7XG5jb25zdCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNjQ0NmExODZkMDllMzc5ZSA9ICRjODczMTE0MjRlYTMwYTA1JHZhciRjYWNoZWQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICRjODczMTE0MjRlYTMwYTA1JHZhciR0ZXN0VXNlckFnZW50KC9DaHJvbWUvaSk7XG59KTtcbmNvbnN0ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRhMTFiMDA1OTkwMGNlZWM4ID0gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJGNhY2hlZChmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RVc2VyQWdlbnQoL0FuZHJvaWQvaSk7XG59KTtcbmNvbnN0ICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRiN2Q3ODk5M2I3NGY3NjZkID0gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJGNhY2hlZChmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJGM4NzMxMTQyNGVhMzBhMDUkdmFyJHRlc3RVc2VyQWdlbnQoL0ZpcmVmb3gvaSk7XG59KTtcblxuXG5leHBvcnQgeyRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCQ5YWMxMDBlNDA2MTNlYTEwIGFzIGlzTWFjLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkMTg2YzY5NjRjYTE3ZDk5IGFzIGlzSVBob25lLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkN2JlZjA0OWNlOTJlNDIyNCBhcyBpc0lQYWQsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRmZWRiMzY5Y2I3MDIwN2YxIGFzIGlzSU9TLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkZTE4NjVjM2JlZGNkODIyYiBhcyBpc0FwcGxlRGV2aWNlLCAkYzg3MzExNDI0ZWEzMGEwNSRleHBvcnQkNzg1NTEwNDM1ODJhNmE5OCBhcyBpc1dlYktpdCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JDY0NDZhMTg2ZDA5ZTM3OWUgYXMgaXNDaHJvbWUsICRjODczMTE0MjRlYTMwYTA1JGV4cG9ydCRhMTFiMDA1OTkwMGNlZWM4IGFzIGlzQW5kcm9pZCwgJGM4NzMxMTQyNGVhMzBhMDUkZXhwb3J0JGI3ZDc4OTkzYjc0Zjc2NmQgYXMgaXNGaXJlZm94fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBsYXRmb3JtLm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/platform.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useEffectEvent.mjs":
 | 
						||
/*!********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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\nvar $8ae05eaa5c114e9c$var$_React_useInsertionEffect;\n// Use the earliest effect type possible. useInsertionEffect runs during the mutation phase,\n// before all layout effects, but is available only in React 18 and later.\nconst $8ae05eaa5c114e9c$var$useEarlyEffect = ($8ae05eaa5c114e9c$var$_React_useInsertionEffect = (0, react__WEBPACK_IMPORTED_MODULE_0__)['useInsertionEffect']) !== null && $8ae05eaa5c114e9c$var$_React_useInsertionEffect !== void 0 ? $8ae05eaa5c114e9c$var$_React_useInsertionEffect : (0, _useLayoutEffect_mjs__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect);\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n    const ref = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n    $8ae05eaa5c114e9c$var$useEarlyEffect(()=>{\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VFZmZlY3RFdmVudC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW1HO0FBQ0o7O0FBRS9GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0dBQW9HLGtDQUFZLHdKQUF3SixpRUFBeUM7QUFDalQ7QUFDQSxvQkFBb0IseUNBQWE7QUFDakM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLDhDQUFrQjtBQUNqQztBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHcUU7QUFDckUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3V0aWxzQDMuMzAuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUVmZmVjdEV2ZW50Lm1qcz82YmE0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0IGFzICRmMGEwNGNjZDhkYmRkODNiJGV4cG9ydCRlNWM1YTVmOTE3YTU4NzFjfSBmcm9tIFwiLi91c2VMYXlvdXRFZmZlY3QubWpzXCI7XG5pbXBvcnQgJGxtYVlyJHJlYWN0LCB7dXNlUmVmIGFzICRsbWFZciR1c2VSZWYsIHVzZUNhbGxiYWNrIGFzICRsbWFZciR1c2VDYWxsYmFja30gZnJvbSBcInJlYWN0XCI7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMyBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqLyBcblxudmFyICQ4YWUwNWVhYTVjMTE0ZTljJHZhciRfUmVhY3RfdXNlSW5zZXJ0aW9uRWZmZWN0O1xuLy8gVXNlIHRoZSBlYXJsaWVzdCBlZmZlY3QgdHlwZSBwb3NzaWJsZS4gdXNlSW5zZXJ0aW9uRWZmZWN0IHJ1bnMgZHVyaW5nIHRoZSBtdXRhdGlvbiBwaGFzZSxcbi8vIGJlZm9yZSBhbGwgbGF5b3V0IGVmZmVjdHMsIGJ1dCBpcyBhdmFpbGFibGUgb25seSBpbiBSZWFjdCAxOCBhbmQgbGF0ZXIuXG5jb25zdCAkOGFlMDVlYWE1YzExNGU5YyR2YXIkdXNlRWFybHlFZmZlY3QgPSAoJDhhZTA1ZWFhNWMxMTRlOWMkdmFyJF9SZWFjdF91c2VJbnNlcnRpb25FZmZlY3QgPSAoMCwgJGxtYVlyJHJlYWN0KVsndXNlSW5zZXJ0aW9uRWZmZWN0J10pICE9PSBudWxsICYmICQ4YWUwNWVhYTVjMTE0ZTljJHZhciRfUmVhY3RfdXNlSW5zZXJ0aW9uRWZmZWN0ICE9PSB2b2lkIDAgPyAkOGFlMDVlYWE1YzExNGU5YyR2YXIkX1JlYWN0X3VzZUluc2VydGlvbkVmZmVjdCA6ICgwLCAkZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYyk7XG5mdW5jdGlvbiAkOGFlMDVlYWE1YzExNGU5YyRleHBvcnQkN2Y1NGZjMzE4MDUwOGE1Mihmbikge1xuICAgIGNvbnN0IHJlZiA9ICgwLCAkbG1hWXIkdXNlUmVmKShudWxsKTtcbiAgICAkOGFlMDVlYWE1YzExNGU5YyR2YXIkdXNlRWFybHlFZmZlY3QoKCk9PntcbiAgICAgICAgcmVmLmN1cnJlbnQgPSBmbjtcbiAgICB9LCBbXG4gICAgICAgIGZuXG4gICAgXSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiAoMCwgJGxtYVlyJHVzZUNhbGxiYWNrKSgoLi4uYXJncyk9PntcbiAgICAgICAgY29uc3QgZiA9IHJlZi5jdXJyZW50O1xuICAgICAgICByZXR1cm4gZiA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmKC4uLmFyZ3MpO1xuICAgIH0sIFtdKTtcbn1cblxuXG5leHBvcnQgeyQ4YWUwNWVhYTVjMTE0ZTljJGV4cG9ydCQ3ZjU0ZmMzMTgwNTA4YTUyIGFzIHVzZUVmZmVjdEV2ZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUVmZmVjdEV2ZW50Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useEffectEvent.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs":
 | 
						||
/*!************************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useGlobalListeners.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 */   useGlobalListeners: function() { return /* binding */ $03deb23ff14920c4$export$4eaf04e54aa8eed6; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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 */ \nfunction $03deb23ff14920c4$export$4eaf04e54aa8eed6() {\n    let globalListeners = (0, react__WEBPACK_IMPORTED_MODULE_0__.useRef)(new Map());\n    let addGlobalListener = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((eventTarget, type, listener, options)=>{\n        // Make sure we remove the listener after it is called with the `once` option.\n        let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args)=>{\n            globalListeners.current.delete(listener);\n            listener(...args);\n        } : listener;\n        globalListeners.current.set(listener, {\n            type: type,\n            eventTarget: eventTarget,\n            fn: fn,\n            options: options\n        });\n        eventTarget.addEventListener(type, fn, options);\n    }, []);\n    let removeGlobalListener = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((eventTarget, type, listener, options)=>{\n        var _globalListeners_current_get;\n        let fn = ((_globalListeners_current_get = globalListeners.current.get(listener)) === null || _globalListeners_current_get === void 0 ? void 0 : _globalListeners_current_get.fn) || listener;\n        eventTarget.removeEventListener(type, fn, options);\n        globalListeners.current.delete(listener);\n    }, []);\n    let removeAllGlobalListeners = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n        globalListeners.current.forEach((value, key)=>{\n            removeGlobalListener(value.eventTarget, value.type, key, value.options);\n        });\n    }, [\n        removeGlobalListener\n    ]);\n    (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n        return removeAllGlobalListeners;\n    }, [\n        removeAllGlobalListeners\n    ]);\n    return {\n        addGlobalListener: addGlobalListener,\n        removeGlobalListener: removeGlobalListener,\n        removeAllGlobalListeners: removeAllGlobalListeners\n    };\n}\n\n\n\n//# sourceMappingURL=useGlobalListeners.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VHbG9iYWxMaXN0ZW5lcnMubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWdIOztBQUVoSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIseUNBQWE7QUFDM0MsZ0NBQWdDLDhDQUFrQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMLG1DQUFtQyw4Q0FBa0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsdUNBQXVDLDhDQUFrQjtBQUN6RDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsUUFBUSw0Q0FBZ0I7QUFDeEI7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR3lFO0FBQ3pFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VHbG9iYWxMaXN0ZW5lcnMubWpzPzljMjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VSZWYgYXMgJGxQQXd0JHVzZVJlZiwgdXNlQ2FsbGJhY2sgYXMgJGxQQXd0JHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QgYXMgJGxQQXd0JHVzZUVmZmVjdH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqLyBcbmZ1bmN0aW9uICQwM2RlYjIzZmYxNDkyMGM0JGV4cG9ydCQ0ZWFmMDRlNTRhYThlZWQ2KCkge1xuICAgIGxldCBnbG9iYWxMaXN0ZW5lcnMgPSAoMCwgJGxQQXd0JHVzZVJlZikobmV3IE1hcCgpKTtcbiAgICBsZXQgYWRkR2xvYmFsTGlzdGVuZXIgPSAoMCwgJGxQQXd0JHVzZUNhbGxiYWNrKSgoZXZlbnRUYXJnZXQsIHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKT0+e1xuICAgICAgICAvLyBNYWtlIHN1cmUgd2UgcmVtb3ZlIHRoZSBsaXN0ZW5lciBhZnRlciBpdCBpcyBjYWxsZWQgd2l0aCB0aGUgYG9uY2VgIG9wdGlvbi5cbiAgICAgICAgbGV0IGZuID0gKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5vbmNlKSA/ICguLi5hcmdzKT0+e1xuICAgICAgICAgICAgZ2xvYmFsTGlzdGVuZXJzLmN1cnJlbnQuZGVsZXRlKGxpc3RlbmVyKTtcbiAgICAgICAgICAgIGxpc3RlbmVyKC4uLmFyZ3MpO1xuICAgICAgICB9IDogbGlzdGVuZXI7XG4gICAgICAgIGdsb2JhbExpc3RlbmVycy5jdXJyZW50LnNldChsaXN0ZW5lciwge1xuICAgICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICAgIGV2ZW50VGFyZ2V0OiBldmVudFRhcmdldCxcbiAgICAgICAgICAgIGZuOiBmbixcbiAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgICAgICAgfSk7XG4gICAgICAgIGV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgZm4sIG9wdGlvbnMpO1xuICAgIH0sIFtdKTtcbiAgICBsZXQgcmVtb3ZlR2xvYmFsTGlzdGVuZXIgPSAoMCwgJGxQQXd0JHVzZUNhbGxiYWNrKSgoZXZlbnRUYXJnZXQsIHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKT0+e1xuICAgICAgICB2YXIgX2dsb2JhbExpc3RlbmVyc19jdXJyZW50X2dldDtcbiAgICAgICAgbGV0IGZuID0gKChfZ2xvYmFsTGlzdGVuZXJzX2N1cnJlbnRfZ2V0ID0gZ2xvYmFsTGlzdGVuZXJzLmN1cnJlbnQuZ2V0KGxpc3RlbmVyKSkgPT09IG51bGwgfHwgX2dsb2JhbExpc3RlbmVyc19jdXJyZW50X2dldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2dsb2JhbExpc3RlbmVyc19jdXJyZW50X2dldC5mbikgfHwgbGlzdGVuZXI7XG4gICAgICAgIGV2ZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgZm4sIG9wdGlvbnMpO1xuICAgICAgICBnbG9iYWxMaXN0ZW5lcnMuY3VycmVudC5kZWxldGUobGlzdGVuZXIpO1xuICAgIH0sIFtdKTtcbiAgICBsZXQgcmVtb3ZlQWxsR2xvYmFsTGlzdGVuZXJzID0gKDAsICRsUEF3dCR1c2VDYWxsYmFjaykoKCk9PntcbiAgICAgICAgZ2xvYmFsTGlzdGVuZXJzLmN1cnJlbnQuZm9yRWFjaCgodmFsdWUsIGtleSk9PntcbiAgICAgICAgICAgIHJlbW92ZUdsb2JhbExpc3RlbmVyKHZhbHVlLmV2ZW50VGFyZ2V0LCB2YWx1ZS50eXBlLCBrZXksIHZhbHVlLm9wdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIHJlbW92ZUdsb2JhbExpc3RlbmVyXG4gICAgXSk7XG4gICAgKDAsICRsUEF3dCR1c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIHJldHVybiByZW1vdmVBbGxHbG9iYWxMaXN0ZW5lcnM7XG4gICAgfSwgW1xuICAgICAgICByZW1vdmVBbGxHbG9iYWxMaXN0ZW5lcnNcbiAgICBdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhZGRHbG9iYWxMaXN0ZW5lcjogYWRkR2xvYmFsTGlzdGVuZXIsXG4gICAgICAgIHJlbW92ZUdsb2JhbExpc3RlbmVyOiByZW1vdmVHbG9iYWxMaXN0ZW5lcixcbiAgICAgICAgcmVtb3ZlQWxsR2xvYmFsTGlzdGVuZXJzOiByZW1vdmVBbGxHbG9iYWxMaXN0ZW5lcnNcbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7JDAzZGViMjNmZjE0OTIwYzQkZXhwb3J0JDRlYWYwNGU1NGFhOGVlZDYgYXMgdXNlR2xvYmFsTGlzdGVuZXJzfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUdsb2JhbExpc3RlbmVycy5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useLayoutEffect.mjs":
 | 
						||
/*!*********************************************************************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3QtYXJpYSt1dGlsc0AzLjMwLjBfcmVhY3QtZG9tQDE4LjMuMV9yZWFjdEAxOC4zLjFfX3JlYWN0QDE4LjMuMS9ub2RlX21vZHVsZXMvQHJlYWN0LWFyaWEvdXRpbHMvZGlzdC91c2VMYXlvdXRFZmZlY3QubWpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlDOztBQUVqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0ZBQXdGLGtDQUFZOzs7QUFHOUI7QUFDdEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL0ByZWFjdC1hcmlhK3V0aWxzQDMuMzAuMF9yZWFjdC1kb21AMTguMy4xX3JlYWN0QDE4LjMuMV9fcmVhY3RAMTguMy4xL25vZGVfbW9kdWxlcy9AcmVhY3QtYXJpYS91dGlscy9kaXN0L3VzZUxheW91dEVmZmVjdC5tanM/ODg2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJEhnQU5kJHJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi8gXG5jb25zdCAkZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYyA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyAoMCwgJEhnQU5kJHJlYWN0KS51c2VMYXlvdXRFZmZlY3QgOiAoKT0+e307XG5cblxuZXhwb3J0IHskZjBhMDRjY2Q4ZGJkZDgzYiRleHBvcnQkZTVjNWE1ZjkxN2E1ODcxYyBhcyB1c2VMYXlvdXRFZmZlY3R9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlTGF5b3V0RWZmZWN0Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-aria+utils@3.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@react-aria/utils/dist/useLayoutEffect.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@react-stately+flags@3.1.2/node_modules/@react-stately/flags/dist/import.mjs":
 | 
						||
/*!*********************************************************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/@react-stately+flags@3.1.2/node_modules/@react-stately/flags/dist/import.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 */   enableShadowDOM: function() { return /* binding */ $f4e2df6bd15f8569$export$12b151d9882e9985; },\n/* harmony export */   enableTableNestedRows: function() { return /* binding */ $f4e2df6bd15f8569$export$d9d8a0f82de49530; },\n/* harmony export */   shadowDOM: function() { return /* binding */ $f4e2df6bd15f8569$export$98658e8c59125e6a; },\n/* harmony export */   tableNestedRows: function() { return /* binding */ $f4e2df6bd15f8569$export$1b00cb14a96194e6; }\n/* harmony export */ });\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 */ let $f4e2df6bd15f8569$var$_tableNestedRows = false;\nlet $f4e2df6bd15f8569$var$_shadowDOM = false;\nfunction $f4e2df6bd15f8569$export$d9d8a0f82de49530() {\n    $f4e2df6bd15f8569$var$_tableNestedRows = true;\n}\nfunction $f4e2df6bd15f8569$export$1b00cb14a96194e6() {\n    return $f4e2df6bd15f8569$var$_tableNestedRows;\n}\nfunction $f4e2df6bd15f8569$export$12b151d9882e9985() {\n    $f4e2df6bd15f8569$var$_shadowDOM = true;\n}\nfunction $f4e2df6bd15f8569$export$98658e8c59125e6a() {\n    return $f4e2df6bd15f8569$var$_shadowDOM;\n}\n\n\n\n//# sourceMappingURL=module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AcmVhY3Qtc3RhdGVseStmbGFnc0AzLjEuMi9ub2RlX21vZHVsZXMvQHJlYWN0LXN0YXRlbHkvZmxhZ3MvZGlzdC9pbXBvcnQubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdnUTtBQUNoUSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvLnBucG0vQHJlYWN0LXN0YXRlbHkrZmxhZ3NAMy4xLjIvbm9kZV9tb2R1bGVzL0ByZWFjdC1zdGF0ZWx5L2ZsYWdzL2Rpc3QvaW1wb3J0Lm1qcz9jZjkwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMyBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqLyBsZXQgJGY0ZTJkZjZiZDE1Zjg1NjkkdmFyJF90YWJsZU5lc3RlZFJvd3MgPSBmYWxzZTtcbmxldCAkZjRlMmRmNmJkMTVmODU2OSR2YXIkX3NoYWRvd0RPTSA9IGZhbHNlO1xuZnVuY3Rpb24gJGY0ZTJkZjZiZDE1Zjg1NjkkZXhwb3J0JGQ5ZDhhMGY4MmRlNDk1MzAoKSB7XG4gICAgJGY0ZTJkZjZiZDE1Zjg1NjkkdmFyJF90YWJsZU5lc3RlZFJvd3MgPSB0cnVlO1xufVxuZnVuY3Rpb24gJGY0ZTJkZjZiZDE1Zjg1NjkkZXhwb3J0JDFiMDBjYjE0YTk2MTk0ZTYoKSB7XG4gICAgcmV0dXJuICRmNGUyZGY2YmQxNWY4NTY5JHZhciRfdGFibGVOZXN0ZWRSb3dzO1xufVxuZnVuY3Rpb24gJGY0ZTJkZjZiZDE1Zjg1NjkkZXhwb3J0JDEyYjE1MWQ5ODgyZTk5ODUoKSB7XG4gICAgJGY0ZTJkZjZiZDE1Zjg1NjkkdmFyJF9zaGFkb3dET00gPSB0cnVlO1xufVxuZnVuY3Rpb24gJGY0ZTJkZjZiZDE1Zjg1NjkkZXhwb3J0JDk4NjU4ZThjNTkxMjVlNmEoKSB7XG4gICAgcmV0dXJuICRmNGUyZGY2YmQxNWY4NTY5JHZhciRfc2hhZG93RE9NO1xufVxuXG5cbmV4cG9ydCB7JGY0ZTJkZjZiZDE1Zjg1NjkkZXhwb3J0JGQ5ZDhhMGY4MmRlNDk1MzAgYXMgZW5hYmxlVGFibGVOZXN0ZWRSb3dzLCAkZjRlMmRmNmJkMTVmODU2OSRleHBvcnQkMWIwMGNiMTRhOTYxOTRlNiBhcyB0YWJsZU5lc3RlZFJvd3MsICRmNGUyZGY2YmQxNWY4NTY5JGV4cG9ydCQxMmIxNTFkOTg4MmU5OTg1IGFzIGVuYWJsZVNoYWRvd0RPTSwgJGY0ZTJkZjZiZDE1Zjg1NjkkZXhwb3J0JDk4NjU4ZThjNTkxMjVlNmEgYXMgc2hhZG93RE9NfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@react-stately+flags@3.1.2/node_modules/@react-stately/flags/dist/import.mjs\n"));
 | 
						||
 | 
						||
/***/ }),
 | 
						||
 | 
						||
/***/ "(app-pages-browser)/./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs":
 | 
						||
/*!***********************************************************************!*\
 | 
						||
  !*** ./node_modules/.pnpm/clsx@2.1.1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9jbHN4QDIuMS4xL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGNBQWMsYUFBYSwrQ0FBK0MsZ0RBQWdELGVBQWUsUUFBUSxJQUFJLDBDQUEwQyx5Q0FBeUMsU0FBZ0IsZ0JBQWdCLHdDQUF3QyxJQUFJLG1EQUFtRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzLy5wbnBtL2Nsc3hAMi4xLjEvbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcz8wNTc2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHIoZSl7dmFyIHQsZixuPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKW4rPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKGY9cihlW3RdKSkmJihuJiYobis9XCIgXCIpLG4rPWYpfWVsc2UgZm9yKGYgaW4gZSllW2ZdJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtyZXR1cm4gbn1leHBvcnQgZnVuY3Rpb24gY2xzeCgpe2Zvcih2YXIgZSx0LGY9MCxuPVwiXCIsbz1hcmd1bWVudHMubGVuZ3RoO2Y8bztmKyspKGU9YXJndW1lbnRzW2ZdKSYmKHQ9cihlKSkmJihuJiYobis9XCIgXCIpLG4rPXQpO3JldHVybiBufWV4cG9ydCBkZWZhdWx0IGNsc3g7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/clsx@2.1.1/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/.pnpm/next@14.2.31_@babel+core@7.12.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/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.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2F.pnpm%2Fnext%4014.2.31_%40babel%2Bcore%407.12.3_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%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%2FCommunity.jsx%22%2C%22ids%22%3A%5B%22Community%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FEvents.jsx%22%2C%22ids%22%3A%5B%22Events%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%2FNomads.jsx%22%2C%22ids%22%3A%5B%22Nomads%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsashaastiadi%2Fcode%2Fgit.ourworld.tf%2Fwww_veda_2025%2Fsrc%2Fcomponents%2FRetreats.jsx%22%2C%22ids%22%3A%5B%22Retreats%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%2Flogos%2Fveda_logo2.svg%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=false!"); });
 | 
						||
/******/ var __webpack_exports__ = __webpack_require__.O();
 | 
						||
/******/ _N_E = __webpack_exports__;
 | 
						||
/******/ }
 | 
						||
]); |